From 481e2dcc7805ae52877a14d80cbcb19feba0302c Mon Sep 17 00:00:00 2001 From: anoofmhd Date: Mon, 8 Jun 2026 19:59:56 +0530 Subject: [PATCH 1/2] Initial Frontend and Backend --- backend/.gitignore | 56 + backend/.prettierrc | 4 + backend/README.md | 98 + backend/eslint.config.mjs | 35 + backend/nest-cli.json | 8 + backend/package-lock.json | 10538 ++++++++++++++++ backend/package.json | 79 + backend/src/app.module.ts | 35 + backend/src/auth/auth.controller.ts | 14 + backend/src/auth/auth.module.ts | 29 + backend/src/auth/auth.service.ts | 43 + backend/src/auth/dto/login.dto.ts | 9 + backend/src/auth/schemas/auth.schema.ts | 15 + .../src/booking-locks/booking-locks.module.ts | 13 + .../booking-locks/booking-locks.service.ts | 36 + .../schemas/booking-lock.schema.ts | 18 + backend/src/bookings/bookings.controller.ts | 46 + backend/src/bookings/bookings.module.ts | 15 + backend/src/bookings/bookings.service.ts | 37 + .../src/bookings/dto/create-booking.dto.ts | 7 + .../src/bookings/schemas/booking.schema.ts | 27 + .../src/common/decorators/user.decorator.ts | 8 + .../common/filters/http-exception.filter.ts | 21 + backend/src/common/guards/auth.guard.ts | 43 + backend/src/common/guards/roles.guard.ts | 34 + .../interceptors/transform.interceptor.ts | 14 + backend/src/config/configuration.ts | 11 + backend/src/interface/jwt-user.interface.ts | 8 + backend/src/main.ts | 32 + .../src/payments/dto/create-payment.dto.ts | 5 + backend/src/payments/payments.controller.ts | 13 + backend/src/payments/payments.module.ts | 10 + backend/src/payments/payments.service.ts | 16 + backend/src/reviews/dto/create-review.dto.ts | 6 + backend/src/reviews/reviews.controller.ts | 28 + backend/src/reviews/reviews.module.ts | 15 + backend/src/reviews/reviews.service.ts | 29 + backend/src/reviews/schemas/review.schema.ts | 21 + .../users/decorators/get-user.decorator.ts | 9 + .../src/users/decorators/roles.decorator.ts | 4 + backend/src/users/dto/create-user.dto.ts | 18 + backend/src/users/schemas/user.schema.ts | 40 + backend/src/users/users.controller.ts | 27 + backend/src/users/users.module.ts | 15 + backend/src/users/users.service.ts | 50 + backend/src/venues/dto/create-venue.dto.ts | 33 + backend/src/venues/schemas/venue.schema.ts | 67 + backend/src/venues/venues.controller.ts | 46 + backend/src/venues/venues.module.ts | 17 + backend/src/venues/venues.service.ts | 97 + backend/test/app.e2e-spec.ts | 29 + backend/test/jest-e2e.json | 9 + backend/tsconfig.build.json | 4 + backend/tsconfig.json | 25 + .../49abf22c-a9eb-4fbb-b15e-884f67fcd2ee.png | Bin 0 -> 116652 bytes .../ca795c66-4ae5-4f52-9313-5b5c005e2ac9.png | Bin 0 -> 71986 bytes .../dec70646-9467-4cfe-82f1-18d69b721f7a.png | Bin 0 -> 119919 bytes .../fff0a7c6-d274-4299-820d-9267fe5ade31.jpeg | Bin 0 -> 23291 bytes frontend/.gitignore | 41 + frontend/AGENTS.md | 5 + frontend/CLAUDE.md | 1 + frontend/README.md | 36 + frontend/eslint.config.mjs | 18 + frontend/next.config.ts | 7 + frontend/package-lock.json | 6880 ++++++++++ frontend/package.json | 27 + frontend/postcss.config.mjs | 7 + frontend/public/file.svg | 1 + frontend/public/globe.svg | 1 + frontend/public/next.svg | 1 + frontend/public/vercel.svg | 1 + frontend/public/window.svg | 1 + .../src/app/(admin)/admin/dashboard/page.tsx | 8 + .../src/app/(admin)/admin/reports/page.tsx | 8 + frontend/src/app/(admin)/admin/users/page.tsx | 8 + .../src/app/(admin)/admin/venues/page.tsx | 8 + .../src/app/(auth)/forgot-password/page.tsx | 8 + frontend/src/app/(auth)/login/page.tsx | 147 + frontend/src/app/(auth)/register/page.tsx | 220 + frontend/src/app/(customer)/bookings/page.tsx | 8 + frontend/src/app/(customer)/profile/page.tsx | 8 + .../src/app/(customer)/venues/[id]/page.tsx | 12 + frontend/src/app/(customer)/venues/page.tsx | 8 + .../src/app/(owner)/owner/bookings/page.tsx | 8 + .../src/app/(owner)/owner/dashboard/page.tsx | 338 + .../app/(owner)/owner/venues/[id]/page.tsx | 12 + .../app/(owner)/owner/venues/create/page.tsx | 475 + .../src/app/(owner)/owner/venues/page.tsx | 265 + frontend/src/app/globals.css | 26 + frontend/src/app/layout.tsx | 33 + frontend/src/app/not-found.tsx | 12 + frontend/src/app/page.tsx | 617 + frontend/src/components/auth/login-form.tsx | 3 + .../src/components/auth/register-form.tsx | 3 + .../src/components/booking/booking-card.tsx | 3 + .../src/components/booking/booking-form.tsx | 3 + frontend/src/components/layout/footer.tsx | 7 + frontend/src/components/layout/navbar.tsx | 13 + frontend/src/components/layout/sidebar.tsx | 12 + frontend/src/components/ui/button.tsx | 8 + frontend/src/components/ui/card.tsx | 8 + frontend/src/components/ui/input.tsx | 6 + frontend/src/components/ui/modal.tsx | 17 + frontend/src/components/venue/venue-card.tsx | 3 + .../src/components/venue/venue-details.tsx | 3 + .../src/components/venue/venue-gallery.tsx | 3 + frontend/src/constants/roles.ts | 1 + frontend/src/constants/routes.ts | 1 + frontend/src/constants/status.ts | 1 + frontend/src/context/auth-context.tsx | 7 + frontend/src/context/theme-context.tsx | 7 + frontend/src/hooks/useAuth.ts | 3 + frontend/src/hooks/useDebounce.ts | 9 + frontend/src/hooks/usePagination.ts | 3 + frontend/src/lib/auth.ts | 1 + frontend/src/lib/axios.ts | 24 + frontend/src/lib/date.ts | 1 + frontend/src/lib/storage.ts | 5 + frontend/src/lib/utils.ts | 3 + frontend/src/modules/auth/api.ts | 1 + frontend/src/modules/auth/hooks.ts | 1 + frontend/src/modules/auth/types.ts | 1 + frontend/src/modules/auth/validations.ts | 1 + frontend/src/modules/bookings/api.ts | 1 + frontend/src/modules/bookings/hooks.ts | 1 + frontend/src/modules/bookings/types.ts | 1 + frontend/src/modules/bookings/validations.ts | 1 + frontend/src/modules/users/api.ts | 1 + frontend/src/modules/users/hooks.ts | 1 + frontend/src/modules/users/types.ts | 1 + frontend/src/modules/venues/api.ts | 1 + frontend/src/modules/venues/hooks.ts | 1 + frontend/src/modules/venues/types.ts | 1 + frontend/src/modules/venues/validations.ts | 1 + frontend/src/schemas/booking.schema.ts | 1 + frontend/src/schemas/login.schema.ts | 1 + frontend/src/schemas/register.schema.ts | 1 + frontend/src/schemas/venue.schema.ts | 1 + frontend/src/services/auth.service.ts | 1 + frontend/src/services/booking.service.ts | 1 + frontend/src/services/user.service.ts | 1 + frontend/src/services/venue.service.ts | 1 + frontend/src/types/api.ts | 1 + frontend/src/types/booking.ts | 1 + frontend/src/types/user.ts | 1 + frontend/src/types/venue.ts | 1 + frontend/tsconfig.json | 34 + 147 files changed, 21441 insertions(+) create mode 100644 backend/.gitignore create mode 100644 backend/.prettierrc create mode 100644 backend/README.md create mode 100644 backend/eslint.config.mjs create mode 100644 backend/nest-cli.json create mode 100644 backend/package-lock.json create mode 100644 backend/package.json create mode 100644 backend/src/app.module.ts create mode 100644 backend/src/auth/auth.controller.ts create mode 100644 backend/src/auth/auth.module.ts create mode 100644 backend/src/auth/auth.service.ts create mode 100644 backend/src/auth/dto/login.dto.ts create mode 100644 backend/src/auth/schemas/auth.schema.ts create mode 100644 backend/src/booking-locks/booking-locks.module.ts create mode 100644 backend/src/booking-locks/booking-locks.service.ts create mode 100644 backend/src/booking-locks/schemas/booking-lock.schema.ts create mode 100644 backend/src/bookings/bookings.controller.ts create mode 100644 backend/src/bookings/bookings.module.ts create mode 100644 backend/src/bookings/bookings.service.ts create mode 100644 backend/src/bookings/dto/create-booking.dto.ts create mode 100644 backend/src/bookings/schemas/booking.schema.ts create mode 100644 backend/src/common/decorators/user.decorator.ts create mode 100644 backend/src/common/filters/http-exception.filter.ts create mode 100644 backend/src/common/guards/auth.guard.ts create mode 100644 backend/src/common/guards/roles.guard.ts create mode 100644 backend/src/common/interceptors/transform.interceptor.ts create mode 100644 backend/src/config/configuration.ts create mode 100644 backend/src/interface/jwt-user.interface.ts create mode 100644 backend/src/main.ts create mode 100644 backend/src/payments/dto/create-payment.dto.ts create mode 100644 backend/src/payments/payments.controller.ts create mode 100644 backend/src/payments/payments.module.ts create mode 100644 backend/src/payments/payments.service.ts create mode 100644 backend/src/reviews/dto/create-review.dto.ts create mode 100644 backend/src/reviews/reviews.controller.ts create mode 100644 backend/src/reviews/reviews.module.ts create mode 100644 backend/src/reviews/reviews.service.ts create mode 100644 backend/src/reviews/schemas/review.schema.ts create mode 100644 backend/src/users/decorators/get-user.decorator.ts create mode 100644 backend/src/users/decorators/roles.decorator.ts create mode 100644 backend/src/users/dto/create-user.dto.ts create mode 100644 backend/src/users/schemas/user.schema.ts create mode 100644 backend/src/users/users.controller.ts create mode 100644 backend/src/users/users.module.ts create mode 100644 backend/src/users/users.service.ts create mode 100644 backend/src/venues/dto/create-venue.dto.ts create mode 100644 backend/src/venues/schemas/venue.schema.ts create mode 100644 backend/src/venues/venues.controller.ts create mode 100644 backend/src/venues/venues.module.ts create mode 100644 backend/src/venues/venues.service.ts create mode 100644 backend/test/app.e2e-spec.ts create mode 100644 backend/test/jest-e2e.json create mode 100644 backend/tsconfig.build.json create mode 100644 backend/tsconfig.json create mode 100644 backend/uploads/49abf22c-a9eb-4fbb-b15e-884f67fcd2ee.png create mode 100644 backend/uploads/ca795c66-4ae5-4f52-9313-5b5c005e2ac9.png create mode 100644 backend/uploads/dec70646-9467-4cfe-82f1-18d69b721f7a.png create mode 100644 backend/uploads/fff0a7c6-d274-4299-820d-9267fe5ade31.jpeg create mode 100644 frontend/.gitignore create mode 100644 frontend/AGENTS.md create mode 100644 frontend/CLAUDE.md create mode 100644 frontend/README.md create mode 100644 frontend/eslint.config.mjs create mode 100644 frontend/next.config.ts create mode 100644 frontend/package-lock.json create mode 100644 frontend/package.json create mode 100644 frontend/postcss.config.mjs create mode 100644 frontend/public/file.svg create mode 100644 frontend/public/globe.svg create mode 100644 frontend/public/next.svg create mode 100644 frontend/public/vercel.svg create mode 100644 frontend/public/window.svg create mode 100644 frontend/src/app/(admin)/admin/dashboard/page.tsx create mode 100644 frontend/src/app/(admin)/admin/reports/page.tsx create mode 100644 frontend/src/app/(admin)/admin/users/page.tsx create mode 100644 frontend/src/app/(admin)/admin/venues/page.tsx create mode 100644 frontend/src/app/(auth)/forgot-password/page.tsx create mode 100644 frontend/src/app/(auth)/login/page.tsx create mode 100644 frontend/src/app/(auth)/register/page.tsx create mode 100644 frontend/src/app/(customer)/bookings/page.tsx create mode 100644 frontend/src/app/(customer)/profile/page.tsx create mode 100644 frontend/src/app/(customer)/venues/[id]/page.tsx create mode 100644 frontend/src/app/(customer)/venues/page.tsx create mode 100644 frontend/src/app/(owner)/owner/bookings/page.tsx create mode 100644 frontend/src/app/(owner)/owner/dashboard/page.tsx create mode 100644 frontend/src/app/(owner)/owner/venues/[id]/page.tsx create mode 100644 frontend/src/app/(owner)/owner/venues/create/page.tsx create mode 100644 frontend/src/app/(owner)/owner/venues/page.tsx create mode 100644 frontend/src/app/globals.css create mode 100644 frontend/src/app/layout.tsx create mode 100644 frontend/src/app/not-found.tsx create mode 100644 frontend/src/app/page.tsx create mode 100644 frontend/src/components/auth/login-form.tsx create mode 100644 frontend/src/components/auth/register-form.tsx create mode 100644 frontend/src/components/booking/booking-card.tsx create mode 100644 frontend/src/components/booking/booking-form.tsx create mode 100644 frontend/src/components/layout/footer.tsx create mode 100644 frontend/src/components/layout/navbar.tsx create mode 100644 frontend/src/components/layout/sidebar.tsx create mode 100644 frontend/src/components/ui/button.tsx create mode 100644 frontend/src/components/ui/card.tsx create mode 100644 frontend/src/components/ui/input.tsx create mode 100644 frontend/src/components/ui/modal.tsx create mode 100644 frontend/src/components/venue/venue-card.tsx create mode 100644 frontend/src/components/venue/venue-details.tsx create mode 100644 frontend/src/components/venue/venue-gallery.tsx create mode 100644 frontend/src/constants/roles.ts create mode 100644 frontend/src/constants/routes.ts create mode 100644 frontend/src/constants/status.ts create mode 100644 frontend/src/context/auth-context.tsx create mode 100644 frontend/src/context/theme-context.tsx create mode 100644 frontend/src/hooks/useAuth.ts create mode 100644 frontend/src/hooks/useDebounce.ts create mode 100644 frontend/src/hooks/usePagination.ts create mode 100644 frontend/src/lib/auth.ts create mode 100644 frontend/src/lib/axios.ts create mode 100644 frontend/src/lib/date.ts create mode 100644 frontend/src/lib/storage.ts create mode 100644 frontend/src/lib/utils.ts create mode 100644 frontend/src/modules/auth/api.ts create mode 100644 frontend/src/modules/auth/hooks.ts create mode 100644 frontend/src/modules/auth/types.ts create mode 100644 frontend/src/modules/auth/validations.ts create mode 100644 frontend/src/modules/bookings/api.ts create mode 100644 frontend/src/modules/bookings/hooks.ts create mode 100644 frontend/src/modules/bookings/types.ts create mode 100644 frontend/src/modules/bookings/validations.ts create mode 100644 frontend/src/modules/users/api.ts create mode 100644 frontend/src/modules/users/hooks.ts create mode 100644 frontend/src/modules/users/types.ts create mode 100644 frontend/src/modules/venues/api.ts create mode 100644 frontend/src/modules/venues/hooks.ts create mode 100644 frontend/src/modules/venues/types.ts create mode 100644 frontend/src/modules/venues/validations.ts create mode 100644 frontend/src/schemas/booking.schema.ts create mode 100644 frontend/src/schemas/login.schema.ts create mode 100644 frontend/src/schemas/register.schema.ts create mode 100644 frontend/src/schemas/venue.schema.ts create mode 100644 frontend/src/services/auth.service.ts create mode 100644 frontend/src/services/booking.service.ts create mode 100644 frontend/src/services/user.service.ts create mode 100644 frontend/src/services/venue.service.ts create mode 100644 frontend/src/types/api.ts create mode 100644 frontend/src/types/booking.ts create mode 100644 frontend/src/types/user.ts create mode 100644 frontend/src/types/venue.ts create mode 100644 frontend/tsconfig.json diff --git a/backend/.gitignore b/backend/.gitignore new file mode 100644 index 0000000000..4b56acfbeb --- /dev/null +++ b/backend/.gitignore @@ -0,0 +1,56 @@ +# compiled output +/dist +/node_modules +/build + +# Logs +logs +*.log +npm-debug.log* +pnpm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# OS +.DS_Store + +# Tests +/coverage +/.nyc_output + +# IDEs and editors +/.idea +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# temp directory +.temp +.tmp + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json diff --git a/backend/.prettierrc b/backend/.prettierrc new file mode 100644 index 0000000000..a20502b7f0 --- /dev/null +++ b/backend/.prettierrc @@ -0,0 +1,4 @@ +{ + "singleQuote": true, + "trailingComma": "all" +} diff --git a/backend/README.md b/backend/README.md new file mode 100644 index 0000000000..8f0f65f7e7 --- /dev/null +++ b/backend/README.md @@ -0,0 +1,98 @@ +

+ Nest Logo +

+ +[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456 +[circleci-url]: https://circleci.com/gh/nestjs/nest + +

A progressive Node.js framework for building efficient and scalable server-side applications.

+

+NPM Version +Package License +NPM Downloads +CircleCI +Discord +Backers on Open Collective +Sponsors on Open Collective + Donate us + Support us + Follow us on Twitter +

+ + +## Description + +[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository. + +## Project setup + +```bash +$ npm install +``` + +## Compile and run the project + +```bash +# development +$ npm run start + +# watch mode +$ npm run start:dev + +# production mode +$ npm run start:prod +``` + +## Run tests + +```bash +# unit tests +$ npm run test + +# e2e tests +$ npm run test:e2e + +# test coverage +$ npm run test:cov +``` + +## Deployment + +When you're ready to deploy your NestJS application to production, there are some key steps you can take to ensure it runs as efficiently as possible. Check out the [deployment documentation](https://docs.nestjs.com/deployment) for more information. + +If you are looking for a cloud-based platform to deploy your NestJS application, check out [Mau](https://mau.nestjs.com), our official platform for deploying NestJS applications on AWS. Mau makes deployment straightforward and fast, requiring just a few simple steps: + +```bash +$ npm install -g @nestjs/mau +$ mau deploy +``` + +With Mau, you can deploy your application in just a few clicks, allowing you to focus on building features rather than managing infrastructure. + +## Resources + +Check out a few resources that may come in handy when working with NestJS: + +- Visit the [NestJS Documentation](https://docs.nestjs.com) to learn more about the framework. +- For questions and support, please visit our [Discord channel](https://discord.gg/G7Qnnhy). +- To dive deeper and get more hands-on experience, check out our official video [courses](https://courses.nestjs.com/). +- Deploy your application to AWS with the help of [NestJS Mau](https://mau.nestjs.com) in just a few clicks. +- Visualize your application graph and interact with the NestJS application in real-time using [NestJS Devtools](https://devtools.nestjs.com). +- Need help with your project (part-time to full-time)? Check out our official [enterprise support](https://enterprise.nestjs.com). +- To stay in the loop and get updates, follow us on [X](https://x.com/nestframework) and [LinkedIn](https://linkedin.com/company/nestjs). +- Looking for a job, or have a job to offer? Check out our official [Jobs board](https://jobs.nestjs.com). + +## Support + +Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support). + +## Stay in touch + +- Author - [Kamil Myśliwiec](https://twitter.com/kammysliwiec) +- Website - [https://nestjs.com](https://nestjs.com/) +- Twitter - [@nestframework](https://twitter.com/nestframework) + +## License + +Nest is [MIT licensed](https://github.com/nestjs/nest/blob/master/LICENSE). diff --git a/backend/eslint.config.mjs b/backend/eslint.config.mjs new file mode 100644 index 0000000000..4e9f8271c9 --- /dev/null +++ b/backend/eslint.config.mjs @@ -0,0 +1,35 @@ +// @ts-check +import eslint from '@eslint/js'; +import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'; +import globals from 'globals'; +import tseslint from 'typescript-eslint'; + +export default tseslint.config( + { + ignores: ['eslint.config.mjs'], + }, + eslint.configs.recommended, + ...tseslint.configs.recommendedTypeChecked, + eslintPluginPrettierRecommended, + { + languageOptions: { + globals: { + ...globals.node, + ...globals.jest, + }, + sourceType: 'commonjs', + parserOptions: { + projectService: true, + tsconfigRootDir: import.meta.dirname, + }, + }, + }, + { + rules: { + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-floating-promises': 'warn', + '@typescript-eslint/no-unsafe-argument': 'warn', + "prettier/prettier": ["error", { endOfLine: "auto" }], + }, + }, +); diff --git a/backend/nest-cli.json b/backend/nest-cli.json new file mode 100644 index 0000000000..f9aa683b1a --- /dev/null +++ b/backend/nest-cli.json @@ -0,0 +1,8 @@ +{ + "$schema": "https://json.schemastore.org/nest-cli", + "collection": "@nestjs/schematics", + "sourceRoot": "src", + "compilerOptions": { + "deleteOutDir": true + } +} diff --git a/backend/package-lock.json b/backend/package-lock.json new file mode 100644 index 0000000000..78230cb474 --- /dev/null +++ b/backend/package-lock.json @@ -0,0 +1,10538 @@ +{ + "name": "backend", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "backend", + "version": "0.0.1", + "license": "UNLICENSED", + "dependencies": { + "@nestjs/common": "^11.0.1", + "@nestjs/config": "^4.0.4", + "@nestjs/core": "^11.0.1", + "@nestjs/jwt": "^11.0.2", + "@nestjs/mongoose": "^11.0.4", + "@nestjs/platform-express": "^11.0.1", + "bcrypt": "^6.0.0", + "class-transformer": "^0.5.1", + "class-validator": "^0.15.1", + "mongoose": "^9.6.3", + "reflect-metadata": "^0.2.2", + "rxjs": "^7.8.1" + }, + "devDependencies": { + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "^9.18.0", + "@nestjs/cli": "^11.0.0", + "@nestjs/schematics": "^11.0.0", + "@nestjs/testing": "^11.0.1", + "@types/bcrypt": "^6.0.0", + "@types/express": "^5.0.0", + "@types/jest": "^30.0.0", + "@types/node": "^24.0.0", + "@types/supertest": "^7.0.0", + "eslint": "^9.18.0", + "eslint-config-prettier": "^10.0.1", + "eslint-plugin-prettier": "^5.2.2", + "globals": "^17.0.0", + "jest": "^30.0.0", + "prettier": "^3.4.2", + "source-map-support": "^0.5.21", + "supertest": "^7.0.0", + "ts-jest": "^29.2.5", + "ts-loader": "^9.5.2", + "ts-node": "^10.9.2", + "tsconfig-paths": "^4.2.0", + "typescript": "^5.7.3", + "typescript-eslint": "^8.20.0" + } + }, + "node_modules/@angular-devkit/core": { + "version": "19.2.24", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.24.tgz", + "integrity": "sha512-Kd49warf6U/EyWe5BszF/eebN3zQ3bk7tgfEljAw8q/rX95UUtriJubWvp6pgzHfzBA4jwq8f+QiNZB8eBEXPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.18.0", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.4", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^4.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/core/node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "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/@angular-devkit/core/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/@angular-devkit/core/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@angular-devkit/schematics": { + "version": "19.2.24", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.2.24.tgz", + "integrity": "sha512-lnw+ZM1Io+cJAkReC0NPDjqObL8NtKzKIkdgEEKC8CUmkhurYhedbicN8Y8NYHgG1uLd2GozW3+/QqPRZaN+Lw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "19.2.24", + "jsonc-parser": "3.3.1", + "magic-string": "0.30.17", + "ora": "5.4.1", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/schematics-cli": { + "version": "19.2.24", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-19.2.24.tgz", + "integrity": "sha512-bsStZQG67J1HBqTmWxtIcobvgrn32L4UOdL7hGyOru5VxDWPNA8pRnDYavT3hnJeBkJYPoQIw8u7Dm0ecoQprw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "19.2.24", + "@angular-devkit/schematics": "19.2.24", + "@inquirer/prompts": "7.3.2", + "ansi-colors": "4.1.3", + "symbol-observable": "4.0.0", + "yargs-parser": "21.1.1" + }, + "bin": { + "schematics": "bin/schematics.js" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/schematics-cli/node_modules/@inquirer/prompts": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.3.2.tgz", + "integrity": "sha512-G1ytyOoHh5BphmEBxSwALin3n1KGNYB6yImbICcRQdzXfOGbuJ9Jske/Of5Sebk339NSGGNfUshnzK8YWkTPsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/checkbox": "^4.1.2", + "@inquirer/confirm": "^5.1.6", + "@inquirer/editor": "^4.2.7", + "@inquirer/expand": "^4.0.9", + "@inquirer/input": "^4.1.6", + "@inquirer/number": "^3.0.9", + "@inquirer/password": "^4.0.9", + "@inquirer/rawlist": "^4.0.9", + "@inquirer/search": "^3.0.9", + "@inquirer/select": "^4.0.9" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", + "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", + "@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/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz", + "integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", + "@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-compilation-targets": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", + "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz", + "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", + "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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-import-attributes": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.29.7.tgz", + "integrity": "sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.29.7.tgz", + "integrity": "sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.29.7.tgz", + "integrity": "sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz", + "integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/@borewit/text-codec": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@borewit/text-codec/-/text-codec-0.2.2.tgz", + "integrity": "sha512-DDaRehssg1aNrH4+2hnj1B7vnUGEjU6OIlyRdkMd0aUdIUvKXrJfXsy8LVtXAy7DRvYVluWbMspsRhz2lcW0mQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "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/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz", + "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.5" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz", + "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.14.0", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.5", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", + "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/types": "^0.15.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@inquirer/ansi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.2.tgz", + "integrity": "sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/checkbox": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.3.2.tgz", + "integrity": "sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/confirm": { + "version": "5.1.21", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.21.tgz", + "integrity": "sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/core": { + "version": "10.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.3.2.tgz", + "integrity": "sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/editor": { + "version": "4.2.23", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.23.tgz", + "integrity": "sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/external-editor": "^1.0.3", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/expand": { + "version": "4.0.23", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.23.tgz", + "integrity": "sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/external-editor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.3.tgz", + "integrity": "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^2.1.1", + "iconv-lite": "^0.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/figures": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.15.tgz", + "integrity": "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/input": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.3.1.tgz", + "integrity": "sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/number": { + "version": "3.0.23", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.23.tgz", + "integrity": "sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/password": { + "version": "4.0.23", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.23.tgz", + "integrity": "sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/prompts": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.10.1.tgz", + "integrity": "sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/checkbox": "^4.3.2", + "@inquirer/confirm": "^5.1.21", + "@inquirer/editor": "^4.2.23", + "@inquirer/expand": "^4.0.23", + "@inquirer/input": "^4.3.1", + "@inquirer/number": "^3.0.23", + "@inquirer/password": "^4.0.23", + "@inquirer/rawlist": "^4.1.11", + "@inquirer/search": "^3.2.2", + "@inquirer/select": "^4.4.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/rawlist": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.11.tgz", + "integrity": "sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/search": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.2.2.tgz", + "integrity": "sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/select": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.4.2.tgz", + "integrity": "sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/type": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.10.tgz", + "integrity": "sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "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==", + "dev": true, + "license": "ISC", + "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/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.6.tgz", + "integrity": "sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.4.1.tgz", + "integrity": "sha512-v3bhyxUh9Hgmo5p6hAOXe14/R3ZxZDOsvHleh4B07z3m/x4/ngPUXEm9XwK4sF4u+f+P2ORb0Ge+MgpaqRMVDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.4.1", + "@types/node": "*", + "chalk": "^4.1.2", + "jest-message-util": "30.4.1", + "jest-util": "30.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/core": { + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.4.2.tgz", + "integrity": "sha512-TZJA6cPJUFxoWhxaLo8t0VX/MZX2wPWr0uIDvLSHIvN4gu9h02vSzqI2kBADG1ExqQlC+cY09xKMSreivvrChQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "30.4.1", + "@jest/pattern": "30.4.0", + "@jest/reporters": "30.4.1", + "@jest/test-result": "30.4.1", + "@jest/transform": "30.4.1", + "@jest/types": "30.4.1", + "@types/node": "*", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "exit-x": "^0.2.2", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.11", + "jest-changed-files": "30.4.1", + "jest-config": "30.4.2", + "jest-haste-map": "30.4.1", + "jest-message-util": "30.4.1", + "jest-regex-util": "30.4.0", + "jest-resolve": "30.4.1", + "jest-resolve-dependencies": "30.4.2", + "jest-runner": "30.4.2", + "jest-runtime": "30.4.2", + "jest-snapshot": "30.4.1", + "jest-util": "30.4.1", + "jest-validate": "30.4.1", + "jest-watcher": "30.4.1", + "pretty-format": "30.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/diff-sequences": { + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.4.0.tgz", + "integrity": "sha512-zOpzlfUs45l6u7jm39qr87JCHUDsaeCtvL+kQe/Vn9jSnRB4/5IPXISm0h9I1vZW/o00Kn4UTJ2MOlhnUGwv3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/environment": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.4.1.tgz", + "integrity": "sha512-AK9yNRqgKxiabqMoe4oW+3/TSSeV8vkdC7BGaxZdU0AFXfOpofTLqdru2GXKZghP3sdgwE9XXpnVwfZ8JnFV4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "30.4.1", + "@jest/types": "30.4.1", + "@types/node": "*", + "jest-mock": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.4.1.tgz", + "integrity": "sha512-ginrj6TMgh2GshLUGCjO94Ptx9HhdZA/I6A9iUfyeLKFtdAjnKzHDgzgP9HYQgbxM1lbXScQ2eUBz2lGeVDPWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "30.4.1", + "jest-snapshot": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.4.1.tgz", + "integrity": "sha512-ZBn5CglH8fBsQsvs4VWNzD4aWfUYks+IdOOQU3MEK71ol/BcVm+P+rtb1KpiFBpSWSCE27uOahyyf1vfqOVbcQ==", + "dev": true, + "license": "MIT", + "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": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.4.1.tgz", + "integrity": "sha512-iW5umdmfPeWzehrVhugFQZqCchSCud5S1l2YT0O9ZhjRR0ExclANDZkiSBwzqtnlOn0J1JXvO+HZ6rkuyOVOgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.4.1", + "@sinonjs/fake-timers": "^15.4.0", + "@types/node": "*", + "jest-message-util": "30.4.1", + "jest-mock": "30.4.1", + "jest-util": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.4.1.tgz", + "integrity": "sha512-ZbuY4cmXC8DkxYjfvT2DbcHWL2T6vmsMhXCDcmTB2T0y0gaezBI77ufq5ZAIdcRkYZ7NEQEDg1xFeKbxUJ5v5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.4.1", + "@jest/expect": "30.4.1", + "@jest/types": "30.4.1", + "jest-mock": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/pattern": { + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.4.0.tgz", + "integrity": "sha512-RAWn3+f9u8BsHijKJ71uHcFp6vmyEt6VvoWXkl6hKF3qVIuWNmudVjg12DlBPGup/frIl5UcUlH5HfEuvHpEXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-regex-util": "30.4.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.4.1.tgz", + "integrity": "sha512-/SnkPCzEQpUaBH81kjdEdDdo2WZl5hxw+BmLDGWjRkm8o7XlhjwsU36cqwe5PGBE5WYpBvDzRSdXx9rbGuJtNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "30.4.1", + "@jest/test-result": "30.4.1", + "@jest/transform": "30.4.1", + "@jest/types": "30.4.1", + "@jridgewell/trace-mapping": "^0.3.25", + "@types/node": "*", + "chalk": "^4.1.2", + "collect-v8-coverage": "^1.0.2", + "exit-x": "^0.2.2", + "glob": "^10.5.0", + "graceful-fs": "^4.2.11", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^5.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "30.4.1", + "jest-util": "30.4.1", + "jest-worker": "30.4.1", + "slash": "^3.0.0", + "string-length": "^4.0.2", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.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/brace-expansion": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz", + "integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@jest/reporters/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@jest/reporters/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@jest/reporters/node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@jest/schemas": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.4.1.tgz", + "integrity": "sha512-i6b4qw5qnP8c5FEeBJg/uZQ4ddrkN6Ca8qISJh0pr7a5hfn3h3v5x60BEbOC7OYAGZNMs1LfFLwnW2CuK8F57Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.34.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/snapshot-utils": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.4.1.tgz", + "integrity": "sha512-ObY4ljvQ95mt6iwKtVLetR/4yXiAgl3H4nJxhztr0MTjrN97TwDYrnCp/kF60Ec9HdhkWTHSu+Hg05aXfngpOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.4.1", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "natural-compare": "^1.4.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-30.0.1.tgz", + "integrity": "sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "callsites": "^3.1.0", + "graceful-fs": "^4.2.11" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.4.1.tgz", + "integrity": "sha512-/ZG7pgEiOmmWkN9TplKbOu4id2N5lh7FHwRwlkgBVAzGdRH+OkkQ8wX/kIxg4zmd3ZQvAL1RwL2yWsvNYYECTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "30.4.1", + "@jest/types": "30.4.1", + "@types/istanbul-lib-coverage": "^2.0.6", + "collect-v8-coverage": "^1.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.4.1.tgz", + "integrity": "sha512-PeYE+4td5rKjoRPxztObrXU+H8hsjZfxKMXOcmrr34JerSyB/ROOxbbicz8B7A5j9R9VayDnVPvBmedqCsFCdw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "30.4.1", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.4.1.tgz", + "integrity": "sha512-Wz0LyktlTvRefoymh+n64hQ84KNXsRGcwdoZ8CSa0Ea+fgYcHZlnk+hDP7v2MS7il2bQ5uTEIxf4/NNfhMN4KQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.27.4", + "@jest/types": "30.4.1", + "@jridgewell/trace-mapping": "^0.3.25", + "babel-plugin-istanbul": "^7.0.1", + "chalk": "^4.1.2", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.4.1", + "jest-regex-util": "30.4.0", + "jest-util": "30.4.1", + "pirates": "^4.0.7", + "slash": "^3.0.0", + "write-file-atomic": "^5.0.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/types": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.4.1.tgz", + "integrity": "sha512-f1x/vJXIfjOlEmejYpbkbgw1gOqpPECwMvMEtBqe47j7H2Hg8h8w3o3ikhSXq3MI15kg+oQ0exWO0uCtTNJLoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/pattern": "30.4.0", + "@jest/schemas": "30.4.1", + "@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/@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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@lukeed/csprng": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", + "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@mongodb-js/saslprep": { + "version": "1.4.11", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.4.11.tgz", + "integrity": "sha512-o9rAHc0IpIjuPSxRutWpE1F62x7n+4mVS4rCNHkzhIUMQcc18bb6xEq5wd2NdN0WjepIyXIppRshYI2kQDOZVA==", + "license": "MIT", + "dependencies": { + "sparse-bitfield": "^3.0.3" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@nestjs/cli": { + "version": "11.0.21", + "resolved": "https://registry.npmjs.org/@nestjs/cli/-/cli-11.0.21.tgz", + "integrity": "sha512-F8mV0Sj/zVEouzR3NxBuJy08YHTUOmC5Xdcx3qIIaJWzrm8Vw86CHkhkaPBJ5ewRMHPDCShPmhsfwhpCcjts3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "19.2.24", + "@angular-devkit/schematics": "19.2.24", + "@angular-devkit/schematics-cli": "19.2.24", + "@inquirer/prompts": "7.10.1", + "@nestjs/schematics": "^11.0.1", + "ansis": "4.2.0", + "chokidar": "4.0.3", + "cli-table3": "0.6.5", + "commander": "4.1.1", + "fork-ts-checker-webpack-plugin": "9.1.0", + "glob": "13.0.6", + "node-emoji": "1.11.0", + "ora": "5.4.1", + "tsconfig-paths": "4.2.0", + "tsconfig-paths-webpack-plugin": "4.2.0", + "typescript": "5.9.3", + "webpack": "5.106.0", + "webpack-node-externals": "3.0.0" + }, + "bin": { + "nest": "bin/nest.js" + }, + "engines": { + "node": ">= 20.11" + }, + "peerDependencies": { + "@swc/cli": "^0.1.62 || ^0.3.0 || ^0.4.0 || ^0.5.0 || ^0.6.0 || ^0.7.0 || ^0.8.0", + "@swc/core": "^1.3.62" + }, + "peerDependenciesMeta": { + "@swc/cli": { + "optional": true + }, + "@swc/core": { + "optional": true + } + } + }, + "node_modules/@nestjs/cli/node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "dev": true, + "license": "MIT", + "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/@nestjs/cli/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@nestjs/cli/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/@nestjs/cli/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==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nestjs/cli/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@nestjs/cli/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nestjs/cli/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@nestjs/cli/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@nestjs/cli/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==", + "dev": true, + "license": "MIT", + "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/@nestjs/cli/node_modules/webpack": { + "version": "5.106.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.106.0.tgz", + "integrity": "sha512-Pkx5joZ9RrdgO5LBkyX1L2ZAJeK/Taz3vqZ9CbcP0wS5LEMx5QkKsEwLl29QJfihZ+DKRBFldzy1O30pJ1MDpA==", + "dev": true, + "license": "MIT", + "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.16.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.28.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.20.0", + "es-module-lexer": "^2.0.0", + "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.17", + "watchpack": "^2.5.1", + "webpack-sources": "^3.3.4" + }, + "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/@nestjs/common": { + "version": "11.1.24", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.24.tgz", + "integrity": "sha512-9zHxaDDM+oXW9As6UsP5yYB+UqczBmpeSCIFWdPEtEukMnZhxODG1BBjaUcdBB8Sc1uzojSJSJlp3yFp853t1g==", + "license": "MIT", + "dependencies": { + "file-type": "21.3.4", + "iterare": "1.2.1", + "load-esm": "1.0.3", + "tslib": "2.8.1", + "uid": "2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "class-transformer": ">=0.4.1", + "class-validator": ">=0.13.2", + "reflect-metadata": "^0.1.12 || ^0.2.0", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "class-transformer": { + "optional": true + }, + "class-validator": { + "optional": true + } + } + }, + "node_modules/@nestjs/config": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@nestjs/config/-/config-4.0.4.tgz", + "integrity": "sha512-CJPjNitr0bAufSEnRe2N+JbnVmMmDoo6hvKCPzXgZoGwJSmp/dZPk9f/RMbuD/+Q1ZJPjwsRpq0vxna++Knwow==", + "license": "MIT", + "dependencies": { + "dotenv": "17.4.1", + "dotenv-expand": "12.0.3", + "lodash": "4.18.1" + }, + "peerDependencies": { + "@nestjs/common": "^10.0.0 || ^11.0.0", + "rxjs": "^7.1.0" + } + }, + "node_modules/@nestjs/core": { + "version": "11.1.24", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-11.1.24.tgz", + "integrity": "sha512-K4bzT+lEdd0Hhcsw3jtk56QAW6s6skK3ViN7hIROSN0kUf4ROwWEAKopJID6yhPQxB45kDtP2wEcjzE8171J3g==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@nuxt/opencollective": "0.4.1", + "fast-safe-stringify": "2.1.1", + "iterare": "1.2.1", + "path-to-regexp": "8.4.2", + "tslib": "2.8.1", + "uid": "2.0.2" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^11.0.0", + "@nestjs/microservices": "^11.0.0", + "@nestjs/platform-express": "^11.0.0", + "@nestjs/websockets": "^11.0.0", + "reflect-metadata": "^0.1.12 || ^0.2.0", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "@nestjs/microservices": { + "optional": true + }, + "@nestjs/platform-express": { + "optional": true + }, + "@nestjs/websockets": { + "optional": true + } + } + }, + "node_modules/@nestjs/jwt": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@nestjs/jwt/-/jwt-11.0.2.tgz", + "integrity": "sha512-rK8aE/3/Ma45gAWfCksAXUNbOoSOUudU0Kn3rT39htPF7wsYXtKfjALKeKKJbFrIWbLjsbqfXX5bIJNvgBugGA==", + "license": "MIT", + "dependencies": { + "@types/jsonwebtoken": "9.0.10", + "jsonwebtoken": "9.0.3" + }, + "peerDependencies": { + "@nestjs/common": "^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0" + } + }, + "node_modules/@nestjs/mongoose": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/@nestjs/mongoose/-/mongoose-11.0.4.tgz", + "integrity": "sha512-LUOlUeSOfbjdIu22QwOmczv2CzJQr9LUBo2mOfbXrGCu2svpr5Hiu71zBFrb/9UC+H8BjGMKbBOq1nEbMF6ZJA==", + "license": "MIT", + "peerDependencies": { + "@nestjs/common": "^10.0.0 || ^11.0.0", + "@nestjs/core": "^10.0.0 || ^11.0.0", + "mongoose": "^7.0.0 || ^8.0.0 || ^9.0.0", + "rxjs": "^7.0.0" + } + }, + "node_modules/@nestjs/platform-express": { + "version": "11.1.24", + "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-11.1.24.tgz", + "integrity": "sha512-CeMKbRBm05aOBiWhIHWO2xDeHbxynBF9ySQv3gRjObz2N5+uJnYriAYkHvVqvC4JIydmMPmT5VdICFNlNz3qyA==", + "license": "MIT", + "dependencies": { + "cors": "2.8.6", + "express": "5.2.1", + "multer": "2.1.1", + "path-to-regexp": "8.4.2", + "tslib": "2.8.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^11.0.0", + "@nestjs/core": "^11.0.0" + } + }, + "node_modules/@nestjs/schematics": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@nestjs/schematics/-/schematics-11.1.0.tgz", + "integrity": "sha512-lVxGZ46tcdItFMoXr6vyKWlnOsm1SZm/GUqAEDvy2RL4Q4O+3bkziAhrO7Y8JLssFUUvNFEGqAizI52WAxhjDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "19.2.24", + "@angular-devkit/schematics": "19.2.24", + "comment-json": "5.0.0", + "jsonc-parser": "3.3.1", + "pluralize": "8.0.0" + }, + "peerDependencies": { + "prettier": "^3.0.0", + "typescript": ">=4.8.2" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + } + } + }, + "node_modules/@nestjs/testing": { + "version": "11.1.24", + "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-11.1.24.tgz", + "integrity": "sha512-+4M4UAnhtprBQN0J2uI6IP0wDqhy9aH8XCMu5SO8oCi0oB04YXA4a4PAEkxmsPn7gHW4dj1u4GFteNQOWgvTJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "2.8.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^11.0.0", + "@nestjs/core": "^11.0.0", + "@nestjs/microservices": "^11.0.0", + "@nestjs/platform-express": "^11.0.0" + }, + "peerDependenciesMeta": { + "@nestjs/microservices": { + "optional": true + }, + "@nestjs/platform-express": { + "optional": true + } + } + }, + "node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@nuxt/opencollective": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@nuxt/opencollective/-/opencollective-0.4.1.tgz", + "integrity": "sha512-GXD3wy50qYbxCJ652bDrDzgMr3NFEkIS374+IgFQKkCvk9yiYcLvX2XDYr7UyQxf4wK0e+yqDYRubZ0DtOxnmQ==", + "license": "MIT", + "dependencies": { + "consola": "^3.2.3" + }, + "bin": { + "opencollective": "bin/opencollective.js" + }, + "engines": { + "node": "^14.18.0 || >=16.10.0", + "npm": ">=5.10.0" + } + }, + "node_modules/@paralleldrive/cuid2": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@paralleldrive/cuid2/-/cuid2-2.3.1.tgz", + "integrity": "sha512-XO7cAxhnTZl0Yggq6jOgjiOHhbgcO4NqFqwSmQpjK3b6TEE6Uj/jfSk6wzYyemh3+I0sHirKSetjQwn5cZktFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@noble/hashes": "^1.1.5" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pkgr/core": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.3.6.tgz", + "integrity": "sha512-SEeaJLb3qBNF/OaXnaR1NmmBbFYk1zC0ZH/52fATcRPLFg/p791YrcyFFy44Bo9sLaGuSuLp5Q6axbb/O+v/RA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/pkgr" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.34.49", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.49.tgz", + "integrity": "sha512-brySQQs7Jtn0joV8Xh9ZV/hZb9Ozb0pmazDIASBkYKCjXrXU3mpcFahmK/z4YDhGkQvP9mWJbVyahdtU5wQA+A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "15.4.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-15.4.0.tgz", + "integrity": "sha512-DsG+8/LscQIQg68J6Ef3dv10u6nVyetYn923s3/sus5eaGfTo1of5WMZSLf0UJc9KDuKPilPH0UDJCjvNbDNCA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.1" + } + }, + "node_modules/@tokenizer/inflate": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@tokenizer/inflate/-/inflate-0.4.1.tgz", + "integrity": "sha512-2mAv+8pkG6GIZiF1kNg1jAjh27IDxEPKwdGul3snfztFerfPGI1LjDezZp3i7BElXompqEtPmoPx6c2wgtWsOA==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "token-types": "^6.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", + "license": "MIT" + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz", + "integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/bcrypt": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@types/bcrypt/-/bcrypt-6.0.0.tgz", + "integrity": "sha512-/oJGukuH3D2+D+3H4JWLaAsJ/ji86dhRidzZ/Od7H/i8g+aCmvkeCc6Ni/f9uxGLSQVCRZkX2/lqEFG2BvWtlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/cookiejar": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz", + "integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/express": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.6.tgz", + "integrity": "sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^5.0.0", + "@types/serve-static": "^2" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.1.1.tgz", + "integrity": "sha512-v4zIMr/cX7/d2BpAEX3KNKL/JrT1s43s96lLvvdTmza1oEvDudCqK9aF/djc/SWgy8Yh0h30TZx5VpzqFCxk5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "^30.0.0", + "pretty-format": "^30.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/jsonwebtoken": { + "version": "9.0.10", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.10.tgz", + "integrity": "sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA==", + "license": "MIT", + "dependencies": { + "@types/ms": "*", + "@types/node": "*" + } + }, + "node_modules/@types/methods": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz", + "integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "24.13.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.0.tgz", + "integrity": "sha512-5vtOqGQr4NJKeEzV441FcOi2MeG9UTWq9LqVLGneDdu4vlX17H8kQ2PA2UmNwCUGPVDj4oBjNhS7ReVEIWJJrg==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.18.0" + } + }, + "node_modules/@types/qs": { + "version": "6.15.1", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.15.1.tgz", + "integrity": "sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@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==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/superagent": { + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.10.tgz", + "integrity": "sha512-nbt4IWXABhW0jGmmpRzCFNlbmwCTzZ2gTUsNIr+X+ItdqPms+PAJZbWsNzpS2USqXjcoNLQcO6nXo60zcPQiIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/cookiejar": "^2.1.5", + "@types/methods": "^1.1.4", + "@types/node": "*", + "form-data": "^4.0.0" + } + }, + "node_modules/@types/supertest": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-7.2.0.tgz", + "integrity": "sha512-uh2Lv57xvggst6lCqNdFAmDSvoMG7M/HDtX4iUCquxQ5EGPtaPM5PL5Hmi7LCvOG8db7YaCPNJEeoI8s/WzIQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/methods": "^1.1.4", + "@types/superagent": "^8.1.0" + } + }, + "node_modules/@types/validator": { + "version": "13.15.10", + "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.15.10.tgz", + "integrity": "sha512-T8L6i7wCuyoK8A/ZeLYt1+q0ty3Zb9+qbSSvrIVitzT3YjZqkTZ40IbRsPanlB4h1QB3JVL1SYCdR6ngtFYcuA==", + "license": "MIT" + }, + "node_modules/@types/webidl-conversions": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz", + "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==", + "license": "MIT" + }, + "node_modules/@types/whatwg-url": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-13.0.0.tgz", + "integrity": "sha512-N8WXpbE6Wgri7KUSvrmQcqrMllKZ9uxkYWMt+mCSGwNc0Hsw9VQTW7ApqI4XNrx6/SaM2QQJCzMPDEXE058s+Q==", + "license": "MIT", + "dependencies": { + "@types/webidl-conversions": "*" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.60.1.tgz", + "integrity": "sha512-JQ4S5GB0tfjO8BuJ4fcX+HodkzJjYBV+7OJ+wLygaX7OGQ7FudyHL4NSCA6ob+w3Yn+5MkKIozOwQhXeM7opVg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.60.1", + "@typescript-eslint/type-utils": "8.60.1", + "@typescript-eslint/utils": "8.60.1", + "@typescript-eslint/visitor-keys": "8.60.1", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.60.1", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.60.1.tgz", + "integrity": "sha512-A0M6ua6H252bVjPvvtSgl2QA4+ET9S5Mtkb2GDyTxIhH/C4qDItT7RQNO5PhMC6NXGYXOR9dIalcDDgBKT7oFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.60.1", + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/typescript-estree": "8.60.1", + "@typescript-eslint/visitor-keys": "8.60.1", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.60.1.tgz", + "integrity": "sha512-eXkTH2bxmXlqD1RnOPmLZ9ZM9D3VwSx04JOwBnP9RQ+yUA5a2Mu7SfW8uaV2Aon53NJzZlZYuX7tn91Izf+xaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.60.1", + "@typescript-eslint/types": "^8.60.1", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.60.1.tgz", + "integrity": "sha512-gvI5OQoptnxQnchOirukCuQ55svJSTuD/4k5+pC267xyBtYry748R9/c3tYUzb/iE6RZfllRz2lVulLCHkTm4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/visitor-keys": "8.60.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.60.1.tgz", + "integrity": "sha512-nh8w4qAteiKuZu3pSSzG/yGKpw0OlkrKnzFmbVRenKaD4qc+7i1GrmZaLVkr8rk4uipiPGMOW4YsM6WmKZ5CvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.60.1.tgz", + "integrity": "sha512-sdwTrpjosW7ANQYJ39ZBF1ZyEMEGVB2UsikrserVM/30a/F1dTLnu9bGxEdosugyu5caigjLrR2qiD11asjI1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/typescript-estree": "8.60.1", + "@typescript-eslint/utils": "8.60.1", + "debug": "^4.4.3", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.60.1.tgz", + "integrity": "sha512-4h0tY8ppCkdCzcrl2YM5M3my0xsE1Tf8om3owEu5oPWmXwkKRmk0j0LGDzYBGUcAlesEbxBhazqu/K4cu3Ug7w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.60.1.tgz", + "integrity": "sha512-alpRkfG8hlVE5kdJW2GkfgDgXxold3e8e4l6EnmhRmRLbekgAPCCGDVD++sABy9FcgPFroq+uFcCSM1vR57Cew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.60.1", + "@typescript-eslint/tsconfig-utils": "8.60.1", + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/visitor-keys": "8.60.1", + "debug": "^4.4.3", + "minimatch": "^10.2.2", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.60.1.tgz", + "integrity": "sha512-h2MPBLoNtjc3qZWfY3Tl51yPorQ2McHn8pJfcMNTcIvrrZrr90Ykffit0yjrPFWQcRcUxzH20+6OcVdW4yHtUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.60.1", + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/typescript-estree": "8.60.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.60.1.tgz", + "integrity": "sha512-EbGRQg4FhrmwLodl+t3JNAnXHWVr9Vp+Zl1QBZVPY4ByfkzIT8cX3K6QWODHtkIZqqJVEWvhHSx3v5PDHsaQag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.60.1", + "eslint-visitor-keys": "^5.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.1.tgz", + "integrity": "sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.12.2.tgz", + "integrity": "sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.12.2.tgz", + "integrity": "sha512-YGCRZv/9GLhwmz6mYDeTsm/92BAyR28l6c2ReweVW5pWgfsitWLY8upvfRlGdoyD8HjeTHSYJWyZGD4KJA/nFQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.12.2.tgz", + "integrity": "sha512-u9DiNT1auQMO20A9SyTuG3wUgQWB9Z7KjAg0uFuCDR1FsAY8A0CG2S6JpHS1xwm/w1G08bjXZDcyOCjv1WAm2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.12.2.tgz", + "integrity": "sha512-f7rPLi/T1HVKZu/u6t87lroib16n8vrSzcyxI7lg4BGO9UF26KhQL44sd9eOUgrTYhvRXtWOIZT5PejdPyJfUA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.12.2.tgz", + "integrity": "sha512-BpcOjWCJub6nRZUS2zA20pmLvjtqAtGejETaIyRLiZiQf++cbrjltLA5NN/xaXfqeOBOSlMFbemIl5/S5tljmg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.12.2.tgz", + "integrity": "sha512-vZTDvdSISZjJx66OzJqtsOhzifbqRjbmI1Mnu49fQDwog5GtDI4QidRiEAYbZCRj9C8YZEW+3ZjqsyS9GR4k2A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.12.2.tgz", + "integrity": "sha512-BiPI+IrIlwcW4nLLMM21+B1dFPzd55yAVgVGrdgDjNef+ch03GdxrcyaIz8X9SsQirh/kCQ7mviyWlMxdh2D7g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.12.2.tgz", + "integrity": "sha512-zJc0H99FEPoFfSrNpa91HYfxzfAJCr502oxNK1cfdC9hlaFI43RT+JFCann9JUgZmLzzntChHyn13Sgn9ljHNg==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.12.2.tgz", + "integrity": "sha512-KQ3Lki6l+Pz1k/eBipN41ES+YUK30beLGb9YqcB1O542cyLCNE6GaxrfcY3T6EezmGGk84wb5XyO9loTM9tkcA==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-loong64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-gnu/-/resolver-binding-linux-loong64-gnu-1.12.2.tgz", + "integrity": "sha512-3SJGEh1DborhG6pyxvhPzCT4bbSIVihsvgJc13P1bHG7KLdNDaF9T3gsTwFc7Jw/5Y5/iWOjkEx7Zy0NvCGX3Q==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-loong64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-musl/-/resolver-binding-linux-loong64-musl-1.12.2.tgz", + "integrity": "sha512-jiuG/Obbel7uw1PwHNFfrkiKhLAF6mnyZ6aWlOAVN9WqKm8v0OFGnciJIHu8+CMvXLQ8AD51LPzAoUfT21D5Ew==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.12.2.tgz", + "integrity": "sha512-q7xRvVpmcfeL+LlZg8Pbbo6QaTZwDU5BaGZbwfhkEsXJn3Was8xYfE0RBH266xZt0rM6B7i8xAYIvjthuUIWHg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.12.2.tgz", + "integrity": "sha512-0CVdx6lcnT3Q9inOH8tsMIOJ6ImndllMjqJHg8RLVdB7Vq4SfkEXl9mCSsVNuNA4MCYycRicCUxPCabVHJRr6A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.12.2.tgz", + "integrity": "sha512-iOwlRo9vnp6R6ohHQS11n0NnfdXx/omhkocmIfaPRpQhKZ+3BDMkkdRVh53qjkFkpPddf+FETA28NwGN7l5l+w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.12.2.tgz", + "integrity": "sha512-HYJtLfXq94q8iZNFT1lknx258wlkkWhZeUXJRqzKBBUJ00CvZ+N33zgbCqimLjsyw5Va6uUxhVa12mI+kaveEw==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.12.2.tgz", + "integrity": "sha512-mPsUhunKKDih5O96Y6enDQyHc1SqBPlY1E/SfMWDM3EdJ95Z9CArPeCVwCCqbP45ljvivdEk8Fxn+SIb1rDAJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.12.2.tgz", + "integrity": "sha512-azrt6+5ydLd8Vt210AAFis/lZevSfPw93EJRIJG+xPu4WCJ8K0kppCTpMyLPcKT7H15M4Jnt2tMp5bOvCkRC6A==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-openharmony-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-openharmony-arm64/-/resolver-binding-openharmony-arm64-1.12.2.tgz", + "integrity": "sha512-YZ9hP4O0X9PQb8eO980qmLNGH4zT3I9+SZTdt0Pr0YyuGQhYKoOZkV02VzrzyOZJ5xIJ3UFIenKkUkGg8GjgWQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.12.2.tgz", + "integrity": "sha512-tYFDIkMxSflfEc/h92ZWNsZlHSwgimbNHSO3PL2JWQHfCuC2q316jMyYU9TIWZsFK2bQwyK5VAdYgn8ygPj69A==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.12.2.tgz", + "integrity": "sha512-qzNyg3xL0VPQmCaUh+N5jSitce6k+uCBfMDesWRnlULOZaqUkaJ0ybdT+UqlAWJoQjuqfIU/0Ptx9bteN4D82g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.12.2.tgz", + "integrity": "sha512-WD9sY00OfpHVGfsnHZoA8jVT+esS/Bg8z8jzxp5BnDCjjwsuKsPQrzswwpFy4J1AUJbXPRfkpcX0mXrzeXW79g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.12.2.tgz", + "integrity": "sha512-nAB74NfSNKknqQ1RrYj6uz8FcXEomu/MATJZxh/x+BArzN2U3JbOYC0APYzUIGhVY3m5hRxA8VPNdPBoG8txlA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "Apache-2.0", + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "BSD-3-Clause" + }, + "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==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.5", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz", + "integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "dev": true, + "license": "MIT", + "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": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ansis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.2.0.tgz", + "integrity": "sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", + "license": "MIT" + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/array-timsort": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-timsort/-/array-timsort-1.0.3.tgz", + "integrity": "sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/babel-jest": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.4.1.tgz", + "integrity": "sha512-fATAbM8piYxkiXQp3RBXmZHxZVNJZAVXXfyeyCN2Tida3+qJ8ea9UxhiJ2y4fLO90ZImKt6k9FlcH2+rLkJGhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/transform": "30.4.1", + "@types/babel__core": "^7.20.5", + "babel-plugin-istanbul": "^7.0.1", + "babel-preset-jest": "30.4.0", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "slash": "^3.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0 || ^8.0.0-0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.1.tgz", + "integrity": "sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==", + "dev": true, + "license": "BSD-3-Clause", + "workspaces": [ + "test/babel-8" + ], + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-instrument": "^6.0.2", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.4.0.tgz", + "integrity": "sha512-9EdtWM/sSfXLOGLwSn+GS6pIXyBnL07/8gyJlwFXjWy4DxMOyItqyUT29d4lQiS380EZwYlX7/At4PgBS+m2aA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/babel__core": "^7.20.5" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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": "30.4.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.4.0.tgz", + "integrity": "sha512-lBY4jxsNmCnSiu7kquw8ZC9F4+XLMOKypT3RnNHPvU2Kpd4W0xaPuLr5ZkRyOsvLYAY4yaW1ZwTW4xB7NIiZzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "30.4.0", + "babel-preset-current-node-syntax": "^1.2.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0 || ^8.0.0-beta.1" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.33", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.33.tgz", + "integrity": "sha512-bA6+tcSLpz2tIEdDXZPpPTIuxBcC4+w6SieaYyfigIa4h8GlFxbA17v22Vx3JUtuZQj9SgOsnbK+aTBzyDyEuw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/bcrypt": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-6.0.0.tgz", + "integrity": "sha512-cU8v/EGSrnH+HnxV2z0J7/blxH8gq7Xh2JFT6Aroax7UohdmiJJlxApMxtKfuI7z68NvvVcmR78k2LbT6efhRg==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "node-addon-api": "^8.3.0", + "node-gyp-build": "^4.8.4" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/body-parser": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz", + "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.3", + "http-errors": "^2.0.0", + "iconv-lite": "^0.7.0", + "on-finished": "^2.4.1", + "qs": "^6.14.1", + "raw-body": "^3.0.1", + "type-is": "^2.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", + "integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "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==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/bson": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-7.2.0.tgz", + "integrity": "sha512-YCEo7KjMlbNlyHhz7zAZNDpIpQbd+wOEHJYezv0nMYTn4x31eIUM2yomNNubclAt63dObUzKHWsBLJ9QcZNSnQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=20.19.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" + }, + "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==", + "license": "MIT" + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "license": "MIT", + "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==", + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001793", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001793.tgz", + "integrity": "sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "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/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/chardet": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.1.tgz", + "integrity": "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", + "integrity": "sha512-4bHTS2YuzUvtoLjdy+98ykbNB5jS0+07EvFNXerqZQJ89F7DI6ET7OQo/HJuW6K0aVsKA9hj9/RVb2kQVOrPDQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/class-transformer": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz", + "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==", + "license": "MIT" + }, + "node_modules/class-validator": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.15.1.tgz", + "integrity": "sha512-LqoS80HBBSCVhz/3KloUly0ovokxpdOLR++Al3J3+dHXWt9sTKlKd4eYtoxhxyUjoe5+UcIM+5k9MIxyBWnRTw==", + "license": "MIT", + "dependencies": { + "@types/validator": "^13.15.3", + "libphonenumber-js": "^1.11.1", + "validator": "^13.15.22" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table3": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", + "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 12" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/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==", + "dev": true, + "license": "MIT", + "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/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/comment-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-5.0.0.tgz", + "integrity": "sha512-uiqLcOiVDJtBP8WGkZHEP+FZIhTzP1dxvn59EfoYUi9gqupjrBWVQkO2atDrbnKPwLeotFYDsuNb26uBMqB+hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-timsort": "^1.0.3", + "esprima": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "engines": [ + "node >= 6.0" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/consola": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz", + "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/content-disposition": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", + "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", + "dev": true, + "license": "MIT" + }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/dedent": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.2.tgz", + "integrity": "sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "license": "MIT", + "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==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "dev": true, + "license": "ISC", + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/diff": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.4.tgz", + "integrity": "sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dotenv": { + "version": "17.4.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.4.1.tgz", + "integrity": "sha512-k8DaKGP6r1G30Lx8V4+pCsLzKr8vLmV2paqEj1Y55GdAgJuIqpRp5FfajGF8KtwMxCz9qJc6wUIJnm053d/WCw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-expand": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-12.0.3.tgz", + "integrity": "sha512-uc47g4b+4k/M/SeaW1y4OApx+mtLWl92l5LMPP0GNXctZqELk+YGgOPIIC5elYmUH4OuoK3JLhuRUYegeySiFA==", + "license": "BSD-2-Clause", + "dependencies": { + "dotenv": "^16.4.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-expand/node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.367", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.367.tgz", + "integrity": "sha512-4Mk/mrynCNQ+atY40D3UpmhLWB6AHMbYMlIrPhHcMF6x0L7O0b052FCAsxw1LlaR++UFuNg3D/A6XCuGDa0guQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.22.2", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.22.2.tgz", + "integrity": "sha512-0rxICaFZ7NQho/sHely2bvOPRP0Eu2B0NZ9zM54YvRvWMn7jfz3DmnOZDR9LlXDdDcqntAVc6Hfy4gr/tdH/Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "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==", + "license": "MIT", + "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==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", + "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "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==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz", + "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.2", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.5", + "@eslint/js": "9.39.4", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.14.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.5", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-prettier": { + "version": "10.1.8", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", + "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "funding": { + "url": "https://opencollective.com/eslint-config-prettier" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "5.5.6", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.6.tgz", + "integrity": "sha512-ifetmTcxWfz+4qRW3pH/ujdTq2jQIj59AxJMIN26K5avYgU8dxycUETQonWiW+wPrYXA0j3Try0l1CnwVQtDqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prettier-linter-helpers": "^1.0.1", + "synckit": "^0.11.13" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.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==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "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==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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/execa/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==", + "dev": true, + "license": "ISC" + }, + "node_modules/exit-x": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/exit-x/-/exit-x-0.2.2.tgz", + "integrity": "sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-30.4.1.tgz", + "integrity": "sha512-PMARsyh/JtqC20HoGqlFcIlQAyqUtW4PlI1rup1uhYJtKuwAjbvWi3GQMAn+STdHum/dk8xrKfUM1+5SAwpolA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/expect-utils": "30.4.1", + "@jest/get-type": "30.1.0", + "jest-matcher-utils": "30.4.1", + "jest-message-util": "30.4.1", + "jest-mock": "30.4.1", + "jest-util": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/express": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", + "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.1", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "depd": "^2.0.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.2.tgz", + "integrity": "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "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==", + "dev": true, + "license": "Apache-2.0", + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/file-type": { + "version": "21.3.4", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-21.3.4.tgz", + "integrity": "sha512-Ievi/yy8DS3ygGvT47PjSfdFoX+2isQueoYP1cntFW1JLYAuS4GD7NUPGg4zv2iZfV52uDyk5w5Z0TdpRS6Q1g==", + "license": "MIT", + "dependencies": { + "@tokenizer/inflate": "^0.4.1", + "strtok3": "^10.3.4", + "token-types": "^6.1.1", + "uint8array-extras": "^1.4.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sindresorhus/file-type?sponsor=1" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", + "dev": true, + "license": "ISC" + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-9.1.0.tgz", + "integrity": "sha512-mpafl89VFPJmhnJ1ssH+8wmM2b50n+Rew5x42NeI2U78aRWgtkEtGmctp7iT16UjquJTjorEmIfESj3DxdW84Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.16.7", + "chalk": "^4.1.2", + "chokidar": "^4.0.1", + "cosmiconfig": "^8.2.0", + "deepmerge": "^4.2.2", + "fs-extra": "^10.0.0", + "memfs": "^3.4.1", + "minimatch": "^3.0.4", + "node-abort-controller": "^3.0.1", + "schema-utils": "^3.1.1", + "semver": "^7.3.5", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">=14.21.3" + }, + "peerDependencies": { + "typescript": ">3.6.0", + "webpack": "^5.11.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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/form-data/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/form-data/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/formidable": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.4.tgz", + "integrity": "sha512-YikH+7CUTOtP44ZTnUhR7Ic2UASBPOqmaRkRKxRbywPTe5VxF7RRCck4af9wutiZ/QKM5nME9Bie2fFaPz5Gug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@paralleldrive/cuid2": "^2.2.2", + "dezalgo": "^1.0.4", + "once": "^1.4.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "Unlicense" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "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==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "ISC", + "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==", + "license": "MIT", + "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-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "license": "MIT", + "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==", + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "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==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/glob/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "17.6.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-17.6.0.tgz", + "integrity": "sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "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==", + "dev": true, + "license": "ISC" + }, + "node_modules/handlebars": { + "version": "4.7.9", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.9.tgz", + "integrity": "sha512-4E71E0rpOaQuJR2A3xDZ+GM1HyWYv1clR58tC8emQNeQe3RH7MAzSbat+V0wG78LQBo6m6bzSG/L4pBuCsgnUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/handlebars/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==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "license": "MIT", + "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/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==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "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.", + "dev": true, + "license": "ISC", + "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==", + "license": "ISC" + }, + "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==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "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==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/iterare": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", + "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==", + "license": "ISC", + "engines": { + "node": ">=6" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jest": { + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/jest/-/jest-30.4.2.tgz", + "integrity": "sha512-Yi1jqNC/Oq0N4hBgNH/YvBpP1P57QqundgytzYqy3yqAa7NZPNjSoi4SGbRAXDMdBzNE6xBCi5U7RgfrvMEUVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "30.4.2", + "@jest/types": "30.4.1", + "import-local": "^3.2.0", + "jest-cli": "30.4.2" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.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": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.4.1.tgz", + "integrity": "sha512-IuctmYrxi21iOSOaIXpJWalHyPAsVv0GeBHKDn8C1CA4W5htHn7INL+wdnL4Bo0+olEndvAFkmb++tIQJG+vvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^5.1.1", + "jest-util": "30.4.1", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-circus": { + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.4.2.tgz", + "integrity": "sha512-rvHH7VlY6LgbJXJTQ87GW62g1FntOtbhh0zT+v04kC+pgL6aBKyYINXxWukCpj3dcIBMw5/XUbtDS9dU9JTXeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.4.1", + "@jest/expect": "30.4.1", + "@jest/test-result": "30.4.1", + "@jest/types": "30.4.1", + "@types/node": "*", + "chalk": "^4.1.2", + "co": "^4.6.0", + "dedent": "^1.6.0", + "is-generator-fn": "^2.1.0", + "jest-each": "30.4.1", + "jest-matcher-utils": "30.4.1", + "jest-message-util": "30.4.1", + "jest-runtime": "30.4.2", + "jest-snapshot": "30.4.1", + "jest-util": "30.4.1", + "p-limit": "^3.1.0", + "pretty-format": "30.4.1", + "pure-rand": "^7.0.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-cli": { + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.4.2.tgz", + "integrity": "sha512-jfA2ocvVHMXS2QijrJ0d31ektP+d/W0T5RpcTX2Pq+3sVqHlsXVCM2+FmwpL+bdY8OfHpIg9xMxLF17Zg0U49Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "30.4.2", + "@jest/test-result": "30.4.1", + "@jest/types": "30.4.1", + "chalk": "^4.1.2", + "exit-x": "^0.2.2", + "import-local": "^3.2.0", + "jest-config": "30.4.2", + "jest-util": "30.4.1", + "jest-validate": "30.4.1", + "yargs": "^17.7.2" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.4.2.tgz", + "integrity": "sha512-rNHAShJQqQwFNoL0hbf3BphSBOWnpOUAKvidLS/AjNVLPfoj5mSf4jQMfW3cYOs6hXeZC7nF7mDHaBnbxELOzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.27.4", + "@jest/get-type": "30.1.0", + "@jest/pattern": "30.4.0", + "@jest/test-sequencer": "30.4.1", + "@jest/types": "30.4.1", + "babel-jest": "30.4.1", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "deepmerge": "^4.3.1", + "glob": "^10.5.0", + "graceful-fs": "^4.2.11", + "jest-circus": "30.4.2", + "jest-docblock": "30.4.0", + "jest-environment-node": "30.4.1", + "jest-regex-util": "30.4.0", + "jest-resolve": "30.4.1", + "jest-runner": "30.4.2", + "jest-util": "30.4.1", + "jest-validate": "30.4.1", + "parse-json": "^5.2.0", + "pretty-format": "30.4.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "esbuild-register": ">=3.4.0", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "esbuild-register": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/brace-expansion": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz", + "integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/jest-config/node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-config/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/jest-config/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-config/node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-diff": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.4.1.tgz", + "integrity": "sha512-CRpFK0RtLriVDGcPPAnR6HMVI8bSR2jnUIgralhauzYQZIb4RH9AtEInTuQr65LmmGggGcRT6HIASxwqsVsmlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/diff-sequences": "30.4.0", + "@jest/get-type": "30.1.0", + "chalk": "^4.1.2", + "pretty-format": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-30.4.0.tgz", + "integrity": "sha512-ZPMabUZCx5MpbZ2eBYSvZ0J8fvo3dR9oM+eeUpb3aKNQFuS2tu3Duw1TNlMoP8k3WQgKGJuhcMFvwcVuq6T7oA==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-newline": "^3.1.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-each": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.4.1.tgz", + "integrity": "sha512-/8MJbH6fuj48TstjrMf+u/pd06Qezz5xOXvZA6442heNOWr8bdeoGZX2d9fCn028CoMgYmroH9//zky5GfyYmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.1.0", + "@jest/types": "30.4.1", + "chalk": "^4.1.2", + "jest-util": "30.4.1", + "pretty-format": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.4.1.tgz", + "integrity": "sha512-4FZYVOk85hz2AyT6BbarKy9u37g6DbrDyCdFhsnDdXqyrueYQvB+0zO4f/kqLCRD0BsPRXPMNJeQwihKZV8naw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.4.1", + "@jest/fake-timers": "30.4.1", + "@jest/types": "30.4.1", + "@types/node": "*", + "jest-mock": "30.4.1", + "jest-util": "30.4.1", + "jest-validate": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.4.1.tgz", + "integrity": "sha512-rFrcONd8jeFsyw+Z9CrScJgglRf2+NFmNam8dKu7n+SoHqNYT47mn0DdEcVUZJpvh7Iz6/si7f7yUH7GJHVgnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.4.1", + "@types/node": "*", + "anymatch": "^3.1.3", + "fb-watchman": "^2.0.2", + "graceful-fs": "^4.2.11", + "jest-regex-util": "30.4.0", + "jest-util": "30.4.1", + "jest-worker": "30.4.1", + "picomatch": "^4.0.3", + "walker": "^1.0.8" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.3" + } + }, + "node_modules/jest-leak-detector": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.4.1.tgz", + "integrity": "sha512-IpmyiioeHxiWDhesHnUFmOxcTzwCwKpgACgWajtAP+nYQXiY7DakTxB6Bx9JFiRMljr0AX1PvnQdaU1KFoz6NQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.1.0", + "pretty-format": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.4.1.tgz", + "integrity": "sha512-zvYfX5CaeEkFrrLS9suWe9rvJrm9J1Iv3ua8kIBv9GEPzcnsfBf0bob37la7s67fs0nlBC3EuvkOLnXQKxtx4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.1.0", + "chalk": "^4.1.2", + "jest-diff": "30.4.1", + "pretty-format": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.4.1.tgz", + "integrity": "sha512-kwCKIvq0MCW1HzLoGola9Te6JUdzgV0loyKJ3Qghrkz9i5/RRIHsL95BMQc2HBBhlBKC4j22K9p11TGHH8RBpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.4.1", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "jest-util": "30.4.1", + "picomatch": "^4.0.3", + "pretty-format": "30.4.1", + "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-mock": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.4.1.tgz", + "integrity": "sha512-/i8SVb8/NSB7RfNi8gfqu8gxLV23KaL5EpAttyb9iz8qWRIqXRLflycz/32wXsYkOnaUlx8NAKnJYtpsmXUmfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.4.1", + "@types/node": "*", + "jest-util": "30.4.1" + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.4.0.tgz", + "integrity": "sha512-mWlvLviKIgIQ8VCuM1xRdD0TWp3zlzionlmDBjuXVBs+VkmXq6FgW9T4Emr7oGz/Rk6feDCGyiugolcQEyp3mg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.4.1.tgz", + "integrity": "sha512-Zry8Yq/yJcNAZ7dJ5F2heic8AheXvbFZ7XI5V+h28nrYZ7Qoyy4dItq8OodjnYD270mvX+ZudmrNV9cysqhW5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.4.1", + "jest-pnp-resolver": "^1.2.3", + "jest-util": "30.4.1", + "jest-validate": "30.4.1", + "slash": "^3.0.0", + "unrs-resolver": "^1.7.11" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.4.2.tgz", + "integrity": "sha512-gDiVh1I+GxYzz9oXlyw+1wv6VOYX1WYxMOfjsA3iGKePV2oxmbHhwxfkALxNxYy1ciw6APWwkW2zZONwP97aEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-regex-util": "30.4.0", + "jest-snapshot": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-runner": { + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.4.2.tgz", + "integrity": "sha512-2dw0PslVYXxffXGpLo+Ejad+KcI1Qkjn7f4X4619gf21oCUmL+SPfjqIa/losUem3yEOvfNZe/F1HWUcNpODcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "30.4.1", + "@jest/environment": "30.4.1", + "@jest/test-result": "30.4.1", + "@jest/transform": "30.4.1", + "@jest/types": "30.4.1", + "@types/node": "*", + "chalk": "^4.1.2", + "emittery": "^0.13.1", + "exit-x": "^0.2.2", + "graceful-fs": "^4.2.11", + "jest-docblock": "30.4.0", + "jest-environment-node": "30.4.1", + "jest-haste-map": "30.4.1", + "jest-leak-detector": "30.4.1", + "jest-message-util": "30.4.1", + "jest-resolve": "30.4.1", + "jest-runtime": "30.4.2", + "jest-util": "30.4.1", + "jest-watcher": "30.4.1", + "jest-worker": "30.4.1", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-runner/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==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-runner/node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/jest-runtime": { + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.4.2.tgz", + "integrity": "sha512-3/5e8iPz2k/VLqlr8DgTftYyLUv8Su3FkCAO2/Od81UsUTpSxOrS6O5x5KkoQwyUjmpYyDJKeyAvg2T2nvpNkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.4.1", + "@jest/fake-timers": "30.4.1", + "@jest/globals": "30.4.1", + "@jest/source-map": "30.0.1", + "@jest/test-result": "30.4.1", + "@jest/transform": "30.4.1", + "@jest/types": "30.4.1", + "@types/node": "*", + "chalk": "^4.1.2", + "cjs-module-lexer": "^2.1.0", + "collect-v8-coverage": "^1.0.2", + "glob": "^10.5.0", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.4.1", + "jest-message-util": "30.4.1", + "jest-mock": "30.4.1", + "jest-regex-util": "30.4.0", + "jest-resolve": "30.4.1", + "jest-snapshot": "30.4.1", + "jest-util": "30.4.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-runtime/node_modules/brace-expansion": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz", + "integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/jest-runtime/node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-runtime/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/jest-runtime/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-runtime/node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-snapshot": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.4.1.tgz", + "integrity": "sha512-tEOkkfOMppUyeiHwjZswOQ3lcnoTnws/q5FnGIaeIh/jmoU0ZlgMYRR8sTlTj+nNGCoJ0RDq6SfxGxCsyMTPmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.27.4", + "@babel/generator": "^7.27.5", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1", + "@babel/types": "^7.27.3", + "@jest/expect-utils": "30.4.1", + "@jest/get-type": "30.1.0", + "@jest/snapshot-utils": "30.4.1", + "@jest/transform": "30.4.1", + "@jest/types": "30.4.1", + "babel-preset-current-node-syntax": "^1.2.0", + "chalk": "^4.1.2", + "expect": "30.4.1", + "graceful-fs": "^4.2.11", + "jest-diff": "30.4.1", + "jest-matcher-utils": "30.4.1", + "jest-message-util": "30.4.1", + "jest-util": "30.4.1", + "pretty-format": "30.4.1", + "semver": "^7.7.2", + "synckit": "^0.11.8" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-util": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.4.1.tgz", + "integrity": "sha512-vjQb1sACEiv13DKJMDToJpzVW0joCsIQrmbg0fi7CyOOt+g9jTuQl2A216pWRBYhOVt53XbL/2LbMKg1BECWOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.4.1", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.3" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-validate": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.4.1.tgz", + "integrity": "sha512-PDWi4SOwLnwqNDfHZjOcsEFyZ4fc/2W2gVL3DEoyqnB6jCQMLRtfBong8s6omIw3lI0HWOus12xfnFmQtjW3fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.1.0", + "@jest/types": "30.4.1", + "camelcase": "^6.3.0", + "chalk": "^4.1.2", + "leven": "^3.1.0", + "pretty-format": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.4.1.tgz", + "integrity": "sha512-/l9UonmvCwjHH7d2h3iAwIloLc1H0S8mJZ/LNK3i86hqwPAz8otUJjP9MfYtz9Tt77Su5FD2xGjZn8d31IZHlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "30.4.1", + "@jest/types": "30.4.1", + "@types/node": "*", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "emittery": "^0.13.1", + "jest-util": "30.4.1", + "string-length": "^4.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-worker": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.4.1.tgz", + "integrity": "sha512-SHynN/q/QD++iNyvMdy+WMmbCGk8jIsNcRxycXbWubSOhvo6T+j2afcfUSl+3hYsiBebOTo0cT7c2H7CXugu1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@ungap/structured-clone": "^1.3.0", + "jest-util": "30.4.1", + "merge-stream": "^2.0.0", + "supports-color": "^8.1.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.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==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz", + "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", + "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==", + "license": "MIT", + "dependencies": { + "jws": "^4.0.1", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jwa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", + "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz", + "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==", + "license": "MIT", + "dependencies": { + "jwa": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/kareem": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/kareem/-/kareem-3.3.0.tgz", + "integrity": "sha512-kpSuLD3/7RenBnjnJdOHXCKC8dTd1JzeOiJhN0necWWci6cC+qX+VuwPnMVgb+a4+KNJSfgqahpnfWaeDXCimw==", + "license": "Apache-2.0", + "engines": { + "node": ">=18.0.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==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/libphonenumber-js": { + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.13.5.tgz", + "integrity": "sha512-7/kRezHmQlMfO6pmvt34orO/g3j1C47k8FCBXFgj/mklTLwQdBca1LkhDK6RM8UyM6JqHFAIikMdkKkyfQy39A==", + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/load-esm": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/load-esm/-/load-esm-1.0.3.tgz", + "integrity": "sha512-v5xlu8eHD1+6r8EHTg6hfmO97LN8ugKtiXcy5e6oN72iD2r6u0RPfLl6fxM+7Wnh2ZRq15o0russMst44WauPA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + }, + { + "type": "buymeacoffee", + "url": "https://buymeacoffee.com/borewit" + } + ], + "license": "MIT", + "engines": { + "node": ">=13.2.0" + } + }, + "node_modules/loader-runner": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.2.tgz", + "integrity": "sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "license": "MIT" + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "license": "MIT" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "license": "MIT" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "license": "MIT" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "license": "MIT" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true, + "license": "ISC" + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "license": "BSD-3-Clause", + "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==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dev": true, + "license": "Unlicense", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", + "license": "MIT" + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "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==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mongodb": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-7.2.0.tgz", + "integrity": "sha512-F/2+BMZtLVhY30ioZp0dAmZ+IRZMBqI+nrv6t5+9/1AIwCa8sMRC3jBf81lpxMhnZgqq8CoUD503Z1oZWq1/sw==", + "license": "Apache-2.0", + "dependencies": { + "@mongodb-js/saslprep": "^1.3.0", + "bson": "^7.2.0", + "mongodb-connection-string-url": "^7.0.0" + }, + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@aws-sdk/credential-providers": "^3.806.0", + "@mongodb-js/zstd": "^7.0.0", + "gcp-metadata": "^7.0.1", + "kerberos": "^7.0.0", + "mongodb-client-encryption": ">=7.0.0 <7.1.0", + "snappy": "^7.3.2", + "socks": "^2.8.6" + }, + "peerDependenciesMeta": { + "@aws-sdk/credential-providers": { + "optional": true + }, + "@mongodb-js/zstd": { + "optional": true + }, + "gcp-metadata": { + "optional": true + }, + "kerberos": { + "optional": true + }, + "mongodb-client-encryption": { + "optional": true + }, + "snappy": { + "optional": true + }, + "socks": { + "optional": true + } + } + }, + "node_modules/mongodb-connection-string-url": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-7.0.1.tgz", + "integrity": "sha512-h0AZ9A7IDVwwHyMxmdMXKy+9oNlF0zFoahHiX3vQ8e3KFcSP3VmsmfvtRSuLPxmyv2vjIDxqty8smTgie/SNRQ==", + "license": "Apache-2.0", + "dependencies": { + "@types/whatwg-url": "^13.0.0", + "whatwg-url": "^14.1.0" + }, + "engines": { + "node": ">=20.19.0" + } + }, + "node_modules/mongoose": { + "version": "9.6.3", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-9.6.3.tgz", + "integrity": "sha512-vI6dTTlQnfMCyyQ5TrvhG0bCRs4dq5e1uFNPtOOWsOhn0fSg8AoIHjfyyCYr8aybyvPs845dRHGxsC3w/fHcBA==", + "license": "MIT", + "dependencies": { + "kareem": "3.3.0", + "mongodb": "~7.2", + "mpath": "0.9.0", + "mquery": "6.0.0", + "ms": "2.1.3", + "sift": "17.1.3" + }, + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mongoose" + } + }, + "node_modules/mpath": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz", + "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mquery": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/mquery/-/mquery-6.0.0.tgz", + "integrity": "sha512-b2KQNsmgtkscfeDgkYMcWGn9vZI9YoXh802VDEwE6qc50zxBFQ0Oo8ROkawbPAsXCY1/Z1yp0MagqsZStPWJjw==", + "license": "MIT", + "engines": { + "node": ">=20.19.0" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/multer": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/multer/-/multer-2.1.1.tgz", + "integrity": "sha512-mo+QTzKlx8R7E5ylSXxWzGoXoZbOsRMpyitcht8By2KHvMbf3tjwosZ/Mu/XYU6UuJ3VZnODIrak5ZrPiPyB6A==", + "license": "MIT", + "dependencies": { + "append-field": "^1.0.0", + "busboy": "^1.6.0", + "concat-stream": "^2.0.0", + "type-is": "^1.6.18" + }, + "engines": { + "node": ">= 10.16.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/multer/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==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/multer/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==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/multer/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==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/multer/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==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mute-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/napi-postinstall": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", + "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", + "dev": true, + "license": "MIT", + "bin": { + "napi-postinstall": "lib/cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-addon-api": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.8.0.tgz", + "integrity": "sha512-c5Ko1fZJIJmzhFIkhRN76WTq+fC6tWnGy9CXA0fA+XygsWZmEwG8vmbkNqxMyoaa0Tin4djul49NzdVcJJcjeA==", + "license": "MIT", + "engines": { + "node": "^18 || ^20 || >= 21" + } + }, + "node_modules/node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.21" + } + }, + "node_modules/node-gyp-build": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", + "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", + "license": "MIT", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.47", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.47.tgz", + "integrity": "sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "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==", + "license": "ISC", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "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==", + "dev": true, + "license": "MIT", + "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/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "11.5.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.1.tgz", + "integrity": "sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/path-to-regexp": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", + "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.3.tgz", + "integrity": "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.1.tgz", + "integrity": "sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-format": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.4.1.tgz", + "integrity": "sha512-K6KiKMHTL4jjX4u3Kir2EW07nRfcqVTXIImx50wbjHQTcZPgg+gjVeNTIT3l3L1Rd4UefxfogquC9J37SoFyyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "30.4.1", + "ansi-styles": "^5.2.0", + "react-is-18": "npm:react-is@^18.3.1", + "react-is-19": "npm:react-is@^19.2.5" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pure-rand": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-7.0.1.tgz", + "integrity": "sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT" + }, + "node_modules/qs": { + "version": "6.15.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", + "integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/react-is-18": { + "name": "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/react-is-19": { + "name": "react-is", + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.7.tgz", + "integrity": "sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==", + "dev": true, + "license": "MIT" + }, + "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==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", + "license": "Apache-2.0" + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/restore-cursor/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==", + "dev": true, + "license": "ISC" + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "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/semver": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz", + "integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/serve-static": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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==", + "license": "MIT", + "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.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "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==", + "license": "MIT", + "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==", + "license": "MIT", + "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/sift": { + "version": "17.1.3", + "resolved": "https://registry.npmjs.org/sift/-/sift-17.1.3.tgz", + "integrity": "sha512-Rtlj66/b0ICeFzYTuNvX/EF1igRbbnGSvEyT79McoZa/DeGhMyC5pWKOEsZKnpkqtSeovd5FL/bjHWC3CIIvCQ==", + "license": "MIT" + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", + "license": "MIT", + "dependencies": { + "memory-pager": "^1.0.2" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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-cjs": { + "name": "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strtok3": { + "version": "10.3.5", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-10.3.5.tgz", + "integrity": "sha512-ki4hZQfh5rX0QDLLkOCj+h+CVNkqmp/CMf8v8kZpkNVK6jGQooMytqzLZYUVYIZcFZ6yDB70EfD8POcFXiF5oA==", + "license": "MIT", + "dependencies": { + "@tokenizer/token": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/superagent": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-10.3.0.tgz", + "integrity": "sha512-B+4Ik7ROgVKrQsXTV0Jwp2u+PXYLSlqtDAhYnkkD+zn3yg8s/zjA2MeGayPoY/KICrbitwneDHrjSotxKL+0XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "component-emitter": "^1.3.1", + "cookiejar": "^2.1.4", + "debug": "^4.3.7", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.5", + "formidable": "^3.5.4", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.14.1" + }, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/supertest": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-7.2.2.tgz", + "integrity": "sha512-oK8WG9diS3DlhdUkcFn4tkNIiIbBx9lI2ClF8K+b2/m8Eyv47LSawxUzZQSNKUrVb2KsqeTDCcjAAVPYaSLVTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cookie-signature": "^1.2.2", + "methods": "^1.1.2", + "superagent": "^10.3.0" + }, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/synckit": { + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.13.tgz", + "integrity": "sha512-eNRKgb3z66Yp3D2CixVujOUvXLFUTij/zVnV8KRyvFdQwpz7I5DS8UfRkTeLzb64u+dkzDSdelE24izu+zSSUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pkgr/core": "^0.3.6" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/synckit" + } + }, + "node_modules/tapable": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser": { + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.48.0.tgz", + "integrity": "sha512-J/9An6vs9Us6wKRriSFXBWdRZapREHqFzdNUKk0pmu804EMR6dr6winwo7e5JDxN4xahxQsuysyYFwlwj4XN/Q==", + "dev": true, + "license": "BSD-2-Clause", + "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.6.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.6.1.tgz", + "integrity": "sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@minify-html/node": { + "optional": true + }, + "@swc/core": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "@swc/html": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "cssnano": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "html-minifier-terser": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "postcss": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "dev": true, + "license": "MIT", + "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/terser-webpack-plugin/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/terser-webpack-plugin/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/terser-webpack-plugin/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==", + "dev": true, + "license": "MIT", + "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/terser-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==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "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/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "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==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "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==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/token-types": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-6.1.2.tgz", + "integrity": "sha512-dRXchy+C0IgK8WPC6xvCHFRIWYUbqqdEIKPaKo/AcTUNzwLTK6AH7RjdLWsEZcAN/TBdtfUw3PYEgPr5VPr6ww==", + "license": "MIT", + "dependencies": { + "@borewit/text-codec": "^0.2.1", + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/tr46": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", + "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/ts-api-utils": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", + "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/ts-jest": { + "version": "29.4.11", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.4.11.tgz", + "integrity": "sha512-IrFl7l9AuB/qrNw5quqvAv/hmKMb8dhWOH4jQOGo0Oq8tCeo1O86/iTFG1FaRimgUkF13l4PcepO8ATFT6Ns4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "bs-logger": "^0.2.6", + "fast-json-stable-stringify": "^2.1.0", + "handlebars": "^4.7.9", + "json5": "^2.2.3", + "lodash.memoize": "^4.1.2", + "make-error": "^1.3.6", + "semver": "^7.8.0", + "type-fest": "^4.41.0", + "yargs-parser": "^21.1.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/transform": "^29.0.0 || ^30.0.0", + "@jest/types": "^29.0.0 || ^30.0.0", + "babel-jest": "^29.0.0 || ^30.0.0", + "jest": "^29.0.0 || ^30.0.0", + "jest-util": "^29.0.0 || ^30.0.0", + "typescript": ">=4.3 <7" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/transform": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jest-util": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ts-loader": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.6.0.tgz", + "integrity": "sha512-dsJO0S+T7grTDWTc4a0nTygXGjKncVUpx8Y+af8EvI/D5WgTJby5UEk5eoMCB9EcLQmnvitqh99MqtjtHgAwFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4", + "source-map": "^0.7.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "loader-utils": "*", + "typescript": "*", + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "loader-utils": { + "optional": true + } + } + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsconfig-paths-webpack-plugin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.2.0.tgz", + "integrity": "sha512-zbem3rfRS8BgeNK50Zz5SIQgXzLafiHjOwUAvk/38/o1jHn/V5QAgVUcz884or7WYcPaH3N2CIfUc2u0ul7UcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.7.0", + "tapable": "^2.2.1", + "tsconfig-paths": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz", + "integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==", + "license": "MIT", + "dependencies": { + "content-type": "^2.0.0", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/type-is/node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "license": "MIT" + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.60.1.tgz", + "integrity": "sha512-6m5hkkRAp8lKvhVpcprAIn5KkehQEh+47oHH2VGnExEh7dhNxXlg6GPAOIu6TxbVQxhebrJDvjl3020ooiWCMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.60.1", + "@typescript-eslint/parser": "8.60.1", + "@typescript-eslint/typescript-estree": "8.60.1", + "@typescript-eslint/utils": "8.60.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/uglify-js": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "dev": true, + "license": "BSD-2-Clause", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uid": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz", + "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==", + "license": "MIT", + "dependencies": { + "@lukeed/csprng": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/uint8array-extras": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.5.0.tgz", + "integrity": "sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "license": "MIT" + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "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==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unrs-resolver": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.12.2.tgz", + "integrity": "sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.3.4" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.12.2", + "@unrs/resolver-binding-android-arm64": "1.12.2", + "@unrs/resolver-binding-darwin-arm64": "1.12.2", + "@unrs/resolver-binding-darwin-x64": "1.12.2", + "@unrs/resolver-binding-freebsd-x64": "1.12.2", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.12.2", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.12.2", + "@unrs/resolver-binding-linux-arm64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-arm64-musl": "1.12.2", + "@unrs/resolver-binding-linux-loong64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-loong64-musl": "1.12.2", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-riscv64-musl": "1.12.2", + "@unrs/resolver-binding-linux-s390x-gnu": "1.12.2", + "@unrs/resolver-binding-linux-x64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-x64-musl": "1.12.2", + "@unrs/resolver-binding-openharmony-arm64": "1.12.2", + "@unrs/resolver-binding-wasm32-wasi": "1.12.2", + "@unrs/resolver-binding-win32-arm64-msvc": "1.12.2", + "@unrs/resolver-binding-win32-ia32-msvc": "1.12.2", + "@unrs/resolver-binding-win32-x64-msvc": "1.12.2" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "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==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true, + "license": "MIT" + }, + "node_modules/v8-to-istanbul": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/validator": { + "version": "13.15.35", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.35.tgz", + "integrity": "sha512-TQ5pAGhd5whStmqWvYF4OjQROlmv9SMFVt37qoCBdqRffuuklWYQlCNnEs2ZaIBD1kZRNnikiZOS1eqgkar0iw==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/webpack": { + "version": "5.107.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.107.2.tgz", + "integrity": "sha512-v7RhXaJbpMlV0D7hC7lb2EbnxkoeUqf9qhKr6lozx3Q48pmFrqqNRmZFUEGmi7pSwm6fCQ2H1IjvCkHqdpVdjQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@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.16.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.28.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.22.0", + "es-module-lexer": "^2.1.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "loader-runner": "^4.3.2", + "mime-db": "^1.54.0", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "terser-webpack-plugin": "^5.5.0", + "watchpack": "^2.5.1", + "webpack-sources": "^3.5.0" + }, + "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-node-externals": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", + "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-sources": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.5.0.tgz", + "integrity": "sha512-HPuy+uuoTCaaoEoI1LQ3JN9+vrPBvEesnnX1jADHy728cHSMlq4wUc4afYqahq2B1mhQVZxCXOkNTnXltr+2vQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "dev": true, + "license": "MIT", + "peer": true, + "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/webpack/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==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/webpack/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==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "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==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "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==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/webpack/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==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/webpack/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==", + "dev": true, + "license": "MIT", + "peer": true, + "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/whatwg-url": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", + "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", + "license": "MIT", + "dependencies": { + "tr46": "^5.1.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "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==", + "dev": true, + "license": "MIT", + "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==", + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "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==", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", + "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/backend/package.json b/backend/package.json new file mode 100644 index 0000000000..bfeca88b7a --- /dev/null +++ b/backend/package.json @@ -0,0 +1,79 @@ +{ + "name": "backend", + "version": "0.0.1", + "description": "", + "author": "", + "private": true, + "license": "UNLICENSED", + "scripts": { + "build": "nest build", + "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", + "start": "nest start", + "start:dev": "nest start --watch", + "start:debug": "nest start --debug --watch", + "start:prod": "node dist/main", + "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", + "test": "jest", + "test:watch": "jest --watch", + "test:cov": "jest --coverage", + "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", + "test:e2e": "jest --config ./test/jest-e2e.json" + }, + "dependencies": { + "@nestjs/common": "^11.0.1", + "@nestjs/config": "^4.0.4", + "@nestjs/core": "^11.0.1", + "@nestjs/jwt": "^11.0.2", + "@nestjs/mongoose": "^11.0.4", + "@nestjs/platform-express": "^11.0.1", + "bcrypt": "^6.0.0", + "class-transformer": "^0.5.1", + "class-validator": "^0.15.1", + "mongoose": "^9.6.3", + "reflect-metadata": "^0.2.2", + "rxjs": "^7.8.1" + }, + "devDependencies": { + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "^9.18.0", + "@nestjs/cli": "^11.0.0", + "@nestjs/schematics": "^11.0.0", + "@nestjs/testing": "^11.0.1", + "@types/bcrypt": "^6.0.0", + "@types/express": "^5.0.0", + "@types/jest": "^30.0.0", + "@types/node": "^24.0.0", + "@types/supertest": "^7.0.0", + "eslint": "^9.18.0", + "eslint-config-prettier": "^10.0.1", + "eslint-plugin-prettier": "^5.2.2", + "globals": "^17.0.0", + "jest": "^30.0.0", + "prettier": "^3.4.2", + "source-map-support": "^0.5.21", + "supertest": "^7.0.0", + "ts-jest": "^29.2.5", + "ts-loader": "^9.5.2", + "ts-node": "^10.9.2", + "tsconfig-paths": "^4.2.0", + "typescript": "^5.7.3", + "typescript-eslint": "^8.20.0" + }, + "jest": { + "moduleFileExtensions": [ + "js", + "json", + "ts" + ], + "rootDir": "src", + "testRegex": ".*\\.spec\\.ts$", + "transform": { + "^.+\\.(t|j)s$": "ts-jest" + }, + "collectCoverageFrom": [ + "**/*.(t|j)s" + ], + "coverageDirectory": "../coverage", + "testEnvironment": "node" + } +} diff --git a/backend/src/app.module.ts b/backend/src/app.module.ts new file mode 100644 index 0000000000..b8d4582fb1 --- /dev/null +++ b/backend/src/app.module.ts @@ -0,0 +1,35 @@ +import { Module } from '@nestjs/common'; +import { ConfigModule, ConfigService } from '@nestjs/config'; +import { MongooseModule } from '@nestjs/mongoose'; +import configuration from './config/configuration'; +import { AuthModule } from './auth/auth.module'; +import { UsersModule } from './users/users.module'; +import { VenuesModule } from './venues/venues.module'; +import { BookingsModule } from './bookings/bookings.module'; +import { BookingLocksModule } from './booking-locks/booking-locks.module'; +import { ReviewsModule } from './reviews/reviews.module'; +import { PaymentsModule } from './payments/payments.module'; + +@Module({ + imports: [ + ConfigModule.forRoot({ + load: [configuration], + isGlobal: true, + }), + MongooseModule.forRootAsync({ + imports: [ConfigModule], + useFactory: async (configService: ConfigService) => ({ + uri: configService.get('database.uri'), + }), + inject: [ConfigService], + }), + AuthModule, + UsersModule, + VenuesModule, + BookingsModule, + BookingLocksModule, + ReviewsModule, + PaymentsModule, + ], +}) +export class AppModule {} diff --git a/backend/src/auth/auth.controller.ts b/backend/src/auth/auth.controller.ts new file mode 100644 index 0000000000..03a91d2312 --- /dev/null +++ b/backend/src/auth/auth.controller.ts @@ -0,0 +1,14 @@ +import { Controller, Post, Body, HttpCode, HttpStatus } from '@nestjs/common'; +import { AuthService } from './auth.service'; +import { LoginDto } from './dto/login.dto'; + +@Controller('auth') +export class AuthController { + constructor(private readonly authService: AuthService) {} + + @Post('login') + @HttpCode(HttpStatus.OK) + async login(@Body() loginDto: LoginDto) { + return this.authService.login(loginDto); + } +} diff --git a/backend/src/auth/auth.module.ts b/backend/src/auth/auth.module.ts new file mode 100644 index 0000000000..ef6cf0ab08 --- /dev/null +++ b/backend/src/auth/auth.module.ts @@ -0,0 +1,29 @@ +import { Module } from '@nestjs/common'; +import { ConfigModule, ConfigService } from '@nestjs/config'; +import { JwtModule } from '@nestjs/jwt'; +import { AuthController } from './auth.controller'; +import { AuthService } from './auth.service'; +import { UsersModule } from '../users/users.module'; +//import { MongooseModule } from '@nestjs/mongoose'; +//import { AuthLog, AuthLogSchema } from './schemas/auth.schema'; + +@Module({ + imports: [ + UsersModule, + JwtModule.registerAsync({ + imports: [ConfigModule], + useFactory: async (configService: ConfigService) => ({ + secret: configService.get('jwt.secret'), + signOptions: { + expiresIn: configService.get('jwt.expiresIn'), + }, + }), + inject: [ConfigService], + }), + //MongooseModule.forFeature([{ name: AuthLog.name, schema: AuthLogSchema }]), + ], + controllers: [AuthController], + providers: [AuthService], + exports: [AuthService, JwtModule], +}) +export class AuthModule {} diff --git a/backend/src/auth/auth.service.ts b/backend/src/auth/auth.service.ts new file mode 100644 index 0000000000..b69a94c6c0 --- /dev/null +++ b/backend/src/auth/auth.service.ts @@ -0,0 +1,43 @@ +import { Injectable, UnauthorizedException } from '@nestjs/common'; +import * as bcrypt from 'bcrypt'; +import { JwtService } from '@nestjs/jwt'; +import { UsersService } from '../users/users.service'; +import { LoginDto } from './dto/login.dto'; + +import { UserStatus } from '../users/schemas/user.schema'; + +@Injectable() +export class AuthService { + constructor( + private readonly usersService: UsersService, + private readonly jwtService: JwtService, + ) {} + + async validateUser(loginDto: LoginDto): Promise { + const user = await this.usersService.findOneByEmail(loginDto.email); + if (user) { + const isMatch = await bcrypt.compare(loginDto.password, user.passwordHash); + if (isMatch) { + if (user.status !== UserStatus.ACTIVE) { + throw new UnauthorizedException(`Your account status is ${user.status || 'Pending'}. Access is only permitted for Active accounts.`); + } + const { passwordHash, ...result } = user.toObject(); + return result; + } + } + throw new UnauthorizedException('Invalid login credentials'); + } + + async login(loginDto: LoginDto) { + const validated = await this.validateUser(loginDto); + const payload = { + sub: validated._id, + email: validated.email, + role: validated.role, + }; + return { + user: validated, + token: await this.jwtService.signAsync(payload), + }; + } +} diff --git a/backend/src/auth/dto/login.dto.ts b/backend/src/auth/dto/login.dto.ts new file mode 100644 index 0000000000..394b8b03d5 --- /dev/null +++ b/backend/src/auth/dto/login.dto.ts @@ -0,0 +1,9 @@ +import { IsEmail, IsString } from 'class-validator'; + +export class LoginDto { + @IsEmail() + email: string; + + @IsString() + password: string; +} diff --git a/backend/src/auth/schemas/auth.schema.ts b/backend/src/auth/schemas/auth.schema.ts new file mode 100644 index 0000000000..096345ca1d --- /dev/null +++ b/backend/src/auth/schemas/auth.schema.ts @@ -0,0 +1,15 @@ +// import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose'; +// import { Document } from 'mongoose'; + +// export type AuthLogDocument = AuthLog & Document; + +// @Schema({ timestamps: true }) +// export class AuthLog { +// @Prop({ required: true }) +// email: string; + +// @Prop({ default: 'login' }) +// action: string; +// } + +// export const AuthLogSchema = SchemaFactory.createForClass(AuthLog); diff --git a/backend/src/booking-locks/booking-locks.module.ts b/backend/src/booking-locks/booking-locks.module.ts new file mode 100644 index 0000000000..6fbf5998ca --- /dev/null +++ b/backend/src/booking-locks/booking-locks.module.ts @@ -0,0 +1,13 @@ +import { Module } from '@nestjs/common'; +import { MongooseModule } from '@nestjs/mongoose'; +import { BookingLocksService } from './booking-locks.service'; +import { BookingLock, BookingLockSchema } from './schemas/booking-lock.schema'; + +@Module({ + imports: [ + MongooseModule.forFeature([{ name: BookingLock.name, schema: BookingLockSchema }]), + ], + providers: [BookingLocksService], + exports: [BookingLocksService], +}) +export class BookingLocksModule {} diff --git a/backend/src/booking-locks/booking-locks.service.ts b/backend/src/booking-locks/booking-locks.service.ts new file mode 100644 index 0000000000..01aea89aa5 --- /dev/null +++ b/backend/src/booking-locks/booking-locks.service.ts @@ -0,0 +1,36 @@ +import { Injectable } from '@nestjs/common'; +import { InjectModel } from '@nestjs/mongoose'; +import { Model } from 'mongoose'; +import { BookingLock, BookingLockDocument } from './schemas/booking-lock.schema'; + +@Injectable() +export class BookingLocksService { + constructor( + @InjectModel(BookingLock.name) private readonly lockModel: Model, + ) {} + + async acquireLock(venueId: string, date: string): Promise { + const existingLock = await this.lockModel.findOne({ venueId, date }).exec(); + if (existingLock) { + return false; // Already locked + } + + try { + const lock = new this.lockModel({ venueId, date }); + await lock.save(); + return true; // Lock acquired + } catch { + return false; // Failed to acquire (e.g. concurrent race conditions) + } + } + + async releaseLock(venueId: string, date: string): Promise { + const result = await this.lockModel.deleteOne({ venueId, date }).exec(); + return result.deletedCount > 0; + } + + async isLocked(venueId: string, date: string): Promise { + const lock = await this.lockModel.findOne({ venueId, date }).exec(); + return !!lock; + } +} diff --git a/backend/src/booking-locks/schemas/booking-lock.schema.ts b/backend/src/booking-locks/schemas/booking-lock.schema.ts new file mode 100644 index 0000000000..3c36d0740e --- /dev/null +++ b/backend/src/booking-locks/schemas/booking-lock.schema.ts @@ -0,0 +1,18 @@ +import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose'; +import { Document, Schema as MongooseSchema } from 'mongoose'; + +export type BookingLockDocument = BookingLock & Document; + +@Schema({ timestamps: true }) +export class BookingLock { + @Prop({ type: MongooseSchema.Types.ObjectId, ref: 'Venue', required: true }) + venueId: string; + + @Prop({ required: true }) + date: string; + + @Prop({ type: Date, default: Date.now, expires: '15m' }) // TTL index: lock expires in 15 mins automatically + lockedAt: Date; +} + +export const BookingLockSchema = SchemaFactory.createForClass(BookingLock); diff --git a/backend/src/bookings/bookings.controller.ts b/backend/src/bookings/bookings.controller.ts new file mode 100644 index 0000000000..d15339f8e3 --- /dev/null +++ b/backend/src/bookings/bookings.controller.ts @@ -0,0 +1,46 @@ +import { Controller, Get, Param, Post, Body, Patch, NotFoundException } from '@nestjs/common'; +import { BookingsService } from './bookings.service'; +import { CreateBookingDto } from './dto/create-booking.dto'; + +@Controller('bookings') +export class BookingsController { + constructor(private readonly bookingsService: BookingsService) {} + + @Post() + async create(@Body() createBookingDto: CreateBookingDto) { + return this.bookingsService.create(createBookingDto); + } + + @Get() + async findAll() { + return this.bookingsService.findAll(); + } + + @Get('user/:userId') + async findByUser(@Param('userId') userId: string) { + return this.bookingsService.findByUser(userId); + } + + @Get('venue/:venueId') + async findByVenue(@Param('venueId') venueId: string) { + return this.bookingsService.findByVenue(venueId); + } + + @Get(':id') + async findById(@Param('id') id: string) { + const booking = await this.bookingsService.findById(id); + if (!booking) { + throw new NotFoundException(`Booking with ID ${id} not found`); + } + return booking; + } + + @Patch(':id/status') + async updateStatus(@Param('id') id: string, @Body('status') status: string) { + const booking = await this.bookingsService.updateStatus(id, status); + if (!booking) { + throw new NotFoundException(`Booking with ID ${id} not found`); + } + return booking; + } +} diff --git a/backend/src/bookings/bookings.module.ts b/backend/src/bookings/bookings.module.ts new file mode 100644 index 0000000000..3c364b5797 --- /dev/null +++ b/backend/src/bookings/bookings.module.ts @@ -0,0 +1,15 @@ +import { Module } from '@nestjs/common'; +import { MongooseModule } from '@nestjs/mongoose'; +import { BookingsController } from './bookings.controller'; +import { BookingsService } from './bookings.service'; +import { Booking, BookingSchema } from './schemas/booking.schema'; + +@Module({ + imports: [ + MongooseModule.forFeature([{ name: Booking.name, schema: BookingSchema }]), + ], + controllers: [BookingsController], + providers: [BookingsService], + exports: [BookingsService], +}) +export class BookingsModule {} diff --git a/backend/src/bookings/bookings.service.ts b/backend/src/bookings/bookings.service.ts new file mode 100644 index 0000000000..086fd8a55a --- /dev/null +++ b/backend/src/bookings/bookings.service.ts @@ -0,0 +1,37 @@ +import { Injectable } from '@nestjs/common'; +import { InjectModel } from '@nestjs/mongoose'; +import { Model } from 'mongoose'; +import { Booking, BookingDocument } from './schemas/booking.schema'; +import { CreateBookingDto } from './dto/create-booking.dto'; + +@Injectable() +export class BookingsService { + constructor( + @InjectModel(Booking.name) private readonly bookingModel: Model, + ) {} + + async create(createBookingDto: CreateBookingDto): Promise { + const createdBooking = new this.bookingModel(createBookingDto); + return createdBooking.save(); + } + + async findAll(): Promise { + return this.bookingModel.find().populate('venueId').populate('userId').exec(); + } + + async findByUser(userId: string): Promise { + return this.bookingModel.find({ userId }).populate('venueId').exec(); + } + + async findByVenue(venueId: string): Promise { + return this.bookingModel.find({ venueId }).populate('userId').exec(); + } + + async findById(id: string): Promise { + return this.bookingModel.findById(id).populate('venueId').populate('userId').exec(); + } + + async updateStatus(id: string, status: string): Promise { + return this.bookingModel.findByIdAndUpdate(id, { status }, { new: true }).exec(); + } +} diff --git a/backend/src/bookings/dto/create-booking.dto.ts b/backend/src/bookings/dto/create-booking.dto.ts new file mode 100644 index 0000000000..3f5e9ab3ae --- /dev/null +++ b/backend/src/bookings/dto/create-booking.dto.ts @@ -0,0 +1,7 @@ +export class CreateBookingDto { + readonly userId: string; + readonly venueId: string; + readonly date: string; + readonly hours: number; + readonly totalPrice: number; +} diff --git a/backend/src/bookings/schemas/booking.schema.ts b/backend/src/bookings/schemas/booking.schema.ts new file mode 100644 index 0000000000..20326ada1f --- /dev/null +++ b/backend/src/bookings/schemas/booking.schema.ts @@ -0,0 +1,27 @@ +import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose'; +import { Document, Schema as MongooseSchema } from 'mongoose'; + +export type BookingDocument = Booking & Document; + +@Schema({ timestamps: true }) +export class Booking { + @Prop({ type: MongooseSchema.Types.ObjectId, ref: 'User', required: true }) + userId: string; + + @Prop({ type: MongooseSchema.Types.ObjectId, ref: 'Venue', required: true }) + venueId: string; + + @Prop({ required: true }) + date: string; + + @Prop({ required: true }) + hours: number; + + @Prop({ required: true }) + totalPrice: number; + + @Prop({ default: 'pending' }) // pending, confirmed, cancelled, completed + status: string; +} + +export const BookingSchema = SchemaFactory.createForClass(Booking); diff --git a/backend/src/common/decorators/user.decorator.ts b/backend/src/common/decorators/user.decorator.ts new file mode 100644 index 0000000000..f19ae32c13 --- /dev/null +++ b/backend/src/common/decorators/user.decorator.ts @@ -0,0 +1,8 @@ +import { createParamDecorator, ExecutionContext } from '@nestjs/common'; + +export const User = createParamDecorator( + (data: unknown, ctx: ExecutionContext) => { + const request = ctx.switchToHttp().getRequest(); + return request.user; // Stub: extracts request.user injected by guards/passports + }, +); diff --git a/backend/src/common/filters/http-exception.filter.ts b/backend/src/common/filters/http-exception.filter.ts new file mode 100644 index 0000000000..53a46ba0ab --- /dev/null +++ b/backend/src/common/filters/http-exception.filter.ts @@ -0,0 +1,21 @@ +import { ExceptionFilter, Catch, ArgumentsHost, HttpException } from '@nestjs/common'; +import { Request, Response } from 'express'; + +@Catch(HttpException) +export class HttpExceptionFilter implements ExceptionFilter { + catch(exception: HttpException, host: ArgumentsHost) { + const ctx = host.switchToHttp(); + const response = ctx.getResponse(); + const request = ctx.getRequest(); + const status = exception.getStatus(); + + response + .status(status) + .json({ + statusCode: status, + timestamp: new Date().toISOString(), + path: request.url, + message: exception.message, + }); + } +} diff --git a/backend/src/common/guards/auth.guard.ts b/backend/src/common/guards/auth.guard.ts new file mode 100644 index 0000000000..a224dc9548 --- /dev/null +++ b/backend/src/common/guards/auth.guard.ts @@ -0,0 +1,43 @@ +import { Injectable, CanActivate, ExecutionContext, UnauthorizedException } from '@nestjs/common'; +import { JwtService } from '@nestjs/jwt'; +import { ConfigService } from '@nestjs/config'; +import { Request } from 'express'; + +@Injectable() +export class AuthGuard implements CanActivate { + constructor( + private readonly jwtService: JwtService, + private readonly configService: ConfigService, + ) {} + + async canActivate(context: ExecutionContext): Promise { + const request = context.switchToHttp().getRequest(); + const token = this.extractTokenFromHeader(request); + + if (!token) { + throw new UnauthorizedException('Authentication token is missing'); + } + + try { + const payload = await this.jwtService.verifyAsync(token, { + secret: this.configService.get('jwt.secret'), + }); + + // Attach user to request so that @GetUser() decorator can fetch it + request['user'] = { + id: payload.sub, + email: payload.email, + role: payload.role, + }; + } catch (error) { + throw new UnauthorizedException('Invalid or expired token'); + } + + return true; + } + + private extractTokenFromHeader(request: Request): string | undefined { + const [type, token] = request.headers.authorization?.split(' ') ?? []; + return type === 'Bearer' ? token : undefined; + } +} diff --git a/backend/src/common/guards/roles.guard.ts b/backend/src/common/guards/roles.guard.ts new file mode 100644 index 0000000000..981ec9d2f5 --- /dev/null +++ b/backend/src/common/guards/roles.guard.ts @@ -0,0 +1,34 @@ +import { Injectable, CanActivate, ExecutionContext, ForbiddenException } from '@nestjs/common'; +import { Reflector } from '@nestjs/core'; +import { ROLES_KEY } from '../../users/decorators/roles.decorator'; +import { UserRole } from '../../users/schemas/user.schema'; + +@Injectable() +export class RolesGuard implements CanActivate { + constructor(private readonly reflector: Reflector) {} + + canActivate(context: ExecutionContext): boolean { + const requiredRoles = this.reflector.getAllAndOverride(ROLES_KEY, [ + context.getHandler(), + context.getClass(), + ]); + + if (!requiredRoles || requiredRoles.length === 0) { + return true; + } + + const request = context.switchToHttp().getRequest(); + const user = request.user; + + if (!user) { + throw new ForbiddenException('User session not found'); + } + + const hasRole = requiredRoles.some((role) => user.role === role); + if (!hasRole) { + throw new ForbiddenException('You do not have permission to access this resource'); + } + + return true; + } +} diff --git a/backend/src/common/interceptors/transform.interceptor.ts b/backend/src/common/interceptors/transform.interceptor.ts new file mode 100644 index 0000000000..f7adbeba13 --- /dev/null +++ b/backend/src/common/interceptors/transform.interceptor.ts @@ -0,0 +1,14 @@ +import { Injectable, NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common'; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; + +export interface Response { + data: T; +} + +@Injectable() +export class TransformInterceptor implements NestInterceptor> { + intercept(context: ExecutionContext, next: CallHandler): Observable> { + return next.handle().pipe(map(data => ({ data }))); + } +} diff --git a/backend/src/config/configuration.ts b/backend/src/config/configuration.ts new file mode 100644 index 0000000000..d9d5413d81 --- /dev/null +++ b/backend/src/config/configuration.ts @@ -0,0 +1,11 @@ +export default () => ({ + port: parseInt(process.env.PORT || '3002', 10), + database: { + uri: process.env.MONGO_URI, + }, + + jwt: { + secret: process.env.JWT_SECRET, + expiresIn: process.env.JWT_EXPIRES_IN || '7d', + } +}); diff --git a/backend/src/interface/jwt-user.interface.ts b/backend/src/interface/jwt-user.interface.ts new file mode 100644 index 0000000000..af1a24aecf --- /dev/null +++ b/backend/src/interface/jwt-user.interface.ts @@ -0,0 +1,8 @@ +import mongoose from 'mongoose'; +import { UserRole } from '../users/schemas/user.schema'; + +export interface JWTUserInterface { + id: mongoose.Types.ObjectId; + email: string; + role: UserRole; +} diff --git a/backend/src/main.ts b/backend/src/main.ts new file mode 100644 index 0000000000..9cbd5d57d9 --- /dev/null +++ b/backend/src/main.ts @@ -0,0 +1,32 @@ +import { NestFactory } from '@nestjs/core'; +import { ValidationPipe } from '@nestjs/common'; +import { AppModule } from './app.module'; +import { NestExpressApplication } from '@nestjs/platform-express'; +import { join } from 'path'; +import { json, urlencoded } from 'express'; + +async function bootstrap() { + const app = await NestFactory.create(AppModule); + + app.use(json({ limit: '50mb' })); + app.use(urlencoded({ limit: '50mb', extended: true })); + + app.useStaticAssets(join(process.cwd(), 'uploads'), { + prefix: '/uploads/', + }); + + app.useGlobalPipes( + new ValidationPipe({ + whitelist: true, + transform: true, + }), + ); + + app.enableCors({ + origin: "http://localhost:3000", + credentials: true, + }); + + await app.listen(3001); +} +bootstrap(); diff --git a/backend/src/payments/dto/create-payment.dto.ts b/backend/src/payments/dto/create-payment.dto.ts new file mode 100644 index 0000000000..836be2af7c --- /dev/null +++ b/backend/src/payments/dto/create-payment.dto.ts @@ -0,0 +1,5 @@ +export class CreatePaymentDto { + readonly bookingId: string; + readonly amount: number; + readonly paymentMethod: string; +} diff --git a/backend/src/payments/payments.controller.ts b/backend/src/payments/payments.controller.ts new file mode 100644 index 0000000000..c257a97bfe --- /dev/null +++ b/backend/src/payments/payments.controller.ts @@ -0,0 +1,13 @@ +import { Controller, Post, Body } from '@nestjs/common'; +import { PaymentsService } from './payments.service'; +import { CreatePaymentDto } from './dto/create-payment.dto'; + +@Controller('payments') +export class PaymentsController { + constructor(private readonly paymentsService: PaymentsService) {} + + @Post() + async processPayment(@Body() createPaymentDto: CreatePaymentDto) { + return this.paymentsService.processPayment(createPaymentDto); + } +} diff --git a/backend/src/payments/payments.module.ts b/backend/src/payments/payments.module.ts new file mode 100644 index 0000000000..9d889fd89f --- /dev/null +++ b/backend/src/payments/payments.module.ts @@ -0,0 +1,10 @@ +import { Module } from '@nestjs/common'; +import { PaymentsController } from './payments.controller'; +import { PaymentsService } from './payments.service'; + +@Module({ + controllers: [PaymentsController], + providers: [PaymentsService], + exports: [PaymentsService], +}) +export class PaymentsModule {} diff --git a/backend/src/payments/payments.service.ts b/backend/src/payments/payments.service.ts new file mode 100644 index 0000000000..ccb8bdd15a --- /dev/null +++ b/backend/src/payments/payments.service.ts @@ -0,0 +1,16 @@ +import { Injectable } from '@nestjs/common'; +import { CreatePaymentDto } from './dto/create-payment.dto'; + +@Injectable() +export class PaymentsService { + async processPayment(createPaymentDto: CreatePaymentDto): Promise { + // Mock processing payment + return { + status: 'success', + transactionId: 'txn_mock_' + Math.random().toString(36).substr(2, 9), + bookingId: createPaymentDto.bookingId, + amount: createPaymentDto.amount, + processedAt: new Date(), + }; + } +} diff --git a/backend/src/reviews/dto/create-review.dto.ts b/backend/src/reviews/dto/create-review.dto.ts new file mode 100644 index 0000000000..6e1bc9064a --- /dev/null +++ b/backend/src/reviews/dto/create-review.dto.ts @@ -0,0 +1,6 @@ +export class CreateReviewDto { + readonly userId: string; + readonly venueId: string; + readonly rating: number; + readonly comment: string; +} diff --git a/backend/src/reviews/reviews.controller.ts b/backend/src/reviews/reviews.controller.ts new file mode 100644 index 0000000000..8dc0d95d4c --- /dev/null +++ b/backend/src/reviews/reviews.controller.ts @@ -0,0 +1,28 @@ +import { Controller, Get, Param, Post, Body } from '@nestjs/common'; +import { ReviewsService } from './reviews.service'; +import { CreateReviewDto } from './dto/create-review.dto'; + +@Controller('reviews') +export class ReviewsController { + constructor(private readonly reviewsService: ReviewsService) {} + + @Post() + async create(@Body() createReviewDto: CreateReviewDto) { + return this.reviewsService.create(createReviewDto); + } + + @Get() + async findAll() { + return this.reviewsService.findAll(); + } + + @Get('venue/:venueId') + async findByVenue(@Param('venueId') venueId: string) { + return this.reviewsService.findByVenue(venueId); + } + + @Get('user/:userId') + async findByUser(@Param('userId') userId: string) { + return this.reviewsService.findByUser(userId); + } +} diff --git a/backend/src/reviews/reviews.module.ts b/backend/src/reviews/reviews.module.ts new file mode 100644 index 0000000000..38e49df8b5 --- /dev/null +++ b/backend/src/reviews/reviews.module.ts @@ -0,0 +1,15 @@ +import { Module } from '@nestjs/common'; +import { MongooseModule } from '@nestjs/mongoose'; +import { ReviewsController } from './reviews.controller'; +import { ReviewsService } from './reviews.service'; +import { Review, ReviewSchema } from './schemas/review.schema'; + +@Module({ + imports: [ + MongooseModule.forFeature([{ name: Review.name, schema: ReviewSchema }]), + ], + controllers: [ReviewsController], + providers: [ReviewsService], + exports: [ReviewsService], +}) +export class ReviewsModule {} diff --git a/backend/src/reviews/reviews.service.ts b/backend/src/reviews/reviews.service.ts new file mode 100644 index 0000000000..298b63fb49 --- /dev/null +++ b/backend/src/reviews/reviews.service.ts @@ -0,0 +1,29 @@ +import { Injectable } from '@nestjs/common'; +import { InjectModel } from '@nestjs/mongoose'; +import { Model } from 'mongoose'; +import { Review, ReviewDocument } from './schemas/review.schema'; +import { CreateReviewDto } from './dto/create-review.dto'; + +@Injectable() +export class ReviewsService { + constructor( + @InjectModel(Review.name) private readonly reviewModel: Model, + ) {} + + async create(createReviewDto: CreateReviewDto): Promise { + const createdReview = new this.reviewModel(createReviewDto); + return createdReview.save(); + } + + async findByVenue(venueId: string): Promise { + return this.reviewModel.find({ venueId }).populate('userId').exec(); + } + + async findByUser(userId: string): Promise { + return this.reviewModel.find({ userId }).populate('venueId').exec(); + } + + async findAll(): Promise { + return this.reviewModel.find().exec(); + } +} diff --git a/backend/src/reviews/schemas/review.schema.ts b/backend/src/reviews/schemas/review.schema.ts new file mode 100644 index 0000000000..ad50a2d0d1 --- /dev/null +++ b/backend/src/reviews/schemas/review.schema.ts @@ -0,0 +1,21 @@ +import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose'; +import { Document, Schema as MongooseSchema } from 'mongoose'; + +export type ReviewDocument = Review & Document; + +@Schema({ timestamps: true }) +export class Review { + @Prop({ type: MongooseSchema.Types.ObjectId, ref: 'User', required: true }) + userId: string; + + @Prop({ type: MongooseSchema.Types.ObjectId, ref: 'Venue', required: true }) + venueId: string; + + @Prop({ required: true, min: 1, max: 5 }) + rating: number; + + @Prop({ required: true }) + comment: string; +} + +export const ReviewSchema = SchemaFactory.createForClass(Review); diff --git a/backend/src/users/decorators/get-user.decorator.ts b/backend/src/users/decorators/get-user.decorator.ts new file mode 100644 index 0000000000..9c5abd58e5 --- /dev/null +++ b/backend/src/users/decorators/get-user.decorator.ts @@ -0,0 +1,9 @@ +import { createParamDecorator, ExecutionContext } from '@nestjs/common'; +import { JWTUserInterface } from '../../interface/jwt-user.interface'; + +export const GetUser = createParamDecorator( + (data: unknown, ctx: ExecutionContext): JWTUserInterface => { + const request: { user: JWTUserInterface } = ctx.switchToHttp().getRequest(); + return request.user; + }, +); \ No newline at end of file diff --git a/backend/src/users/decorators/roles.decorator.ts b/backend/src/users/decorators/roles.decorator.ts new file mode 100644 index 0000000000..e038e1682d --- /dev/null +++ b/backend/src/users/decorators/roles.decorator.ts @@ -0,0 +1,4 @@ +import { SetMetadata } from '@nestjs/common'; + +export const ROLES_KEY = 'roles'; +export const Roles = (...roles: string[]) => SetMetadata(ROLES_KEY, roles); diff --git a/backend/src/users/dto/create-user.dto.ts b/backend/src/users/dto/create-user.dto.ts new file mode 100644 index 0000000000..d8af314e44 --- /dev/null +++ b/backend/src/users/dto/create-user.dto.ts @@ -0,0 +1,18 @@ +import { IsEmail, IsString } from "class-validator"; + +export class CreateUserDto { + @IsEmail() + email: string; + + @IsString() + password?: string; + + @IsString() + name: string; + + @IsString() + phoneNumber: string; + + @IsString() + role?: string; +} diff --git a/backend/src/users/schemas/user.schema.ts b/backend/src/users/schemas/user.schema.ts new file mode 100644 index 0000000000..de1def79e0 --- /dev/null +++ b/backend/src/users/schemas/user.schema.ts @@ -0,0 +1,40 @@ +import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose'; +import { Document } from 'mongoose'; + +export type UserDocument = User & Document; + +export enum UserRole { + NOT_ASSIGNED = 'Not assigned', + VENUE_OWNER = 'Venue owner', + USER = 'User', + ADMIN = 'Admin' +} + +export enum UserStatus { + PENDING = 'Pending', + ACTIVE = 'Active', + SUSPENDED = 'Suspended' +} + +@Schema({ timestamps: true }) +export class User { + @Prop({ required: true, unique: true }) + email: string; + + @Prop({ required: true }) + passwordHash: string; + + @Prop({ required: true }) + name: string; + + @Prop({ required: true }) + phoneNumber: string; + + @Prop({ default: UserRole.USER }) + role: string; + + @Prop({ default: UserStatus.PENDING }) + status: string; +} + +export const UserSchema = SchemaFactory.createForClass(User); diff --git a/backend/src/users/users.controller.ts b/backend/src/users/users.controller.ts new file mode 100644 index 0000000000..54c4020bcf --- /dev/null +++ b/backend/src/users/users.controller.ts @@ -0,0 +1,27 @@ +import { Controller, Get, Param, Post, Body, NotFoundException } from '@nestjs/common'; +import { UsersService } from './users.service'; +import { CreateUserDto } from './dto/create-user.dto'; + +@Controller('users') +export class UsersController { + constructor(private readonly usersService: UsersService) {} + + @Post() + async create(@Body() createUserDto: CreateUserDto) { + return this.usersService.create(createUserDto); + } + + @Get() + async findAll() { + return this.usersService.findAll(); + } + + @Get(':id') + async findById(@Param('id') id: string) { + const user = await this.usersService.findById(id); + if (!user) { + throw new NotFoundException(`User with ID ${id} not found`); + } + return user; + } +} diff --git a/backend/src/users/users.module.ts b/backend/src/users/users.module.ts new file mode 100644 index 0000000000..61dad722e5 --- /dev/null +++ b/backend/src/users/users.module.ts @@ -0,0 +1,15 @@ +import { Module } from '@nestjs/common'; +import { MongooseModule } from '@nestjs/mongoose'; +import { UsersController } from './users.controller'; +import { UsersService } from './users.service'; +import { User, UserSchema } from './schemas/user.schema'; + +@Module({ + imports: [ + MongooseModule.forFeature([{ name: User.name, schema: UserSchema }]), + ], + controllers: [UsersController], + providers: [UsersService], + exports: [UsersService], +}) +export class UsersModule {} diff --git a/backend/src/users/users.service.ts b/backend/src/users/users.service.ts new file mode 100644 index 0000000000..8f47592e24 --- /dev/null +++ b/backend/src/users/users.service.ts @@ -0,0 +1,50 @@ +import { Injectable } from '@nestjs/common'; +import { InjectModel } from '@nestjs/mongoose'; +import { Model } from 'mongoose'; +import * as bcrypt from 'bcrypt'; +import { User, UserDocument, UserRole, UserStatus } from './schemas/user.schema'; +import { CreateUserDto } from './dto/create-user.dto'; + +@Injectable() +export class UsersService { + constructor( + @InjectModel(User.name) private readonly userModel: Model, + ) {} + + async create(createUserDto: CreateUserDto): Promise { + let passwordHash = 'hashed_placeholder'; + if (createUserDto.password) { + passwordHash = await bcrypt.hash(createUserDto.password, 10); + } + + const role = createUserDto.role || UserRole.USER; + + const status = + role === UserRole.USER || + role === UserRole.VENUE_OWNER + ? UserStatus.ACTIVE + : UserStatus.PENDING; + + const createdUser = new this.userModel({ + email: createUserDto.email, + name: createUserDto.name, + phoneNumber: createUserDto.phoneNumber, + role, + status, + passwordHash, + }); + return createdUser.save(); + } + + async findOneByEmail(email: string): Promise { + return this.userModel.findOne({ email }).exec(); + } + + async findById(id: string): Promise { + return this.userModel.findById(id).exec(); + } + + async findAll(): Promise { + return this.userModel.find().exec(); + } +} diff --git a/backend/src/venues/dto/create-venue.dto.ts b/backend/src/venues/dto/create-venue.dto.ts new file mode 100644 index 0000000000..b4fdac4422 --- /dev/null +++ b/backend/src/venues/dto/create-venue.dto.ts @@ -0,0 +1,33 @@ +import { IsArray, IsNumber, IsOptional, IsString } from "class-validator"; + +export class CreateVenueDto { + @IsString() + name: string; + + @IsString() + @IsOptional() + type?: string; + + @IsNumber() + @IsOptional() + capacity?: number; + + @IsString() + @IsOptional() + location?: string; + + @IsNumber() + @IsOptional() + pricePerHour?: number; + + @IsArray() + @IsString({ each: true }) + @IsOptional() + images?: string[]; + + @IsString() + @IsOptional() + description?: string; + amenities?: string[]; + featured?: boolean; +} diff --git a/backend/src/venues/schemas/venue.schema.ts b/backend/src/venues/schemas/venue.schema.ts new file mode 100644 index 0000000000..ea8453eac7 --- /dev/null +++ b/backend/src/venues/schemas/venue.schema.ts @@ -0,0 +1,67 @@ +import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose'; +import mongoose, { Document } from 'mongoose'; + +export type VenueDocument = Venue & Document; + +@Schema({ + timestamps: true, + toJSON: { virtuals: true }, + toObject: { virtuals: true } +}) +export class Venue { + + @Prop({ + type: mongoose.Schema.Types.ObjectId, + ref: 'User', + required: true, + }) + ownerId: mongoose.Types.ObjectId; + + @Prop({ required: true }) + name: string; + + @Prop({ required: false }) + type: string; + + @Prop({ required: false }) + capacity: number; + + @Prop({ required: false }) + location: string; + + @Prop({ required: false }) + pricePerHour: number; + + @Prop({ required: false }) + rating: number; + + @Prop({ type: [String], default: [] }) + images: string[]; + + @Prop({ required: false }) + description: string; + + @Prop([String]) + amenities: string[]; + + @Prop({ default: false }) + featured: boolean; +} + +export const VenueSchema = SchemaFactory.createForClass(Venue); + +// Map _id to id virtual property automatically for the JSON output +VenueSchema.virtual('id').get(function (this: VenueDocument) { + return this._id.toHexString(); +}); + +VenueSchema.virtual('imageUrl').get(function (this: VenueDocument) { + if (this.images && this.images.length > 0) { + const firstImg = this.images[0]; + if (firstImg.startsWith('/uploads/')) { + return `http://localhost:3001${firstImg}`; + } + return firstImg; + } + return ''; +}); diff --git a/backend/src/venues/venues.controller.ts b/backend/src/venues/venues.controller.ts new file mode 100644 index 0000000000..f1d8fb2ba1 --- /dev/null +++ b/backend/src/venues/venues.controller.ts @@ -0,0 +1,46 @@ +import { Controller, Get, Param, Post, Body, Query, NotFoundException, UseGuards } from '@nestjs/common'; +import { VenuesService } from './venues.service'; +import { CreateVenueDto } from './dto/create-venue.dto'; +import { AuthGuard } from '../common/guards/auth.guard'; +import { RolesGuard } from '../common/guards/roles.guard'; +import { Roles } from '../users/decorators/roles.decorator'; +import { UserRole } from '../users/schemas/user.schema'; +import { GetUser } from '../users/decorators/get-user.decorator'; +import type { JWTUserInterface } from '../interface/jwt-user.interface'; + +@Controller('venues') +export class VenuesController { + constructor(private readonly venuesService: VenuesService) {} + + @Post() + @UseGuards(AuthGuard, RolesGuard) + @Roles(UserRole.ADMIN, UserRole.VENUE_OWNER) + async create(@Body() createVenueDto: CreateVenueDto, @GetUser() user: JWTUserInterface) { + return this.venuesService.create(createVenueDto, user.id.toString()); + } + + @Get() + async findAll(@Query('search') search?: string) { + return this.venuesService.findAll(search); + } + + @Get('my') + @UseGuards(AuthGuard, RolesGuard) + @Roles(UserRole.VENUE_OWNER) + async findMyVenues( + @GetUser() user: JWTUserInterface, + ) { + return this.venuesService.findByOwnerId( + user.id, + ); + } + + @Get(':id') + async findById(@Param('id') id: string) { + const venue = await this.venuesService.findById(id); + if (!venue) { + throw new NotFoundException(`Venue with ID ${id} not found`); + } + return venue; + } +} diff --git a/backend/src/venues/venues.module.ts b/backend/src/venues/venues.module.ts new file mode 100644 index 0000000000..97048dae91 --- /dev/null +++ b/backend/src/venues/venues.module.ts @@ -0,0 +1,17 @@ +import { Module } from '@nestjs/common'; +import { MongooseModule } from '@nestjs/mongoose'; +import { VenuesController } from './venues.controller'; +import { VenuesService } from './venues.service'; +import { Venue, VenueSchema } from './schemas/venue.schema'; +import { AuthModule } from '../auth/auth.module'; + +@Module({ + imports: [ + MongooseModule.forFeature([{ name: Venue.name, schema: VenueSchema }]), + AuthModule, + ], + controllers: [VenuesController], + providers: [VenuesService], + exports: [VenuesService], +}) +export class VenuesModule {} diff --git a/backend/src/venues/venues.service.ts b/backend/src/venues/venues.service.ts new file mode 100644 index 0000000000..a71b879ba2 --- /dev/null +++ b/backend/src/venues/venues.service.ts @@ -0,0 +1,97 @@ +import { Injectable, OnModuleInit } from '@nestjs/common'; +import { InjectModel } from '@nestjs/mongoose'; +import { Model } from 'mongoose'; +import { Venue, VenueDocument } from './schemas/venue.schema'; +import { CreateVenueDto } from './dto/create-venue.dto'; + +import * as fs from 'fs'; +import * as path from 'path'; +import * as crypto from 'crypto'; + +@Injectable() +export class VenuesService { + + constructor( + @InjectModel(Venue.name) private readonly venueModel: Model, + ) {} + + // async onModuleInit() { + // try { + // const count = await this.venueModel.countDocuments().exec(); + // // if (count === 0) { + // // console.log('Seeding default venues in MongoDB...'); + // // // await this.venueModel.insertMany(this.defaultVenues); + // // console.log('Seeding finished successfully.'); + // // } + // } catch (err) { + // console.error('Failed to seed venues:', err); + // } + // } + + async create(createVenueDto: CreateVenueDto, ownerId: string): Promise { + const savedImages: string[] = []; + if (createVenueDto.images && createVenueDto.images.length > 0) { + for (const imageStr of createVenueDto.images) { + if (imageStr.startsWith('data:image/')) { + const matches = imageStr.match(/^data:image\/([A-Za-z0-9\-+]+);base64,(.+)$/); + if (matches && matches.length === 3) { + const ext = matches[1]; + const data = matches[2]; + const buffer = Buffer.from(data, 'base64'); + const filename = `${crypto.randomUUID()}.${ext}`; + const filepath = path.join(process.cwd(), 'uploads', filename); + fs.writeFileSync(filepath, buffer); + savedImages.push(`/uploads/${filename}`); + } else { + savedImages.push(imageStr); + } + + // else if (imageStr.startsWith('http://') || imageStr.startsWith('https://') || imageStr.startsWith('/')) { + // savedImages.push(imageStr); + } else { + try { + const buffer = Buffer.from(imageStr, 'base64'); + const filename = `${crypto.randomUUID()}.png`; + const filepath = path.join(process.cwd(), 'uploads', filename); + fs.writeFileSync(filepath, buffer); + savedImages.push(`/uploads/${filename}`); + } catch (e) { + savedImages.push(imageStr); + } + } + } + } + + const createdVenue = new this.venueModel({ + ...createVenueDto, + images: savedImages, + ownerId, + }); + return createdVenue.save(); + } + + async findAll(search?: string): Promise { + if (search) { + const regex = new RegExp(search, 'i'); + return this.venueModel + .find({ + $or: [ + { name: regex }, + { location: regex }, + { type: regex }, + ], + }) + .exec(); + } + return this.venueModel.find().exec(); + } + + async findById(id: string): Promise { + // Allows querying both by custom virtual id hex string (Mongoose _id) + return this.venueModel.findById(id).exec(); + } + + async findByOwnerId(ownerId: any): Promise { + return this.venueModel.find({ ownerId }).exec(); + } +} diff --git a/backend/test/app.e2e-spec.ts b/backend/test/app.e2e-spec.ts new file mode 100644 index 0000000000..a767839c02 --- /dev/null +++ b/backend/test/app.e2e-spec.ts @@ -0,0 +1,29 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { INestApplication } from '@nestjs/common'; +import request from 'supertest'; +import { App } from 'supertest/types'; +import { AppModule } from './../src/app.module'; + +describe('AppController (e2e)', () => { + let app: INestApplication; + + beforeEach(async () => { + const moduleFixture: TestingModule = await Test.createTestingModule({ + imports: [AppModule], + }).compile(); + + app = moduleFixture.createNestApplication(); + await app.init(); + }); + + it('/ (GET)', () => { + return request(app.getHttpServer()) + .get('/') + .expect(200) + .expect('Hello World!'); + }); + + afterEach(async () => { + await app.close(); + }); +}); diff --git a/backend/test/jest-e2e.json b/backend/test/jest-e2e.json new file mode 100644 index 0000000000..e9d912f3e3 --- /dev/null +++ b/backend/test/jest-e2e.json @@ -0,0 +1,9 @@ +{ + "moduleFileExtensions": ["js", "json", "ts"], + "rootDir": ".", + "testEnvironment": "node", + "testRegex": ".e2e-spec.ts$", + "transform": { + "^.+\\.(t|j)s$": "ts-jest" + } +} diff --git a/backend/tsconfig.build.json b/backend/tsconfig.build.json new file mode 100644 index 0000000000..64f86c6bd2 --- /dev/null +++ b/backend/tsconfig.build.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig.json", + "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] +} diff --git a/backend/tsconfig.json b/backend/tsconfig.json new file mode 100644 index 0000000000..aba29b0e7f --- /dev/null +++ b/backend/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "module": "nodenext", + "moduleResolution": "nodenext", + "resolvePackageJsonExports": true, + "esModuleInterop": true, + "isolatedModules": true, + "declaration": true, + "removeComments": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "allowSyntheticDefaultImports": true, + "target": "ES2023", + "sourceMap": true, + "outDir": "./dist", + "baseUrl": "./", + "incremental": true, + "skipLibCheck": true, + "strictNullChecks": true, + "forceConsistentCasingInFileNames": true, + "noImplicitAny": false, + "strictBindCallApply": false, + "noFallthroughCasesInSwitch": false + } +} diff --git a/backend/uploads/49abf22c-a9eb-4fbb-b15e-884f67fcd2ee.png b/backend/uploads/49abf22c-a9eb-4fbb-b15e-884f67fcd2ee.png new file mode 100644 index 0000000000000000000000000000000000000000..f05588e07e9f6b563b63e6fbe836df6e0886f490 GIT binary patch literal 116652 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%0A7{$47f9tLtvB5FWfPrB6i{KPiG7$N@_zl4MC(z? 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 F{11=dD^~yj literal 0 HcmV?d00001 diff --git a/backend/uploads/dec70646-9467-4cfe-82f1-18d69b721f7a.png b/backend/uploads/dec70646-9467-4cfe-82f1-18d69b721f7a.png new file mode 100644 index 0000000000000000000000000000000000000000..050a693f65166243013eff72f504850d50f72a40 GIT binary patch literal 119919 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 literal 0 HcmV?d00001 diff --git a/backend/uploads/fff0a7c6-d274-4299-820d-9267fe5ade31.jpeg b/backend/uploads/fff0a7c6-d274-4299-820d-9267fe5ade31.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b9279c060c56394b18078066cef5fe30daf9c20a GIT binary patch literal 23291 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 a+N_O`JJ-3{58X%p?JTMkumc(9zyH}2pa~-Y literal 0 HcmV?d00001 diff --git a/frontend/.gitignore b/frontend/.gitignore new file mode 100644 index 0000000000..5ef6a52078 --- /dev/null +++ b/frontend/.gitignore @@ -0,0 +1,41 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# env files (can opt-in for committing if needed) +.env* + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/frontend/AGENTS.md b/frontend/AGENTS.md new file mode 100644 index 0000000000..8bd0e39085 --- /dev/null +++ b/frontend/AGENTS.md @@ -0,0 +1,5 @@ + +# This is NOT the Next.js you know + +This version has breaking changes — APIs, conventions, and file structure may all differ from your training data. Read the relevant guide in `node_modules/next/dist/docs/` before writing any code. Heed deprecation notices. + diff --git a/frontend/CLAUDE.md b/frontend/CLAUDE.md new file mode 100644 index 0000000000..43c994c2d3 --- /dev/null +++ b/frontend/CLAUDE.md @@ -0,0 +1 @@ +@AGENTS.md diff --git a/frontend/README.md b/frontend/README.md new file mode 100644 index 0000000000..e215bc4ccf --- /dev/null +++ b/frontend/README.md @@ -0,0 +1,36 @@ +This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). + +## Getting Started + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +# or +pnpm dev +# or +bun dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. + +This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. + +Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. diff --git a/frontend/eslint.config.mjs b/frontend/eslint.config.mjs new file mode 100644 index 0000000000..05e726d1b4 --- /dev/null +++ b/frontend/eslint.config.mjs @@ -0,0 +1,18 @@ +import { defineConfig, globalIgnores } from "eslint/config"; +import nextVitals from "eslint-config-next/core-web-vitals"; +import nextTs from "eslint-config-next/typescript"; + +const eslintConfig = defineConfig([ + ...nextVitals, + ...nextTs, + // Override default ignores of eslint-config-next. + globalIgnores([ + // Default ignores of eslint-config-next: + ".next/**", + "out/**", + "build/**", + "next-env.d.ts", + ]), +]); + +export default eslintConfig; diff --git a/frontend/next.config.ts b/frontend/next.config.ts new file mode 100644 index 0000000000..e9ffa3083a --- /dev/null +++ b/frontend/next.config.ts @@ -0,0 +1,7 @@ +import type { NextConfig } from "next"; + +const nextConfig: NextConfig = { + /* config options here */ +}; + +export default nextConfig; diff --git a/frontend/package-lock.json b/frontend/package-lock.json new file mode 100644 index 0000000000..c88a9aa844 --- /dev/null +++ b/frontend/package-lock.json @@ -0,0 +1,6880 @@ +{ + "name": "frontend", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "frontend", + "version": "0.1.0", + "dependencies": { + "axios": "^1.17.0", + "next": "16.2.7", + "react": "19.2.4", + "react-dom": "19.2.4" + }, + "devDependencies": { + "@tailwindcss/postcss": "^4", + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "eslint": "^9", + "eslint-config-next": "16.2.7", + "tailwindcss": "^4", + "typescript": "^5" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", + "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", + "@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/generator": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz", + "integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", + "@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-compilation-targets": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", + "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", + "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz", + "integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "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/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz", + "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.5" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz", + "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.14.0", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.5", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", + "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/types": "^0.15.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@img/colour": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@next/env": { + "version": "16.2.7", + "resolved": "https://registry.npmjs.org/@next/env/-/env-16.2.7.tgz", + "integrity": "sha512-tMJizPlj6ZYpBMMdK8S0LJufrP4QTdR6pcv9KQ/bVETPAmg0j1mlHE9G2c38UyGHxoBapgwuj7XjbGJ2RcDFOg==", + "license": "MIT" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "16.2.7", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-16.2.7.tgz", + "integrity": "sha512-VbS+QgMHqvIDMTIqD2xMBKK1otIpdAUKA8VLHFwR9h6OfU/mOm7w/69nQcvdmI8hCk99Wr2AsGLn/PJ/tMHw1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-glob": "3.3.1" + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "16.2.7", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.7.tgz", + "integrity": "sha512-vm1EDI/pVaBNNiychmxk3fft+OhQPVD9cIM/tReLZIQ3TfQ4kqI9DwKk00dzuS1ulC7icbrzCFrmRRlk9PfNdw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "16.2.7", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.7.tgz", + "integrity": "sha512-O3IRSv1ZBL1zs0WrIgefTEcTKFVn+ryxBNe54erJ6KsD+2f/Mmt7g2jOYh8PSBdUwPtKQJuCsTMlZ7tIu2AcsQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "16.2.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.7.tgz", + "integrity": "sha512-Re6PZtjBDd0aMU+VcZcC/PrIvj4WhrjDYtMhhCVQamWN4L90EVP0pcEOBQD25prSlw7OzNw5QpHLWMilRLsRNw==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "16.2.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.7.tgz", + "integrity": "sha512-qyogG9QtBzWxgJfeGBvOEHI3851gTfCF3wLZ5RDLTBJGAmE9p1qDwKCOdrBrvBzRvYDT+gUDp72pzlSEfAXgNA==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "16.2.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.7.tgz", + "integrity": "sha512-Vhe4ZDuBpmMogrGi5D4R2Kq4JAQlj6+wvgaFYy31zfES0zPmt6TLA+cuYpM/OLrPZjo2MYQTHVqNUSCR6+fDZQ==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "16.2.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.7.tgz", + "integrity": "sha512-srvian89JahFLw1YLBEuhvPJ0DO5lpUeJQMXy4xYo7g628ZlNgXdNkqoxSAv9OYrBfByh6vxISMwW/mRbzCY+g==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "16.2.7", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.7.tgz", + "integrity": "sha512-GX3wvLpULFuRFJzwHaKfm7QZJ18F4ZSuxlPJ96BoBglCzBmdSjyeBKF+ZhWhvL/ckxNfLnNa7bsObO2ipYpszw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "16.2.7", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.7.tgz", + "integrity": "sha512-J4WlM72NMk076Qsg0jTdK3SNXatlSdnjW7L7oNGLst1tAGjHrJh/FYi+pw9wyIjEtGRKDNzD0zuiY16oWYWVaw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@swc/helpers": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", + "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.0.tgz", + "integrity": "sha512-aFb4gUhFOgdh9AXo4IzBEOzBkkAxm9VigwDJnMIYv3lcfXCJVesNfbEaBl4BNgVRyid92AmdviqwBUBRKSeY3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "enhanced-resolve": "^5.21.0", + "jiti": "^2.6.1", + "lightningcss": "1.32.0", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.3.0" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.0.tgz", + "integrity": "sha512-F7HZGBeN9I0/AuuJS5PwcD8xayx5ri5GhjYUDBEVYUkexyA/giwbDNjRVrxSezE3T250OU2K/wp/ltWx3UOefg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.3.0", + "@tailwindcss/oxide-darwin-arm64": "4.3.0", + "@tailwindcss/oxide-darwin-x64": "4.3.0", + "@tailwindcss/oxide-freebsd-x64": "4.3.0", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.0", + "@tailwindcss/oxide-linux-arm64-gnu": "4.3.0", + "@tailwindcss/oxide-linux-arm64-musl": "4.3.0", + "@tailwindcss/oxide-linux-x64-gnu": "4.3.0", + "@tailwindcss/oxide-linux-x64-musl": "4.3.0", + "@tailwindcss/oxide-wasm32-wasi": "4.3.0", + "@tailwindcss/oxide-win32-arm64-msvc": "4.3.0", + "@tailwindcss/oxide-win32-x64-msvc": "4.3.0" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.0.tgz", + "integrity": "sha512-TJPiq67tKlLuObP6RkwvVGDoxCMBVtDgKkLfa/uyj7/FyxvQwHS+UOnVrXXgbEsfUaMgiVvC4KbJnRr26ho4Ng==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.0.tgz", + "integrity": "sha512-oMN/WZRb+SO37BmUElEgeEWuU8E/HXRkiODxJxLe1UTHVXLrdVSgfaJV7pSlhRGMSOiXLuxTIjfsF3wYvz8cgQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.0.tgz", + "integrity": "sha512-N6CUmu4a6bKVADfw77p+iw6Yd9Q3OBhe0veaDX+QazfuVYlQsHfDgxBrsjQ/IW+zywL8mTrNd0SdJT/zgtvMdA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.0.tgz", + "integrity": "sha512-zDL5hBkQdH5C6MpqbK3gQAgP80tsMwSI26vjOzjJtNCMUo0lFgOItzHKBIupOZNQxt3ouPH7RPhvNhiTfCe5CQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.0.tgz", + "integrity": "sha512-R06HdNi7A7OEoMsf6d4tjZ71RCWnZQPHj2mnotSFURjNLdBC+cIgXQ7l81CqeoiQftjf6OOblxXMInMgN2VzMA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.0.tgz", + "integrity": "sha512-qTJHELX8jetjhRQHCLilkVLmybpzNQAtaI/gaoVoidn/ufbNDbAo8KlK2J+yPoc8wQxvDxCmh/5lr8nC1+lTbg==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.0.tgz", + "integrity": "sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.0.tgz", + "integrity": "sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.0.tgz", + "integrity": "sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.0.tgz", + "integrity": "sha512-HNZGOUxEmElksYR7S6sC5jTeNGpobAsy9u7Gu0AskJ8/20FR9GqebUyB+HBcU/ax6BHuiuJi+Oda4B+YX6H1yA==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.10.0", + "@emnapi/runtime": "^1.10.0", + "@emnapi/wasi-threads": "^1.2.1", + "@napi-rs/wasm-runtime": "^1.1.4", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.0.tgz", + "integrity": "sha512-Pe+RPVTi1T+qymuuRpcdvwSVZjnll/f7n8gBxMMh3xLTctMDKqpdfGimbMyioqtLhUYZxdJ9wGNhV7MKHvgZsQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.0.tgz", + "integrity": "sha512-Mvrf2kXW/yeW/OTezZlCGOirXRcUuLIBx/5Y12BaPM7wJoryG6dfS/NJL8aBPqtTEx/Vm4T4vKzFUcKDT+TKUA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/postcss": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.3.0.tgz", + "integrity": "sha512-Jm05Tjx+9yCLGv5qw1c+84Psds8MnyrEQYCB+FFk2lgGiUjlRqdxke4mVTuYrj2xnVZqKim2Apr5ySuQRYAw/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "@tailwindcss/node": "4.3.0", + "@tailwindcss/oxide": "4.3.0", + "postcss": "^8.5.10", + "tailwindcss": "4.3.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.19.41", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.41.tgz", + "integrity": "sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.16", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.16.tgz", + "integrity": "sha512-esJiCAnl0kfpNdE69f3So4WJUXy95dLZydX0KwK46riIHDzHM7O9Vtf9xCHW0PXIqvgqNrswl522kA/5yx+F4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.60.1.tgz", + "integrity": "sha512-JQ4S5GB0tfjO8BuJ4fcX+HodkzJjYBV+7OJ+wLygaX7OGQ7FudyHL4NSCA6ob+w3Yn+5MkKIozOwQhXeM7opVg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.60.1", + "@typescript-eslint/type-utils": "8.60.1", + "@typescript-eslint/utils": "8.60.1", + "@typescript-eslint/visitor-keys": "8.60.1", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.60.1", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.60.1.tgz", + "integrity": "sha512-A0M6ua6H252bVjPvvtSgl2QA4+ET9S5Mtkb2GDyTxIhH/C4qDItT7RQNO5PhMC6NXGYXOR9dIalcDDgBKT7oFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.60.1", + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/typescript-estree": "8.60.1", + "@typescript-eslint/visitor-keys": "8.60.1", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.60.1.tgz", + "integrity": "sha512-eXkTH2bxmXlqD1RnOPmLZ9ZM9D3VwSx04JOwBnP9RQ+yUA5a2Mu7SfW8uaV2Aon53NJzZlZYuX7tn91Izf+xaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.60.1", + "@typescript-eslint/types": "^8.60.1", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.60.1.tgz", + "integrity": "sha512-gvI5OQoptnxQnchOirukCuQ55svJSTuD/4k5+pC267xyBtYry748R9/c3tYUzb/iE6RZfllRz2lVulLCHkTm4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/visitor-keys": "8.60.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.60.1.tgz", + "integrity": "sha512-nh8w4qAteiKuZu3pSSzG/yGKpw0OlkrKnzFmbVRenKaD4qc+7i1GrmZaLVkr8rk4uipiPGMOW4YsM6WmKZ5CvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.60.1.tgz", + "integrity": "sha512-sdwTrpjosW7ANQYJ39ZBF1ZyEMEGVB2UsikrserVM/30a/F1dTLnu9bGxEdosugyu5caigjLrR2qiD11asjI1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/typescript-estree": "8.60.1", + "@typescript-eslint/utils": "8.60.1", + "debug": "^4.4.3", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.60.1.tgz", + "integrity": "sha512-4h0tY8ppCkdCzcrl2YM5M3my0xsE1Tf8om3owEu5oPWmXwkKRmk0j0LGDzYBGUcAlesEbxBhazqu/K4cu3Ug7w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.60.1.tgz", + "integrity": "sha512-alpRkfG8hlVE5kdJW2GkfgDgXxold3e8e4l6EnmhRmRLbekgAPCCGDVD++sABy9FcgPFroq+uFcCSM1vR57Cew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.60.1", + "@typescript-eslint/tsconfig-utils": "8.60.1", + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/visitor-keys": "8.60.1", + "debug": "^4.4.3", + "minimatch": "^10.2.2", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz", + "integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.60.1.tgz", + "integrity": "sha512-h2MPBLoNtjc3qZWfY3Tl51yPorQ2McHn8pJfcMNTcIvrrZrr90Ykffit0yjrPFWQcRcUxzH20+6OcVdW4yHtUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.60.1", + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/typescript-estree": "8.60.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.60.1.tgz", + "integrity": "sha512-EbGRQg4FhrmwLodl+t3JNAnXHWVr9Vp+Zl1QBZVPY4ByfkzIT8cX3K6QWODHtkIZqqJVEWvhHSx3v5PDHsaQag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.60.1", + "eslint-visitor-keys": "^5.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.12.2.tgz", + "integrity": "sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.12.2.tgz", + "integrity": "sha512-YGCRZv/9GLhwmz6mYDeTsm/92BAyR28l6c2ReweVW5pWgfsitWLY8upvfRlGdoyD8HjeTHSYJWyZGD4KJA/nFQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.12.2.tgz", + "integrity": "sha512-u9DiNT1auQMO20A9SyTuG3wUgQWB9Z7KjAg0uFuCDR1FsAY8A0CG2S6JpHS1xwm/w1G08bjXZDcyOCjv1WAm2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.12.2.tgz", + "integrity": "sha512-f7rPLi/T1HVKZu/u6t87lroib16n8vrSzcyxI7lg4BGO9UF26KhQL44sd9eOUgrTYhvRXtWOIZT5PejdPyJfUA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.12.2.tgz", + "integrity": "sha512-BpcOjWCJub6nRZUS2zA20pmLvjtqAtGejETaIyRLiZiQf++cbrjltLA5NN/xaXfqeOBOSlMFbemIl5/S5tljmg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.12.2.tgz", + "integrity": "sha512-vZTDvdSISZjJx66OzJqtsOhzifbqRjbmI1Mnu49fQDwog5GtDI4QidRiEAYbZCRj9C8YZEW+3ZjqsyS9GR4k2A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.12.2.tgz", + "integrity": "sha512-BiPI+IrIlwcW4nLLMM21+B1dFPzd55yAVgVGrdgDjNef+ch03GdxrcyaIz8X9SsQirh/kCQ7mviyWlMxdh2D7g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.12.2.tgz", + "integrity": "sha512-zJc0H99FEPoFfSrNpa91HYfxzfAJCr502oxNK1cfdC9hlaFI43RT+JFCann9JUgZmLzzntChHyn13Sgn9ljHNg==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.12.2.tgz", + "integrity": "sha512-KQ3Lki6l+Pz1k/eBipN41ES+YUK30beLGb9YqcB1O542cyLCNE6GaxrfcY3T6EezmGGk84wb5XyO9loTM9tkcA==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-loong64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-gnu/-/resolver-binding-linux-loong64-gnu-1.12.2.tgz", + "integrity": "sha512-3SJGEh1DborhG6pyxvhPzCT4bbSIVihsvgJc13P1bHG7KLdNDaF9T3gsTwFc7Jw/5Y5/iWOjkEx7Zy0NvCGX3Q==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-loong64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-musl/-/resolver-binding-linux-loong64-musl-1.12.2.tgz", + "integrity": "sha512-jiuG/Obbel7uw1PwHNFfrkiKhLAF6mnyZ6aWlOAVN9WqKm8v0OFGnciJIHu8+CMvXLQ8AD51LPzAoUfT21D5Ew==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.12.2.tgz", + "integrity": "sha512-q7xRvVpmcfeL+LlZg8Pbbo6QaTZwDU5BaGZbwfhkEsXJn3Was8xYfE0RBH266xZt0rM6B7i8xAYIvjthuUIWHg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.12.2.tgz", + "integrity": "sha512-0CVdx6lcnT3Q9inOH8tsMIOJ6ImndllMjqJHg8RLVdB7Vq4SfkEXl9mCSsVNuNA4MCYycRicCUxPCabVHJRr6A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.12.2.tgz", + "integrity": "sha512-iOwlRo9vnp6R6ohHQS11n0NnfdXx/omhkocmIfaPRpQhKZ+3BDMkkdRVh53qjkFkpPddf+FETA28NwGN7l5l+w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.12.2.tgz", + "integrity": "sha512-HYJtLfXq94q8iZNFT1lknx258wlkkWhZeUXJRqzKBBUJ00CvZ+N33zgbCqimLjsyw5Va6uUxhVa12mI+kaveEw==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.12.2.tgz", + "integrity": "sha512-mPsUhunKKDih5O96Y6enDQyHc1SqBPlY1E/SfMWDM3EdJ95Z9CArPeCVwCCqbP45ljvivdEk8Fxn+SIb1rDAJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.12.2.tgz", + "integrity": "sha512-azrt6+5ydLd8Vt210AAFis/lZevSfPw93EJRIJG+xPu4WCJ8K0kppCTpMyLPcKT7H15M4Jnt2tMp5bOvCkRC6A==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-openharmony-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-openharmony-arm64/-/resolver-binding-openharmony-arm64-1.12.2.tgz", + "integrity": "sha512-YZ9hP4O0X9PQb8eO980qmLNGH4zT3I9+SZTdt0Pr0YyuGQhYKoOZkV02VzrzyOZJ5xIJ3UFIenKkUkGg8GjgWQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.12.2.tgz", + "integrity": "sha512-tYFDIkMxSflfEc/h92ZWNsZlHSwgimbNHSO3PL2JWQHfCuC2q316jMyYU9TIWZsFK2bQwyK5VAdYgn8ygPj69A==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.12.2.tgz", + "integrity": "sha512-qzNyg3xL0VPQmCaUh+N5jSitce6k+uCBfMDesWRnlULOZaqUkaJ0ybdT+UqlAWJoQjuqfIU/0Ptx9bteN4D82g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.12.2.tgz", + "integrity": "sha512-WD9sY00OfpHVGfsnHZoA8jVT+esS/Bg8z8jzxp5BnDCjjwsuKsPQrzswwpFy4J1AUJbXPRfkpcX0mXrzeXW79g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.12.2.tgz", + "integrity": "sha512-nAB74NfSNKknqQ1RrYj6uz8FcXEomu/MATJZxh/x+BArzN2U3JbOYC0APYzUIGhVY3m5hRxA8VPNdPBoG8txlA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "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==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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-includes": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "dev": true, + "license": "MIT", + "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.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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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.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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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/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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "license": "MIT" + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "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.12.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.12.0.tgz", + "integrity": "sha512-FTavr/7Ba0IptwGOPxnQvdyW2tAsdLBMTBXz7rKH6xJ2skpyxpBxyHkDdBs4lf69yRqYpkqCdfhnwS8YULGOmg==", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axios": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.17.0.tgz", + "integrity": "sha512-J8SwNxprqqpbfenehxWYXE7CW+wM1BB4w3+N+g+/Wx40xM4rsLrfPmHHxSWIxJLYDgSY/HqlFPIYb2/S3rxafw==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.16.0", + "form-data": "^4.0.5", + "https-proxy-agent": "^5.0.1", + "proxy-from-env": "^2.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==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.33", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.33.tgz", + "integrity": "sha512-bA6+tcSLpz2tIEdDXZPpPTIuxBcC4+w6SieaYyfigIa4h8GlFxbA17v22Vx3JUtuZQj9SgOsnbK+aTBzyDyEuw==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", + "integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", + "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "get-intrinsic": "^1.3.0", + "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==", + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001793", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001793.tgz", + "integrity": "sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==", + "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" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "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/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "BSD-2-Clause" + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "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==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "devOptional": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.367", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.367.tgz", + "integrity": "sha512-4Mk/mrynCNQ+atY40D3UpmhLWB6AHMbYMlIrPhHcMF6x0L7O0b052FCAsxw1LlaR++UFuNg3D/A6XCuGDa0guQ==", + "dev": true, + "license": "ISC" + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/enhanced-resolve": { + "version": "5.22.2", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.22.2.tgz", + "integrity": "sha512-0rxICaFZ7NQho/sHely2bvOPRP0Eu2B0NZ9zM54YvRvWMn7jfz3DmnOZDR9LlXDdDcqntAVc6Hfy4gr/tdH/Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/es-abstract": { + "version": "1.24.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz", + "integrity": "sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==", + "dev": true, + "license": "MIT", + "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-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==", + "license": "MIT", + "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==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.3.2.tgz", + "integrity": "sha512-HVLACW1TppGYjJ8H6/jqH/pqOtKRw6wMlrB23xfExmFWxFquAIWCmwoLsOyN96K4a5KbmOf5At9ZUO3GZbetAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.2", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.1.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.3.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", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.5", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "license": "MIT", + "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==", + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz", + "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.2", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.5", + "@eslint/js": "9.39.4", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.14.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.5", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-next": { + "version": "16.2.7", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-16.2.7.tgz", + "integrity": "sha512-CQ2aNXkrsjaGA2oJBE1LYnlRdphIAQE9ZQfX9hSv1PNGPyiOMSaVeBfTIO29QxYz+ij/hZudK0cfpCG1HXWstg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@next/eslint-plugin-next": "16.2.7", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-jsx-a11y": "^6.10.0", + "eslint-plugin-react": "^7.37.0", + "eslint-plugin-react-hooks": "^7.0.0", + "globals": "16.4.0", + "typescript-eslint": "^8.46.0" + }, + "peerDependencies": { + "eslint": ">=9.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-config-next/node_modules/globals": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", + "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.10.tgz", + "integrity": "sha512-tRrKqFyCaKict5hOd244sL6EQFNycnMQnBe+j8uqGNXYzsImGbGUU4ibtoaBmv5FLwJwcFJNeg1GeVjQfbMrDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.16.1", + "resolve": "^2.0.0-next.6" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", + "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.4.0", + "get-tsconfig": "^4.10.0", + "is-bun-module": "^2.0.0", + "stable-hash": "^0.0.5", + "tinyglobby": "^0.2.13", + "unrs-resolver": "^1.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-import-resolver-typescript" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.13.0.tgz", + "integrity": "sha512-bLohSkT6469rRs8czj0tLTD8vaeIS/whvPRJVjDr7IuoTT1k5DYDERlNycjDj/HkOlvQdYurmfZ/g3fG5bgeLQ==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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-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==", + "dev": true, + "license": "MIT", + "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": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.1.1.tgz", + "integrity": "sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.24.4", + "@babel/parser": "^7.24.4", + "hermes-parser": "^0.25.1", + "zod": "^3.25.0 || ^4.0.0", + "zod-validation-error": "^3.5.0 || ^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.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==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", + "dev": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", + "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "license": "MIT", + "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/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "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==", + "license": "MIT", + "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-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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/get-tsconfig": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.14.0.tgz", + "integrity": "sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "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==", + "dev": true, + "license": "ISC" + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "license": "MIT", + "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==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hermes-estree": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", + "dev": true, + "license": "MIT" + }, + "node_modules/hermes-parser": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hermes-estree": "0.25.1" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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-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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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-bun-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", + "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.7.1" + } + }, + "node_modules/is-bun-module/node_modules/semver": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz", + "integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz", + "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.3" + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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-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==", + "dev": true, + "license": "MIT", + "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-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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "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==", + "dev": true, + "license": "MIT", + "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/jiti": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz", + "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz", + "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "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==", + "dev": true, + "license": "CC0-1.0" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.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==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "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==", + "license": "MIT", + "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==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "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==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/napi-postinstall": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", + "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", + "dev": true, + "license": "MIT", + "bin": { + "napi-postinstall": "lib/cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/next": { + "version": "16.2.7", + "resolved": "https://registry.npmjs.org/next/-/next-16.2.7.tgz", + "integrity": "sha512-eMJxgjRzBaj3olkP4cBamHDXL79A8FC6u1GcsO1D1Tsx8bw/LLXUJCaoajVxtnhD3A1IJqIT8IcRJjgBIPJq4w==", + "license": "MIT", + "dependencies": { + "@next/env": "16.2.7", + "@swc/helpers": "0.5.15", + "baseline-browser-mapping": "^2.9.19", + "caniuse-lite": "^1.0.30001579", + "postcss": "8.4.31", + "styled-jsx": "5.1.6" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=20.9.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "16.2.7", + "@next/swc-darwin-x64": "16.2.7", + "@next/swc-linux-arm64-gnu": "16.2.7", + "@next/swc-linux-arm64-musl": "16.2.7", + "@next/swc-linux-x64-gnu": "16.2.7", + "@next/swc-linux-x64-musl": "16.2.7", + "@next/swc-win32-arm64-msvc": "16.2.7", + "@next/swc-win32-x64-msvc": "16.2.7", + "sharp": "^0.34.5" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.51.1", + "babel-plugin-react-compiler": "*", + "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "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" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/node-exports-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.0.tgz", + "integrity": "sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array.prototype.flatmap": "^1.3.3", + "es-errors": "^1.3.0", + "object.entries": "^1.1.9", + "semver": "^6.3.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/node-releases": { + "version": "2.0.47", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.47.tgz", + "integrity": "sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.5.15", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", + "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.12", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/proxy-from-env": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz", + "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/react": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", + "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.4" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "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/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==", + "dev": true, + "license": "MIT", + "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/resolve": { + "version": "2.0.0-next.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.7.tgz", + "integrity": "sha512-tqt+NBWwyaMgw3zDsnygx4CByWjQEJHOPMdslYhppaQSJUtL/D4JO9CcBBlhPoI8lz9oJIDXkwXfhF4aWqP8xQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "is-core-module": "^2.16.2", + "node-exports-info": "^1.6.0", + "object-keys": "^1.1.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-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.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==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.4.tgz", + "integrity": "sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "get-intrinsic": "^1.3.0", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, + "node_modules/sharp/node_modules/semver": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz", + "integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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/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==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stable-hash": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", + "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", + "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", + "license": "MIT", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.0.tgz", + "integrity": "sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-api-utils": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", + "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "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==", + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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.8", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.8.tgz", + "integrity": "sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "for-each": "^0.3.5", + "gopd": "^1.2.0", + "is-typed-array": "^1.1.15", + "possible-typed-array-names": "^1.1.0", + "reflect.getprototypeof": "^1.0.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.60.1.tgz", + "integrity": "sha512-6m5hkkRAp8lKvhVpcprAIn5KkehQEh+47oHH2VGnExEh7dhNxXlg6GPAOIu6TxbVQxhebrJDvjl3020ooiWCMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.60.1", + "@typescript-eslint/parser": "8.60.1", + "@typescript-eslint/typescript-estree": "8.60.1", + "@typescript-eslint/utils": "8.60.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.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==", + "dev": true, + "license": "MIT", + "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/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/unrs-resolver": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.12.2.tgz", + "integrity": "sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.3.4" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.12.2", + "@unrs/resolver-binding-android-arm64": "1.12.2", + "@unrs/resolver-binding-darwin-arm64": "1.12.2", + "@unrs/resolver-binding-darwin-x64": "1.12.2", + "@unrs/resolver-binding-freebsd-x64": "1.12.2", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.12.2", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.12.2", + "@unrs/resolver-binding-linux-arm64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-arm64-musl": "1.12.2", + "@unrs/resolver-binding-linux-loong64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-loong64-musl": "1.12.2", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-riscv64-musl": "1.12.2", + "@unrs/resolver-binding-linux-s390x-gnu": "1.12.2", + "@unrs/resolver-binding-linux-x64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-x64-musl": "1.12.2", + "@unrs/resolver-binding-openharmony-arm64": "1.12.2", + "@unrs/resolver-binding-wasm32-wasi": "1.12.2", + "@unrs/resolver-binding-win32-arm64-msvc": "1.12.2", + "@unrs/resolver-binding-win32-ia32-msvc": "1.12.2", + "@unrs/resolver-binding-win32-x64-msvc": "1.12.2" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "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==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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.21", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.21.tgz", + "integrity": "sha512-zbRA8cVm6io/d5W8uIe2hblzN76/Wm3v/yiythQvr+dpBWeqhPSWIDNj4zOyHi4zKbMK6DN34Xsr9jPHJERAEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.9", + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", + "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-validation-error": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", + "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "zod": "^3.25.0 || ^4.0.0" + } + } + } +} diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 0000000000..9f65bf42b4 --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,27 @@ +{ + "name": "frontend", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "eslint" + }, + "dependencies": { + "axios": "^1.17.0", + "next": "16.2.7", + "react": "19.2.4", + "react-dom": "19.2.4" + }, + "devDependencies": { + "@tailwindcss/postcss": "^4", + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "eslint": "^9", + "eslint-config-next": "16.2.7", + "tailwindcss": "^4", + "typescript": "^5" + } +} diff --git a/frontend/postcss.config.mjs b/frontend/postcss.config.mjs new file mode 100644 index 0000000000..61e36849cf --- /dev/null +++ b/frontend/postcss.config.mjs @@ -0,0 +1,7 @@ +const config = { + plugins: { + "@tailwindcss/postcss": {}, + }, +}; + +export default config; diff --git a/frontend/public/file.svg b/frontend/public/file.svg new file mode 100644 index 0000000000..004145cddf --- /dev/null +++ b/frontend/public/file.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/public/globe.svg b/frontend/public/globe.svg new file mode 100644 index 0000000000..567f17b0d7 --- /dev/null +++ b/frontend/public/globe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/public/next.svg b/frontend/public/next.svg new file mode 100644 index 0000000000..5174b28c56 --- /dev/null +++ b/frontend/public/next.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/public/vercel.svg b/frontend/public/vercel.svg new file mode 100644 index 0000000000..7705396033 --- /dev/null +++ b/frontend/public/vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/public/window.svg b/frontend/public/window.svg new file mode 100644 index 0000000000..b2b2a44f6e --- /dev/null +++ b/frontend/public/window.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/src/app/(admin)/admin/dashboard/page.tsx b/frontend/src/app/(admin)/admin/dashboard/page.tsx new file mode 100644 index 0000000000..d23887c106 --- /dev/null +++ b/frontend/src/app/(admin)/admin/dashboard/page.tsx @@ -0,0 +1,8 @@ +export default function AdminDashboardPage() { + return ( +

+

Admin Dashboard

+

Platform overview, statistics, and configuration.

+
+ ); +} \ No newline at end of file diff --git a/frontend/src/app/(admin)/admin/reports/page.tsx b/frontend/src/app/(admin)/admin/reports/page.tsx new file mode 100644 index 0000000000..ccbe9b02e5 --- /dev/null +++ b/frontend/src/app/(admin)/admin/reports/page.tsx @@ -0,0 +1,8 @@ +export default function AdminReportsPage() { + return ( +
+

System Reports

+

View platform analytics, revenue, and usage logs.

+
+ ); +} \ No newline at end of file diff --git a/frontend/src/app/(admin)/admin/users/page.tsx b/frontend/src/app/(admin)/admin/users/page.tsx new file mode 100644 index 0000000000..a61f6c8594 --- /dev/null +++ b/frontend/src/app/(admin)/admin/users/page.tsx @@ -0,0 +1,8 @@ +export default function AdminUsersPage() { + return ( +
+

User Management

+

Manage platform users, roles, and permissions.

+
+ ); +} \ No newline at end of file diff --git a/frontend/src/app/(admin)/admin/venues/page.tsx b/frontend/src/app/(admin)/admin/venues/page.tsx new file mode 100644 index 0000000000..afcac5e4e1 --- /dev/null +++ b/frontend/src/app/(admin)/admin/venues/page.tsx @@ -0,0 +1,8 @@ +export default function AdminVenuesPage() { + return ( +
+

Venue Moderation

+

Approve or reject listed venues.

+
+ ); +} \ No newline at end of file diff --git a/frontend/src/app/(auth)/forgot-password/page.tsx b/frontend/src/app/(auth)/forgot-password/page.tsx new file mode 100644 index 0000000000..163814072f --- /dev/null +++ b/frontend/src/app/(auth)/forgot-password/page.tsx @@ -0,0 +1,8 @@ +export default function ForgotPasswordPage() { + return ( +
+

Forgot Password

+

Enter your email to reset your password.

+
+ ); +} \ No newline at end of file diff --git a/frontend/src/app/(auth)/login/page.tsx b/frontend/src/app/(auth)/login/page.tsx new file mode 100644 index 0000000000..e46d237435 --- /dev/null +++ b/frontend/src/app/(auth)/login/page.tsx @@ -0,0 +1,147 @@ +'use client'; + +import React, { useState } from 'react'; +import Link from 'next/link'; +import { useRouter } from 'next/navigation'; +import { api } from '@/lib/axios'; + +export default function LoginPage() { + const router = useRouter(); + const [email, setEmail] = useState(''); + const [password, setPassword] = useState(''); + const [loading, setLoading] = useState(false); + const [errorMsg, setErrorMsg] = useState(''); + + const handleSubmit = async (e: React.FormEvent) => { + e.preventDefault(); + setLoading(true); + setErrorMsg(''); + + try { + const response = await api.post('/auth/login', { + email, + password, + }); + + const { token, user } = response.data; + + // Store token in localStorage + if (typeof window !== 'undefined') { + localStorage.setItem('token', token); + localStorage.setItem('user', JSON.stringify(user)); + } + + // Redirect depending on user role + if (user.role === 'Admin') { + router.push('/admin/dashboard'); + } else if (user.role === 'Venue owner') { + router.push('/owner/dashboard'); + } else { + router.push('/'); + } + } catch (err: any) { + if (err.response?.status === 401) { + setErrorMsg('Invalid email or password'); + } else { + setErrorMsg('Something went wrong. Please try again.'); + } + } finally { + setLoading(false); + } + }; + + return ( +
+ {/* Background decoration */} +
+ +
+ + BookMyVenue + +

+ Sign in to your account +

+

+ Or{' '} + + create a new account today + +

+
+ +
+
+
+ {errorMsg && ( +
+ {errorMsg.includes('status is Pending') ? ( +
+

⏳ Account Pending Approval

+

+ Your registration was received successfully, but it has not been activated yet. Please wait for an administrator to approve your account. +

+
+ ) : ( + {errorMsg} + )} +
+ )} + +
+ +
+ setEmail(e.target.value)} + placeholder="you@example.com" + className="appearance-none block w-full px-3 py-3 border border-white/10 rounded-xl shadow-sm placeholder-slate-500 bg-white/5 text-white focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 text-sm transition-all" + /> +
+
+ +
+
+ + + Forgot your password? + +
+
+ setPassword(e.target.value)} + placeholder="••••••••" + className="appearance-none block w-full px-3 py-3 border border-white/10 rounded-xl shadow-sm placeholder-slate-500 bg-white/5 text-white focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 text-sm transition-all" + /> +
+
+ +
+ +
+
+
+
+
+ ); +} \ No newline at end of file diff --git a/frontend/src/app/(auth)/register/page.tsx b/frontend/src/app/(auth)/register/page.tsx new file mode 100644 index 0000000000..39a26389c8 --- /dev/null +++ b/frontend/src/app/(auth)/register/page.tsx @@ -0,0 +1,220 @@ +'use client'; + +import React, { useState } from 'react'; +import Link from 'next/link'; +import { useRouter } from 'next/navigation'; +import { api } from '@/lib/axios'; + +export default function RegisterPage() { + const router = useRouter(); + const [name, setName] = useState(''); + const [phoneNumber, setPhoneNumber] = useState(''); + const [email, setEmail] = useState(''); + const [password, setPassword] = useState(''); + const [role, setRole] = useState('User'); + + const [loading, setLoading] = useState(false); + const [errorMsg, setErrorMsg] = useState(''); + const [success, setSuccess] = useState(false); + + const handleSubmit = async (e: React.FormEvent) => { + e.preventDefault(); + setLoading(true); + setErrorMsg(''); + setSuccess(false); + + try { + // Create user on backend + await api.post('/users', { + name, + phoneNumber, + email, + password, + role, + }); + + if (role === 'Admin') { + setSuccess(true); + setName(''); + setPhoneNumber(''); + setEmail(''); + setPassword(''); + setRole('User'); + } else { + router.push('/login'); + } + } catch (err: any) { + console.error('Registration failed:', err); + const msg = err.response?.data?.message || 'Something went wrong. Please check your inputs and try again.'; + setErrorMsg(Array.isArray(msg) ? msg.join(', ') : msg); + } finally { + setLoading(false); + } + }; + + return ( +
+ {/* Background decoration */} +
+ +
+ + BookMyVenue + +

+ Create a new account +

+

+ Or{' '} + + sign in to your existing account + +

+
+ +
+
+ {success ? ( +
+
+ + + +
+
+

Registration Successful!

+
+

⏳ Profile Status: Pending Approval

+

+ Your account has been created successfully. To ensure community safety, all new profiles must be reviewed and activated by an administrator. +

+

+ You will not be able to log in until an admin changes your status to Active. +

+
+
+
+ + Return to Login + +
+
+ ) : ( +
+ {errorMsg && ( +
+ {errorMsg} +
+ )} + +
+ +
+ setName(e.target.value)} + placeholder="John Doe" + className="appearance-none block w-full px-3 py-3 border border-white/10 rounded-xl shadow-sm placeholder-slate-500 bg-white/5 text-white focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 text-sm transition-all" + /> +
+
+ +
+ +
+ setPhoneNumber(e.target.value)} + placeholder="+1 (555) 000-0000" + className="appearance-none block w-full px-3 py-3 border border-white/10 rounded-xl shadow-sm placeholder-slate-500 bg-white/5 text-white focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 text-sm transition-all" + /> +
+
+ +
+ +
+ setEmail(e.target.value)} + placeholder="you@example.com" + className="appearance-none block w-full px-3 py-3 border border-white/10 rounded-xl shadow-sm placeholder-slate-500 bg-white/5 text-white focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 text-sm transition-all" + /> +
+
+ +
+ +
+ setPassword(e.target.value)} + placeholder="••••••••" + className="appearance-none block w-full px-3 py-3 border border-white/10 rounded-xl shadow-sm placeholder-slate-500 bg-white/5 text-white focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 text-sm transition-all" + /> +
+
+ +
+ +
+ +
+
+ +
+ +
+
+ )} +
+
+
+ ); +} \ No newline at end of file diff --git a/frontend/src/app/(customer)/bookings/page.tsx b/frontend/src/app/(customer)/bookings/page.tsx new file mode 100644 index 0000000000..7042490afe --- /dev/null +++ b/frontend/src/app/(customer)/bookings/page.tsx @@ -0,0 +1,8 @@ +export default function CustomerBookingsPage() { + return ( +
+

My Bookings

+

Manage and view your venue bookings.

+
+ ); +} \ No newline at end of file diff --git a/frontend/src/app/(customer)/profile/page.tsx b/frontend/src/app/(customer)/profile/page.tsx new file mode 100644 index 0000000000..33aa579ff9 --- /dev/null +++ b/frontend/src/app/(customer)/profile/page.tsx @@ -0,0 +1,8 @@ +export default function CustomerProfilePage() { + return ( +
+

My Profile

+

Manage your profile details and settings.

+
+ ); +} \ No newline at end of file diff --git a/frontend/src/app/(customer)/venues/[id]/page.tsx b/frontend/src/app/(customer)/venues/[id]/page.tsx new file mode 100644 index 0000000000..ac802a2d53 --- /dev/null +++ b/frontend/src/app/(customer)/venues/[id]/page.tsx @@ -0,0 +1,12 @@ +interface Props { + params: Promise<{ id: string }>; +} +export default async function CustomerVenueDetailsPage({ params }: Props) { + const { id } = await params; + return ( +
+

Venue Details

+

Viewing details for venue ID: {id}

+
+ ); +} \ No newline at end of file diff --git a/frontend/src/app/(customer)/venues/page.tsx b/frontend/src/app/(customer)/venues/page.tsx new file mode 100644 index 0000000000..778b536d86 --- /dev/null +++ b/frontend/src/app/(customer)/venues/page.tsx @@ -0,0 +1,8 @@ +export default function CustomerVenuesPage() { + return ( +
+

Explore Venues

+

Find and book the perfect venue for your event.

+
+ ); +} \ No newline at end of file diff --git a/frontend/src/app/(owner)/owner/bookings/page.tsx b/frontend/src/app/(owner)/owner/bookings/page.tsx new file mode 100644 index 0000000000..06a2f8f32a --- /dev/null +++ b/frontend/src/app/(owner)/owner/bookings/page.tsx @@ -0,0 +1,8 @@ +export default function OwnerBookingsPage() { + return ( +
+

Incoming Bookings

+

Review and approve bookings for your venues.

+
+ ); +} \ No newline at end of file diff --git a/frontend/src/app/(owner)/owner/dashboard/page.tsx b/frontend/src/app/(owner)/owner/dashboard/page.tsx new file mode 100644 index 0000000000..3a88094eea --- /dev/null +++ b/frontend/src/app/(owner)/owner/dashboard/page.tsx @@ -0,0 +1,338 @@ +'use client'; + +import React, { useState, useEffect } from 'react'; +import { useRouter } from 'next/navigation'; +import Link from 'next/link'; +import { api } from '@/lib/axios'; + +export default function OwnerDashboardPage() { + const router = useRouter(); + const [currentUser, setCurrentUser] = useState(null); + const [isClient, setIsClient] = useState(false); + + const [totalVenues, setTotalVenues] = useState(0); + const [totalBookings, setTotalBookings] = useState(0); + const [pendingBookings, setPendingBookings] = useState(0); + const [recentBookings, setRecentBookings] = useState([]); + const [loadingStats, setLoadingStats] = useState(true); + + useEffect(() => { + setIsClient(true); + const token = localStorage.getItem('token'); + const userStr = localStorage.getItem('user'); + if (!token || !userStr) { + router.push('/login'); + return; + } + try { + const user = JSON.parse(userStr); + if (user.role !== 'Venue owner') { + router.push('/'); + } else { + setCurrentUser(user); + fetchStatsAndBookings(user.id); + } + } catch (e) { + router.push('/login'); + } + }, [router]); + + const fetchStatsAndBookings = async (userId: string) => { + setLoadingStats(true); + try { + const venuesRes = await api.get('/venues/my'); + const ownerVenues = venuesRes.data; + setTotalVenues(ownerVenues.length); + + const bookingsRes = await api.get('/bookings'); + const allBookings = bookingsRes.data; + + const ownerBookings = allBookings.filter((booking: any) => { + const venue = booking.venueId; + return venue && typeof venue === 'object' && String(venue.ownerId) === String(userId); + }); + + setTotalBookings(ownerBookings.length); + setPendingBookings(ownerBookings.filter((b: any) => b.status === 'pending').length); + + const sortedBookings = [...ownerBookings].sort((a: any, b: any) => { + return new Date(b.createdAt || b.date).getTime() - new Date(a.createdAt || a.date).getTime(); + }); + setRecentBookings(sortedBookings.slice(0, 3)); + } catch (err) { + console.error('Failed to fetch stats:', err); + } finally { + setLoadingStats(false); + } + }; + + const handleLogout = () => { + localStorage.removeItem('token'); + localStorage.removeItem('user'); + router.push('/login'); + }; + + if (!isClient || !currentUser) { + return ( +
+
+
+

Loading your dashboard...

+
+
+ ); + } + + return ( +
+ {/* Header */} +
+
+
+ + BookMyVenue + + +
+ +
+
+ {currentUser.name} + {currentUser.role} +
+
+ {currentUser.name.charAt(0)} +
+ +
+
+
+ + {/* Main Content */} +
+ {/* Welcome Section */} +
+ {/* Decorative Glowing Orbs */} +
+
+ +
+ + Owner Panel + +

+ Welcome back, {currentUser.name}! +

+

+ Manage your venue listings, monitor event bookings, track your earnings. +

+
+
+ + {/* Metrics Grid */} +
+ {/* Card 1: Total Venues */} +
+
+

Total Venues

+

+ {loadingStats ? '...' : totalVenues} +

+

+ Active Listings +

+
+
+ + + +
+
+ + {/* Card 2: Bookings */} +
+
+

Total Bookings

+

+ {loadingStats ? '...' : totalBookings} +

+

+ {pendingBookings > 0 && } + {pendingBookings} Pending Approval +

+
+
+ + + +
+
+ + {/* Card 3: Revenue */} + {/*
+
+

Estimated Revenue

+

$4,820

+

+ Month-to-Date +

+
+
+ + + +
+
*/} + + {/* Card 4: Average Rating */} + {/*
+
+

Average Rating

+

4.8

+

+ Based on 28 reviews +

+
+
+ + + +
+
*/} +
+ + {/* Dashboard Grid Details */} +
+ {/* Quick Actions Panel */} +
+

Quick Actions

+ + +
+

Add New Venue

+

List a new property for rent

+
+ + + + + + + + +
+

Manage Bookings

+

Approve, decline or review bookings

+
+ + + + + + + + +
+

View My Listings

+

Edit existing venues and pricing

+
+ + + + + + + +
+ + {/* Recent Bookings Panel */} +
+
+

Recent Bookings

+ + View All Bookings → + +
+ +
+ {loadingStats ? ( +
+
+
+
+ ) : recentBookings.length === 0 ? ( +

No bookings received yet.

+ ) : ( + recentBookings.map((booking) => { + const venueName = booking.venueId?.name || 'Venue'; + const initials = venueName.split(' ').map((n: string) => n[0]).join('').substring(0, 2).toUpperCase(); + const customerName = booking.userId?.name || 'Customer'; + return ( +
+
+
+ {initials} +
+
+

{venueName}

+

Customer: {customerName} • {booking.hours} hours

+

Date: {booking.date}

+
+
+
+ RS {booking.totalPrice} + + {booking.status} + +
+
+ ); + }) + )} +
+
+
+
+ + {/* Footer */} +
+
+

+ BookMyVenue. +

+ +
+
+
+ ); +} \ No newline at end of file diff --git a/frontend/src/app/(owner)/owner/venues/[id]/page.tsx b/frontend/src/app/(owner)/owner/venues/[id]/page.tsx new file mode 100644 index 0000000000..f492c63f05 --- /dev/null +++ b/frontend/src/app/(owner)/owner/venues/[id]/page.tsx @@ -0,0 +1,12 @@ +interface Props { + params: Promise<{ id: string }>; +} +export default async function OwnerVenueDetailsPage({ params }: Props) { + const { id } = await params; + return ( +
+

Edit Venue

+

Managing venue ID: {id}

+
+ ); +} \ No newline at end of file diff --git a/frontend/src/app/(owner)/owner/venues/create/page.tsx b/frontend/src/app/(owner)/owner/venues/create/page.tsx new file mode 100644 index 0000000000..cbcfa35d40 --- /dev/null +++ b/frontend/src/app/(owner)/owner/venues/create/page.tsx @@ -0,0 +1,475 @@ +'use client'; + +import React, { useState, useEffect } from 'react'; +import { useRouter } from 'next/navigation'; +import Link from 'next/link'; +import { api } from '@/lib/axios'; + +const AMENITY_OPTIONS = [ + 'WiFi', + 'Projector / Screen', + 'Sound System', + 'Microphones', + 'Whiteboard', + 'Catering Service', + 'Parking Lot', + 'Air Conditioning', + 'Stage', +]; + +const TYPE_OPTIONS = [ + 'Conference Room', + 'Banquet Hall', + 'Studio', + 'Auditorium', + 'Outdoor Space', + 'Co-working Space', + 'Other', +]; + +export default function OwnerCreateVenuePage() { + const router = useRouter(); + const [currentUser, setCurrentUser] = useState(null); + const [isClient, setIsClient] = useState(false); + + // Form State + const [name, setName] = useState(''); + const [type, setType] = useState('Conference Room'); + const [capacity, setCapacity] = useState(10); + const [location, setLocation] = useState(''); + const [pricePerHour, setPricePerHour] = useState(50); + const [imageUrl, setImageUrl] = useState(''); + const [selectedImages, setSelectedImages] = useState([]); + const [description, setDescription] = useState(''); + const [amenities, setAmenities] = useState([]); + + const [loading, setLoading] = useState(false); + const [errorMsg, setErrorMsg] = useState(''); + const [success, setSuccess] = useState(false); + + useEffect(() => { + setIsClient(true); + const token = localStorage.getItem('token'); + const userStr = localStorage.getItem('user'); + if (!token || !userStr) { + router.push('/login'); + return; + } + try { + const user = JSON.parse(userStr); + if (user.role !== 'Venue owner') { + router.push('/'); + } else { + setCurrentUser(user); + } + } catch (e) { + router.push('/login'); + } + }, [router]); + + const handleLogout = () => { + localStorage.removeItem('token'); + localStorage.removeItem('user'); + router.push('/login'); + }; + + const handleAmenityChange = (amenity: string) => { + if (amenities.includes(amenity)) { + setAmenities(amenities.filter((a) => a !== amenity)); + } else { + setAmenities([...amenities, amenity]); + } + }; + + const handleImageChange = (e: React.ChangeEvent) => { + const files = e.target.files; + if (!files) return; + + const filePromises = Array.from(files).map((file) => { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onload = () => { + if (typeof reader.result === 'string') { + resolve(reader.result); + } else { + reject(new Error('Failed to read file')); + } + }; + reader.onerror = () => reject(reader.error); + reader.readAsDataURL(file); + }); + }); + + Promise.all(filePromises) + .then((base64Strings) => { + setSelectedImages((prev) => [...prev, ...base64Strings]); + }) + .catch((err) => { + console.error('Error reading files:', err); + setErrorMsg('Failed to read one or more image files.'); + }); + }; + + const removeSelectedImage = (index: number) => { + setSelectedImages((prev) => prev.filter((_, i) => i !== index)); + }; + + const handleSubmit = async (e: React.FormEvent) => { + e.preventDefault(); + setLoading(true); + setErrorMsg(''); + setSuccess(false); + + try { + // Use device-selected images first, then fallback to URL, then default image + let imagesArray = [...selectedImages]; + // if (imagesArray.length === 0) { + // if (imageUrl.trim()) { + // imagesArray = imageUrl.split(',').map((url) => url.trim()).filter((url) => url !== ''); + // } else { + // imagesArray = ['https://images.unsplash.com/photo-1519167758481-83f550bb49b3?auto=format&fit=crop&w=1200&q=80']; + // } + // } + + await api.post('/venues', { + name, + type, + capacity: Number(capacity), + location, + pricePerHour: Number(pricePerHour), + images: imagesArray, + description, + amenities, + }); + + setSuccess(true); + setTimeout(() => { + router.push('/owner/dashboard'); + }, 1500); + } catch (err: any) { + console.error('Failed to create venue:', err); + const msg = err.response?.data?.message || 'Failed to create venue. Please check your inputs and try again.'; + setErrorMsg(Array.isArray(msg) ? msg.join(', ') : msg); + } finally { + setLoading(false); + } + }; + + if (!isClient || !currentUser) { + return ( +
+
+
+

Loading...

+
+
+ ); + } + + return ( +
+ {/* Header */} +
+
+
+ + BookMyVenue + + +
+ +
+
+ {currentUser.name} + {currentUser.role} +
+
+ {currentUser.name.charAt(0)} +
+ +
+
+
+ + {/* Main Content */} +
+
+ + ← Back to Venues + +
+ +
+ {/* Header text */} +
+

List a New Venue

+

+ Enter all specifications, pricing details, and amenities to list your property. +

+
+ + {success && ( +
+ + + + Venue created successfully! Redirecting... +
+ )} + + {errorMsg && ( +
+ {errorMsg} +
+ )} + +
+ {/* Row 1: Venue Name */} +
+ + setName(e.target.value)} + placeholder="e.g. Grand Sapphire Ballroom" + className="mt-1.5 block w-full px-4 py-3 border border-slate-250 rounded-xl shadow-sm placeholder-slate-400 bg-white text-slate-800 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 text-sm transition-all" + /> +
+ + {/* Row 2: Type & Capacity */} +
+
+ + +
+ +
+ + setCapacity(Number(e.target.value))} + placeholder="e.g. 150" + className="mt-1.5 block w-full px-4 py-3 border border-slate-250 rounded-xl shadow-sm placeholder-slate-400 bg-white text-slate-800 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 text-sm transition-all" + /> +
+
+ + {/* Row 3: Location & Price per Hour */} +
+
+ + setLocation(e.target.value)} + placeholder="e.g. Manhattan, New York" + className="mt-1.5 block w-full px-4 py-3 border border-slate-250 rounded-xl shadow-sm placeholder-slate-400 bg-white text-slate-800 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 text-sm transition-all" + /> +
+ +
+ + setPricePerHour(Number(e.target.value))} + placeholder="e.g. 120" + className="mt-1.5 block w-full px-4 py-3 border border-slate-250 rounded-xl shadow-sm placeholder-slate-400 bg-white text-slate-800 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 text-sm transition-all" + /> +
+
+ + {/* Row 4: Image Selection & URLs */} +
+ + + {/* Drag and drop selection box */} +
+ +
+ +
+ Upload files +

or drag and drop

+
+

PNG, JPG, GIF up to 5MB each

+
+
+ + {/* Previews grid */} + {selectedImages.length > 0 && ( +
+ {selectedImages.map((base64, index) => ( +
+ {`Selected + +
+ ))} +
+ )} + + {/* Advanced fallback: Image URL */} + {/*
+ + setImageUrl(e.target.value)} + placeholder="e.g. https://image1.com, https://image2.com" + className="mt-1.5 block w-full px-4 py-2 border border-slate-250 rounded-xl shadow-sm placeholder-slate-400 bg-white text-slate-800 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 text-xs transition-all" + /> +
*/} +
+ + {/* Row 5: Description */} +
+ +