From 660f994036c4f441e15a13525e5d8a6b1dc05e90 Mon Sep 17 00:00:00 2001 From: Sandip Date: Wed, 17 Dec 2025 14:37:40 +0545 Subject: [PATCH] Init Boiler Plate --- .editorconfig | 8 + .gitattributes | 1 + .gitignore | 36 + .prettierignore | 11 + .prettierrc.json | 10 + .vscode/extensions.json | 4 + README.md | 48 + eslint.config.js | 85 + index.html | 13 + package-lock.json | 5778 ++++++++++++++++++++++++ package.json | 47 + public/config.example.json | 9 + public/config.json | 9 + public/img/Dolphin/dolphin-logo.png | Bin 0 -> 51052 bytes public/img/Dolphin/dolphinfav.ico | Bin 0 -> 370070 bytes public/svg/large-triangles.svg | 1 + src/App.vue | 5 + src/assets/css/main.css | 2 + src/assets/css/tailwind.css | 36 + src/assets/ts/main.ts | 0 src/core/app/api.ts | 56 + src/core/app/endpoints.ts | 31 + src/core/declarations/dolphin.d.ts | 15 + src/core/setup/components.setup.ts | 30 + src/core/setup/directives.setup.ts | 20 + src/core/setup/plugins.setup.ts | 11 + src/core/setup/router.setup.ts | 25 + src/core/types/app/sidebar.type.ts | 11 + src/core/types/auth/auth.type.ts | 15 + src/core/utils/Common.ts | 11 + src/initApp.ts | 45 + src/layouts/AuthLayout.vue | 148 + src/layouts/components/Footer.vue | 12 + src/layouts/components/Header.vue | 101 + src/layouts/components/Sidebar.vue | 104 + src/main.ts | 26 + src/router/auth.router.ts | 119 + src/router/index.ts | 27 + src/router/router.ts | 10 + src/stores/App/core.store.ts | 19 + src/stores/App/loader.store.ts | 19 + src/stores/Auth/auth.store.ts | 68 + src/stores/counter.ts | 12 + src/views/Auth/Login.vue | 110 + src/views/CSS/Button.vue | 132 + src/views/CSS/Font.vue | 72 + src/views/CSS/Input.vue | 501 ++ src/views/Components/ContentLayout.vue | 59 + src/views/Components/DateRange.vue | 23 + src/views/Components/DateSelector.vue | 29 + src/views/Components/ImageCropper.vue | 19 + src/views/Components/Loader.vue | 26 + src/views/Components/Modal.vue | 35 + src/views/Components/Switch.vue | 22 + src/views/Components/Tabulator.vue | 1286 ++++++ src/views/Components/Toggle.vue | 17 + src/views/Components/Towser.vue | 39 + src/views/Components/Wizard.vue | 42 + src/views/Dashboard/Index.vue | 5 + src/views/Directives/InputCurrency.vue | 32 + src/views/Directives/InputError.vue | 14 + src/views/Directives/InputSelect.vue | 16 + src/views/Directives/Tooltip.vue | 34 + tsconfig.app.json | 12 + tsconfig.json | 11 + tsconfig.node.json | 19 + vite.config.ts | 21 + 67 files changed, 9614 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 .prettierignore create mode 100644 .prettierrc.json create mode 100644 .vscode/extensions.json create mode 100644 README.md create mode 100644 eslint.config.js create mode 100644 index.html create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/config.example.json create mode 100644 public/config.json create mode 100644 public/img/Dolphin/dolphin-logo.png create mode 100644 public/img/Dolphin/dolphinfav.ico create mode 100644 public/svg/large-triangles.svg create mode 100644 src/App.vue create mode 100644 src/assets/css/main.css create mode 100644 src/assets/css/tailwind.css create mode 100644 src/assets/ts/main.ts create mode 100644 src/core/app/api.ts create mode 100644 src/core/app/endpoints.ts create mode 100644 src/core/declarations/dolphin.d.ts create mode 100644 src/core/setup/components.setup.ts create mode 100644 src/core/setup/directives.setup.ts create mode 100644 src/core/setup/plugins.setup.ts create mode 100644 src/core/setup/router.setup.ts create mode 100644 src/core/types/app/sidebar.type.ts create mode 100644 src/core/types/auth/auth.type.ts create mode 100644 src/core/utils/Common.ts create mode 100644 src/initApp.ts create mode 100644 src/layouts/AuthLayout.vue create mode 100644 src/layouts/components/Footer.vue create mode 100644 src/layouts/components/Header.vue create mode 100644 src/layouts/components/Sidebar.vue create mode 100644 src/main.ts create mode 100644 src/router/auth.router.ts create mode 100644 src/router/index.ts create mode 100644 src/router/router.ts create mode 100644 src/stores/App/core.store.ts create mode 100644 src/stores/App/loader.store.ts create mode 100644 src/stores/Auth/auth.store.ts create mode 100644 src/stores/counter.ts create mode 100644 src/views/Auth/Login.vue create mode 100644 src/views/CSS/Button.vue create mode 100644 src/views/CSS/Font.vue create mode 100644 src/views/CSS/Input.vue create mode 100644 src/views/Components/ContentLayout.vue create mode 100644 src/views/Components/DateRange.vue create mode 100644 src/views/Components/DateSelector.vue create mode 100644 src/views/Components/ImageCropper.vue create mode 100644 src/views/Components/Loader.vue create mode 100644 src/views/Components/Modal.vue create mode 100644 src/views/Components/Switch.vue create mode 100644 src/views/Components/Tabulator.vue create mode 100644 src/views/Components/Toggle.vue create mode 100644 src/views/Components/Towser.vue create mode 100644 src/views/Components/Wizard.vue create mode 100644 src/views/Dashboard/Index.vue create mode 100644 src/views/Directives/InputCurrency.vue create mode 100644 src/views/Directives/InputError.vue create mode 100644 src/views/Directives/InputSelect.vue create mode 100644 src/views/Directives/Tooltip.vue create mode 100644 tsconfig.app.json create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..3b510aa --- /dev/null +++ b/.editorconfig @@ -0,0 +1,8 @@ +[*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue,css,scss,sass,less,styl}] +charset = utf-8 +indent_size = 2 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true +end_of_line = lf +max_line_length = 100 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..6313b56 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=auto eol=lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a3f7a51 --- /dev/null +++ b/.gitignore @@ -0,0 +1,36 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +dist-ssr +coverage +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +*.tsbuildinfo + +.eslintcache + +# Cypress +/cypress/videos/ +/cypress/screenshots/ + +# Vitest +__screenshots__/ diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..452a6d5 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,11 @@ +# Ignore artifacts: +build +coverage + +# Ignore all HTML files: +**/*.html + +**/.git +**/.svn +**/.hg +**/node_modules \ No newline at end of file diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000..86f9ea9 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,10 @@ +{ + "trailingComma": "es5", + "tabWidth": 4, + "semi": true, + "singleQuote": false, + "printWidth": 120, + "htmlWhitespaceSensitivity": "ignore", + "vueIndentScriptAndStyle": false, + "endOfLine": "auto" +} diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..6daa172 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + "recommendations": ["prettier.prettier-vscode", "dbaeumer.vscode-eslint", "vue.volar"], + "unwantedRecommendations": ["octref.vetur"] +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..2906672 --- /dev/null +++ b/README.md @@ -0,0 +1,48 @@ +# vue-bolier-plate + +This template should help get you started developing with Vue 3 in Vite. + +## Recommended IDE Setup + +[VS Code](https://code.visualstudio.com/) + [Vue (Official)](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur). + +## Recommended Browser Setup + +- Chromium-based browsers (Chrome, Edge, Brave, etc.): + - [Vue.js devtools](https://chromewebstore.google.com/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd) + - [Turn on Custom Object Formatter in Chrome DevTools](http://bit.ly/object-formatters) +- Firefox: + - [Vue.js devtools](https://addons.mozilla.org/en-US/firefox/addon/vue-js-devtools/) + - [Turn on Custom Object Formatter in Firefox DevTools](https://fxdx.dev/firefox-devtools-custom-object-formatters/) + +## 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. + +## Customize configuration + +See [Vite Configuration Reference](https://vite.dev/config/). + +## Project Setup + +```sh +npm install +``` + +### Compile and Hot-Reload for Development + +```sh +npm run dev +``` + +### Type-Check, Compile and Minify for Production + +```sh +npm run build +``` + +### Lint with [ESLint](https://eslint.org/) + +```sh +npm run lint +``` diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..bc41bad --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,85 @@ +import globals from "globals"; +import pluginJs from "@eslint/js"; +import tseslint from "typescript-eslint"; +import pluginVue from "eslint-plugin-vue"; +import prettier from "eslint-plugin-prettier/recommended"; +import vueConfigTypescript from "@vue/eslint-config-typescript"; +import vueConfigPrettier from "@vue/eslint-config-prettier"; + +/** @type {import('eslint').Linter.Config[]} */ +export default [ + { + languageOptions: { + globals: { + ...globals.browser, + ...globals.node, + DOLPHIN: "readonly", + }, + }, + }, + // js + pluginJs.configs.recommended, + { + rules: { + "no-unused-vars": "error", + "no-undef": "error", + }, + }, + // ts + ...tseslint.configs.recommended, + { + rules: { + "@typescript-eslint/no-unused-vars": [ + "error", + { + argsIgnorePattern: "^(props|_)", + varsIgnorePattern: "^(props|_)", + }, + ], + "@typescript-eslint/no-explicit-any": "off", + }, + }, + // vue + ...pluginVue.configs["flat/recommended"], + { + files: ["*.vue", "**/*.vue"], + languageOptions: { + parserOptions: { + parser: tseslint.parser, + }, + }, + }, + { + rules: { + ...vueConfigTypescript.rules, + ...vueConfigPrettier.rules, + "prettier/prettier": [ + "warn", + { + singleQuote: false, + }, + ], + "vue/multi-word-component-names": "off", + "vue/attribute-hyphenation": "off", + "vue/no-v-html": "off", + "vue/v-on-event-hyphenation": "off", + "vue/require-v-for-key": "off", + "vue/no-template-shadow": "error", + "vue/no-reserved-component-names": "off", + "vue/attributes-order": "off", + "@typescript-eslint/ban-ts-comment": "off", + "@typescript-eslint/no-require-imports": "off", + "vue/require-default-prop": "error", + }, + }, + { + ignores: ["node_modules", ".nuxt", ".output", "dist"], + }, + // prettier + prettier, + { + rules: { + "prettier/prettier": ["warn", { singleQuote: false }], + }, + }, +]; diff --git a/index.html b/index.html new file mode 100644 index 0000000..e64b305 --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite App + + +
+ + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..2fd5483 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,5778 @@ +{ + "name": "vue-bolier-plate", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "vue-bolier-plate", + "version": "0.0.0", + "dependencies": { + "axios": "^1.13.2", + "dolphin-components": "^3.1.0", + "nepali-date-library": "^1.1.11", + "pinia": "^3.0.4", + "typescript-eslint": "^8.50.0", + "vue": "^3.5.25", + "vue-router": "^4.6.4" + }, + "devDependencies": { + "@tsconfig/node24": "^24.0.3", + "@types/node": "^25.0.3", + "@vitejs/plugin-vue": "^6.0.3", + "@vue/eslint-config-prettier": "^10.2.0", + "@vue/eslint-config-typescript": "^14.6.0", + "@vue/tsconfig": "^0.8.1", + "eslint": "^9.39.2", + "eslint-plugin-vue": "~10.6.2", + "jiti": "^2.6.1", + "npm-run-all2": "^8.0.4", + "prettier": "3.7.4", + "typescript": "~5.9.3", + "vite": "^7.3.0", + "vite-plugin-vue-devtools": "^8.0.5", + "vue-tsc": "^3.1.8" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", + "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", + "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/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.28.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", + "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-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.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.5.tgz", + "integrity": "sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.5", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-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-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.5" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.28.0.tgz", + "integrity": "sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-decorators": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz", + "integrity": "sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "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.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", + "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.5.tgz", + "integrity": "sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", + "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.5", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz", + "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz", + "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz", + "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz", + "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz", + "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz", + "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz", + "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz", + "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz", + "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz", + "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz", + "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz", + "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz", + "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz", + "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz", + "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz", + "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz", + "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz", + "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz", + "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz", + "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz", + "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz", + "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz", + "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz", + "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz", + "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz", + "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "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.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "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.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "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==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", + "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", + "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.1", + "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.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "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==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", + "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "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/@pkgr/core": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz", + "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/pkgr" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.53", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.53.tgz", + "integrity": "sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.5.tgz", + "integrity": "sha512-iDGS/h7D8t7tvZ1t6+WPK04KD0MwzLZrG0se1hzBjSi5fyxlsiggoJHwh18PCFNn7tG43OWb6pdZ6Y+rMlmyNQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.5.tgz", + "integrity": "sha512-wrSAViWvZHBMMlWk6EJhvg8/rjxzyEhEdgfMMjREHEq11EtJ6IP6yfcCH57YAEca2Oe3FNCE9DSTgU70EIGmVw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.5.tgz", + "integrity": "sha512-S87zZPBmRO6u1YXQLwpveZm4JfPpAa6oHBX7/ghSiGH3rz/KDgAu1rKdGutV+WUI6tKDMbaBJomhnT30Y2t4VQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.5.tgz", + "integrity": "sha512-YTbnsAaHo6VrAczISxgpTva8EkfQus0VPEVJCEaboHtZRIb6h6j0BNxRBOwnDciFTZLDPW5r+ZBmhL/+YpTZgA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.5.tgz", + "integrity": "sha512-1T8eY2J8rKJWzaznV7zedfdhD1BqVs1iqILhmHDq/bqCUZsrMt+j8VCTHhP0vdfbHK3e1IQ7VYx3jlKqwlf+vw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.5.tgz", + "integrity": "sha512-sHTiuXyBJApxRn+VFMaw1U+Qsz4kcNlxQ742snICYPrY+DDL8/ZbaC4DVIB7vgZmp3jiDaKA0WpBdP0aqPJoBQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.5.tgz", + "integrity": "sha512-dV3T9MyAf0w8zPVLVBptVlzaXxka6xg1f16VAQmjg+4KMSTWDvhimI/Y6mp8oHwNrmnmVl9XxJ/w/mO4uIQONA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.5.tgz", + "integrity": "sha512-wIGYC1x/hyjP+KAu9+ewDI+fi5XSNiUi9Bvg6KGAh2TsNMA3tSEs+Sh6jJ/r4BV/bx/CyWu2ue9kDnIdRyafcQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.5.tgz", + "integrity": "sha512-Y+qVA0D9d0y2FRNiG9oM3Hut/DgODZbU9I8pLLPwAsU0tUKZ49cyV1tzmB/qRbSzGvY8lpgGkJuMyuhH7Ma+Vg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.5.tgz", + "integrity": "sha512-juaC4bEgJsyFVfqhtGLz8mbopaWD+WeSOYr5E16y+1of6KQjc0BpwZLuxkClqY1i8sco+MdyoXPNiCkQou09+g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.5.tgz", + "integrity": "sha512-rIEC0hZ17A42iXtHX+EPJVL/CakHo+tT7W0pbzdAGuWOt2jxDFh7A/lRhsNHBcqL4T36+UiAgwO8pbmn3dE8wA==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.5.tgz", + "integrity": "sha512-T7l409NhUE552RcAOcmJHj3xyZ2h7vMWzcwQI0hvn5tqHh3oSoclf9WgTl+0QqffWFG8MEVZZP1/OBglKZx52Q==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.5.tgz", + "integrity": "sha512-7OK5/GhxbnrMcxIFoYfhV/TkknarkYC1hqUw1wU2xUN3TVRLNT5FmBv4KkheSG2xZ6IEbRAhTooTV2+R5Tk0lQ==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.5.tgz", + "integrity": "sha512-GwuDBE/PsXaTa76lO5eLJTyr2k8QkPipAyOrs4V/KJufHCZBJ495VCGJol35grx9xryk4V+2zd3Ri+3v7NPh+w==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.5.tgz", + "integrity": "sha512-IAE1Ziyr1qNfnmiQLHBURAD+eh/zH1pIeJjeShleII7Vj8kyEm2PF77o+lf3WTHDpNJcu4IXJxNO0Zluro8bOw==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.5.tgz", + "integrity": "sha512-Pg6E+oP7GvZ4XwgRJBuSXZjcqpIW3yCBhK4BcsANvb47qMvAbCjR6E+1a/U2WXz1JJxp9/4Dno3/iSJLcm5auw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.5.tgz", + "integrity": "sha512-txGtluxDKTxaMDzUduGP0wdfng24y1rygUMnmlUJ88fzCCULCLn7oE5kb2+tRB+MWq1QDZT6ObT5RrR8HFRKqg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.5.tgz", + "integrity": "sha512-3DFiLPnTxiOQV993fMc+KO8zXHTcIjgaInrqlG8zDp1TlhYl6WgrOHuJkJQ6M8zHEcntSJsUp1XFZSY8C1DYbg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.5.tgz", + "integrity": "sha512-nggc/wPpNTgjGg75hu+Q/3i32R00Lq1B6N1DO7MCU340MRKL3WZJMjA9U4K4gzy3dkZPXm9E1Nc81FItBVGRlA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.5.tgz", + "integrity": "sha512-U/54pTbdQpPLBdEzCT6NBCFAfSZMvmjr0twhnD9f4EIvlm9wy3jjQ38yQj1AGznrNO65EWQMgm/QUjuIVrYF9w==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.5.tgz", + "integrity": "sha512-2NqKgZSuLH9SXBBV2dWNRCZmocgSOx8OJSdpRaEcRlIfX8YrKxUT6z0F1NpvDVhOsl190UFTRh2F2WDWWCYp3A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.5.tgz", + "integrity": "sha512-JRpZUhCfhZ4keB5v0fe02gQJy05GqboPOaxvjugW04RLSYYoB/9t2lx2u/tMs/Na/1NXfY8QYjgRljRpN+MjTQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@tailwindcss/node": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.18.tgz", + "integrity": "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.4", + "enhanced-resolve": "^5.18.3", + "jiti": "^2.6.1", + "lightningcss": "1.30.2", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.18" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.18.tgz", + "integrity": "sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==", + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.18", + "@tailwindcss/oxide-darwin-arm64": "4.1.18", + "@tailwindcss/oxide-darwin-x64": "4.1.18", + "@tailwindcss/oxide-freebsd-x64": "4.1.18", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.18", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.18", + "@tailwindcss/oxide-linux-x64-musl": "4.1.18", + "@tailwindcss/oxide-wasm32-wasi": "4.1.18", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.18" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.18.tgz", + "integrity": "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.18.tgz", + "integrity": "sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.18.tgz", + "integrity": "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.18.tgz", + "integrity": "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.18.tgz", + "integrity": "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.18.tgz", + "integrity": "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.18.tgz", + "integrity": "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.18.tgz", + "integrity": "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.18.tgz", + "integrity": "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.18.tgz", + "integrity": "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.1.0", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.18.tgz", + "integrity": "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.18.tgz", + "integrity": "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.18.tgz", + "integrity": "sha512-jVA+/UpKL1vRLg6Hkao5jldawNmRo7mQYrZtNHMIVpLfLhDml5nMRUo/8MwoX2vNXvnaXNNMedrMfMugAVX1nA==", + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.1.18", + "@tailwindcss/oxide": "4.1.18", + "tailwindcss": "4.1.18" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7" + } + }, + "node_modules/@tsconfig/node24": { + "version": "24.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node24/-/node24-24.0.3.tgz", + "integrity": "sha512-vcERKtKQKHgzt/vfS3Gjasd8SUI2a0WZXpgJURdJsMySpS5+ctgbPfuLj2z/W+w4lAfTWxoN4upKfu2WzIRYnw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "25.0.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.3.tgz", + "integrity": "sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/tabulator-tables": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@types/tabulator-tables/-/tabulator-tables-6.3.0.tgz", + "integrity": "sha512-/mQzrThCdSQXc2lz2SUZglIG+vWQ1sb1CEiVxw9SFGKPulaj1543zrL2qABeJIKjKPxcSgmWUyDA9e8CMaI2cQ==", + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.50.0.tgz", + "integrity": "sha512-O7QnmOXYKVtPrfYzMolrCTfkezCJS9+ljLdKW/+DCvRsc3UAz+sbH6Xcsv7p30+0OwUbeWfUDAQE0vpabZ3QLg==", + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.50.0", + "@typescript-eslint/type-utils": "8.50.0", + "@typescript-eslint/utils": "8.50.0", + "@typescript-eslint/visitor-keys": "8.50.0", + "ignore": "^7.0.0", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.50.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.50.0.tgz", + "integrity": "sha512-6/cmF2piao+f6wSxUsJLZjck7OQsYyRtcOZS02k7XINSNlz93v6emM8WutDQSXnroG2xwYlEVHJI+cPA7CPM3Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "@typescript-eslint/scope-manager": "8.50.0", + "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/typescript-estree": "8.50.0", + "@typescript-eslint/visitor-keys": "8.50.0", + "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 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.50.0.tgz", + "integrity": "sha512-Cg/nQcL1BcoTijEWyx4mkVC56r8dj44bFDvBdygifuS20f3OZCHmFbjF34DPSi07kwlFvqfv/xOLnJ5DquxSGQ==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.50.0", + "@typescript-eslint/types": "^8.50.0", + "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": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.50.0.tgz", + "integrity": "sha512-xCwfuCZjhIqy7+HKxBLrDVT5q/iq7XBVBXLn57RTIIpelLtEIZHXAF/Upa3+gaCpeV1NNS5Z9A+ID6jn50VD4A==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/visitor-keys": "8.50.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/tsconfig-utils": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.50.0.tgz", + "integrity": "sha512-vxd3G/ybKTSlm31MOA96gqvrRGv9RJ7LGtZCn2Vrc5htA0zCDvcMqUkifcjrWNNKXHUU3WCkYOzzVSFBd0wa2w==", + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.50.0.tgz", + "integrity": "sha512-7OciHT2lKCewR0mFoBrvZJ4AXTMe/sYOe87289WAViOocEmDjjv8MvIOT2XESuKj9jp8u3SZYUSh89QA4S1kQw==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/typescript-estree": "8.50.0", + "@typescript-eslint/utils": "8.50.0", + "debug": "^4.3.4", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.50.0.tgz", + "integrity": "sha512-iX1mgmGrXdANhhITbpp2QQM2fGehBse9LbTf0sidWK6yg/NE+uhV5dfU1g6EYPlcReYmkE9QLPq/2irKAmtS9w==", + "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.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.50.0.tgz", + "integrity": "sha512-W7SVAGBR/IX7zm1t70Yujpbk+zdPq/u4soeFSknWFdXIFuWsBGBOUu/Tn/I6KHSKvSh91OiMuaSnYp3mtPt5IQ==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.50.0", + "@typescript-eslint/tsconfig-utils": "8.50.0", + "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/visitor-keys": "8.50.0", + "debug": "^4.3.4", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.50.0.tgz", + "integrity": "sha512-87KgUXET09CRjGCi2Ejxy3PULXna63/bMYv72tCAlDJC3Yqwln0HiFJ3VJMst2+mEtNtZu5oFvX4qJGjKsnAgg==", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.50.0", + "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/typescript-estree": "8.50.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.50.0.tgz", + "integrity": "sha512-Xzmnb58+Db78gT/CCj/PVCvK+zxbnsw6F+O1oheYszJbBSdEjVhQi3C/Xttzxgi/GLmpvOggRs1RFpiJ8+c34Q==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.50.0", + "eslint-visitor-keys": "^4.2.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/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "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": "6.0.3", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.3.tgz", + "integrity": "sha512-TlGPkLFLVOY3T7fZrwdvKpjprR3s4fxRln0ORDo1VQ7HHyxJwTlrjKU3kpVWTlaAjIEuCTokmjkZnr8Tpc925w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "1.0.0-beta.53" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", + "vue": "^3.2.25" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.26", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.26.tgz", + "integrity": "sha512-hH0SMitMxnB43OZpyF1IFPS9bgb2I3bpCh76m2WEK7BE0A0EzpYsRp0CCH2xNKshr7kacU5TQBLYn4zj7CG60A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.26" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.26", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.26.tgz", + "integrity": "sha512-JJw0Tt/kSFsIRmgTQF4JSt81AUSI1aEye5Zl65EeZ8H35JHnTvFGmpDOBn5iOxd48fyGE+ZvZBp5FcgAy/1Qhw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@volar/typescript": { + "version": "2.4.26", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.26.tgz", + "integrity": "sha512-N87ecLD48Sp6zV9zID/5yuS1+5foj0DfuYGdQ6KHj/IbKvyKv1zNX6VCmnKYwtmHadEO6mFc2EKISiu3RDPAvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.26", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.5.0.tgz", + "integrity": "sha512-0dAYkerNhhHutHZ34JtTl2czVQHUNWv6xEbkdF5W+Yrv5pCWsqjeORdOgbtW2I9gWlt+wBmVn+ttqN9ZxR5tzA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.5.0.tgz", + "integrity": "sha512-mneBhw1oOqCd2247O0Yw/mRwC9jIGACAJUlawkmMBiNmL4dGA2eMzuNZVNqOUfYTa6vqmND4CtOPzmEEEqLKFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.0", + "@babel/types": "^7.28.2", + "@vue/babel-helper-vue-transform-on": "1.5.0", + "@vue/babel-plugin-resolve-type": "1.5.0", + "@vue/shared": "^3.5.18" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + } + } + }, + "node_modules/@vue/babel-plugin-resolve-type": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.5.0.tgz", + "integrity": "sha512-Wm/60o+53JwJODm4Knz47dxJnLDJ9FnKnGZJbUUf8nQRAtt6P+undLUAVU3Ha33LxOJe6IPoifRQ6F/0RrU31w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/parser": "^7.28.0", + "@vue/compiler-sfc": "^3.5.18" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.25", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.25.tgz", + "integrity": "sha512-vay5/oQJdsNHmliWoZfHPoVZZRmnSWhug0BYT34njkYTPqClh3DNWLkZNJBVSjsNMrg0CCrBfoKkjZQPM/QVUw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@vue/shared": "3.5.25", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.25", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.25.tgz", + "integrity": "sha512-4We0OAcMZsKgYoGlMjzYvaoErltdFI2/25wqanuTu+S4gismOTRTBPi4IASOjxWdzIwrYSjnqONfKvuqkXzE2Q==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.25", + "@vue/shared": "3.5.25" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.25", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.25.tgz", + "integrity": "sha512-PUgKp2rn8fFsI++lF2sO7gwO2d9Yj57Utr5yEsDf3GNaQcowCLKL7sf+LvVFvtJDXUp/03+dC6f2+LCv5aK1ag==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@vue/compiler-core": "3.5.25", + "@vue/compiler-dom": "3.5.25", + "@vue/compiler-ssr": "3.5.25", + "@vue/shared": "3.5.25", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.25", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.25.tgz", + "integrity": "sha512-ritPSKLBcParnsKYi+GNtbdbrIE1mtuFEJ4U1sWeuOMlIziK5GtOL85t5RhsNy4uWIXPgk+OUdpnXiTdzn8o3A==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.25", + "@vue/shared": "3.5.25" + } + }, + "node_modules/@vue/devtools-api": { + "version": "7.7.9", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.7.9.tgz", + "integrity": "sha512-kIE8wvwlcZ6TJTbNeU2HQNtaxLx3a84aotTITUuL/4bzfPxzajGBOoqjMhwZJ8L9qFYDU/lAYMEEm11dnZOD6g==", + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.7.9" + } + }, + "node_modules/@vue/devtools-core": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-core/-/devtools-core-8.0.5.tgz", + "integrity": "sha512-dpCw8nl0GDBuiL9SaY0mtDxoGIEmU38w+TQiYEPOLhW03VDC0lfNMYXS/qhl4I0YlysGp04NLY4UNn6xgD0VIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^8.0.5", + "@vue/devtools-shared": "^8.0.5", + "mitt": "^3.0.1", + "nanoid": "^5.1.5", + "pathe": "^2.0.3", + "vite-hot-client": "^2.1.0" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@vue/devtools-core/node_modules/@vue/devtools-kit": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-8.0.5.tgz", + "integrity": "sha512-q2VV6x1U3KJMTQPUlRMyWEKVbcHuxhqJdSr6Jtjz5uAThAIrfJ6WVZdGZm5cuO63ZnSUz0RCsVwiUUb0mDV0Yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^8.0.5", + "birpc": "^2.6.1", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^2.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-core/node_modules/@vue/devtools-shared": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-8.0.5.tgz", + "integrity": "sha512-bRLn6/spxpmgLk+iwOrR29KrYnJjG9DGpHGkDFG82UM21ZpJ39ztUT9OXX3g+usW7/b2z+h46I9ZiYyB07XMXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/devtools-core/node_modules/nanoid": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.6.tgz", + "integrity": "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==", + "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-core/node_modules/perfect-debounce": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.0.0.tgz", + "integrity": "sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/devtools-kit": { + "version": "7.7.9", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.7.9.tgz", + "integrity": "sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA==", + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^7.7.9", + "birpc": "^2.3.0", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.7.9", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.7.9.tgz", + "integrity": "sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA==", + "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.6.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-14.6.0.tgz", + "integrity": "sha512-UpiRY/7go4Yps4mYCjkvlIbVWmn9YvPGQDxTAlcKLphyaD77LjIu3plH4Y9zNT0GB4f3K5tMmhhtRhPOgrQ/bQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^8.35.1", + "fast-glob": "^3.3.3", + "typescript-eslint": "^8.35.1", + "vue-eslint-parser": "^10.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": "^9.10.0", + "eslint-plugin-vue": "^9.28.0 || ^10.0.0", + "typescript": ">=4.8.4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/language-core": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-3.1.8.tgz", + "integrity": "sha512-PfwAW7BLopqaJbneChNL6cUOTL3GL+0l8paYP5shhgY5toBNidWnMXWM+qDwL7MC9+zDtzCF2enT8r6VPu64iw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.26", + "@vue/compiler-dom": "^3.5.0", + "@vue/shared": "^3.5.0", + "alien-signals": "^3.0.0", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1", + "picomatch": "^4.0.2" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/language-core/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.25", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.25.tgz", + "integrity": "sha512-5xfAypCQepv4Jog1U4zn8cZIcbKKFka3AgWHEFQeK65OW+Ys4XybP6z2kKgws4YB43KGpqp5D/K3go2UPPunLA==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.25" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.25", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.25.tgz", + "integrity": "sha512-Z751v203YWwYzy460bzsYQISDfPjHTl+6Zzwo/a3CsAf+0ccEjQ8c+0CdX1WsumRTHeywvyUFtW6KvNukT/smA==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.25", + "@vue/shared": "3.5.25" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.25", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.25.tgz", + "integrity": "sha512-a4WrkYFbb19i9pjkz38zJBg8wa/rboNERq3+hRRb0dHiJh13c+6kAbgqCPfMaJ2gg4weWD3APZswASOfmKwamA==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.25", + "@vue/runtime-core": "3.5.25", + "@vue/shared": "3.5.25", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.25", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.25.tgz", + "integrity": "sha512-UJaXR54vMG61i8XNIzTSf2Q7MOqZHpp8+x3XLGtE3+fL+nQd+k7O5+X3D/uWrnQXOdMw5VPih+Uremcw+u1woQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.25", + "@vue/shared": "3.5.25" + }, + "peerDependencies": { + "vue": "3.5.25" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.25", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.25.tgz", + "integrity": "sha512-AbOPdQQnAnzs58H2FrrDxYj/TJfmeS2jdfEEhgiKINy+bnOANmVizIEgq1r+C5zsbs6l1CCQxtcj71rwNQ4jWg==", + "license": "MIT" + }, + "node_modules/@vue/tsconfig": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.8.1.tgz", + "integrity": "sha512-aK7feIWPXFSUhsCP9PFqPyFOcz4ENkb8hZ2pneL6m2UjCkccvaOhC/5KCKluuBufvp2KzkbdA2W2pk20vLzu3g==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "typescript": "5.x", + "vue": "^3.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "license": "MIT", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "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": "3.1.1", + "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-3.1.1.tgz", + "integrity": "sha512-ogkIWbVrLwKtHY6oOAXaYkAxP+cTH7V5FZ5+Tm4NZFd8VDZ6uNMDrfzqctTZ42eTMCSR3ne3otpcxmqSnFfPYA==", + "dev": true, + "license": "MIT" + }, + "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==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ansis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.2.0.tgz", + "integrity": "sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz", + "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.4", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.8", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.8.tgz", + "integrity": "sha512-Y1fOuNDowLfgKOypdc9SPABfoWXuZHBOyCS4cD52IeZBhr4Md6CLLs6atcxVrzRmQ06E7hSlm5bHHApPKR/byA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/birpc": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.9.0.tgz", + "integrity": "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==", + "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.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "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.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "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", + "peer": true, + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/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/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/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001760", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001760.tgz", + "integrity": "sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/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==", + "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==", + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/copy-anything": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-4.0.5.tgz", + "integrity": "sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==", + "license": "MIT", + "dependencies": { + "is-what": "^5.2.0" + }, + "engines": { + "node": ">=18" + }, + "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==", + "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/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/date-format-parse": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/date-format-parse/-/date-format-parse-0.2.7.tgz", + "integrity": "sha512-/+lyMUKoRogMuTeOVii6lUwjbVlesN9YRYLzZT/g3TEZ3uD9QnpjResujeEqUW+OSNbT7T1+SYdyEkTcRv+KDQ==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "license": "MIT" + }, + "node_modules/default-browser": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz", + "integrity": "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==", + "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.1", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", + "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==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/dolphin-components": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/dolphin-components/-/dolphin-components-3.1.0.tgz", + "integrity": "sha512-UNn6mKk/skMqE2gU1XSTNfm562kguude2vcgmzWXmrL48OHQxqcOosMoh5pfu43WTBAaiMZyeOaR3A0fa3DG9Q==", + "license": "Apache-2.0", + "dependencies": { + "@tailwindcss/vite": "^4.1.18", + "@types/tabulator-tables": "^6.3.0", + "axios": "^1.13.2", + "lucide-vue-next": "^0.561.0", + "moment": "^2.30.1", + "nepali-date-library": "^1.1.11", + "nepali-datepicker-vue": "^1.0.12", + "sweetalert2": "^11.26.10", + "tabulator-tables": "^6.3.1", + "tailwindcss": "^4.1.18", + "utility-types": "^3.11.0", + "vue": "^3.5.25", + "vue-datepicker-next": "^1.0.3", + "vue-multiselect": "^3.4.0", + "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz" + }, + "peerDependencies": { + "vue-router": "^4.5.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.267", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", + "dev": true, + "license": "ISC" + }, + "node_modules/enhanced-resolve": { + "version": "5.18.4", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz", + "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "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": "1.0.5", + "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-1.0.5.tgz", + "integrity": "sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==", + "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==", + "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-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/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz", + "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.2", + "@esbuild/android-arm": "0.27.2", + "@esbuild/android-arm64": "0.27.2", + "@esbuild/android-x64": "0.27.2", + "@esbuild/darwin-arm64": "0.27.2", + "@esbuild/darwin-x64": "0.27.2", + "@esbuild/freebsd-arm64": "0.27.2", + "@esbuild/freebsd-x64": "0.27.2", + "@esbuild/linux-arm": "0.27.2", + "@esbuild/linux-arm64": "0.27.2", + "@esbuild/linux-ia32": "0.27.2", + "@esbuild/linux-loong64": "0.27.2", + "@esbuild/linux-mips64el": "0.27.2", + "@esbuild/linux-ppc64": "0.27.2", + "@esbuild/linux-riscv64": "0.27.2", + "@esbuild/linux-s390x": "0.27.2", + "@esbuild/linux-x64": "0.27.2", + "@esbuild/netbsd-arm64": "0.27.2", + "@esbuild/netbsd-x64": "0.27.2", + "@esbuild/openbsd-arm64": "0.27.2", + "@esbuild/openbsd-x64": "0.27.2", + "@esbuild/openharmony-arm64": "0.27.2", + "@esbuild/sunos-x64": "0.27.2", + "@esbuild/win32-arm64": "0.27.2", + "@esbuild/win32-ia32": "0.27.2", + "@esbuild/win32-x64": "0.27.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==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", + "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.2", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.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.1.8", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", + "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "funding": { + "url": "https://opencollective.com/eslint-config-prettier" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.4.tgz", + "integrity": "sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.11.7" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-vue": { + "version": "10.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-10.6.2.tgz", + "integrity": "sha512-nA5yUs/B1KmKzvC42fyD0+l9Yd+LtEpVhWRbXuDj0e+ZURcTtyRbMDWUeJmTAh2wC6jC83raS63anNM2YT3NPw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.1.1", + "postcss-selector-parser": "^7.1.0", + "semver": "^7.6.3", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "@stylistic/eslint-plugin": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0", + "@typescript-eslint/parser": "^7.0.0 || ^8.0.0", + "eslint": "^8.57.0 || ^9.0.0", + "vue-eslint-parser": "^10.0.0" + }, + "peerDependenciesMeta": { + "@stylistic/eslint-plugin": { + "optional": true + }, + "@typescript-eslint/parser": { + "optional": true + } + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "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==", + "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.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "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==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "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==", + "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==", + "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==", + "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==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "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==", + "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==", + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "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==", + "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==", + "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==", + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/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==", + "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==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "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==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "license": "MIT" + }, + "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/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "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==", + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "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-what": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-5.5.0.tgz", + "integrity": "sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "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==", + "license": "ISC" + }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "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==", + "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==", + "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/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "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==", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lightningcss": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", + "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.30.2", + "lightningcss-darwin-arm64": "1.30.2", + "lightningcss-darwin-x64": "1.30.2", + "lightningcss-freebsd-x64": "1.30.2", + "lightningcss-linux-arm-gnueabihf": "1.30.2", + "lightningcss-linux-arm64-gnu": "1.30.2", + "lightningcss-linux-arm64-musl": "1.30.2", + "lightningcss-linux-x64-gnu": "1.30.2", + "lightningcss-linux-x64-musl": "1.30.2", + "lightningcss-win32-arm64-msvc": "1.30.2", + "lightningcss-win32-x64-msvc": "1.30.2" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", + "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", + "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", + "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", + "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", + "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", + "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", + "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", + "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", + "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", + "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", + "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "license": "MIT" + }, + "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/lucide-vue-next": { + "version": "0.561.0", + "resolved": "https://registry.npmjs.org/lucide-vue-next/-/lucide-vue-next-0.561.0.tgz", + "integrity": "sha512-c5HUckO0qHklVSOf/0vaSR3pEb8fYImRDCRDLde56uqS9js0D/e3RAvq0/YFWjkmyOBKCb0/IdskdoHZQEkT5g==", + "license": "ISC", + "peerDependencies": { + "vue": ">=3.0.1" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/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==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "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/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "license": "MIT" + }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "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==", + "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.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "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==", + "license": "MIT" + }, + "node_modules/nepali-date-library": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/nepali-date-library/-/nepali-date-library-1.1.11.tgz", + "integrity": "sha512-93i1ehRh52ViSmhrEZZmpOJW6sLm1wGcjflVnXxBbe4qtuqaRKIioDdBNrVPzSgsP+cyErvWs7U8MZGx16bfbg==", + "license": "MIT" + }, + "node_modules/nepali-datepicker-vue": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/nepali-datepicker-vue/-/nepali-datepicker-vue-1.0.12.tgz", + "integrity": "sha512-WtgTPkj01VJoNPNAw3yYJqynhmCEjHomFmA94HzzeqcoG5IGBRYIkZ7Dotlxh03UEjugg69aFnQhXVY76V/EiQ==", + "license": "MIT", + "dependencies": { + "nepali-date-library": "^1.1.11", + "vue": "^3.5.25" + } + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true, + "license": "MIT" + }, + "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": "8.0.4", + "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-8.0.4.tgz", + "integrity": "sha512-wdbB5My48XKp2ZfJUlhnLVihzeuA1hgBnqB2J9ahV77wLS+/YAJAlN8I+X3DIFIPZ3m5L7nplmlbhNiFDmXRDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "cross-spawn": "^7.0.6", + "memorystream": "^0.3.1", + "picomatch": "^4.0.2", + "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": "^20.5.0 || >=22.0.0", + "npm": ">= 10" + } + }, + "node_modules/npm-run-all2/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/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/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "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/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/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/open": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", + "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "wsl-utils": "^0.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==", + "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==", + "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==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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==", + "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==", + "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/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "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/pinia": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-3.0.4.tgz", + "integrity": "sha512-l7pqLUFTI/+ESXn6k3nu30ZIzW5E2WZF/LaHJEpoq6ElcLD+wduZoB2kBN19du6K/4FDpPMazY2wJr+IndBtQw==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^7.7.7" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "typescript": ">=4.5.0", + "vue": "^3.5.11" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "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==", + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.7.4.tgz", + "integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==", + "dev": true, + "license": "MIT", + "peer": true, + "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/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "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==", + "license": "MIT" + }, + "node_modules/rollup": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.5.tgz", + "integrity": "sha512-iTNAbFSlRpcHeeWu73ywU/8KuU/LZmNCSxp6fjQkJBD3ivUb8tpDrXhIxEzA05HlYMEwmtaUnb3RP+YNv162OQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.53.5", + "@rollup/rollup-android-arm64": "4.53.5", + "@rollup/rollup-darwin-arm64": "4.53.5", + "@rollup/rollup-darwin-x64": "4.53.5", + "@rollup/rollup-freebsd-arm64": "4.53.5", + "@rollup/rollup-freebsd-x64": "4.53.5", + "@rollup/rollup-linux-arm-gnueabihf": "4.53.5", + "@rollup/rollup-linux-arm-musleabihf": "4.53.5", + "@rollup/rollup-linux-arm64-gnu": "4.53.5", + "@rollup/rollup-linux-arm64-musl": "4.53.5", + "@rollup/rollup-linux-loong64-gnu": "4.53.5", + "@rollup/rollup-linux-ppc64-gnu": "4.53.5", + "@rollup/rollup-linux-riscv64-gnu": "4.53.5", + "@rollup/rollup-linux-riscv64-musl": "4.53.5", + "@rollup/rollup-linux-s390x-gnu": "4.53.5", + "@rollup/rollup-linux-x64-gnu": "4.53.5", + "@rollup/rollup-linux-x64-musl": "4.53.5", + "@rollup/rollup-openharmony-arm64": "4.53.5", + "@rollup/rollup-win32-arm64-msvc": "4.53.5", + "@rollup/rollup-win32-ia32-msvc": "4.53.5", + "@rollup/rollup-win32-x64-gnu": "4.53.5", + "@rollup/rollup-win32-x64-msvc": "4.53.5", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", + "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/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "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==", + "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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sirv": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz", + "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==", + "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==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/superjson": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.6.tgz", + "integrity": "sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==", + "license": "MIT", + "dependencies": { + "copy-anything": "^4" + }, + "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==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sweetalert2": { + "version": "11.26.10", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.26.10.tgz", + "integrity": "sha512-l/aaL9WWbumBOaMvcs4aCKzyQwkQCplSmSGpJD7FuRcSDWZyr2OEDmtcSPj2/w3N2TC2xw48Vg5cL6IkUJnPlQ==", + "license": "MIT", + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/limonte" + } + }, + "node_modules/synckit": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz", + "integrity": "sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pkgr/core": "^0.2.9" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/synckit" + } + }, + "node_modules/tabulator-tables": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/tabulator-tables/-/tabulator-tables-6.3.1.tgz", + "integrity": "sha512-qFW7kfadtcaISQIibKAIy0f3eeIXUVi8242Vly1iJfMD79kfEGzfczNuPBN/80hDxHzQJXYbmJ8VipI40hQtfA==", + "license": "MIT" + }, + "node_modules/tailwindcss": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.18.tgz", + "integrity": "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==", + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/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/ts-api-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.50.0.tgz", + "integrity": "sha512-Q1/6yNUmCpH94fbgMUMg2/BSAr/6U7GBk61kZTv1/asghQOWOjTlp9K8mixS5NcJmm2creY+UFfGeW/+OcA64A==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.50.0", + "@typescript-eslint/parser": "8.50.0", + "@typescript-eslint/typescript-estree": "8.50.0", + "@typescript-eslint/utils": "8.50.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/unplugin-utils": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.3.1.tgz", + "integrity": "sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==", + "dev": true, + "license": "MIT", + "dependencies": { + "pathe": "^2.0.3", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, + "node_modules/unplugin-utils/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "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/utility-types": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/vite": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.0.tgz", + "integrity": "sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==", + "license": "MIT", + "peer": true, + "dependencies": { + "esbuild": "^0.27.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "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-dev-rpc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vite-dev-rpc/-/vite-dev-rpc-1.1.0.tgz", + "integrity": "sha512-pKXZlgoXGoE8sEKiKJSng4hI1sQ4wi5YT24FCrwrLt6opmkjlqPPVmiPWWJn8M8byMxRGzp1CrFuqQs4M/Z39A==", + "dev": true, + "license": "MIT", + "dependencies": { + "birpc": "^2.4.0", + "vite-hot-client": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.1 || ^7.0.0-0" + } + }, + "node_modules/vite-hot-client": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/vite-hot-client/-/vite-hot-client-2.1.0.tgz", + "integrity": "sha512-7SpgZmU7R+dDnSmvXE1mfDtnHLHQSisdySVR7lO8ceAXvM0otZeuQQ6C8LrS5d/aYyP/QZ0hI0L+dIPrm4YlFQ==", + "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 || ^7.0.0-0" + } + }, + "node_modules/vite-plugin-inspect": { + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/vite-plugin-inspect/-/vite-plugin-inspect-11.3.3.tgz", + "integrity": "sha512-u2eV5La99oHoYPHE6UvbwgEqKKOQGz86wMg40CCosP6q8BkB6e5xPneZfYagK4ojPJSj5anHCrnvC20DpwVdRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansis": "^4.1.0", + "debug": "^4.4.1", + "error-stack-parser-es": "^1.0.5", + "ohash": "^2.0.11", + "open": "^10.2.0", + "perfect-debounce": "^2.0.0", + "sirv": "^3.0.1", + "unplugin-utils": "^0.3.0", + "vite-dev-rpc": "^1.1.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^6.0.0 || ^7.0.0-0" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + } + } + }, + "node_modules/vite-plugin-inspect/node_modules/perfect-debounce": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.0.0.tgz", + "integrity": "sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite-plugin-vue-devtools": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-8.0.5.tgz", + "integrity": "sha512-p619BlKFOqQXJ6uDWS1vUPQzuJOD6xJTfftj57JXBGoBD/yeQCowR7pnWcr/FEX4/HVkFbreI6w2uuGBmQOh6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-core": "^8.0.5", + "@vue/devtools-kit": "^8.0.5", + "@vue/devtools-shared": "^8.0.5", + "sirv": "^3.0.2", + "vite-plugin-inspect": "^11.3.3", + "vite-plugin-vue-inspector": "^5.3.2" + }, + "engines": { + "node": ">=v14.21.3" + }, + "peerDependencies": { + "vite": "^6.0.0 || ^7.0.0-0" + } + }, + "node_modules/vite-plugin-vue-devtools/node_modules/@vue/devtools-kit": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-8.0.5.tgz", + "integrity": "sha512-q2VV6x1U3KJMTQPUlRMyWEKVbcHuxhqJdSr6Jtjz5uAThAIrfJ6WVZdGZm5cuO63ZnSUz0RCsVwiUUb0mDV0Yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^8.0.5", + "birpc": "^2.6.1", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^2.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/vite-plugin-vue-devtools/node_modules/@vue/devtools-shared": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-8.0.5.tgz", + "integrity": "sha512-bRLn6/spxpmgLk+iwOrR29KrYnJjG9DGpHGkDFG82UM21ZpJ39ztUT9OXX3g+usW7/b2z+h46I9ZiYyB07XMXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/vite-plugin-vue-devtools/node_modules/perfect-debounce": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.0.0.tgz", + "integrity": "sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite-plugin-vue-inspector": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-5.3.2.tgz", + "integrity": "sha512-YvEKooQcSiBTAs0DoYLfefNja9bLgkFM7NI2b07bE2SruuvX0MEa9cMaxjKVMkeCp5Nz9FRIdcN1rOdFVBeL6Q==", + "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 || ^7.0.0-0" + } + }, + "node_modules/vite/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "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.25", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.25.tgz", + "integrity": "sha512-YLVdgv2K13WJ6n+kD5owehKtEXwdwXuj2TTyJMsO7pSeKw2bfRNZGjhB7YzrpbMYj5b5QsUebHpOqR3R3ziy/g==", + "license": "MIT", + "peer": true, + "dependencies": { + "@vue/compiler-dom": "3.5.25", + "@vue/compiler-sfc": "3.5.25", + "@vue/runtime-dom": "3.5.25", + "@vue/server-renderer": "3.5.25", + "@vue/shared": "3.5.25" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-datepicker-next": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/vue-datepicker-next/-/vue-datepicker-next-1.0.3.tgz", + "integrity": "sha512-Brqjh896BJGVxP7d6tGDsPMu0SDAB8hAdtG7zWF8VIHJB21dk1VB9KgdajD9Y9uXbg+wHN0vmL7sbMPIyehQVQ==", + "license": "MIT", + "dependencies": { + "date-format-parse": "^0.2.7", + "vue": "^3.0.0" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vue-eslint-parser": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-10.2.0.tgz", + "integrity": "sha512-CydUvFOQKD928UzZhTp4pr2vWz1L+H99t7Pkln2QSPdvmURT0MoC4wUccfCnuEaihNsu9aYYyk+bep8rlfkUXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.6.0", + "semver": "^7.6.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-multiselect": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/vue-multiselect/-/vue-multiselect-3.4.0.tgz", + "integrity": "sha512-NtaL1/VOsGsvM+H0EZswy1E+RcA5yeCpCxrhT28CBwKu9D1WbMSXBfIDNDw0v+T4enVRfOD5X7u2gyIJWCFX9w==", + "license": "MIT", + "engines": { + "node": ">= 14.18.1", + "npm": ">= 6.14.15" + } + }, + "node_modules/vue-router": { + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.6.4.tgz", + "integrity": "sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, + "node_modules/vue-router/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-tsc": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-3.1.8.tgz", + "integrity": "sha512-deKgwx6exIHeZwF601P1ktZKNF0bepaSN4jBU3AsbldPx9gylUc1JDxYppl82yxgkAgaz0Y0LCLOi+cXe9HMYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/typescript": "2.4.26", + "@vue/language-core": "3.1.8" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": ">=5.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wsl-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", + "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/xlsx": { + "version": "0.20.3", + "resolved": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz", + "integrity": "sha512-oLDq3jw7AcLqKWH2AhCpVTZl8mf6X2YReP+Neh0SJUzV/BdZYjth94tG5toiMB1PPrYtxOCfaoUCkvtuH+3AJA==", + "license": "Apache-2.0", + "bin": { + "xlsx": "bin/xlsx.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "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/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==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..f359002 --- /dev/null +++ b/package.json @@ -0,0 +1,47 @@ +{ + "name": "vue-bolier-plate", + "version": "0.0.0", + "private": true, + "type": "module", + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "scripts": { + "dev": "vite --host", + "prebuild": "npm run lint", + "build": "run-p type-check \"build-only {@}\" --", + "preview": "vite preview", + "build-only": "vite build", + "type-check": "vue-tsc --build", + "format": "prettier --write src/", + "format:check": "prettier --check src/", + "lint": "eslint src --max-warnings 0", + "lint:fix": "eslint src --fix" + }, + "dependencies": { + "axios": "^1.13.2", + "dolphin-components": "^3.1.0", + "nepali-date-library": "^1.1.11", + "pinia": "^3.0.4", + "typescript-eslint": "^8.50.0", + "vue": "^3.5.25", + "vue-router": "^4.6.4" + }, + "devDependencies": { + "@tsconfig/node24": "^24.0.3", + "@types/node": "^25.0.3", + "@vitejs/plugin-vue": "^6.0.3", + "@vue/eslint-config-prettier": "^10.2.0", + "@vue/eslint-config-typescript": "^14.6.0", + "@vue/tsconfig": "^0.8.1", + "eslint": "^9.39.2", + "eslint-plugin-vue": "~10.6.2", + "jiti": "^2.6.1", + "npm-run-all2": "^8.0.4", + "prettier": "3.7.4", + "typescript": "~5.9.3", + "vite": "^7.3.0", + "vite-plugin-vue-devtools": "^8.0.5", + "vue-tsc": "^3.1.8" + } +} diff --git a/public/config.example.json b/public/config.example.json new file mode 100644 index 0000000..ae4aeb2 --- /dev/null +++ b/public/config.example.json @@ -0,0 +1,9 @@ +{ + "ENVIRONMENT": "PRODUCTION || DEVELOPMENT", + "PAGE_TITLE": "Dolphin", + "PAGE_TITLE_LOGO": "http://localhost:3000/img/Dolphin/dolphinfav.ico", + "CLIENT_NAME": "Mavorion Systems", + "CLIENT_LOGO": "", + "CLIENT_LOCATION": "LAZIMPAT", + "API_BASE_URL": "http://localhost:8000/api/" +} diff --git a/public/config.json b/public/config.json new file mode 100644 index 0000000..197fb06 --- /dev/null +++ b/public/config.json @@ -0,0 +1,9 @@ +{ + "ENVIRONMENT": "PRODUCTION || DEVELOPMENT", + "PAGE_TITLE": "Dolphin", + "PAGE_TITLE_LOGO": "/img/Dolphin/dolphinfav.ico", + "CLIENT_NAME": "Mavorion Systems", + "CLIENT_LOCATION": "LAZIMPAT", + "CLIENT_LOGO": "", + "API_BASE_URL": "http://localhost:8000/api/v1/" +} diff --git a/public/img/Dolphin/dolphin-logo.png b/public/img/Dolphin/dolphin-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..dbd6934331318d707eced73ff0bb9f5bc0902d6d GIT binary patch literal 51052 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 z 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 \ No newline at end of file diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..a0b8fc8 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,5 @@ + + + diff --git a/src/assets/css/main.css b/src/assets/css/main.css new file mode 100644 index 0000000..72d1f6f --- /dev/null +++ b/src/assets/css/main.css @@ -0,0 +1,2 @@ +@import "./tailwind.css"; +@import "dolphin-components/dolphin-components.css"; diff --git a/src/assets/css/tailwind.css b/src/assets/css/tailwind.css new file mode 100644 index 0000000..0465b94 --- /dev/null +++ b/src/assets/css/tailwind.css @@ -0,0 +1,36 @@ +@import "tailwindcss"; + +@theme { + --color-background: var(--background); + --color-foreground: var(--foreground); + + --color-modal: var(--card); + --color-modal-foreground: var(--card-foreground); + + --color-modal: var(--card); + --color-modal-foreground: var(--card-foreground); + + --color-popover: var(--popover); + --color-popover-foreground: var(--popover-foreground); + + --color-primary: var(--primary); + --color-primary-foreground: var(--primary-foreground); + + --color-secondary: var(--secondary); + --color-secondary-foreground: var(--secondary-foreground); + + --color-muted: var(--muted); + --color-muted-foreground: var(--muted-foreground); + + --color-accent: var(--accent); + --color-accent-foreground: var(--accent-foreground); + + --color-border: var(--border); + --color-border-foreground: var(--border-foreground); + --color-input: var(--input); + --color-input-focus: var(--input-focus); + --color-sidebar: var(--sidebar); + --color-scrollbar: var(--scrollbar); + + --radius-default: var(--radius); +} diff --git a/src/assets/ts/main.ts b/src/assets/ts/main.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/core/app/api.ts b/src/core/app/api.ts new file mode 100644 index 0000000..6a60d67 --- /dev/null +++ b/src/core/app/api.ts @@ -0,0 +1,56 @@ +import { useAuth } from "@/stores/Auth/auth.store"; +import axios from "axios"; +import { storeToRefs } from "pinia"; +import { auth } from "./endpoints"; + +const apiURL: string = DOLPHIN.config.API_BASE_URL; + +const api = axios.create({ + baseURL: apiURL, + headers: { + "Content-Type": "application/json", + }, + withCredentials: true, +}); + +// No need to save the Token as they are already attached to the cookie from backend +api.interceptors.request.use( + function (config) { + return config; + }, + function (error) { + return Promise.reject(error); + } +); + +api.interceptors.response.use( + function (response) { + return response; + }, + async function (error) { + const { + config, + response: { status }, + } = error; + const originalRequest = config; + if (status === 401 && !originalRequest._retry) { + originalRequest._retry = true; + const authStore = useAuth(); + const { isAuthenticated } = storeToRefs(authStore); + try { + await api.post(auth.tokenRefresh, null, { + withCredentials: true, + }); + isAuthenticated.value = true; + return await axios(originalRequest); + } catch (e) { + console.error("Token refresh failed", e); + isAuthenticated.value = false; + throw e; + } + } + return Promise.reject(error); + } +); + +export default api; diff --git a/src/core/app/endpoints.ts b/src/core/app/endpoints.ts new file mode 100644 index 0000000..363ae3f --- /dev/null +++ b/src/core/app/endpoints.ts @@ -0,0 +1,31 @@ +export const auth = { + login: `/login/`, + logout: `/logout/`, + tokenRefresh: `/token/refresh/`, +}; + +export const user = { + list: `/user/`, + create: `/user/`, + retrieve: (id: number) => `/user/${id}/`, + update: (id: number) => `/user/${id}/`, + partialUpdate: (id: number) => `/user/${id}/`, + delete: (id: number) => `/user/${id}/`, + self: `/user/self/`, +}; + +export const permissions = { + allPermissions: `/all-permissions/`, + allGroupsPermissions: `/all-groups-permissions/`, + createGroupsPermissions: `/create-groups-permissions/`, + assignGroupsToUser: `/assign-groups-to-user/`, + createRoleDepartmentAccess: `/create-role-department-access/`, +}; + +export const API_ENDPOINTS = { + auth, + user, + permissions, +}; + +export type ApiEndpoints = typeof API_ENDPOINTS; diff --git a/src/core/declarations/dolphin.d.ts b/src/core/declarations/dolphin.d.ts new file mode 100644 index 0000000..280178a --- /dev/null +++ b/src/core/declarations/dolphin.d.ts @@ -0,0 +1,15 @@ +export {}; + +declare global { + var DOLPHIN: { + config: { + ENVIRONMENT: "PRODUCTION" | "DEVELOPMENT"; + PAGE_TITLE: string; + PAGE_TITLE_LOGO: string; + CLIENT_NAME: string; + CLIENT_LOGO: string; + CLIENT_LOCATION: string; + API_BASE_URL: string; + }; + }; +} diff --git a/src/core/setup/components.setup.ts b/src/core/setup/components.setup.ts new file mode 100644 index 0000000..607f818 --- /dev/null +++ b/src/core/setup/components.setup.ts @@ -0,0 +1,30 @@ +import type { App } from "vue"; +import { + ContentLayout, + DateRange, + DateSelector, + Icons, + Modal, + Switch, + Tabulator, + Toggle, + Towser, + Loader, + Wizard, +} from "dolphin-components"; + +const setupComponents = (app: App) => { + app.component("ContentLayout", ContentLayout); + app.component("DateRange", DateRange); + app.component("DateSelector", DateSelector); + app.component("Icons", Icons); + app.component("Modal", Modal); + app.component("Switch", Switch); + app.component("Tabulator", Tabulator); + app.component("Toggle", Toggle); + app.component("Towser", Towser); + app.component("Loader", Loader); + app.component("Wizard", Wizard); +}; + +export default setupComponents; diff --git a/src/core/setup/directives.setup.ts b/src/core/setup/directives.setup.ts new file mode 100644 index 0000000..4879e9b --- /dev/null +++ b/src/core/setup/directives.setup.ts @@ -0,0 +1,20 @@ +import type { App } from "vue"; +import { + InputError, + ScrollbarScroll, + InputSelect, + InputCurrency, + ScrollbarAnimateDropdown, + Tooltip, +} from "dolphin-components"; + +const setupDirectives = (app: App) => { + app.directive("input-error", InputError); + app.directive("input-currency", InputCurrency); + app.directive("input-select", InputSelect); + app.directive("hide-scrollbar", ScrollbarScroll); + app.directive("animate-dropdown", ScrollbarAnimateDropdown); + app.directive("tooltip", Tooltip); +}; + +export default setupDirectives; diff --git a/src/core/setup/plugins.setup.ts b/src/core/setup/plugins.setup.ts new file mode 100644 index 0000000..989c18c --- /dev/null +++ b/src/core/setup/plugins.setup.ts @@ -0,0 +1,11 @@ +import type { App } from "vue"; +import { FocusNextPlugin, CurrencyFormatterPlugin, NumbertoWordPlugin, ToastPlugin } from "dolphin-components"; + +const setupPlugins = (app: App) => { + app.use(FocusNextPlugin); + app.use(CurrencyFormatterPlugin); + app.use(NumbertoWordPlugin); + app.use(ToastPlugin); +}; + +export default setupPlugins; diff --git a/src/core/setup/router.setup.ts b/src/core/setup/router.setup.ts new file mode 100644 index 0000000..f8d9b06 --- /dev/null +++ b/src/core/setup/router.setup.ts @@ -0,0 +1,25 @@ +import router from "@/router"; +import { useAuth } from "@/stores/Auth/auth.store"; +import type { App } from "vue"; + +const setupRouter = (app: App) => { + router.beforeEach(async (to, from, next) => { + if (to.meta.requireAuth || to.meta.onlyGuest) { + const authStore = useAuth(); + await authStore.getUser(); + if (authStore.isAuthenticated && to.meta.requireAuth) { + next(); + } else if (!authStore.isAuthenticated && to.meta.onlyGuest) { + next(); + } else if (authStore.isAuthenticated && to.meta.onlyGuest) { + next({ name: "dashboard" }); + } else { + next({ name: "login" }); + } + } + next(); + }); + app.use(router); +}; + +export default setupRouter; diff --git a/src/core/types/app/sidebar.type.ts b/src/core/types/app/sidebar.type.ts new file mode 100644 index 0000000..dc1f71a --- /dev/null +++ b/src/core/types/app/sidebar.type.ts @@ -0,0 +1,11 @@ +import type { RouteLocationRaw } from "vue-router"; + +export type SidebarItem = { + label: string; + to?: RouteLocationRaw; + icon?: string; + children?: { + label: string; + to: RouteLocationRaw; + }[]; +}; diff --git a/src/core/types/auth/auth.type.ts b/src/core/types/auth/auth.type.ts new file mode 100644 index 0000000..872eb11 --- /dev/null +++ b/src/core/types/auth/auth.type.ts @@ -0,0 +1,15 @@ +export interface LoginDetails { + username: string; + password: string; + cloudflareToken?: string; +} + +export interface UserDetails { + id: number; + username: string; + full_name: string; + email: string; + phone: number | null; + department: string | null; + roles: []; +} diff --git a/src/core/utils/Common.ts b/src/core/utils/Common.ts new file mode 100644 index 0000000..ffede29 --- /dev/null +++ b/src/core/utils/Common.ts @@ -0,0 +1,11 @@ +const getNameInitials = (name: string): string => { + if (!name?.trim()) return ""; + + const parts = name.trim().split(/\s+/); + const first = parts[0]?.[0]?.toUpperCase() ?? ""; + const last = (parts.length > 1 ? parts[parts.length - 1]?.[0]?.toUpperCase() : "") ?? ""; + + return first + last; +}; + +export { getNameInitials }; diff --git a/src/initApp.ts b/src/initApp.ts new file mode 100644 index 0000000..32c042b --- /dev/null +++ b/src/initApp.ts @@ -0,0 +1,45 @@ +globalThis.DOLPHIN = globalThis.DOLPHIN || { config: {} as any }; + +async function loadConfig() { + try { + const response = await fetch("/config.json"); + if (!response.ok) throw new Error("Configuration Missing"); + + DOLPHIN.config = Object.freeze(await response.json()); + document.title = DOLPHIN.config.PAGE_TITLE; + + document.querySelectorAll('link[rel*="icon"]').forEach((el) => el.remove()); + const link = Object.assign(document.createElement("link"), { + rel: "icon", + type: "image/png", + href: `${DOLPHIN.config.PAGE_TITLE_LOGO}`, + }); + document.head.appendChild(link); + + if (DOLPHIN.config.ENVIRONMENT == "PRODUCTION") { + setInterval(() => { + console.clear(); + const style = ` + color: #00CCFF; + font-size: 64px; + font-weight: bold; + text-shadow: 1px 1px 2px #000; + `; + console.log("%cDolphin Kiosk - Mavorion", style); + }, 1000); + } + } catch (e) { + console.error("Configuration Missing:", e); + const msg = document.createElement("div"); + msg.innerText = "⚠️ Configuration Missing. Please contact support."; + msg.style.cssText = "color:red; font-family:sans-serif; text-align:center; margin-top:50px;"; + document.body.appendChild(msg); + throw e; + } +} + +(async () => { + await loadConfig(); + const { initAPP } = await import("./main"); + initAPP(); +})(); diff --git a/src/layouts/AuthLayout.vue b/src/layouts/AuthLayout.vue new file mode 100644 index 0000000..b49882b --- /dev/null +++ b/src/layouts/AuthLayout.vue @@ -0,0 +1,148 @@ + + diff --git a/src/layouts/components/Footer.vue b/src/layouts/components/Footer.vue new file mode 100644 index 0000000..d28e794 --- /dev/null +++ b/src/layouts/components/Footer.vue @@ -0,0 +1,12 @@ + + + diff --git a/src/layouts/components/Header.vue b/src/layouts/components/Header.vue new file mode 100644 index 0000000..9844a2c --- /dev/null +++ b/src/layouts/components/Header.vue @@ -0,0 +1,101 @@ + + + diff --git a/src/layouts/components/Sidebar.vue b/src/layouts/components/Sidebar.vue new file mode 100644 index 0000000..6754f53 --- /dev/null +++ b/src/layouts/components/Sidebar.vue @@ -0,0 +1,104 @@ + + + diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..d1e244a --- /dev/null +++ b/src/main.ts @@ -0,0 +1,26 @@ +// @ts-ignore +import "@/assets/css/main.css"; + +import { createApp } from "vue"; +import { createPinia } from "pinia"; + +import App from "./App.vue"; + +//Setups +import setupComponents from "./core/setup/components.setup"; +import setupDirectives from "./core/setup/directives.setup"; +import setupPlugins from "./core/setup/plugins.setup"; +import setupRouter from "./core/setup/router.setup"; + +export const initAPP = () => { + const app = createApp(App); + + app.use(createPinia()); + + setupComponents(app); + setupDirectives(app); + setupPlugins(app); + setupRouter(app); + + app.mount("#app"); +}; diff --git a/src/router/auth.router.ts b/src/router/auth.router.ts new file mode 100644 index 0000000..15b072d --- /dev/null +++ b/src/router/auth.router.ts @@ -0,0 +1,119 @@ +import type { RouteRecordRaw } from "vue-router"; + +const authChildren: Array = [ + { + path: "/", + name: "dashboard", + component: () => import("@/views/Dashboard/Index.vue"), + }, + { + path: "/component", + name: "component", + children: [ + { + path: "content-layout", + name: "content-layout", + component: () => import("@/views/Components/ContentLayout.vue"), + }, + { + path: "modal", + name: "modal", + component: () => import("@/views/Components/Modal.vue"), + }, + { + path: "switch", + name: "switch", + component: () => import("@/views/Components/Switch.vue"), + }, + { + path: "toggle", + name: "toggle", + component: () => import("@/views/Components/Toggle.vue"), + }, + { + path: "towser", + name: "towser", + component: () => import("@/views/Components/Towser.vue"), + }, + { + path: "tabulator", + name: "tabulator", + component: () => import("@/views/Components/Tabulator.vue"), + }, + { + path: "date-range", + name: "date-range", + component: () => import("@/views/Components/DateRange.vue"), + }, + { + path: "date-selector", + name: "date-selector", + component: () => import("@/views/Components/DateSelector.vue"), + }, + { + path: "wizard", + name: "wizard", + component: () => import("@/views/Components/Wizard.vue"), + }, + { + path: "loader", + name: "loader", + component: () => import("@/views/Components/Loader.vue"), + }, + { + path: "image-cropper", + name: "image-cropper", + component: () => import("@/views/Components/ImageCropper.vue"), + }, + ], + }, + { + path: "/directives", + name: "directives", + children: [ + { + path: "input-error", + name: "input-error", + component: () => import("@/views/Directives/InputError.vue"), + }, + { + path: "input-currency", + name: "input-currency", + component: () => import("@/views/Directives/InputCurrency.vue"), + }, + { + path: "input-select", + name: "input-select", + component: () => import("@/views/Directives/InputSelect.vue"), + }, + { + path: "tooltip", + name: "tooltip", + component: () => import("@/views/Directives/Tooltip.vue"), + }, + ], + }, + { + path: "/css", + name: "css", + children: [ + { + path: "button", + name: "button", + component: () => import("@/views/CSS/Button.vue"), + }, + { + path: "input", + name: "input", + component: () => import("@/views/CSS/Input.vue"), + }, + { + path: "font", + name: "font", + component: () => import("@/views/CSS/Font.vue"), + }, + ], + }, +]; + +export default authChildren; diff --git a/src/router/index.ts b/src/router/index.ts new file mode 100644 index 0000000..f8ab095 --- /dev/null +++ b/src/router/index.ts @@ -0,0 +1,27 @@ +import { createRouter, createWebHistory } from "vue-router"; +import authChildren from "./auth.router"; + +const router = createRouter({ + history: createWebHistory(), + routes: [ + { + path: "/", + name: "authLayout", + component: () => import("@/layouts/AuthLayout.vue"), + meta: { + requireAuth: true, + }, + children: authChildren, + }, + { + path: "/login", + name: "login", + meta: { + onlyGuest: true, + }, + component: () => import("@/views/Auth/Login.vue"), + }, + ], +}); + +export default router; diff --git a/src/router/router.ts b/src/router/router.ts new file mode 100644 index 0000000..222654b --- /dev/null +++ b/src/router/router.ts @@ -0,0 +1,10 @@ +import "vue-router"; + +export {}; + +declare module "vue-router" { + interface RouteMeta { + requireAuth?: boolean; + onlyGuest?: boolean; + } +} diff --git a/src/stores/App/core.store.ts b/src/stores/App/core.store.ts new file mode 100644 index 0000000..3651d64 --- /dev/null +++ b/src/stores/App/core.store.ts @@ -0,0 +1,19 @@ +import { defineStore } from "pinia"; + +export const useCore = defineStore("core", { + state: () => ({ + sidebarOpen: true, + }), + + getters: { + isSidebarOpen(state) { + return state.sidebarOpen; + }, + }, + + actions: { + setSidebarStatus(value: boolean) { + this.sidebarOpen = value; + }, + }, +}); diff --git a/src/stores/App/loader.store.ts b/src/stores/App/loader.store.ts new file mode 100644 index 0000000..e796612 --- /dev/null +++ b/src/stores/App/loader.store.ts @@ -0,0 +1,19 @@ +import { defineStore } from "pinia"; + +export const useLoader = defineStore("loader", { + state: () => ({ + loader: false, + }), + + getters: { + isLoading(state) { + return state.loader; + }, + }, + + actions: { + setLoaderStatus(value: boolean) { + this.loader = value; + }, + }, +}); diff --git a/src/stores/Auth/auth.store.ts b/src/stores/Auth/auth.store.ts new file mode 100644 index 0000000..1b54994 --- /dev/null +++ b/src/stores/Auth/auth.store.ts @@ -0,0 +1,68 @@ +import api from "@/core/app/api"; +import { auth, user } from "@/core/app/endpoints"; +import type { LoginDetails, UserDetails } from "@/core/types/auth/auth.type"; +import { defineStore } from "pinia"; +import { useLoader } from "../App/loader.store"; +import router from "@/router"; + +export const useAuth = defineStore("auth", { + state: () => ({ + loginDetails: {} as LoginDetails, + isAuthenticated: false, + user: {} as UserDetails, + }), + + getters: { + getLoginDetails(state) { + return state.loginDetails; + }, + }, + + actions: { + async login() { + const loaderStore = useLoader(); + loaderStore.setLoaderStatus(true); + await api + .post(auth.login, this.loginDetails) + .then(() => { + loaderStore.setLoaderStatus(false); + this.isAuthenticated = true; + router.push({ name: "dashboard" }); + }) + .catch(() => { + loaderStore.setLoaderStatus(false); + this.isAuthenticated = false; + }); + }, + async getUser() { + const loaderStore = useLoader(); + loaderStore.setLoaderStatus(true); + await api + .get(user.self) + .then((e) => { + this.user = e.data.data; + loaderStore.setLoaderStatus(false); + this.isAuthenticated = true; + }) + .catch(() => { + this.user = {} as UserDetails; + loaderStore.setLoaderStatus(false); + this.isAuthenticated = false; + }); + }, + + async logout() { + const loaderStore = useLoader(); + loaderStore.setLoaderStatus(true); + await api + .post(auth.logout) + .then(() => { + this.isAuthenticated = false; + router.push({ name: "login" }); + }) + .catch((e) => { + console.log(e); + }); + }, + }, +}); diff --git a/src/stores/counter.ts b/src/stores/counter.ts new file mode 100644 index 0000000..bef4e96 --- /dev/null +++ b/src/stores/counter.ts @@ -0,0 +1,12 @@ +import { ref, computed } from "vue"; +import { defineStore } from "pinia"; + +export const useCounterStore = defineStore("counter", () => { + const count = ref(0); + const doubleCount = computed(() => count.value * 2); + function increment() { + count.value++; + } + + return { count, doubleCount, increment }; +}); diff --git a/src/views/Auth/Login.vue b/src/views/Auth/Login.vue new file mode 100644 index 0000000..7cf776a --- /dev/null +++ b/src/views/Auth/Login.vue @@ -0,0 +1,110 @@ + + diff --git a/src/views/CSS/Button.vue b/src/views/CSS/Button.vue new file mode 100644 index 0000000..1d0a54d --- /dev/null +++ b/src/views/CSS/Button.vue @@ -0,0 +1,132 @@ + + + diff --git a/src/views/CSS/Font.vue b/src/views/CSS/Font.vue new file mode 100644 index 0000000..b82a9e5 --- /dev/null +++ b/src/views/CSS/Font.vue @@ -0,0 +1,72 @@ + + + diff --git a/src/views/CSS/Input.vue b/src/views/CSS/Input.vue new file mode 100644 index 0000000..34f4de3 --- /dev/null +++ b/src/views/CSS/Input.vue @@ -0,0 +1,501 @@ + + + + + diff --git a/src/views/Components/ContentLayout.vue b/src/views/Components/ContentLayout.vue new file mode 100644 index 0000000..79410b2 --- /dev/null +++ b/src/views/Components/ContentLayout.vue @@ -0,0 +1,59 @@ + + + diff --git a/src/views/Components/DateRange.vue b/src/views/Components/DateRange.vue new file mode 100644 index 0000000..ec07bf5 --- /dev/null +++ b/src/views/Components/DateRange.vue @@ -0,0 +1,23 @@ + + + diff --git a/src/views/Components/DateSelector.vue b/src/views/Components/DateSelector.vue new file mode 100644 index 0000000..07b6154 --- /dev/null +++ b/src/views/Components/DateSelector.vue @@ -0,0 +1,29 @@ + + + diff --git a/src/views/Components/ImageCropper.vue b/src/views/Components/ImageCropper.vue new file mode 100644 index 0000000..86a4e80 --- /dev/null +++ b/src/views/Components/ImageCropper.vue @@ -0,0 +1,19 @@ + + + diff --git a/src/views/Components/Loader.vue b/src/views/Components/Loader.vue new file mode 100644 index 0000000..5d1486e --- /dev/null +++ b/src/views/Components/Loader.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/views/Components/Modal.vue b/src/views/Components/Modal.vue new file mode 100644 index 0000000..0507fdd --- /dev/null +++ b/src/views/Components/Modal.vue @@ -0,0 +1,35 @@ + + + diff --git a/src/views/Components/Switch.vue b/src/views/Components/Switch.vue new file mode 100644 index 0000000..de5dcc2 --- /dev/null +++ b/src/views/Components/Switch.vue @@ -0,0 +1,22 @@ + + + diff --git a/src/views/Components/Tabulator.vue b/src/views/Components/Tabulator.vue new file mode 100644 index 0000000..55f504b --- /dev/null +++ b/src/views/Components/Tabulator.vue @@ -0,0 +1,1286 @@ + + + diff --git a/src/views/Components/Toggle.vue b/src/views/Components/Toggle.vue new file mode 100644 index 0000000..7c890ae --- /dev/null +++ b/src/views/Components/Toggle.vue @@ -0,0 +1,17 @@ + + + diff --git a/src/views/Components/Towser.vue b/src/views/Components/Towser.vue new file mode 100644 index 0000000..588a5a1 --- /dev/null +++ b/src/views/Components/Towser.vue @@ -0,0 +1,39 @@ + + + diff --git a/src/views/Components/Wizard.vue b/src/views/Components/Wizard.vue new file mode 100644 index 0000000..ea97be4 --- /dev/null +++ b/src/views/Components/Wizard.vue @@ -0,0 +1,42 @@ + + + diff --git a/src/views/Dashboard/Index.vue b/src/views/Dashboard/Index.vue new file mode 100644 index 0000000..eed8f0f --- /dev/null +++ b/src/views/Dashboard/Index.vue @@ -0,0 +1,5 @@ + + + diff --git a/src/views/Directives/InputCurrency.vue b/src/views/Directives/InputCurrency.vue new file mode 100644 index 0000000..bee66d8 --- /dev/null +++ b/src/views/Directives/InputCurrency.vue @@ -0,0 +1,32 @@ + + + diff --git a/src/views/Directives/InputError.vue b/src/views/Directives/InputError.vue new file mode 100644 index 0000000..de094d4 --- /dev/null +++ b/src/views/Directives/InputError.vue @@ -0,0 +1,14 @@ + + + diff --git a/src/views/Directives/InputSelect.vue b/src/views/Directives/InputSelect.vue new file mode 100644 index 0000000..884f073 --- /dev/null +++ b/src/views/Directives/InputSelect.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/Directives/Tooltip.vue b/src/views/Directives/Tooltip.vue new file mode 100644 index 0000000..c7b95d1 --- /dev/null +++ b/src/views/Directives/Tooltip.vue @@ -0,0 +1,34 @@ +//HMTL Element Load Example + + + diff --git a/tsconfig.app.json b/tsconfig.app.json new file mode 100644 index 0000000..69f06cc --- /dev/null +++ b/tsconfig.app.json @@ -0,0 +1,12 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "include": ["src/**/*.d.ts", "src/**/*", "src/**/*.vue"], + "exclude": ["src/**/__tests__/*"], + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..8df4bb4 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,11 @@ +{ + "files": [], + "references": [ + { + "path": "./tsconfig.node.json" + }, + { + "path": "./tsconfig.app.json" + } + ] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..aa59b5c --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,19 @@ +{ + "extends": "@tsconfig/node24/tsconfig.json", + "include": [ + "vite.config.*", + "vitest.config.*", + "cypress.config.*", + "nightwatch.conf.*", + "playwright.config.*", + "eslint.config.*" + ], + "compilerOptions": { + "noEmit": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + + "module": "ESNext", + "moduleResolution": "Bundler", + "types": ["node"] + } +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..3510d6b --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,21 @@ +import { fileURLToPath, URL } from "node:url"; + +import { defineConfig } from "vite"; +import vue from "@vitejs/plugin-vue"; +import vueDevTools from "vite-plugin-vue-devtools"; +import tailwindcss from "@tailwindcss/vite"; + +export default defineConfig({ + define: { + global: "window", + }, + plugins: [vue(), vueDevTools(), tailwindcss()], + resolve: { + alias: { + "@": fileURLToPath(new URL("./src", import.meta.url)), + }, + }, + server: { + port: 3000, + }, +});