From 73adfd66ed0d40e18f0d876994c70fb0133889ac Mon Sep 17 00:00:00 2001 From: Tibo De Peuter Date: Fri, 21 Feb 2025 09:53:16 +0100 Subject: [PATCH 01/14] chore: Simplificeer package-lock package-lock.json van subpackages unificeren naar root --- backend/package-lock.json | 4447 ----------------------- frontend/package-lock.json | 6825 ------------------------------------ package-lock.json | 465 +-- 3 files changed, 166 insertions(+), 11571 deletions(-) delete mode 100644 backend/package-lock.json delete mode 100644 frontend/package-lock.json diff --git a/backend/package-lock.json b/backend/package-lock.json deleted file mode 100644 index d344f142..00000000 --- a/backend/package-lock.json +++ /dev/null @@ -1,4447 +0,0 @@ -{ - "name": "dwengo-1-backend", - "version": "0.0.1", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "dwengo-1-backend", - "version": "0.0.1", - "license": "MIT", - "dependencies": { - "@mikro-orm/core": "^6.4.6", - "@mikro-orm/postgresql": "^6.4.6", - "@mikro-orm/reflection": "^6.4.6", - "dotenv": "^16.4.7", - "express": "^5.0.1" - }, - "devDependencies": { - "@mikro-orm/cli": "^6.4.6", - "@types/express": "^5.0.0", - "@types/node": "^22.13.4", - "ts-node": "^10.9.2", - "tsx": "^4.19.3", - "typescript": "^5.7.3", - "vitest": "^3.0.6" - } - }, - "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/@esbuild/aix-ppc64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz", - "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz", - "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz", - "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz", - "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz", - "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz", - "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz", - "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz", - "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz", - "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz", - "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz", - "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz", - "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz", - "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz", - "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz", - "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz", - "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz", - "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz", - "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz", - "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz", - "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz", - "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz", - "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz", - "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz", - "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz", - "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@jercle/yargonaut": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@jercle/yargonaut/-/yargonaut-1.1.5.tgz", - "integrity": "sha512-zBp2myVvBHp1UaJsNTyS6q4UDKT7eRiqTS4oNTS6VQMd6mpxYOdbeK4pY279cDCdakGy6hG0J3ejoXZVsPwHqw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "chalk": "^4.1.2", - "figlet": "^1.5.2", - "parent-require": "^1.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true, - "license": "MIT" - }, - "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/@mikro-orm/cli": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/@mikro-orm/cli/-/cli-6.4.6.tgz", - "integrity": "sha512-sTMoDSJrnHZBT+ZAG40OeZwR9zRTYHtaaub9OoMM2CrxfI1KeiNqL/XFB4LaM5SVRAbnoEFpMJwQ8KS+5NcN9w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jercle/yargonaut": "1.1.5", - "@mikro-orm/core": "6.4.6", - "@mikro-orm/knex": "6.4.6", - "fs-extra": "11.3.0", - "tsconfig-paths": "4.2.0", - "yargs": "17.7.2" - }, - "bin": { - "mikro-orm": "cli", - "mikro-orm-esm": "esm" - }, - "engines": { - "node": ">= 18.12.0" - } - }, - "node_modules/@mikro-orm/core": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/@mikro-orm/core/-/core-6.4.6.tgz", - "integrity": "sha512-xVm/ALG/3vTMgh6SrvojJ6jjMa0s2hNzWN0triDB16BaNdLwWE4aAaAe+3CuoMFqJAArSOUISTEjExbzELB1ZA==", - "license": "MIT", - "dependencies": { - "dataloader": "2.2.3", - "dotenv": "16.4.7", - "esprima": "4.0.1", - "fs-extra": "11.3.0", - "globby": "11.1.0", - "mikro-orm": "6.4.6", - "reflect-metadata": "0.2.2" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "url": "https://github.com/sponsors/b4nan" - } - }, - "node_modules/@mikro-orm/knex": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/@mikro-orm/knex/-/knex-6.4.6.tgz", - "integrity": "sha512-o6t67tFH/GuPZCCEtKbTTL8HDXNgB2ITjButCTZLwteL0qI9yE/f7K6K+dEUKW+hAL3KRvc2BQeumvCVWFeISg==", - "license": "MIT", - "dependencies": { - "fs-extra": "11.3.0", - "knex": "3.1.0", - "sqlstring": "2.3.3" - }, - "engines": { - "node": ">= 18.12.0" - }, - "peerDependencies": { - "@mikro-orm/core": "^6.0.0", - "better-sqlite3": "*", - "libsql": "*", - "mariadb": "*" - }, - "peerDependenciesMeta": { - "better-sqlite3": { - "optional": true - }, - "libsql": { - "optional": true - }, - "mariadb": { - "optional": true - } - } - }, - "node_modules/@mikro-orm/postgresql": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/@mikro-orm/postgresql/-/postgresql-6.4.6.tgz", - "integrity": "sha512-ZcuGp6n/SPzkHPANksjdLPyeu6jT7WCg3ueNViVrxdsguCi+/grz4I+hbOQDXV8uNHCAUOw6+WP2ndcVEYkZZQ==", - "license": "MIT", - "dependencies": { - "@mikro-orm/knex": "6.4.6", - "pg": "8.13.2", - "postgres-array": "3.0.2", - "postgres-date": "2.1.0", - "postgres-interval": "4.0.2" - }, - "engines": { - "node": ">= 18.12.0" - }, - "peerDependencies": { - "@mikro-orm/core": "^6.0.0" - } - }, - "node_modules/@mikro-orm/reflection": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/@mikro-orm/reflection/-/reflection-6.4.6.tgz", - "integrity": "sha512-7mL7HFVnaOOhDNgLjjndWyeJUtOl2wKn0spSqB8uRjS4XtwNEGVZNkW5YD1t/x7TJ99wUhe+oRDiySciiJSeBQ==", - "license": "MIT", - "dependencies": { - "globby": "11.1.0", - "ts-morph": "25.0.1" - }, - "engines": { - "node": ">= 18.12.0" - }, - "peerDependencies": { - "@mikro-orm/core": "^6.0.0" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "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==", - "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==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.8.tgz", - "integrity": "sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.8.tgz", - "integrity": "sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.8.tgz", - "integrity": "sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.8.tgz", - "integrity": "sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.8.tgz", - "integrity": "sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.8.tgz", - "integrity": "sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.8.tgz", - "integrity": "sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.8.tgz", - "integrity": "sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.8.tgz", - "integrity": "sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.8.tgz", - "integrity": "sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.8.tgz", - "integrity": "sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.8.tgz", - "integrity": "sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.8.tgz", - "integrity": "sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.8.tgz", - "integrity": "sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.8.tgz", - "integrity": "sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.8.tgz", - "integrity": "sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.8.tgz", - "integrity": "sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.8.tgz", - "integrity": "sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz", - "integrity": "sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@ts-morph/common": { - "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.26.1.tgz", - "integrity": "sha512-Sn28TGl/4cFpcM+jwsH1wLncYq3FtN/BIpem+HOygfBWPT5pAeS5dB4VFVzV8FbnOKHpDLZmvAl4AjPEev5idA==", - "license": "MIT", - "dependencies": { - "fast-glob": "^3.3.2", - "minimatch": "^9.0.4", - "path-browserify": "^1.0.1" - } - }, - "node_modules/@ts-morph/common/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@ts-morph/common/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "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/@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", - "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/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/express": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.0.tgz", - "integrity": "sha512-DvZriSMehGHL1ZNLzi6MidnsDhUZM/x2pRdDIKdwbUNqqwHxMlRdkxtn6/EPKyqKpHqTl/4nRZsRNLpZxZRpPQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^5.0.0", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.6.tgz", - "integrity": "sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "22.13.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.4.tgz", - "integrity": "sha512-ywP2X0DYtX3y08eFVx5fNIw7/uIv8hYUKgXoK8oayJlLnKcRfEYCxWMVE1XagUdVtCJlZT1AU4LXEABW+L1Peg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~6.20.0" - } - }, - "node_modules/@types/qs": { - "version": "6.9.18", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.18.tgz", - "integrity": "sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==", - "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": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", - "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/http-errors": "*", - "@types/node": "*", - "@types/send": "*" - } - }, - "node_modules/@vitest/expect": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.6.tgz", - "integrity": "sha512-zBduHf/ja7/QRX4HdP1DSq5XrPgdN+jzLOwaTq/0qZjYfgETNFCKf9nOAp2j3hmom3oTbczuUzrzg9Hafh7hNg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/spy": "3.0.6", - "@vitest/utils": "3.0.6", - "chai": "^5.2.0", - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/mocker": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.6.tgz", - "integrity": "sha512-KPztr4/tn7qDGZfqlSPQoF2VgJcKxnDNhmfR3VgZ6Fy1bO8T9Fc1stUiTXtqz0yG24VpD00pZP5f8EOFknjNuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/spy": "3.0.6", - "estree-walker": "^3.0.3", - "magic-string": "^0.30.17" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "msw": "^2.4.9", - "vite": "^5.0.0 || ^6.0.0" - }, - "peerDependenciesMeta": { - "msw": { - "optional": true - }, - "vite": { - "optional": true - } - } - }, - "node_modules/@vitest/pretty-format": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.6.tgz", - "integrity": "sha512-Zyctv3dbNL+67qtHfRnUE/k8qxduOamRfAL1BurEIQSyOEFffoMvx2pnDSSbKAAVxY0Ej2J/GH2dQKI0W2JyVg==", - "dev": true, - "license": "MIT", - "dependencies": { - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/runner": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.6.tgz", - "integrity": "sha512-JopP4m/jGoaG1+CBqubV/5VMbi7L+NQCJTu1J1Pf6YaUbk7bZtaq5CX7p+8sY64Sjn1UQ1XJparHfcvTTdu9cA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/utils": "3.0.6", - "pathe": "^2.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/snapshot": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.6.tgz", - "integrity": "sha512-qKSmxNQwT60kNwwJHMVwavvZsMGXWmngD023OHSgn873pV0lylK7dwBTfYP7e4URy5NiBCHHiQGA9DHkYkqRqg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "3.0.6", - "magic-string": "^0.30.17", - "pathe": "^2.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/spy": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.6.tgz", - "integrity": "sha512-HfOGx/bXtjy24fDlTOpgiAEJbRfFxoX3zIGagCqACkFKKZ/TTOE6gYMKXlqecvxEndKFuNHcHqP081ggZ2yM0Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "tinyspy": "^3.0.2" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/utils": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.6.tgz", - "integrity": "sha512-18ktZpf4GQFTbf9jK543uspU03Q2qya7ZGya5yiZ0Gx0nnnalBvd5ZBislbl2EhLjM8A8rt4OilqKG7QwcGkvQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "3.0.6", - "loupe": "^3.1.3", - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "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.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", - "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.11.0" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "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/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/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "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==", - "license": "MIT" - }, - "node_modules/body-parser": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.1.0.tgz", - "integrity": "sha512-/hPxh61E+ll0Ujp24Ilm64cykicul1ypfwjVttduAiEdtnJFvLePSrIPk+HMImtNv5270wOGCb1Tns2rybMkoQ==", - "license": "MIT", - "dependencies": { - "bytes": "^3.1.2", - "content-type": "^1.0.5", - "debug": "^4.4.0", - "http-errors": "^2.0.0", - "iconv-lite": "^0.5.2", - "on-finished": "^2.4.1", - "qs": "^6.14.0", - "raw-body": "^3.0.0", - "type-is": "^2.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/body-parser/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/body-parser/node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "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/cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=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.3", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", - "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/chai": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.0.tgz", - "integrity": "sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==", - "dev": true, - "license": "MIT", - "dependencies": { - "assertion-error": "^2.0.1", - "check-error": "^2.1.1", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "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/check-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", - "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 16" - } - }, - "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/code-block-writer": { - "version": "13.0.3", - "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-13.0.3.tgz", - "integrity": "sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==", - "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/colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", - "license": "MIT" - }, - "node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "license": "MIT", - "engines": { - "node": ">=14" - } - }, - "node_modules/content-disposition": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", - "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", - "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", - "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/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/dataloader": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-2.2.3.tgz", - "integrity": "sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA==", - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", - "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-eql": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", - "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "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/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dotenv": { - "version": "16.4.7", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", - "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", - "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/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/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/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": "1.6.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", - "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/esbuild": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz", - "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.24.2", - "@esbuild/android-arm": "0.24.2", - "@esbuild/android-arm64": "0.24.2", - "@esbuild/android-x64": "0.24.2", - "@esbuild/darwin-arm64": "0.24.2", - "@esbuild/darwin-x64": "0.24.2", - "@esbuild/freebsd-arm64": "0.24.2", - "@esbuild/freebsd-x64": "0.24.2", - "@esbuild/linux-arm": "0.24.2", - "@esbuild/linux-arm64": "0.24.2", - "@esbuild/linux-ia32": "0.24.2", - "@esbuild/linux-loong64": "0.24.2", - "@esbuild/linux-mips64el": "0.24.2", - "@esbuild/linux-ppc64": "0.24.2", - "@esbuild/linux-riscv64": "0.24.2", - "@esbuild/linux-s390x": "0.24.2", - "@esbuild/linux-x64": "0.24.2", - "@esbuild/netbsd-arm64": "0.24.2", - "@esbuild/netbsd-x64": "0.24.2", - "@esbuild/openbsd-arm64": "0.24.2", - "@esbuild/openbsd-x64": "0.24.2", - "@esbuild/sunos-x64": "0.24.2", - "@esbuild/win32-arm64": "0.24.2", - "@esbuild/win32-ia32": "0.24.2", - "@esbuild/win32-x64": "0.24.2" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "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/esm": { - "version": "3.2.25", - "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", - "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "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==", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.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/expect-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.1.0.tgz", - "integrity": "sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/express": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/express/-/express-5.0.1.tgz", - "integrity": "sha512-ORF7g6qGnD+YtUG9yx4DFoqCShNMmUKiXuT5oWMHiOvt/4WFbHC6yCwQMTSBMno7AqntNCAzzcnnjowRkTL9eQ==", - "license": "MIT", - "dependencies": { - "accepts": "^2.0.0", - "body-parser": "^2.0.1", - "content-disposition": "^1.0.0", - "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "^1.2.1", - "debug": "4.3.6", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "^2.0.0", - "fresh": "2.0.0", - "http-errors": "2.0.0", - "merge-descriptors": "^2.0.0", - "methods": "~1.1.2", - "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.13.0", - "range-parser": "~1.2.1", - "router": "^2.0.0", - "safe-buffer": "5.2.1", - "send": "^1.1.0", - "serve-static": "^2.1.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "^2.0.0", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "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.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fastq": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.0.tgz", - "integrity": "sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==", - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/figlet": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.8.0.tgz", - "integrity": "sha512-chzvGjd+Sp7KUvPHZv6EXV5Ir3Q7kYNpCr4aHrRW79qFtTefmQZNny+W1pW9kf5zeE6dikku2W50W/wAH2xWgw==", - "dev": true, - "license": "MIT", - "bin": { - "figlet": "bin/index.js" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.0.0.tgz", - "integrity": "sha512-MX6Zo2adDViYh+GcxxB1dpO43eypOGUOL12rLCOTMQv/DfIbpSJUy4oQIIZhVZkH9e+bZWKMon0XHFEju16tkQ==", - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "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": "11.3.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", - "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "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/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.2.7", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", - "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "function-bind": "^1.1.2", - "get-proto": "^1.0.0", - "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==", - "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-tsconfig": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz", - "integrity": "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve-pkg-maps": "^1.0.0" - }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - } - }, - "node_modules/getopts": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.3.0.tgz", - "integrity": "sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==", - "license": "MIT" - }, - "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==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/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==", - "license": "ISC" - }, - "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/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "license": "MIT", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/iconv-lite": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.2.tgz", - "integrity": "sha512-kERHXvpSaB4aU3eANwidg79K8FlrN77m8G9V+0vOR3HYaRifrlwMEpT7ZBJqLSEIHnEgJTHcWK82wwLwwKwtag==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "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/interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "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-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "license": "MIT", - "dependencies": { - "hasown": "^2.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==", - "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-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "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/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/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/knex": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/knex/-/knex-3.1.0.tgz", - "integrity": "sha512-GLoII6hR0c4ti243gMs5/1Rb3B+AjwMOfjYm97pu0FOQa7JH56hgBxYf5WK2525ceSbBY1cjeZ9yk99GPMB6Kw==", - "license": "MIT", - "dependencies": { - "colorette": "2.0.19", - "commander": "^10.0.0", - "debug": "4.3.4", - "escalade": "^3.1.1", - "esm": "^3.2.25", - "get-package-type": "^0.1.0", - "getopts": "2.3.0", - "interpret": "^2.2.0", - "lodash": "^4.17.21", - "pg-connection-string": "2.6.2", - "rechoir": "^0.8.0", - "resolve-from": "^5.0.0", - "tarn": "^3.0.2", - "tildify": "2.0.0" - }, - "bin": { - "knex": "bin/cli.js" - }, - "engines": { - "node": ">=16" - }, - "peerDependenciesMeta": { - "better-sqlite3": { - "optional": true - }, - "mysql": { - "optional": true - }, - "mysql2": { - "optional": true - }, - "pg": { - "optional": true - }, - "pg-native": { - "optional": true - }, - "sqlite3": { - "optional": true - }, - "tedious": { - "optional": true - } - } - }, - "node_modules/knex/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "license": "MIT" - }, - "node_modules/loupe": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz", - "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==", - "dev": true, - "license": "MIT" - }, - "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-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/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/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/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "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==", - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mikro-orm": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/mikro-orm/-/mikro-orm-6.4.6.tgz", - "integrity": "sha512-Lr3uFK06O/4F/AtQAsuYD6QH7DgmUooSVFVGf1y02IuiKVFKOMJ4iKimkRMyoA+ykKhgYIp8WiaEqbWJVuz4Vw==", - "license": "MIT", - "engines": { - "node": ">= 18.12.0" - } - }, - "node_modules/mime-db": { - "version": "1.53.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.53.0.tgz", - "integrity": "sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.0.tgz", - "integrity": "sha512-XqoSHeCGjVClAmoGFG3lVFqQFRIrTVw2OH3axRqAcfaw+gHWIfnASS92AV+Rl/mk0MupgZTRHQOjxY6YVnzK5w==", - "license": "MIT", - "dependencies": { - "mime-db": "^1.53.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "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.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", - "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", - "dev": true, - "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/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/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/parent-require": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parent-require/-/parent-require-1.0.0.tgz", - "integrity": "sha512-2MXDNZC4aXdkkap+rBBMv0lUsfJqvX5/2FiYYnfCnorZt3Pk06/IOR5KeaoghgS2w07MLWgjbsnyaq6PdHn2LQ==", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "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-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "license": "MIT" - }, - "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==", - "license": "MIT" - }, - "node_modules/path-to-regexp": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", - "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", - "license": "MIT", - "engines": { - "node": ">=16" - } - }, - "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==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "dev": true, - "license": "MIT" - }, - "node_modules/pathval": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", - "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.16" - } - }, - "node_modules/pg": { - "version": "8.13.2", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.13.2.tgz", - "integrity": "sha512-L5QkPvTjVWWHbLaFjCkOSplpb2uCiRYbg0IJ2okCy5ClYfWlSgDDnvdR6dyw3EWAH2AfS4j8E61QFI7gLfTtlw==", - "license": "MIT", - "dependencies": { - "pg-connection-string": "^2.7.0", - "pg-pool": "^3.7.1", - "pg-protocol": "^1.7.1", - "pg-types": "^2.1.0", - "pgpass": "1.x" - }, - "engines": { - "node": ">= 8.0.0" - }, - "optionalDependencies": { - "pg-cloudflare": "^1.1.1" - }, - "peerDependencies": { - "pg-native": ">=3.0.1" - }, - "peerDependenciesMeta": { - "pg-native": { - "optional": true - } - } - }, - "node_modules/pg-cloudflare": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.1.1.tgz", - "integrity": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==", - "license": "MIT", - "optional": true - }, - "node_modules/pg-connection-string": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.2.tgz", - "integrity": "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==", - "license": "MIT" - }, - "node_modules/pg-int8": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", - "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", - "license": "ISC", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/pg-pool": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.7.1.tgz", - "integrity": "sha512-xIOsFoh7Vdhojas6q3596mXFsR8nwBQBXX5JiV7p9buEVAGqYL4yFzclON5P9vFrpu1u7Zwl2oriyDa89n0wbw==", - "license": "MIT", - "peerDependencies": { - "pg": ">=8.0" - } - }, - "node_modules/pg-protocol": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.7.1.tgz", - "integrity": "sha512-gjTHWGYWsEgy9MsY0Gp6ZJxV24IjDqdpTW7Eh0x+WfJLFsm/TJx1MzL6T0D88mBvkpxotCQ6TwW6N+Kko7lhgQ==", - "license": "MIT" - }, - "node_modules/pg-types": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", - "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", - "license": "MIT", - "dependencies": { - "pg-int8": "1.0.1", - "postgres-array": "~2.0.0", - "postgres-bytea": "~1.0.0", - "postgres-date": "~1.0.4", - "postgres-interval": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pg-types/node_modules/postgres-array": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", - "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/pg-types/node_modules/postgres-date": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", - "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pg-types/node_modules/postgres-interval": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", - "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", - "license": "MIT", - "dependencies": { - "xtend": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pg/node_modules/pg-connection-string": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.7.0.tgz", - "integrity": "sha512-PI2W9mv53rXJQEOb8xNR8lH7Hr+EKa6oJa38zsK0S/ky2er16ios1wLKhZyxzD7jUReiWokc9WK5nxSnC7W1TA==", - "license": "MIT" - }, - "node_modules/pgpass": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", - "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", - "license": "MIT", - "dependencies": { - "split2": "^4.1.0" - } - }, - "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": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/postcss": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", - "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", - "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.8", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postgres-array": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-3.0.2.tgz", - "integrity": "sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==", - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/postgres-bytea": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", - "integrity": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postgres-date": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-2.1.0.tgz", - "integrity": "sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==", - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/postgres-interval": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-4.0.2.tgz", - "integrity": "sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==", - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "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/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "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.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", - "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.6.3", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rechoir": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", - "license": "MIT", - "dependencies": { - "resolve": "^1.20.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "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/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.0", - "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": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "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.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rollup": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.8.tgz", - "integrity": "sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.6" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.34.8", - "@rollup/rollup-android-arm64": "4.34.8", - "@rollup/rollup-darwin-arm64": "4.34.8", - "@rollup/rollup-darwin-x64": "4.34.8", - "@rollup/rollup-freebsd-arm64": "4.34.8", - "@rollup/rollup-freebsd-x64": "4.34.8", - "@rollup/rollup-linux-arm-gnueabihf": "4.34.8", - "@rollup/rollup-linux-arm-musleabihf": "4.34.8", - "@rollup/rollup-linux-arm64-gnu": "4.34.8", - "@rollup/rollup-linux-arm64-musl": "4.34.8", - "@rollup/rollup-linux-loongarch64-gnu": "4.34.8", - "@rollup/rollup-linux-powerpc64le-gnu": "4.34.8", - "@rollup/rollup-linux-riscv64-gnu": "4.34.8", - "@rollup/rollup-linux-s390x-gnu": "4.34.8", - "@rollup/rollup-linux-x64-gnu": "4.34.8", - "@rollup/rollup-linux-x64-musl": "4.34.8", - "@rollup/rollup-win32-arm64-msvc": "4.34.8", - "@rollup/rollup-win32-ia32-msvc": "4.34.8", - "@rollup/rollup-win32-x64-msvc": "4.34.8", - "fsevents": "~2.3.2" - } - }, - "node_modules/router": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/router/-/router-2.1.0.tgz", - "integrity": "sha512-/m/NSLxeYEgWNtyC+WtNHCF7jbGxOibVWKnn+1Psff4dJGOfoXP+MuC/f2CwSmyiHdOIzYnYFp4W6GxWfekaLA==", - "license": "MIT", - "dependencies": { - "is-promise": "^4.0.0", - "parseurl": "^1.3.3", - "path-to-regexp": "^8.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "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/send": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/send/-/send-1.1.0.tgz", - "integrity": "sha512-v67WcEouB5GxbTWL/4NeToqcZiAWEq90N888fczVArY8A79J0L4FD7vj5hm3eUMua5EpoQ59wa/oovY6TLvRUA==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "destroy": "^1.2.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "fresh": "^0.5.2", - "http-errors": "^2.0.0", - "mime-types": "^2.1.35", - "ms": "^2.1.3", - "on-finished": "^2.4.1", - "range-parser": "^1.2.1", - "statuses": "^2.0.1" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/send/node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/send/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/send/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/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/serve-static": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.1.0.tgz", - "integrity": "sha512-A3We5UfEjG8Z7VkDv6uItWw6HY2bBSBJT1KtVESn6EOoOr2jAxNhxWCLY3jDE2WcuHXByWju74ck3ZgLwL8xmA==", - "license": "MIT", - "dependencies": { - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "parseurl": "^1.3.3", - "send": "^1.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "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/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.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "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/siginfo": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", - "dev": true, - "license": "ISC" - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "license": "ISC", - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/sqlstring": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz", - "integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/stackback": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", - "dev": true, - "license": "MIT" - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/std-env": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.0.tgz", - "integrity": "sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==", - "dev": true, - "license": "MIT" - }, - "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/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": "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/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==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tarn": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz", - "integrity": "sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==", - "license": "MIT", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/tildify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz", - "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/tinybench": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", - "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", - "dev": true, - "license": "MIT" - }, - "node_modules/tinyexec": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", - "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/tinypool": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.2.tgz", - "integrity": "sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.0.0 || >=20.0.0" - } - }, - "node_modules/tinyrainbow": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", - "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tinyspy": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", - "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "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==", - "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/ts-morph": { - "version": "25.0.1", - "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-25.0.1.tgz", - "integrity": "sha512-QJEiTdnz1YjrB3JFhd626gX4rKHDLSjSVMvGGG4v7ONc3RBwa0Eei98G9AT9uNFDMtV54JyuXsFeC+OH0n6bXQ==", - "license": "MIT", - "dependencies": { - "@ts-morph/common": "~0.26.0", - "code-block-writer": "^13.0.3" - } - }, - "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/tsx": { - "version": "4.19.3", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.19.3.tgz", - "integrity": "sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "~0.25.0", - "get-tsconfig": "^4.7.5" - }, - "bin": { - "tsx": "dist/cli.mjs" - }, - "engines": { - "node": ">=18.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - } - }, - "node_modules/tsx/node_modules/@esbuild/aix-ppc64": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.0.tgz", - "integrity": "sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/android-arm": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.0.tgz", - "integrity": "sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/android-arm64": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.0.tgz", - "integrity": "sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/android-x64": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.0.tgz", - "integrity": "sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/darwin-arm64": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.0.tgz", - "integrity": "sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/darwin-x64": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.0.tgz", - "integrity": "sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.0.tgz", - "integrity": "sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/freebsd-x64": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.0.tgz", - "integrity": "sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-arm": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.0.tgz", - "integrity": "sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-arm64": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.0.tgz", - "integrity": "sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-ia32": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.0.tgz", - "integrity": "sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-loong64": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.0.tgz", - "integrity": "sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-mips64el": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.0.tgz", - "integrity": "sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-ppc64": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.0.tgz", - "integrity": "sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-riscv64": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.0.tgz", - "integrity": "sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-s390x": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.0.tgz", - "integrity": "sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-x64": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.0.tgz", - "integrity": "sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.0.tgz", - "integrity": "sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/netbsd-x64": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.0.tgz", - "integrity": "sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.0.tgz", - "integrity": "sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/openbsd-x64": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.0.tgz", - "integrity": "sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/sunos-x64": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.0.tgz", - "integrity": "sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/win32-arm64": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.0.tgz", - "integrity": "sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/win32-ia32": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.0.tgz", - "integrity": "sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/win32-x64": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.0.tgz", - "integrity": "sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/esbuild": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.0.tgz", - "integrity": "sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.0", - "@esbuild/android-arm": "0.25.0", - "@esbuild/android-arm64": "0.25.0", - "@esbuild/android-x64": "0.25.0", - "@esbuild/darwin-arm64": "0.25.0", - "@esbuild/darwin-x64": "0.25.0", - "@esbuild/freebsd-arm64": "0.25.0", - "@esbuild/freebsd-x64": "0.25.0", - "@esbuild/linux-arm": "0.25.0", - "@esbuild/linux-arm64": "0.25.0", - "@esbuild/linux-ia32": "0.25.0", - "@esbuild/linux-loong64": "0.25.0", - "@esbuild/linux-mips64el": "0.25.0", - "@esbuild/linux-ppc64": "0.25.0", - "@esbuild/linux-riscv64": "0.25.0", - "@esbuild/linux-s390x": "0.25.0", - "@esbuild/linux-x64": "0.25.0", - "@esbuild/netbsd-arm64": "0.25.0", - "@esbuild/netbsd-x64": "0.25.0", - "@esbuild/openbsd-arm64": "0.25.0", - "@esbuild/openbsd-x64": "0.25.0", - "@esbuild/sunos-x64": "0.25.0", - "@esbuild/win32-arm64": "0.25.0", - "@esbuild/win32-ia32": "0.25.0", - "@esbuild/win32-x64": "0.25.0" - } - }, - "node_modules/type-is": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.0.tgz", - "integrity": "sha512-gd0sGezQYCbWSbkZr75mln4YBidWUN60+devscpLF5mtRDUpiaTvKpBNrdaCvel1NdR2k6vclXybU5fBd2i+nw==", - "license": "MIT", - "dependencies": { - "content-type": "^1.0.5", - "media-typer": "^1.1.0", - "mime-types": "^3.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typescript": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", - "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", - "dev": true, - "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==", - "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/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, - "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/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/vite": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.1.1.tgz", - "integrity": "sha512-4GgM54XrwRfrOp297aIYspIti66k56v16ZnqHvrIM7mG+HjDlAwS7p+Srr7J6fGvEdOJ5JcQ/D9T7HhtdXDTzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.24.2", - "postcss": "^8.5.2", - "rollup": "^4.30.1" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "jiti": ">=1.21.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/vite-node": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.6.tgz", - "integrity": "sha512-s51RzrTkXKJrhNbUzQRsarjmAae7VmMPAsRT7lppVpIg6mK3zGthP9Hgz0YQQKuNcF+Ii7DfYk3Fxz40jRmePw==", - "dev": true, - "license": "MIT", - "dependencies": { - "cac": "^6.7.14", - "debug": "^4.4.0", - "es-module-lexer": "^1.6.0", - "pathe": "^2.0.3", - "vite": "^5.0.0 || ^6.0.0" - }, - "bin": { - "vite-node": "vite-node.mjs" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/vite-node/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/vite-node/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/vitest": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.6.tgz", - "integrity": "sha512-/iL1Sc5VeDZKPDe58oGK4HUFLhw6b5XdY1MYawjuSaDA4sEfYlY9HnS6aCEG26fX+MgUi7MwlduTBHHAI/OvMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/expect": "3.0.6", - "@vitest/mocker": "3.0.6", - "@vitest/pretty-format": "^3.0.6", - "@vitest/runner": "3.0.6", - "@vitest/snapshot": "3.0.6", - "@vitest/spy": "3.0.6", - "@vitest/utils": "3.0.6", - "chai": "^5.2.0", - "debug": "^4.4.0", - "expect-type": "^1.1.0", - "magic-string": "^0.30.17", - "pathe": "^2.0.3", - "std-env": "^3.8.0", - "tinybench": "^2.9.0", - "tinyexec": "^0.3.2", - "tinypool": "^1.0.2", - "tinyrainbow": "^2.0.0", - "vite": "^5.0.0 || ^6.0.0", - "vite-node": "3.0.6", - "why-is-node-running": "^2.3.0" - }, - "bin": { - "vitest": "vitest.mjs" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "@edge-runtime/vm": "*", - "@types/debug": "^4.1.12", - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.0.6", - "@vitest/ui": "3.0.6", - "happy-dom": "*", - "jsdom": "*" - }, - "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@types/debug": { - "optional": true - }, - "@types/node": { - "optional": true - }, - "@vitest/browser": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { - "optional": true - } - } - }, - "node_modules/vitest/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/vitest/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/why-is-node-running": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", - "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", - "dev": true, - "license": "MIT", - "dependencies": { - "siginfo": "^2.0.0", - "stackback": "0.0.2" - }, - "bin": { - "why-is-node-running": "cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "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/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/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "license": "MIT", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "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" - } - } - } -} diff --git a/frontend/package-lock.json b/frontend/package-lock.json deleted file mode 100644 index b1e13507..00000000 --- a/frontend/package-lock.json +++ /dev/null @@ -1,6825 +0,0 @@ -{ - "name": "dwengo-1-frontend", - "version": "0.0.1", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "dwengo-1-frontend", - "version": "0.0.1", - "dependencies": { - "vue": "^3.5.13", - "vue-router": "^4.5.0", - "vuetify": "^3.7.12" - }, - "devDependencies": { - "@playwright/test": "^1.50.1", - "@tsconfig/node22": "^22.0.0", - "@types/jsdom": "^21.1.7", - "@types/node": "^22.13.4", - "@vitejs/plugin-vue": "^5.2.1", - "@vitest/eslint-plugin": "1.1.31", - "@vue/eslint-config-prettier": "^10.2.0", - "@vue/eslint-config-typescript": "^14.4.0", - "@vue/test-utils": "^2.4.6", - "@vue/tsconfig": "^0.7.0", - "eslint": "^9.20.1", - "eslint-plugin-playwright": "^2.2.0", - "eslint-plugin-vue": "^9.32.0", - "jiti": "^2.4.2", - "jsdom": "^26.0.0", - "npm-run-all2": "^7.0.2", - "prettier": "^3.5.1", - "typescript": "~5.7.3", - "vite": "^6.1.0", - "vite-plugin-vue-devtools": "^7.7.2", - "vitest": "^3.0.5", - "vue-tsc": "^2.2.2" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@antfu/utils": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.10.tgz", - "integrity": "sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@asamuzakjp/css-color": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-2.8.3.tgz", - "integrity": "sha512-GIc76d9UI1hCvOATjZPyHFmE5qhRccp3/zGfMPapK3jBi+yocEzp6BBB0UnfRYP9NP4FANqUZYb0hnfs3TM3hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@csstools/css-calc": "^2.1.1", - "@csstools/css-color-parser": "^3.0.7", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "lru-cache": "^10.4.3" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", - "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz", - "integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.9", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.9", - "@babel/parser": "^7.26.9", - "@babel/template": "^7.26.9", - "@babel/traverse": "^7.26.9", - "@babel/types": "^7.26.9", - "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.26.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.9.tgz", - "integrity": "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.26.9", - "@babel/types": "^7.26.9", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", - "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", - "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.26.5", - "@babel/helper-validator-option": "^7.25.9", - "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/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/@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-create-class-features-plugin": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.26.9.tgz", - "integrity": "sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-member-expression-to-functions": "^7.25.9", - "@babel/helper-optimise-call-expression": "^7.25.9", - "@babel/helper-replace-supers": "^7.26.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/traverse": "^7.26.9", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/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-member-expression-to-functions": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", - "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", - "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", - "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", - "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", - "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz", - "integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.25.9", - "@babel/helper-optimise-call-expression": "^7.25.9", - "@babel/traverse": "^7.26.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", - "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", - "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.9.tgz", - "integrity": "sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.26.9", - "@babel/types": "^7.26.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.9.tgz", - "integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.26.9" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.25.9.tgz", - "integrity": "sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/plugin-syntax-decorators": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.9.tgz", - "integrity": "sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", - "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "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-jsx": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", - "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", - "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.26.8.tgz", - "integrity": "sha512-bME5J9AC8ChwA7aEPJ6zym3w7aObZULHhbNLU0bKUhKsAkylkzUdq+0kdymh9rzi8nlNFl2bmldFBCKNJBUpuw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.26.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/plugin-syntax-typescript": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", - "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/parser": "^7.26.9", - "@babel/types": "^7.26.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.9.tgz", - "integrity": "sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.9", - "@babel/parser": "^7.26.9", - "@babel/template": "^7.26.9", - "@babel/types": "^7.26.9", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/types": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.9.tgz", - "integrity": "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==", - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@csstools/color-helpers": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.1.tgz", - "integrity": "sha512-MKtmkA0BX87PKaO1NFRTFH+UnkgnmySQOvNxJubsadusqPEC2aJ9MOQiMceZJJ6oitUl/i0L6u0M1IrmAOmgBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" - } - }, - "node_modules/@csstools/css-calc": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.1.tgz", - "integrity": "sha512-rL7kaUnTkL9K+Cvo2pnCieqNpTKgQzy5f+N+5Iuko9HAoasP+xgprVh7KN/MaJVvVL1l0EzQq2MoqBHKSrDrag==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" - } - }, - "node_modules/@csstools/css-color-parser": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.7.tgz", - "integrity": "sha512-nkMp2mTICw32uE5NN+EsJ4f5N+IGFeCFu4bGpiKgb2Pq/7J/MpyLBeQ5ry4KKtRFZaYs6sTmcMYrSRIyj5DFKA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "dependencies": { - "@csstools/color-helpers": "^5.0.1", - "@csstools/css-calc": "^2.1.1" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" - } - }, - "node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.4.tgz", - "integrity": "sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.3" - } - }, - "node_modules/@csstools/css-tokenizer": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.3.tgz", - "integrity": "sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz", - "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz", - "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz", - "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz", - "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz", - "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz", - "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz", - "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz", - "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz", - "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz", - "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz", - "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz", - "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz", - "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz", - "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz", - "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz", - "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz", - "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz", - "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz", - "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz", - "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz", - "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz", - "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz", - "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz", - "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz", - "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", - "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", - "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/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", - "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.6", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/core": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.11.0.tgz", - "integrity": "sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA==", - "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.2.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", - "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "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.0", - "minimatch": "^3.1.2", - "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/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/js": { - "version": "9.20.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.20.0.tgz", - "integrity": "sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/object-schema": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", - "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.6.tgz", - "integrity": "sha512-+0TjwR1eAUdZtvv/ir1mGX+v0tUoR3VEPB8Up0LLJC+whRW0GgBBtpbOkg/a/U4Dxa6l5a3l9AJ1aWIQVyoWJA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.11.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", - "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.3.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", - "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "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.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", - "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "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/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "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/@one-ini/wasm": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", - "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", - "dev": true, - "license": "MIT" - }, - "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.1.1", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", - "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/@playwright/test": { - "version": "1.50.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.50.1.tgz", - "integrity": "sha512-Jii3aBg+CEDpgnuDxEp/h7BimHcUTDlpEtce89xEumlJ5ef2hqepZ+PWp1DDpYC/VO9fmWVI1IlEaoI5fK9FXQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.50.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@polka/url": { - "version": "1.0.0-next.28", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.28.tgz", - "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/pluginutils": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", - "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/pluginutils/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.8.tgz", - "integrity": "sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.8.tgz", - "integrity": "sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.8.tgz", - "integrity": "sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.8.tgz", - "integrity": "sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.8.tgz", - "integrity": "sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.8.tgz", - "integrity": "sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.8.tgz", - "integrity": "sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.8.tgz", - "integrity": "sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.8.tgz", - "integrity": "sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.8.tgz", - "integrity": "sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.8.tgz", - "integrity": "sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.8.tgz", - "integrity": "sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.8.tgz", - "integrity": "sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.8.tgz", - "integrity": "sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.8.tgz", - "integrity": "sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.8.tgz", - "integrity": "sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.8.tgz", - "integrity": "sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.8.tgz", - "integrity": "sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz", - "integrity": "sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@sec-ant/readable-stream": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", - "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@sindresorhus/merge-streams": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", - "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@tsconfig/node22": { - "version": "22.0.0", - "resolved": "https://registry.npmjs.org/@tsconfig/node22/-/node22-22.0.0.tgz", - "integrity": "sha512-twLQ77zevtxobBOD4ToAtVmuYrpeYUh3qh+TEp+08IWhpsrIflVHqQ1F1CiPxQGL7doCdBIOOCF+1Tm833faNg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/jsdom": { - "version": "21.1.7", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.7.tgz", - "integrity": "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.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/node": { - "version": "22.13.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.4.tgz", - "integrity": "sha512-ywP2X0DYtX3y08eFVx5fNIw7/uIv8hYUKgXoK8oayJlLnKcRfEYCxWMVE1XagUdVtCJlZT1AU4LXEABW+L1Peg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~6.20.0" - } - }, - "node_modules/@types/tough-cookie": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", - "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.24.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.24.1.tgz", - "integrity": "sha512-ll1StnKtBigWIGqvYDVuDmXJHVH4zLVot1yQ4fJtLpL7qacwkxJc1T0bptqw+miBQ/QfUbhl1TcQ4accW5KUyA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.24.1", - "@typescript-eslint/type-utils": "8.24.1", - "@typescript-eslint/utils": "8.24.1", - "@typescript-eslint/visitor-keys": "8.24.1", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.0.1" - }, - "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.0.0 || ^8.0.0-alpha.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "8.24.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.24.1.tgz", - "integrity": "sha512-Tqoa05bu+t5s8CTZFaGpCH2ub3QeT9YDkXbPd3uQ4SfsLoh1/vv2GEYAioPoxCWJJNsenXlC88tRjwoHNts1oQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/scope-manager": "8.24.1", - "@typescript-eslint/types": "8.24.1", - "@typescript-eslint/typescript-estree": "8.24.1", - "@typescript-eslint/visitor-keys": "8.24.1", - "debug": "^4.3.4" - }, - "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", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.24.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.24.1.tgz", - "integrity": "sha512-OdQr6BNBzwRjNEXMQyaGyZzgg7wzjYKfX2ZBV3E04hUCBDv3GQCHiz9RpqdUIiVrMgJGkXm3tcEh4vFSHreS2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.24.1", - "@typescript-eslint/visitor-keys": "8.24.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/type-utils": { - "version": "8.24.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.24.1.tgz", - "integrity": "sha512-/Do9fmNgCsQ+K4rCz0STI7lYB4phTtEXqqCAs3gZW0pnK7lWNkvWd5iW545GSmApm4AzmQXmSqXPO565B4WVrw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/typescript-estree": "8.24.1", - "@typescript-eslint/utils": "8.24.1", - "debug": "^4.3.4", - "ts-api-utils": "^2.0.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", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "8.24.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.24.1.tgz", - "integrity": "sha512-9kqJ+2DkUXiuhoiYIUvIYjGcwle8pcPpdlfkemGvTObzgmYfJ5d0Qm6jwb4NBXP9W1I5tss0VIAnWFumz3mC5A==", - "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.24.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.24.1.tgz", - "integrity": "sha512-UPyy4MJ/0RE648DSKQe9g0VDSehPINiejjA6ElqnFaFIhI6ZEiZAkUI0D5MCk0bQcTf/LVqZStvQ6K4lPn/BRg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.24.1", - "@typescript-eslint/visitor-keys": "8.24.1", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^2.0.1" - }, - "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 <5.8.0" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "8.24.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.24.1.tgz", - "integrity": "sha512-OOcg3PMMQx9EXspId5iktsI3eMaXVwlhC8BvNnX6B5w9a4dVgpkQZuU8Hy67TolKcl+iFWq0XX+jbDGN4xWxjQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.24.1", - "@typescript-eslint/types": "8.24.1", - "@typescript-eslint/typescript-estree": "8.24.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", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.24.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.24.1.tgz", - "integrity": "sha512-EwVHlp5l+2vp8CoqJm9KikPZgi3gbdZAtabKT9KPShGeOcJhsv4Zdo3oc8T8I0uKEmYoU4ItyxbptjF08enaxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.24.1", - "eslint-visitor-keys": "^4.2.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": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "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/@vitejs/plugin-vue": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.1.tgz", - "integrity": "sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "peerDependencies": { - "vite": "^5.0.0 || ^6.0.0", - "vue": "^3.2.25" - } - }, - "node_modules/@vitest/eslint-plugin": { - "version": "1.1.31", - "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.31.tgz", - "integrity": "sha512-xlsLr+e+AXZ/00eVZCtNmMeCJoJaRCoLDiAgLcxgQjSS1EertieB2MUHf8xIqPKs9lECc/UpL+y1xDcpvi02hw==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@typescript-eslint/utils": ">= 8.0", - "eslint": ">= 8.57.0", - "typescript": ">= 5.0.0", - "vitest": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - }, - "vitest": { - "optional": true - } - } - }, - "node_modules/@vitest/expect": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.6.tgz", - "integrity": "sha512-zBduHf/ja7/QRX4HdP1DSq5XrPgdN+jzLOwaTq/0qZjYfgETNFCKf9nOAp2j3hmom3oTbczuUzrzg9Hafh7hNg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/spy": "3.0.6", - "@vitest/utils": "3.0.6", - "chai": "^5.2.0", - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/mocker": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.6.tgz", - "integrity": "sha512-KPztr4/tn7qDGZfqlSPQoF2VgJcKxnDNhmfR3VgZ6Fy1bO8T9Fc1stUiTXtqz0yG24VpD00pZP5f8EOFknjNuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/spy": "3.0.6", - "estree-walker": "^3.0.3", - "magic-string": "^0.30.17" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "msw": "^2.4.9", - "vite": "^5.0.0 || ^6.0.0" - }, - "peerDependenciesMeta": { - "msw": { - "optional": true - }, - "vite": { - "optional": true - } - } - }, - "node_modules/@vitest/mocker/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/@vitest/pretty-format": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.6.tgz", - "integrity": "sha512-Zyctv3dbNL+67qtHfRnUE/k8qxduOamRfAL1BurEIQSyOEFffoMvx2pnDSSbKAAVxY0Ej2J/GH2dQKI0W2JyVg==", - "dev": true, - "license": "MIT", - "dependencies": { - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/runner": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.6.tgz", - "integrity": "sha512-JopP4m/jGoaG1+CBqubV/5VMbi7L+NQCJTu1J1Pf6YaUbk7bZtaq5CX7p+8sY64Sjn1UQ1XJparHfcvTTdu9cA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/utils": "3.0.6", - "pathe": "^2.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/snapshot": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.6.tgz", - "integrity": "sha512-qKSmxNQwT60kNwwJHMVwavvZsMGXWmngD023OHSgn873pV0lylK7dwBTfYP7e4URy5NiBCHHiQGA9DHkYkqRqg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "3.0.6", - "magic-string": "^0.30.17", - "pathe": "^2.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/spy": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.6.tgz", - "integrity": "sha512-HfOGx/bXtjy24fDlTOpgiAEJbRfFxoX3zIGagCqACkFKKZ/TTOE6gYMKXlqecvxEndKFuNHcHqP081ggZ2yM0Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "tinyspy": "^3.0.2" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/utils": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.6.tgz", - "integrity": "sha512-18ktZpf4GQFTbf9jK543uspU03Q2qya7ZGya5yiZ0Gx0nnnalBvd5ZBislbl2EhLjM8A8rt4OilqKG7QwcGkvQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "3.0.6", - "loupe": "^3.1.3", - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@volar/language-core": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.11.tgz", - "integrity": "sha512-lN2C1+ByfW9/JRPpqScuZt/4OrUUse57GLI6TbLgTIqBVemdl1wNcZ1qYGEo2+Gw8coYLgCy7SuKqn6IrQcQgg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@volar/source-map": "2.4.11" - } - }, - "node_modules/@volar/source-map": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.11.tgz", - "integrity": "sha512-ZQpmafIGvaZMn/8iuvCFGrW3smeqkq/IIh9F1SdSx9aUl0J4Iurzd6/FhmjNO5g2ejF3rT45dKskgXWiofqlZQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@volar/typescript": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.11.tgz", - "integrity": "sha512-2DT+Tdh88Spp5PyPbqhyoYavYCPDsqbHLFwcUI9K1NlY1YgUJvujGdrqUp0zWxnW7KWNTr3xSpMuv2WnaTKDAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@volar/language-core": "2.4.11", - "path-browserify": "^1.0.1", - "vscode-uri": "^3.0.8" - } - }, - "node_modules/@vue/babel-helper-vue-transform-on": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.5.tgz", - "integrity": "sha512-lOz4t39ZdmU4DJAa2hwPYmKc8EsuGa2U0L9KaZaOJUt0UwQNjNA3AZTq6uEivhOKhhG1Wvy96SvYBoFmCg3uuw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@vue/babel-plugin-jsx": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.5.tgz", - "integrity": "sha512-zTrNmOd4939H9KsRIGmmzn3q2zvv1mjxkYZHgqHZgDrXz5B1Q3WyGEjO2f+JrmKghvl1JIRcvo63LgM1kH5zFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/plugin-syntax-jsx": "^7.24.7", - "@babel/template": "^7.25.0", - "@babel/traverse": "^7.25.6", - "@babel/types": "^7.25.6", - "@vue/babel-helper-vue-transform-on": "1.2.5", - "@vue/babel-plugin-resolve-type": "1.2.5", - "html-tags": "^3.3.1", - "svg-tags": "^1.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - } - } - }, - "node_modules/@vue/babel-plugin-resolve-type": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.5.tgz", - "integrity": "sha512-U/ibkQrf5sx0XXRnUZD1mo5F7PkpKyTbfXM3a3rC4YnUz6crHEz9Jg09jzzL6QYlXNto/9CePdOg/c87O4Nlfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/parser": "^7.25.6", - "@vue/compiler-sfc": "^3.5.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@vue/compiler-core": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz", - "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.25.3", - "@vue/shared": "3.5.13", - "entities": "^4.5.0", - "estree-walker": "^2.0.2", - "source-map-js": "^1.2.0" - } - }, - "node_modules/@vue/compiler-dom": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", - "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", - "license": "MIT", - "dependencies": { - "@vue/compiler-core": "3.5.13", - "@vue/shared": "3.5.13" - } - }, - "node_modules/@vue/compiler-sfc": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", - "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.25.3", - "@vue/compiler-core": "3.5.13", - "@vue/compiler-dom": "3.5.13", - "@vue/compiler-ssr": "3.5.13", - "@vue/shared": "3.5.13", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.11", - "postcss": "^8.4.48", - "source-map-js": "^1.2.0" - } - }, - "node_modules/@vue/compiler-ssr": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", - "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", - "license": "MIT", - "dependencies": { - "@vue/compiler-dom": "3.5.13", - "@vue/shared": "3.5.13" - } - }, - "node_modules/@vue/compiler-vue2": { - "version": "2.7.16", - "resolved": "https://registry.npmjs.org/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", - "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", - "dev": true, - "license": "MIT", - "dependencies": { - "de-indent": "^1.0.2", - "he": "^1.2.0" - } - }, - "node_modules/@vue/devtools-api": { - "version": "6.6.4", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", - "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", - "license": "MIT" - }, - "node_modules/@vue/devtools-core": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/@vue/devtools-core/-/devtools-core-7.7.2.tgz", - "integrity": "sha512-lexREWj1lKi91Tblr38ntSsy6CvI8ba7u+jmwh2yruib/ltLUcsIzEjCnrkh1yYGGIKXbAuYV2tOG10fGDB9OQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vue/devtools-kit": "^7.7.2", - "@vue/devtools-shared": "^7.7.2", - "mitt": "^3.0.1", - "nanoid": "^5.0.9", - "pathe": "^2.0.2", - "vite-hot-client": "^0.2.4" - }, - "peerDependencies": { - "vue": "^3.0.0" - } - }, - "node_modules/@vue/devtools-core/node_modules/nanoid": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.0.tgz", - "integrity": "sha512-zDAl/llz8Ue/EblwSYwdxGBYfj46IM1dhjVi8dyp9LQffoIGxJEAHj2oeZ4uNcgycSRcQ83CnfcZqEJzVDLcDw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.js" - }, - "engines": { - "node": "^18 || >=20" - } - }, - "node_modules/@vue/devtools-kit": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.7.2.tgz", - "integrity": "sha512-CY0I1JH3Z8PECbn6k3TqM1Bk9ASWxeMtTCvZr7vb+CHi+X/QwQm5F1/fPagraamKMAHVfuuCbdcnNg1A4CYVWQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vue/devtools-shared": "^7.7.2", - "birpc": "^0.2.19", - "hookable": "^5.5.3", - "mitt": "^3.0.1", - "perfect-debounce": "^1.0.0", - "speakingurl": "^14.0.1", - "superjson": "^2.2.1" - } - }, - "node_modules/@vue/devtools-shared": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.7.2.tgz", - "integrity": "sha512-uBFxnp8gwW2vD6FrJB8JZLUzVb6PNRG0B0jBnHsOH8uKyva2qINY8PTF5Te4QlTbMDqU5K6qtJDr6cNsKWhbOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "rfdc": "^1.4.1" - } - }, - "node_modules/@vue/eslint-config-prettier": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-10.2.0.tgz", - "integrity": "sha512-GL3YBLwv/+b86yHcNNfPJxOTtVFJ4Mbc9UU3zR+KVoG7SwGTjPT+32fXamscNumElhcpXW3mT0DgzS9w32S7Bw==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-config-prettier": "^10.0.1", - "eslint-plugin-prettier": "^5.2.2" - }, - "peerDependencies": { - "eslint": ">= 8.21.0", - "prettier": ">= 3.0.0" - } - }, - "node_modules/@vue/eslint-config-typescript": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-14.4.0.tgz", - "integrity": "sha512-daU+eAekEeVz3CReE4PRW25fe+OJDKwE28jHN6LimDEnuFMbJ6H4WGogEpNof276wVP6UvzOeJQfLFjB5mW29A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/utils": "^8.23.0", - "fast-glob": "^3.3.3", - "typescript-eslint": "^8.23.0", - "vue-eslint-parser": "^9.4.3" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "peerDependencies": { - "eslint": "^9.10.0", - "eslint-plugin-vue": "^9.28.0", - "typescript": ">=4.8.4" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@vue/language-core": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.2.2.tgz", - "integrity": "sha512-QotO41kurE5PLf3vrNgGTk3QswO2PdUFjBwNiOi7zMmGhwb25PSTh9hD1MCgKC06AVv+8sZQvlL3Do4TTVHSiQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@volar/language-core": "~2.4.11", - "@vue/compiler-dom": "^3.5.0", - "@vue/compiler-vue2": "^2.7.16", - "@vue/shared": "^3.5.0", - "alien-signals": "^1.0.3", - "minimatch": "^9.0.3", - "muggle-string": "^0.4.1", - "path-browserify": "^1.0.1" - }, - "peerDependencies": { - "typescript": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@vue/reactivity": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz", - "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", - "license": "MIT", - "dependencies": { - "@vue/shared": "3.5.13" - } - }, - "node_modules/@vue/runtime-core": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz", - "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", - "license": "MIT", - "dependencies": { - "@vue/reactivity": "3.5.13", - "@vue/shared": "3.5.13" - } - }, - "node_modules/@vue/runtime-dom": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", - "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", - "license": "MIT", - "dependencies": { - "@vue/reactivity": "3.5.13", - "@vue/runtime-core": "3.5.13", - "@vue/shared": "3.5.13", - "csstype": "^3.1.3" - } - }, - "node_modules/@vue/server-renderer": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz", - "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", - "license": "MIT", - "dependencies": { - "@vue/compiler-ssr": "3.5.13", - "@vue/shared": "3.5.13" - }, - "peerDependencies": { - "vue": "3.5.13" - } - }, - "node_modules/@vue/shared": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz", - "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", - "license": "MIT" - }, - "node_modules/@vue/test-utils": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-2.4.6.tgz", - "integrity": "sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==", - "dev": true, - "license": "MIT", - "dependencies": { - "js-beautify": "^1.14.9", - "vue-component-type-helpers": "^2.0.0" - } - }, - "node_modules/@vue/tsconfig": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.7.0.tgz", - "integrity": "sha512-ku2uNz5MaZ9IerPPUyOHzyjhXoX2kVJaVf7hL315DC17vS6IiZRmmCPfggNbU16QTvM80+uYYy3eYJB59WCtvg==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "typescript": "5.x", - "vue": "^3.4.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - }, - "vue": { - "optional": true - } - } - }, - "node_modules/abbrev": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.0.tgz", - "integrity": "sha512-+/kfrslGQ7TNV2ecmQwMJj/B65g5KVq1/L3SGVZ3tCYGqlzFuFCGBZJtMP99wH3NpEUyAjn0zPdPUg0D+DwrOA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", - "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": "7.1.3", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", - "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "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/alien-signals": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-1.0.3.tgz", - "integrity": "sha512-zQOh3wAYK5ujENxvBBR3CFGF/b6afaSzZ/c9yNhJ1ENrGHETvpUuKQsa93Qrclp0+PzTF93MaZ7scVp1uUozhA==", - "dev": true, - "license": "MIT" - }, - "node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "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/assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "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/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/birpc": { - "version": "0.2.19", - "resolved": "https://registry.npmjs.org/birpc/-/birpc-0.2.19.tgz", - "integrity": "sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true, - "license": "ISC" - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "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.24.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", - "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", - "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": { - "caniuse-lite": "^1.0.30001688", - "electron-to-chromium": "^1.5.73", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.1" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bundle-name": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", - "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "run-applescript": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=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==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "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.30001700", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001700.tgz", - "integrity": "sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==", - "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/chai": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.0.tgz", - "integrity": "sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==", - "dev": true, - "license": "MIT", - "dependencies": { - "assertion-error": "^2.0.1", - "check-error": "^2.1.1", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "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/check-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", - "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 16" - } - }, - "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": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - } - }, - "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/config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "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/copy-anything": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", - "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-what": "^4.1.8" - }, - "engines": { - "node": ">=12.13" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, - "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/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssstyle": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.2.1.tgz", - "integrity": "sha512-9+vem03dMXG7gDmZ62uqmRiMRNtinIZ9ZyuF6BdxzfOD+FdN5hretzynkn0ReS2DO2GSw76RWHs0UmJPI2zUjw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@asamuzakjp/css-color": "^2.8.2", - "rrweb-cssom": "^0.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT" - }, - "node_modules/data-urls": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", - "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "whatwg-mimetype": "^4.0.0", - "whatwg-url": "^14.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/de-indent": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", - "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", - "dev": true, - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decimal.js": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz", - "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==", - "dev": true, - "license": "MIT" - }, - "node_modules/deep-eql": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", - "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "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/default-browser": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", - "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", - "dev": true, - "license": "MIT", - "dependencies": { - "bundle-name": "^4.1.0", - "default-browser-id": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser-id": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", - "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "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/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "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/editorconfig": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz", - "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@one-ini/wasm": "0.1.1", - "commander": "^10.0.0", - "minimatch": "9.0.1", - "semver": "^7.5.3" - }, - "bin": { - "editorconfig": "bin/editorconfig" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/editorconfig/node_modules/minimatch": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", - "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.5.102", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.102.tgz", - "integrity": "sha512-eHhqaja8tE/FNpIiBrvBjFV/SSKpyWHLvxuR9dPTdo+3V9ppdLmFB7ZZQ98qNovcngPLYIz0oOBF9P0FfZef5Q==", - "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/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/error-stack-parser-es": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-0.1.5.tgz", - "integrity": "sha512-xHku1X40RO+fO8yJ8Wh2f2rZWVjqyhb1zgq1yZ8aZRQkv6OOKhKWRUaht3eSCUbAOBaKIgM+ykwFLE+QUxgGeg==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-module-lexer": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", - "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, - "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/esbuild": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz", - "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.24.2", - "@esbuild/android-arm": "0.24.2", - "@esbuild/android-arm64": "0.24.2", - "@esbuild/android-x64": "0.24.2", - "@esbuild/darwin-arm64": "0.24.2", - "@esbuild/darwin-x64": "0.24.2", - "@esbuild/freebsd-arm64": "0.24.2", - "@esbuild/freebsd-x64": "0.24.2", - "@esbuild/linux-arm": "0.24.2", - "@esbuild/linux-arm64": "0.24.2", - "@esbuild/linux-ia32": "0.24.2", - "@esbuild/linux-loong64": "0.24.2", - "@esbuild/linux-mips64el": "0.24.2", - "@esbuild/linux-ppc64": "0.24.2", - "@esbuild/linux-riscv64": "0.24.2", - "@esbuild/linux-s390x": "0.24.2", - "@esbuild/linux-x64": "0.24.2", - "@esbuild/netbsd-arm64": "0.24.2", - "@esbuild/netbsd-x64": "0.24.2", - "@esbuild/openbsd-arm64": "0.24.2", - "@esbuild/openbsd-x64": "0.24.2", - "@esbuild/sunos-x64": "0.24.2", - "@esbuild/win32-arm64": "0.24.2", - "@esbuild/win32-ia32": "0.24.2", - "@esbuild/win32-x64": "0.24.2" - } - }, - "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.20.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.20.1.tgz", - "integrity": "sha512-m1mM33o6dBUjxl2qb6wv6nGNwCAsns1eKtaQ4l/NPHeTvhiUPbtdfMyktxN4B3fgHIgsYh1VT3V9txblpQHq+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.19.0", - "@eslint/core": "^0.11.0", - "@eslint/eslintrc": "^3.2.0", - "@eslint/js": "9.20.0", - "@eslint/plugin-kit": "^0.2.5", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.1", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.2.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.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.2", - "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.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.0.1.tgz", - "integrity": "sha512-lZBts941cyJyeaooiKxAtzoPHTN+GbQTJFAIdQbRhA4/8whaAraEh47Whw/ZFfrjNSnlAxqfm9i0XVAEkULjCw==", - "dev": true, - "license": "MIT", - "bin": { - "eslint-config-prettier": "build/bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-playwright": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-2.2.0.tgz", - "integrity": "sha512-qSQpAw7RcSzE3zPp8FMGkthaCWovHZ/BsXtpmnGax9vQLIovlh1bsZHEa2+j2lv9DWhnyeLM/qZmp7ffQZfQvg==", - "dev": true, - "license": "MIT", - "workspaces": [ - "examples" - ], - "dependencies": { - "globals": "^13.23.0" - }, - "engines": { - "node": ">=16.6.0" - }, - "peerDependencies": { - "eslint": ">=8.40.0" - } - }, - "node_modules/eslint-plugin-playwright/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.3.tgz", - "integrity": "sha512-qJ+y0FfCp/mQYQ/vWQ3s7eUlFEL4PyKfAJxsnYTJ4YT73nsJBWqmEpFryxV9OeUiqmsTsYJ5Y+KDNaeP31wrRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.9.1" - }, - "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": "*", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-vue": { - "version": "9.32.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.32.0.tgz", - "integrity": "sha512-b/Y05HYmnB/32wqVcjxjHZzNpwxj1onBOvqW89W+V+XNG1dRuaFbNd3vT9CLbr2LXjEoq+3vn8DanWf7XU22Ug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "globals": "^13.24.0", - "natural-compare": "^1.4.0", - "nth-check": "^2.1.1", - "postcss-selector-parser": "^6.0.15", - "semver": "^7.6.3", - "vue-eslint-parser": "^9.4.3", - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-vue/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint-scope": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", - "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", - "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": "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/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "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/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/espree": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.14.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "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/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "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/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "license": "MIT" - }, - "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/execa": { - "version": "9.5.2", - "resolved": "https://registry.npmjs.org/execa/-/execa-9.5.2.tgz", - "integrity": "sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@sindresorhus/merge-streams": "^4.0.0", - "cross-spawn": "^7.0.3", - "figures": "^6.1.0", - "get-stream": "^9.0.0", - "human-signals": "^8.0.0", - "is-plain-obj": "^4.1.0", - "is-stream": "^4.0.1", - "npm-run-path": "^6.0.0", - "pretty-ms": "^9.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^4.0.0", - "yoctocolors": "^2.0.0" - }, - "engines": { - "node": "^18.19.0 || >=20.5.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/expect-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.1.0.tgz", - "integrity": "sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.0.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-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-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "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.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "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.19.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.0.tgz", - "integrity": "sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/figures": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", - "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-unicode-supported": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true, - "license": "ISC" - }, - "node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", - "dev": true, - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/form-data": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", - "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", - "dev": true, - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fs-extra": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", - "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "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==", - "dev": true, - "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-intrinsic": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", - "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "function-bind": "^1.1.2", - "get-proto": "^1.0.0", - "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==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-stream": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", - "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@sec-ant/readable-stream": "^0.4.1", - "is-stream": "^4.0.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "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/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/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, - "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/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true, - "license": "MIT" - }, - "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==", - "dev": true, - "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.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "license": "MIT", - "bin": { - "he": "bin/he" - } - }, - "node_modules/hookable": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", - "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/html-encoding-sniffer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", - "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "whatwg-encoding": "^3.1.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/html-tags": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", - "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/human-signals": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz", - "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true, - "license": "ISC" - }, - "node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "dev": true, - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "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-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-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-stream": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", - "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-unicode-supported": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", - "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-what": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", - "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.13" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, - "node_modules/is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-inside-container": "^1.0.0" - }, - "engines": { - "node": ">=16" - }, - "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/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/jiti": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", - "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", - "dev": true, - "license": "MIT", - "bin": { - "jiti": "lib/jiti-cli.mjs" - } - }, - "node_modules/js-beautify": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.3.tgz", - "integrity": "sha512-rKKGuyTxGNlyN4EQKWzNndzXpi0bOl8Gl8YQAW1as/oMz0XhD6sHJO1hTvoBDOSzKuJb9WkwoAb34FfdkKMv2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "config-chain": "^1.1.13", - "editorconfig": "^1.0.4", - "glob": "^10.4.2", - "js-cookie": "^3.0.5", - "nopt": "^8.0.0" - }, - "bin": { - "css-beautify": "js/bin/css-beautify.js", - "html-beautify": "js/bin/html-beautify.js", - "js-beautify": "js/bin/js-beautify.js" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/js-cookie": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", - "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsdom": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-26.0.0.tgz", - "integrity": "sha512-BZYDGVAIriBWTpIxYzrXjv3E/4u8+/pSG5bQdIYCbNCGOvsPkDQfTVLAIXAf9ETdCpduCVTkDe2NNZ8NIwUVzw==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssstyle": "^4.2.1", - "data-urls": "^5.0.0", - "decimal.js": "^10.4.3", - "form-data": "^4.0.1", - "html-encoding-sniffer": "^4.0.0", - "http-proxy-agent": "^7.0.2", - "https-proxy-agent": "^7.0.6", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.16", - "parse5": "^7.2.1", - "rrweb-cssom": "^0.8.0", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^5.0.0", - "w3c-xmlserializer": "^5.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^3.1.1", - "whatwg-mimetype": "^4.0.0", - "whatwg-url": "^14.1.0", - "ws": "^8.18.0", - "xml-name-validator": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "canvas": "^3.0.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsdom/node_modules/xml-name-validator": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", - "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18" - } - }, - "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": "4.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", - "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "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/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/kolorist": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", - "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", - "dev": true, - "license": "MIT" - }, - "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/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.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "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/loupe": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz", - "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==", - "dev": true, - "license": "MIT" - }, - "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/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==", - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" - } - }, - "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==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", - "dev": true, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/mitt": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", - "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", - "dev": true, - "license": "MIT" - }, - "node_modules/mrmime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", - "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/muggle-string": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", - "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", - "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", - "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/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/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", - "dev": true, - "license": "MIT" - }, - "node_modules/nopt": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz", - "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==", - "dev": true, - "license": "ISC", - "dependencies": { - "abbrev": "^3.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm-normalize-package-bin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", - "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm-run-all2": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-7.0.2.tgz", - "integrity": "sha512-7tXR+r9hzRNOPNTvXegM+QzCuMjzUIIq66VDunL6j60O4RrExx32XUhlrS7UK4VcdGw5/Wxzb3kfNcFix9JKDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.2.1", - "cross-spawn": "^7.0.6", - "memorystream": "^0.3.1", - "minimatch": "^9.0.0", - "pidtree": "^0.6.0", - "read-package-json-fast": "^4.0.0", - "shell-quote": "^1.7.3", - "which": "^5.0.0" - }, - "bin": { - "npm-run-all": "bin/npm-run-all/index.js", - "npm-run-all2": "bin/npm-run-all/index.js", - "run-p": "bin/run-p/index.js", - "run-s": "bin/run-s/index.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0", - "npm": ">= 9" - } - }, - "node_modules/npm-run-all2/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/npm-run-all2/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "node_modules/npm-run-all2/node_modules/which": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", - "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm-run-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", - "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^4.0.0", - "unicorn-magic": "^0.3.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/nwsapi": { - "version": "2.2.16", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.16.tgz", - "integrity": "sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/open": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", - "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "default-browser": "^5.2.1", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^3.1.0" - }, - "engines": { - "node": ">=18" - }, - "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/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/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-ms": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", - "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse5": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", - "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "entities": "^4.5.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true, - "license": "MIT" - }, - "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-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/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "dev": true, - "license": "MIT" - }, - "node_modules/pathval": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", - "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.16" - } - }, - "node_modules/perfect-debounce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", - "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", - "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.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pidtree": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", - "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", - "dev": true, - "license": "MIT", - "bin": { - "pidtree": "bin/pidtree.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/playwright": { - "version": "1.50.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.50.1.tgz", - "integrity": "sha512-G8rwsOQJ63XG6BbKj2w5rHeavFjy5zynBA9zsJMMtBoe/Uf757oG12NXz6e6OirF7RCrTVAKFXbLmn1RbL7Qaw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.50.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.50.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.50.1.tgz", - "integrity": "sha512-ra9fsNWayuYumt+NiM069M6OkcRb1FZSK8bgi66AtpFoWkg2+y0bJSNmkFrWhMbEBbVKC/EruAHH3g0zmtwGmQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/postcss": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", - "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", - "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.8", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "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.5.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.1.tgz", - "integrity": "sha512-hPpFQvHwL3Qv5AdRvBFMhnKo4tYxp0ReXiPn2bxkiohEX6mBeBwEpBSQTkD458RaaDKQMYSp4hX4UtfUTA5wDw==", - "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.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/pretty-ms": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.2.0.tgz", - "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==", - "dev": true, - "license": "MIT", - "dependencies": { - "parse-ms": "^4.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", - "dev": true, - "license": "ISC" - }, - "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/read-package-json-fast": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-4.0.0.tgz", - "integrity": "sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg==", - "dev": true, - "license": "ISC", - "dependencies": { - "json-parse-even-better-errors": "^4.0.0", - "npm-normalize-package-bin": "^4.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rfdc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", - "dev": true, - "license": "MIT" - }, - "node_modules/rollup": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.8.tgz", - "integrity": "sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.6" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.34.8", - "@rollup/rollup-android-arm64": "4.34.8", - "@rollup/rollup-darwin-arm64": "4.34.8", - "@rollup/rollup-darwin-x64": "4.34.8", - "@rollup/rollup-freebsd-arm64": "4.34.8", - "@rollup/rollup-freebsd-x64": "4.34.8", - "@rollup/rollup-linux-arm-gnueabihf": "4.34.8", - "@rollup/rollup-linux-arm-musleabihf": "4.34.8", - "@rollup/rollup-linux-arm64-gnu": "4.34.8", - "@rollup/rollup-linux-arm64-musl": "4.34.8", - "@rollup/rollup-linux-loongarch64-gnu": "4.34.8", - "@rollup/rollup-linux-powerpc64le-gnu": "4.34.8", - "@rollup/rollup-linux-riscv64-gnu": "4.34.8", - "@rollup/rollup-linux-s390x-gnu": "4.34.8", - "@rollup/rollup-linux-x64-gnu": "4.34.8", - "@rollup/rollup-linux-x64-musl": "4.34.8", - "@rollup/rollup-win32-arm64-msvc": "4.34.8", - "@rollup/rollup-win32-ia32-msvc": "4.34.8", - "@rollup/rollup-win32-x64-msvc": "4.34.8", - "fsevents": "~2.3.2" - } - }, - "node_modules/rrweb-cssom": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", - "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==", - "dev": true, - "license": "MIT" - }, - "node_modules/run-applescript": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", - "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "license": "MIT" - }, - "node_modules/saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", - "dev": true, - "license": "ISC", - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=v12.22.7" - } - }, - "node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "dev": true, - "license": "ISC", - "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/shell-quote": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz", - "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/siginfo": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", - "dev": true, - "license": "ISC" - }, - "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/sirv": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.1.tgz", - "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@polka/url": "^1.0.0-next.24", - "mrmime": "^2.0.0", - "totalist": "^3.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "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/speakingurl": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", - "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stackback": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", - "dev": true, - "license": "MIT" - }, - "node_modules/std-env": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.0.tgz", - "integrity": "sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==", - "dev": true, - "license": "MIT" - }, - "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/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/string-width-cjs/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/string-width-cjs/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/string-width-cjs/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": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "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-ansi-cjs/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/strip-final-newline": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", - "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/superjson": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.2.tgz", - "integrity": "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "copy-anything": "^3.0.2" - }, - "engines": { - "node": ">=16" - } - }, - "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/svg-tags": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", - "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", - "dev": true - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true, - "license": "MIT" - }, - "node_modules/synckit": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.2.tgz", - "integrity": "sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/tinybench": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", - "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", - "dev": true, - "license": "MIT" - }, - "node_modules/tinyexec": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", - "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/tinypool": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.2.tgz", - "integrity": "sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.0.0 || >=20.0.0" - } - }, - "node_modules/tinyrainbow": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", - "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tinyspy": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", - "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tldts": { - "version": "6.1.77", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.77.tgz", - "integrity": "sha512-lBpoWgy+kYmuXWQ83+R7LlJCnsd9YW8DGpZSHhrMl4b8Ly/1vzOie3OdtmUJDkKxcgRGOehDu5btKkty+JEe+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "tldts-core": "^6.1.77" - }, - "bin": { - "tldts": "bin/cli.js" - } - }, - "node_modules/tldts-core": { - "version": "6.1.77", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.77.tgz", - "integrity": "sha512-bCaqm24FPk8OgBkM0u/SrEWJgHnhBWYqeBo6yUmcZJDCHt/IfyWBb+14CXdGi4RInMv4v7eUAin15W0DoA+Ytg==", - "dev": true, - "license": "MIT" - }, - "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/totalist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", - "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/tough-cookie": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.1.tgz", - "integrity": "sha512-Ek7HndSVkp10hmHP9V4qZO1u+pn1RU5sI0Fw+jCU3lyvuMZcgqsNgc6CmJJZyByK4Vm/qotGRJlfgAX8q+4JiA==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tldts": "^6.1.32" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/tr46": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz", - "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==", - "dev": true, - "license": "MIT", - "dependencies": { - "punycode": "^2.3.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/ts-api-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", - "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.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==", - "dev": true, - "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-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typescript": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", - "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", - "devOptional": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/typescript-eslint": { - "version": "8.24.1", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.24.1.tgz", - "integrity": "sha512-cw3rEdzDqBs70TIcb0Gdzbt6h11BSs2pS0yaq7hDWDBtCCSei1pPSUXE9qUdQ/Wm9NgFg8mKtMt1b8fTHIl1jA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/eslint-plugin": "8.24.1", - "@typescript-eslint/parser": "8.24.1", - "@typescript-eslint/utils": "8.24.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", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", - "dev": true, - "license": "MIT" - }, - "node_modules/unicorn-magic": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", - "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/update-browserslist-db": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", - "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", - "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==", - "dev": true, - "license": "MIT" - }, - "node_modules/vite": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.1.1.tgz", - "integrity": "sha512-4GgM54XrwRfrOp297aIYspIti66k56v16ZnqHvrIM7mG+HjDlAwS7p+Srr7J6fGvEdOJ5JcQ/D9T7HhtdXDTzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.24.2", - "postcss": "^8.5.2", - "rollup": "^4.30.1" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "jiti": ">=1.21.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/vite-hot-client": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/vite-hot-client/-/vite-hot-client-0.2.4.tgz", - "integrity": "sha512-a1nzURqO7DDmnXqabFOliz908FRmIppkBKsJthS8rbe8hBEXwEwe4C3Pp33Z1JoFCYfVL4kTOMLKk0ZZxREIeA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "vite": "^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0" - } - }, - "node_modules/vite-node": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.6.tgz", - "integrity": "sha512-s51RzrTkXKJrhNbUzQRsarjmAae7VmMPAsRT7lppVpIg6mK3zGthP9Hgz0YQQKuNcF+Ii7DfYk3Fxz40jRmePw==", - "dev": true, - "license": "MIT", - "dependencies": { - "cac": "^6.7.14", - "debug": "^4.4.0", - "es-module-lexer": "^1.6.0", - "pathe": "^2.0.3", - "vite": "^5.0.0 || ^6.0.0" - }, - "bin": { - "vite-node": "vite-node.mjs" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/vite-plugin-inspect": { - "version": "0.8.9", - "resolved": "https://registry.npmjs.org/vite-plugin-inspect/-/vite-plugin-inspect-0.8.9.tgz", - "integrity": "sha512-22/8qn+LYonzibb1VeFZmISdVao5kC22jmEKm24vfFE8siEn47EpVcCLYMv6iKOYMJfjSvSJfueOwcFCkUnV3A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@antfu/utils": "^0.7.10", - "@rollup/pluginutils": "^5.1.3", - "debug": "^4.3.7", - "error-stack-parser-es": "^0.1.5", - "fs-extra": "^11.2.0", - "open": "^10.1.0", - "perfect-debounce": "^1.0.0", - "picocolors": "^1.1.1", - "sirv": "^3.0.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.1" - }, - "peerDependenciesMeta": { - "@nuxt/kit": { - "optional": true - } - } - }, - "node_modules/vite-plugin-vue-devtools": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-7.7.2.tgz", - "integrity": "sha512-5V0UijQWiSBj32blkyPEqIbzc6HO9c1bwnBhx+ay2dzU0FakH+qMdNUT8nF9BvDE+i6I1U8CqCuJiO20vKEdQw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vue/devtools-core": "^7.7.2", - "@vue/devtools-kit": "^7.7.2", - "@vue/devtools-shared": "^7.7.2", - "execa": "^9.5.1", - "sirv": "^3.0.0", - "vite-plugin-inspect": "0.8.9", - "vite-plugin-vue-inspector": "^5.3.1" - }, - "engines": { - "node": ">=v14.21.3" - }, - "peerDependencies": { - "vite": "^3.1.0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0" - } - }, - "node_modules/vite-plugin-vue-inspector": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-5.3.1.tgz", - "integrity": "sha512-cBk172kZKTdvGpJuzCCLg8lJ909wopwsu3Ve9FsL1XsnLBiRT9U3MePcqrgGHgCX2ZgkqZmAGR8taxw+TV6s7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.23.0", - "@babel/plugin-proposal-decorators": "^7.23.0", - "@babel/plugin-syntax-import-attributes": "^7.22.5", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-transform-typescript": "^7.22.15", - "@vue/babel-plugin-jsx": "^1.1.5", - "@vue/compiler-dom": "^3.3.4", - "kolorist": "^1.8.0", - "magic-string": "^0.30.4" - }, - "peerDependencies": { - "vite": "^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0" - } - }, - "node_modules/vite/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/vitest": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.6.tgz", - "integrity": "sha512-/iL1Sc5VeDZKPDe58oGK4HUFLhw6b5XdY1MYawjuSaDA4sEfYlY9HnS6aCEG26fX+MgUi7MwlduTBHHAI/OvMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/expect": "3.0.6", - "@vitest/mocker": "3.0.6", - "@vitest/pretty-format": "^3.0.6", - "@vitest/runner": "3.0.6", - "@vitest/snapshot": "3.0.6", - "@vitest/spy": "3.0.6", - "@vitest/utils": "3.0.6", - "chai": "^5.2.0", - "debug": "^4.4.0", - "expect-type": "^1.1.0", - "magic-string": "^0.30.17", - "pathe": "^2.0.3", - "std-env": "^3.8.0", - "tinybench": "^2.9.0", - "tinyexec": "^0.3.2", - "tinypool": "^1.0.2", - "tinyrainbow": "^2.0.0", - "vite": "^5.0.0 || ^6.0.0", - "vite-node": "3.0.6", - "why-is-node-running": "^2.3.0" - }, - "bin": { - "vitest": "vitest.mjs" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "@edge-runtime/vm": "*", - "@types/debug": "^4.1.12", - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.0.6", - "@vitest/ui": "3.0.6", - "happy-dom": "*", - "jsdom": "*" - }, - "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@types/debug": { - "optional": true - }, - "@types/node": { - "optional": true - }, - "@vitest/browser": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { - "optional": true - } - } - }, - "node_modules/vscode-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", - "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/vue": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz", - "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", - "license": "MIT", - "dependencies": { - "@vue/compiler-dom": "3.5.13", - "@vue/compiler-sfc": "3.5.13", - "@vue/runtime-dom": "3.5.13", - "@vue/server-renderer": "3.5.13", - "@vue/shared": "3.5.13" - }, - "peerDependencies": { - "typescript": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/vue-component-type-helpers": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-2.2.2.tgz", - "integrity": "sha512-6lLY+n2xz2kCYshl59mL6gy8OUUTmkscmDFMO8i7Lj+QKwgnIFUZmM1i/iTYObtrczZVdw7UakPqDTGwVSGaRg==", - "dev": true, - "license": "MIT" - }, - "node_modules/vue-eslint-parser": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz", - "integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.3.4", - "eslint-scope": "^7.1.1", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", - "esquery": "^1.4.0", - "lodash": "^4.17.21", - "semver": "^7.3.6" - }, - "engines": { - "node": "^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=6.0.0" - } - }, - "node_modules/vue-eslint-parser/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/vue-eslint-parser/node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/vue-router": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.5.0.tgz", - "integrity": "sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==", - "license": "MIT", - "dependencies": { - "@vue/devtools-api": "^6.6.4" - }, - "funding": { - "url": "https://github.com/sponsors/posva" - }, - "peerDependencies": { - "vue": "^3.2.0" - } - }, - "node_modules/vue-tsc": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.2.2.tgz", - "integrity": "sha512-1icPKkxAA5KTAaSwg0wVWdE48EdsH8fgvcbAiqojP4jXKl6LEM3soiW1aG/zrWrFt8Mw1ncG2vG1PvpZpVfehA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@volar/typescript": "~2.4.11", - "@vue/language-core": "2.2.2" - }, - "bin": { - "vue-tsc": "bin/vue-tsc.js" - }, - "peerDependencies": { - "typescript": ">=5.0.0" - } - }, - "node_modules/vuetify": { - "version": "3.7.12", - "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-3.7.12.tgz", - "integrity": "sha512-cBxWXKPNl3vWc10/EEpfK4RBrCZERAHEUZCWmrJPd6v+JU0sbm4sEgIpy8IU5d1BzA1kIhknpbgYy2IqiZponA==", - "license": "MIT", - "engines": { - "node": "^12.20 || >=14.13" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/johnleider" - }, - "peerDependencies": { - "typescript": ">=4.7", - "vite-plugin-vuetify": ">=1.0.0", - "vue": "^3.3.0", - "webpack-plugin-vuetify": ">=2.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - }, - "vite-plugin-vuetify": { - "optional": true - }, - "webpack-plugin-vuetify": { - "optional": true - } - } - }, - "node_modules/w3c-xmlserializer": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", - "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "xml-name-validator": "^5.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/w3c-xmlserializer/node_modules/xml-name-validator": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", - "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18" - } - }, - "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==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-encoding": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", - "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "iconv-lite": "0.6.3" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/whatwg-mimetype": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", - "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/whatwg-url": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.1.1.tgz", - "integrity": "sha512-mDGf9diDad/giZ/Sm9Xi2YcyzaFpbdLpJPr+E9fSkyQ7KpQD4SdFcugkRQYzhmfI4KeV4Qpnn2sKPdo+kmsgRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "tr46": "^5.0.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/why-is-node-running": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", - "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", - "dev": true, - "license": "MIT", - "dependencies": { - "siginfo": "^2.0.0", - "stackback": "0.0.2" - }, - "bin": { - "why-is-node-running": "cli.js" - }, - "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/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/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/wrap-ansi-cjs/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/wrap-ansi-cjs/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/wrap-ansi-cjs/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/wrap-ansi-cjs/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/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xml-name-validator": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12" - } - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true, - "license": "MIT" - }, - "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/yoctocolors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz", - "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/package-lock.json b/package-lock.json index a00e4f54..55c5eb00 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,6 +7,7 @@ "": { "name": "dwengo-1-monorepo", "version": "0.0.1", + "license": "MIT", "workspaces": [ "backend", "frontend" @@ -26,7 +27,6 @@ "backend": { "name": "dwengo-1-backend", "version": "0.0.1", - "license": "MIT", "dependencies": { "@mikro-orm/core": "^6.4.6", "@mikro-orm/postgresql": "^6.4.6", @@ -1487,6 +1487,91 @@ "node": ">=12" } }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "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.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "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.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "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/@jercle/yargonaut": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/@jercle/yargonaut/-/yargonaut-1.1.5.tgz", @@ -1783,6 +1868,13 @@ } } }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "license": "MIT" + }, "node_modules/@rollup/pluginutils/node_modules/picomatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", @@ -2547,16 +2639,6 @@ } } }, - "node_modules/@vitest/mocker/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, "node_modules/@vitest/pretty-format": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.6.tgz", @@ -2720,6 +2802,12 @@ "source-map-js": "^1.2.0" } }, + "node_modules/@vue/compiler-core/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, "node_modules/@vue/compiler-dom": { "version": "3.5.13", "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", @@ -2747,6 +2835,12 @@ "source-map-js": "^1.2.0" } }, + "node_modules/@vue/compiler-sfc/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, "node_modules/@vue/compiler-ssr": { "version": "3.5.13", "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", @@ -3070,23 +3164,20 @@ } }, "node_modules/alien-signals": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-1.0.3.tgz", - "integrity": "sha512-zQOh3wAYK5ujENxvBBR3CFGF/b6afaSzZ/c9yNhJ1ENrGHETvpUuKQsa93Qrclp0+PzTF93MaZ7scVp1uUozhA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-1.0.4.tgz", + "integrity": "sha512-DJqqQD3XcsaQcQ1s+iE2jDUZmmQpXwHiR6fCAim/w87luaW+vmLY8fMlrdkmRwzaFXhkxf3rqPCR59tKVv1MDw==", "dev": true, "license": "MIT" }, "node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "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": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "node": ">=8" } }, "node_modules/ansi-styles": { @@ -3411,69 +3502,6 @@ "node": ">=12" } }, - "node_modules/cliui/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/cliui/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/cliui/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/cliui/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/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/code-block-writer": { "version": "13.0.3", "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-13.0.3.tgz", @@ -3915,9 +3943,9 @@ "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==", + "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" }, @@ -4409,10 +4437,14 @@ } }, "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "license": "MIT" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } }, "node_modules/esutils": { "version": "2.0.3", @@ -4824,9 +4856,9 @@ } }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "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", @@ -6609,6 +6641,21 @@ "node": ">=18" } }, + "node_modules/playwright/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/postcss": { "version": "8.5.3", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", @@ -7378,21 +7425,18 @@ "license": "MIT" }, "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==", + "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": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/string-width-cjs": { @@ -7411,24 +7455,7 @@ "node": ">=8" } }, - "node_modules/string-width-cjs/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/string-width-cjs/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/string-width-cjs/node_modules/strip-ansi": { + "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==", @@ -7441,22 +7468,6 @@ "node": ">=8" } }, - "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, "node_modules/strip-ansi-cjs": { "name": "strip-ansi", "version": "6.0.1", @@ -7471,16 +7482,6 @@ "node": ">=8" } }, - "node_modules/strip-ansi-cjs/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/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", @@ -7648,22 +7649,22 @@ } }, "node_modules/tldts": { - "version": "6.1.77", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.77.tgz", - "integrity": "sha512-lBpoWgy+kYmuXWQ83+R7LlJCnsd9YW8DGpZSHhrMl4b8Ly/1vzOie3OdtmUJDkKxcgRGOehDu5btKkty+JEe+g==", + "version": "6.1.78", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.78.tgz", + "integrity": "sha512-fSgYrW0ITH0SR/CqKMXIruYIPpNu5aDgUp22UhYoSrnUQwc7SBqifEBFNce7AAcygUPBo6a/gbtcguWdmko4RQ==", "dev": true, "license": "MIT", "dependencies": { - "tldts-core": "^6.1.77" + "tldts-core": "^6.1.78" }, "bin": { "tldts": "bin/cli.js" } }, "node_modules/tldts-core": { - "version": "6.1.77", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.77.tgz", - "integrity": "sha512-bCaqm24FPk8OgBkM0u/SrEWJgHnhBWYqeBo6yUmcZJDCHt/IfyWBb+14CXdGi4RInMv4v7eUAin15W0DoA+Ytg==", + "version": "6.1.78", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.78.tgz", + "integrity": "sha512-jS0svNsB99jR6AJBmfmEWuKIgz91Haya91Z43PATaeHJ24BkMoNRb/jlaD37VYjb0mYf6gRL/HOnvS1zEnYBiw==", "dev": true, "license": "MIT" }, @@ -7833,22 +7834,6 @@ "fsevents": "~2.3.3" } }, - "node_modules/tsx/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" - ], - "peer": true, - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -8686,21 +8671,6 @@ "@esbuild/win32-x64": "0.24.2" } }, - "node_modules/vite/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/vitest": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.6.tgz", @@ -8899,9 +8869,9 @@ } }, "node_modules/vuetify": { - "version": "3.7.12", - "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-3.7.12.tgz", - "integrity": "sha512-cBxWXKPNl3vWc10/EEpfK4RBrCZERAHEUZCWmrJPd6v+JU0sbm4sEgIpy8IU5d1BzA1kIhknpbgYy2IqiZponA==", + "version": "3.7.13", + "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-3.7.13.tgz", + "integrity": "sha512-4+RuQU+zLtXhlN2eZUpKXums9ftzUzhMeiNEJvvJY4XdOzVwUCth2dTnEZkSF6EKdLHk3WhtRk0cIWXZxpBvcw==", "license": "MIT", "engines": { "node": "^12.20 || >=14.13" @@ -9055,18 +9025,18 @@ } }, "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==", + "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": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" @@ -9091,64 +9061,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi-cjs/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/wrap-ansi-cjs/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/wrap-ansi-cjs/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/wrap-ansi-cjs/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/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -9249,51 +9161,6 @@ "node": ">=12" } }, - "node_modules/yargs/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/yargs/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/yargs/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/yargs/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/yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", From 2030b97c21c6c7c94ee5db351352128c5ab12259 Mon Sep 17 00:00:00 2001 From: Tibo De Peuter Date: Sun, 23 Feb 2025 22:11:15 +0100 Subject: [PATCH 02/14] docs: Details in README Signed-off-by: Tibo De Peuter --- README.md | 21 +++++----- assets/img/dwengo-groen-zwart.png | Bin 0 -> 51176 bytes assets/img/dwengo-groen-zwart.svg | 61 ++++++++++++++++++++++++++++++ backend/README.md | 22 +++++++++++ docs/architecture/schema.png | Bin 0 -> 107430 bytes docs/architecture/schema.py | 30 +++++++++++++++ docs/requirements.txt | 1 + frontend/README.md | 2 + package.json | 1 + 9 files changed, 129 insertions(+), 9 deletions(-) create mode 100644 assets/img/dwengo-groen-zwart.png create mode 100644 assets/img/dwengo-groen-zwart.svg create mode 100644 backend/README.md create mode 100644 docs/architecture/schema.png create mode 100644 docs/architecture/schema.py create mode 100644 docs/requirements.txt diff --git a/README.md b/README.md index 8dc37472..bc1cef46 100644 --- a/README.md +++ b/README.md @@ -23,28 +23,31 @@ en lessen kunnen samenstellen hun leerlingen en hun vooruitgang kunnen opvolgen. ### Quick start -1. Installeer Docker en Docker Compose op je systeem (zie [Docker](https://docs.docker.com/get-docker/)). -2. Clone de repository. -3. Voer `docker-compose up` uit in de root van de repository. +1. Installeer Docker en Docker Compose op je systeem (zie [Docker](https://docs.docker.com/get-docker/) en [Docker Compose](https://docs.docker.com/compose/)). +2. Clone deze repository. +3. Voer `docker compose up` uit in de root van de repository. ```bash docker compose version git clone https://github.com/SELab-2/Dwengo-1.git cd Dwengo-1 -docker-compose up +docker compose up ``` ### Handmatige installatie -Zie de submappen voor de installatie-instructies van de verschillende services. +Zie de submappen voor de installatie-instructies van de [frontend](./frontend/README.md) en [backend](./backend/README.md). ## Architectuur -``` -hier overzichtsdiagram invoegen -``` +![Architectuur](./docs/architecture/schema.png) -We maken gebruik van ... Meer informatie over deze ontwerpsbeslissingen kan je vinden in de [architectuurdocumentatie](./architectuur). +De tech-stack bestaat uit: + +- **Frontend**: TypeScript + Vue.js + Vuetify +- **Backend**: TypeScript + Node.js + Express.js + TypeORM + PostgreSQL + +Voor meer informatie over de keuze van deze tech-stack, zie [designkeuzes](https://github.com/SELab-2/Dwengo-1/wiki/Design-keuzes). ## Bijdragen aan Dwengo-1 diff --git a/assets/img/dwengo-groen-zwart.png b/assets/img/dwengo-groen-zwart.png new file mode 100644 index 0000000000000000000000000000000000000000..9d83c92f7158de23a045fcf729d9e0f40cc1afa2 GIT binary patch literal 51176 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�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 +image/svg+xml diff --git a/backend/README.md b/backend/README.md new file mode 100644 index 00000000..76bc8eae --- /dev/null +++ b/backend/README.md @@ -0,0 +1,22 @@ +# dwengo-1-backend + +## Project setup + +```shell +npm install +``` + +Setup the environment variables in a `.env` file in the root of the project. You can use the `.env.example` file as a template. + +### Development + +```shell +npm run dev +``` + +### Production + +```shell +npm run build +npm run start +``` diff --git a/docs/architecture/schema.png b/docs/architecture/schema.png new file mode 100644 index 0000000000000000000000000000000000000000..616d896ce5eeb6676b92f0665d998102fd3b542b GIT binary patch literal 107430 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

PLzV_nMcyS{Ln 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 literal 0 HcmV?d00001 diff --git a/docs/architecture/schema.py b/docs/architecture/schema.py new file mode 100644 index 00000000..87a59f9a --- /dev/null +++ b/docs/architecture/schema.py @@ -0,0 +1,30 @@ +from diagrams import Cluster, Diagram +from diagrams.custom import Custom +from diagrams.onprem.certificates import LetsEncrypt +from diagrams.onprem.container import Docker +from diagrams.onprem.database import PostgreSQL +from diagrams.onprem.logging import Loki +from diagrams.onprem.monitoring import Grafana +from diagrams.onprem.network import Nginx +from diagrams.programming.framework import Vue +from diagrams.programming.language import Nodejs +from diagrams.programming.flowchart import InputOutput + +with Diagram("Dwengo-1 architectuur", filename="docs/architecture/schema", show=False): + reverse_proxy = Nginx("reverse proxy") + reverse_proxy >> LetsEncrypt("SSL") + + with Cluster("Docker"): + Docker() + + frontend = Vue("/") + backend = Nodejs("/api") + reverse_proxy >> frontend + frontend >> backend >> InputOutput("MikroORM") >> PostgreSQL() + + backend >> Loki("logging") >> Grafana("monitoring") + + with Cluster("Dwengo"): + dwengo = Custom("Dwengo", "../../assets/img/dwengo-groen-zwart.png") + + backend >> dwengo diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 00000000..76c7036b --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1 @@ +diagrams==0.24.1 diff --git a/frontend/README.md b/frontend/README.md index 6714b3a7..f798f404 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -6,6 +6,8 @@ This template should help get you started developing with Vue 3 in Vite. [VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur). +Webstorm should work out of the box. + ## Type Support for `.vue` Imports in TS TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) to make the TypeScript language service aware of `.vue` types. diff --git a/package.json b/package.json index 59a2e01d..db7f5ba3 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "build": "npm run build --ws", "format": "npm run format --ws", "format-check": "npm run format-check --ws", + "generate-docs": "python3 -m venv .venv && source .venv/bin/activate && pip install -r docs/requirements.txt && python docs/architecture/schema.py", "lint": "npm run lint --ws", "test:unit": "npm run test:unit --ws" }, From 6f4e547c9e84855b2045ed54904166e2cb426202 Mon Sep 17 00:00:00 2001 From: Tibo De Peuter Date: Sun, 23 Feb 2025 22:26:58 +0100 Subject: [PATCH 03/14] docs: Details in CONTRIBUTING Signed-off-by: Tibo De Peuter --- CONTRIBUTING.md | 67 +++++++++++++++++++++++++++++++------------------ 1 file changed, 42 insertions(+), 25 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 83d1f83b..24c7bcd6 100755 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,24 +1,33 @@ # Hoe bijdragen aan Dwengo-1? +Bedankt dat je wil bijdragen aan Dwengo-1! +Hieronder vind je enkele richtlijnen om je op weg te helpen. + +Over het algemeen bestaat de workflow uit de volgende stappen: + +1. [Een issue aanmaken](#issues) +2. [Een branch maken](#workflow) +3. [Code schrijven](#coding-conventions) +4. [Werk committen](#commits) +5. [Een pull request maken](#pull-request) + ## Issues -Maak gebruik van de [label set](https://github.com/SELab-2/Dwengo-1/labels). +Als je een issue aanmaakt is het belangrijk om zo veel mogelijk (relevante) informatie te geven. +Om je op weg te helpen zijn er [templates](.github/ISSUE_TEMPLATE) voorzien. +Gebruik deze om alle nodige informatie te verzamelen. -Voor bug reports: +Gebruik de juiste [labels](https://github.com/SELab-2/Dwengo-1/labels) om te helpen een onderscheid te maken tussen verschillende categorieën issues. -Geef zo veel mogelijk informatie. Als er error berichten zijn, graag in tekst bijvoegen. Geen screenshots van error -messages, enkel van visuele bugs. - -Ken jezelf toe aan een issue als je eraan werkt, zodat iedereen een overzicht heeft van waar aan gewerkt wordt en door -wie. Zo wordt onnodig werk vermeden. +Ken jezelf toe aan een issue als je eraan werkt, zodat er beter een overzicht bewaard kan worden. +Op die manier vermijd je onnodig werk. ## Workflow -We zullen [Gitflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) gebruiken +We zullen (verzachte versie van) [Gitflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) gebruiken. +Lees [hier](TODO-wiki) meer over deze beslissing. -Lees [hier](wiki) meer over deze beslissing - -Concreet: +Concreet betekent dit dat het project uit de volgende branches bestaat: - `main` - Incl. tags (`v1.2.3`) @@ -28,8 +37,23 @@ Concreet: - `fix/something-#x`: Voor (minder dringende) bug fixes. Bug fixes worden aan een issue gelinkt. - `release/x.y.z`: Release prep branch +## Coding conventions + +- Formatting: [Prettier](https://prettier.io/) +- Linting: Maak gebruik van [ESLint](https://typescript-eslint.io/) of aan de hand van de [ + `npm` commando's](package.json). + +Voel je vrij om zelf commit hooks te installeren, maar we dwingen dit niet af. + ## Commits +Om de geschiedenis van het project overzichtelijk te houden, maken we gebruik van [conventional commits](https://www.conventionalcommits.org/). + + +Concreet + +Dit betekent dat elke commit een duidelijke boodschap moet hebben, die volgens een bepaald formaat is opgesteld. + Maken gebruik van [conventional commits](https://www.conventionalcommits.org/) Lees [hier](wiki) meer over deze beslissing @@ -46,26 +70,19 @@ type options: Als je een commit 'fixt', gebruik dan [ `git commit --fixup`](https://git-scm.com/docs/git-commit#Documentation/git-commit.txt---fixupamendrewordltcommitgt) -Als je een commit niet alleen hebt geschreven, maak dan -een [commit met meerdere auteurs](https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors). +Als je een commit niet alleen hebt geschreven, maak dan een [commit met meerdere auteurs](https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors). -## Pull request... +## Pull request + +Eens je code hebt geschreven en gecommit, is het tijd om een pull request te maken. +Het is fijn als je meteen ([draft](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests#draft-pull-requests)) pull requests maakt, zodat anderen kunnen meekijken en feedback kunnen geven. Als je aan visuele features werkt, voeg dan een screenshot van de omgeving van de feature toe, voor en nadat de feature geïmplementeerd werd. -Start een draft pull request vanaf je een nieuwe feature branch pusht naar de server. - -Policies +Je zult merken dat sommige branches [beschermd](https://docs.github.com/en/github/administering-a-repository/about-protected-branches) zijn. +Dit betekent dat je niet zomaar kan mergen naar deze branches: - naar `main`: kan enkel vanuit `release/x.y.z` - naar `dev`: wordt nagekeken alvorens te mergen - elders: vrije keuze - -## Coding conventions - -- Formatting: [Prettier](https://prettier.io/) -- Linting: Maak gebruik van [ESLint](https://typescript-eslint.io/) of aan de hand van de [ - `npm` commando's](package.json). - -Voel je vrij om zelf commit hooks te installeren, maar we dwingen dit niet af. From c815ed1ebffca21c71809e23c62422df52ba7acb Mon Sep 17 00:00:00 2001 From: Tibo De Peuter Date: Mon, 24 Feb 2025 20:12:46 +0100 Subject: [PATCH 04/14] chore: Voeg PR template toe PR template om duidelijke en uitgebreide PRs aan te moedigen --- .github/PULL_REQUEST_TEMPLATE.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..2583e398 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,25 @@ + + +## Context + + + +## Richtlijnen + +Zorg ervoor dat het volgende in orde is voordat je de pull request indient: + +- De code volgt de stijlrichtlijnen van dit project. +- Een zelfreview van de code is uitgevoerd. +- Nieuwe en bestaande unittests slagen lokaal met de wijzigingen. +- De juiste labels zijn ingesteld op de pull request. + +## Screenshots + + + +## Aanvullende Opmerkingen + + + + +- Fixes # From f6ab7d5887f78053853671786f37282fe5d8cbbe Mon Sep 17 00:00:00 2001 From: Tibo De Peuter Date: Mon, 24 Feb 2025 20:26:40 +0100 Subject: [PATCH 05/14] chore: Herwerk richtlijnen --- .github/PULL_REQUEST_TEMPLATE.md | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 2583e398..e9fb04c6 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -4,22 +4,25 @@ -## Richtlijnen - -Zorg ervoor dat het volgende in orde is voordat je de pull request indient: - -- De code volgt de stijlrichtlijnen van dit project. -- Een zelfreview van de code is uitgevoerd. -- Nieuwe en bestaande unittests slagen lokaal met de wijzigingen. -- De juiste labels zijn ingesteld op de pull request. - ## Screenshots -## Aanvullende Opmerkingen +## Aanvullende opmerkingen - Fixes # + + From c2d82a9eb2a78d8fc98d8e5f98a30f5a322b37f8 Mon Sep 17 00:00:00 2001 From: Tibo De Peuter Date: Mon, 24 Feb 2025 20:36:02 +0100 Subject: [PATCH 06/14] docs: Add links to GH profiles --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index bc1cef46..2514dbb7 100644 --- a/README.md +++ b/README.md @@ -10,10 +10,10 @@ Projectopgave

    -
  • Projectleider: Fransisco Van Langenhove (@Gabriellvl)
  • -
  • Technische lead: Tibo De Peuter (@tdpeuter)
  • -
  • Systeembeheerder: Timo De Meyst (@kloep1)
  • -
  • Customer relations officer: Adriaan Jacquet (@WhisperinCheetah)
  • +
  • Projectleider: Fransisco Van Langenhove (@Gabriellvl)
  • +
  • Technische lead: Tibo De Peuter (@tdpeuter)
  • +
  • Systeembeheerder: Timo De Meyst (@kloep1)
  • +
  • Customer relations officer: Adriaan Jacquet (@WhisperinCheetah)
Dit is de monorepo voor [Dwengo-1](https://sel2-1.ugent.be), een interactief leerplatform waar leerkrachten opdrachten From 12aa4ec1a65af7ec3f7f3f28ae3cec81bb3aa584 Mon Sep 17 00:00:00 2001 From: Tibo De Peuter Date: Mon, 24 Feb 2025 21:16:50 +0100 Subject: [PATCH 07/14] docs: Verduidelijking en juiste links --- CONTRIBUTING.md | 71 ++++++++++++++++++++++++++++++------------------- 1 file changed, 44 insertions(+), 27 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 24c7bcd6..4890521b 100755 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -24,41 +24,44 @@ Op die manier vermijd je onnodig werk. ## Workflow -We zullen (verzachte versie van) [Gitflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) gebruiken. -Lees [hier](TODO-wiki) meer over deze beslissing. +Dit project maakt gebruik van (een minder strenge versie van) [Gitflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow). +Dat betekent dat verschillende branches een verschillende rol hebben. +Nieuwe branches worden aangemaakt vanuit `dev` en worden gemerged naar `dev`. -Concreet betekent dit dat het project uit de volgende branches bestaat: +Een overzicht: -- `main` - - Incl. tags (`v1.2.3`) -- `dev` +- `main`: Hier worden enkel de releases gemerged. Elke merge naar `main` moet een release zijn, aangeduid met een tag (`v1.2.3`). +- `dev`: Jouw branch hoort hiervan af te takken. - `feat/my-feat`: Voor features die uit geen of meer dan 1 issue bestaan - `feat/this-#x`: Voor features die aan een issue gelinkt kunnen worden - `fix/something-#x`: Voor (minder dringende) bug fixes. Bug fixes worden aan een issue gelinkt. -- `release/x.y.z`: Release prep branch +- `release/x.y.z`: Voorbereidingen voor een release. Hier worden enkel bug fixes en hotfixes gemerged. + +Lees [hier](https://github.com/SELab-2/Dwengo-1/wiki/Developmentstrategie-keuzes#gitflow) meer over de beslissing om Gitflow te gebruiken. + +We hebben ervoor gekozen om `main` en `dev` te beschermen. +Zie ook [pull request](#pull-request). ## Coding conventions -- Formatting: [Prettier](https://prettier.io/) -- Linting: Maak gebruik van [ESLint](https://typescript-eslint.io/) of aan de hand van de [ - `npm` commando's](package.json). +Om de code consistent te houden, maken dit project gebruik van enkele tools: -Voel je vrij om zelf commit hooks te installeren, maar we dwingen dit niet af. +- Formatting: [Prettier](https://prettier.io/), zorgt ervoor dat de code consistent geformatteerd is. +- Linting: [ESLint](https://typescript-eslint.io/), zorgt er o.a. voor dat de code geen "slechte" constructies bevat. + +Je kan ze handmatig uitvoeren met `npm run lint` en `npm run format`. + +Deze tools worden niet standaard automatisch uitgevoerd bij een commit. +Automatisch uitvoeren bij een commit kan met [git hooks](https://git-scm.com/docs/githooks). ## Commits -Om de geschiedenis van het project overzichtelijk te houden, maken we gebruik van [conventional commits](https://www.conventionalcommits.org/). +**Conventionele commits** - -Concreet +Dit project maakt gebruik van [conventional commits](https://www.conventionalcommits.org/). Dit betekent dat elke commit een duidelijke boodschap moet hebben, die volgens een bepaald formaat is opgesteld. - -Maken gebruik van [conventional commits](https://www.conventionalcommits.org/) - -Lees [hier](wiki) meer over deze beslissing - -Concreet: +In het kort ziet dat er zo uit: ``` (): @@ -67,8 +70,11 @@ type options: feat, fix, refactor, test, docs, build, ci, chore, ... ``` -Als je een commit 'fixt', gebruik dan [ -`git commit --fixup`](https://git-scm.com/docs/git-commit#Documentation/git-commit.txt---fixupamendrewordltcommitgt) +Lees [hier](https://github.com/SELab-2/Dwengo-1/wiki/Developmentstrategie-keuzes#conventionele-commits) meer over de beslissing om conventionele commits te gebruiken. + +**Andere tips** + +Als je een commit 'fixt', gebruik dan [`git commit --fixup`](https://git-scm.com/docs/git-commit#Documentation/git-commit.txt---fixupamendrewordltcommitgt) Als je een commit niet alleen hebt geschreven, maak dan een [commit met meerdere auteurs](https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors). @@ -77,12 +83,23 @@ Als je een commit niet alleen hebt geschreven, maak dan een [commit met meerdere Eens je code hebt geschreven en gecommit, is het tijd om een pull request te maken. Het is fijn als je meteen ([draft](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests#draft-pull-requests)) pull requests maakt, zodat anderen kunnen meekijken en feedback kunnen geven. -Als je aan visuele features werkt, voeg dan een screenshot van de omgeving van de feature toe, voor en nadat de feature -geïmplementeerd werd. +Om je op weg te helpen is er een [template](.github/PULL_REQUEST_TEMPLATE.md) voorzien. +Door deze in te vullen, zorg je ervoor dat de reviewer een duidelijk beeld heeft van wat je hebt gedaan. + +Als je aan visuele features werkt, voeg dan een screenshot van de omgeving van de feature toe, voor en na dat de feature geïmplementeerd werd. + +**Branch protection** Je zult merken dat sommige branches [beschermd](https://docs.github.com/en/github/administering-a-repository/about-protected-branches) zijn. Dit betekent dat je niet zomaar kan mergen naar deze branches: -- naar `main`: kan enkel vanuit `release/x.y.z` -- naar `dev`: wordt nagekeken alvorens te mergen -- elders: vrije keuze +- `main`: kan enkel vanuit `release/x.y.z` +- `dev`: wordt nagekeken alvorens te mergen + +Elders kan je vrij mergen. + +Het zou kunnen dat je code bepaalde checks moet doorstaan alvorens te mergen. +Dit kan gaan van een simpele lint check tot een volledige test suite die moet slagen. +Tag gerust een maintainer als je denkt dat je code klaar is om gemerged te worden. + +## Dankjewel! From e28f1405ec807fa3b05a99d663e6375c2f47c4fd Mon Sep 17 00:00:00 2001 From: Tibo De Peuter Date: Tue, 25 Feb 2025 08:15:35 +0100 Subject: [PATCH 08/14] fix: Link naar projectopgave --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2514dbb7..db5b63a4 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ OneDrive Figma - + Projectopgave

From 6beaf77adf40b49fbfc5517dacc5393e03eb8709 Mon Sep 17 00:00:00 2001 From: Joyelle Ndagijimana Date: Tue, 25 Feb 2025 23:01:36 +0100 Subject: [PATCH 09/14] feat(frontend): initialisatie router en bijhorende.vue componenten --- frontend/src/App.vue | 83 +------- frontend/src/components/BrowseThemes.vue | 11 ++ frontend/src/components/LearningPath.vue | 11 ++ frontend/src/components/MenuBar.vue | 11 ++ frontend/src/components/TheWelcome.vue | 178 ------------------ frontend/src/components/WelcomeItem.vue | 87 --------- .../components/__tests__/HelloWorld.spec.ts | 2 +- .../components/{ => __tests__}/HelloWorld.vue | 0 frontend/src/components/errors/NotFound.vue | 11 ++ .../src/components/icons/IconCommunity.vue | 12 -- .../components/icons/IconDocumentation.vue | 12 -- .../src/components/icons/IconEcosystem.vue | 12 -- frontend/src/components/icons/IconSupport.vue | 12 -- frontend/src/components/icons/IconTooling.vue | 19 -- frontend/src/main.ts | 1 - frontend/src/router/index.ts | 130 +++++++++++-- frontend/src/views/AboutView.vue | 16 -- .../views/{HomeView.vue => auth/HomePage.vue} | 7 +- frontend/src/views/auth/LoginPage.vue | 18 ++ frontend/src/views/auth/RegisterPage.vue | 18 ++ .../resources/assignment/CreateAssignment.vue | 11 ++ .../resources/assignment/SingleAssignment.vue | 11 ++ .../src/views/resources/class/CreateClass.vue | 11 ++ .../src/views/resources/class/SingleClass.vue | 11 ++ .../resources/discussion/CreateDiscussion.vue | 11 ++ .../resources/discussion/SingleDiscussion.vue | 11 ++ .../src/views/student/StudentAssignments.vue | 11 ++ frontend/src/views/student/StudentClasses.vue | 11 ++ .../src/views/student/StudentDiscussions.vue | 11 ++ .../src/views/student/StudentHomepage.vue | 11 ++ .../src/views/teacher/TeacherAssignments.vue | 11 ++ frontend/src/views/teacher/TeacherClasses.vue | 11 ++ .../src/views/teacher/TeacherDiscussions.vue | 11 ++ .../src/views/teacher/TeacherHomepage.vue | 11 ++ frontend/tsconfig.json | 5 +- frontend/vite.config.ts | 3 +- package-lock.json | 69 ++++++- package.json | 3 + 38 files changed, 436 insertions(+), 449 deletions(-) create mode 100644 frontend/src/components/BrowseThemes.vue create mode 100644 frontend/src/components/LearningPath.vue create mode 100644 frontend/src/components/MenuBar.vue delete mode 100644 frontend/src/components/TheWelcome.vue delete mode 100644 frontend/src/components/WelcomeItem.vue rename frontend/src/components/{ => __tests__}/HelloWorld.vue (100%) create mode 100644 frontend/src/components/errors/NotFound.vue delete mode 100644 frontend/src/components/icons/IconCommunity.vue delete mode 100644 frontend/src/components/icons/IconDocumentation.vue delete mode 100644 frontend/src/components/icons/IconEcosystem.vue delete mode 100644 frontend/src/components/icons/IconSupport.vue delete mode 100644 frontend/src/components/icons/IconTooling.vue delete mode 100644 frontend/src/views/AboutView.vue rename frontend/src/views/{HomeView.vue => auth/HomePage.vue} (50%) create mode 100644 frontend/src/views/auth/LoginPage.vue create mode 100644 frontend/src/views/auth/RegisterPage.vue create mode 100644 frontend/src/views/resources/assignment/CreateAssignment.vue create mode 100644 frontend/src/views/resources/assignment/SingleAssignment.vue create mode 100644 frontend/src/views/resources/class/CreateClass.vue create mode 100644 frontend/src/views/resources/class/SingleClass.vue create mode 100644 frontend/src/views/resources/discussion/CreateDiscussion.vue create mode 100644 frontend/src/views/resources/discussion/SingleDiscussion.vue create mode 100644 frontend/src/views/student/StudentAssignments.vue create mode 100644 frontend/src/views/student/StudentClasses.vue create mode 100644 frontend/src/views/student/StudentDiscussions.vue create mode 100644 frontend/src/views/student/StudentHomepage.vue create mode 100644 frontend/src/views/teacher/TeacherAssignments.vue create mode 100644 frontend/src/views/teacher/TeacherClasses.vue create mode 100644 frontend/src/views/teacher/TeacherDiscussions.vue create mode 100644 frontend/src/views/teacher/TeacherHomepage.vue diff --git a/frontend/src/App.vue b/frontend/src/App.vue index e1c5388d..7db110de 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -1,91 +1,10 @@ diff --git a/frontend/src/components/BrowseThemes.vue b/frontend/src/components/BrowseThemes.vue new file mode 100644 index 00000000..5191a920 --- /dev/null +++ b/frontend/src/components/BrowseThemes.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/frontend/src/components/LearningPath.vue b/frontend/src/components/LearningPath.vue new file mode 100644 index 00000000..4aaf6ef8 --- /dev/null +++ b/frontend/src/components/LearningPath.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/frontend/src/components/MenuBar.vue b/frontend/src/components/MenuBar.vue new file mode 100644 index 00000000..73336fa3 --- /dev/null +++ b/frontend/src/components/MenuBar.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/frontend/src/components/TheWelcome.vue b/frontend/src/components/TheWelcome.vue deleted file mode 100644 index fc109ae4..00000000 --- a/frontend/src/components/TheWelcome.vue +++ /dev/null @@ -1,178 +0,0 @@ - - - diff --git a/frontend/src/components/WelcomeItem.vue b/frontend/src/components/WelcomeItem.vue deleted file mode 100644 index 5d1b8a63..00000000 --- a/frontend/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/frontend/src/components/__tests__/HelloWorld.spec.ts b/frontend/src/components/__tests__/HelloWorld.spec.ts index 79c1e3ae..ff48c1de 100644 --- a/frontend/src/components/__tests__/HelloWorld.spec.ts +++ b/frontend/src/components/__tests__/HelloWorld.spec.ts @@ -1,7 +1,7 @@ import { describe, it, expect } from "vitest"; import { mount } from "@vue/test-utils"; -import HelloWorld from "../HelloWorld.vue"; +import HelloWorld from "./HelloWorld.vue"; describe("HelloWorld", () => { it("renders properly", () => { diff --git a/frontend/src/components/HelloWorld.vue b/frontend/src/components/__tests__/HelloWorld.vue similarity index 100% rename from frontend/src/components/HelloWorld.vue rename to frontend/src/components/__tests__/HelloWorld.vue diff --git a/frontend/src/components/errors/NotFound.vue b/frontend/src/components/errors/NotFound.vue new file mode 100644 index 00000000..7a45fea2 --- /dev/null +++ b/frontend/src/components/errors/NotFound.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/frontend/src/components/icons/IconCommunity.vue b/frontend/src/components/icons/IconCommunity.vue deleted file mode 100644 index 708fa1b6..00000000 --- a/frontend/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,12 +0,0 @@ - diff --git a/frontend/src/components/icons/IconDocumentation.vue b/frontend/src/components/icons/IconDocumentation.vue deleted file mode 100644 index cd61e991..00000000 --- a/frontend/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,12 +0,0 @@ - diff --git a/frontend/src/components/icons/IconEcosystem.vue b/frontend/src/components/icons/IconEcosystem.vue deleted file mode 100644 index 0e72c40f..00000000 --- a/frontend/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,12 +0,0 @@ - diff --git a/frontend/src/components/icons/IconSupport.vue b/frontend/src/components/icons/IconSupport.vue deleted file mode 100644 index cc131b12..00000000 --- a/frontend/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,12 +0,0 @@ - diff --git a/frontend/src/components/icons/IconTooling.vue b/frontend/src/components/icons/IconTooling.vue deleted file mode 100644 index 9e820684..00000000 --- a/frontend/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/frontend/src/main.ts b/frontend/src/main.ts index 5701eca8..bc0c3d42 100644 --- a/frontend/src/main.ts +++ b/frontend/src/main.ts @@ -1,4 +1,3 @@ -import "./assets/main.css"; import { createApp } from "vue"; // Vuetify diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index 55ba8fb7..3964dfd7 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -1,5 +1,23 @@ -import { createRouter, createWebHistory } from "vue-router"; -import HomeView from "../views/HomeView.vue"; +import {createRouter, createWebHistory} from "vue-router"; +import LoginPage from "@/views/auth/LoginPage.vue"; +import RegisterPage from "@/views/auth/RegisterPage.vue"; +import HomePage from "@/views/auth/HomePage.vue"; +import MenuBar from "@/components/MenuBar.vue"; +import StudentHomepage from "@/views/student/StudentHomepage.vue"; +import StudentAssignments from "@/views/student/StudentAssignments.vue"; +import StudentClasses from "@/views/student/StudentClasses.vue"; +import StudentDiscussions from "@/views/student/StudentDiscussions.vue"; +import TeacherHomepage from "@/views/teacher/TeacherHomepage.vue"; +import TeacherAssignments from "@/views/teacher/TeacherAssignments.vue"; +import TeacherClasses from "@/views/teacher/TeacherClasses.vue"; +import TeacherDiscussions from "@/views/teacher/TeacherDiscussions.vue"; +import SingleAssignment from "@/views/resources/assignment/SingleAssignment.vue"; +import SingleClass from "@/views/resources/class/SingleClass.vue"; +import SingleDiscussion from "@/views/resources/discussion/SingleDiscussion.vue"; +import NotFound from "@/components/errors/NotFound.vue"; +import CreateClass from "@/views/resources/class/CreateClass.vue"; +import CreateAssignment from "@/views/resources/assignment/CreateAssignment.vue"; +import CreateDiscussion from "@/views/resources/discussion/CreateDiscussion.vue"; const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), @@ -7,17 +25,107 @@ const router = createRouter({ { path: "/", name: "home", - component: HomeView, + component: HomePage, }, { - path: "/about", - name: "about", - // Route level code-splitting - // This generates a separate chunk (About.[hash].js) for this route - // Which is lazy-loaded when the route is visited. - component: () => { - return import("../views/AboutView.vue"); - }, + path: "/:role/login", + name: "LoginPage", + component: LoginPage + }, + { + path: "/:role/register", + name: "RegisterPage", + component: RegisterPage + }, + { + path: "/student/:id", + component: MenuBar, + children: [ + { + path: "home", + name: "StudentHomePage", + component: StudentHomepage + }, + { + path: "assignment", + name: "StudentAssignments", + component: StudentAssignments + }, + { + path: "class", + name: "StudentClasses", + component: StudentClasses + }, + { + path: "discussion", + name: "StudentDiscussions", + component: StudentDiscussions + }, + ] + }, + + { + path: "/teacher/:id", + component: MenuBar, + children: [ + { + path: "home", + name: "TeacherHomepage", + component: TeacherHomepage + }, + { + path: "assignment", + name: "TeacherAssignments", + component: TeacherAssignments + }, + { + path: "class", + name: "TeacherClasses", + component: TeacherClasses + }, + { + path: "discussion", + name: "TeacherDiscussions", + component: TeacherDiscussions + }, + ] + }, + { + path: "/assignment/create", + name: "CreateAssigment", + component: CreateAssignment + + }, + { + path: "/assignment/:id", + name: "SingleAssigment", + component: SingleAssignment + + }, + { + path: "/class/create", + name: "CreateClass", + component: CreateClass + }, + { + path: "/class/:id", + name: "SingleClass", + component: SingleClass + }, + { + path: "/discussion/create", + name: "CreateDiscussion", + component: CreateDiscussion + }, + { + path: "/discussion/:id", + name: "SingleDiscussion", + component: SingleDiscussion + }, + { + path: "/:catchAll(.*)", + name: "NotFound", + component: NotFound, }, ], }); diff --git a/frontend/src/views/AboutView.vue b/frontend/src/views/AboutView.vue deleted file mode 100644 index 1c17d1c9..00000000 --- a/frontend/src/views/AboutView.vue +++ /dev/null @@ -1,16 +0,0 @@ - - - diff --git a/frontend/src/views/HomeView.vue b/frontend/src/views/auth/HomePage.vue similarity index 50% rename from frontend/src/views/HomeView.vue rename to frontend/src/views/auth/HomePage.vue index 56ceba6d..677f16f0 100644 --- a/frontend/src/views/HomeView.vue +++ b/frontend/src/views/auth/HomePage.vue @@ -1,9 +1,12 @@ + diff --git a/frontend/src/views/auth/LoginPage.vue b/frontend/src/views/auth/LoginPage.vue new file mode 100644 index 00000000..8bee61b1 --- /dev/null +++ b/frontend/src/views/auth/LoginPage.vue @@ -0,0 +1,18 @@ + + + + + diff --git a/frontend/src/views/auth/RegisterPage.vue b/frontend/src/views/auth/RegisterPage.vue new file mode 100644 index 00000000..8bee61b1 --- /dev/null +++ b/frontend/src/views/auth/RegisterPage.vue @@ -0,0 +1,18 @@ + + + + + diff --git a/frontend/src/views/resources/assignment/CreateAssignment.vue b/frontend/src/views/resources/assignment/CreateAssignment.vue new file mode 100644 index 00000000..4aaf6ef8 --- /dev/null +++ b/frontend/src/views/resources/assignment/CreateAssignment.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/frontend/src/views/resources/assignment/SingleAssignment.vue b/frontend/src/views/resources/assignment/SingleAssignment.vue new file mode 100644 index 00000000..4aaf6ef8 --- /dev/null +++ b/frontend/src/views/resources/assignment/SingleAssignment.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/frontend/src/views/resources/class/CreateClass.vue b/frontend/src/views/resources/class/CreateClass.vue new file mode 100644 index 00000000..4aaf6ef8 --- /dev/null +++ b/frontend/src/views/resources/class/CreateClass.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/frontend/src/views/resources/class/SingleClass.vue b/frontend/src/views/resources/class/SingleClass.vue new file mode 100644 index 00000000..4aaf6ef8 --- /dev/null +++ b/frontend/src/views/resources/class/SingleClass.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/frontend/src/views/resources/discussion/CreateDiscussion.vue b/frontend/src/views/resources/discussion/CreateDiscussion.vue new file mode 100644 index 00000000..4aaf6ef8 --- /dev/null +++ b/frontend/src/views/resources/discussion/CreateDiscussion.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/frontend/src/views/resources/discussion/SingleDiscussion.vue b/frontend/src/views/resources/discussion/SingleDiscussion.vue new file mode 100644 index 00000000..4aaf6ef8 --- /dev/null +++ b/frontend/src/views/resources/discussion/SingleDiscussion.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/frontend/src/views/student/StudentAssignments.vue b/frontend/src/views/student/StudentAssignments.vue new file mode 100644 index 00000000..4aaf6ef8 --- /dev/null +++ b/frontend/src/views/student/StudentAssignments.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/frontend/src/views/student/StudentClasses.vue b/frontend/src/views/student/StudentClasses.vue new file mode 100644 index 00000000..4aaf6ef8 --- /dev/null +++ b/frontend/src/views/student/StudentClasses.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/frontend/src/views/student/StudentDiscussions.vue b/frontend/src/views/student/StudentDiscussions.vue new file mode 100644 index 00000000..4aaf6ef8 --- /dev/null +++ b/frontend/src/views/student/StudentDiscussions.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/frontend/src/views/student/StudentHomepage.vue b/frontend/src/views/student/StudentHomepage.vue new file mode 100644 index 00000000..4aaf6ef8 --- /dev/null +++ b/frontend/src/views/student/StudentHomepage.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/frontend/src/views/teacher/TeacherAssignments.vue b/frontend/src/views/teacher/TeacherAssignments.vue new file mode 100644 index 00000000..4aaf6ef8 --- /dev/null +++ b/frontend/src/views/teacher/TeacherAssignments.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/frontend/src/views/teacher/TeacherClasses.vue b/frontend/src/views/teacher/TeacherClasses.vue new file mode 100644 index 00000000..4aaf6ef8 --- /dev/null +++ b/frontend/src/views/teacher/TeacherClasses.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/frontend/src/views/teacher/TeacherDiscussions.vue b/frontend/src/views/teacher/TeacherDiscussions.vue new file mode 100644 index 00000000..4aaf6ef8 --- /dev/null +++ b/frontend/src/views/teacher/TeacherDiscussions.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/frontend/src/views/teacher/TeacherHomepage.vue b/frontend/src/views/teacher/TeacherHomepage.vue new file mode 100644 index 00000000..4aaf6ef8 --- /dev/null +++ b/frontend/src/views/teacher/TeacherHomepage.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json index fb7fbd25..e0d34b13 100644 --- a/frontend/tsconfig.json +++ b/frontend/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.vitest.json" } - ] + ], + "compilerOptions": { + "resolveJsonModule": true + } } diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index a558039c..71efbde6 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -2,11 +2,10 @@ import { fileURLToPath, URL } from 'node:url'; import { defineConfig } from 'vite'; import vue from '@vitejs/plugin-vue'; -import vueDevTools from 'vite-plugin-vue-devtools'; // https://vite.dev/config/ export default defineConfig({ - plugins: [vue(), vueDevTools()], + plugins: [vue()], resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)), diff --git a/package-lock.json b/package-lock.json index a00e4f54..bf217ea8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,10 +7,14 @@ "": { "name": "dwengo-1-monorepo", "version": "0.0.1", + "license": "MIT", "workspaces": [ "backend", "frontend" ], + "dependencies": { + "vue-i18n": "^10.0.5" + }, "devDependencies": { "@eslint/compat": "^1.2.6", "@eslint/js": "^9.20.0", @@ -26,7 +30,6 @@ "backend": { "name": "dwengo-1-backend", "version": "0.0.1", - "license": "MIT", "dependencies": { "@mikro-orm/core": "^6.4.6", "@mikro-orm/postgresql": "^6.4.6", @@ -1469,6 +1472,50 @@ "url": "https://github.com/sponsors/nzakas" } }, + "node_modules/@intlify/core-base": { + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-10.0.5.tgz", + "integrity": "sha512-F3snDTQs0MdvnnyzTDTVkOYVAZOE/MHwRvF7mn7Jw1yuih4NrFYLNYIymGlLmq4HU2iIdzYsZ7f47bOcwY73XQ==", + "license": "MIT", + "dependencies": { + "@intlify/message-compiler": "10.0.5", + "@intlify/shared": "10.0.5" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/message-compiler": { + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-10.0.5.tgz", + "integrity": "sha512-6GT1BJ852gZ0gItNZN2krX5QAmea+cmdjMvsWohArAZ3GmHdnNANEcF9JjPXAMRtQ6Ux5E269ymamg/+WU6tQA==", + "license": "MIT", + "dependencies": { + "@intlify/shared": "10.0.5", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/shared": { + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-10.0.5.tgz", + "integrity": "sha512-bmsP4L2HqBF6i6uaMqJMcFBONVjKt+siGluRq4Ca4C0q7W2eMaVZr8iCgF9dKbcVXutftkC7D6z2SaSMmLiDyA==", + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -8866,6 +8913,26 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/vue-i18n": { + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-10.0.5.tgz", + "integrity": "sha512-9/gmDlCblz3i8ypu/afiIc/SUIfTTE1mr0mZhb9pk70xo2csHAM9mp2gdQ3KD2O0AM3Hz/5ypb+FycTj/lHlPQ==", + "license": "MIT", + "dependencies": { + "@intlify/core-base": "10.0.5", + "@intlify/shared": "10.0.5", + "@vue/devtools-api": "^6.5.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, "node_modules/vue-router": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.5.0.tgz", diff --git a/package.json b/package.json index 59a2e01d..693d54a5 100644 --- a/package.json +++ b/package.json @@ -34,5 +34,8 @@ "eslint-config-prettier": "^10.0.1", "jiti": "^2.4.2", "typescript-eslint": "^8.24.1" + }, + "dependencies": { + "vue-i18n": "^10.0.5" } } From 023c7f5d695803f14e4c68ff5fac277438b4c7b9 Mon Sep 17 00:00:00 2001 From: Joyelle Ndagijimana Date: Wed, 26 Feb 2025 13:30:23 +0100 Subject: [PATCH 10/14] feat(frontend): register pagina verwijderd en submappen hernoemd --- frontend/src/router/index.ts | 35 +++++++++---------- frontend/src/views/{auth => }/HomePage.vue | 0 frontend/src/views/{auth => }/LoginPage.vue | 0 .../views/{student => }/StudentHomepage.vue | 0 .../views/{teacher => }/TeacherHomepage.vue | 0 .../assignment/CreateAssignment.vue | 0 .../assignment/SingleAssignment.vue | 0 .../StudentAssignments.vue | 0 .../TeacherAssignments.vue | 0 frontend/src/views/auth/RegisterPage.vue | 18 ---------- .../{resources => }/class/CreateClass.vue | 0 .../{resources => }/class/SingleClass.vue | 0 .../{student => class}/StudentClasses.vue | 0 .../{teacher => class}/TeacherClasses.vue | 0 .../discussion/CreateDiscussion.vue | 0 .../discussion/SingleDiscussion.vue | 0 .../StudentDiscussions.vue | 0 .../TeacherDiscussions.vue | 0 18 files changed, 17 insertions(+), 36 deletions(-) rename frontend/src/views/{auth => }/HomePage.vue (100%) rename frontend/src/views/{auth => }/LoginPage.vue (100%) rename frontend/src/views/{student => }/StudentHomepage.vue (100%) rename frontend/src/views/{teacher => }/TeacherHomepage.vue (100%) rename frontend/src/views/{resources => }/assignment/CreateAssignment.vue (100%) rename frontend/src/views/{resources => }/assignment/SingleAssignment.vue (100%) rename frontend/src/views/{student => assignment}/StudentAssignments.vue (100%) rename frontend/src/views/{teacher => assignment}/TeacherAssignments.vue (100%) delete mode 100644 frontend/src/views/auth/RegisterPage.vue rename frontend/src/views/{resources => }/class/CreateClass.vue (100%) rename frontend/src/views/{resources => }/class/SingleClass.vue (100%) rename frontend/src/views/{student => class}/StudentClasses.vue (100%) rename frontend/src/views/{teacher => class}/TeacherClasses.vue (100%) rename frontend/src/views/{resources => }/discussion/CreateDiscussion.vue (100%) rename frontend/src/views/{resources => }/discussion/SingleDiscussion.vue (100%) rename frontend/src/views/{student => discussion}/StudentDiscussions.vue (100%) rename frontend/src/views/{teacher => discussion}/TeacherDiscussions.vue (100%) diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index 3964dfd7..9eaaa622 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -1,23 +1,22 @@ import {createRouter, createWebHistory} from "vue-router"; -import LoginPage from "@/views/auth/LoginPage.vue"; -import RegisterPage from "@/views/auth/RegisterPage.vue"; -import HomePage from "@/views/auth/HomePage.vue"; +import LoginPage from "@/views/LoginPage.vue"; +import HomePage from "@/views/HomePage.vue"; import MenuBar from "@/components/MenuBar.vue"; -import StudentHomepage from "@/views/student/StudentHomepage.vue"; -import StudentAssignments from "@/views/student/StudentAssignments.vue"; -import StudentClasses from "@/views/student/StudentClasses.vue"; -import StudentDiscussions from "@/views/student/StudentDiscussions.vue"; -import TeacherHomepage from "@/views/teacher/TeacherHomepage.vue"; -import TeacherAssignments from "@/views/teacher/TeacherAssignments.vue"; -import TeacherClasses from "@/views/teacher/TeacherClasses.vue"; -import TeacherDiscussions from "@/views/teacher/TeacherDiscussions.vue"; -import SingleAssignment from "@/views/resources/assignment/SingleAssignment.vue"; -import SingleClass from "@/views/resources/class/SingleClass.vue"; -import SingleDiscussion from "@/views/resources/discussion/SingleDiscussion.vue"; +import StudentHomepage from "@/views/StudentHomepage.vue"; +import StudentAssignments from "@/views/assignment/StudentAssignments.vue"; +import StudentClasses from "@/views/class/StudentClasses.vue"; +import StudentDiscussions from "@/views/discussion/StudentDiscussions.vue"; +import TeacherHomepage from "@/views/TeacherHomepage.vue"; +import TeacherAssignments from "@/views/assignment/TeacherAssignments.vue"; +import TeacherClasses from "@/views/class/TeacherClasses.vue"; +import TeacherDiscussions from "@/views/discussion/TeacherDiscussions.vue"; +import SingleAssignment from "@/views/assignment/SingleAssignment.vue"; +import SingleClass from "@/views/class/SingleClass.vue"; +import SingleDiscussion from "@/views/discussion/SingleDiscussion.vue"; import NotFound from "@/components/errors/NotFound.vue"; -import CreateClass from "@/views/resources/class/CreateClass.vue"; -import CreateAssignment from "@/views/resources/assignment/CreateAssignment.vue"; -import CreateDiscussion from "@/views/resources/discussion/CreateDiscussion.vue"; +import CreateClass from "@/views/class/CreateClass.vue"; +import CreateAssignment from "@/views/assignment/CreateAssignment.vue"; +import CreateDiscussion from "@/views/discussion/CreateDiscussion.vue"; const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), @@ -35,7 +34,7 @@ const router = createRouter({ { path: "/:role/register", name: "RegisterPage", - component: RegisterPage + component: () => {} }, { path: "/student/:id", diff --git a/frontend/src/views/auth/HomePage.vue b/frontend/src/views/HomePage.vue similarity index 100% rename from frontend/src/views/auth/HomePage.vue rename to frontend/src/views/HomePage.vue diff --git a/frontend/src/views/auth/LoginPage.vue b/frontend/src/views/LoginPage.vue similarity index 100% rename from frontend/src/views/auth/LoginPage.vue rename to frontend/src/views/LoginPage.vue diff --git a/frontend/src/views/student/StudentHomepage.vue b/frontend/src/views/StudentHomepage.vue similarity index 100% rename from frontend/src/views/student/StudentHomepage.vue rename to frontend/src/views/StudentHomepage.vue diff --git a/frontend/src/views/teacher/TeacherHomepage.vue b/frontend/src/views/TeacherHomepage.vue similarity index 100% rename from frontend/src/views/teacher/TeacherHomepage.vue rename to frontend/src/views/TeacherHomepage.vue diff --git a/frontend/src/views/resources/assignment/CreateAssignment.vue b/frontend/src/views/assignment/CreateAssignment.vue similarity index 100% rename from frontend/src/views/resources/assignment/CreateAssignment.vue rename to frontend/src/views/assignment/CreateAssignment.vue diff --git a/frontend/src/views/resources/assignment/SingleAssignment.vue b/frontend/src/views/assignment/SingleAssignment.vue similarity index 100% rename from frontend/src/views/resources/assignment/SingleAssignment.vue rename to frontend/src/views/assignment/SingleAssignment.vue diff --git a/frontend/src/views/student/StudentAssignments.vue b/frontend/src/views/assignment/StudentAssignments.vue similarity index 100% rename from frontend/src/views/student/StudentAssignments.vue rename to frontend/src/views/assignment/StudentAssignments.vue diff --git a/frontend/src/views/teacher/TeacherAssignments.vue b/frontend/src/views/assignment/TeacherAssignments.vue similarity index 100% rename from frontend/src/views/teacher/TeacherAssignments.vue rename to frontend/src/views/assignment/TeacherAssignments.vue diff --git a/frontend/src/views/auth/RegisterPage.vue b/frontend/src/views/auth/RegisterPage.vue deleted file mode 100644 index 8bee61b1..00000000 --- a/frontend/src/views/auth/RegisterPage.vue +++ /dev/null @@ -1,18 +0,0 @@ - - - - - diff --git a/frontend/src/views/resources/class/CreateClass.vue b/frontend/src/views/class/CreateClass.vue similarity index 100% rename from frontend/src/views/resources/class/CreateClass.vue rename to frontend/src/views/class/CreateClass.vue diff --git a/frontend/src/views/resources/class/SingleClass.vue b/frontend/src/views/class/SingleClass.vue similarity index 100% rename from frontend/src/views/resources/class/SingleClass.vue rename to frontend/src/views/class/SingleClass.vue diff --git a/frontend/src/views/student/StudentClasses.vue b/frontend/src/views/class/StudentClasses.vue similarity index 100% rename from frontend/src/views/student/StudentClasses.vue rename to frontend/src/views/class/StudentClasses.vue diff --git a/frontend/src/views/teacher/TeacherClasses.vue b/frontend/src/views/class/TeacherClasses.vue similarity index 100% rename from frontend/src/views/teacher/TeacherClasses.vue rename to frontend/src/views/class/TeacherClasses.vue diff --git a/frontend/src/views/resources/discussion/CreateDiscussion.vue b/frontend/src/views/discussion/CreateDiscussion.vue similarity index 100% rename from frontend/src/views/resources/discussion/CreateDiscussion.vue rename to frontend/src/views/discussion/CreateDiscussion.vue diff --git a/frontend/src/views/resources/discussion/SingleDiscussion.vue b/frontend/src/views/discussion/SingleDiscussion.vue similarity index 100% rename from frontend/src/views/resources/discussion/SingleDiscussion.vue rename to frontend/src/views/discussion/SingleDiscussion.vue diff --git a/frontend/src/views/student/StudentDiscussions.vue b/frontend/src/views/discussion/StudentDiscussions.vue similarity index 100% rename from frontend/src/views/student/StudentDiscussions.vue rename to frontend/src/views/discussion/StudentDiscussions.vue diff --git a/frontend/src/views/teacher/TeacherDiscussions.vue b/frontend/src/views/discussion/TeacherDiscussions.vue similarity index 100% rename from frontend/src/views/teacher/TeacherDiscussions.vue rename to frontend/src/views/discussion/TeacherDiscussions.vue From 7634da475fd9b784ccc2c4e8ad06e09f5c15b986 Mon Sep 17 00:00:00 2001 From: Joyelle Ndagijimana Date: Wed, 26 Feb 2025 19:51:55 +0100 Subject: [PATCH 11/14] feat(frontend): issue in verband met login pagina verbeterd --- frontend/src/router/index.ts | 28 +++++++++---------- frontend/src/views/LoginPage.vue | 8 ------ .../CreateAssignment.vue | 0 .../SingleAssignment.vue | 0 .../StudentAssignments.vue | 0 .../TeacherAssignments.vue | 0 .../views/{class => classes}/CreateClass.vue | 0 .../views/{class => classes}/SingleClass.vue | 0 .../{class => classes}/StudentClasses.vue | 0 .../{class => classes}/TeacherClasses.vue | 0 .../CreateDiscussion.vue | 0 .../SingleDiscussion.vue | 0 .../StudentDiscussions.vue | 0 .../TeacherDiscussions.vue | 0 14 files changed, 14 insertions(+), 22 deletions(-) rename frontend/src/views/{assignment => assignments}/CreateAssignment.vue (100%) rename frontend/src/views/{assignment => assignments}/SingleAssignment.vue (100%) rename frontend/src/views/{assignment => assignments}/StudentAssignments.vue (100%) rename frontend/src/views/{assignment => assignments}/TeacherAssignments.vue (100%) rename frontend/src/views/{class => classes}/CreateClass.vue (100%) rename frontend/src/views/{class => classes}/SingleClass.vue (100%) rename frontend/src/views/{class => classes}/StudentClasses.vue (100%) rename frontend/src/views/{class => classes}/TeacherClasses.vue (100%) rename frontend/src/views/{discussion => discussions}/CreateDiscussion.vue (100%) rename frontend/src/views/{discussion => discussions}/SingleDiscussion.vue (100%) rename frontend/src/views/{discussion => discussions}/StudentDiscussions.vue (100%) rename frontend/src/views/{discussion => discussions}/TeacherDiscussions.vue (100%) diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index 9eaaa622..68636767 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -3,20 +3,20 @@ import LoginPage from "@/views/LoginPage.vue"; import HomePage from "@/views/HomePage.vue"; import MenuBar from "@/components/MenuBar.vue"; import StudentHomepage from "@/views/StudentHomepage.vue"; -import StudentAssignments from "@/views/assignment/StudentAssignments.vue"; -import StudentClasses from "@/views/class/StudentClasses.vue"; -import StudentDiscussions from "@/views/discussion/StudentDiscussions.vue"; +import StudentAssignments from "@/views/assignments/StudentAssignments.vue"; +import StudentClasses from "@/views/classes/StudentClasses.vue"; +import StudentDiscussions from "@/views/discussions/StudentDiscussions.vue"; import TeacherHomepage from "@/views/TeacherHomepage.vue"; -import TeacherAssignments from "@/views/assignment/TeacherAssignments.vue"; -import TeacherClasses from "@/views/class/TeacherClasses.vue"; -import TeacherDiscussions from "@/views/discussion/TeacherDiscussions.vue"; -import SingleAssignment from "@/views/assignment/SingleAssignment.vue"; -import SingleClass from "@/views/class/SingleClass.vue"; -import SingleDiscussion from "@/views/discussion/SingleDiscussion.vue"; +import TeacherAssignments from "@/views/assignments/TeacherAssignments.vue"; +import TeacherClasses from "@/views/classes/TeacherClasses.vue"; +import TeacherDiscussions from "@/views/discussions/TeacherDiscussions.vue"; +import SingleAssignment from "@/views/assignments/SingleAssignment.vue"; +import SingleClass from "@/views/classes/SingleClass.vue"; +import SingleDiscussion from "@/views/discussions/SingleDiscussion.vue"; import NotFound from "@/components/errors/NotFound.vue"; -import CreateClass from "@/views/class/CreateClass.vue"; -import CreateAssignment from "@/views/assignment/CreateAssignment.vue"; -import CreateDiscussion from "@/views/discussion/CreateDiscussion.vue"; +import CreateClass from "@/views/classes/CreateClass.vue"; +import CreateAssignment from "@/views/assignments/CreateAssignment.vue"; +import CreateDiscussion from "@/views/discussions/CreateDiscussion.vue"; const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), @@ -27,12 +27,12 @@ const router = createRouter({ component: HomePage, }, { - path: "/:role/login", + path: "/login", name: "LoginPage", component: LoginPage }, { - path: "/:role/register", + path: "/register", name: "RegisterPage", component: () => {} }, diff --git a/frontend/src/views/LoginPage.vue b/frontend/src/views/LoginPage.vue index 8bee61b1..85a69bfd 100644 --- a/frontend/src/views/LoginPage.vue +++ b/frontend/src/views/LoginPage.vue @@ -1,12 +1,4 @@