From c9ba2ad556c05e2abab82c3091e06fc8dbdd0c76 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=BE=9A=E7=9A=93?= <1736436516@qq.com>
Date: Wed, 4 Sep 2024 16:23:57 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9C=AC=E5=9C=B0=E5=91=8A=E8=AD=A6=E9=A1=B5?=
=?UTF-8?q?=E9=9D=A2V0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitignore | 30 +
.vscode/extensions.json | 3 +
README.md | 260 +++++
env.d.ts | 8 +
index.html | 13 +
package-lock.json | 1730 +++++++++++++++++++++++++++++++++
package.json | 30 +
public/icon.ico | Bin 0 -> 12854 bytes
public/login-bg.jpg | Bin 0 -> 343420 bytes
public/logo.png | Bin 0 -> 2167 bytes
src/App.vue | 17 +
src/components/AlertChart.vue | 225 +++++
src/components/Layout.vue | 167 ++++
src/components/Statistics.vue | 136 +++
src/html/AlertManagement.vue | 334 +++++++
src/html/LoginView.vue | 148 +++
src/html/Test.vue | 12 +
src/main.ts | 16 +
src/router/index.ts | 58 ++
src/utils/Superbox.ts | 13 +
src/utils/axios-config.ts | 36 +
src/utils/message_channel.js | 127 +++
src/utils/misc.ts | 30 +
src/utils/superbox.js | 160 +++
src/utils/superboxApi.ts | 200 ++++
tsconfig.app.json | 14 +
tsconfig.json | 11 +
tsconfig.node.json | 19 +
vite.config.ts | 34 +
29 files changed, 3831 insertions(+)
create mode 100644 .gitignore
create mode 100644 .vscode/extensions.json
create mode 100644 README.md
create mode 100644 env.d.ts
create mode 100644 index.html
create mode 100644 package-lock.json
create mode 100644 package.json
create mode 100644 public/icon.ico
create mode 100644 public/login-bg.jpg
create mode 100644 public/logo.png
create mode 100644 src/App.vue
create mode 100644 src/components/AlertChart.vue
create mode 100644 src/components/Layout.vue
create mode 100644 src/components/Statistics.vue
create mode 100644 src/html/AlertManagement.vue
create mode 100644 src/html/LoginView.vue
create mode 100644 src/html/Test.vue
create mode 100644 src/main.ts
create mode 100644 src/router/index.ts
create mode 100644 src/utils/Superbox.ts
create mode 100644 src/utils/axios-config.ts
create mode 100644 src/utils/message_channel.js
create mode 100644 src/utils/misc.ts
create mode 100644 src/utils/superbox.js
create mode 100644 src/utils/superboxApi.ts
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/.gitignore b/.gitignore
new file mode 100644
index 0000000..8ee54e8
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,30 @@
+# 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
+
+/cypress/videos/
+/cypress/screenshots/
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
+
+*.tsbuildinfo
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
new file mode 100644
index 0000000..a7cea0b
--- /dev/null
+++ b/.vscode/extensions.json
@@ -0,0 +1,3 @@
+{
+ "recommendations": ["Vue.volar"]
+}
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..94f0c99
--- /dev/null
+++ b/README.md
@@ -0,0 +1,260 @@
+# alarm_managerment
+
+## 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
+```
+
+
+
+## 依赖包
+
+```
+ "axios": "^1.7.3",
+ "echarts": "^5.5.1",
+ "element-plus": "^2.7.8",
+ "file-saver": "^2.0.5",
+ "http-proxy-middleware": "^3.0.0",
+ "jszip": "^3.10.1",
+ "qs": "^6.12.3",
+ "vue": "^3.4.29",
+ "vue-router": "^4.4.0"
+```
+
+> - axios:异步
+> - echarts:图标盘
+> - element-plus: 组件
+> - file-saver: 文件加载
+> - http-proxy-middleware: 请求跨域
+> - jszip:下载打包
+> - qs:静态资源请求
+> - vue:框架
+> - vue-router:路由
+
+
+
+
+
+## 目录结构
+
+```
+卷 文档 的文件夹 PATH 列表
+卷序列号为 8BA4-D80A
+D:\JAVA\DEMO\TURING\ALARM\ALARM_DEV\ALARM_MANAGERMENT
+│ .gitignore
+│ dist.zip
+│ env.d.ts
+│ index.html
+│ package-lock.json
+│ package.json
+│ README.md
+│ tree.txt
+│ tsconfig.app.json
+│ tsconfig.json
+│ tsconfig.node.json
+│ vite.config.ts
+│ vite.config.ts.timestamp-1722563872625-dafa6df9d3ee1.mjs
+│
+├─.vscode
+│ extensions.json
+│
+├─dist
+│ │ icon.ico
+│ │ index.html
+│ │ login-bg.jpg
+│ │ logo.png
+│ │
+│ └─assets
+│ index-ChTHFsuW.css
+│ index-DvIh3OSh.js
+│
+├─node_modules
+│
+├─public
+│ icon.ico
+│ login-bg.jpg
+│ logo.png
+│
+└─src
+ │ App.vue
+ │ main.ts
+ │
+ ├─components
+ │ DemoPart.vue
+ │ Layout.vue
+ │
+ ├─html
+ │ DeepFlow.vue
+ │ DemoToHK.vue
+ │ Flow.vue
+ │ Login.vue
+ │ PassFlow.vue
+ │ Point.vue
+ │
+ ├─router
+ │ index.ts
+ │
+ ├─static
+ │ login-bg.jpg
+ │ logo.png
+ │
+ └─utils
+ axios-config.ts
+ misc.ts
+ store.ts
+ Superbox.ts
+ type.ts
+```
+
+
+
+## Src文件说明
+
+### 目录分解
+
+```
+└─src
+ │ App.vue
+ │ main.ts
+ │
+ ├─components
+ │ DemoPart.vue
+ │ Layout.vue
+ │
+ ├─html
+ │ DeepFlow.vue
+ │ DemoToHK.vue
+ │ Flow.vue
+ │ Login.vue
+ │ PassFlow.vue
+ │ Point.vue
+ │
+ ├─router
+ │ index.ts
+ │
+ ├─static
+ │ login-bg.jpg
+ │ logo.png
+ │
+ └─utils
+ axios-config.ts
+ misc.ts
+ store.ts
+ Superbox.ts
+ type.ts
+```
+
+
+
+### 根目录
+
+```
+└─src
+ │ App.vue
+ │ main.ts
+ ├─components
+ ├─html
+ ├─router
+ ├─static
+ └─utils
+```
+
+#### App.vue(关键)
+
+- 在index.html中可见
+
+```
+
+```
+
+> 页面的app为页面主体框架结构,所有组件仿照类似嵌套方式申明和使用,其下囊括页面布局的其他页面和子页面组件
+> 相当于整体布局的一个载体(根父组件)
+
+```
+
+
+
+
+
+
+
+
+
+
+```
+
+> 作为父页面,不可避免需要向其下子组件传递参数,可通过导入vue中的provide方法直接传递多层次的子组件信息,子组件inject获取信息,当然在vue3中数据的变化需要用reactive包裹数据,创建响应式变化。
+
+
+
+#### main.ts(关键)
+
+> 对于app组件的挂载和改改父组件的依赖使用和申明需要在这里定义使用,当一些新的外部组件引用逻辑正确但是显示异常,可检查是否在根文件中引用
+
+
+
+### 路由(Route)
+
+```
+└─src
+ ├─router
+ │ index.ts
+```
+
+- 看门狗(to,form,next)
+
+```
+import { createRouter, createWebHistory, createWebHashHistory } from 'vue-router'
+const routes = [
+ {
+ path: '/',
+ name: '',
+ component: ,
+ children: []
+
+ }
+const router = createRouter({
+ history: createWebHashHistory(),
+ routes
+});
+router.beforeEach((to, from, next) => {
+ const token = localStorage.getItem('token');
+ if (to.matched.some(record => record.meta.requiresAuth) && !token) {
+ next({ name: 'Login' });
+ } else {
+ next();
+ }
+});
+export default router;
+```
+
+
+
+### 组件页面
+
+#### Layout.vue
+
diff --git a/env.d.ts b/env.d.ts
new file mode 100644
index 0000000..4ee2041
--- /dev/null
+++ b/env.d.ts
@@ -0,0 +1,8 @@
+///
+
+declare module '*.vue' {
+ import type { DefineComponent } from 'vue'
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
+ const component: DefineComponent<{}, {}, any>
+ export default component
+}
\ No newline at end of file
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..d18aaed
--- /dev/null
+++ b/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ 告警管理
+
+
+
+
+
+
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..228365e
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,1730 @@
+{
+ "name": "local_alert",
+ "version": "0.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "local_alert",
+ "version": "0.0.0",
+ "dependencies": {
+ "axios": "^1.7.3",
+ "echarts": "^5.5.1",
+ "element-plus": "^2.7.8",
+ "vue": "^3.4.29",
+ "vue-router": "^4.4.0"
+ },
+ "devDependencies": {
+ "@tsconfig/node20": "^20.1.4",
+ "@types/node": "^20.14.5",
+ "@vitejs/plugin-vue": "^5.0.5",
+ "@vue/tsconfig": "^0.5.1",
+ "npm-run-all2": "^6.2.0",
+ "typescript": "~5.4.0",
+ "vite": "^5.3.1",
+ "vue-tsc": "^2.0.21"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.24.8",
+ "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz",
+ "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
+ "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.25.3",
+ "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.25.3.tgz",
+ "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==",
+ "dependencies": {
+ "@babel/types": "^7.25.2"
+ },
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.25.2",
+ "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.25.2.tgz",
+ "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.24.8",
+ "@babel/helper-validator-identifier": "^7.24.7",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@ctrl/tinycolor": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz",
+ "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@element-plus/icons-vue": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz",
+ "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==",
+ "peerDependencies": {
+ "vue": "^3.2.0"
+ }
+ },
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
+ "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
+ "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
+ "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
+ "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
+ "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
+ "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
+ "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
+ "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
+ "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
+ "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
+ "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
+ "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
+ "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
+ "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
+ "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
+ "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
+ "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
+ "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
+ "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@floating-ui/core": {
+ "version": "1.6.7",
+ "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.6.7.tgz",
+ "integrity": "sha512-yDzVT/Lm101nQ5TCVeK65LtdN7Tj4Qpr9RTXJ2vPFLqtLxwOrpoxAHAJI8J3yYWUc40J0BDBheaitK5SJmno2g==",
+ "dependencies": {
+ "@floating-ui/utils": "^0.2.7"
+ }
+ },
+ "node_modules/@floating-ui/dom": {
+ "version": "1.6.10",
+ "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.6.10.tgz",
+ "integrity": "sha512-fskgCFv8J8OamCmyun8MfjB1Olfn+uZKjOKZ0vhYF3gRmEUXcGOjxWL8bBr7i4kIuPZ2KD2S3EUIOxnjC8kl2A==",
+ "dependencies": {
+ "@floating-ui/core": "^1.6.0",
+ "@floating-ui/utils": "^0.2.7"
+ }
+ },
+ "node_modules/@floating-ui/utils": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.2.7.tgz",
+ "integrity": "sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA=="
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
+ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="
+ },
+ "node_modules/@popperjs/core": {
+ "name": "@sxzz/popperjs-es",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
+ "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
+ },
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.20.0.tgz",
+ "integrity": "sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.20.0.tgz",
+ "integrity": "sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.20.0.tgz",
+ "integrity": "sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.20.0.tgz",
+ "integrity": "sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.20.0.tgz",
+ "integrity": "sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.20.0.tgz",
+ "integrity": "sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.20.0.tgz",
+ "integrity": "sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.20.0.tgz",
+ "integrity": "sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.20.0.tgz",
+ "integrity": "sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.20.0.tgz",
+ "integrity": "sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.20.0.tgz",
+ "integrity": "sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.20.0.tgz",
+ "integrity": "sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.20.0.tgz",
+ "integrity": "sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.20.0.tgz",
+ "integrity": "sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.20.0.tgz",
+ "integrity": "sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.20.0.tgz",
+ "integrity": "sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@tsconfig/node20": {
+ "version": "20.1.4",
+ "resolved": "https://registry.npmmirror.com/@tsconfig/node20/-/node20-20.1.4.tgz",
+ "integrity": "sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==",
+ "dev": true
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz",
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+ "dev": true
+ },
+ "node_modules/@types/lodash": {
+ "version": "4.17.7",
+ "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.7.tgz",
+ "integrity": "sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA=="
+ },
+ "node_modules/@types/lodash-es": {
+ "version": "4.17.12",
+ "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz",
+ "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==",
+ "dependencies": {
+ "@types/lodash": "*"
+ }
+ },
+ "node_modules/@types/node": {
+ "version": "20.14.15",
+ "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.14.15.tgz",
+ "integrity": "sha512-Fz1xDMCF/B00/tYSVMlmK7hVeLh7jE5f3B7X1/hmV0MJBwE27KlS7EvD/Yp+z1lm8mVhwV5w+n8jOZG8AfTlKw==",
+ "dev": true,
+ "dependencies": {
+ "undici-types": "~5.26.4"
+ }
+ },
+ "node_modules/@types/web-bluetooth": {
+ "version": "0.0.16",
+ "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz",
+ "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ=="
+ },
+ "node_modules/@vitejs/plugin-vue": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.1.2.tgz",
+ "integrity": "sha512-nY9IwH12qeiJqumTCLJLE7IiNx7HZ39cbHaysEUd+Myvbz9KAqd2yq+U01Kab1R/H1BmiyM2ShTYlNH32Fzo3A==",
+ "dev": true,
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ },
+ "peerDependencies": {
+ "vite": "^5.0.0",
+ "vue": "^3.2.25"
+ }
+ },
+ "node_modules/@volar/language-core": {
+ "version": "2.4.0-alpha.18",
+ "resolved": "https://registry.npmmirror.com/@volar/language-core/-/language-core-2.4.0-alpha.18.tgz",
+ "integrity": "sha512-JAYeJvYQQROmVRtSBIczaPjP3DX4QW1fOqW1Ebs0d3Y3EwSNRglz03dSv0Dm61dzd0Yx3WgTW3hndDnTQqgmyg==",
+ "dev": true,
+ "dependencies": {
+ "@volar/source-map": "2.4.0-alpha.18"
+ }
+ },
+ "node_modules/@volar/source-map": {
+ "version": "2.4.0-alpha.18",
+ "resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-2.4.0-alpha.18.tgz",
+ "integrity": "sha512-MTeCV9MUwwsH0sNFiZwKtFrrVZUK6p8ioZs3xFzHc2cvDXHWlYN3bChdQtwKX+FY2HG6H3CfAu1pKijolzIQ8g==",
+ "dev": true
+ },
+ "node_modules/@volar/typescript": {
+ "version": "2.4.0-alpha.18",
+ "resolved": "https://registry.npmmirror.com/@volar/typescript/-/typescript-2.4.0-alpha.18.tgz",
+ "integrity": "sha512-sXh5Y8sqGUkgxpMWUGvRXggxYHAVxg0Pa1C42lQZuPDrW6vHJPR0VCK8Sr7WJsAW530HuNQT/ZIskmXtxjybMQ==",
+ "dev": true,
+ "dependencies": {
+ "@volar/language-core": "2.4.0-alpha.18",
+ "path-browserify": "^1.0.1",
+ "vscode-uri": "^3.0.8"
+ }
+ },
+ "node_modules/@vue/compiler-core": {
+ "version": "3.4.37",
+ "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.37.tgz",
+ "integrity": "sha512-ZDDT/KiLKuCRXyzWecNzC5vTcubGz4LECAtfGPENpo0nrmqJHwuWtRLxk/Sb9RAKtR9iFflFycbkjkY+W/PZUQ==",
+ "dependencies": {
+ "@babel/parser": "^7.24.7",
+ "@vue/shared": "3.4.37",
+ "entities": "^5.0.0",
+ "estree-walker": "^2.0.2",
+ "source-map-js": "^1.2.0"
+ }
+ },
+ "node_modules/@vue/compiler-dom": {
+ "version": "3.4.37",
+ "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.37.tgz",
+ "integrity": "sha512-rIiSmL3YrntvgYV84rekAtU/xfogMUJIclUMeIKEtVBFngOL3IeZHhsH3UaFEgB5iFGpj6IW+8YuM/2Up+vVag==",
+ "dependencies": {
+ "@vue/compiler-core": "3.4.37",
+ "@vue/shared": "3.4.37"
+ }
+ },
+ "node_modules/@vue/compiler-sfc": {
+ "version": "3.4.37",
+ "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.37.tgz",
+ "integrity": "sha512-vCfetdas40Wk9aK/WWf8XcVESffsbNkBQwS5t13Y/PcfqKfIwJX2gF+82th6dOpnpbptNMlMjAny80li7TaCIg==",
+ "dependencies": {
+ "@babel/parser": "^7.24.7",
+ "@vue/compiler-core": "3.4.37",
+ "@vue/compiler-dom": "3.4.37",
+ "@vue/compiler-ssr": "3.4.37",
+ "@vue/shared": "3.4.37",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.30.10",
+ "postcss": "^8.4.40",
+ "source-map-js": "^1.2.0"
+ }
+ },
+ "node_modules/@vue/compiler-ssr": {
+ "version": "3.4.37",
+ "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.37.tgz",
+ "integrity": "sha512-TyAgYBWrHlFrt4qpdACh8e9Ms6C/AZQ6A6xLJaWrCL8GCX5DxMzxyeFAEMfU/VFr4tylHm+a2NpfJpcd7+20XA==",
+ "dependencies": {
+ "@vue/compiler-dom": "3.4.37",
+ "@vue/shared": "3.4.37"
+ }
+ },
+ "node_modules/@vue/compiler-vue2": {
+ "version": "2.7.16",
+ "resolved": "https://registry.npmmirror.com/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz",
+ "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==",
+ "dev": true,
+ "dependencies": {
+ "de-indent": "^1.0.2",
+ "he": "^1.2.0"
+ }
+ },
+ "node_modules/@vue/devtools-api": {
+ "version": "6.6.3",
+ "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.3.tgz",
+ "integrity": "sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw=="
+ },
+ "node_modules/@vue/language-core": {
+ "version": "2.0.29",
+ "resolved": "https://registry.npmmirror.com/@vue/language-core/-/language-core-2.0.29.tgz",
+ "integrity": "sha512-o2qz9JPjhdoVj8D2+9bDXbaI4q2uZTHQA/dbyZT4Bj1FR9viZxDJnLcKVHfxdn6wsOzRgpqIzJEEmSSvgMvDTQ==",
+ "dev": true,
+ "dependencies": {
+ "@volar/language-core": "~2.4.0-alpha.18",
+ "@vue/compiler-dom": "^3.4.0",
+ "@vue/compiler-vue2": "^2.7.16",
+ "@vue/shared": "^3.4.0",
+ "computeds": "^0.0.1",
+ "minimatch": "^9.0.3",
+ "muggle-string": "^0.4.1",
+ "path-browserify": "^1.0.1"
+ },
+ "peerDependencies": {
+ "typescript": "*"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@vue/reactivity": {
+ "version": "3.4.37",
+ "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.4.37.tgz",
+ "integrity": "sha512-UmdKXGx0BZ5kkxPqQr3PK3tElz6adTey4307NzZ3whZu19i5VavYal7u2FfOmAzlcDVgE8+X0HZ2LxLb/jgbYw==",
+ "dependencies": {
+ "@vue/shared": "3.4.37"
+ }
+ },
+ "node_modules/@vue/runtime-core": {
+ "version": "3.4.37",
+ "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.4.37.tgz",
+ "integrity": "sha512-MNjrVoLV/sirHZoD7QAilU1Ifs7m/KJv4/84QVbE6nyAZGQNVOa1HGxaOzp9YqCG+GpLt1hNDC4RbH+KtanV7w==",
+ "dependencies": {
+ "@vue/reactivity": "3.4.37",
+ "@vue/shared": "3.4.37"
+ }
+ },
+ "node_modules/@vue/runtime-dom": {
+ "version": "3.4.37",
+ "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.4.37.tgz",
+ "integrity": "sha512-Mg2EwgGZqtwKrqdL/FKMF2NEaOHuH+Ks9TQn3DHKyX//hQTYOun+7Tqp1eo0P4Ds+SjltZshOSRq6VsU0baaNg==",
+ "dependencies": {
+ "@vue/reactivity": "3.4.37",
+ "@vue/runtime-core": "3.4.37",
+ "@vue/shared": "3.4.37",
+ "csstype": "^3.1.3"
+ }
+ },
+ "node_modules/@vue/server-renderer": {
+ "version": "3.4.37",
+ "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.4.37.tgz",
+ "integrity": "sha512-jZ5FAHDR2KBq2FsRUJW6GKDOAG9lUTX8aBEGq4Vf6B/35I9fPce66BornuwmqmKgfiSlecwuOb6oeoamYMohkg==",
+ "dependencies": {
+ "@vue/compiler-ssr": "3.4.37",
+ "@vue/shared": "3.4.37"
+ },
+ "peerDependencies": {
+ "vue": "3.4.37"
+ }
+ },
+ "node_modules/@vue/shared": {
+ "version": "3.4.37",
+ "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.37.tgz",
+ "integrity": "sha512-nIh8P2fc3DflG8+5Uw8PT/1i17ccFn0xxN/5oE9RfV5SVnd7G0XEFRwakrnNFE/jlS95fpGXDVG5zDETS26nmg=="
+ },
+ "node_modules/@vue/tsconfig": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmmirror.com/@vue/tsconfig/-/tsconfig-0.5.1.tgz",
+ "integrity": "sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==",
+ "dev": true
+ },
+ "node_modules/@vueuse/core": {
+ "version": "9.13.0",
+ "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-9.13.0.tgz",
+ "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==",
+ "dependencies": {
+ "@types/web-bluetooth": "^0.0.16",
+ "@vueuse/metadata": "9.13.0",
+ "@vueuse/shared": "9.13.0",
+ "vue-demi": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@vueuse/core/node_modules/vue-demi": {
+ "version": "0.14.10",
+ "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz",
+ "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
+ "hasInstallScript": true,
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@vueuse/metadata": {
+ "version": "9.13.0",
+ "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.13.0.tgz",
+ "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==",
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@vueuse/shared": {
+ "version": "9.13.0",
+ "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.13.0.tgz",
+ "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==",
+ "dependencies": {
+ "vue-demi": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@vueuse/shared/node_modules/vue-demi": {
+ "version": "0.14.10",
+ "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz",
+ "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
+ "hasInstallScript": true,
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz",
+ "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/async-validator": {
+ "version": "4.2.5",
+ "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz",
+ "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg=="
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ },
+ "node_modules/axios": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmmirror.com/axios/-/axios-1.7.3.tgz",
+ "integrity": "sha512-Ar7ND9pU99eJ9GpoGQKhKf58GpUOgnzuaB7ueNQ5BMi0p+LZ5oaEnfF999fAArcTIBwXTCHAmGcHOZJaWPq9Nw==",
+ "dependencies": {
+ "follow-redirects": "^1.15.6",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true
+ },
+ "node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/computeds": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmmirror.com/computeds/-/computeds-0.0.1.tgz",
+ "integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==",
+ "dev": true
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/csstype": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
+ },
+ "node_modules/dayjs": {
+ "version": "1.11.12",
+ "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.12.tgz",
+ "integrity": "sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg=="
+ },
+ "node_modules/de-indent": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz",
+ "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==",
+ "dev": true
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/echarts": {
+ "version": "5.5.1",
+ "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.5.1.tgz",
+ "integrity": "sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==",
+ "dependencies": {
+ "tslib": "2.3.0",
+ "zrender": "5.6.0"
+ }
+ },
+ "node_modules/element-plus": {
+ "version": "2.7.8",
+ "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.7.8.tgz",
+ "integrity": "sha512-h6dx2XihAbQaud0v+6O7Fy0b0G3YNplNVH7QnK3csTcvQd4y4raiyMRQpf9EKbRbTMdNrFsqAZrs9ok9DMcJHg==",
+ "dependencies": {
+ "@ctrl/tinycolor": "^3.4.1",
+ "@element-plus/icons-vue": "^2.3.1",
+ "@floating-ui/dom": "^1.0.1",
+ "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
+ "@types/lodash": "^4.14.182",
+ "@types/lodash-es": "^4.17.6",
+ "@vueuse/core": "^9.1.0",
+ "async-validator": "^4.2.5",
+ "dayjs": "^1.11.3",
+ "escape-html": "^1.0.3",
+ "lodash": "^4.17.21",
+ "lodash-es": "^4.17.21",
+ "lodash-unified": "^1.0.2",
+ "memoize-one": "^6.0.0",
+ "normalize-wheel-es": "^1.2.0"
+ },
+ "peerDependencies": {
+ "vue": "^3.2.0"
+ }
+ },
+ "node_modules/entities": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmmirror.com/entities/-/entities-5.0.0.tgz",
+ "integrity": "sha512-BeJFvFRJddxobhvEdm5GqHzRV/X+ACeuw0/BuuxsCh1EUZcAIz8+kYmBp/LrQuloy6K1f3a0M7+IhmZ7QnkISA==",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/esbuild": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.21.5.tgz",
+ "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.21.5",
+ "@esbuild/android-arm": "0.21.5",
+ "@esbuild/android-arm64": "0.21.5",
+ "@esbuild/android-x64": "0.21.5",
+ "@esbuild/darwin-arm64": "0.21.5",
+ "@esbuild/darwin-x64": "0.21.5",
+ "@esbuild/freebsd-arm64": "0.21.5",
+ "@esbuild/freebsd-x64": "0.21.5",
+ "@esbuild/linux-arm": "0.21.5",
+ "@esbuild/linux-arm64": "0.21.5",
+ "@esbuild/linux-ia32": "0.21.5",
+ "@esbuild/linux-loong64": "0.21.5",
+ "@esbuild/linux-mips64el": "0.21.5",
+ "@esbuild/linux-ppc64": "0.21.5",
+ "@esbuild/linux-riscv64": "0.21.5",
+ "@esbuild/linux-s390x": "0.21.5",
+ "@esbuild/linux-x64": "0.21.5",
+ "@esbuild/netbsd-x64": "0.21.5",
+ "@esbuild/openbsd-x64": "0.21.5",
+ "@esbuild/sunos-x64": "0.21.5",
+ "@esbuild/win32-arm64": "0.21.5",
+ "@esbuild/win32-ia32": "0.21.5",
+ "@esbuild/win32-x64": "0.21.5"
+ }
+ },
+ "node_modules/escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
+ },
+ "node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.15.6",
+ "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.6.tgz",
+ "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/he": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz",
+ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
+ "dev": true,
+ "bin": {
+ "he": "bin/he"
+ }
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "node_modules/json-parse-even-better-errors": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz",
+ "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==",
+ "dev": true,
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ },
+ "node_modules/lodash-es": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz",
+ "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
+ },
+ "node_modules/lodash-unified": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz",
+ "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==",
+ "peerDependencies": {
+ "@types/lodash-es": "*",
+ "lodash": "*",
+ "lodash-es": "*"
+ }
+ },
+ "node_modules/magic-string": {
+ "version": "0.30.11",
+ "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.11.tgz",
+ "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0"
+ }
+ },
+ "node_modules/memoize-one": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz",
+ "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw=="
+ },
+ "node_modules/memorystream": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmmirror.com/memorystream/-/memorystream-0.3.1.tgz",
+ "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/muggle-string": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmmirror.com/muggle-string/-/muggle-string-0.4.1.tgz",
+ "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==",
+ "dev": true
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz",
+ "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/normalize-wheel-es": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz",
+ "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw=="
+ },
+ "node_modules/npm-normalize-package-bin": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmmirror.com/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz",
+ "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==",
+ "dev": true,
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/npm-run-all2": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmmirror.com/npm-run-all2/-/npm-run-all2-6.2.2.tgz",
+ "integrity": "sha512-Q+alQAGIW7ZhKcxLt8GcSi3h3ryheD6xnmXahkMRVM5LYmajcUrSITm8h+OPC9RYWMV2GR0Q1ntTUCfxaNoOJw==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^6.2.1",
+ "cross-spawn": "^7.0.3",
+ "memorystream": "^0.3.1",
+ "minimatch": "^9.0.0",
+ "pidtree": "^0.6.0",
+ "read-package-json-fast": "^3.0.2",
+ "shell-quote": "^1.7.3"
+ },
+ "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": "^14.18.0 || ^16.13.0 || >=18.0.0",
+ "npm": ">= 8"
+ }
+ },
+ "node_modules/path-browserify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/path-browserify/-/path-browserify-1.0.1.tgz",
+ "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
+ "dev": true
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/picocolors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.1.tgz",
+ "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew=="
+ },
+ "node_modules/pidtree": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmmirror.com/pidtree/-/pidtree-0.6.0.tgz",
+ "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==",
+ "dev": true,
+ "bin": {
+ "pidtree": "bin/pidtree.js"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.4.41",
+ "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.41.tgz",
+ "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "nanoid": "^3.3.7",
+ "picocolors": "^1.0.1",
+ "source-map-js": "^1.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
+ },
+ "node_modules/read-package-json-fast": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmmirror.com/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz",
+ "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==",
+ "dev": true,
+ "dependencies": {
+ "json-parse-even-better-errors": "^3.0.0",
+ "npm-normalize-package-bin": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.20.0.tgz",
+ "integrity": "sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "1.0.5"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.20.0",
+ "@rollup/rollup-android-arm64": "4.20.0",
+ "@rollup/rollup-darwin-arm64": "4.20.0",
+ "@rollup/rollup-darwin-x64": "4.20.0",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.20.0",
+ "@rollup/rollup-linux-arm-musleabihf": "4.20.0",
+ "@rollup/rollup-linux-arm64-gnu": "4.20.0",
+ "@rollup/rollup-linux-arm64-musl": "4.20.0",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.20.0",
+ "@rollup/rollup-linux-riscv64-gnu": "4.20.0",
+ "@rollup/rollup-linux-s390x-gnu": "4.20.0",
+ "@rollup/rollup-linux-x64-gnu": "4.20.0",
+ "@rollup/rollup-linux-x64-musl": "4.20.0",
+ "@rollup/rollup-win32-arm64-msvc": "4.20.0",
+ "@rollup/rollup-win32-ia32-msvc": "4.20.0",
+ "@rollup/rollup-win32-x64-msvc": "4.20.0",
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/semver": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shell-quote": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmmirror.com/shell-quote/-/shell-quote-1.8.1.tgz",
+ "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.0.tgz",
+ "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
+ "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
+ },
+ "node_modules/typescript": {
+ "version": "5.4.5",
+ "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.4.5.tgz",
+ "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
+ "devOptional": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/undici-types": {
+ "version": "5.26.5",
+ "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz",
+ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
+ "dev": true
+ },
+ "node_modules/vite": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmmirror.com/vite/-/vite-5.4.0.tgz",
+ "integrity": "sha512-5xokfMX0PIiwCMCMb9ZJcMyh5wbBun0zUzKib+L65vAZ8GY9ePZMXxFrHbr/Kyll2+LSCY7xtERPpxkBDKngwg==",
+ "dev": true,
+ "dependencies": {
+ "esbuild": "^0.21.3",
+ "postcss": "^8.4.40",
+ "rollup": "^4.13.0"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@types/node": "^18.0.0 || >=20.0.0",
+ "less": "*",
+ "lightningcss": "^1.21.0",
+ "sass": "*",
+ "sass-embedded": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.4.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "sass-embedded": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vscode-uri": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmmirror.com/vscode-uri/-/vscode-uri-3.0.8.tgz",
+ "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==",
+ "dev": true
+ },
+ "node_modules/vue": {
+ "version": "3.4.37",
+ "resolved": "https://registry.npmmirror.com/vue/-/vue-3.4.37.tgz",
+ "integrity": "sha512-3vXvNfkKTBsSJ7JP+LyR7GBuwQuckbWvuwAid3xbqK9ppsKt/DUvfqgZ48fgOLEfpy1IacL5f8QhUVl77RaI7A==",
+ "dependencies": {
+ "@vue/compiler-dom": "3.4.37",
+ "@vue/compiler-sfc": "3.4.37",
+ "@vue/runtime-dom": "3.4.37",
+ "@vue/server-renderer": "3.4.37",
+ "@vue/shared": "3.4.37"
+ },
+ "peerDependencies": {
+ "typescript": "*"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vue-router": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.4.0.tgz",
+ "integrity": "sha512-HB+t2p611aIZraV2aPSRNXf0Z/oLZFrlygJm+sZbdJaW6lcFqEDQwnzUBXn+DApw+/QzDU/I9TeWx9izEjTmsA==",
+ "dependencies": {
+ "@vue/devtools-api": "^6.5.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/posva"
+ },
+ "peerDependencies": {
+ "vue": "^3.2.0"
+ }
+ },
+ "node_modules/vue-tsc": {
+ "version": "2.0.29",
+ "resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-2.0.29.tgz",
+ "integrity": "sha512-MHhsfyxO3mYShZCGYNziSbc63x7cQ5g9kvijV7dRe1TTXBRLxXyL0FnXWpUF1xII2mJ86mwYpYsUmMwkmerq7Q==",
+ "dev": true,
+ "dependencies": {
+ "@volar/typescript": "~2.4.0-alpha.18",
+ "@vue/language-core": "2.0.29",
+ "semver": "^7.5.4"
+ },
+ "bin": {
+ "vue-tsc": "bin/vue-tsc.js"
+ },
+ "peerDependencies": {
+ "typescript": ">=5.0.0"
+ }
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/zrender": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.6.0.tgz",
+ "integrity": "sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==",
+ "dependencies": {
+ "tslib": "2.3.0"
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..1dce685
--- /dev/null
+++ b/package.json
@@ -0,0 +1,30 @@
+{
+ "name": "local_alert",
+ "version": "0.0.0",
+ "private": true,
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "run-p type-check \"build-only {@}\" --",
+ "preview": "vite preview",
+ "build-only": "vite build",
+ "type-check": "vue-tsc --build --force"
+ },
+ "dependencies": {
+ "axios": "^1.7.3",
+ "echarts": "^5.5.1",
+ "element-plus": "^2.7.8",
+ "vue": "^3.4.29",
+ "vue-router": "^4.4.0"
+ },
+ "devDependencies": {
+ "@tsconfig/node20": "^20.1.4",
+ "@types/node": "^20.14.5",
+ "@vitejs/plugin-vue": "^5.0.5",
+ "@vue/tsconfig": "^0.5.1",
+ "npm-run-all2": "^6.2.0",
+ "typescript": "~5.4.0",
+ "vite": "^5.3.1",
+ "vue-tsc": "^2.0.21"
+ }
+}
diff --git a/public/icon.ico b/public/icon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..2eca59c9bb58a0544abfb2a3bda0f8f9a98a5ec8
GIT binary patch
literal 12854
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
l{v{~m*QJtj+yq@|{Q)Y@
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
literal 0
HcmV?d00001
diff --git a/public/login-bg.jpg b/public/login-bg.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..c9f972a3352f0ddb95ffd07bf374c05cfb3bdb83
GIT binary patch
literal 343420
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∓R;<#W
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