commit dfd5dc2bbe9a6af58cf7da27499b7f8149ee9bd8
Author: zto <25950955@qq.com>
Date: Wed Oct 23 09:57:47 2024 +0800
init
diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..40b878d
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1 @@
+node_modules/
\ No newline at end of file
diff --git a/.env.development b/.env.development
new file mode 100644
index 0000000..ad07c38
--- /dev/null
+++ b/.env.development
@@ -0,0 +1,11 @@
+ENV = 'development'
+VITE_CLI_PORT = 8080
+VITE_SERVER_PORT = 8888
+VITE_BASE_API = /api
+VITE_FILE_API = /api
+VITE_BASE_PATH = http://127.0.0.1
+VITE_POSITION = close
+VITE_EDITOR = vscode
+// VITE_EDITOR = webstorm 如果使用webstorm开发且要使用dom定位到代码行功能 请先自定添加 webstorm到环境变量 再将VITE_EDITOR值修改为webstorm
+// 如果使用docker-compose开发模式,设置为下面的地址或本机主机IP
+//VITE_BASE_PATH = http://177.7.0.12
diff --git a/.env.production b/.env.production
new file mode 100644
index 0000000..9345df2
--- /dev/null
+++ b/.env.production
@@ -0,0 +1,7 @@
+ENV = 'production'
+
+#下方为上线需要用到的程序代理前缀,一般用于nginx代理转发
+VITE_BASE_API = /api
+VITE_FILE_API = /api
+#下方修改为你的线上ip(如果需要在线使用表单构建工具时使用,其余情况无需使用以下环境变量)
+VITE_BASE_PATH = https://demo.gin-vue-admin.com
diff --git a/.eslintignore b/.eslintignore
new file mode 100644
index 0000000..e6529fc
--- /dev/null
+++ b/.eslintignore
@@ -0,0 +1,4 @@
+build/*.js
+src/assets
+public
+dist
diff --git a/.eslintrc.js b/.eslintrc.js
new file mode 100644
index 0000000..0821611
--- /dev/null
+++ b/.eslintrc.js
@@ -0,0 +1,17 @@
+module.exports = {
+ root: true,
+ parserOptions: {
+ parser: '@babel/eslint-parser',
+ sourceType: 'module'
+ },
+ env: {
+ browser: true,
+ node: true,
+ es6: true
+ },
+ extends: ['plugin:vue/recommended', 'eslint:recommended'],
+ rules: {
+ "vue/max-attributes-per-line" : 0,
+ "vue/no-v-model-argument" : 0
+ }
+}
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..1a4abd9
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+node_modules/*
+package-lock.json
+yarn.lock
+bun.lockb
+config.yaml
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..31f329c
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,15 @@
+FROM node:16
+
+WORKDIR /gva_web/
+COPY . .
+
+RUN yarn && yarn build
+
+FROM nginx:alpine
+LABEL MAINTAINER="SliverHorn@sliver_horn@qq.com"
+
+COPY .docker-compose/nginx/conf.d/my.conf /etc/nginx/conf.d/my.conf
+COPY --from=0 /gva_web/dist /usr/share/nginx/html
+RUN cat /etc/nginx/nginx.conf
+RUN cat /etc/nginx/conf.d/my.conf
+RUN ls -al /usr/share/nginx/html
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..2e882ae
--- /dev/null
+++ b/README.md
@@ -0,0 +1,101 @@
+# gin-vue-admin web
+
+## Project setup
+```
+npm install
+```
+
+### Compiles and hot-reloads for development
+```
+npm run serve
+```
+
+### Compiles and minifies for production
+```
+npm run build
+```
+
+### Run your tests
+```
+npm run test
+```
+
+### Lints and fixes files
+```
+npm run lint
+```
+
+
+整理代码结构
+``` lua
+web
+ ├── babel.config.js
+ ├── Dockerfile
+ ├── favicon.ico
+ ├── index.html -- 主页面
+ ├── limit.js -- 助手代码
+ ├── package.json -- 包管理器代码
+ ├── src -- 源代码
+ │ ├── api -- api 组
+ │ ├── App.vue -- 主页面
+ │ ├── assets -- 静态资源
+ │ ├── components -- 全局组件
+ │ ├── core -- gva 组件包
+ │ │ ├── config.js -- gva网站配置文件
+ │ │ ├── gin-vue-admin.js -- 注册欢迎文件
+ │ │ └── global.js -- 统一导入文件
+ │ ├── directive -- v-auth 注册文件
+ │ ├── main.js -- 主文件
+ │ ├── permission.js -- 路由中间件
+ │ ├── pinia -- pinia 状态管理器,取代vuex
+ │ │ ├── index.js -- 入口文件
+ │ │ └── modules -- modules
+ │ │ ├── dictionary.js
+ │ │ ├── router.js
+ │ │ └── user.js
+ │ ├── router -- 路由声明文件
+ │ │ └── index.js
+ │ ├── style -- 全局样式
+ │ │ ├── base.scss
+ │ │ ├── basics.scss
+ │ │ ├── element_visiable.scss -- 此处可以全局覆盖 element-plus 样式
+ │ │ ├── iconfont.css -- 顶部几个icon的样式文件
+ │ │ ├── main.scss
+ │ │ ├── mobile.scss
+ │ │ └── newLogin.scss
+ │ ├── utils -- 方法包库
+ │ │ ├── asyncRouter.js -- 动态路由相关
+ │ │ ├── bus.js -- 全局mitt声明文件
+ │ │ ├── date.js -- 日期相关
+ │ │ ├── dictionary.js -- 获取字典方法
+ │ │ ├── downloadImg.js -- 下载图片方法
+ │ │ ├── format.js -- 格式整理相关
+ │ │ ├── image.js -- 图片相关方法
+ │ │ ├── page.js -- 设置页面标题
+ │ │ ├── request.js -- 请求
+ │ │ └── stringFun.js -- 字符串文件
+ | ├── view -- 主要view代码
+ | | ├── about -- 关于我们
+ | | ├── dashboard -- 面板
+ | | ├── error -- 错误
+ | | ├── example --上传案例
+ | | ├── iconList -- icon列表
+ | | ├── init -- 初始化数据
+ | | | ├── index -- 新版本
+ | | | ├── init -- 旧版本
+ | | ├── layout -- layout约束页面
+ | | | ├── aside
+ | | | ├── bottomInfo -- bottomInfo
+ | | | ├── screenfull -- 全屏设置
+ | | | ├── setting -- 系统设置
+ | | | └── index.vue -- base 约束
+ | | ├── login --登录
+ | | ├── person --个人中心
+ | | ├── superAdmin -- 超级管理员操作
+ | | ├── system -- 系统检测页面
+ | | ├── systemTools -- 系统配置相关页面
+ | | └── routerHolder.vue -- page 入口页面
+ ├── vite.config.js -- vite 配置文件
+ └── yarn.lock
+
+```
diff --git a/babel.config.js b/babel.config.js
new file mode 100644
index 0000000..88029f0
--- /dev/null
+++ b/babel.config.js
@@ -0,0 +1,8 @@
+module.exports = {
+ presets: [
+
+ ],
+ 'plugins': [
+
+ ]
+}
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..4dd71e5
--- /dev/null
+++ b/index.html
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/jsconfig.json b/jsconfig.json
new file mode 100644
index 0000000..deaa520
--- /dev/null
+++ b/jsconfig.json
@@ -0,0 +1,10 @@
+{
+ "compilerOptions": {
+ "baseUrl": "./",
+ "paths": {
+ "@/*": ["src/*"]
+ }
+ },
+ "exclude": ["node_modules", "dist"],
+ "include": ["src/**/*"]
+ }
diff --git a/limit.js b/limit.js
new file mode 100644
index 0000000..6ba9d46
--- /dev/null
+++ b/limit.js
@@ -0,0 +1,37 @@
+// 运行项目前通过node执行此脚本 (此脚本与 node_modules 目录同级)
+const fs = require('fs')
+const path = require('path')
+const wfPath = path.resolve(__dirname, './node_modules/.bin')
+
+fs.readdir(wfPath, (err, files) => {
+ if (err) {
+ console.log(err)
+ } else {
+ if (files.length !== 0) {
+ files.forEach((item) => {
+ if (item.split('.')[1] === 'cmd') {
+ replaceStr(`${wfPath}/${item}`, /"%_prog%"/, '%_prog%')
+ }
+ })
+ }
+ }
+})
+
+// 参数:[文件路径、 需要修改的字符串、修改后的字符串] (替换对应文件内字符串的公共函数)
+function replaceStr(filePath, sourceRegx, targetSrt) {
+ fs.readFile(filePath, (err, data) => {
+ if (err) {
+ console.log(err)
+ } else {
+ let str = data.toString()
+ str = str.replace(sourceRegx, targetSrt)
+ fs.writeFile(filePath, str, (err) => {
+ if (err) {
+ console.log(err)
+ } else {
+ console.log('\x1B[42m%s\x1B[0m', '文件修改成功')
+ }
+ })
+ }
+ })
+}
diff --git a/openDocument.js b/openDocument.js
new file mode 100644
index 0000000..1693eee
--- /dev/null
+++ b/openDocument.js
@@ -0,0 +1,20 @@
+/*
+此文件受版权保护,未经授权禁止修改!如果您尚未获得授权,请通过微信(shouzi_1994)联系我们以购买授权。在未授权状态下,只需保留此代码,不会影响任何正常使用。
+ 未经授权的商用使用可能会被我们的资产搜索引擎爬取,并可能导致后续索赔。索赔金额将不低于高级授权费的十倍。请您遵守版权法律法规,尊重知识产权。
+*/
+
+var child_process = require('child_process')
+
+var url = 'https://www.gin-vue-admin.com'
+var cmd = ''
+switch (process.platform) {
+ case 'win32':
+ cmd = 'start'
+ child_process.exec(cmd + ' ' + url)
+ break
+
+ case 'darwin':
+ cmd = 'open'
+ child_process.exec(cmd + ' ' + url)
+ break
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..bf2d07a
--- /dev/null
+++ b/package.json
@@ -0,0 +1,70 @@
+{
+ "name": "gin-vue-admin",
+ "version": "2.7.6",
+ "private": true,
+ "scripts": {
+ "serve": "node openDocument.js && vite --host --mode development",
+ "build": "vite build --mode production",
+ "limit-build": "npm install increase-memory-limit-fixbug cross-env -g && npm run fix-memory-limit && node ./limit && npm run build",
+ "preview": "vite preview",
+ "fix-memory-limit": "cross-env LIMIT=4096 increase-memory-limit"
+ },
+ "dependencies": {
+ "@element-plus/icons-vue": "^2.3.1",
+ "@form-create/designer": "^3.2.6",
+ "@form-create/element-ui": "^3.2.10",
+ "@vue-office/docx": "^1.6.2",
+ "@vue-office/excel": "^1.7.11",
+ "@vue-office/pdf": "^2.0.2",
+ "@vueuse/core": "^11.0.3",
+ "@wangeditor/editor": "^5.1.23",
+ "@wangeditor/editor-for-vue": "^5.1.12",
+ "axios": "^1.7.7",
+ "chokidar": "^4.0.0",
+ "core-js": "^3.38.1",
+ "default-passive-events": "^2.0.0",
+ "echarts": "5.5.1",
+ "element-plus": "^2.8.4",
+ "highlight.js": "^11.10.0",
+ "js-cookie": "^3.0.5",
+ "marked": "14.1.1",
+ "marked-highlight": "^2.1.4",
+ "mitt": "^3.0.1",
+ "nprogress": "^0.2.0",
+ "path": "^0.12.7",
+ "pinia": "^2.2.2",
+ "qs": "^6.13.0",
+ "screenfull": "^6.0.2",
+ "sortablejs": "^1.15.3",
+ "spark-md5": "^3.0.2",
+ "tailwindcss": "^3.4.10",
+ "vform3-builds": "^3.0.10",
+ "vite-auto-import-svg": "^1.1.0",
+ "vue": "^3.5.7",
+ "vue-echarts": "^7.0.3",
+ "vue-router": "^4.4.3",
+ "vuedraggable": "^4.1.0"
+ },
+ "devDependencies": {
+ "@babel/eslint-parser": "^7.25.1",
+ "@vitejs/plugin-legacy": "^5.4.2",
+ "@vitejs/plugin-vue": "^5.1.3",
+ "@vue/cli-plugin-babel": "~5.0.8",
+ "@vue/cli-plugin-eslint": "~5.0.8",
+ "@vue/cli-plugin-router": "~5.0.8",
+ "@vue/cli-plugin-vuex": "~5.0.8",
+ "@vue/cli-service": "~5.0.8",
+ "@vue/compiler-sfc": "^3.5.1",
+ "babel-plugin-import": "^1.13.8",
+ "chalk": "^5.3.0",
+ "dotenv": "^16.4.5",
+ "eslint": "^9.9.1",
+ "eslint-plugin-vue": "^9.28.0",
+ "sass": "^1.78.0",
+ "terser": "^5.31.6",
+ "vite": "^5.4.3",
+ "vite-plugin-banner": "^0.8.0",
+ "vite-plugin-importer": "^0.2.5",
+ "vite-plugin-vue-devtools": "^7.4.4"
+ }
+}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
new file mode 100644
index 0000000..baafcaa
--- /dev/null
+++ b/pnpm-lock.yaml
@@ -0,0 +1,10529 @@
+lockfileVersion: '9.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+importers:
+
+ .:
+ dependencies:
+ '@element-plus/icons-vue':
+ specifier: ^2.3.1
+ version: 2.3.1(vue@3.5.12)
+ '@form-create/designer':
+ specifier: ^3.2.6
+ version: 3.2.8(vue@3.5.12)
+ '@form-create/element-ui':
+ specifier: ^3.2.10
+ version: 3.2.12(vue@3.5.12)
+ '@vue-office/docx':
+ specifier: ^1.6.2
+ version: 1.6.2(vue-demi@0.14.10(vue@3.5.12))(vue@3.5.12)
+ '@vue-office/excel':
+ specifier: ^1.7.11
+ version: 1.7.11(vue-demi@0.14.10(vue@3.5.12))(vue@3.5.12)
+ '@vue-office/pdf':
+ specifier: ^2.0.2
+ version: 2.0.7(vue-demi@0.14.10(vue@3.5.12))(vue@3.5.12)
+ '@vueuse/core':
+ specifier: ^11.0.3
+ version: 11.1.0(vue@3.5.12)
+ '@wangeditor/editor':
+ specifier: ^5.1.23
+ version: 5.1.23
+ '@wangeditor/editor-for-vue':
+ specifier: ^5.1.12
+ version: 5.1.12(@wangeditor/editor@5.1.23)(vue@3.5.12)
+ axios:
+ specifier: ^1.7.7
+ version: 1.7.7
+ chokidar:
+ specifier: ^4.0.0
+ version: 4.0.1
+ core-js:
+ specifier: ^3.38.1
+ version: 3.38.1
+ default-passive-events:
+ specifier: ^2.0.0
+ version: 2.0.0
+ echarts:
+ specifier: 5.5.1
+ version: 5.5.1
+ element-plus:
+ specifier: ^2.8.4
+ version: 2.8.6(vue@3.5.12)
+ highlight.js:
+ specifier: ^11.10.0
+ version: 11.10.0
+ js-cookie:
+ specifier: ^3.0.5
+ version: 3.0.5
+ marked:
+ specifier: 14.1.1
+ version: 14.1.1
+ marked-highlight:
+ specifier: ^2.1.4
+ version: 2.2.0(marked@14.1.1)
+ mitt:
+ specifier: ^3.0.1
+ version: 3.0.1
+ nprogress:
+ specifier: ^0.2.0
+ version: 0.2.0
+ path:
+ specifier: ^0.12.7
+ version: 0.12.7
+ pinia:
+ specifier: ^2.2.2
+ version: 2.2.4(vue@3.5.12)
+ qs:
+ specifier: ^6.13.0
+ version: 6.13.0
+ screenfull:
+ specifier: ^6.0.2
+ version: 6.0.2
+ sortablejs:
+ specifier: ^1.15.3
+ version: 1.15.3
+ spark-md5:
+ specifier: ^3.0.2
+ version: 3.0.2
+ tailwindcss:
+ specifier: ^3.4.10
+ version: 3.4.14
+ vform3-builds:
+ specifier: ^3.0.10
+ version: 3.0.10
+ vite-auto-import-svg:
+ specifier: ^1.1.0
+ version: 1.1.0
+ vue:
+ specifier: ^3.5.7
+ version: 3.5.12
+ vue-echarts:
+ specifier: ^7.0.3
+ version: 7.0.3(@vue/runtime-core@3.5.12)(echarts@5.5.1)(vue@3.5.12)
+ vue-router:
+ specifier: ^4.4.3
+ version: 4.4.5(vue@3.5.12)
+ vuedraggable:
+ specifier: ^4.1.0
+ version: 4.1.0(vue@3.5.12)
+ devDependencies:
+ '@babel/eslint-parser':
+ specifier: ^7.25.1
+ version: 7.25.9(@babel/core@7.25.9)(eslint@9.13.0(jiti@1.21.6))
+ '@vitejs/plugin-legacy':
+ specifier: ^5.4.2
+ version: 5.4.2(terser@5.36.0)(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0))
+ '@vitejs/plugin-vue':
+ specifier: ^5.1.3
+ version: 5.1.4(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12)
+ '@vue/cli-plugin-babel':
+ specifier: ~5.0.8
+ version: 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.5.12)(lodash@4.17.21)(vue@3.5.12)(webpack-sources@3.2.3))(core-js@3.38.1)(vue@3.5.12)
+ '@vue/cli-plugin-eslint':
+ specifier: ~5.0.8
+ version: 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.5.12)(lodash@4.17.21)(vue@3.5.12)(webpack-sources@3.2.3))(eslint@9.13.0(jiti@1.21.6))
+ '@vue/cli-plugin-router':
+ specifier: ~5.0.8
+ version: 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.5.12)(lodash@4.17.21)(vue@3.5.12)(webpack-sources@3.2.3))
+ '@vue/cli-plugin-vuex':
+ specifier: ~5.0.8
+ version: 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.5.12)(lodash@4.17.21)(vue@3.5.12)(webpack-sources@3.2.3))
+ '@vue/cli-service':
+ specifier: ~5.0.8
+ version: 5.0.8(@vue/compiler-sfc@3.5.12)(lodash@4.17.21)(vue@3.5.12)(webpack-sources@3.2.3)
+ '@vue/compiler-sfc':
+ specifier: ^3.5.1
+ version: 3.5.12
+ babel-plugin-import:
+ specifier: ^1.13.8
+ version: 1.13.8
+ chalk:
+ specifier: ^5.3.0
+ version: 5.3.0
+ dotenv:
+ specifier: ^16.4.5
+ version: 16.4.5
+ eslint:
+ specifier: ^9.9.1
+ version: 9.13.0(jiti@1.21.6)
+ eslint-plugin-vue:
+ specifier: ^9.28.0
+ version: 9.29.1(eslint@9.13.0(jiti@1.21.6))
+ sass:
+ specifier: ^1.78.0
+ version: 1.80.3
+ terser:
+ specifier: ^5.31.6
+ version: 5.36.0
+ vite:
+ specifier: ^5.4.3
+ version: 5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0)
+ vite-plugin-banner:
+ specifier: ^0.8.0
+ version: 0.8.0
+ vite-plugin-importer:
+ specifier: ^0.2.5
+ version: 0.2.5
+ vite-plugin-vue-devtools:
+ specifier: ^7.4.4
+ version: 7.5.3(rollup@4.24.0)(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12)
+
+packages:
+
+ '@achrinza/node-ipc@9.2.9':
+ resolution: {integrity: sha512-7s0VcTwiK/0tNOVdSX9FWMeFdOEcsAOz9HesBldXxFMaGvIak7KC2z9tV9EgsQXn6KUsWsfIkViMNuIo0GoZDQ==}
+ engines: {node: 8 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18 || 19 || 20 || 21 || 22}
+
+ '@alloc/quick-lru@5.2.0':
+ resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
+ engines: {node: '>=10'}
+
+ '@ampproject/remapping@2.3.0':
+ resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
+ engines: {node: '>=6.0.0'}
+
+ '@antfu/utils@0.7.10':
+ resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==}
+
+ '@babel/code-frame@7.25.9':
+ resolution: {integrity: sha512-z88xeGxnzehn2sqZ8UdGQEvYErF1odv2CftxInpSYJt6uHuPe9YjahKZITGs3l5LeI9d2ROG+obuDAoSlqbNfQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/compat-data@7.25.9':
+ resolution: {integrity: sha512-yD+hEuJ/+wAJ4Ox2/rpNv5HIuPG82x3ZlQvYVn8iYCprdxzE7P1udpGF1jyjQVBU4dgznN+k2h103vxZ7NdPyw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/core@7.25.9':
+ resolution: {integrity: sha512-WYvQviPw+Qyib0v92AwNIrdLISTp7RfDkM7bPqBvpbnhY4wq8HvHBZREVdYDXk98C8BkOIVnHAY3yvj7AVISxQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/eslint-parser@7.25.9':
+ resolution: {integrity: sha512-5UXfgpK0j0Xr/xIdgdLEhOFxaDZ0bRPWJJchRpqOSur/3rZoPbqqki5mm0p4NE2cs28krBEiSM2MB7//afRSQQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0}
+ peerDependencies:
+ '@babel/core': ^7.11.0
+ eslint: ^7.5.0 || ^8.0.0 || ^9.0.0
+
+ '@babel/generator@7.25.9':
+ resolution: {integrity: sha512-omlUGkr5EaoIJrhLf9CJ0TvjBRpd9+AXRG//0GEQ9THSo8wPiTlbpy1/Ow8ZTrbXpjd9FHXfbFQx32I04ht0FA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-annotate-as-pure@7.25.9':
+ resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-builder-binary-assignment-operator-visitor@7.25.9':
+ resolution: {integrity: sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-compilation-targets@7.25.9':
+ resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-create-class-features-plugin@7.25.9':
+ resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-create-regexp-features-plugin@7.25.9':
+ resolution: {integrity: sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-define-polyfill-provider@0.6.2':
+ resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ '@babel/helper-member-expression-to-functions@7.25.9':
+ resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-module-imports@7.25.9':
+ resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-module-transforms@7.25.9':
+ resolution: {integrity: sha512-TvLZY/F3+GvdRYFZFyxMvnsKi+4oJdgZzU3BoGN9Uc2d9C6zfNwJcKKhjqLAhK8i46mv93jsO74fDh3ih6rpHA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-optimise-call-expression@7.25.9':
+ resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-plugin-utils@7.25.9':
+ resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-remap-async-to-generator@7.25.9':
+ resolution: {integrity: sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-replace-supers@7.25.9':
+ resolution: {integrity: sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-simple-access@7.25.9':
+ resolution: {integrity: sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-skip-transparent-expression-wrappers@7.25.9':
+ resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-string-parser@7.25.9':
+ resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-identifier@7.25.9':
+ resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-option@7.25.9':
+ resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-wrap-function@7.25.9':
+ resolution: {integrity: sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helpers@7.25.9':
+ resolution: {integrity: sha512-oKWp3+usOJSzDZOucZUAMayhPz/xVjzymyDzUN8dk0Wd3RWMlGLXi07UCQ/CgQVb8LvXx3XBajJH4XGgkt7H7g==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/highlight@7.25.9':
+ resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/parser@7.25.9':
+ resolution: {integrity: sha512-aI3jjAAO1fh7vY/pBGsn1i9LDbRP43+asrRlkPuTXW5yHXtd1NgTEMudbBoDDxrf1daEEfPJqR+JBMakzrR4Dg==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9':
+ resolution: {integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9':
+ resolution: {integrity: sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9':
+ resolution: {integrity: sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9':
+ resolution: {integrity: sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.13.0
+
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9':
+ resolution: {integrity: sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-proposal-class-properties@7.18.6':
+ resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-decorators@7.25.9':
+ resolution: {integrity: sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2':
+ resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-decorators@7.25.9':
+ resolution: {integrity: sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-dynamic-import@7.8.3':
+ resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-import-assertions@7.25.9':
+ resolution: {integrity: sha512-4GHX5uzr5QMOOuzV0an9MFju4hKlm0OyePl/lHhcsTVae5t/IKVHnb8W67Vr6FuLlk5lPqLB7n7O+K5R46emYg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-import-attributes@7.25.9':
+ resolution: {integrity: sha512-u3EN9ub8LyYvgTnrgp8gboElouayiwPdnM7x5tcnW3iSt09/lQYPwMNK40I9IUxo7QOZhAsPHCmmuO7EPdruqg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-import-meta@7.10.4':
+ resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-jsx@7.25.9':
+ resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-typescript@7.25.9':
+ resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-unicode-sets-regex@7.18.6':
+ resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-arrow-functions@7.25.9':
+ resolution: {integrity: sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-async-generator-functions@7.25.9':
+ resolution: {integrity: sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-async-to-generator@7.25.9':
+ resolution: {integrity: sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-block-scoped-functions@7.25.9':
+ resolution: {integrity: sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-block-scoping@7.25.9':
+ resolution: {integrity: sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-class-properties@7.25.9':
+ resolution: {integrity: sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-class-static-block@7.25.9':
+ resolution: {integrity: sha512-UIf+72C7YJ+PJ685/PpATbCz00XqiFEzHX5iysRwfvNT0Ko+FaXSvRgLytFSp8xUItrG9pFM/KoBBZDrY/cYyg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.12.0
+
+ '@babel/plugin-transform-classes@7.25.9':
+ resolution: {integrity: sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-computed-properties@7.25.9':
+ resolution: {integrity: sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-destructuring@7.25.9':
+ resolution: {integrity: sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-dotall-regex@7.25.9':
+ resolution: {integrity: sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-duplicate-keys@7.25.9':
+ resolution: {integrity: sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9':
+ resolution: {integrity: sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-dynamic-import@7.25.9':
+ resolution: {integrity: sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-exponentiation-operator@7.25.9':
+ resolution: {integrity: sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-export-namespace-from@7.25.9':
+ resolution: {integrity: sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-for-of@7.25.9':
+ resolution: {integrity: sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-function-name@7.25.9':
+ resolution: {integrity: sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-json-strings@7.25.9':
+ resolution: {integrity: sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-literals@7.25.9':
+ resolution: {integrity: sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-logical-assignment-operators@7.25.9':
+ resolution: {integrity: sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-member-expression-literals@7.25.9':
+ resolution: {integrity: sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-amd@7.25.9':
+ resolution: {integrity: sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-commonjs@7.25.9':
+ resolution: {integrity: sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-systemjs@7.25.9':
+ resolution: {integrity: sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-umd@7.25.9':
+ resolution: {integrity: sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-named-capturing-groups-regex@7.25.9':
+ resolution: {integrity: sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-new-target@7.25.9':
+ resolution: {integrity: sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-nullish-coalescing-operator@7.25.9':
+ resolution: {integrity: sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-numeric-separator@7.25.9':
+ resolution: {integrity: sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-object-rest-spread@7.25.9':
+ resolution: {integrity: sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-object-super@7.25.9':
+ resolution: {integrity: sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-optional-catch-binding@7.25.9':
+ resolution: {integrity: sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-optional-chaining@7.25.9':
+ resolution: {integrity: sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-parameters@7.25.9':
+ resolution: {integrity: sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-private-methods@7.25.9':
+ resolution: {integrity: sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-private-property-in-object@7.25.9':
+ resolution: {integrity: sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-property-literals@7.25.9':
+ resolution: {integrity: sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-regenerator@7.25.9':
+ resolution: {integrity: sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-reserved-words@7.25.9':
+ resolution: {integrity: sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-runtime@7.25.9':
+ resolution: {integrity: sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-shorthand-properties@7.25.9':
+ resolution: {integrity: sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-spread@7.25.9':
+ resolution: {integrity: sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-sticky-regex@7.25.9':
+ resolution: {integrity: sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-template-literals@7.25.9':
+ resolution: {integrity: sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-typeof-symbol@7.25.9':
+ resolution: {integrity: sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-typescript@7.25.9':
+ resolution: {integrity: sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-escapes@7.25.9':
+ resolution: {integrity: sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-property-regex@7.25.9':
+ resolution: {integrity: sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-regex@7.25.9':
+ resolution: {integrity: sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-sets-regex@7.25.9':
+ resolution: {integrity: sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/preset-env@7.25.9':
+ resolution: {integrity: sha512-XqDEt+hfsQukahSX9JOBDHhpUHDhj2zGSxoqWQFCMajOSBnbhBdgON/bU/5PkBA1yX5tqW6tTzuIPVsZTQ7h5Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/preset-modules@0.1.6-no-external-plugins':
+ resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
+
+ '@babel/runtime-corejs3@7.25.9':
+ resolution: {integrity: sha512-eHeq2HWhgn3aH6Gz4Dnajqp8U5DjBg3h933LlGJ52hAN6Kx34KAL7O3NzwTrldl9PrgKTyBcz0ScVIQ3A6e2fA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/runtime@7.25.9':
+ resolution: {integrity: sha512-4zpTHZ9Cm6L9L+uIqghQX8ZXg8HKFcjYO3qHoO8zTmRm6HQUJ8SSJ+KRvbMBZn0EGVlT4DRYeQ/6hjlyXBh+Kg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/template@7.25.9':
+ resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/traverse@7.25.9':
+ resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/types@7.25.9':
+ resolution: {integrity: sha512-OwS2CM5KocvQ/k7dFJa8i5bNGJP0hXWfVCfDkqRFP1IreH1JDC7wG6eCYCi0+McbfT8OR/kNqsI0UU0xP9H6PQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@ctrl/tinycolor@3.6.1':
+ resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==}
+ engines: {node: '>=10'}
+
+ '@discoveryjs/json-ext@0.5.7':
+ resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==}
+ engines: {node: '>=10.0.0'}
+
+ '@element-plus/icons-vue@2.3.1':
+ resolution: {integrity: sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==}
+ peerDependencies:
+ vue: ^3.2.0
+
+ '@esbuild/aix-ppc64@0.21.5':
+ resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [aix]
+
+ '@esbuild/android-arm64@0.21.5':
+ resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+
+ '@esbuild/android-arm@0.21.5':
+ resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+
+ '@esbuild/android-x64@0.21.5':
+ resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+
+ '@esbuild/darwin-arm64@0.21.5':
+ resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@esbuild/darwin-x64@0.21.5':
+ resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@esbuild/freebsd-arm64@0.21.5':
+ resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-x64@0.21.5':
+ resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@esbuild/linux-arm64@0.21.5':
+ resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@esbuild/linux-arm@0.21.5':
+ resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+
+ '@esbuild/linux-ia32@0.21.5':
+ resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+
+ '@esbuild/linux-loong64@0.21.5':
+ resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+
+ '@esbuild/linux-mips64el@0.21.5':
+ resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+
+ '@esbuild/linux-ppc64@0.21.5':
+ resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@esbuild/linux-riscv64@0.21.5':
+ resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@esbuild/linux-s390x@0.21.5':
+ resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+
+ '@esbuild/linux-x64@0.21.5':
+ resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+
+ '@esbuild/netbsd-x64@0.21.5':
+ resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/openbsd-x64@0.21.5':
+ resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/sunos-x64@0.21.5':
+ resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+
+ '@esbuild/win32-arm64@0.21.5':
+ resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.21.5':
+ resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.21.5':
+ resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+
+ '@eslint-community/eslint-utils@4.4.0':
+ resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+
+ '@eslint-community/regexpp@4.11.1':
+ resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+
+ '@eslint/config-array@0.18.0':
+ resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/core@0.7.0':
+ resolution: {integrity: sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/eslintrc@3.1.0':
+ resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/js@9.13.0':
+ resolution: {integrity: sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/object-schema@2.1.4':
+ resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/plugin-kit@0.2.1':
+ resolution: {integrity: sha512-HFZ4Mp26nbWk9d/BpvP0YNL6W4UoZF0VFcTw/aPPA8RpOxeFQgK+ClABGgAUXs9Y/RGX/l1vOmrqz1MQt9MNuw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@floating-ui/core@1.6.8':
+ resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==}
+
+ '@floating-ui/dom@1.6.11':
+ resolution: {integrity: sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==}
+
+ '@floating-ui/utils@0.2.8':
+ resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==}
+
+ '@form-create/component-elm-checkbox@3.2.8':
+ resolution: {integrity: sha512-ol/SyzzeDueUTd87MPnYydOe7Sc6cL8S/Uhv5QmWofMY1TuuBet9DPb65JjyS6Lk51/cl3TabvtJj93EAxL6KA==}
+
+ '@form-create/component-elm-frame@3.2.0':
+ resolution: {integrity: sha512-XJnYRwZBaViqSF4oQpPucmQiMctG9mAPeNpggUJG8rYZv/IxPb4qNovWaZsqfiCY8wyKtRTkWqqZFe9r9ubGUg==}
+
+ '@form-create/component-elm-group@3.2.8':
+ resolution: {integrity: sha512-TiwBNP+zDfFhanAWrazfIWyhElXTKIccX/jk+3zYxYpmxh1OVPa1cGaJ9ovZyV3105iZBtGZG2zn2DjHzvEPsQ==}
+
+ '@form-create/component-elm-radio@3.2.8':
+ resolution: {integrity: sha512-6rWhja+Tjh8vsd5dmmWvzT4T8L/TSB27rpAdYuw+w8JvbpjfhMuYUTk+9y+L7EUGPWk8E1yTSKE6YNXVvFtyqQ==}
+
+ '@form-create/component-elm-select@3.2.0':
+ resolution: {integrity: sha512-jzrrUyLSVDRZHTap3MYVqNub/A00X+hpLn2DCiFj6hNPZC63fuScHhIKWjkQSF4KBDGPYNfi69kFI7SCYPhhjQ==}
+
+ '@form-create/component-elm-tree@3.2.9':
+ resolution: {integrity: sha512-5NG4YeFZ5jzN9Aa0JFuFD8OGKXBqSHSN0KRgxxUgdhzRg8hcRq/JODuN7yYMa7YrBP0ecTKyel8Q4ufR5Ct8iw==}
+
+ '@form-create/component-elm-upload@3.2.9':
+ resolution: {integrity: sha512-PdYlUCRs7x/zQjkDkTX9q3116ysKUPZ4R4OwzhSc430JPLSVUCx/CqlhenbAnqZFEj5khwnvppbYSzrTTaDa4A==}
+
+ '@form-create/component-subform@3.1.34':
+ resolution: {integrity: sha512-OJcFH/7MTHx7JLEjDK/weS27qfuFWAI+OK+gXTJ2jIt9aZkGWF/EWkjetiJLt5a0KMw4Z15wOS2XCY9pVK9vlA==}
+
+ '@form-create/component-wangeditor@3.2.4':
+ resolution: {integrity: sha512-r/lPMClbbygqd2C6wpPHGEoiKJ3m0gZtUeQ8vzZ5Wfnn/LUkStgIZS6Jncvd7ANJxXtlKTj5+r0xrAhM5QbRjQ==}
+
+ '@form-create/core@3.2.12':
+ resolution: {integrity: sha512-ajYfQmOOxmcYg5KkIt4i70Uuhk/anbLaMpvprey3+sgA8UFV8lGhJhpniE2Y+CuVBaJ/R0bKHbfeEf+QtSm59Q==}
+ peerDependencies:
+ vue: ^3.1.0
+
+ '@form-create/designer@3.2.8':
+ resolution: {integrity: sha512-SgrGiWOFaQTARAmysepHDtFyRi97rERrlkv1joz+DCOAzZME3RKRTXVqA7ALzJ2jI3psiCosGAK4rPSLh6EvgA==}
+ peerDependencies:
+ vue: ^3.1.5
+
+ '@form-create/element-ui@3.2.12':
+ resolution: {integrity: sha512-dzd9uU14x8v3Y38h7T9sefGGpChK2YhBg0zUDIG94T9CmUiHyDegnHTJ2UFGVSnAWmMvyaIzL7J/jqQOKwWh/Q==}
+ peerDependencies:
+ vue: ^3.1.0
+
+ '@form-create/utils@3.2.0':
+ resolution: {integrity: sha512-fqc7/l+US76NhloxMF3xE7UafYgxA8jU+t5WrAhmjaIAJ0vUNp6ScL/kdwN4nfOvjByZ/Q8BFQT0wqrp4lcgtw==}
+
+ '@hapi/hoek@9.3.0':
+ resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==}
+
+ '@hapi/topo@5.1.0':
+ resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==}
+
+ '@humanfs/core@0.19.0':
+ resolution: {integrity: sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==}
+ engines: {node: '>=18.18.0'}
+
+ '@humanfs/node@0.16.5':
+ resolution: {integrity: sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==}
+ engines: {node: '>=18.18.0'}
+
+ '@humanwhocodes/module-importer@1.0.1':
+ resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
+ engines: {node: '>=12.22'}
+
+ '@humanwhocodes/retry@0.3.1':
+ resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
+ engines: {node: '>=18.18'}
+
+ '@isaacs/cliui@8.0.2':
+ resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
+ engines: {node: '>=12'}
+
+ '@jridgewell/gen-mapping@0.3.5':
+ resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/resolve-uri@3.1.2':
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/set-array@1.2.1':
+ resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/source-map@0.3.6':
+ resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==}
+
+ '@jridgewell/sourcemap-codec@1.5.0':
+ resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
+
+ '@jridgewell/trace-mapping@0.3.25':
+ resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
+
+ '@leichtgewicht/ip-codec@2.0.5':
+ resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==}
+
+ '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1':
+ resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==}
+
+ '@node-ipc/js-queue@2.0.3':
+ resolution: {integrity: sha512-fL1wpr8hhD5gT2dA1qifeVaoDFlQR5es8tFuKqjHX+kdOtdNHnxkVZbtIrR2rxnMFvehkjaZRNV2H/gPXlb0hw==}
+ engines: {node: '>=1.0.0'}
+
+ '@nodelib/fs.scandir@2.1.5':
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.stat@2.0.5':
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.walk@1.2.8':
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+
+ '@parcel/watcher-android-arm64@2.4.1':
+ resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [android]
+
+ '@parcel/watcher-darwin-arm64@2.4.1':
+ resolution: {integrity: sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@parcel/watcher-darwin-x64@2.4.1':
+ resolution: {integrity: sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@parcel/watcher-freebsd-x64@2.4.1':
+ resolution: {integrity: sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@parcel/watcher-linux-arm-glibc@2.4.1':
+ resolution: {integrity: sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm]
+ os: [linux]
+ libc: [glibc]
+
+ '@parcel/watcher-linux-arm64-glibc@2.4.1':
+ resolution: {integrity: sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@parcel/watcher-linux-arm64-musl@2.4.1':
+ resolution: {integrity: sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@parcel/watcher-linux-x64-glibc@2.4.1':
+ resolution: {integrity: sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@parcel/watcher-linux-x64-musl@2.4.1':
+ resolution: {integrity: sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@parcel/watcher-win32-arm64@2.4.1':
+ resolution: {integrity: sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@parcel/watcher-win32-ia32@2.4.1':
+ resolution: {integrity: sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@parcel/watcher-win32-x64@2.4.1':
+ resolution: {integrity: sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [win32]
+
+ '@parcel/watcher@2.4.1':
+ resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==}
+ engines: {node: '>= 10.0.0'}
+
+ '@pkgjs/parseargs@0.11.0':
+ resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
+ engines: {node: '>=14'}
+
+ '@polka/url@1.0.0-next.28':
+ resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==}
+
+ '@rollup/pluginutils@5.1.2':
+ resolution: {integrity: sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/rollup-android-arm-eabi@4.24.0':
+ resolution: {integrity: sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==}
+ cpu: [arm]
+ os: [android]
+
+ '@rollup/rollup-android-arm64@4.24.0':
+ resolution: {integrity: sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==}
+ cpu: [arm64]
+ os: [android]
+
+ '@rollup/rollup-darwin-arm64@4.24.0':
+ resolution: {integrity: sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rollup/rollup-darwin-x64@4.24.0':
+ resolution: {integrity: sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.24.0':
+ resolution: {integrity: sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==}
+ cpu: [arm]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-arm-musleabihf@4.24.0':
+ resolution: {integrity: sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==}
+ cpu: [arm]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-arm64-gnu@4.24.0':
+ resolution: {integrity: sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-arm64-musl@4.24.0':
+ resolution: {integrity: sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-powerpc64le-gnu@4.24.0':
+ resolution: {integrity: sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-riscv64-gnu@4.24.0':
+ resolution: {integrity: sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-s390x-gnu@4.24.0':
+ resolution: {integrity: sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-x64-gnu@4.24.0':
+ resolution: {integrity: sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-x64-musl@4.24.0':
+ resolution: {integrity: sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-win32-arm64-msvc@4.24.0':
+ resolution: {integrity: sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@rollup/rollup-win32-ia32-msvc@4.24.0':
+ resolution: {integrity: sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==}
+ cpu: [ia32]
+ os: [win32]
+
+ '@rollup/rollup-win32-x64-msvc@4.24.0':
+ resolution: {integrity: sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==}
+ cpu: [x64]
+ os: [win32]
+
+ '@sideway/address@4.1.5':
+ resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==}
+
+ '@sideway/formula@3.0.1':
+ resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==}
+
+ '@sideway/pinpoint@2.0.0':
+ resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==}
+
+ '@soda/friendly-errors-webpack-plugin@1.8.1':
+ resolution: {integrity: sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg==}
+ engines: {node: '>=8.0.0'}
+ peerDependencies:
+ webpack: ^4.0.0 || ^5.0.0
+
+ '@soda/get-current-script@1.0.2':
+ resolution: {integrity: sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==}
+
+ '@sxzz/popperjs-es@2.11.7':
+ resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==}
+
+ '@transloadit/prettier-bytes@0.0.7':
+ resolution: {integrity: sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA==}
+
+ '@trysound/sax@0.2.0':
+ resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
+ engines: {node: '>=10.13.0'}
+
+ '@types/body-parser@1.19.5':
+ resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==}
+
+ '@types/bonjour@3.5.13':
+ resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==}
+
+ '@types/connect-history-api-fallback@1.5.4':
+ resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==}
+
+ '@types/connect@3.4.38':
+ resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
+
+ '@types/eslint@8.56.12':
+ resolution: {integrity: sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==}
+
+ '@types/estree@1.0.6':
+ resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
+
+ '@types/event-emitter@0.3.5':
+ resolution: {integrity: sha512-zx2/Gg0Eg7gwEiOIIh5w9TrhKKTeQh7CPCOPNc0el4pLSwzebA8SmnHwZs2dWlLONvyulykSwGSQxQHLhjGLvQ==}
+
+ '@types/express-serve-static-core@4.19.6':
+ resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==}
+
+ '@types/express-serve-static-core@5.0.0':
+ resolution: {integrity: sha512-AbXMTZGt40T+KON9/Fdxx0B2WK5hsgxcfXJLr5bFpZ7b4JCex2WyQPTEKdXqfHiY5nKKBScZ7yCoO6Pvgxfvnw==}
+
+ '@types/express@4.17.21':
+ resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==}
+
+ '@types/html-minifier-terser@6.1.0':
+ resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==}
+
+ '@types/http-errors@2.0.4':
+ resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==}
+
+ '@types/http-proxy@1.17.15':
+ resolution: {integrity: sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==}
+
+ '@types/json-schema@7.0.15':
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+
+ '@types/lodash-es@4.17.12':
+ resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==}
+
+ '@types/lodash@4.17.12':
+ resolution: {integrity: sha512-sviUmCE8AYdaF/KIHLDJBQgeYzPBI0vf/17NaYehBJfYD1j6/L95Slh07NlyK2iNyBNaEkb3En2jRt+a8y3xZQ==}
+
+ '@types/mime@1.3.5':
+ resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==}
+
+ '@types/minimist@1.2.5':
+ resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==}
+
+ '@types/node-forge@1.3.11':
+ resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==}
+
+ '@types/node@22.7.8':
+ resolution: {integrity: sha512-a922jJy31vqR5sk+kAdIENJjHblqcZ4RmERviFsER4WJcEONqxKcjNOlk0q7OUfrF5sddT+vng070cdfMlrPLg==}
+
+ '@types/normalize-package-data@2.4.4':
+ resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
+
+ '@types/parse-json@4.0.2':
+ resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
+
+ '@types/qs@6.9.16':
+ resolution: {integrity: sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==}
+
+ '@types/range-parser@1.2.7':
+ resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==}
+
+ '@types/retry@0.12.0':
+ resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==}
+
+ '@types/send@0.17.4':
+ resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==}
+
+ '@types/serve-index@1.9.4':
+ resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==}
+
+ '@types/serve-static@1.15.7':
+ resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==}
+
+ '@types/sockjs@0.3.36':
+ resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==}
+
+ '@types/web-bluetooth@0.0.16':
+ resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==}
+
+ '@types/web-bluetooth@0.0.20':
+ resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
+
+ '@types/ws@8.5.12':
+ resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==}
+
+ '@uppy/companion-client@2.2.2':
+ resolution: {integrity: sha512-5mTp2iq97/mYSisMaBtFRry6PTgZA6SIL7LePteOV5x0/DxKfrZW3DEiQERJmYpHzy7k8johpm2gHnEKto56Og==}
+
+ '@uppy/core@2.3.4':
+ resolution: {integrity: sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==}
+
+ '@uppy/store-default@2.1.1':
+ resolution: {integrity: sha512-xnpTxvot2SeAwGwbvmJ899ASk5tYXhmZzD/aCFsXePh/v8rNvR2pKlcQUH7cF/y4baUGq3FHO/daKCok/mpKqQ==}
+
+ '@uppy/utils@4.1.3':
+ resolution: {integrity: sha512-nTuMvwWYobnJcytDO3t+D6IkVq/Qs4Xv3vyoEZ+Iaf8gegZP+rEyoaFT2CK5XLRMienPyqRqNbIfRuFaOWSIFw==}
+
+ '@uppy/xhr-upload@2.1.3':
+ resolution: {integrity: sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==}
+ peerDependencies:
+ '@uppy/core': ^2.3.3
+
+ '@vitejs/plugin-legacy@5.4.2':
+ resolution: {integrity: sha512-hlyyQL+wEIyOWdwsUKX+0g3kBU4AbHmVzHarLvVKiGGGqLIYjttMvvjk6zGY8RD9dab6QuFNhDoxg0YFhQ26xA==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ peerDependencies:
+ terser: ^5.4.0
+ vite: ^5.0.0
+
+ '@vitejs/plugin-vue@5.1.4':
+ resolution: {integrity: sha512-N2XSI2n3sQqp5w7Y/AN/L2XDjBIRGqXko+eDp42sydYSBeJuSm5a1sLf8zakmo8u7tA8NmBgoDLA1HeOESjp9A==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ peerDependencies:
+ vite: ^5.0.0
+ vue: ^3.2.25
+
+ '@vue-office/docx@1.6.2':
+ resolution: {integrity: sha512-OHAoUHeY8nHjhWvwDhlPx+/rmRkxmqLpvPgtfCEOZ4H1c1LCdJ6eDbdV3152ww8dcdZ7fgGQu3fmSSaI7JwdpQ==}
+ peerDependencies:
+ '@vue/composition-api': ^1.7.1
+ vue: ^2.0.0 || >=3.0.0
+ vue-demi: ^0.14.6
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
+
+ '@vue-office/excel@1.7.11':
+ resolution: {integrity: sha512-LF3R9IV573Sf4qTu6Ik5Ee8UMfkrsZQ6HEQE25/2m1c0CMcHX6KanIy6Cz0b0Q+FrLH3TjIsLTm6oPcqAbDGSA==}
+ peerDependencies:
+ '@vue/composition-api': ^1.7.1
+ vue: ^2.0.0 || >=3.0.0
+ vue-demi: ^0.14.6
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
+
+ '@vue-office/pdf@2.0.7':
+ resolution: {integrity: sha512-AmTPGLkkwPuT7UPfczCbdC7NgOFA4Vk+Aw/YmcF2CWU1AsGHq9kixPwo0+kNOYlwwL4CGwhXvr2gu1KVU2bxjQ==}
+ peerDependencies:
+ '@vue/composition-api': ^1.7.1
+ vue: ^2.0.0 || >=3.0.0
+ vue-demi: ^0.14.6
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
+
+ '@vue/babel-helper-vue-jsx-merge-props@1.4.0':
+ resolution: {integrity: sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==}
+
+ '@vue/babel-helper-vue-transform-on@1.2.5':
+ resolution: {integrity: sha512-lOz4t39ZdmU4DJAa2hwPYmKc8EsuGa2U0L9KaZaOJUt0UwQNjNA3AZTq6uEivhOKhhG1Wvy96SvYBoFmCg3uuw==}
+
+ '@vue/babel-plugin-jsx@1.2.5':
+ resolution: {integrity: sha512-zTrNmOd4939H9KsRIGmmzn3q2zvv1mjxkYZHgqHZgDrXz5B1Q3WyGEjO2f+JrmKghvl1JIRcvo63LgM1kH5zFg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+
+ '@vue/babel-plugin-resolve-type@1.2.5':
+ resolution: {integrity: sha512-U/ibkQrf5sx0XXRnUZD1mo5F7PkpKyTbfXM3a3rC4YnUz6crHEz9Jg09jzzL6QYlXNto/9CePdOg/c87O4Nlfg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@vue/babel-plugin-transform-vue-jsx@1.4.0':
+ resolution: {integrity: sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@vue/babel-preset-app@5.0.8':
+ resolution: {integrity: sha512-yl+5qhpjd8e1G4cMXfORkkBlvtPCIgmRf3IYCWYDKIQ7m+PPa5iTm4feiNmCMD6yGqQWMhhK/7M3oWGL9boKwg==}
+ peerDependencies:
+ '@babel/core': '*'
+ core-js: ^3
+ vue: ^2 || ^3.2.13
+ peerDependenciesMeta:
+ core-js:
+ optional: true
+ vue:
+ optional: true
+
+ '@vue/babel-preset-jsx@1.4.0':
+ resolution: {integrity: sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ vue: '*'
+ peerDependenciesMeta:
+ vue:
+ optional: true
+
+ '@vue/babel-sugar-composition-api-inject-h@1.4.0':
+ resolution: {integrity: sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@vue/babel-sugar-composition-api-render-instance@1.4.0':
+ resolution: {integrity: sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@vue/babel-sugar-functional-vue@1.4.0':
+ resolution: {integrity: sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@vue/babel-sugar-inject-h@1.4.0':
+ resolution: {integrity: sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@vue/babel-sugar-v-model@1.4.0':
+ resolution: {integrity: sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@vue/babel-sugar-v-on@1.4.0':
+ resolution: {integrity: sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@vue/cli-overlay@5.0.8':
+ resolution: {integrity: sha512-KmtievE/B4kcXp6SuM2gzsnSd8WebkQpg3XaB6GmFh1BJGRqa1UiW9up7L/Q67uOdTigHxr5Ar2lZms4RcDjwQ==}
+
+ '@vue/cli-plugin-babel@5.0.8':
+ resolution: {integrity: sha512-a4qqkml3FAJ3auqB2kN2EMPocb/iu0ykeELwed+9B1c1nQ1HKgslKMHMPavYx3Cd/QAx2mBD4hwKBqZXEI/CsQ==}
+ peerDependencies:
+ '@vue/cli-service': ^3.0.0 || ^4.0.0 || ^5.0.0-0
+
+ '@vue/cli-plugin-eslint@5.0.8':
+ resolution: {integrity: sha512-d11+I5ONYaAPW1KyZj9GlrV/E6HZePq5L5eAF5GgoVdu6sxr6bDgEoxzhcS1Pk2eh8rn1MxG/FyyR+eCBj/CNg==}
+ peerDependencies:
+ '@vue/cli-service': ^3.0.0 || ^4.0.0 || ^5.0.0-0
+ eslint: '>=7.5.0'
+
+ '@vue/cli-plugin-router@5.0.8':
+ resolution: {integrity: sha512-Gmv4dsGdAsWPqVijz3Ux2OS2HkMrWi1ENj2cYL75nUeL+Xj5HEstSqdtfZ0b1q9NCce+BFB6QnHfTBXc/fCvMg==}
+ peerDependencies:
+ '@vue/cli-service': ^3.0.0 || ^4.0.0 || ^5.0.0-0
+
+ '@vue/cli-plugin-vuex@5.0.8':
+ resolution: {integrity: sha512-HSYWPqrunRE5ZZs8kVwiY6oWcn95qf/OQabwLfprhdpFWAGtLStShjsGED2aDpSSeGAskQETrtR/5h7VqgIlBA==}
+ peerDependencies:
+ '@vue/cli-service': ^3.0.0 || ^4.0.0 || ^5.0.0-0
+
+ '@vue/cli-service@5.0.8':
+ resolution: {integrity: sha512-nV7tYQLe7YsTtzFrfOMIHc5N2hp5lHG2rpYr0aNja9rNljdgcPZLyQRb2YRivTHqTv7lI962UXFURcpStHgyFw==}
+ engines: {node: ^12.0.0 || >= 14.0.0}
+ hasBin: true
+ peerDependencies:
+ cache-loader: '*'
+ less-loader: '*'
+ pug-plain-loader: '*'
+ raw-loader: '*'
+ sass-loader: '*'
+ stylus-loader: '*'
+ vue-template-compiler: ^2.0.0
+ webpack-sources: '*'
+ peerDependenciesMeta:
+ cache-loader:
+ optional: true
+ less-loader:
+ optional: true
+ pug-plain-loader:
+ optional: true
+ raw-loader:
+ optional: true
+ sass-loader:
+ optional: true
+ stylus-loader:
+ optional: true
+ vue-template-compiler:
+ optional: true
+ webpack-sources:
+ optional: true
+
+ '@vue/cli-shared-utils@5.0.8':
+ resolution: {integrity: sha512-uK2YB7bBVuQhjOJF+O52P9yFMXeJVj7ozqJkwYE9PlMHL1LMHjtCYm4cSdOebuPzyP+/9p0BimM/OqxsevIopQ==}
+
+ '@vue/compiler-core@3.5.12':
+ resolution: {integrity: sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==}
+
+ '@vue/compiler-dom@3.5.12':
+ resolution: {integrity: sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==}
+
+ '@vue/compiler-sfc@3.5.12':
+ resolution: {integrity: sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==}
+
+ '@vue/compiler-ssr@3.5.12':
+ resolution: {integrity: sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==}
+
+ '@vue/component-compiler-utils@3.3.0':
+ resolution: {integrity: sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==}
+
+ '@vue/devtools-api@6.6.4':
+ resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==}
+
+ '@vue/devtools-core@7.5.3':
+ resolution: {integrity: sha512-KIzT76GPubhvvQzjQtf7yhaSdVOcq/0CV2QbUw2bf3vzV+biHsgfgQ1XEbPbPKuHr1t0zshj53mBv0bx2OmkJw==}
+ peerDependencies:
+ vue: ^3.0.0
+
+ '@vue/devtools-kit@7.5.3':
+ resolution: {integrity: sha512-XSTXCAHshYniK3gLQfhMRDuDLLj6vHFWKVl1tvtSgZ0iJy5AXoI4U/GKGlyS2uS1hwZCSoNSGdkKtbW/pn/Iuw==}
+
+ '@vue/devtools-shared@7.5.3':
+ resolution: {integrity: sha512-i2tCUtAEQ0S8AmTuy6FSOmVKCB5ajmMaVrrw0ypX75koLSo1mssQ8zezds5IoUZHRiXBsgoGHbJGuGwyrSGhqQ==}
+
+ '@vue/reactivity@3.5.12':
+ resolution: {integrity: sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==}
+
+ '@vue/runtime-core@3.5.12':
+ resolution: {integrity: sha512-hrMUYV6tpocr3TL3Ad8DqxOdpDe4zuQY4HPY3X/VRh+L2myQO8MFXPAMarIOSGNu0bFAjh1yBkMPXZBqCk62Uw==}
+
+ '@vue/runtime-dom@3.5.12':
+ resolution: {integrity: sha512-q8VFxR9A2MRfBr6/55Q3umyoN7ya836FzRXajPB6/Vvuv0zOPL+qltd9rIMzG/DbRLAIlREmnLsplEF/kotXKA==}
+
+ '@vue/server-renderer@3.5.12':
+ resolution: {integrity: sha512-I3QoeDDeEPZm8yR28JtY+rk880Oqmj43hreIBVTicisFTx/Dl7JpG72g/X7YF8hnQD3IFhkky5i2bPonwrTVPg==}
+ peerDependencies:
+ vue: 3.5.12
+
+ '@vue/shared@3.5.12':
+ resolution: {integrity: sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==}
+
+ '@vue/web-component-wrapper@1.3.0':
+ resolution: {integrity: sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==}
+
+ '@vueuse/core@11.1.0':
+ resolution: {integrity: sha512-P6dk79QYA6sKQnghrUz/1tHi0n9mrb/iO1WTMk/ElLmTyNqgDeSZ3wcDf6fRBGzRJbeG1dxzEOvLENMjr+E3fg==}
+
+ '@vueuse/core@9.13.0':
+ resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==}
+
+ '@vueuse/metadata@11.1.0':
+ resolution: {integrity: sha512-l9Q502TBTaPYGanl1G+hPgd3QX5s4CGnpXriVBR5fEZ/goI6fvDaVmIl3Td8oKFurOxTmbXvBPSsgrd6eu6HYg==}
+
+ '@vueuse/metadata@9.13.0':
+ resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==}
+
+ '@vueuse/shared@11.1.0':
+ resolution: {integrity: sha512-YUtIpY122q7osj+zsNMFAfMTubGz0sn5QzE5gPzAIiCmtt2ha3uQUY1+JPyL4gRCTsLPX82Y9brNbo/aqlA91w==}
+
+ '@vueuse/shared@9.13.0':
+ resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==}
+
+ '@wangeditor/basic-modules@1.1.7':
+ resolution: {integrity: sha512-cY9CPkLJaqF05STqfpZKWG4LpxTMeGSIIF1fHvfm/mz+JXatCagjdkbxdikOuKYlxDdeqvOeBmsUBItufDLXZg==}
+ peerDependencies:
+ '@wangeditor/core': 1.x
+ dom7: ^3.0.0
+ lodash.throttle: ^4.1.1
+ nanoid: ^3.2.0
+ slate: ^0.72.0
+ snabbdom: ^3.1.0
+
+ '@wangeditor/code-highlight@1.0.3':
+ resolution: {integrity: sha512-iazHwO14XpCuIWJNTQTikqUhGKyqj+dUNWJ9288Oym9M2xMVHvnsOmDU2sgUDWVy+pOLojReMPgXCsvvNlOOhw==}
+ peerDependencies:
+ '@wangeditor/core': 1.x
+ dom7: ^3.0.0
+ slate: ^0.72.0
+ snabbdom: ^3.1.0
+
+ '@wangeditor/core@1.1.19':
+ resolution: {integrity: sha512-KevkB47+7GhVszyYF2pKGKtCSj/YzmClsD03C3zTt+9SR2XWT5T0e3yQqg8baZpcMvkjs1D8Dv4fk8ok/UaS2Q==}
+ peerDependencies:
+ '@uppy/core': ^2.1.1
+ '@uppy/xhr-upload': ^2.0.3
+ dom7: ^3.0.0
+ is-hotkey: ^0.2.0
+ lodash.camelcase: ^4.3.0
+ lodash.clonedeep: ^4.5.0
+ lodash.debounce: ^4.0.8
+ lodash.foreach: ^4.5.0
+ lodash.isequal: ^4.5.0
+ lodash.throttle: ^4.1.1
+ lodash.toarray: ^4.4.0
+ nanoid: ^3.2.0
+ slate: ^0.72.0
+ snabbdom: ^3.1.0
+
+ '@wangeditor/editor-for-vue@5.1.12':
+ resolution: {integrity: sha512-0Ds3D8I+xnpNWezAeO7HmPRgTfUxHLMd9JKcIw+QzvSmhC5xUHbpCcLU+KLmeBKTR/zffnS5GQo6qi3GhTMJWQ==}
+ peerDependencies:
+ '@wangeditor/editor': '>=5.1.0'
+ vue: ^3.0.5
+
+ '@wangeditor/editor@5.1.23':
+ resolution: {integrity: sha512-0RxfeVTuK1tktUaPROnCoFfaHVJpRAIE2zdS0mpP+vq1axVQpLjM8+fCvKzqYIkH0Pg+C+44hJpe3VVroSkEuQ==}
+
+ '@wangeditor/list-module@1.0.5':
+ resolution: {integrity: sha512-uDuYTP6DVhcYf7mF1pTlmNn5jOb4QtcVhYwSSAkyg09zqxI1qBqsfUnveeDeDqIuptSJhkh81cyxi+MF8sEPOQ==}
+ peerDependencies:
+ '@wangeditor/core': 1.x
+ dom7: ^3.0.0
+ slate: ^0.72.0
+ snabbdom: ^3.1.0
+
+ '@wangeditor/table-module@1.1.4':
+ resolution: {integrity: sha512-5saanU9xuEocxaemGdNi9t8MCDSucnykEC6jtuiT72kt+/Hhh4nERYx1J20OPsTCCdVr7hIyQenFD1iSRkIQ6w==}
+ peerDependencies:
+ '@wangeditor/core': 1.x
+ dom7: ^3.0.0
+ lodash.isequal: ^4.5.0
+ lodash.throttle: ^4.1.1
+ nanoid: ^3.2.0
+ slate: ^0.72.0
+ snabbdom: ^3.1.0
+
+ '@wangeditor/upload-image-module@1.0.2':
+ resolution: {integrity: sha512-z81lk/v71OwPDYeQDxj6cVr81aDP90aFuywb8nPD6eQeECtOymrqRODjpO6VGvCVxVck8nUxBHtbxKtjgcwyiA==}
+ peerDependencies:
+ '@uppy/core': ^2.0.3
+ '@uppy/xhr-upload': ^2.0.3
+ '@wangeditor/basic-modules': 1.x
+ '@wangeditor/core': 1.x
+ dom7: ^3.0.0
+ lodash.foreach: ^4.5.0
+ slate: ^0.72.0
+ snabbdom: ^3.1.0
+
+ '@wangeditor/video-module@1.1.4':
+ resolution: {integrity: sha512-ZdodDPqKQrgx3IwWu4ZiQmXI8EXZ3hm2/fM6E3t5dB8tCaIGWQZhmqd6P5knfkRAd3z2+YRSRbxOGfoRSp/rLg==}
+ peerDependencies:
+ '@uppy/core': ^2.1.4
+ '@uppy/xhr-upload': ^2.0.7
+ '@wangeditor/core': 1.x
+ dom7: ^3.0.0
+ nanoid: ^3.2.0
+ slate: ^0.72.0
+ snabbdom: ^3.1.0
+
+ '@webassemblyjs/ast@1.12.1':
+ resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==}
+
+ '@webassemblyjs/floating-point-hex-parser@1.11.6':
+ resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==}
+
+ '@webassemblyjs/helper-api-error@1.11.6':
+ resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==}
+
+ '@webassemblyjs/helper-buffer@1.12.1':
+ resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==}
+
+ '@webassemblyjs/helper-numbers@1.11.6':
+ resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==}
+
+ '@webassemblyjs/helper-wasm-bytecode@1.11.6':
+ resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==}
+
+ '@webassemblyjs/helper-wasm-section@1.12.1':
+ resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==}
+
+ '@webassemblyjs/ieee754@1.11.6':
+ resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==}
+
+ '@webassemblyjs/leb128@1.11.6':
+ resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==}
+
+ '@webassemblyjs/utf8@1.11.6':
+ resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==}
+
+ '@webassemblyjs/wasm-edit@1.12.1':
+ resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==}
+
+ '@webassemblyjs/wasm-gen@1.12.1':
+ resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==}
+
+ '@webassemblyjs/wasm-opt@1.12.1':
+ resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==}
+
+ '@webassemblyjs/wasm-parser@1.12.1':
+ resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==}
+
+ '@webassemblyjs/wast-printer@1.12.1':
+ resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==}
+
+ '@xtuc/ieee754@1.2.0':
+ resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
+
+ '@xtuc/long@4.2.2':
+ resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
+
+ accepts@1.3.8:
+ resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
+ engines: {node: '>= 0.6'}
+
+ acorn-import-attributes@1.9.5:
+ resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==}
+ peerDependencies:
+ acorn: ^8
+
+ acorn-jsx@5.3.2:
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ acorn-walk@8.3.4:
+ resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
+ engines: {node: '>=0.4.0'}
+
+ acorn@8.13.0:
+ resolution: {integrity: sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ address@1.2.2:
+ resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==}
+ engines: {node: '>= 10.0.0'}
+
+ ajv-formats@2.1.1:
+ resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
+ peerDependencies:
+ ajv: ^8.0.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+
+ ajv-keywords@3.5.2:
+ resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
+ peerDependencies:
+ ajv: ^6.9.1
+
+ ajv-keywords@5.1.0:
+ resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
+ peerDependencies:
+ ajv: ^8.8.2
+
+ ajv@6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+
+ ajv@8.17.1:
+ resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
+
+ ansi-escapes@3.2.0:
+ resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==}
+ engines: {node: '>=4'}
+
+ ansi-html-community@0.0.8:
+ resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==}
+ engines: {'0': node >= 0.8.0}
+ hasBin: true
+
+ ansi-regex@3.0.1:
+ resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==}
+ engines: {node: '>=4'}
+
+ ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ ansi-regex@6.1.0:
+ resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
+ engines: {node: '>=12'}
+
+ ansi-styles@3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
+ engines: {node: '>=4'}
+
+ ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+
+ ansi-styles@6.2.1:
+ resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+ engines: {node: '>=12'}
+
+ any-promise@1.3.0:
+ resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
+
+ anymatch@3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
+
+ arch@2.2.0:
+ resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==}
+
+ arg@5.0.2:
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+
+ argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+
+ array-flatten@1.1.1:
+ resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
+
+ array-union@2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
+
+ async-validator@4.2.5:
+ resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==}
+
+ async@2.6.4:
+ resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==}
+
+ asynckit@0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+
+ at-least-node@1.0.0:
+ resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
+ engines: {node: '>= 4.0.0'}
+
+ autoprefixer@10.4.20:
+ resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+
+ axios@1.7.7:
+ resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==}
+
+ babel-loader@8.4.1:
+ resolution: {integrity: sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==}
+ engines: {node: '>= 8.9'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ webpack: '>=2'
+
+ babel-plugin-dynamic-import-node@2.3.3:
+ resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==}
+
+ babel-plugin-import@1.13.8:
+ resolution: {integrity: sha512-36babpjra5m3gca44V6tSTomeBlPA7cHUynrE2WiQIm3rEGD9xy28MKsx5IdO45EbnpJY7Jrgd00C6Dwt/l/2Q==}
+
+ babel-plugin-polyfill-corejs2@0.4.11:
+ resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ babel-plugin-polyfill-corejs3@0.10.6:
+ resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ babel-plugin-polyfill-regenerator@0.6.2:
+ resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ base64-js@1.5.1:
+ resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+
+ batch@0.6.1:
+ resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==}
+
+ big.js@5.2.2:
+ resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
+
+ binary-extensions@2.3.0:
+ resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
+ engines: {node: '>=8'}
+
+ birpc@0.2.19:
+ resolution: {integrity: sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==}
+
+ bl@4.1.0:
+ resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
+
+ bluebird@3.7.2:
+ resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
+
+ body-parser@1.20.3:
+ resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+
+ bonjour-service@1.2.1:
+ resolution: {integrity: sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==}
+
+ boolbase@1.0.0:
+ resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
+
+ brace-expansion@1.1.11:
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+
+ brace-expansion@2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+
+ braces@3.0.3:
+ resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
+ engines: {node: '>=8'}
+
+ browserslist-to-esbuild@2.1.1:
+ resolution: {integrity: sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==}
+ engines: {node: '>=18'}
+ hasBin: true
+ peerDependencies:
+ browserslist: '*'
+
+ browserslist@4.24.2:
+ resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+
+ buffer-from@1.1.2:
+ resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+
+ buffer@5.7.1:
+ resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
+
+ bundle-name@4.1.0:
+ resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==}
+ engines: {node: '>=18'}
+
+ bytes@3.0.0:
+ resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
+ engines: {node: '>= 0.8'}
+
+ bytes@3.1.2:
+ resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
+ engines: {node: '>= 0.8'}
+
+ call-bind@1.0.7:
+ resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
+ engines: {node: '>= 0.4'}
+
+ callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+
+ camel-case@4.1.2:
+ resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
+
+ camelcase-css@2.0.1:
+ resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
+ engines: {node: '>= 6'}
+
+ camelcase@5.3.1:
+ resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
+ engines: {node: '>=6'}
+
+ caniuse-api@3.0.0:
+ resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
+
+ caniuse-lite@1.0.30001669:
+ resolution: {integrity: sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==}
+
+ case-sensitive-paths-webpack-plugin@2.4.0:
+ resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==}
+ engines: {node: '>=4'}
+
+ chalk@2.4.2:
+ resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
+ engines: {node: '>=4'}
+
+ chalk@3.0.0:
+ resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
+ engines: {node: '>=8'}
+
+ chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+
+ chalk@5.3.0:
+ resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+
+ chokidar@3.6.0:
+ resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
+ engines: {node: '>= 8.10.0'}
+
+ chokidar@4.0.1:
+ resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==}
+ engines: {node: '>= 14.16.0'}
+
+ chrome-trace-event@1.0.4:
+ resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==}
+ engines: {node: '>=6.0'}
+
+ ci-info@1.6.0:
+ resolution: {integrity: sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==}
+
+ clean-css@5.3.3:
+ resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==}
+ engines: {node: '>= 10.0'}
+
+ cli-cursor@2.1.0:
+ resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==}
+ engines: {node: '>=4'}
+
+ cli-cursor@3.1.0:
+ resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
+ engines: {node: '>=8'}
+
+ cli-highlight@2.1.11:
+ resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==}
+ engines: {node: '>=8.0.0', npm: '>=5.0.0'}
+ hasBin: true
+
+ cli-spinners@2.9.2:
+ resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
+ engines: {node: '>=6'}
+
+ clipboardy@2.3.0:
+ resolution: {integrity: sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==}
+ engines: {node: '>=8'}
+
+ cliui@7.0.4:
+ resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
+
+ clone-deep@4.0.1:
+ resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
+ engines: {node: '>=6'}
+
+ clone@1.0.4:
+ resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
+ engines: {node: '>=0.8'}
+
+ codemirror@6.65.7:
+ resolution: {integrity: sha512-HcfnUFJwI2FvH73YWVbbMh7ObWxZiHIycEhv9ZEXy6e8ZKDjtZKbbYFUtsLN46HFXPvU5V2Uvc2d55Z//oFW5A==}
+ deprecated: This is an accidentally mis-tagged instance of 5.65.7
+
+ color-convert@1.9.3:
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+
+ color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+
+ color-name@1.1.3:
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+
+ color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ colord@2.9.3:
+ resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
+
+ colorette@2.0.20:
+ resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
+
+ combined-stream@1.0.8:
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+ engines: {node: '>= 0.8'}
+
+ commander@2.20.3:
+ resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+
+ commander@4.1.1:
+ resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
+ engines: {node: '>= 6'}
+
+ commander@7.2.0:
+ resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
+ engines: {node: '>= 10'}
+
+ commander@8.3.0:
+ resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
+ engines: {node: '>= 12'}
+
+ commondir@1.0.1:
+ resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
+
+ compressible@2.0.18:
+ resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
+ engines: {node: '>= 0.6'}
+
+ compression@1.7.4:
+ resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==}
+ engines: {node: '>= 0.8.0'}
+
+ compute-scroll-into-view@1.0.20:
+ resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==}
+
+ concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+
+ connect-history-api-fallback@2.0.0:
+ resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==}
+ engines: {node: '>=0.8'}
+
+ consolidate@0.15.1:
+ resolution: {integrity: sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==}
+ engines: {node: '>= 0.10.0'}
+ deprecated: Please upgrade to consolidate v1.0.0+ as it has been modernized with several long-awaited fixes implemented. Maintenance is supported by Forward Email at https://forwardemail.net ; follow/watch https://github.com/ladjs/consolidate for updates and release changelog
+ peerDependencies:
+ arc-templates: ^0.5.3
+ atpl: '>=0.7.6'
+ babel-core: ^6.26.3
+ bracket-template: ^1.1.5
+ coffee-script: ^1.12.7
+ dot: ^1.1.3
+ dust: ^0.3.0
+ dustjs-helpers: ^1.7.4
+ dustjs-linkedin: ^2.7.5
+ eco: ^1.1.0-rc-3
+ ect: ^0.5.9
+ ejs: ^3.1.5
+ haml-coffee: ^1.14.1
+ hamlet: ^0.3.3
+ hamljs: ^0.6.2
+ handlebars: ^4.7.6
+ hogan.js: ^3.0.2
+ htmling: ^0.0.8
+ jade: ^1.11.0
+ jazz: ^0.0.18
+ jqtpl: ~1.1.0
+ just: ^0.1.8
+ liquid-node: ^3.0.1
+ liquor: ^0.0.5
+ lodash: ^4.17.20
+ marko: ^3.14.4
+ mote: ^0.2.0
+ mustache: ^3.0.0
+ nunjucks: ^3.2.2
+ plates: ~0.4.11
+ pug: ^3.0.0
+ qejs: ^3.0.5
+ ractive: ^1.3.12
+ razor-tmpl: ^1.3.1
+ react: ^16.13.1
+ react-dom: ^16.13.1
+ slm: ^2.0.0
+ squirrelly: ^5.1.0
+ swig: ^1.4.2
+ swig-templates: ^2.0.3
+ teacup: ^2.0.0
+ templayed: '>=0.2.3'
+ then-jade: '*'
+ then-pug: '*'
+ tinyliquid: ^0.2.34
+ toffee: ^0.3.6
+ twig: ^1.15.2
+ twing: ^5.0.2
+ underscore: ^1.11.0
+ vash: ^0.13.0
+ velocityjs: ^2.0.1
+ walrus: ^0.10.1
+ whiskers: ^0.4.0
+ peerDependenciesMeta:
+ arc-templates:
+ optional: true
+ atpl:
+ optional: true
+ babel-core:
+ optional: true
+ bracket-template:
+ optional: true
+ coffee-script:
+ optional: true
+ dot:
+ optional: true
+ dust:
+ optional: true
+ dustjs-helpers:
+ optional: true
+ dustjs-linkedin:
+ optional: true
+ eco:
+ optional: true
+ ect:
+ optional: true
+ ejs:
+ optional: true
+ haml-coffee:
+ optional: true
+ hamlet:
+ optional: true
+ hamljs:
+ optional: true
+ handlebars:
+ optional: true
+ hogan.js:
+ optional: true
+ htmling:
+ optional: true
+ jade:
+ optional: true
+ jazz:
+ optional: true
+ jqtpl:
+ optional: true
+ just:
+ optional: true
+ liquid-node:
+ optional: true
+ liquor:
+ optional: true
+ lodash:
+ optional: true
+ marko:
+ optional: true
+ mote:
+ optional: true
+ mustache:
+ optional: true
+ nunjucks:
+ optional: true
+ plates:
+ optional: true
+ pug:
+ optional: true
+ qejs:
+ optional: true
+ ractive:
+ optional: true
+ razor-tmpl:
+ optional: true
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ slm:
+ optional: true
+ squirrelly:
+ optional: true
+ swig:
+ optional: true
+ swig-templates:
+ optional: true
+ teacup:
+ optional: true
+ templayed:
+ optional: true
+ then-jade:
+ optional: true
+ then-pug:
+ optional: true
+ tinyliquid:
+ optional: true
+ toffee:
+ optional: true
+ twig:
+ optional: true
+ twing:
+ optional: true
+ underscore:
+ optional: true
+ vash:
+ optional: true
+ velocityjs:
+ optional: true
+ walrus:
+ optional: true
+ whiskers:
+ optional: true
+
+ content-disposition@0.5.4:
+ resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
+ engines: {node: '>= 0.6'}
+
+ content-type@1.0.5:
+ resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
+ engines: {node: '>= 0.6'}
+
+ convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+
+ cookie-signature@1.0.6:
+ resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
+
+ cookie@0.7.1:
+ resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==}
+ engines: {node: '>= 0.6'}
+
+ copy-anything@3.0.5:
+ resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==}
+ engines: {node: '>=12.13'}
+
+ copy-webpack-plugin@9.1.0:
+ resolution: {integrity: sha512-rxnR7PaGigJzhqETHGmAcxKnLZSR5u1Y3/bcIv/1FnqXedcL/E2ewK7ZCNrArJKCiSv8yVXhTqetJh8inDvfsA==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ webpack: ^5.1.0
+
+ core-js-compat@3.38.1:
+ resolution: {integrity: sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==}
+
+ core-js-pure@3.38.1:
+ resolution: {integrity: sha512-BY8Etc1FZqdw1glX0XNOq2FDwfrg/VGqoZOZCdaL+UmdaqDwQwYXkMJT4t6In+zfEfOJDcM9T0KdbBeJg8KKCQ==}
+
+ core-js@3.38.1:
+ resolution: {integrity: sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==}
+
+ core-util-is@1.0.3:
+ resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
+
+ cosmiconfig@7.1.0:
+ resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
+ engines: {node: '>=10'}
+
+ cross-spawn@5.1.0:
+ resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==}
+
+ cross-spawn@6.0.5:
+ resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==}
+ engines: {node: '>=4.8'}
+
+ cross-spawn@7.0.3:
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
+ engines: {node: '>= 8'}
+
+ css-declaration-sorter@6.4.1:
+ resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==}
+ engines: {node: ^10 || ^12 || >=14}
+ peerDependencies:
+ postcss: ^8.0.9
+
+ css-loader@6.11.0:
+ resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ '@rspack/core': 0.x || 1.x
+ webpack: ^5.0.0
+ peerDependenciesMeta:
+ '@rspack/core':
+ optional: true
+ webpack:
+ optional: true
+
+ css-minimizer-webpack-plugin@3.4.1:
+ resolution: {integrity: sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ '@parcel/css': '*'
+ clean-css: '*'
+ csso: '*'
+ esbuild: '*'
+ webpack: ^5.0.0
+ peerDependenciesMeta:
+ '@parcel/css':
+ optional: true
+ clean-css:
+ optional: true
+ csso:
+ optional: true
+ esbuild:
+ optional: true
+
+ css-select@4.3.0:
+ resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
+
+ css-tree@1.1.3:
+ resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==}
+ engines: {node: '>=8.0.0'}
+
+ css-what@6.1.0:
+ resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
+ engines: {node: '>= 6'}
+
+ cssesc@3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ cssnano-preset-default@5.2.14:
+ resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ cssnano-utils@3.1.0:
+ resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ cssnano@5.1.15:
+ resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ csso@4.2.0:
+ resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==}
+ engines: {node: '>=8.0.0'}
+
+ csstype@3.1.3:
+ resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+
+ d@1.0.2:
+ resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==}
+ engines: {node: '>=0.12'}
+
+ dayjs@1.11.13:
+ resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==}
+
+ debounce@1.2.1:
+ resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
+
+ debug@2.6.9:
+ resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ debug@3.2.7:
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ debug@4.3.7:
+ resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ deep-is@0.1.4:
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+
+ deepmerge@1.5.2:
+ resolution: {integrity: sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==}
+ engines: {node: '>=0.10.0'}
+
+ default-browser-id@5.0.0:
+ resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==}
+ engines: {node: '>=18'}
+
+ default-browser@5.2.1:
+ resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==}
+ engines: {node: '>=18'}
+
+ default-gateway@6.0.3:
+ resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==}
+ engines: {node: '>= 10'}
+
+ default-passive-events@2.0.0:
+ resolution: {integrity: sha512-eMtt76GpDVngZQ3ocgvRcNCklUMwID1PaNbCNxfpDXuiOXttSh0HzBbda1HU9SIUsDc02vb7g9+3I5tlqe/qMQ==}
+
+ defaults@1.0.4:
+ resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
+
+ define-data-property@1.1.4:
+ resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
+ engines: {node: '>= 0.4'}
+
+ define-lazy-prop@2.0.0:
+ resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
+ engines: {node: '>=8'}
+
+ define-lazy-prop@3.0.0:
+ resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
+ engines: {node: '>=12'}
+
+ define-properties@1.2.1:
+ resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
+ engines: {node: '>= 0.4'}
+
+ delayed-stream@1.0.0:
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+ engines: {node: '>=0.4.0'}
+
+ depd@1.1.2:
+ resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
+ engines: {node: '>= 0.6'}
+
+ depd@2.0.0:
+ resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
+ engines: {node: '>= 0.8'}
+
+ destroy@1.2.0:
+ resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+
+ detect-libc@1.0.3:
+ resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
+ engines: {node: '>=0.10'}
+ hasBin: true
+
+ detect-node@2.1.0:
+ resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
+
+ didyoumean@1.2.2:
+ resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
+
+ dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+
+ dlv@1.1.3:
+ resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
+
+ dns-packet@5.6.1:
+ resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==}
+ engines: {node: '>=6'}
+
+ dom-converter@0.2.0:
+ resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==}
+
+ dom-serializer@1.4.1:
+ resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
+
+ dom7@3.0.0:
+ resolution: {integrity: sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==}
+
+ domelementtype@2.3.0:
+ resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
+
+ domhandler@4.3.1:
+ resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
+ engines: {node: '>= 4'}
+
+ domutils@2.8.0:
+ resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
+
+ dot-case@3.0.4:
+ resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
+
+ dotenv-expand@5.1.0:
+ resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==}
+
+ dotenv@10.0.0:
+ resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==}
+ engines: {node: '>=10'}
+
+ dotenv@16.4.5:
+ resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==}
+ engines: {node: '>=12'}
+
+ duplexer@0.1.2:
+ resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
+
+ eastasianwidth@0.2.0:
+ resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+
+ easy-stack@1.0.1:
+ resolution: {integrity: sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==}
+ engines: {node: '>=6.0.0'}
+
+ echarts@5.5.1:
+ resolution: {integrity: sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==}
+
+ ee-first@1.1.1:
+ resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
+
+ electron-to-chromium@1.5.42:
+ resolution: {integrity: sha512-gIfKavKDw1mhvic9nbzA5lZw8QSHpdMwLwXc0cWidQz9B15pDoDdDH4boIatuFfeoCatb3a/NGL6CYRVFxGZ9g==}
+
+ element-plus@2.8.6:
+ resolution: {integrity: sha512-fk5jB8V3efM02/4roZ5SWOLArgaYXbxEydZLlXSr+KPAwjNyHBlk2+HO5em8YKo5+RLBoHnn6BaThj6IE4nXoQ==}
+ peerDependencies:
+ vue: ^3.2.0
+
+ emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+
+ emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+
+ emojis-list@3.0.0:
+ resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==}
+ engines: {node: '>= 4'}
+
+ encodeurl@1.0.2:
+ resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
+ engines: {node: '>= 0.8'}
+
+ encodeurl@2.0.0:
+ resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
+ engines: {node: '>= 0.8'}
+
+ end-of-stream@1.4.4:
+ resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
+
+ enhanced-resolve@5.17.1:
+ resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==}
+ engines: {node: '>=10.13.0'}
+
+ entities@2.2.0:
+ resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
+
+ entities@4.5.0:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+ engines: {node: '>=0.12'}
+
+ error-ex@1.3.2:
+ resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+
+ error-stack-parser-es@0.1.5:
+ resolution: {integrity: sha512-xHku1X40RO+fO8yJ8Wh2f2rZWVjqyhb1zgq1yZ8aZRQkv6OOKhKWRUaht3eSCUbAOBaKIgM+ykwFLE+QUxgGeg==}
+
+ error-stack-parser@2.1.4:
+ resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==}
+
+ es-define-property@1.0.0:
+ resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
+ engines: {node: '>= 0.4'}
+
+ es-errors@1.3.0:
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+ engines: {node: '>= 0.4'}
+
+ es-module-lexer@1.5.4:
+ resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==}
+
+ es5-ext@0.10.64:
+ resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==}
+ engines: {node: '>=0.10'}
+
+ es6-iterator@2.0.3:
+ resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
+
+ es6-symbol@3.1.4:
+ resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==}
+ engines: {node: '>=0.12'}
+
+ esbuild@0.21.5:
+ resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
+ engines: {node: '>=12'}
+ hasBin: true
+
+ escalade@3.2.0:
+ resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
+ engines: {node: '>=6'}
+
+ escape-html@1.0.3:
+ resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
+
+ escape-string-regexp@1.0.5:
+ resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+ engines: {node: '>=0.8.0'}
+
+ escape-string-regexp@4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
+
+ eslint-plugin-vue@9.29.1:
+ resolution: {integrity: sha512-MH/MbVae4HV/tM8gKAVWMPJbYgW04CK7SuzYRrlNERpxbO0P3+Zdsa2oAcFBW6xNu7W6lIkGOsFAMCRTYmrlWQ==}
+ engines: {node: ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0
+
+ eslint-scope@5.1.1:
+ resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
+ engines: {node: '>=8.0.0'}
+
+ eslint-scope@7.2.2:
+ resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ eslint-scope@8.1.0:
+ resolution: {integrity: sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ eslint-visitor-keys@2.1.0:
+ resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
+ engines: {node: '>=10'}
+
+ eslint-visitor-keys@3.4.3:
+ resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ eslint-visitor-keys@4.1.0:
+ resolution: {integrity: sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ eslint-webpack-plugin@3.2.0:
+ resolution: {integrity: sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ webpack: ^5.0.0
+
+ eslint@9.13.0:
+ resolution: {integrity: sha512-EYZK6SX6zjFHST/HRytOdA/zE72Cq/bfw45LSyuwrdvcclb/gqV8RRQxywOBEWO2+WDpva6UZa4CcDeJKzUCFA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ hasBin: true
+ peerDependencies:
+ jiti: '*'
+ peerDependenciesMeta:
+ jiti:
+ optional: true
+
+ esniff@2.0.1:
+ resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==}
+ engines: {node: '>=0.10'}
+
+ espree@10.2.0:
+ resolution: {integrity: sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ espree@9.6.1:
+ resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ esquery@1.6.0:
+ resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
+ engines: {node: '>=0.10'}
+
+ esrecurse@4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ engines: {node: '>=4.0'}
+
+ estraverse@4.3.0:
+ resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
+ engines: {node: '>=4.0'}
+
+ estraverse@5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+ engines: {node: '>=4.0'}
+
+ estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+
+ esutils@2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+ engines: {node: '>=0.10.0'}
+
+ etag@1.8.1:
+ resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
+ engines: {node: '>= 0.6'}
+
+ event-emitter@0.3.5:
+ resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
+
+ event-pubsub@4.3.0:
+ resolution: {integrity: sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==}
+ engines: {node: '>=4.0.0'}
+
+ eventemitter3@4.0.7:
+ resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
+
+ events@3.3.0:
+ resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
+ engines: {node: '>=0.8.x'}
+
+ execa@0.8.0:
+ resolution: {integrity: sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA==}
+ engines: {node: '>=4'}
+
+ execa@1.0.0:
+ resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==}
+ engines: {node: '>=6'}
+
+ execa@5.1.1:
+ resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
+ engines: {node: '>=10'}
+
+ execa@8.0.1:
+ resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
+ engines: {node: '>=16.17'}
+
+ express@4.21.1:
+ resolution: {integrity: sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==}
+ engines: {node: '>= 0.10.0'}
+
+ ext@1.7.0:
+ resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
+
+ fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+
+ fast-glob@3.3.2:
+ resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
+ engines: {node: '>=8.6.0'}
+
+ fast-json-stable-stringify@2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+
+ fast-levenshtein@2.0.6:
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+
+ fast-uri@3.0.3:
+ resolution: {integrity: sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==}
+
+ fastq@1.17.1:
+ resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
+
+ faye-websocket@0.11.4:
+ resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==}
+ engines: {node: '>=0.8.0'}
+
+ figures@2.0.0:
+ resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==}
+ engines: {node: '>=4'}
+
+ file-entry-cache@8.0.0:
+ resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
+ engines: {node: '>=16.0.0'}
+
+ fill-range@7.1.1:
+ resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
+ engines: {node: '>=8'}
+
+ finalhandler@1.3.1:
+ resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==}
+ engines: {node: '>= 0.8'}
+
+ find-cache-dir@3.3.2:
+ resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==}
+ engines: {node: '>=8'}
+
+ find-up@4.1.0:
+ resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
+ engines: {node: '>=8'}
+
+ find-up@5.0.0:
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
+ engines: {node: '>=10'}
+
+ flat-cache@4.0.1:
+ resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
+ engines: {node: '>=16'}
+
+ flat@5.0.2:
+ resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==}
+ hasBin: true
+
+ flatted@3.3.1:
+ resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
+
+ follow-redirects@1.15.9:
+ resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+
+ foreground-child@3.3.0:
+ resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
+ engines: {node: '>=14'}
+
+ form-data@4.0.1:
+ resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==}
+ engines: {node: '>= 6'}
+
+ forwarded@0.2.0:
+ resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
+ engines: {node: '>= 0.6'}
+
+ fraction.js@4.3.7:
+ resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
+
+ fresh@0.5.2:
+ resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
+ engines: {node: '>= 0.6'}
+
+ fs-extra@11.2.0:
+ resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
+ engines: {node: '>=14.14'}
+
+ fs-extra@9.1.0:
+ resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==}
+ engines: {node: '>=10'}
+
+ fs-monkey@1.0.6:
+ resolution: {integrity: sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==}
+
+ fs.realpath@1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+
+ fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+
+ function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+
+ gensync@1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+
+ get-caller-file@2.0.5:
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+
+ get-intrinsic@1.2.4:
+ resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
+ engines: {node: '>= 0.4'}
+
+ get-stream@3.0.0:
+ resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==}
+ engines: {node: '>=4'}
+
+ get-stream@4.1.0:
+ resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==}
+ engines: {node: '>=6'}
+
+ get-stream@6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+ engines: {node: '>=10'}
+
+ get-stream@8.0.1:
+ resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
+ engines: {node: '>=16'}
+
+ glob-parent@5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+
+ glob-parent@6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
+
+ glob-to-regexp@0.4.1:
+ resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
+
+ glob@10.4.5:
+ resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
+ hasBin: true
+
+ glob@7.2.3:
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ deprecated: Glob versions prior to v9 are no longer supported
+
+ globals@11.12.0:
+ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
+ engines: {node: '>=4'}
+
+ globals@13.24.0:
+ resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
+ engines: {node: '>=8'}
+
+ globals@14.0.0:
+ resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
+ engines: {node: '>=18'}
+
+ globby@11.1.0:
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
+ engines: {node: '>=10'}
+
+ gopd@1.0.1:
+ resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+
+ graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+
+ gzip-size@6.0.0:
+ resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
+ engines: {node: '>=10'}
+
+ handle-thing@2.0.1:
+ resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==}
+
+ has-flag@3.0.0:
+ resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
+ engines: {node: '>=4'}
+
+ has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+
+ has-property-descriptors@1.0.2:
+ resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
+
+ has-proto@1.0.3:
+ resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
+ engines: {node: '>= 0.4'}
+
+ has-symbols@1.0.3:
+ resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
+ engines: {node: '>= 0.4'}
+
+ hash-sum@1.0.2:
+ resolution: {integrity: sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==}
+
+ hash-sum@2.0.0:
+ resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==}
+
+ hasown@2.0.2:
+ resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
+ engines: {node: '>= 0.4'}
+
+ he@1.2.0:
+ resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
+ hasBin: true
+
+ highlight.js@10.7.3:
+ resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==}
+
+ highlight.js@11.10.0:
+ resolution: {integrity: sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==}
+ engines: {node: '>=12.0.0'}
+
+ hookable@5.5.3:
+ resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
+
+ hosted-git-info@2.8.9:
+ resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
+
+ hpack.js@2.1.6:
+ resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==}
+
+ html-entities@2.5.2:
+ resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==}
+
+ html-escaper@2.0.2:
+ resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
+
+ html-minifier-terser@6.1.0:
+ resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==}
+ engines: {node: '>=12'}
+ hasBin: true
+
+ html-tags@2.0.0:
+ resolution: {integrity: sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==}
+ engines: {node: '>=4'}
+
+ html-tags@3.3.1:
+ resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==}
+ engines: {node: '>=8'}
+
+ html-void-elements@2.0.1:
+ resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==}
+
+ html-webpack-plugin@5.6.3:
+ resolution: {integrity: sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==}
+ engines: {node: '>=10.13.0'}
+ peerDependencies:
+ '@rspack/core': 0.x || 1.x
+ webpack: ^5.20.0
+ peerDependenciesMeta:
+ '@rspack/core':
+ optional: true
+ webpack:
+ optional: true
+
+ htmlparser2@6.1.0:
+ resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==}
+
+ http-deceiver@1.2.7:
+ resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==}
+
+ http-errors@1.6.3:
+ resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==}
+ engines: {node: '>= 0.6'}
+
+ http-errors@2.0.0:
+ resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
+ engines: {node: '>= 0.8'}
+
+ http-parser-js@0.5.8:
+ resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==}
+
+ http-proxy-middleware@2.0.7:
+ resolution: {integrity: sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ '@types/express': ^4.17.13
+ peerDependenciesMeta:
+ '@types/express':
+ optional: true
+
+ http-proxy@1.18.1:
+ resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==}
+ engines: {node: '>=8.0.0'}
+
+ human-signals@2.1.0:
+ resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
+ engines: {node: '>=10.17.0'}
+
+ human-signals@5.0.0:
+ resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
+ engines: {node: '>=16.17.0'}
+
+ i18next@20.6.1:
+ resolution: {integrity: sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==}
+
+ iconv-lite@0.4.24:
+ resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
+ engines: {node: '>=0.10.0'}
+
+ icss-utils@5.1.0:
+ resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ ieee754@1.2.1:
+ resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
+
+ ignore@5.3.2:
+ resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
+ engines: {node: '>= 4'}
+
+ immer@9.0.21:
+ resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==}
+
+ immutable@4.3.7:
+ resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==}
+
+ import-fresh@3.3.0:
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ engines: {node: '>=6'}
+
+ imurmurhash@0.1.4:
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
+ engines: {node: '>=0.8.19'}
+
+ inflight@1.0.6:
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
+
+ inherits@2.0.3:
+ resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==}
+
+ inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+
+ ipaddr.js@1.9.1:
+ resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
+ engines: {node: '>= 0.10'}
+
+ ipaddr.js@2.2.0:
+ resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==}
+ engines: {node: '>= 10'}
+
+ is-arrayish@0.2.1:
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+
+ is-binary-path@2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+ engines: {node: '>=8'}
+
+ is-ci@1.2.1:
+ resolution: {integrity: sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==}
+ hasBin: true
+
+ is-core-module@2.15.1:
+ resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==}
+ engines: {node: '>= 0.4'}
+
+ is-docker@2.2.1:
+ resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
+ engines: {node: '>=8'}
+ hasBin: true
+
+ is-docker@3.0.0:
+ resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ hasBin: true
+
+ is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+
+ is-file-esm@1.0.0:
+ resolution: {integrity: sha512-rZlaNKb4Mr8WlRu2A9XdeoKgnO5aA53XdPHgCKVyCrQ/rWi89RET1+bq37Ru46obaQXeiX4vmFIm1vks41hoSA==}
+
+ is-fullwidth-code-point@2.0.0:
+ resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==}
+ engines: {node: '>=4'}
+
+ is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+
+ is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+
+ is-hotkey@0.2.0:
+ resolution: {integrity: sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==}
+
+ is-inside-container@1.0.0:
+ resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
+ engines: {node: '>=14.16'}
+ hasBin: true
+
+ is-interactive@1.0.0:
+ resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
+ engines: {node: '>=8'}
+
+ is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+
+ is-plain-obj@3.0.0:
+ resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==}
+ engines: {node: '>=10'}
+
+ is-plain-object@2.0.4:
+ resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
+ engines: {node: '>=0.10.0'}
+
+ is-plain-object@5.0.0:
+ resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
+ engines: {node: '>=0.10.0'}
+
+ is-stream@1.1.0:
+ resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==}
+ engines: {node: '>=0.10.0'}
+
+ is-stream@2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
+
+ is-stream@3.0.0:
+ resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ is-unicode-supported@0.1.0:
+ resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
+ engines: {node: '>=10'}
+
+ is-url@1.2.4:
+ resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==}
+
+ is-what@4.1.16:
+ resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==}
+ engines: {node: '>=12.13'}
+
+ is-wsl@2.2.0:
+ resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+ engines: {node: '>=8'}
+
+ is-wsl@3.1.0:
+ resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==}
+ engines: {node: '>=16'}
+
+ isarray@1.0.0:
+ resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
+
+ isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+ isobject@3.0.1:
+ resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
+ engines: {node: '>=0.10.0'}
+
+ jackspeak@3.4.3:
+ resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
+
+ javascript-stringify@2.1.0:
+ resolution: {integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==}
+
+ jest-worker@27.5.1:
+ resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
+ engines: {node: '>= 10.13.0'}
+
+ jest-worker@28.1.3:
+ resolution: {integrity: sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==}
+ engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
+
+ jiti@1.21.6:
+ resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==}
+ hasBin: true
+
+ joi@17.13.3:
+ resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==}
+
+ js-cookie@3.0.5:
+ resolution: {integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==}
+ engines: {node: '>=14'}
+
+ js-message@1.0.7:
+ resolution: {integrity: sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==}
+ engines: {node: '>=0.6.0'}
+
+ js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ js-yaml@4.1.0:
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ hasBin: true
+
+ jsesc@3.0.2:
+ resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ json-buffer@3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+
+ json-parse-better-errors@1.0.2:
+ resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==}
+
+ json-parse-even-better-errors@2.3.1:
+ resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+
+ json-schema-traverse@0.4.1:
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+
+ json-schema-traverse@1.0.0:
+ resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
+
+ json-stable-stringify-without-jsonify@1.0.1:
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+
+ json5@1.0.2:
+ resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
+ hasBin: true
+
+ json5@2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ jsonfile@6.1.0:
+ resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
+
+ keyv@4.5.4:
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+
+ kind-of@6.0.3:
+ resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
+ engines: {node: '>=0.10.0'}
+
+ klona@2.0.6:
+ resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==}
+ engines: {node: '>= 8'}
+
+ kolorist@1.8.0:
+ resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
+
+ launch-editor-middleware@2.9.1:
+ resolution: {integrity: sha512-4wF6AtPtaIENiZdH/a+3yW8Xni7uxzTEDd1z+gH00hUWBCSmQknFohznMd9BWhLk8MXObeB5ir69GbIr9qFW1w==}
+
+ launch-editor@2.9.1:
+ resolution: {integrity: sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==}
+
+ levn@0.4.1:
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
+ engines: {node: '>= 0.8.0'}
+
+ lilconfig@2.1.0:
+ resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
+ engines: {node: '>=10'}
+
+ lilconfig@3.1.2:
+ resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==}
+ engines: {node: '>=14'}
+
+ lines-and-columns@1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+
+ loader-runner@4.3.0:
+ resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
+ engines: {node: '>=6.11.5'}
+
+ loader-utils@1.4.2:
+ resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==}
+ engines: {node: '>=4.0.0'}
+
+ loader-utils@2.0.4:
+ resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==}
+ engines: {node: '>=8.9.0'}
+
+ locate-path@5.0.0:
+ resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
+ engines: {node: '>=8'}
+
+ locate-path@6.0.0:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ engines: {node: '>=10'}
+
+ lodash-es@4.17.21:
+ resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
+
+ lodash-unified@1.0.3:
+ resolution: {integrity: sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==}
+ peerDependencies:
+ '@types/lodash-es': '*'
+ lodash: '*'
+ lodash-es: '*'
+
+ lodash.camelcase@4.3.0:
+ resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
+
+ lodash.clonedeep@4.5.0:
+ resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==}
+
+ lodash.debounce@4.0.8:
+ resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+
+ lodash.defaultsdeep@4.6.1:
+ resolution: {integrity: sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==}
+
+ lodash.foreach@4.5.0:
+ resolution: {integrity: sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==}
+
+ lodash.isequal@4.5.0:
+ resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==}
+
+ lodash.kebabcase@4.1.1:
+ resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==}
+
+ lodash.mapvalues@4.6.0:
+ resolution: {integrity: sha512-JPFqXFeZQ7BfS00H58kClY7SPVeHertPE0lNuCyZ26/XlN8TvakYD7b9bGyNmXbT/D3BbtPAAmq90gPWqLkxlQ==}
+
+ lodash.memoize@4.1.2:
+ resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
+
+ lodash.merge@4.6.2:
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+
+ lodash.throttle@4.1.1:
+ resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==}
+
+ lodash.toarray@4.4.0:
+ resolution: {integrity: sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw==}
+
+ lodash.uniq@4.5.0:
+ resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
+
+ lodash@4.17.21:
+ resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+
+ log-symbols@4.1.0:
+ resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
+ engines: {node: '>=10'}
+
+ log-update@2.3.0:
+ resolution: {integrity: sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==}
+ engines: {node: '>=4'}
+
+ lower-case@2.0.2:
+ resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
+
+ lru-cache@10.4.3:
+ resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
+
+ lru-cache@4.1.5:
+ resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==}
+
+ lru-cache@5.1.1:
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+
+ lru-cache@6.0.0:
+ resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
+ engines: {node: '>=10'}
+
+ magic-string@0.30.12:
+ resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==}
+
+ make-dir@3.1.0:
+ resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
+ engines: {node: '>=8'}
+
+ marked-highlight@2.2.0:
+ resolution: {integrity: sha512-36LzwtVf7HEbbMITKU4j+iZuyWKgdXJfgYr4F5j27vs79oRPyApuBF3WkS5OsqO1+1lypWxztad7zNRM4qgXFw==}
+ peerDependencies:
+ marked: '>=4 <15'
+
+ marked@14.1.1:
+ resolution: {integrity: sha512-eS59oxof5eBVDCKTs+mJbvB/6Vq137GbimF9wkTIlto2/B2ppY5nigUUQgKVmA3bI2mPTIshUyDj5j612ZxlQQ==}
+ engines: {node: '>= 18'}
+ hasBin: true
+
+ mdn-data@2.0.14:
+ resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
+
+ media-typer@0.3.0:
+ resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
+ engines: {node: '>= 0.6'}
+
+ memfs@3.5.3:
+ resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==}
+ engines: {node: '>= 4.0.0'}
+
+ memoize-one@6.0.0:
+ resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==}
+
+ meow@13.2.0:
+ resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==}
+ engines: {node: '>=18'}
+
+ merge-descriptors@1.0.3:
+ resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==}
+
+ merge-source-map@1.1.0:
+ resolution: {integrity: sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==}
+
+ merge-stream@2.0.0:
+ resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
+
+ merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+
+ methods@1.1.2:
+ resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
+ engines: {node: '>= 0.6'}
+
+ micromatch@4.0.8:
+ resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
+ engines: {node: '>=8.6'}
+
+ mime-db@1.52.0:
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
+
+ mime-db@1.53.0:
+ resolution: {integrity: sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==}
+ engines: {node: '>= 0.6'}
+
+ mime-match@1.0.2:
+ resolution: {integrity: sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==}
+
+ mime-types@2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+
+ mime@1.6.0:
+ resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ mimic-fn@1.2.0:
+ resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==}
+ engines: {node: '>=4'}
+
+ mimic-fn@2.1.0:
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+ engines: {node: '>=6'}
+
+ mimic-fn@4.0.0:
+ resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
+ engines: {node: '>=12'}
+
+ mini-css-extract-plugin@2.9.1:
+ resolution: {integrity: sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ webpack: ^5.0.0
+
+ minimalistic-assert@1.0.1:
+ resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
+
+ minimatch@3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+
+ minimatch@9.0.5:
+ resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ minimist@1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+
+ minipass@3.3.6:
+ resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
+ engines: {node: '>=8'}
+
+ minipass@7.1.2:
+ resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ mitt@3.0.1:
+ resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
+
+ mkdirp@0.5.6:
+ resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
+ hasBin: true
+
+ module-alias@2.2.3:
+ resolution: {integrity: sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q==}
+
+ mrmime@2.0.0:
+ resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
+ engines: {node: '>=10'}
+
+ ms@2.0.0:
+ resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
+
+ ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+ multicast-dns@7.2.5:
+ resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==}
+ hasBin: true
+
+ mz@2.7.0:
+ resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
+
+ namespace-emitter@2.0.1:
+ resolution: {integrity: sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==}
+
+ nanoid@3.3.7:
+ resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+ natural-compare@1.4.0:
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+
+ negotiator@0.6.3:
+ resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
+ engines: {node: '>= 0.6'}
+
+ neo-async@2.6.2:
+ resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
+
+ next-tick@1.1.0:
+ resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
+
+ nice-try@1.0.5:
+ resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
+
+ no-case@3.0.4:
+ resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
+
+ node-addon-api@7.1.1:
+ resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==}
+
+ node-fetch@2.7.0:
+ resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
+ engines: {node: 4.x || >=6.0.0}
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+
+ node-forge@1.3.1:
+ resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
+ engines: {node: '>= 6.13.0'}
+
+ node-releases@2.0.18:
+ resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==}
+
+ normalize-package-data@2.5.0:
+ resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
+
+ normalize-path@1.0.0:
+ resolution: {integrity: sha512-7WyT0w8jhpDStXRq5836AMmihQwq2nrUVQrgjvUo/p/NZf9uy/MeJ246lBJVmWuYXMlJuG9BNZHF0hWjfTbQUA==}
+ engines: {node: '>=0.10.0'}
+
+ normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+
+ normalize-range@0.1.2:
+ resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
+ engines: {node: '>=0.10.0'}
+
+ normalize-url@6.1.0:
+ resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==}
+ engines: {node: '>=10'}
+
+ normalize-wheel-es@1.2.0:
+ resolution: {integrity: sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==}
+
+ npm-run-path@2.0.2:
+ resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==}
+ engines: {node: '>=4'}
+
+ npm-run-path@4.0.1:
+ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
+ engines: {node: '>=8'}
+
+ npm-run-path@5.3.0:
+ resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ nprogress@0.2.0:
+ resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==}
+
+ nth-check@2.1.1:
+ resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+
+ object-assign@4.1.1:
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
+ engines: {node: '>=0.10.0'}
+
+ object-hash@3.0.0:
+ resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
+ engines: {node: '>= 6'}
+
+ object-inspect@1.13.2:
+ resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==}
+ engines: {node: '>= 0.4'}
+
+ object-keys@1.1.1:
+ resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
+ engines: {node: '>= 0.4'}
+
+ object.assign@4.1.5:
+ resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
+ engines: {node: '>= 0.4'}
+
+ obuf@1.1.2:
+ resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
+
+ on-finished@2.4.1:
+ resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
+ engines: {node: '>= 0.8'}
+
+ on-headers@1.0.2:
+ resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==}
+ engines: {node: '>= 0.8'}
+
+ once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+
+ onetime@2.0.1:
+ resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==}
+ engines: {node: '>=4'}
+
+ onetime@5.1.2:
+ resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
+ engines: {node: '>=6'}
+
+ onetime@6.0.0:
+ resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
+ engines: {node: '>=12'}
+
+ open@10.1.0:
+ resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==}
+ engines: {node: '>=18'}
+
+ open@8.4.2:
+ resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
+ engines: {node: '>=12'}
+
+ opener@1.5.2:
+ resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==}
+ hasBin: true
+
+ optionator@0.9.4:
+ resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
+ engines: {node: '>= 0.8.0'}
+
+ ora@5.4.1:
+ resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
+ engines: {node: '>=10'}
+
+ p-finally@1.0.0:
+ resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
+ engines: {node: '>=4'}
+
+ p-limit@2.3.0:
+ resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
+ engines: {node: '>=6'}
+
+ p-limit@3.1.0:
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
+ engines: {node: '>=10'}
+
+ p-locate@4.1.0:
+ resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
+ engines: {node: '>=8'}
+
+ p-locate@5.0.0:
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
+ engines: {node: '>=10'}
+
+ p-retry@4.6.2:
+ resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==}
+ engines: {node: '>=8'}
+
+ p-try@2.2.0:
+ resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
+ engines: {node: '>=6'}
+
+ package-json-from-dist@1.0.1:
+ resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
+
+ param-case@3.0.4:
+ resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
+
+ parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+
+ parse-json@5.2.0:
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
+ engines: {node: '>=8'}
+
+ parse5-htmlparser2-tree-adapter@6.0.1:
+ resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==}
+
+ parse5@5.1.1:
+ resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==}
+
+ parse5@6.0.1:
+ resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==}
+
+ parseurl@1.3.3:
+ resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
+ engines: {node: '>= 0.8'}
+
+ pascal-case@3.1.2:
+ resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
+
+ path-exists@4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+
+ path-is-absolute@1.0.1:
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
+ engines: {node: '>=0.10.0'}
+
+ path-key@2.0.1:
+ resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==}
+ engines: {node: '>=4'}
+
+ path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+
+ path-key@4.0.0:
+ resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
+ engines: {node: '>=12'}
+
+ path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+
+ path-scurry@1.11.1:
+ resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
+ engines: {node: '>=16 || 14 >=14.18'}
+
+ path-to-regexp@0.1.10:
+ resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==}
+
+ path-type@4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+
+ path@0.12.7:
+ resolution: {integrity: sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==}
+
+ pathe@1.1.2:
+ resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
+
+ perfect-debounce@1.0.0:
+ resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
+
+ picocolors@0.2.1:
+ resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==}
+
+ picocolors@1.1.1:
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+
+ picomatch@2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+
+ pify@2.3.0:
+ resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
+ engines: {node: '>=0.10.0'}
+
+ pinia@2.2.4:
+ resolution: {integrity: sha512-K7ZhpMY9iJ9ShTC0cR2+PnxdQRuwVIsXDO/WIEV/RnMC/vmSoKDTKW/exNQYPI+4ij10UjXqdNiEHwn47McANQ==}
+ peerDependencies:
+ '@vue/composition-api': ^1.4.0
+ typescript: '>=4.4.4'
+ vue: ^2.6.14 || ^3.3.0
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
+ typescript:
+ optional: true
+
+ pirates@4.0.6:
+ resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
+ engines: {node: '>= 6'}
+
+ pkg-dir@4.2.0:
+ resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
+ engines: {node: '>=8'}
+
+ portfinder@1.0.32:
+ resolution: {integrity: sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==}
+ engines: {node: '>= 0.12.0'}
+
+ postcss-calc@8.2.4:
+ resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==}
+ peerDependencies:
+ postcss: ^8.2.2
+
+ postcss-colormin@5.3.1:
+ resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-convert-values@5.1.3:
+ resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-discard-comments@5.1.2:
+ resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-discard-duplicates@5.1.0:
+ resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-discard-empty@5.1.1:
+ resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-discard-overridden@5.1.0:
+ resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-import@15.1.0:
+ resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ postcss: ^8.0.0
+
+ postcss-js@4.0.1:
+ resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
+ engines: {node: ^12 || ^14 || >= 16}
+ peerDependencies:
+ postcss: ^8.4.21
+
+ postcss-load-config@4.0.2:
+ resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
+ engines: {node: '>= 14'}
+ peerDependencies:
+ postcss: '>=8.0.9'
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ ts-node:
+ optional: true
+
+ postcss-loader@6.2.1:
+ resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ postcss: ^7.0.0 || ^8.0.1
+ webpack: ^5.0.0
+
+ postcss-merge-longhand@5.1.7:
+ resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-merge-rules@5.1.4:
+ resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-minify-font-values@5.1.0:
+ resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-minify-gradients@5.1.1:
+ resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-minify-params@5.1.4:
+ resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-minify-selectors@5.2.1:
+ resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-modules-extract-imports@3.1.0:
+ resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ postcss-modules-local-by-default@4.0.5:
+ resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ postcss-modules-scope@3.2.0:
+ resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ postcss-modules-values@4.0.0:
+ resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ postcss-nested@6.2.0:
+ resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.2.14
+
+ postcss-normalize-charset@5.1.0:
+ resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-display-values@5.1.0:
+ resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-positions@5.1.1:
+ resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-repeat-style@5.1.1:
+ resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-string@5.1.0:
+ resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-timing-functions@5.1.0:
+ resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-unicode@5.1.1:
+ resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-url@5.1.0:
+ resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-whitespace@5.1.1:
+ resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-ordered-values@5.1.3:
+ resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-reduce-initial@5.1.2:
+ resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-reduce-transforms@5.1.0:
+ resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-selector-parser@6.1.2:
+ resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
+ engines: {node: '>=4'}
+
+ postcss-svgo@5.1.0:
+ resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-unique-selectors@5.1.1:
+ resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-value-parser@4.2.0:
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+
+ postcss@7.0.39:
+ resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==}
+ engines: {node: '>=6.0.0'}
+
+ postcss@8.4.47:
+ resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==}
+ engines: {node: ^10 || ^12 || >=14}
+
+ preact@10.24.3:
+ resolution: {integrity: sha512-Z2dPnBnMUfyQfSQ+GBdsGa16hz35YmLmtTLhM169uW944hYL6xzTYkJjC07j+Wosz733pMWx0fgON3JNw1jJQA==}
+
+ prelude-ls@1.2.1:
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
+ engines: {node: '>= 0.8.0'}
+
+ prettier@2.8.8:
+ resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+
+ pretty-error@4.0.0:
+ resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==}
+
+ prismjs@1.29.0:
+ resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
+ engines: {node: '>=6'}
+
+ process-nextick-args@2.0.1:
+ resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
+
+ process@0.11.10:
+ resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
+ engines: {node: '>= 0.6.0'}
+
+ progress-webpack-plugin@1.0.16:
+ resolution: {integrity: sha512-sdiHuuKOzELcBANHfrupYo+r99iPRyOnw15qX+rNlVUqXGfjXdH4IgxriKwG1kNJwVswKQHMdj1hYZMcb9jFaA==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ webpack: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0
+
+ proxy-addr@2.0.7:
+ resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
+ engines: {node: '>= 0.10'}
+
+ proxy-from-env@1.1.0:
+ resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
+
+ pseudomap@1.0.2:
+ resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==}
+
+ pump@3.0.2:
+ resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==}
+
+ punycode@2.3.1:
+ resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
+ engines: {node: '>=6'}
+
+ qs@6.13.0:
+ resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==}
+ engines: {node: '>=0.6'}
+
+ queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+
+ randombytes@2.1.0:
+ resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
+
+ range-parser@1.2.1:
+ resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
+ engines: {node: '>= 0.6'}
+
+ raw-body@2.5.2:
+ resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
+ engines: {node: '>= 0.8'}
+
+ read-cache@1.0.0:
+ resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
+
+ read-pkg-up@7.0.1:
+ resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
+ engines: {node: '>=8'}
+
+ read-pkg@5.2.0:
+ resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
+ engines: {node: '>=8'}
+
+ readable-stream@2.3.8:
+ resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
+
+ readable-stream@3.6.2:
+ resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
+ engines: {node: '>= 6'}
+
+ readdirp@3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+
+ readdirp@4.0.2:
+ resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==}
+ engines: {node: '>= 14.16.0'}
+
+ regenerate-unicode-properties@10.2.0:
+ resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==}
+ engines: {node: '>=4'}
+
+ regenerate@1.4.2:
+ resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
+
+ regenerator-runtime@0.14.1:
+ resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
+
+ regenerator-transform@0.15.2:
+ resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
+
+ regexpu-core@6.1.1:
+ resolution: {integrity: sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==}
+ engines: {node: '>=4'}
+
+ regjsgen@0.8.0:
+ resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==}
+
+ regjsparser@0.11.1:
+ resolution: {integrity: sha512-1DHODs4B8p/mQHU9kr+jv8+wIC9mtG4eBHxWxIq5mhjE3D5oORhCc6deRKzTjs9DcfRFmj9BHSDguZklqCGFWQ==}
+ hasBin: true
+
+ relateurl@0.2.7:
+ resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==}
+ engines: {node: '>= 0.10'}
+
+ renderkid@3.0.0:
+ resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==}
+
+ require-directory@2.1.1:
+ resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
+ engines: {node: '>=0.10.0'}
+
+ require-from-string@2.0.2:
+ resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
+ engines: {node: '>=0.10.0'}
+
+ requires-port@1.0.0:
+ resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
+
+ resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+
+ resolve@1.22.8:
+ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+ hasBin: true
+
+ restore-cursor@2.0.0:
+ resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==}
+ engines: {node: '>=4'}
+
+ restore-cursor@3.1.0:
+ resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
+ engines: {node: '>=8'}
+
+ retry@0.13.1:
+ resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==}
+ engines: {node: '>= 4'}
+
+ reusify@1.0.4:
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+
+ rfdc@1.4.1:
+ resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
+
+ rimraf@3.0.2:
+ resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+ deprecated: Rimraf versions prior to v4 are no longer supported
+ hasBin: true
+
+ rollup@4.24.0:
+ resolution: {integrity: sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
+
+ run-applescript@7.0.0:
+ resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==}
+ engines: {node: '>=18'}
+
+ run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+
+ safe-buffer@5.1.2:
+ resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
+
+ safe-buffer@5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+
+ safer-buffer@2.1.2:
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+
+ sass@1.80.3:
+ resolution: {integrity: sha512-ptDWyVmDMVielpz/oWy3YP3nfs7LpJTHIJZboMVs8GEC9eUmtZTZhMHlTW98wY4aEorDfjN38+Wr/XjskFWcfA==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+
+ schema-utils@2.7.1:
+ resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==}
+ engines: {node: '>= 8.9.0'}
+
+ schema-utils@3.3.0:
+ resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
+ engines: {node: '>= 10.13.0'}
+
+ schema-utils@4.2.0:
+ resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==}
+ engines: {node: '>= 12.13.0'}
+
+ screenfull@6.0.2:
+ resolution: {integrity: sha512-AQdy8s4WhNvUZ6P8F6PB21tSPIYKniic+Ogx0AacBMjKP1GUHN2E9URxQHtCusiwxudnCKkdy4GrHXPPJSkCCw==}
+ engines: {node: ^14.13.1 || >=16.0.0}
+
+ scroll-into-view-if-needed@2.2.31:
+ resolution: {integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==}
+
+ select-hose@2.0.0:
+ resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==}
+
+ selfsigned@2.4.1:
+ resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==}
+ engines: {node: '>=10'}
+
+ semver@5.7.2:
+ resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
+ hasBin: true
+
+ semver@6.3.1:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
+
+ semver@7.6.3:
+ resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ send@0.19.0:
+ resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==}
+ engines: {node: '>= 0.8.0'}
+
+ serialize-javascript@6.0.2:
+ resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
+
+ serve-index@1.9.1:
+ resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==}
+ engines: {node: '>= 0.8.0'}
+
+ serve-static@1.16.2:
+ resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==}
+ engines: {node: '>= 0.8.0'}
+
+ set-function-length@1.2.2:
+ resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
+ engines: {node: '>= 0.4'}
+
+ setprototypeof@1.1.0:
+ resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==}
+
+ setprototypeof@1.2.0:
+ resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
+
+ shallow-clone@3.0.1:
+ resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==}
+ engines: {node: '>=8'}
+
+ shebang-command@1.2.0:
+ resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
+ engines: {node: '>=0.10.0'}
+
+ shebang-command@2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+ engines: {node: '>=8'}
+
+ shebang-regex@1.0.0:
+ resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==}
+ engines: {node: '>=0.10.0'}
+
+ shebang-regex@3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+
+ shell-quote@1.8.1:
+ resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==}
+
+ side-channel@1.0.6:
+ resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
+ engines: {node: '>= 0.4'}
+
+ signal-exit@3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+
+ signal-exit@4.1.0:
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
+ engines: {node: '>=14'}
+
+ sirv@2.0.4:
+ resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
+ engines: {node: '>= 10'}
+
+ sirv@3.0.0:
+ resolution: {integrity: sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==}
+ engines: {node: '>=18'}
+
+ slash@3.0.0:
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
+ engines: {node: '>=8'}
+
+ slate-history@0.66.0:
+ resolution: {integrity: sha512-6MWpxGQZiMvSINlCbMW43E2YBSVMCMCIwQfBzGssjWw4kb0qfvj0pIdblWNRQZD0hR6WHP+dHHgGSeVdMWzfng==}
+ peerDependencies:
+ slate: '>=0.65.3'
+
+ slate@0.72.8:
+ resolution: {integrity: sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==}
+
+ snabbdom@3.6.2:
+ resolution: {integrity: sha512-ig5qOnCDbugFntKi6c7Xlib8bA6xiJVk8O+WdFrV3wxbMqeHO0hXFQC4nAhPVWfZfi8255lcZkNhtIBINCc4+Q==}
+ engines: {node: '>=12.17.0'}
+
+ sockjs@0.3.24:
+ resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==}
+
+ sortablejs@1.14.0:
+ resolution: {integrity: sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==}
+
+ sortablejs@1.15.3:
+ resolution: {integrity: sha512-zdK3/kwwAK1cJgy1rwl1YtNTbRmc8qW/+vgXf75A7NHag5of4pyI6uK86ktmQETyWRH7IGaE73uZOOBcGxgqZg==}
+
+ source-map-js@1.2.1:
+ resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
+ engines: {node: '>=0.10.0'}
+
+ source-map-support@0.5.21:
+ resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
+
+ source-map@0.6.1:
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
+ engines: {node: '>=0.10.0'}
+
+ spark-md5@3.0.2:
+ resolution: {integrity: sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw==}
+
+ spdx-correct@3.2.0:
+ resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
+
+ spdx-exceptions@2.5.0:
+ resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==}
+
+ spdx-expression-parse@3.0.1:
+ resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
+
+ spdx-license-ids@3.0.20:
+ resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==}
+
+ spdy-transport@3.0.0:
+ resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==}
+
+ spdy@4.0.2:
+ resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==}
+ engines: {node: '>=6.0.0'}
+
+ speakingurl@14.0.1:
+ resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==}
+ engines: {node: '>=0.10.0'}
+
+ ssr-window@3.0.0:
+ resolution: {integrity: sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==}
+
+ ssri@8.0.1:
+ resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==}
+ engines: {node: '>= 8'}
+
+ stable@0.1.8:
+ resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==}
+ deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility'
+
+ stackframe@1.3.4:
+ resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==}
+
+ statuses@1.5.0:
+ resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
+ engines: {node: '>= 0.6'}
+
+ statuses@2.0.1:
+ resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
+ engines: {node: '>= 0.8'}
+
+ string-width@2.1.1:
+ resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==}
+ engines: {node: '>=4'}
+
+ string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
+
+ string-width@5.1.2:
+ resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
+ engines: {node: '>=12'}
+
+ string_decoder@1.1.1:
+ resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
+
+ string_decoder@1.3.0:
+ resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+
+ strip-ansi@4.0.0:
+ resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==}
+ engines: {node: '>=4'}
+
+ strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+
+ strip-ansi@7.1.0:
+ resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
+ engines: {node: '>=12'}
+
+ strip-eof@1.0.0:
+ resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==}
+ engines: {node: '>=0.10.0'}
+
+ strip-final-newline@2.0.0:
+ resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
+ engines: {node: '>=6'}
+
+ strip-final-newline@3.0.0:
+ resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
+ engines: {node: '>=12'}
+
+ strip-indent@2.0.0:
+ resolution: {integrity: sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==}
+ engines: {node: '>=4'}
+
+ strip-json-comments@3.1.1:
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+ engines: {node: '>=8'}
+
+ stylehacks@5.1.1:
+ resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ sucrase@3.35.0:
+ resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ hasBin: true
+
+ superjson@2.2.1:
+ resolution: {integrity: sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==}
+ engines: {node: '>=16'}
+
+ supports-color@5.5.0:
+ resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
+ engines: {node: '>=4'}
+
+ supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+
+ supports-color@8.1.1:
+ resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
+ engines: {node: '>=10'}
+
+ supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+
+ svg-tags@1.0.0:
+ resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==}
+
+ svgo@2.8.0:
+ resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+
+ systemjs@6.15.1:
+ resolution: {integrity: sha512-Nk8c4lXvMB98MtbmjX7JwJRgJOL8fluecYCfCeYBznwmpOs8Bf15hLM6z4z71EDAhQVrQrI+wt1aLWSXZq+hXA==}
+
+ tailwindcss@3.4.14:
+ resolution: {integrity: sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+
+ tapable@2.2.1:
+ resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
+ engines: {node: '>=6'}
+
+ terser-webpack-plugin@5.3.10:
+ resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ '@swc/core': '*'
+ esbuild: '*'
+ uglify-js: '*'
+ webpack: ^5.1.0
+ peerDependenciesMeta:
+ '@swc/core':
+ optional: true
+ esbuild:
+ optional: true
+ uglify-js:
+ optional: true
+
+ terser@5.36.0:
+ resolution: {integrity: sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ text-table@0.2.0:
+ resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+
+ thenify-all@1.6.0:
+ resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
+ engines: {node: '>=0.8'}
+
+ thenify@3.3.1:
+ resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
+
+ thread-loader@3.0.4:
+ resolution: {integrity: sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ webpack: ^4.27.0 || ^5.0.0
+
+ thunky@1.1.0:
+ resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==}
+
+ tiny-warning@1.0.3:
+ resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==}
+
+ to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+
+ toidentifier@1.0.1:
+ resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
+ engines: {node: '>=0.6'}
+
+ totalist@3.0.1:
+ resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
+ engines: {node: '>=6'}
+
+ tr46@0.0.3:
+ resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
+
+ ts-interface-checker@0.1.13:
+ resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
+
+ tslib@2.3.0:
+ resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==}
+
+ tslib@2.8.0:
+ resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==}
+
+ type-check@0.4.0:
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
+ engines: {node: '>= 0.8.0'}
+
+ type-fest@0.20.2:
+ resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
+ engines: {node: '>=10'}
+
+ type-fest@0.6.0:
+ resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
+ engines: {node: '>=8'}
+
+ type-fest@0.8.1:
+ resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
+ engines: {node: '>=8'}
+
+ type-is@1.6.18:
+ resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
+ engines: {node: '>= 0.6'}
+
+ type@2.7.3:
+ resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==}
+
+ undici-types@6.19.8:
+ resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
+
+ unicode-canonical-property-names-ecmascript@2.0.1:
+ resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==}
+ engines: {node: '>=4'}
+
+ unicode-match-property-ecmascript@2.0.0:
+ resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
+ engines: {node: '>=4'}
+
+ unicode-match-property-value-ecmascript@2.2.0:
+ resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==}
+ engines: {node: '>=4'}
+
+ unicode-property-aliases-ecmascript@2.1.0:
+ resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
+ engines: {node: '>=4'}
+
+ universalify@2.0.1:
+ resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
+ engines: {node: '>= 10.0.0'}
+
+ unpipe@1.0.0:
+ resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
+ engines: {node: '>= 0.8'}
+
+ update-browserslist-db@1.1.1:
+ resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+
+ uri-js@4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+
+ util-deprecate@1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+
+ util@0.10.4:
+ resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==}
+
+ utila@0.4.0:
+ resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==}
+
+ utils-merge@1.0.1:
+ resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
+ engines: {node: '>= 0.4.0'}
+
+ uuid@8.3.2:
+ resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
+ hasBin: true
+
+ validate-npm-package-license@3.0.4:
+ resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
+
+ vary@1.1.2:
+ resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
+ engines: {node: '>= 0.8'}
+
+ vform3-builds@3.0.10:
+ resolution: {integrity: sha512-sULNk72Z6NG94X9MMgpBwinaIOYjtl7Bn5jZbV9iZaglSYr2SHm/wpXPAjl8F8OW6SzOOJgIpRek+NvOvN7wsg==}
+
+ vite-auto-import-svg@1.1.0:
+ resolution: {integrity: sha512-3Y4zXWLVGHWPNsZOMoq70GE00R4qVK27Kol7SuLpuIGU5OlDCcLVA/oQo0o/vDmIPVM+PcI9SGtZP8grO2rL0w==}
+
+ vite-hot-client@0.2.3:
+ resolution: {integrity: sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==}
+ peerDependencies:
+ vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0
+
+ vite-plugin-banner@0.8.0:
+ resolution: {integrity: sha512-JpDWDYxtrsytuvUOJCgJcTkBb6XM8yPOidjRtB6F5SW1JSzDd/Y+PD/44wR6ovWKXhSUiyDRqPvx7mMf8+8ELg==}
+
+ vite-plugin-importer@0.2.5:
+ resolution: {integrity: sha512-6OtqJmVwnfw8+B4OIh7pIdXs+jLkN7g5PIqmZdpgrMYjIFMiZrcMB1zlyUQSTokKGC90KwXviO/lq1hcUBUG3Q==}
+
+ vite-plugin-inspect@0.8.7:
+ resolution: {integrity: sha512-/XXou3MVc13A5O9/2Nd6xczjrUwt7ZyI9h8pTnUMkr5SshLcb0PJUOVq2V+XVkdeU4njsqAtmK87THZuO2coGA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@nuxt/kit': '*'
+ vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0
+ peerDependenciesMeta:
+ '@nuxt/kit':
+ optional: true
+
+ vite-plugin-vue-devtools@7.5.3:
+ resolution: {integrity: sha512-gpR4S1anwc3rEapcealw0EATfQHO7jLCPqqT2qZAYLyVXsRi+Ysk7Z+kr/iq0sROfcVfSNAqAMB7foZobj2m5Q==}
+ engines: {node: '>=v14.21.3'}
+ peerDependencies:
+ vite: ^3.1.0 || ^4.0.0-0 || ^5.0.0-0
+
+ vite-plugin-vue-inspector@5.2.0:
+ resolution: {integrity: sha512-wWxyb9XAtaIvV/Lr7cqB1HIzmHZFVUJsTNm3yAxkS87dgh/Ky4qr2wDEWNxF23fdhVa3jQ8MZREpr4XyiuaRqA==}
+ peerDependencies:
+ vite: ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0
+
+ vite@5.4.9:
+ resolution: {integrity: sha512-20OVpJHh0PAM0oSOELa5GaZNWeDjcAvQjGXy2Uyr+Tp+/D2/Hdz6NLgpJLsarPTA2QJ6v8mX2P1ZfbsSKvdMkg==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+ 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
+
+ vue-demi@0.13.11:
+ resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==}
+ engines: {node: '>=12'}
+ hasBin: true
+ peerDependencies:
+ '@vue/composition-api': ^1.0.0-rc.1
+ vue: ^3.0.0-0 || ^2.6.0
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
+
+ vue-demi@0.14.10:
+ resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==}
+ engines: {node: '>=12'}
+ hasBin: true
+ peerDependencies:
+ '@vue/composition-api': ^1.0.0-rc.1
+ vue: ^3.0.0-0 || ^2.6.0
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
+
+ vue-echarts@7.0.3:
+ resolution: {integrity: sha512-/jSxNwOsw5+dYAUcwSfkLwKPuzTQ0Cepz1LxCOpj2QcHrrmUa/Ql0eQqMmc1rTPQVrh2JQ29n2dhq75ZcHvRDw==}
+ peerDependencies:
+ '@vue/runtime-core': ^3.0.0
+ echarts: ^5.5.1
+ vue: ^2.7.0 || ^3.1.1
+ peerDependenciesMeta:
+ '@vue/runtime-core':
+ optional: true
+
+ vue-eslint-parser@9.4.3:
+ resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==}
+ engines: {node: ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '>=6.0.0'
+
+ vue-hot-reload-api@2.3.4:
+ resolution: {integrity: sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==}
+
+ vue-loader@15.11.1:
+ resolution: {integrity: sha512-0iw4VchYLePqJfJu9s62ACWUXeSqM30SQqlIftbYWM3C+jpPcEHKSPUZBLjSF9au4HTHQ/naF6OGnO3Q/qGR3Q==}
+ peerDependencies:
+ '@vue/compiler-sfc': ^3.0.8
+ cache-loader: '*'
+ css-loader: '*'
+ prettier: '*'
+ vue-template-compiler: '*'
+ webpack: ^3.0.0 || ^4.1.0 || ^5.0.0-0
+ peerDependenciesMeta:
+ '@vue/compiler-sfc':
+ optional: true
+ cache-loader:
+ optional: true
+ prettier:
+ optional: true
+ vue-template-compiler:
+ optional: true
+
+ vue-loader@17.4.2:
+ resolution: {integrity: sha512-yTKOA4R/VN4jqjw4y5HrynFL8AK0Z3/Jt7eOJXEitsm0GMRHDBjCfCiuTiLP7OESvsZYo2pATCWhDqxC5ZrM6w==}
+ peerDependencies:
+ '@vue/compiler-sfc': '*'
+ vue: '*'
+ webpack: ^4.1.0 || ^5.0.0-0
+ peerDependenciesMeta:
+ '@vue/compiler-sfc':
+ optional: true
+ vue:
+ optional: true
+
+ vue-router@4.4.5:
+ resolution: {integrity: sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q==}
+ peerDependencies:
+ vue: ^3.2.0
+
+ vue-style-loader@4.1.3:
+ resolution: {integrity: sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==}
+
+ vue-template-es2015-compiler@1.9.1:
+ resolution: {integrity: sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==}
+
+ vue@3.5.12:
+ resolution: {integrity: sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ vuedraggable@4.1.0:
+ resolution: {integrity: sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==}
+ peerDependencies:
+ vue: ^3.0.1
+
+ wangeditor@4.7.15:
+ resolution: {integrity: sha512-aPTdREd8BxXVyJ5MI+LU83FQ7u1EPd341iXIorRNYSOvoimNoZ4nPg+yn3FGbB93/owEa6buLw8wdhYnMCJQLg==}
+
+ watchpack@2.4.2:
+ resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==}
+ engines: {node: '>=10.13.0'}
+
+ wbuf@1.7.3:
+ resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==}
+
+ wcwidth@1.0.1:
+ resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
+
+ webidl-conversions@3.0.1:
+ resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
+
+ webpack-bundle-analyzer@4.10.2:
+ resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==}
+ engines: {node: '>= 10.13.0'}
+ hasBin: true
+
+ webpack-chain@6.5.1:
+ resolution: {integrity: sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==}
+ engines: {node: '>=8'}
+ deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
+
+ webpack-dev-middleware@5.3.4:
+ resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ webpack: ^4.0.0 || ^5.0.0
+
+ webpack-dev-server@4.15.2:
+ resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==}
+ engines: {node: '>= 12.13.0'}
+ hasBin: true
+ peerDependencies:
+ webpack: ^4.37.0 || ^5.0.0
+ webpack-cli: '*'
+ peerDependenciesMeta:
+ webpack:
+ optional: true
+ webpack-cli:
+ optional: true
+
+ webpack-merge@5.10.0:
+ resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==}
+ engines: {node: '>=10.0.0'}
+
+ webpack-sources@3.2.3:
+ resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
+ engines: {node: '>=10.13.0'}
+
+ webpack-virtual-modules@0.4.6:
+ resolution: {integrity: sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==}
+
+ webpack@5.95.0:
+ resolution: {integrity: sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ peerDependencies:
+ webpack-cli: '*'
+ peerDependenciesMeta:
+ webpack-cli:
+ optional: true
+
+ websocket-driver@0.7.4:
+ resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==}
+ engines: {node: '>=0.8.0'}
+
+ websocket-extensions@0.1.4:
+ resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==}
+ engines: {node: '>=0.8.0'}
+
+ whatwg-fetch@3.6.20:
+ resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==}
+
+ whatwg-url@5.0.0:
+ resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
+
+ which@1.3.1:
+ resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
+ hasBin: true
+
+ which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+
+ wildcard@1.1.2:
+ resolution: {integrity: sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==}
+
+ wildcard@2.0.1:
+ resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==}
+
+ word-wrap@1.2.5:
+ resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
+ engines: {node: '>=0.10.0'}
+
+ wrap-ansi@3.0.1:
+ resolution: {integrity: sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==}
+ engines: {node: '>=4'}
+
+ wrap-ansi@7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+ engines: {node: '>=10'}
+
+ wrap-ansi@8.1.0:
+ resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
+ engines: {node: '>=12'}
+
+ wrappy@1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+
+ ws@7.5.10:
+ resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==}
+ engines: {node: '>=8.3.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: ^5.0.2
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+
+ ws@8.18.0:
+ resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+
+ xml-name-validator@4.0.0:
+ resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
+ engines: {node: '>=12'}
+
+ y18n@5.0.8:
+ resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
+ engines: {node: '>=10'}
+
+ yallist@2.1.2:
+ resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==}
+
+ yallist@3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+
+ yallist@4.0.0:
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+
+ yaml@1.10.2:
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
+ engines: {node: '>= 6'}
+
+ yaml@2.6.0:
+ resolution: {integrity: sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==}
+ engines: {node: '>= 14'}
+ hasBin: true
+
+ yargs-parser@20.2.9:
+ resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
+ engines: {node: '>=10'}
+
+ yargs@16.2.0:
+ resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
+ engines: {node: '>=10'}
+
+ yocto-queue@0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
+ engines: {node: '>=10'}
+
+ yorkie@2.0.0:
+ resolution: {integrity: sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==}
+ engines: {node: '>=4'}
+
+ zrender@5.6.0:
+ resolution: {integrity: sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==}
+
+snapshots:
+
+ '@achrinza/node-ipc@9.2.9':
+ dependencies:
+ '@node-ipc/js-queue': 2.0.3
+ event-pubsub: 4.3.0
+ js-message: 1.0.7
+
+ '@alloc/quick-lru@5.2.0': {}
+
+ '@ampproject/remapping@2.3.0':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+
+ '@antfu/utils@0.7.10': {}
+
+ '@babel/code-frame@7.25.9':
+ dependencies:
+ '@babel/highlight': 7.25.9
+ picocolors: 1.1.1
+
+ '@babel/compat-data@7.25.9': {}
+
+ '@babel/core@7.25.9':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@babel/code-frame': 7.25.9
+ '@babel/generator': 7.25.9
+ '@babel/helper-compilation-targets': 7.25.9
+ '@babel/helper-module-transforms': 7.25.9(@babel/core@7.25.9)
+ '@babel/helpers': 7.25.9
+ '@babel/parser': 7.25.9
+ '@babel/template': 7.25.9
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.25.9
+ convert-source-map: 2.0.0
+ debug: 4.3.7
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/eslint-parser@7.25.9(@babel/core@7.25.9)(eslint@9.13.0(jiti@1.21.6))':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1
+ eslint: 9.13.0(jiti@1.21.6)
+ eslint-visitor-keys: 2.1.0
+ semver: 6.3.1
+
+ '@babel/generator@7.25.9':
+ dependencies:
+ '@babel/types': 7.25.9
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+ jsesc: 3.0.2
+
+ '@babel/helper-annotate-as-pure@7.25.9':
+ dependencies:
+ '@babel/types': 7.25.9
+
+ '@babel/helper-builder-binary-assignment-operator-visitor@7.25.9':
+ dependencies:
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-compilation-targets@7.25.9':
+ dependencies:
+ '@babel/compat-data': 7.25.9
+ '@babel/helper-validator-option': 7.25.9
+ browserslist: 4.24.2
+ lru-cache: 5.1.1
+ semver: 6.3.1
+
+ '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-annotate-as-pure': 7.25.9
+ '@babel/helper-member-expression-to-functions': 7.25.9
+ '@babel/helper-optimise-call-expression': 7.25.9
+ '@babel/helper-replace-supers': 7.25.9(@babel/core@7.25.9)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
+ '@babel/traverse': 7.25.9
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-create-regexp-features-plugin@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-annotate-as-pure': 7.25.9
+ regexpu-core: 6.1.1
+ semver: 6.3.1
+
+ '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-compilation-targets': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ debug: 4.3.7
+ lodash.debounce: 4.0.8
+ resolve: 1.22.8
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-member-expression-to-functions@7.25.9':
+ dependencies:
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-module-imports@7.25.9':
+ dependencies:
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-module-transforms@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-module-imports': 7.25.9
+ '@babel/helper-simple-access': 7.25.9
+ '@babel/helper-validator-identifier': 7.25.9
+ '@babel/traverse': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-optimise-call-expression@7.25.9':
+ dependencies:
+ '@babel/types': 7.25.9
+
+ '@babel/helper-plugin-utils@7.25.9': {}
+
+ '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-annotate-as-pure': 7.25.9
+ '@babel/helper-wrap-function': 7.25.9
+ '@babel/traverse': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-replace-supers@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-member-expression-to-functions': 7.25.9
+ '@babel/helper-optimise-call-expression': 7.25.9
+ '@babel/traverse': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-simple-access@7.25.9':
+ dependencies:
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-skip-transparent-expression-wrappers@7.25.9':
+ dependencies:
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-string-parser@7.25.9': {}
+
+ '@babel/helper-validator-identifier@7.25.9': {}
+
+ '@babel/helper-validator-option@7.25.9': {}
+
+ '@babel/helper-wrap-function@7.25.9':
+ dependencies:
+ '@babel/template': 7.25.9
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helpers@7.25.9':
+ dependencies:
+ '@babel/template': 7.25.9
+ '@babel/types': 7.25.9
+
+ '@babel/highlight@7.25.9':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.25.9
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ picocolors: 1.1.1
+
+ '@babel/parser@7.25.9':
+ dependencies:
+ '@babel/types': 7.25.9
+
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/traverse': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
+ '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.25.9)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/traverse': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.25.9)
+ '@babel/helper-plugin-utils': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-proposal-decorators@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.25.9)
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/plugin-syntax-decorators': 7.25.9(@babel/core@7.25.9)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+
+ '@babel/plugin-syntax-decorators@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-syntax-import-assertions@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-syntax-import-attributes@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.25.9)
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-async-generator-functions@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.25.9)
+ '@babel/traverse': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-module-imports': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.25.9)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-block-scoped-functions@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.25.9)
+ '@babel/helper-plugin-utils': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-class-static-block@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.25.9)
+ '@babel/helper-plugin-utils': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-classes@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-annotate-as-pure': 7.25.9
+ '@babel/helper-compilation-targets': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-replace-supers': 7.25.9(@babel/core@7.25.9)
+ '@babel/traverse': 7.25.9
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/template': 7.25.9
+
+ '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.25.9)
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.25.9)
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-exponentiation-operator@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-builder-binary-assignment-operator-visitor': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-for-of@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-compilation-targets': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/traverse': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-literals@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-module-transforms': 7.25.9(@babel/core@7.25.9)
+ '@babel/helper-plugin-utils': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-modules-commonjs@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-module-transforms': 7.25.9(@babel/core@7.25.9)
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-simple-access': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-module-transforms': 7.25.9(@babel/core@7.25.9)
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-validator-identifier': 7.25.9
+ '@babel/traverse': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-module-transforms': 7.25.9(@babel/core@7.25.9)
+ '@babel/helper-plugin-utils': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.25.9)
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-nullish-coalescing-operator@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-compilation-targets': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.25.9)
+
+ '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-replace-supers': 7.25.9(@babel/core@7.25.9)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.25.9)
+ '@babel/helper-plugin-utils': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-annotate-as-pure': 7.25.9
+ '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.25.9)
+ '@babel/helper-plugin-utils': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ regenerator-transform: 0.15.2
+
+ '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-runtime@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-module-imports': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.9)
+ babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.9)
+ babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.9)
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-spread@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-template-literals@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-typeof-symbol@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-typescript@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-annotate-as-pure': 7.25.9
+ '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.25.9)
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
+ '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.25.9)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.25.9)
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.25.9)
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.25.9)
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/preset-env@7.25.9(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/compat-data': 7.25.9
+ '@babel/core': 7.25.9
+ '@babel/helper-compilation-targets': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-validator-option': 7.25.9
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.9)
+ '@babel/plugin-syntax-import-assertions': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-syntax-import-attributes': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.25.9)
+ '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-block-scoped-functions': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-class-static-block': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-exponentiation-operator': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-modules-commonjs': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-nullish-coalescing-operator': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-template-literals': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-typeof-symbol': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.25.9)
+ '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.9)
+ babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.9)
+ babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.9)
+ babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.9)
+ core-js-compat: 3.38.1
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/types': 7.25.9
+ esutils: 2.0.3
+
+ '@babel/runtime-corejs3@7.25.9':
+ dependencies:
+ core-js-pure: 3.38.1
+ regenerator-runtime: 0.14.1
+
+ '@babel/runtime@7.25.9':
+ dependencies:
+ regenerator-runtime: 0.14.1
+
+ '@babel/template@7.25.9':
+ dependencies:
+ '@babel/code-frame': 7.25.9
+ '@babel/parser': 7.25.9
+ '@babel/types': 7.25.9
+
+ '@babel/traverse@7.25.9':
+ dependencies:
+ '@babel/code-frame': 7.25.9
+ '@babel/generator': 7.25.9
+ '@babel/parser': 7.25.9
+ '@babel/template': 7.25.9
+ '@babel/types': 7.25.9
+ debug: 4.3.7
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/types@7.25.9':
+ dependencies:
+ '@babel/helper-string-parser': 7.25.9
+ '@babel/helper-validator-identifier': 7.25.9
+
+ '@ctrl/tinycolor@3.6.1': {}
+
+ '@discoveryjs/json-ext@0.5.7': {}
+
+ '@element-plus/icons-vue@2.3.1(vue@3.5.12)':
+ dependencies:
+ vue: 3.5.12
+
+ '@esbuild/aix-ppc64@0.21.5':
+ optional: true
+
+ '@esbuild/android-arm64@0.21.5':
+ optional: true
+
+ '@esbuild/android-arm@0.21.5':
+ optional: true
+
+ '@esbuild/android-x64@0.21.5':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.21.5':
+ optional: true
+
+ '@esbuild/darwin-x64@0.21.5':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.21.5':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.21.5':
+ optional: true
+
+ '@esbuild/linux-arm64@0.21.5':
+ optional: true
+
+ '@esbuild/linux-arm@0.21.5':
+ optional: true
+
+ '@esbuild/linux-ia32@0.21.5':
+ optional: true
+
+ '@esbuild/linux-loong64@0.21.5':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.21.5':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.21.5':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.21.5':
+ optional: true
+
+ '@esbuild/linux-s390x@0.21.5':
+ optional: true
+
+ '@esbuild/linux-x64@0.21.5':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.21.5':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.21.5':
+ optional: true
+
+ '@esbuild/sunos-x64@0.21.5':
+ optional: true
+
+ '@esbuild/win32-arm64@0.21.5':
+ optional: true
+
+ '@esbuild/win32-ia32@0.21.5':
+ optional: true
+
+ '@esbuild/win32-x64@0.21.5':
+ optional: true
+
+ '@eslint-community/eslint-utils@4.4.0(eslint@9.13.0(jiti@1.21.6))':
+ dependencies:
+ eslint: 9.13.0(jiti@1.21.6)
+ eslint-visitor-keys: 3.4.3
+
+ '@eslint-community/regexpp@4.11.1': {}
+
+ '@eslint/config-array@0.18.0':
+ dependencies:
+ '@eslint/object-schema': 2.1.4
+ debug: 4.3.7
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@eslint/core@0.7.0': {}
+
+ '@eslint/eslintrc@3.1.0':
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.3.7
+ espree: 10.2.0
+ globals: 14.0.0
+ ignore: 5.3.2
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@eslint/js@9.13.0': {}
+
+ '@eslint/object-schema@2.1.4': {}
+
+ '@eslint/plugin-kit@0.2.1':
+ dependencies:
+ levn: 0.4.1
+
+ '@floating-ui/core@1.6.8':
+ dependencies:
+ '@floating-ui/utils': 0.2.8
+
+ '@floating-ui/dom@1.6.11':
+ dependencies:
+ '@floating-ui/core': 1.6.8
+ '@floating-ui/utils': 0.2.8
+
+ '@floating-ui/utils@0.2.8': {}
+
+ '@form-create/component-elm-checkbox@3.2.8':
+ dependencies:
+ '@form-create/utils': 3.2.0
+
+ '@form-create/component-elm-frame@3.2.0':
+ dependencies:
+ '@form-create/utils': 3.2.0
+
+ '@form-create/component-elm-group@3.2.8':
+ dependencies:
+ '@form-create/utils': 3.2.0
+
+ '@form-create/component-elm-radio@3.2.8':
+ dependencies:
+ '@form-create/utils': 3.2.0
+
+ '@form-create/component-elm-select@3.2.0':
+ dependencies:
+ '@form-create/utils': 3.2.0
+
+ '@form-create/component-elm-tree@3.2.9':
+ dependencies:
+ '@form-create/utils': 3.2.0
+
+ '@form-create/component-elm-upload@3.2.9':
+ dependencies:
+ '@form-create/utils': 3.2.0
+
+ '@form-create/component-subform@3.1.34': {}
+
+ '@form-create/component-wangeditor@3.2.4':
+ dependencies:
+ wangeditor: 4.7.15
+
+ '@form-create/core@3.2.12(vue@3.5.12)':
+ dependencies:
+ '@form-create/utils': 3.2.0
+ vue: 3.5.12
+
+ '@form-create/designer@3.2.8(vue@3.5.12)':
+ dependencies:
+ '@form-create/component-wangeditor': 3.2.4
+ '@form-create/element-ui': 3.2.12(vue@3.5.12)
+ '@form-create/utils': 3.2.0
+ codemirror: 6.65.7
+ element-plus: 2.8.6(vue@3.5.12)
+ vue: 3.5.12
+ vuedraggable: 4.1.0(vue@3.5.12)
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+
+ '@form-create/element-ui@3.2.12(vue@3.5.12)':
+ dependencies:
+ '@form-create/component-elm-checkbox': 3.2.8
+ '@form-create/component-elm-frame': 3.2.0
+ '@form-create/component-elm-group': 3.2.8
+ '@form-create/component-elm-radio': 3.2.8
+ '@form-create/component-elm-select': 3.2.0
+ '@form-create/component-elm-tree': 3.2.9
+ '@form-create/component-elm-upload': 3.2.9
+ '@form-create/component-subform': 3.1.34
+ '@form-create/core': 3.2.12(vue@3.5.12)
+ '@form-create/utils': 3.2.0
+ vue: 3.5.12
+
+ '@form-create/utils@3.2.0': {}
+
+ '@hapi/hoek@9.3.0': {}
+
+ '@hapi/topo@5.1.0':
+ dependencies:
+ '@hapi/hoek': 9.3.0
+
+ '@humanfs/core@0.19.0': {}
+
+ '@humanfs/node@0.16.5':
+ dependencies:
+ '@humanfs/core': 0.19.0
+ '@humanwhocodes/retry': 0.3.1
+
+ '@humanwhocodes/module-importer@1.0.1': {}
+
+ '@humanwhocodes/retry@0.3.1': {}
+
+ '@isaacs/cliui@8.0.2':
+ dependencies:
+ string-width: 5.1.2
+ string-width-cjs: string-width@4.2.3
+ strip-ansi: 7.1.0
+ strip-ansi-cjs: strip-ansi@6.0.1
+ wrap-ansi: 8.1.0
+ wrap-ansi-cjs: wrap-ansi@7.0.0
+
+ '@jridgewell/gen-mapping@0.3.5':
+ dependencies:
+ '@jridgewell/set-array': 1.2.1
+ '@jridgewell/sourcemap-codec': 1.5.0
+ '@jridgewell/trace-mapping': 0.3.25
+
+ '@jridgewell/resolve-uri@3.1.2': {}
+
+ '@jridgewell/set-array@1.2.1': {}
+
+ '@jridgewell/source-map@0.3.6':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+
+ '@jridgewell/sourcemap-codec@1.5.0': {}
+
+ '@jridgewell/trace-mapping@0.3.25':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.0
+
+ '@leichtgewicht/ip-codec@2.0.5': {}
+
+ '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1':
+ dependencies:
+ eslint-scope: 5.1.1
+
+ '@node-ipc/js-queue@2.0.3':
+ dependencies:
+ easy-stack: 1.0.1
+
+ '@nodelib/fs.scandir@2.1.5':
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+
+ '@nodelib/fs.stat@2.0.5': {}
+
+ '@nodelib/fs.walk@1.2.8':
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.17.1
+
+ '@parcel/watcher-android-arm64@2.4.1':
+ optional: true
+
+ '@parcel/watcher-darwin-arm64@2.4.1':
+ optional: true
+
+ '@parcel/watcher-darwin-x64@2.4.1':
+ optional: true
+
+ '@parcel/watcher-freebsd-x64@2.4.1':
+ optional: true
+
+ '@parcel/watcher-linux-arm-glibc@2.4.1':
+ optional: true
+
+ '@parcel/watcher-linux-arm64-glibc@2.4.1':
+ optional: true
+
+ '@parcel/watcher-linux-arm64-musl@2.4.1':
+ optional: true
+
+ '@parcel/watcher-linux-x64-glibc@2.4.1':
+ optional: true
+
+ '@parcel/watcher-linux-x64-musl@2.4.1':
+ optional: true
+
+ '@parcel/watcher-win32-arm64@2.4.1':
+ optional: true
+
+ '@parcel/watcher-win32-ia32@2.4.1':
+ optional: true
+
+ '@parcel/watcher-win32-x64@2.4.1':
+ optional: true
+
+ '@parcel/watcher@2.4.1':
+ dependencies:
+ detect-libc: 1.0.3
+ is-glob: 4.0.3
+ micromatch: 4.0.8
+ node-addon-api: 7.1.1
+ optionalDependencies:
+ '@parcel/watcher-android-arm64': 2.4.1
+ '@parcel/watcher-darwin-arm64': 2.4.1
+ '@parcel/watcher-darwin-x64': 2.4.1
+ '@parcel/watcher-freebsd-x64': 2.4.1
+ '@parcel/watcher-linux-arm-glibc': 2.4.1
+ '@parcel/watcher-linux-arm64-glibc': 2.4.1
+ '@parcel/watcher-linux-arm64-musl': 2.4.1
+ '@parcel/watcher-linux-x64-glibc': 2.4.1
+ '@parcel/watcher-linux-x64-musl': 2.4.1
+ '@parcel/watcher-win32-arm64': 2.4.1
+ '@parcel/watcher-win32-ia32': 2.4.1
+ '@parcel/watcher-win32-x64': 2.4.1
+
+ '@pkgjs/parseargs@0.11.0':
+ optional: true
+
+ '@polka/url@1.0.0-next.28': {}
+
+ '@rollup/pluginutils@5.1.2(rollup@4.24.0)':
+ dependencies:
+ '@types/estree': 1.0.6
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ optionalDependencies:
+ rollup: 4.24.0
+
+ '@rollup/rollup-android-arm-eabi@4.24.0':
+ optional: true
+
+ '@rollup/rollup-android-arm64@4.24.0':
+ optional: true
+
+ '@rollup/rollup-darwin-arm64@4.24.0':
+ optional: true
+
+ '@rollup/rollup-darwin-x64@4.24.0':
+ optional: true
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.24.0':
+ optional: true
+
+ '@rollup/rollup-linux-arm-musleabihf@4.24.0':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-gnu@4.24.0':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-musl@4.24.0':
+ optional: true
+
+ '@rollup/rollup-linux-powerpc64le-gnu@4.24.0':
+ optional: true
+
+ '@rollup/rollup-linux-riscv64-gnu@4.24.0':
+ optional: true
+
+ '@rollup/rollup-linux-s390x-gnu@4.24.0':
+ optional: true
+
+ '@rollup/rollup-linux-x64-gnu@4.24.0':
+ optional: true
+
+ '@rollup/rollup-linux-x64-musl@4.24.0':
+ optional: true
+
+ '@rollup/rollup-win32-arm64-msvc@4.24.0':
+ optional: true
+
+ '@rollup/rollup-win32-ia32-msvc@4.24.0':
+ optional: true
+
+ '@rollup/rollup-win32-x64-msvc@4.24.0':
+ optional: true
+
+ '@sideway/address@4.1.5':
+ dependencies:
+ '@hapi/hoek': 9.3.0
+
+ '@sideway/formula@3.0.1': {}
+
+ '@sideway/pinpoint@2.0.0': {}
+
+ '@soda/friendly-errors-webpack-plugin@1.8.1(webpack@5.95.0)':
+ dependencies:
+ chalk: 3.0.0
+ error-stack-parser: 2.1.4
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ webpack: 5.95.0
+
+ '@soda/get-current-script@1.0.2': {}
+
+ '@sxzz/popperjs-es@2.11.7': {}
+
+ '@transloadit/prettier-bytes@0.0.7': {}
+
+ '@trysound/sax@0.2.0': {}
+
+ '@types/body-parser@1.19.5':
+ dependencies:
+ '@types/connect': 3.4.38
+ '@types/node': 22.7.8
+
+ '@types/bonjour@3.5.13':
+ dependencies:
+ '@types/node': 22.7.8
+
+ '@types/connect-history-api-fallback@1.5.4':
+ dependencies:
+ '@types/express-serve-static-core': 5.0.0
+ '@types/node': 22.7.8
+
+ '@types/connect@3.4.38':
+ dependencies:
+ '@types/node': 22.7.8
+
+ '@types/eslint@8.56.12':
+ dependencies:
+ '@types/estree': 1.0.6
+ '@types/json-schema': 7.0.15
+
+ '@types/estree@1.0.6': {}
+
+ '@types/event-emitter@0.3.5': {}
+
+ '@types/express-serve-static-core@4.19.6':
+ dependencies:
+ '@types/node': 22.7.8
+ '@types/qs': 6.9.16
+ '@types/range-parser': 1.2.7
+ '@types/send': 0.17.4
+
+ '@types/express-serve-static-core@5.0.0':
+ dependencies:
+ '@types/node': 22.7.8
+ '@types/qs': 6.9.16
+ '@types/range-parser': 1.2.7
+ '@types/send': 0.17.4
+
+ '@types/express@4.17.21':
+ dependencies:
+ '@types/body-parser': 1.19.5
+ '@types/express-serve-static-core': 4.19.6
+ '@types/qs': 6.9.16
+ '@types/serve-static': 1.15.7
+
+ '@types/html-minifier-terser@6.1.0': {}
+
+ '@types/http-errors@2.0.4': {}
+
+ '@types/http-proxy@1.17.15':
+ dependencies:
+ '@types/node': 22.7.8
+
+ '@types/json-schema@7.0.15': {}
+
+ '@types/lodash-es@4.17.12':
+ dependencies:
+ '@types/lodash': 4.17.12
+
+ '@types/lodash@4.17.12': {}
+
+ '@types/mime@1.3.5': {}
+
+ '@types/minimist@1.2.5': {}
+
+ '@types/node-forge@1.3.11':
+ dependencies:
+ '@types/node': 22.7.8
+
+ '@types/node@22.7.8':
+ dependencies:
+ undici-types: 6.19.8
+
+ '@types/normalize-package-data@2.4.4': {}
+
+ '@types/parse-json@4.0.2': {}
+
+ '@types/qs@6.9.16': {}
+
+ '@types/range-parser@1.2.7': {}
+
+ '@types/retry@0.12.0': {}
+
+ '@types/send@0.17.4':
+ dependencies:
+ '@types/mime': 1.3.5
+ '@types/node': 22.7.8
+
+ '@types/serve-index@1.9.4':
+ dependencies:
+ '@types/express': 4.17.21
+
+ '@types/serve-static@1.15.7':
+ dependencies:
+ '@types/http-errors': 2.0.4
+ '@types/node': 22.7.8
+ '@types/send': 0.17.4
+
+ '@types/sockjs@0.3.36':
+ dependencies:
+ '@types/node': 22.7.8
+
+ '@types/web-bluetooth@0.0.16': {}
+
+ '@types/web-bluetooth@0.0.20': {}
+
+ '@types/ws@8.5.12':
+ dependencies:
+ '@types/node': 22.7.8
+
+ '@uppy/companion-client@2.2.2':
+ dependencies:
+ '@uppy/utils': 4.1.3
+ namespace-emitter: 2.0.1
+
+ '@uppy/core@2.3.4':
+ dependencies:
+ '@transloadit/prettier-bytes': 0.0.7
+ '@uppy/store-default': 2.1.1
+ '@uppy/utils': 4.1.3
+ lodash.throttle: 4.1.1
+ mime-match: 1.0.2
+ namespace-emitter: 2.0.1
+ nanoid: 3.3.7
+ preact: 10.24.3
+
+ '@uppy/store-default@2.1.1': {}
+
+ '@uppy/utils@4.1.3':
+ dependencies:
+ lodash.throttle: 4.1.1
+
+ '@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4)':
+ dependencies:
+ '@uppy/companion-client': 2.2.2
+ '@uppy/core': 2.3.4
+ '@uppy/utils': 4.1.3
+ nanoid: 3.3.7
+
+ '@vitejs/plugin-legacy@5.4.2(terser@5.36.0)(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0))':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/preset-env': 7.25.9(@babel/core@7.25.9)
+ browserslist: 4.24.2
+ browserslist-to-esbuild: 2.1.1(browserslist@4.24.2)
+ core-js: 3.38.1
+ magic-string: 0.30.12
+ regenerator-runtime: 0.14.1
+ systemjs: 6.15.1
+ terser: 5.36.0
+ vite: 5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@vitejs/plugin-vue@5.1.4(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12)':
+ dependencies:
+ vite: 5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0)
+ vue: 3.5.12
+
+ '@vue-office/docx@1.6.2(vue-demi@0.14.10(vue@3.5.12))(vue@3.5.12)':
+ dependencies:
+ vue: 3.5.12
+ vue-demi: 0.14.10(vue@3.5.12)
+
+ '@vue-office/excel@1.7.11(vue-demi@0.14.10(vue@3.5.12))(vue@3.5.12)':
+ dependencies:
+ vue: 3.5.12
+ vue-demi: 0.14.10(vue@3.5.12)
+
+ '@vue-office/pdf@2.0.7(vue-demi@0.14.10(vue@3.5.12))(vue@3.5.12)':
+ dependencies:
+ vue: 3.5.12
+ vue-demi: 0.14.10(vue@3.5.12)
+
+ '@vue/babel-helper-vue-jsx-merge-props@1.4.0': {}
+
+ '@vue/babel-helper-vue-transform-on@1.2.5': {}
+
+ '@vue/babel-plugin-jsx@1.2.5(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/helper-module-imports': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.25.9)
+ '@babel/template': 7.25.9
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.25.9
+ '@vue/babel-helper-vue-transform-on': 1.2.5
+ '@vue/babel-plugin-resolve-type': 1.2.5(@babel/core@7.25.9)
+ html-tags: 3.3.1
+ svg-tags: 1.0.0
+ optionalDependencies:
+ '@babel/core': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@vue/babel-plugin-resolve-type@1.2.5(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/code-frame': 7.25.9
+ '@babel/core': 7.25.9
+ '@babel/helper-module-imports': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/parser': 7.25.9
+ '@vue/compiler-sfc': 3.5.12
+ transitivePeerDependencies:
+ - supports-color
+
+ '@vue/babel-plugin-transform-vue-jsx@1.4.0(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-module-imports': 7.25.9
+ '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.25.9)
+ '@vue/babel-helper-vue-jsx-merge-props': 1.4.0
+ html-tags: 2.0.0
+ lodash.kebabcase: 4.1.1
+ svg-tags: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@vue/babel-preset-app@5.0.8(@babel/core@7.25.9)(core-js@3.38.1)(vue@3.5.12)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-compilation-targets': 7.25.9
+ '@babel/helper-module-imports': 7.25.9
+ '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.25.9)
+ '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.9)
+ '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-transform-runtime': 7.25.9(@babel/core@7.25.9)
+ '@babel/preset-env': 7.25.9(@babel/core@7.25.9)
+ '@babel/runtime': 7.25.9
+ '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.25.9)
+ '@vue/babel-preset-jsx': 1.4.0(@babel/core@7.25.9)(vue@3.5.12)
+ babel-plugin-dynamic-import-node: 2.3.3
+ core-js-compat: 3.38.1
+ semver: 7.6.3
+ optionalDependencies:
+ core-js: 3.38.1
+ vue: 3.5.12
+ transitivePeerDependencies:
+ - supports-color
+
+ '@vue/babel-preset-jsx@1.4.0(@babel/core@7.25.9)(vue@3.5.12)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@vue/babel-helper-vue-jsx-merge-props': 1.4.0
+ '@vue/babel-plugin-transform-vue-jsx': 1.4.0(@babel/core@7.25.9)
+ '@vue/babel-sugar-composition-api-inject-h': 1.4.0(@babel/core@7.25.9)
+ '@vue/babel-sugar-composition-api-render-instance': 1.4.0(@babel/core@7.25.9)
+ '@vue/babel-sugar-functional-vue': 1.4.0(@babel/core@7.25.9)
+ '@vue/babel-sugar-inject-h': 1.4.0(@babel/core@7.25.9)
+ '@vue/babel-sugar-v-model': 1.4.0(@babel/core@7.25.9)
+ '@vue/babel-sugar-v-on': 1.4.0(@babel/core@7.25.9)
+ optionalDependencies:
+ vue: 3.5.12
+ transitivePeerDependencies:
+ - supports-color
+
+ '@vue/babel-sugar-composition-api-inject-h@1.4.0(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.25.9)
+
+ '@vue/babel-sugar-composition-api-render-instance@1.4.0(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.25.9)
+
+ '@vue/babel-sugar-functional-vue@1.4.0(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.25.9)
+
+ '@vue/babel-sugar-inject-h@1.4.0(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.25.9)
+
+ '@vue/babel-sugar-v-model@1.4.0(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.25.9)
+ '@vue/babel-helper-vue-jsx-merge-props': 1.4.0
+ '@vue/babel-plugin-transform-vue-jsx': 1.4.0(@babel/core@7.25.9)
+ camelcase: 5.3.1
+ html-tags: 2.0.0
+ svg-tags: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@vue/babel-sugar-v-on@1.4.0(@babel/core@7.25.9)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.25.9)
+ '@vue/babel-plugin-transform-vue-jsx': 1.4.0(@babel/core@7.25.9)
+ camelcase: 5.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@vue/cli-overlay@5.0.8': {}
+
+ '@vue/cli-plugin-babel@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.5.12)(lodash@4.17.21)(vue@3.5.12)(webpack-sources@3.2.3))(core-js@3.38.1)(vue@3.5.12)':
+ dependencies:
+ '@babel/core': 7.25.9
+ '@vue/babel-preset-app': 5.0.8(@babel/core@7.25.9)(core-js@3.38.1)(vue@3.5.12)
+ '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.5.12)(lodash@4.17.21)(vue@3.5.12)(webpack-sources@3.2.3)
+ '@vue/cli-shared-utils': 5.0.8
+ babel-loader: 8.4.1(@babel/core@7.25.9)(webpack@5.95.0)
+ thread-loader: 3.0.4(webpack@5.95.0)
+ webpack: 5.95.0
+ transitivePeerDependencies:
+ - '@swc/core'
+ - core-js
+ - encoding
+ - esbuild
+ - supports-color
+ - uglify-js
+ - vue
+ - webpack-cli
+
+ '@vue/cli-plugin-eslint@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.5.12)(lodash@4.17.21)(vue@3.5.12)(webpack-sources@3.2.3))(eslint@9.13.0(jiti@1.21.6))':
+ dependencies:
+ '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.5.12)(lodash@4.17.21)(vue@3.5.12)(webpack-sources@3.2.3)
+ '@vue/cli-shared-utils': 5.0.8
+ eslint: 9.13.0(jiti@1.21.6)
+ eslint-webpack-plugin: 3.2.0(eslint@9.13.0(jiti@1.21.6))(webpack@5.95.0)
+ globby: 11.1.0
+ webpack: 5.95.0
+ yorkie: 2.0.0
+ transitivePeerDependencies:
+ - '@swc/core'
+ - encoding
+ - esbuild
+ - uglify-js
+ - webpack-cli
+
+ '@vue/cli-plugin-router@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.5.12)(lodash@4.17.21)(vue@3.5.12)(webpack-sources@3.2.3))':
+ dependencies:
+ '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.5.12)(lodash@4.17.21)(vue@3.5.12)(webpack-sources@3.2.3)
+ '@vue/cli-shared-utils': 5.0.8
+ transitivePeerDependencies:
+ - encoding
+
+ '@vue/cli-plugin-vuex@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.5.12)(lodash@4.17.21)(vue@3.5.12)(webpack-sources@3.2.3))':
+ dependencies:
+ '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.5.12)(lodash@4.17.21)(vue@3.5.12)(webpack-sources@3.2.3)
+
+ '@vue/cli-service@5.0.8(@vue/compiler-sfc@3.5.12)(lodash@4.17.21)(vue@3.5.12)(webpack-sources@3.2.3)':
+ dependencies:
+ '@babel/helper-compilation-targets': 7.25.9
+ '@soda/friendly-errors-webpack-plugin': 1.8.1(webpack@5.95.0)
+ '@soda/get-current-script': 1.0.2
+ '@types/minimist': 1.2.5
+ '@vue/cli-overlay': 5.0.8
+ '@vue/cli-plugin-router': 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.5.12)(lodash@4.17.21)(vue@3.5.12)(webpack-sources@3.2.3))
+ '@vue/cli-plugin-vuex': 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.5.12)(lodash@4.17.21)(vue@3.5.12)(webpack-sources@3.2.3))
+ '@vue/cli-shared-utils': 5.0.8
+ '@vue/component-compiler-utils': 3.3.0(lodash@4.17.21)
+ '@vue/vue-loader-v15': vue-loader@15.11.1(@vue/compiler-sfc@3.5.12)(css-loader@6.11.0(webpack@5.95.0))(lodash@4.17.21)(webpack@5.95.0)
+ '@vue/web-component-wrapper': 1.3.0
+ acorn: 8.13.0
+ acorn-walk: 8.3.4
+ address: 1.2.2
+ autoprefixer: 10.4.20(postcss@8.4.47)
+ browserslist: 4.24.2
+ case-sensitive-paths-webpack-plugin: 2.4.0
+ cli-highlight: 2.1.11
+ clipboardy: 2.3.0
+ cliui: 7.0.4
+ copy-webpack-plugin: 9.1.0(webpack@5.95.0)
+ css-loader: 6.11.0(webpack@5.95.0)
+ css-minimizer-webpack-plugin: 3.4.1(webpack@5.95.0)
+ cssnano: 5.1.15(postcss@8.4.47)
+ debug: 4.3.7
+ default-gateway: 6.0.3
+ dotenv: 10.0.0
+ dotenv-expand: 5.1.0
+ fs-extra: 9.1.0
+ globby: 11.1.0
+ hash-sum: 2.0.0
+ html-webpack-plugin: 5.6.3(webpack@5.95.0)
+ is-file-esm: 1.0.0
+ launch-editor-middleware: 2.9.1
+ lodash.defaultsdeep: 4.6.1
+ lodash.mapvalues: 4.6.0
+ mini-css-extract-plugin: 2.9.1(webpack@5.95.0)
+ minimist: 1.2.8
+ module-alias: 2.2.3
+ portfinder: 1.0.32
+ postcss: 8.4.47
+ postcss-loader: 6.2.1(postcss@8.4.47)(webpack@5.95.0)
+ progress-webpack-plugin: 1.0.16(webpack@5.95.0)
+ ssri: 8.0.1
+ terser-webpack-plugin: 5.3.10(webpack@5.95.0)
+ thread-loader: 3.0.4(webpack@5.95.0)
+ vue-loader: 17.4.2(@vue/compiler-sfc@3.5.12)(vue@3.5.12)(webpack@5.95.0)
+ vue-style-loader: 4.1.3
+ webpack: 5.95.0
+ webpack-bundle-analyzer: 4.10.2
+ webpack-chain: 6.5.1
+ webpack-dev-server: 4.15.2(debug@4.3.7)(webpack@5.95.0)
+ webpack-merge: 5.10.0
+ webpack-virtual-modules: 0.4.6
+ whatwg-fetch: 3.6.20
+ optionalDependencies:
+ webpack-sources: 3.2.3
+ transitivePeerDependencies:
+ - '@parcel/css'
+ - '@rspack/core'
+ - '@swc/core'
+ - '@vue/compiler-sfc'
+ - arc-templates
+ - atpl
+ - babel-core
+ - bracket-template
+ - bufferutil
+ - clean-css
+ - coffee-script
+ - csso
+ - dot
+ - dust
+ - dustjs-helpers
+ - dustjs-linkedin
+ - eco
+ - ect
+ - ejs
+ - encoding
+ - esbuild
+ - haml-coffee
+ - hamlet
+ - hamljs
+ - handlebars
+ - hogan.js
+ - htmling
+ - jade
+ - jazz
+ - jqtpl
+ - just
+ - liquid-node
+ - liquor
+ - lodash
+ - marko
+ - mote
+ - mustache
+ - nunjucks
+ - plates
+ - prettier
+ - pug
+ - qejs
+ - ractive
+ - razor-tmpl
+ - react
+ - react-dom
+ - slm
+ - squirrelly
+ - supports-color
+ - swig
+ - swig-templates
+ - teacup
+ - templayed
+ - then-jade
+ - then-pug
+ - tinyliquid
+ - toffee
+ - twig
+ - twing
+ - uglify-js
+ - underscore
+ - utf-8-validate
+ - vash
+ - velocityjs
+ - vue
+ - walrus
+ - webpack-cli
+ - whiskers
+
+ '@vue/cli-shared-utils@5.0.8':
+ dependencies:
+ '@achrinza/node-ipc': 9.2.9
+ chalk: 4.1.2
+ execa: 1.0.0
+ joi: 17.13.3
+ launch-editor: 2.9.1
+ lru-cache: 6.0.0
+ node-fetch: 2.7.0
+ open: 8.4.2
+ ora: 5.4.1
+ read-pkg: 5.2.0
+ semver: 7.6.3
+ strip-ansi: 6.0.1
+ transitivePeerDependencies:
+ - encoding
+
+ '@vue/compiler-core@3.5.12':
+ dependencies:
+ '@babel/parser': 7.25.9
+ '@vue/shared': 3.5.12
+ entities: 4.5.0
+ estree-walker: 2.0.2
+ source-map-js: 1.2.1
+
+ '@vue/compiler-dom@3.5.12':
+ dependencies:
+ '@vue/compiler-core': 3.5.12
+ '@vue/shared': 3.5.12
+
+ '@vue/compiler-sfc@3.5.12':
+ dependencies:
+ '@babel/parser': 7.25.9
+ '@vue/compiler-core': 3.5.12
+ '@vue/compiler-dom': 3.5.12
+ '@vue/compiler-ssr': 3.5.12
+ '@vue/shared': 3.5.12
+ estree-walker: 2.0.2
+ magic-string: 0.30.12
+ postcss: 8.4.47
+ source-map-js: 1.2.1
+
+ '@vue/compiler-ssr@3.5.12':
+ dependencies:
+ '@vue/compiler-dom': 3.5.12
+ '@vue/shared': 3.5.12
+
+ '@vue/component-compiler-utils@3.3.0(lodash@4.17.21)':
+ dependencies:
+ consolidate: 0.15.1(lodash@4.17.21)
+ hash-sum: 1.0.2
+ lru-cache: 4.1.5
+ merge-source-map: 1.1.0
+ postcss: 7.0.39
+ postcss-selector-parser: 6.1.2
+ source-map: 0.6.1
+ vue-template-es2015-compiler: 1.9.1
+ optionalDependencies:
+ prettier: 2.8.8
+ transitivePeerDependencies:
+ - arc-templates
+ - atpl
+ - babel-core
+ - bracket-template
+ - coffee-script
+ - dot
+ - dust
+ - dustjs-helpers
+ - dustjs-linkedin
+ - eco
+ - ect
+ - ejs
+ - haml-coffee
+ - hamlet
+ - hamljs
+ - handlebars
+ - hogan.js
+ - htmling
+ - jade
+ - jazz
+ - jqtpl
+ - just
+ - liquid-node
+ - liquor
+ - lodash
+ - marko
+ - mote
+ - mustache
+ - nunjucks
+ - plates
+ - pug
+ - qejs
+ - ractive
+ - razor-tmpl
+ - react
+ - react-dom
+ - slm
+ - squirrelly
+ - swig
+ - swig-templates
+ - teacup
+ - templayed
+ - then-jade
+ - then-pug
+ - tinyliquid
+ - toffee
+ - twig
+ - twing
+ - underscore
+ - vash
+ - velocityjs
+ - walrus
+ - whiskers
+
+ '@vue/devtools-api@6.6.4': {}
+
+ '@vue/devtools-core@7.5.3(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12)':
+ dependencies:
+ '@vue/devtools-kit': 7.5.3
+ '@vue/devtools-shared': 7.5.3
+ mitt: 3.0.1
+ nanoid: 3.3.7
+ pathe: 1.1.2
+ vite-hot-client: 0.2.3(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0))
+ vue: 3.5.12
+ transitivePeerDependencies:
+ - vite
+
+ '@vue/devtools-kit@7.5.3':
+ dependencies:
+ '@vue/devtools-shared': 7.5.3
+ birpc: 0.2.19
+ hookable: 5.5.3
+ mitt: 3.0.1
+ perfect-debounce: 1.0.0
+ speakingurl: 14.0.1
+ superjson: 2.2.1
+
+ '@vue/devtools-shared@7.5.3':
+ dependencies:
+ rfdc: 1.4.1
+
+ '@vue/reactivity@3.5.12':
+ dependencies:
+ '@vue/shared': 3.5.12
+
+ '@vue/runtime-core@3.5.12':
+ dependencies:
+ '@vue/reactivity': 3.5.12
+ '@vue/shared': 3.5.12
+
+ '@vue/runtime-dom@3.5.12':
+ dependencies:
+ '@vue/reactivity': 3.5.12
+ '@vue/runtime-core': 3.5.12
+ '@vue/shared': 3.5.12
+ csstype: 3.1.3
+
+ '@vue/server-renderer@3.5.12(vue@3.5.12)':
+ dependencies:
+ '@vue/compiler-ssr': 3.5.12
+ '@vue/shared': 3.5.12
+ vue: 3.5.12
+
+ '@vue/shared@3.5.12': {}
+
+ '@vue/web-component-wrapper@1.3.0': {}
+
+ '@vueuse/core@11.1.0(vue@3.5.12)':
+ dependencies:
+ '@types/web-bluetooth': 0.0.20
+ '@vueuse/metadata': 11.1.0
+ '@vueuse/shared': 11.1.0(vue@3.5.12)
+ vue-demi: 0.14.10(vue@3.5.12)
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+
+ '@vueuse/core@9.13.0(vue@3.5.12)':
+ dependencies:
+ '@types/web-bluetooth': 0.0.16
+ '@vueuse/metadata': 9.13.0
+ '@vueuse/shared': 9.13.0(vue@3.5.12)
+ vue-demi: 0.14.10(vue@3.5.12)
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+
+ '@vueuse/metadata@11.1.0': {}
+
+ '@vueuse/metadata@9.13.0': {}
+
+ '@vueuse/shared@11.1.0(vue@3.5.12)':
+ dependencies:
+ vue-demi: 0.14.10(vue@3.5.12)
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+
+ '@vueuse/shared@9.13.0(vue@3.5.12)':
+ dependencies:
+ vue-demi: 0.14.10(vue@3.5.12)
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+
+ '@wangeditor/basic-modules@1.1.7(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)':
+ dependencies:
+ '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ dom7: 3.0.0
+ is-url: 1.2.4
+ lodash.throttle: 4.1.1
+ nanoid: 3.3.7
+ slate: 0.72.8
+ snabbdom: 3.6.2
+
+ '@wangeditor/code-highlight@1.0.3(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.6.2)':
+ dependencies:
+ '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ dom7: 3.0.0
+ prismjs: 1.29.0
+ slate: 0.72.8
+ snabbdom: 3.6.2
+
+ '@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)':
+ dependencies:
+ '@types/event-emitter': 0.3.5
+ '@uppy/core': 2.3.4
+ '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4)
+ dom7: 3.0.0
+ event-emitter: 0.3.5
+ html-void-elements: 2.0.1
+ i18next: 20.6.1
+ is-hotkey: 0.2.0
+ lodash.camelcase: 4.3.0
+ lodash.clonedeep: 4.5.0
+ lodash.debounce: 4.0.8
+ lodash.foreach: 4.5.0
+ lodash.isequal: 4.5.0
+ lodash.throttle: 4.1.1
+ lodash.toarray: 4.4.0
+ nanoid: 3.3.7
+ scroll-into-view-if-needed: 2.2.31
+ slate: 0.72.8
+ slate-history: 0.66.0(slate@0.72.8)
+ snabbdom: 3.6.2
+
+ '@wangeditor/editor-for-vue@5.1.12(@wangeditor/editor@5.1.23)(vue@3.5.12)':
+ dependencies:
+ '@wangeditor/editor': 5.1.23
+ vue: 3.5.12
+
+ '@wangeditor/editor@5.1.23':
+ dependencies:
+ '@uppy/core': 2.3.4
+ '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4)
+ '@wangeditor/basic-modules': 1.1.7(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ '@wangeditor/code-highlight': 1.0.3(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.6.2)
+ '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ '@wangeditor/list-module': 1.0.5(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.6.2)
+ '@wangeditor/table-module': 1.1.4(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ '@wangeditor/upload-image-module': 1.0.2(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor/basic-modules@1.1.7(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.foreach@4.5.0)(slate@0.72.8)(snabbdom@3.6.2)
+ '@wangeditor/video-module': 1.1.4(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ dom7: 3.0.0
+ is-hotkey: 0.2.0
+ lodash.camelcase: 4.3.0
+ lodash.clonedeep: 4.5.0
+ lodash.debounce: 4.0.8
+ lodash.foreach: 4.5.0
+ lodash.isequal: 4.5.0
+ lodash.throttle: 4.1.1
+ lodash.toarray: 4.4.0
+ nanoid: 3.3.7
+ slate: 0.72.8
+ snabbdom: 3.6.2
+
+ '@wangeditor/list-module@1.0.5(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.6.2)':
+ dependencies:
+ '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ dom7: 3.0.0
+ slate: 0.72.8
+ snabbdom: 3.6.2
+
+ '@wangeditor/table-module@1.1.4(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)':
+ dependencies:
+ '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ dom7: 3.0.0
+ lodash.isequal: 4.5.0
+ lodash.throttle: 4.1.1
+ nanoid: 3.3.7
+ slate: 0.72.8
+ snabbdom: 3.6.2
+
+ '@wangeditor/upload-image-module@1.0.2(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor/basic-modules@1.1.7(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.foreach@4.5.0)(slate@0.72.8)(snabbdom@3.6.2)':
+ dependencies:
+ '@uppy/core': 2.3.4
+ '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4)
+ '@wangeditor/basic-modules': 1.1.7(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ dom7: 3.0.0
+ lodash.foreach: 4.5.0
+ slate: 0.72.8
+ snabbdom: 3.6.2
+
+ '@wangeditor/video-module@1.1.4(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)':
+ dependencies:
+ '@uppy/core': 2.3.4
+ '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4)
+ '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ dom7: 3.0.0
+ nanoid: 3.3.7
+ slate: 0.72.8
+ snabbdom: 3.6.2
+
+ '@webassemblyjs/ast@1.12.1':
+ dependencies:
+ '@webassemblyjs/helper-numbers': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+
+ '@webassemblyjs/floating-point-hex-parser@1.11.6': {}
+
+ '@webassemblyjs/helper-api-error@1.11.6': {}
+
+ '@webassemblyjs/helper-buffer@1.12.1': {}
+
+ '@webassemblyjs/helper-numbers@1.11.6':
+ dependencies:
+ '@webassemblyjs/floating-point-hex-parser': 1.11.6
+ '@webassemblyjs/helper-api-error': 1.11.6
+ '@xtuc/long': 4.2.2
+
+ '@webassemblyjs/helper-wasm-bytecode@1.11.6': {}
+
+ '@webassemblyjs/helper-wasm-section@1.12.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.12.1
+ '@webassemblyjs/helper-buffer': 1.12.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/wasm-gen': 1.12.1
+
+ '@webassemblyjs/ieee754@1.11.6':
+ dependencies:
+ '@xtuc/ieee754': 1.2.0
+
+ '@webassemblyjs/leb128@1.11.6':
+ dependencies:
+ '@xtuc/long': 4.2.2
+
+ '@webassemblyjs/utf8@1.11.6': {}
+
+ '@webassemblyjs/wasm-edit@1.12.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.12.1
+ '@webassemblyjs/helper-buffer': 1.12.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/helper-wasm-section': 1.12.1
+ '@webassemblyjs/wasm-gen': 1.12.1
+ '@webassemblyjs/wasm-opt': 1.12.1
+ '@webassemblyjs/wasm-parser': 1.12.1
+ '@webassemblyjs/wast-printer': 1.12.1
+
+ '@webassemblyjs/wasm-gen@1.12.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.12.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/ieee754': 1.11.6
+ '@webassemblyjs/leb128': 1.11.6
+ '@webassemblyjs/utf8': 1.11.6
+
+ '@webassemblyjs/wasm-opt@1.12.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.12.1
+ '@webassemblyjs/helper-buffer': 1.12.1
+ '@webassemblyjs/wasm-gen': 1.12.1
+ '@webassemblyjs/wasm-parser': 1.12.1
+
+ '@webassemblyjs/wasm-parser@1.12.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.12.1
+ '@webassemblyjs/helper-api-error': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/ieee754': 1.11.6
+ '@webassemblyjs/leb128': 1.11.6
+ '@webassemblyjs/utf8': 1.11.6
+
+ '@webassemblyjs/wast-printer@1.12.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.12.1
+ '@xtuc/long': 4.2.2
+
+ '@xtuc/ieee754@1.2.0': {}
+
+ '@xtuc/long@4.2.2': {}
+
+ accepts@1.3.8:
+ dependencies:
+ mime-types: 2.1.35
+ negotiator: 0.6.3
+
+ acorn-import-attributes@1.9.5(acorn@8.13.0):
+ dependencies:
+ acorn: 8.13.0
+
+ acorn-jsx@5.3.2(acorn@8.13.0):
+ dependencies:
+ acorn: 8.13.0
+
+ acorn-walk@8.3.4:
+ dependencies:
+ acorn: 8.13.0
+
+ acorn@8.13.0: {}
+
+ address@1.2.2: {}
+
+ ajv-formats@2.1.1(ajv@8.17.1):
+ optionalDependencies:
+ ajv: 8.17.1
+
+ ajv-keywords@3.5.2(ajv@6.12.6):
+ dependencies:
+ ajv: 6.12.6
+
+ ajv-keywords@5.1.0(ajv@8.17.1):
+ dependencies:
+ ajv: 8.17.1
+ fast-deep-equal: 3.1.3
+
+ ajv@6.12.6:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-json-stable-stringify: 2.1.0
+ json-schema-traverse: 0.4.1
+ uri-js: 4.4.1
+
+ ajv@8.17.1:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-uri: 3.0.3
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
+
+ ansi-escapes@3.2.0: {}
+
+ ansi-html-community@0.0.8: {}
+
+ ansi-regex@3.0.1: {}
+
+ ansi-regex@5.0.1: {}
+
+ ansi-regex@6.1.0: {}
+
+ ansi-styles@3.2.1:
+ dependencies:
+ color-convert: 1.9.3
+
+ ansi-styles@4.3.0:
+ dependencies:
+ color-convert: 2.0.1
+
+ ansi-styles@6.2.1: {}
+
+ any-promise@1.3.0: {}
+
+ anymatch@3.1.3:
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+
+ arch@2.2.0: {}
+
+ arg@5.0.2: {}
+
+ argparse@2.0.1: {}
+
+ array-flatten@1.1.1: {}
+
+ array-union@2.1.0: {}
+
+ async-validator@4.2.5: {}
+
+ async@2.6.4:
+ dependencies:
+ lodash: 4.17.21
+
+ asynckit@0.4.0: {}
+
+ at-least-node@1.0.0: {}
+
+ autoprefixer@10.4.20(postcss@8.4.47):
+ dependencies:
+ browserslist: 4.24.2
+ caniuse-lite: 1.0.30001669
+ fraction.js: 4.3.7
+ normalize-range: 0.1.2
+ picocolors: 1.1.1
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+
+ axios@1.7.7:
+ dependencies:
+ follow-redirects: 1.15.9(debug@4.3.7)
+ form-data: 4.0.1
+ proxy-from-env: 1.1.0
+ transitivePeerDependencies:
+ - debug
+
+ babel-loader@8.4.1(@babel/core@7.25.9)(webpack@5.95.0):
+ dependencies:
+ '@babel/core': 7.25.9
+ find-cache-dir: 3.3.2
+ loader-utils: 2.0.4
+ make-dir: 3.1.0
+ schema-utils: 2.7.1
+ webpack: 5.95.0
+
+ babel-plugin-dynamic-import-node@2.3.3:
+ dependencies:
+ object.assign: 4.1.5
+
+ babel-plugin-import@1.13.8:
+ dependencies:
+ '@babel/helper-module-imports': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.25.9):
+ dependencies:
+ '@babel/compat-data': 7.25.9
+ '@babel/core': 7.25.9
+ '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.9)
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.25.9):
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.9)
+ core-js-compat: 3.38.1
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.25.9):
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.9)
+ transitivePeerDependencies:
+ - supports-color
+
+ balanced-match@1.0.2: {}
+
+ base64-js@1.5.1: {}
+
+ batch@0.6.1: {}
+
+ big.js@5.2.2: {}
+
+ binary-extensions@2.3.0: {}
+
+ birpc@0.2.19: {}
+
+ bl@4.1.0:
+ dependencies:
+ buffer: 5.7.1
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+
+ bluebird@3.7.2: {}
+
+ body-parser@1.20.3:
+ dependencies:
+ bytes: 3.1.2
+ content-type: 1.0.5
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ http-errors: 2.0.0
+ iconv-lite: 0.4.24
+ on-finished: 2.4.1
+ qs: 6.13.0
+ raw-body: 2.5.2
+ type-is: 1.6.18
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ bonjour-service@1.2.1:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ multicast-dns: 7.2.5
+
+ boolbase@1.0.0: {}
+
+ brace-expansion@1.1.11:
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+
+ brace-expansion@2.0.1:
+ dependencies:
+ balanced-match: 1.0.2
+
+ braces@3.0.3:
+ dependencies:
+ fill-range: 7.1.1
+
+ browserslist-to-esbuild@2.1.1(browserslist@4.24.2):
+ dependencies:
+ browserslist: 4.24.2
+ meow: 13.2.0
+
+ browserslist@4.24.2:
+ dependencies:
+ caniuse-lite: 1.0.30001669
+ electron-to-chromium: 1.5.42
+ node-releases: 2.0.18
+ update-browserslist-db: 1.1.1(browserslist@4.24.2)
+
+ buffer-from@1.1.2: {}
+
+ buffer@5.7.1:
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
+
+ bundle-name@4.1.0:
+ dependencies:
+ run-applescript: 7.0.0
+
+ bytes@3.0.0: {}
+
+ bytes@3.1.2: {}
+
+ call-bind@1.0.7:
+ dependencies:
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.4
+ set-function-length: 1.2.2
+
+ callsites@3.1.0: {}
+
+ camel-case@4.1.2:
+ dependencies:
+ pascal-case: 3.1.2
+ tslib: 2.8.0
+
+ camelcase-css@2.0.1: {}
+
+ camelcase@5.3.1: {}
+
+ caniuse-api@3.0.0:
+ dependencies:
+ browserslist: 4.24.2
+ caniuse-lite: 1.0.30001669
+ lodash.memoize: 4.1.2
+ lodash.uniq: 4.5.0
+
+ caniuse-lite@1.0.30001669: {}
+
+ case-sensitive-paths-webpack-plugin@2.4.0: {}
+
+ chalk@2.4.2:
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+
+ chalk@3.0.0:
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+
+ chalk@4.1.2:
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+
+ chalk@5.3.0: {}
+
+ chokidar@3.6.0:
+ dependencies:
+ anymatch: 3.1.3
+ braces: 3.0.3
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.3
+
+ chokidar@4.0.1:
+ dependencies:
+ readdirp: 4.0.2
+
+ chrome-trace-event@1.0.4: {}
+
+ ci-info@1.6.0: {}
+
+ clean-css@5.3.3:
+ dependencies:
+ source-map: 0.6.1
+
+ cli-cursor@2.1.0:
+ dependencies:
+ restore-cursor: 2.0.0
+
+ cli-cursor@3.1.0:
+ dependencies:
+ restore-cursor: 3.1.0
+
+ cli-highlight@2.1.11:
+ dependencies:
+ chalk: 4.1.2
+ highlight.js: 10.7.3
+ mz: 2.7.0
+ parse5: 5.1.1
+ parse5-htmlparser2-tree-adapter: 6.0.1
+ yargs: 16.2.0
+
+ cli-spinners@2.9.2: {}
+
+ clipboardy@2.3.0:
+ dependencies:
+ arch: 2.2.0
+ execa: 1.0.0
+ is-wsl: 2.2.0
+
+ cliui@7.0.4:
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
+
+ clone-deep@4.0.1:
+ dependencies:
+ is-plain-object: 2.0.4
+ kind-of: 6.0.3
+ shallow-clone: 3.0.1
+
+ clone@1.0.4: {}
+
+ codemirror@6.65.7: {}
+
+ color-convert@1.9.3:
+ dependencies:
+ color-name: 1.1.3
+
+ color-convert@2.0.1:
+ dependencies:
+ color-name: 1.1.4
+
+ color-name@1.1.3: {}
+
+ color-name@1.1.4: {}
+
+ colord@2.9.3: {}
+
+ colorette@2.0.20: {}
+
+ combined-stream@1.0.8:
+ dependencies:
+ delayed-stream: 1.0.0
+
+ commander@2.20.3: {}
+
+ commander@4.1.1: {}
+
+ commander@7.2.0: {}
+
+ commander@8.3.0: {}
+
+ commondir@1.0.1: {}
+
+ compressible@2.0.18:
+ dependencies:
+ mime-db: 1.53.0
+
+ compression@1.7.4:
+ dependencies:
+ accepts: 1.3.8
+ bytes: 3.0.0
+ compressible: 2.0.18
+ debug: 2.6.9
+ on-headers: 1.0.2
+ safe-buffer: 5.1.2
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ compute-scroll-into-view@1.0.20: {}
+
+ concat-map@0.0.1: {}
+
+ connect-history-api-fallback@2.0.0: {}
+
+ consolidate@0.15.1(lodash@4.17.21):
+ dependencies:
+ bluebird: 3.7.2
+ optionalDependencies:
+ lodash: 4.17.21
+
+ content-disposition@0.5.4:
+ dependencies:
+ safe-buffer: 5.2.1
+
+ content-type@1.0.5: {}
+
+ convert-source-map@2.0.0: {}
+
+ cookie-signature@1.0.6: {}
+
+ cookie@0.7.1: {}
+
+ copy-anything@3.0.5:
+ dependencies:
+ is-what: 4.1.16
+
+ copy-webpack-plugin@9.1.0(webpack@5.95.0):
+ dependencies:
+ fast-glob: 3.3.2
+ glob-parent: 6.0.2
+ globby: 11.1.0
+ normalize-path: 3.0.0
+ schema-utils: 3.3.0
+ serialize-javascript: 6.0.2
+ webpack: 5.95.0
+
+ core-js-compat@3.38.1:
+ dependencies:
+ browserslist: 4.24.2
+
+ core-js-pure@3.38.1: {}
+
+ core-js@3.38.1: {}
+
+ core-util-is@1.0.3: {}
+
+ cosmiconfig@7.1.0:
+ dependencies:
+ '@types/parse-json': 4.0.2
+ import-fresh: 3.3.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ yaml: 1.10.2
+
+ cross-spawn@5.1.0:
+ dependencies:
+ lru-cache: 4.1.5
+ shebang-command: 1.2.0
+ which: 1.3.1
+
+ cross-spawn@6.0.5:
+ dependencies:
+ nice-try: 1.0.5
+ path-key: 2.0.1
+ semver: 5.7.2
+ shebang-command: 1.2.0
+ which: 1.3.1
+
+ cross-spawn@7.0.3:
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+
+ css-declaration-sorter@6.4.1(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+
+ css-loader@6.11.0(webpack@5.95.0):
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.4.47)
+ postcss: 8.4.47
+ postcss-modules-extract-imports: 3.1.0(postcss@8.4.47)
+ postcss-modules-local-by-default: 4.0.5(postcss@8.4.47)
+ postcss-modules-scope: 3.2.0(postcss@8.4.47)
+ postcss-modules-values: 4.0.0(postcss@8.4.47)
+ postcss-value-parser: 4.2.0
+ semver: 7.6.3
+ optionalDependencies:
+ webpack: 5.95.0
+
+ css-minimizer-webpack-plugin@3.4.1(webpack@5.95.0):
+ dependencies:
+ cssnano: 5.1.15(postcss@8.4.47)
+ jest-worker: 27.5.1
+ postcss: 8.4.47
+ schema-utils: 4.2.0
+ serialize-javascript: 6.0.2
+ source-map: 0.6.1
+ webpack: 5.95.0
+
+ css-select@4.3.0:
+ dependencies:
+ boolbase: 1.0.0
+ css-what: 6.1.0
+ domhandler: 4.3.1
+ domutils: 2.8.0
+ nth-check: 2.1.1
+
+ css-tree@1.1.3:
+ dependencies:
+ mdn-data: 2.0.14
+ source-map: 0.6.1
+
+ css-what@6.1.0: {}
+
+ cssesc@3.0.0: {}
+
+ cssnano-preset-default@5.2.14(postcss@8.4.47):
+ dependencies:
+ css-declaration-sorter: 6.4.1(postcss@8.4.47)
+ cssnano-utils: 3.1.0(postcss@8.4.47)
+ postcss: 8.4.47
+ postcss-calc: 8.2.4(postcss@8.4.47)
+ postcss-colormin: 5.3.1(postcss@8.4.47)
+ postcss-convert-values: 5.1.3(postcss@8.4.47)
+ postcss-discard-comments: 5.1.2(postcss@8.4.47)
+ postcss-discard-duplicates: 5.1.0(postcss@8.4.47)
+ postcss-discard-empty: 5.1.1(postcss@8.4.47)
+ postcss-discard-overridden: 5.1.0(postcss@8.4.47)
+ postcss-merge-longhand: 5.1.7(postcss@8.4.47)
+ postcss-merge-rules: 5.1.4(postcss@8.4.47)
+ postcss-minify-font-values: 5.1.0(postcss@8.4.47)
+ postcss-minify-gradients: 5.1.1(postcss@8.4.47)
+ postcss-minify-params: 5.1.4(postcss@8.4.47)
+ postcss-minify-selectors: 5.2.1(postcss@8.4.47)
+ postcss-normalize-charset: 5.1.0(postcss@8.4.47)
+ postcss-normalize-display-values: 5.1.0(postcss@8.4.47)
+ postcss-normalize-positions: 5.1.1(postcss@8.4.47)
+ postcss-normalize-repeat-style: 5.1.1(postcss@8.4.47)
+ postcss-normalize-string: 5.1.0(postcss@8.4.47)
+ postcss-normalize-timing-functions: 5.1.0(postcss@8.4.47)
+ postcss-normalize-unicode: 5.1.1(postcss@8.4.47)
+ postcss-normalize-url: 5.1.0(postcss@8.4.47)
+ postcss-normalize-whitespace: 5.1.1(postcss@8.4.47)
+ postcss-ordered-values: 5.1.3(postcss@8.4.47)
+ postcss-reduce-initial: 5.1.2(postcss@8.4.47)
+ postcss-reduce-transforms: 5.1.0(postcss@8.4.47)
+ postcss-svgo: 5.1.0(postcss@8.4.47)
+ postcss-unique-selectors: 5.1.1(postcss@8.4.47)
+
+ cssnano-utils@3.1.0(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+
+ cssnano@5.1.15(postcss@8.4.47):
+ dependencies:
+ cssnano-preset-default: 5.2.14(postcss@8.4.47)
+ lilconfig: 2.1.0
+ postcss: 8.4.47
+ yaml: 1.10.2
+
+ csso@4.2.0:
+ dependencies:
+ css-tree: 1.1.3
+
+ csstype@3.1.3: {}
+
+ d@1.0.2:
+ dependencies:
+ es5-ext: 0.10.64
+ type: 2.7.3
+
+ dayjs@1.11.13: {}
+
+ debounce@1.2.1: {}
+
+ debug@2.6.9:
+ dependencies:
+ ms: 2.0.0
+
+ debug@3.2.7:
+ dependencies:
+ ms: 2.1.3
+
+ debug@4.3.7:
+ dependencies:
+ ms: 2.1.3
+
+ deep-is@0.1.4: {}
+
+ deepmerge@1.5.2: {}
+
+ default-browser-id@5.0.0: {}
+
+ default-browser@5.2.1:
+ dependencies:
+ bundle-name: 4.1.0
+ default-browser-id: 5.0.0
+
+ default-gateway@6.0.3:
+ dependencies:
+ execa: 5.1.1
+
+ default-passive-events@2.0.0: {}
+
+ defaults@1.0.4:
+ dependencies:
+ clone: 1.0.4
+
+ define-data-property@1.1.4:
+ dependencies:
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ gopd: 1.0.1
+
+ define-lazy-prop@2.0.0: {}
+
+ define-lazy-prop@3.0.0: {}
+
+ define-properties@1.2.1:
+ dependencies:
+ define-data-property: 1.1.4
+ has-property-descriptors: 1.0.2
+ object-keys: 1.1.1
+
+ delayed-stream@1.0.0: {}
+
+ depd@1.1.2: {}
+
+ depd@2.0.0: {}
+
+ destroy@1.2.0: {}
+
+ detect-libc@1.0.3: {}
+
+ detect-node@2.1.0: {}
+
+ didyoumean@1.2.2: {}
+
+ dir-glob@3.0.1:
+ dependencies:
+ path-type: 4.0.0
+
+ dlv@1.1.3: {}
+
+ dns-packet@5.6.1:
+ dependencies:
+ '@leichtgewicht/ip-codec': 2.0.5
+
+ dom-converter@0.2.0:
+ dependencies:
+ utila: 0.4.0
+
+ dom-serializer@1.4.1:
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ entities: 2.2.0
+
+ dom7@3.0.0:
+ dependencies:
+ ssr-window: 3.0.0
+
+ domelementtype@2.3.0: {}
+
+ domhandler@4.3.1:
+ dependencies:
+ domelementtype: 2.3.0
+
+ domutils@2.8.0:
+ dependencies:
+ dom-serializer: 1.4.1
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+
+ dot-case@3.0.4:
+ dependencies:
+ no-case: 3.0.4
+ tslib: 2.8.0
+
+ dotenv-expand@5.1.0: {}
+
+ dotenv@10.0.0: {}
+
+ dotenv@16.4.5: {}
+
+ duplexer@0.1.2: {}
+
+ eastasianwidth@0.2.0: {}
+
+ easy-stack@1.0.1: {}
+
+ echarts@5.5.1:
+ dependencies:
+ tslib: 2.3.0
+ zrender: 5.6.0
+
+ ee-first@1.1.1: {}
+
+ electron-to-chromium@1.5.42: {}
+
+ element-plus@2.8.6(vue@3.5.12):
+ dependencies:
+ '@ctrl/tinycolor': 3.6.1
+ '@element-plus/icons-vue': 2.3.1(vue@3.5.12)
+ '@floating-ui/dom': 1.6.11
+ '@popperjs/core': '@sxzz/popperjs-es@2.11.7'
+ '@types/lodash': 4.17.12
+ '@types/lodash-es': 4.17.12
+ '@vueuse/core': 9.13.0(vue@3.5.12)
+ async-validator: 4.2.5
+ dayjs: 1.11.13
+ escape-html: 1.0.3
+ lodash: 4.17.21
+ lodash-es: 4.17.21
+ lodash-unified: 1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21)
+ memoize-one: 6.0.0
+ normalize-wheel-es: 1.2.0
+ vue: 3.5.12
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+
+ emoji-regex@8.0.0: {}
+
+ emoji-regex@9.2.2: {}
+
+ emojis-list@3.0.0: {}
+
+ encodeurl@1.0.2: {}
+
+ encodeurl@2.0.0: {}
+
+ end-of-stream@1.4.4:
+ dependencies:
+ once: 1.4.0
+
+ enhanced-resolve@5.17.1:
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.2.1
+
+ entities@2.2.0: {}
+
+ entities@4.5.0: {}
+
+ error-ex@1.3.2:
+ dependencies:
+ is-arrayish: 0.2.1
+
+ error-stack-parser-es@0.1.5: {}
+
+ error-stack-parser@2.1.4:
+ dependencies:
+ stackframe: 1.3.4
+
+ es-define-property@1.0.0:
+ dependencies:
+ get-intrinsic: 1.2.4
+
+ es-errors@1.3.0: {}
+
+ es-module-lexer@1.5.4: {}
+
+ es5-ext@0.10.64:
+ dependencies:
+ es6-iterator: 2.0.3
+ es6-symbol: 3.1.4
+ esniff: 2.0.1
+ next-tick: 1.1.0
+
+ es6-iterator@2.0.3:
+ dependencies:
+ d: 1.0.2
+ es5-ext: 0.10.64
+ es6-symbol: 3.1.4
+
+ es6-symbol@3.1.4:
+ dependencies:
+ d: 1.0.2
+ ext: 1.7.0
+
+ esbuild@0.21.5:
+ 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
+
+ escalade@3.2.0: {}
+
+ escape-html@1.0.3: {}
+
+ escape-string-regexp@1.0.5: {}
+
+ escape-string-regexp@4.0.0: {}
+
+ eslint-plugin-vue@9.29.1(eslint@9.13.0(jiti@1.21.6)):
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.13.0(jiti@1.21.6))
+ eslint: 9.13.0(jiti@1.21.6)
+ globals: 13.24.0
+ natural-compare: 1.4.0
+ nth-check: 2.1.1
+ postcss-selector-parser: 6.1.2
+ semver: 7.6.3
+ vue-eslint-parser: 9.4.3(eslint@9.13.0(jiti@1.21.6))
+ xml-name-validator: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ eslint-scope@5.1.1:
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 4.3.0
+
+ eslint-scope@7.2.2:
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
+
+ eslint-scope@8.1.0:
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
+
+ eslint-visitor-keys@2.1.0: {}
+
+ eslint-visitor-keys@3.4.3: {}
+
+ eslint-visitor-keys@4.1.0: {}
+
+ eslint-webpack-plugin@3.2.0(eslint@9.13.0(jiti@1.21.6))(webpack@5.95.0):
+ dependencies:
+ '@types/eslint': 8.56.12
+ eslint: 9.13.0(jiti@1.21.6)
+ jest-worker: 28.1.3
+ micromatch: 4.0.8
+ normalize-path: 3.0.0
+ schema-utils: 4.2.0
+ webpack: 5.95.0
+
+ eslint@9.13.0(jiti@1.21.6):
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.13.0(jiti@1.21.6))
+ '@eslint-community/regexpp': 4.11.1
+ '@eslint/config-array': 0.18.0
+ '@eslint/core': 0.7.0
+ '@eslint/eslintrc': 3.1.0
+ '@eslint/js': 9.13.0
+ '@eslint/plugin-kit': 0.2.1
+ '@humanfs/node': 0.16.5
+ '@humanwhocodes/module-importer': 1.0.1
+ '@humanwhocodes/retry': 0.3.1
+ '@types/estree': 1.0.6
+ '@types/json-schema': 7.0.15
+ ajv: 6.12.6
+ chalk: 4.1.2
+ cross-spawn: 7.0.3
+ debug: 4.3.7
+ escape-string-regexp: 4.0.0
+ eslint-scope: 8.1.0
+ eslint-visitor-keys: 4.1.0
+ espree: 10.2.0
+ esquery: 1.6.0
+ esutils: 2.0.3
+ fast-deep-equal: 3.1.3
+ file-entry-cache: 8.0.0
+ find-up: 5.0.0
+ glob-parent: 6.0.2
+ ignore: 5.3.2
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ 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.4
+ text-table: 0.2.0
+ optionalDependencies:
+ jiti: 1.21.6
+ transitivePeerDependencies:
+ - supports-color
+
+ esniff@2.0.1:
+ dependencies:
+ d: 1.0.2
+ es5-ext: 0.10.64
+ event-emitter: 0.3.5
+ type: 2.7.3
+
+ espree@10.2.0:
+ dependencies:
+ acorn: 8.13.0
+ acorn-jsx: 5.3.2(acorn@8.13.0)
+ eslint-visitor-keys: 4.1.0
+
+ espree@9.6.1:
+ dependencies:
+ acorn: 8.13.0
+ acorn-jsx: 5.3.2(acorn@8.13.0)
+ eslint-visitor-keys: 3.4.3
+
+ esquery@1.6.0:
+ dependencies:
+ estraverse: 5.3.0
+
+ esrecurse@4.3.0:
+ dependencies:
+ estraverse: 5.3.0
+
+ estraverse@4.3.0: {}
+
+ estraverse@5.3.0: {}
+
+ estree-walker@2.0.2: {}
+
+ esutils@2.0.3: {}
+
+ etag@1.8.1: {}
+
+ event-emitter@0.3.5:
+ dependencies:
+ d: 1.0.2
+ es5-ext: 0.10.64
+
+ event-pubsub@4.3.0: {}
+
+ eventemitter3@4.0.7: {}
+
+ events@3.3.0: {}
+
+ execa@0.8.0:
+ dependencies:
+ cross-spawn: 5.1.0
+ get-stream: 3.0.0
+ is-stream: 1.1.0
+ npm-run-path: 2.0.2
+ p-finally: 1.0.0
+ signal-exit: 3.0.7
+ strip-eof: 1.0.0
+
+ execa@1.0.0:
+ dependencies:
+ cross-spawn: 6.0.5
+ get-stream: 4.1.0
+ is-stream: 1.1.0
+ npm-run-path: 2.0.2
+ p-finally: 1.0.0
+ signal-exit: 3.0.7
+ strip-eof: 1.0.0
+
+ execa@5.1.1:
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 6.0.1
+ human-signals: 2.1.0
+ is-stream: 2.0.1
+ merge-stream: 2.0.0
+ npm-run-path: 4.0.1
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ strip-final-newline: 2.0.0
+
+ execa@8.0.1:
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 8.0.1
+ human-signals: 5.0.0
+ is-stream: 3.0.0
+ merge-stream: 2.0.0
+ npm-run-path: 5.3.0
+ onetime: 6.0.0
+ signal-exit: 4.1.0
+ strip-final-newline: 3.0.0
+
+ express@4.21.1:
+ dependencies:
+ accepts: 1.3.8
+ array-flatten: 1.1.1
+ body-parser: 1.20.3
+ content-disposition: 0.5.4
+ content-type: 1.0.5
+ cookie: 0.7.1
+ cookie-signature: 1.0.6
+ debug: 2.6.9
+ depd: 2.0.0
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ etag: 1.8.1
+ finalhandler: 1.3.1
+ fresh: 0.5.2
+ http-errors: 2.0.0
+ merge-descriptors: 1.0.3
+ methods: 1.1.2
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ path-to-regexp: 0.1.10
+ proxy-addr: 2.0.7
+ qs: 6.13.0
+ range-parser: 1.2.1
+ safe-buffer: 5.2.1
+ send: 0.19.0
+ serve-static: 1.16.2
+ setprototypeof: 1.2.0
+ statuses: 2.0.1
+ type-is: 1.6.18
+ utils-merge: 1.0.1
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ ext@1.7.0:
+ dependencies:
+ type: 2.7.3
+
+ fast-deep-equal@3.1.3: {}
+
+ fast-glob@3.3.2:
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.8
+
+ fast-json-stable-stringify@2.1.0: {}
+
+ fast-levenshtein@2.0.6: {}
+
+ fast-uri@3.0.3: {}
+
+ fastq@1.17.1:
+ dependencies:
+ reusify: 1.0.4
+
+ faye-websocket@0.11.4:
+ dependencies:
+ websocket-driver: 0.7.4
+
+ figures@2.0.0:
+ dependencies:
+ escape-string-regexp: 1.0.5
+
+ file-entry-cache@8.0.0:
+ dependencies:
+ flat-cache: 4.0.1
+
+ fill-range@7.1.1:
+ dependencies:
+ to-regex-range: 5.0.1
+
+ finalhandler@1.3.1:
+ dependencies:
+ debug: 2.6.9
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ statuses: 2.0.1
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ find-cache-dir@3.3.2:
+ dependencies:
+ commondir: 1.0.1
+ make-dir: 3.1.0
+ pkg-dir: 4.2.0
+
+ find-up@4.1.0:
+ dependencies:
+ locate-path: 5.0.0
+ path-exists: 4.0.0
+
+ find-up@5.0.0:
+ dependencies:
+ locate-path: 6.0.0
+ path-exists: 4.0.0
+
+ flat-cache@4.0.1:
+ dependencies:
+ flatted: 3.3.1
+ keyv: 4.5.4
+
+ flat@5.0.2: {}
+
+ flatted@3.3.1: {}
+
+ follow-redirects@1.15.9(debug@4.3.7):
+ optionalDependencies:
+ debug: 4.3.7
+
+ foreground-child@3.3.0:
+ dependencies:
+ cross-spawn: 7.0.3
+ signal-exit: 4.1.0
+
+ form-data@4.0.1:
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ mime-types: 2.1.35
+
+ forwarded@0.2.0: {}
+
+ fraction.js@4.3.7: {}
+
+ fresh@0.5.2: {}
+
+ fs-extra@11.2.0:
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.1
+
+ fs-extra@9.1.0:
+ dependencies:
+ at-least-node: 1.0.0
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.1
+
+ fs-monkey@1.0.6: {}
+
+ fs.realpath@1.0.0: {}
+
+ fsevents@2.3.3:
+ optional: true
+
+ function-bind@1.1.2: {}
+
+ gensync@1.0.0-beta.2: {}
+
+ get-caller-file@2.0.5: {}
+
+ get-intrinsic@1.2.4:
+ dependencies:
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ has-proto: 1.0.3
+ has-symbols: 1.0.3
+ hasown: 2.0.2
+
+ get-stream@3.0.0: {}
+
+ get-stream@4.1.0:
+ dependencies:
+ pump: 3.0.2
+
+ get-stream@6.0.1: {}
+
+ get-stream@8.0.1: {}
+
+ glob-parent@5.1.2:
+ dependencies:
+ is-glob: 4.0.3
+
+ glob-parent@6.0.2:
+ dependencies:
+ is-glob: 4.0.3
+
+ glob-to-regexp@0.4.1: {}
+
+ glob@10.4.5:
+ dependencies:
+ foreground-child: 3.3.0
+ jackspeak: 3.4.3
+ minimatch: 9.0.5
+ minipass: 7.1.2
+ package-json-from-dist: 1.0.1
+ path-scurry: 1.11.1
+
+ glob@7.2.3:
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+
+ globals@11.12.0: {}
+
+ globals@13.24.0:
+ dependencies:
+ type-fest: 0.20.2
+
+ globals@14.0.0: {}
+
+ globby@11.1.0:
+ dependencies:
+ array-union: 2.1.0
+ dir-glob: 3.0.1
+ fast-glob: 3.3.2
+ ignore: 5.3.2
+ merge2: 1.4.1
+ slash: 3.0.0
+
+ gopd@1.0.1:
+ dependencies:
+ get-intrinsic: 1.2.4
+
+ graceful-fs@4.2.11: {}
+
+ gzip-size@6.0.0:
+ dependencies:
+ duplexer: 0.1.2
+
+ handle-thing@2.0.1: {}
+
+ has-flag@3.0.0: {}
+
+ has-flag@4.0.0: {}
+
+ has-property-descriptors@1.0.2:
+ dependencies:
+ es-define-property: 1.0.0
+
+ has-proto@1.0.3: {}
+
+ has-symbols@1.0.3: {}
+
+ hash-sum@1.0.2: {}
+
+ hash-sum@2.0.0: {}
+
+ hasown@2.0.2:
+ dependencies:
+ function-bind: 1.1.2
+
+ he@1.2.0: {}
+
+ highlight.js@10.7.3: {}
+
+ highlight.js@11.10.0: {}
+
+ hookable@5.5.3: {}
+
+ hosted-git-info@2.8.9: {}
+
+ hpack.js@2.1.6:
+ dependencies:
+ inherits: 2.0.4
+ obuf: 1.1.2
+ readable-stream: 2.3.8
+ wbuf: 1.7.3
+
+ html-entities@2.5.2: {}
+
+ html-escaper@2.0.2: {}
+
+ html-minifier-terser@6.1.0:
+ dependencies:
+ camel-case: 4.1.2
+ clean-css: 5.3.3
+ commander: 8.3.0
+ he: 1.2.0
+ param-case: 3.0.4
+ relateurl: 0.2.7
+ terser: 5.36.0
+
+ html-tags@2.0.0: {}
+
+ html-tags@3.3.1: {}
+
+ html-void-elements@2.0.1: {}
+
+ html-webpack-plugin@5.6.3(webpack@5.95.0):
+ dependencies:
+ '@types/html-minifier-terser': 6.1.0
+ html-minifier-terser: 6.1.0
+ lodash: 4.17.21
+ pretty-error: 4.0.0
+ tapable: 2.2.1
+ optionalDependencies:
+ webpack: 5.95.0
+
+ htmlparser2@6.1.0:
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ domutils: 2.8.0
+ entities: 2.2.0
+
+ http-deceiver@1.2.7: {}
+
+ http-errors@1.6.3:
+ dependencies:
+ depd: 1.1.2
+ inherits: 2.0.3
+ setprototypeof: 1.1.0
+ statuses: 1.5.0
+
+ http-errors@2.0.0:
+ dependencies:
+ depd: 2.0.0
+ inherits: 2.0.4
+ setprototypeof: 1.2.0
+ statuses: 2.0.1
+ toidentifier: 1.0.1
+
+ http-parser-js@0.5.8: {}
+
+ http-proxy-middleware@2.0.7(@types/express@4.17.21)(debug@4.3.7):
+ dependencies:
+ '@types/http-proxy': 1.17.15
+ http-proxy: 1.18.1(debug@4.3.7)
+ is-glob: 4.0.3
+ is-plain-obj: 3.0.0
+ micromatch: 4.0.8
+ optionalDependencies:
+ '@types/express': 4.17.21
+ transitivePeerDependencies:
+ - debug
+
+ http-proxy@1.18.1(debug@4.3.7):
+ dependencies:
+ eventemitter3: 4.0.7
+ follow-redirects: 1.15.9(debug@4.3.7)
+ requires-port: 1.0.0
+ transitivePeerDependencies:
+ - debug
+
+ human-signals@2.1.0: {}
+
+ human-signals@5.0.0: {}
+
+ i18next@20.6.1:
+ dependencies:
+ '@babel/runtime': 7.25.9
+
+ iconv-lite@0.4.24:
+ dependencies:
+ safer-buffer: 2.1.2
+
+ icss-utils@5.1.0(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+
+ ieee754@1.2.1: {}
+
+ ignore@5.3.2: {}
+
+ immer@9.0.21: {}
+
+ immutable@4.3.7: {}
+
+ import-fresh@3.3.0:
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+
+ imurmurhash@0.1.4: {}
+
+ inflight@1.0.6:
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+
+ inherits@2.0.3: {}
+
+ inherits@2.0.4: {}
+
+ ipaddr.js@1.9.1: {}
+
+ ipaddr.js@2.2.0: {}
+
+ is-arrayish@0.2.1: {}
+
+ is-binary-path@2.1.0:
+ dependencies:
+ binary-extensions: 2.3.0
+
+ is-ci@1.2.1:
+ dependencies:
+ ci-info: 1.6.0
+
+ is-core-module@2.15.1:
+ dependencies:
+ hasown: 2.0.2
+
+ is-docker@2.2.1: {}
+
+ is-docker@3.0.0: {}
+
+ is-extglob@2.1.1: {}
+
+ is-file-esm@1.0.0:
+ dependencies:
+ read-pkg-up: 7.0.1
+
+ is-fullwidth-code-point@2.0.0: {}
+
+ is-fullwidth-code-point@3.0.0: {}
+
+ is-glob@4.0.3:
+ dependencies:
+ is-extglob: 2.1.1
+
+ is-hotkey@0.2.0: {}
+
+ is-inside-container@1.0.0:
+ dependencies:
+ is-docker: 3.0.0
+
+ is-interactive@1.0.0: {}
+
+ is-number@7.0.0: {}
+
+ is-plain-obj@3.0.0: {}
+
+ is-plain-object@2.0.4:
+ dependencies:
+ isobject: 3.0.1
+
+ is-plain-object@5.0.0: {}
+
+ is-stream@1.1.0: {}
+
+ is-stream@2.0.1: {}
+
+ is-stream@3.0.0: {}
+
+ is-unicode-supported@0.1.0: {}
+
+ is-url@1.2.4: {}
+
+ is-what@4.1.16: {}
+
+ is-wsl@2.2.0:
+ dependencies:
+ is-docker: 2.2.1
+
+ is-wsl@3.1.0:
+ dependencies:
+ is-inside-container: 1.0.0
+
+ isarray@1.0.0: {}
+
+ isexe@2.0.0: {}
+
+ isobject@3.0.1: {}
+
+ jackspeak@3.4.3:
+ dependencies:
+ '@isaacs/cliui': 8.0.2
+ optionalDependencies:
+ '@pkgjs/parseargs': 0.11.0
+
+ javascript-stringify@2.1.0: {}
+
+ jest-worker@27.5.1:
+ dependencies:
+ '@types/node': 22.7.8
+ merge-stream: 2.0.0
+ supports-color: 8.1.1
+
+ jest-worker@28.1.3:
+ dependencies:
+ '@types/node': 22.7.8
+ merge-stream: 2.0.0
+ supports-color: 8.1.1
+
+ jiti@1.21.6: {}
+
+ joi@17.13.3:
+ dependencies:
+ '@hapi/hoek': 9.3.0
+ '@hapi/topo': 5.1.0
+ '@sideway/address': 4.1.5
+ '@sideway/formula': 3.0.1
+ '@sideway/pinpoint': 2.0.0
+
+ js-cookie@3.0.5: {}
+
+ js-message@1.0.7: {}
+
+ js-tokens@4.0.0: {}
+
+ js-yaml@4.1.0:
+ dependencies:
+ argparse: 2.0.1
+
+ jsesc@3.0.2: {}
+
+ json-buffer@3.0.1: {}
+
+ json-parse-better-errors@1.0.2: {}
+
+ json-parse-even-better-errors@2.3.1: {}
+
+ json-schema-traverse@0.4.1: {}
+
+ json-schema-traverse@1.0.0: {}
+
+ json-stable-stringify-without-jsonify@1.0.1: {}
+
+ json5@1.0.2:
+ dependencies:
+ minimist: 1.2.8
+
+ json5@2.2.3: {}
+
+ jsonfile@6.1.0:
+ dependencies:
+ universalify: 2.0.1
+ optionalDependencies:
+ graceful-fs: 4.2.11
+
+ keyv@4.5.4:
+ dependencies:
+ json-buffer: 3.0.1
+
+ kind-of@6.0.3: {}
+
+ klona@2.0.6: {}
+
+ kolorist@1.8.0: {}
+
+ launch-editor-middleware@2.9.1:
+ dependencies:
+ launch-editor: 2.9.1
+
+ launch-editor@2.9.1:
+ dependencies:
+ picocolors: 1.1.1
+ shell-quote: 1.8.1
+
+ levn@0.4.1:
+ dependencies:
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+
+ lilconfig@2.1.0: {}
+
+ lilconfig@3.1.2: {}
+
+ lines-and-columns@1.2.4: {}
+
+ loader-runner@4.3.0: {}
+
+ loader-utils@1.4.2:
+ dependencies:
+ big.js: 5.2.2
+ emojis-list: 3.0.0
+ json5: 1.0.2
+
+ loader-utils@2.0.4:
+ dependencies:
+ big.js: 5.2.2
+ emojis-list: 3.0.0
+ json5: 2.2.3
+
+ locate-path@5.0.0:
+ dependencies:
+ p-locate: 4.1.0
+
+ locate-path@6.0.0:
+ dependencies:
+ p-locate: 5.0.0
+
+ lodash-es@4.17.21: {}
+
+ lodash-unified@1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21):
+ dependencies:
+ '@types/lodash-es': 4.17.12
+ lodash: 4.17.21
+ lodash-es: 4.17.21
+
+ lodash.camelcase@4.3.0: {}
+
+ lodash.clonedeep@4.5.0: {}
+
+ lodash.debounce@4.0.8: {}
+
+ lodash.defaultsdeep@4.6.1: {}
+
+ lodash.foreach@4.5.0: {}
+
+ lodash.isequal@4.5.0: {}
+
+ lodash.kebabcase@4.1.1: {}
+
+ lodash.mapvalues@4.6.0: {}
+
+ lodash.memoize@4.1.2: {}
+
+ lodash.merge@4.6.2: {}
+
+ lodash.throttle@4.1.1: {}
+
+ lodash.toarray@4.4.0: {}
+
+ lodash.uniq@4.5.0: {}
+
+ lodash@4.17.21: {}
+
+ log-symbols@4.1.0:
+ dependencies:
+ chalk: 4.1.2
+ is-unicode-supported: 0.1.0
+
+ log-update@2.3.0:
+ dependencies:
+ ansi-escapes: 3.2.0
+ cli-cursor: 2.1.0
+ wrap-ansi: 3.0.1
+
+ lower-case@2.0.2:
+ dependencies:
+ tslib: 2.8.0
+
+ lru-cache@10.4.3: {}
+
+ lru-cache@4.1.5:
+ dependencies:
+ pseudomap: 1.0.2
+ yallist: 2.1.2
+
+ lru-cache@5.1.1:
+ dependencies:
+ yallist: 3.1.1
+
+ lru-cache@6.0.0:
+ dependencies:
+ yallist: 4.0.0
+
+ magic-string@0.30.12:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.0
+
+ make-dir@3.1.0:
+ dependencies:
+ semver: 6.3.1
+
+ marked-highlight@2.2.0(marked@14.1.1):
+ dependencies:
+ marked: 14.1.1
+
+ marked@14.1.1: {}
+
+ mdn-data@2.0.14: {}
+
+ media-typer@0.3.0: {}
+
+ memfs@3.5.3:
+ dependencies:
+ fs-monkey: 1.0.6
+
+ memoize-one@6.0.0: {}
+
+ meow@13.2.0: {}
+
+ merge-descriptors@1.0.3: {}
+
+ merge-source-map@1.1.0:
+ dependencies:
+ source-map: 0.6.1
+
+ merge-stream@2.0.0: {}
+
+ merge2@1.4.1: {}
+
+ methods@1.1.2: {}
+
+ micromatch@4.0.8:
+ dependencies:
+ braces: 3.0.3
+ picomatch: 2.3.1
+
+ mime-db@1.52.0: {}
+
+ mime-db@1.53.0: {}
+
+ mime-match@1.0.2:
+ dependencies:
+ wildcard: 1.1.2
+
+ mime-types@2.1.35:
+ dependencies:
+ mime-db: 1.52.0
+
+ mime@1.6.0: {}
+
+ mimic-fn@1.2.0: {}
+
+ mimic-fn@2.1.0: {}
+
+ mimic-fn@4.0.0: {}
+
+ mini-css-extract-plugin@2.9.1(webpack@5.95.0):
+ dependencies:
+ schema-utils: 4.2.0
+ tapable: 2.2.1
+ webpack: 5.95.0
+
+ minimalistic-assert@1.0.1: {}
+
+ minimatch@3.1.2:
+ dependencies:
+ brace-expansion: 1.1.11
+
+ minimatch@9.0.5:
+ dependencies:
+ brace-expansion: 2.0.1
+
+ minimist@1.2.8: {}
+
+ minipass@3.3.6:
+ dependencies:
+ yallist: 4.0.0
+
+ minipass@7.1.2: {}
+
+ mitt@3.0.1: {}
+
+ mkdirp@0.5.6:
+ dependencies:
+ minimist: 1.2.8
+
+ module-alias@2.2.3: {}
+
+ mrmime@2.0.0: {}
+
+ ms@2.0.0: {}
+
+ ms@2.1.3: {}
+
+ multicast-dns@7.2.5:
+ dependencies:
+ dns-packet: 5.6.1
+ thunky: 1.1.0
+
+ mz@2.7.0:
+ dependencies:
+ any-promise: 1.3.0
+ object-assign: 4.1.1
+ thenify-all: 1.6.0
+
+ namespace-emitter@2.0.1: {}
+
+ nanoid@3.3.7: {}
+
+ natural-compare@1.4.0: {}
+
+ negotiator@0.6.3: {}
+
+ neo-async@2.6.2: {}
+
+ next-tick@1.1.0: {}
+
+ nice-try@1.0.5: {}
+
+ no-case@3.0.4:
+ dependencies:
+ lower-case: 2.0.2
+ tslib: 2.8.0
+
+ node-addon-api@7.1.1: {}
+
+ node-fetch@2.7.0:
+ dependencies:
+ whatwg-url: 5.0.0
+
+ node-forge@1.3.1: {}
+
+ node-releases@2.0.18: {}
+
+ normalize-package-data@2.5.0:
+ dependencies:
+ hosted-git-info: 2.8.9
+ resolve: 1.22.8
+ semver: 5.7.2
+ validate-npm-package-license: 3.0.4
+
+ normalize-path@1.0.0: {}
+
+ normalize-path@3.0.0: {}
+
+ normalize-range@0.1.2: {}
+
+ normalize-url@6.1.0: {}
+
+ normalize-wheel-es@1.2.0: {}
+
+ npm-run-path@2.0.2:
+ dependencies:
+ path-key: 2.0.1
+
+ npm-run-path@4.0.1:
+ dependencies:
+ path-key: 3.1.1
+
+ npm-run-path@5.3.0:
+ dependencies:
+ path-key: 4.0.0
+
+ nprogress@0.2.0: {}
+
+ nth-check@2.1.1:
+ dependencies:
+ boolbase: 1.0.0
+
+ object-assign@4.1.1: {}
+
+ object-hash@3.0.0: {}
+
+ object-inspect@1.13.2: {}
+
+ object-keys@1.1.1: {}
+
+ object.assign@4.1.5:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ has-symbols: 1.0.3
+ object-keys: 1.1.1
+
+ obuf@1.1.2: {}
+
+ on-finished@2.4.1:
+ dependencies:
+ ee-first: 1.1.1
+
+ on-headers@1.0.2: {}
+
+ once@1.4.0:
+ dependencies:
+ wrappy: 1.0.2
+
+ onetime@2.0.1:
+ dependencies:
+ mimic-fn: 1.2.0
+
+ onetime@5.1.2:
+ dependencies:
+ mimic-fn: 2.1.0
+
+ onetime@6.0.0:
+ dependencies:
+ mimic-fn: 4.0.0
+
+ open@10.1.0:
+ dependencies:
+ default-browser: 5.2.1
+ define-lazy-prop: 3.0.0
+ is-inside-container: 1.0.0
+ is-wsl: 3.1.0
+
+ open@8.4.2:
+ dependencies:
+ define-lazy-prop: 2.0.0
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+
+ opener@1.5.2: {}
+
+ optionator@0.9.4:
+ dependencies:
+ deep-is: 0.1.4
+ fast-levenshtein: 2.0.6
+ levn: 0.4.1
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ word-wrap: 1.2.5
+
+ ora@5.4.1:
+ dependencies:
+ bl: 4.1.0
+ chalk: 4.1.2
+ cli-cursor: 3.1.0
+ cli-spinners: 2.9.2
+ is-interactive: 1.0.0
+ is-unicode-supported: 0.1.0
+ log-symbols: 4.1.0
+ strip-ansi: 6.0.1
+ wcwidth: 1.0.1
+
+ p-finally@1.0.0: {}
+
+ p-limit@2.3.0:
+ dependencies:
+ p-try: 2.2.0
+
+ p-limit@3.1.0:
+ dependencies:
+ yocto-queue: 0.1.0
+
+ p-locate@4.1.0:
+ dependencies:
+ p-limit: 2.3.0
+
+ p-locate@5.0.0:
+ dependencies:
+ p-limit: 3.1.0
+
+ p-retry@4.6.2:
+ dependencies:
+ '@types/retry': 0.12.0
+ retry: 0.13.1
+
+ p-try@2.2.0: {}
+
+ package-json-from-dist@1.0.1: {}
+
+ param-case@3.0.4:
+ dependencies:
+ dot-case: 3.0.4
+ tslib: 2.8.0
+
+ parent-module@1.0.1:
+ dependencies:
+ callsites: 3.1.0
+
+ parse-json@5.2.0:
+ dependencies:
+ '@babel/code-frame': 7.25.9
+ error-ex: 1.3.2
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
+
+ parse5-htmlparser2-tree-adapter@6.0.1:
+ dependencies:
+ parse5: 6.0.1
+
+ parse5@5.1.1: {}
+
+ parse5@6.0.1: {}
+
+ parseurl@1.3.3: {}
+
+ pascal-case@3.1.2:
+ dependencies:
+ no-case: 3.0.4
+ tslib: 2.8.0
+
+ path-exists@4.0.0: {}
+
+ path-is-absolute@1.0.1: {}
+
+ path-key@2.0.1: {}
+
+ path-key@3.1.1: {}
+
+ path-key@4.0.0: {}
+
+ path-parse@1.0.7: {}
+
+ path-scurry@1.11.1:
+ dependencies:
+ lru-cache: 10.4.3
+ minipass: 7.1.2
+
+ path-to-regexp@0.1.10: {}
+
+ path-type@4.0.0: {}
+
+ path@0.12.7:
+ dependencies:
+ process: 0.11.10
+ util: 0.10.4
+
+ pathe@1.1.2: {}
+
+ perfect-debounce@1.0.0: {}
+
+ picocolors@0.2.1: {}
+
+ picocolors@1.1.1: {}
+
+ picomatch@2.3.1: {}
+
+ pify@2.3.0: {}
+
+ pinia@2.2.4(vue@3.5.12):
+ dependencies:
+ '@vue/devtools-api': 6.6.4
+ vue: 3.5.12
+ vue-demi: 0.14.10(vue@3.5.12)
+
+ pirates@4.0.6: {}
+
+ pkg-dir@4.2.0:
+ dependencies:
+ find-up: 4.1.0
+
+ portfinder@1.0.32:
+ dependencies:
+ async: 2.6.4
+ debug: 3.2.7
+ mkdirp: 0.5.6
+ transitivePeerDependencies:
+ - supports-color
+
+ postcss-calc@8.2.4(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+ postcss-selector-parser: 6.1.2
+ postcss-value-parser: 4.2.0
+
+ postcss-colormin@5.3.1(postcss@8.4.47):
+ dependencies:
+ browserslist: 4.24.2
+ caniuse-api: 3.0.0
+ colord: 2.9.3
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+
+ postcss-convert-values@5.1.3(postcss@8.4.47):
+ dependencies:
+ browserslist: 4.24.2
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+
+ postcss-discard-comments@5.1.2(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+
+ postcss-discard-duplicates@5.1.0(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+
+ postcss-discard-empty@5.1.1(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+
+ postcss-discard-overridden@5.1.0(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+
+ postcss-import@15.1.0(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+ read-cache: 1.0.0
+ resolve: 1.22.8
+
+ postcss-js@4.0.1(postcss@8.4.47):
+ dependencies:
+ camelcase-css: 2.0.1
+ postcss: 8.4.47
+
+ postcss-load-config@4.0.2(postcss@8.4.47):
+ dependencies:
+ lilconfig: 3.1.2
+ yaml: 2.6.0
+ optionalDependencies:
+ postcss: 8.4.47
+
+ postcss-loader@6.2.1(postcss@8.4.47)(webpack@5.95.0):
+ dependencies:
+ cosmiconfig: 7.1.0
+ klona: 2.0.6
+ postcss: 8.4.47
+ semver: 7.6.3
+ webpack: 5.95.0
+
+ postcss-merge-longhand@5.1.7(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+ stylehacks: 5.1.1(postcss@8.4.47)
+
+ postcss-merge-rules@5.1.4(postcss@8.4.47):
+ dependencies:
+ browserslist: 4.24.2
+ caniuse-api: 3.0.0
+ cssnano-utils: 3.1.0(postcss@8.4.47)
+ postcss: 8.4.47
+ postcss-selector-parser: 6.1.2
+
+ postcss-minify-font-values@5.1.0(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+
+ postcss-minify-gradients@5.1.1(postcss@8.4.47):
+ dependencies:
+ colord: 2.9.3
+ cssnano-utils: 3.1.0(postcss@8.4.47)
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+
+ postcss-minify-params@5.1.4(postcss@8.4.47):
+ dependencies:
+ browserslist: 4.24.2
+ cssnano-utils: 3.1.0(postcss@8.4.47)
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+
+ postcss-minify-selectors@5.2.1(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+ postcss-selector-parser: 6.1.2
+
+ postcss-modules-extract-imports@3.1.0(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+
+ postcss-modules-local-by-default@4.0.5(postcss@8.4.47):
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.4.47)
+ postcss: 8.4.47
+ postcss-selector-parser: 6.1.2
+ postcss-value-parser: 4.2.0
+
+ postcss-modules-scope@3.2.0(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+ postcss-selector-parser: 6.1.2
+
+ postcss-modules-values@4.0.0(postcss@8.4.47):
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.4.47)
+ postcss: 8.4.47
+
+ postcss-nested@6.2.0(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+ postcss-selector-parser: 6.1.2
+
+ postcss-normalize-charset@5.1.0(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+
+ postcss-normalize-display-values@5.1.0(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-positions@5.1.1(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-repeat-style@5.1.1(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-string@5.1.0(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-timing-functions@5.1.0(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-unicode@5.1.1(postcss@8.4.47):
+ dependencies:
+ browserslist: 4.24.2
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-url@5.1.0(postcss@8.4.47):
+ dependencies:
+ normalize-url: 6.1.0
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-whitespace@5.1.1(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+
+ postcss-ordered-values@5.1.3(postcss@8.4.47):
+ dependencies:
+ cssnano-utils: 3.1.0(postcss@8.4.47)
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+
+ postcss-reduce-initial@5.1.2(postcss@8.4.47):
+ dependencies:
+ browserslist: 4.24.2
+ caniuse-api: 3.0.0
+ postcss: 8.4.47
+
+ postcss-reduce-transforms@5.1.0(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+
+ postcss-selector-parser@6.1.2:
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
+ postcss-svgo@5.1.0(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+ svgo: 2.8.0
+
+ postcss-unique-selectors@5.1.1(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+ postcss-selector-parser: 6.1.2
+
+ postcss-value-parser@4.2.0: {}
+
+ postcss@7.0.39:
+ dependencies:
+ picocolors: 0.2.1
+ source-map: 0.6.1
+
+ postcss@8.4.47:
+ dependencies:
+ nanoid: 3.3.7
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
+
+ preact@10.24.3: {}
+
+ prelude-ls@1.2.1: {}
+
+ prettier@2.8.8:
+ optional: true
+
+ pretty-error@4.0.0:
+ dependencies:
+ lodash: 4.17.21
+ renderkid: 3.0.0
+
+ prismjs@1.29.0: {}
+
+ process-nextick-args@2.0.1: {}
+
+ process@0.11.10: {}
+
+ progress-webpack-plugin@1.0.16(webpack@5.95.0):
+ dependencies:
+ chalk: 2.4.2
+ figures: 2.0.0
+ log-update: 2.3.0
+ webpack: 5.95.0
+
+ proxy-addr@2.0.7:
+ dependencies:
+ forwarded: 0.2.0
+ ipaddr.js: 1.9.1
+
+ proxy-from-env@1.1.0: {}
+
+ pseudomap@1.0.2: {}
+
+ pump@3.0.2:
+ dependencies:
+ end-of-stream: 1.4.4
+ once: 1.4.0
+
+ punycode@2.3.1: {}
+
+ qs@6.13.0:
+ dependencies:
+ side-channel: 1.0.6
+
+ queue-microtask@1.2.3: {}
+
+ randombytes@2.1.0:
+ dependencies:
+ safe-buffer: 5.2.1
+
+ range-parser@1.2.1: {}
+
+ raw-body@2.5.2:
+ dependencies:
+ bytes: 3.1.2
+ http-errors: 2.0.0
+ iconv-lite: 0.4.24
+ unpipe: 1.0.0
+
+ read-cache@1.0.0:
+ dependencies:
+ pify: 2.3.0
+
+ read-pkg-up@7.0.1:
+ dependencies:
+ find-up: 4.1.0
+ read-pkg: 5.2.0
+ type-fest: 0.8.1
+
+ read-pkg@5.2.0:
+ dependencies:
+ '@types/normalize-package-data': 2.4.4
+ normalize-package-data: 2.5.0
+ parse-json: 5.2.0
+ type-fest: 0.6.0
+
+ readable-stream@2.3.8:
+ dependencies:
+ core-util-is: 1.0.3
+ inherits: 2.0.4
+ isarray: 1.0.0
+ process-nextick-args: 2.0.1
+ safe-buffer: 5.1.2
+ string_decoder: 1.1.1
+ util-deprecate: 1.0.2
+
+ readable-stream@3.6.2:
+ dependencies:
+ inherits: 2.0.4
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
+
+ readdirp@3.6.0:
+ dependencies:
+ picomatch: 2.3.1
+
+ readdirp@4.0.2: {}
+
+ regenerate-unicode-properties@10.2.0:
+ dependencies:
+ regenerate: 1.4.2
+
+ regenerate@1.4.2: {}
+
+ regenerator-runtime@0.14.1: {}
+
+ regenerator-transform@0.15.2:
+ dependencies:
+ '@babel/runtime': 7.25.9
+
+ regexpu-core@6.1.1:
+ dependencies:
+ regenerate: 1.4.2
+ regenerate-unicode-properties: 10.2.0
+ regjsgen: 0.8.0
+ regjsparser: 0.11.1
+ unicode-match-property-ecmascript: 2.0.0
+ unicode-match-property-value-ecmascript: 2.2.0
+
+ regjsgen@0.8.0: {}
+
+ regjsparser@0.11.1:
+ dependencies:
+ jsesc: 3.0.2
+
+ relateurl@0.2.7: {}
+
+ renderkid@3.0.0:
+ dependencies:
+ css-select: 4.3.0
+ dom-converter: 0.2.0
+ htmlparser2: 6.1.0
+ lodash: 4.17.21
+ strip-ansi: 6.0.1
+
+ require-directory@2.1.1: {}
+
+ require-from-string@2.0.2: {}
+
+ requires-port@1.0.0: {}
+
+ resolve-from@4.0.0: {}
+
+ resolve@1.22.8:
+ dependencies:
+ is-core-module: 2.15.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+
+ restore-cursor@2.0.0:
+ dependencies:
+ onetime: 2.0.1
+ signal-exit: 3.0.7
+
+ restore-cursor@3.1.0:
+ dependencies:
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+
+ retry@0.13.1: {}
+
+ reusify@1.0.4: {}
+
+ rfdc@1.4.1: {}
+
+ rimraf@3.0.2:
+ dependencies:
+ glob: 7.2.3
+
+ rollup@4.24.0:
+ dependencies:
+ '@types/estree': 1.0.6
+ optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.24.0
+ '@rollup/rollup-android-arm64': 4.24.0
+ '@rollup/rollup-darwin-arm64': 4.24.0
+ '@rollup/rollup-darwin-x64': 4.24.0
+ '@rollup/rollup-linux-arm-gnueabihf': 4.24.0
+ '@rollup/rollup-linux-arm-musleabihf': 4.24.0
+ '@rollup/rollup-linux-arm64-gnu': 4.24.0
+ '@rollup/rollup-linux-arm64-musl': 4.24.0
+ '@rollup/rollup-linux-powerpc64le-gnu': 4.24.0
+ '@rollup/rollup-linux-riscv64-gnu': 4.24.0
+ '@rollup/rollup-linux-s390x-gnu': 4.24.0
+ '@rollup/rollup-linux-x64-gnu': 4.24.0
+ '@rollup/rollup-linux-x64-musl': 4.24.0
+ '@rollup/rollup-win32-arm64-msvc': 4.24.0
+ '@rollup/rollup-win32-ia32-msvc': 4.24.0
+ '@rollup/rollup-win32-x64-msvc': 4.24.0
+ fsevents: 2.3.3
+
+ run-applescript@7.0.0: {}
+
+ run-parallel@1.2.0:
+ dependencies:
+ queue-microtask: 1.2.3
+
+ safe-buffer@5.1.2: {}
+
+ safe-buffer@5.2.1: {}
+
+ safer-buffer@2.1.2: {}
+
+ sass@1.80.3:
+ dependencies:
+ '@parcel/watcher': 2.4.1
+ chokidar: 4.0.1
+ immutable: 4.3.7
+ source-map-js: 1.2.1
+
+ schema-utils@2.7.1:
+ dependencies:
+ '@types/json-schema': 7.0.15
+ ajv: 6.12.6
+ ajv-keywords: 3.5.2(ajv@6.12.6)
+
+ schema-utils@3.3.0:
+ dependencies:
+ '@types/json-schema': 7.0.15
+ ajv: 6.12.6
+ ajv-keywords: 3.5.2(ajv@6.12.6)
+
+ schema-utils@4.2.0:
+ dependencies:
+ '@types/json-schema': 7.0.15
+ ajv: 8.17.1
+ ajv-formats: 2.1.1(ajv@8.17.1)
+ ajv-keywords: 5.1.0(ajv@8.17.1)
+
+ screenfull@6.0.2: {}
+
+ scroll-into-view-if-needed@2.2.31:
+ dependencies:
+ compute-scroll-into-view: 1.0.20
+
+ select-hose@2.0.0: {}
+
+ selfsigned@2.4.1:
+ dependencies:
+ '@types/node-forge': 1.3.11
+ node-forge: 1.3.1
+
+ semver@5.7.2: {}
+
+ semver@6.3.1: {}
+
+ semver@7.6.3: {}
+
+ send@0.19.0:
+ dependencies:
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ etag: 1.8.1
+ fresh: 0.5.2
+ http-errors: 2.0.0
+ mime: 1.6.0
+ ms: 2.1.3
+ on-finished: 2.4.1
+ range-parser: 1.2.1
+ statuses: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ serialize-javascript@6.0.2:
+ dependencies:
+ randombytes: 2.1.0
+
+ serve-index@1.9.1:
+ dependencies:
+ accepts: 1.3.8
+ batch: 0.6.1
+ debug: 2.6.9
+ escape-html: 1.0.3
+ http-errors: 1.6.3
+ mime-types: 2.1.35
+ parseurl: 1.3.3
+ transitivePeerDependencies:
+ - supports-color
+
+ serve-static@1.16.2:
+ dependencies:
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ parseurl: 1.3.3
+ send: 0.19.0
+ transitivePeerDependencies:
+ - supports-color
+
+ set-function-length@1.2.2:
+ dependencies:
+ define-data-property: 1.1.4
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.4
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.2
+
+ setprototypeof@1.1.0: {}
+
+ setprototypeof@1.2.0: {}
+
+ shallow-clone@3.0.1:
+ dependencies:
+ kind-of: 6.0.3
+
+ shebang-command@1.2.0:
+ dependencies:
+ shebang-regex: 1.0.0
+
+ shebang-command@2.0.0:
+ dependencies:
+ shebang-regex: 3.0.0
+
+ shebang-regex@1.0.0: {}
+
+ shebang-regex@3.0.0: {}
+
+ shell-quote@1.8.1: {}
+
+ side-channel@1.0.6:
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+ object-inspect: 1.13.2
+
+ signal-exit@3.0.7: {}
+
+ signal-exit@4.1.0: {}
+
+ sirv@2.0.4:
+ dependencies:
+ '@polka/url': 1.0.0-next.28
+ mrmime: 2.0.0
+ totalist: 3.0.1
+
+ sirv@3.0.0:
+ dependencies:
+ '@polka/url': 1.0.0-next.28
+ mrmime: 2.0.0
+ totalist: 3.0.1
+
+ slash@3.0.0: {}
+
+ slate-history@0.66.0(slate@0.72.8):
+ dependencies:
+ is-plain-object: 5.0.0
+ slate: 0.72.8
+
+ slate@0.72.8:
+ dependencies:
+ immer: 9.0.21
+ is-plain-object: 5.0.0
+ tiny-warning: 1.0.3
+
+ snabbdom@3.6.2: {}
+
+ sockjs@0.3.24:
+ dependencies:
+ faye-websocket: 0.11.4
+ uuid: 8.3.2
+ websocket-driver: 0.7.4
+
+ sortablejs@1.14.0: {}
+
+ sortablejs@1.15.3: {}
+
+ source-map-js@1.2.1: {}
+
+ source-map-support@0.5.21:
+ dependencies:
+ buffer-from: 1.1.2
+ source-map: 0.6.1
+
+ source-map@0.6.1: {}
+
+ spark-md5@3.0.2: {}
+
+ spdx-correct@3.2.0:
+ dependencies:
+ spdx-expression-parse: 3.0.1
+ spdx-license-ids: 3.0.20
+
+ spdx-exceptions@2.5.0: {}
+
+ spdx-expression-parse@3.0.1:
+ dependencies:
+ spdx-exceptions: 2.5.0
+ spdx-license-ids: 3.0.20
+
+ spdx-license-ids@3.0.20: {}
+
+ spdy-transport@3.0.0:
+ dependencies:
+ debug: 4.3.7
+ detect-node: 2.1.0
+ hpack.js: 2.1.6
+ obuf: 1.1.2
+ readable-stream: 3.6.2
+ wbuf: 1.7.3
+ transitivePeerDependencies:
+ - supports-color
+
+ spdy@4.0.2:
+ dependencies:
+ debug: 4.3.7
+ handle-thing: 2.0.1
+ http-deceiver: 1.2.7
+ select-hose: 2.0.0
+ spdy-transport: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ speakingurl@14.0.1: {}
+
+ ssr-window@3.0.0: {}
+
+ ssri@8.0.1:
+ dependencies:
+ minipass: 3.3.6
+
+ stable@0.1.8: {}
+
+ stackframe@1.3.4: {}
+
+ statuses@1.5.0: {}
+
+ statuses@2.0.1: {}
+
+ string-width@2.1.1:
+ dependencies:
+ is-fullwidth-code-point: 2.0.0
+ strip-ansi: 4.0.0
+
+ string-width@4.2.3:
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+
+ string-width@5.1.2:
+ dependencies:
+ eastasianwidth: 0.2.0
+ emoji-regex: 9.2.2
+ strip-ansi: 7.1.0
+
+ string_decoder@1.1.1:
+ dependencies:
+ safe-buffer: 5.1.2
+
+ string_decoder@1.3.0:
+ dependencies:
+ safe-buffer: 5.2.1
+
+ strip-ansi@4.0.0:
+ dependencies:
+ ansi-regex: 3.0.1
+
+ strip-ansi@6.0.1:
+ dependencies:
+ ansi-regex: 5.0.1
+
+ strip-ansi@7.1.0:
+ dependencies:
+ ansi-regex: 6.1.0
+
+ strip-eof@1.0.0: {}
+
+ strip-final-newline@2.0.0: {}
+
+ strip-final-newline@3.0.0: {}
+
+ strip-indent@2.0.0: {}
+
+ strip-json-comments@3.1.1: {}
+
+ stylehacks@5.1.1(postcss@8.4.47):
+ dependencies:
+ browserslist: 4.24.2
+ postcss: 8.4.47
+ postcss-selector-parser: 6.1.2
+
+ sucrase@3.35.0:
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.5
+ commander: 4.1.1
+ glob: 10.4.5
+ lines-and-columns: 1.2.4
+ mz: 2.7.0
+ pirates: 4.0.6
+ ts-interface-checker: 0.1.13
+
+ superjson@2.2.1:
+ dependencies:
+ copy-anything: 3.0.5
+
+ supports-color@5.5.0:
+ dependencies:
+ has-flag: 3.0.0
+
+ supports-color@7.2.0:
+ dependencies:
+ has-flag: 4.0.0
+
+ supports-color@8.1.1:
+ dependencies:
+ has-flag: 4.0.0
+
+ supports-preserve-symlinks-flag@1.0.0: {}
+
+ svg-tags@1.0.0: {}
+
+ svgo@2.8.0:
+ dependencies:
+ '@trysound/sax': 0.2.0
+ commander: 7.2.0
+ css-select: 4.3.0
+ css-tree: 1.1.3
+ csso: 4.2.0
+ picocolors: 1.1.1
+ stable: 0.1.8
+
+ systemjs@6.15.1: {}
+
+ tailwindcss@3.4.14:
+ dependencies:
+ '@alloc/quick-lru': 5.2.0
+ arg: 5.0.2
+ chokidar: 3.6.0
+ didyoumean: 1.2.2
+ dlv: 1.1.3
+ fast-glob: 3.3.2
+ glob-parent: 6.0.2
+ is-glob: 4.0.3
+ jiti: 1.21.6
+ lilconfig: 2.1.0
+ micromatch: 4.0.8
+ normalize-path: 3.0.0
+ object-hash: 3.0.0
+ picocolors: 1.1.1
+ postcss: 8.4.47
+ postcss-import: 15.1.0(postcss@8.4.47)
+ postcss-js: 4.0.1(postcss@8.4.47)
+ postcss-load-config: 4.0.2(postcss@8.4.47)
+ postcss-nested: 6.2.0(postcss@8.4.47)
+ postcss-selector-parser: 6.1.2
+ resolve: 1.22.8
+ sucrase: 3.35.0
+ transitivePeerDependencies:
+ - ts-node
+
+ tapable@2.2.1: {}
+
+ terser-webpack-plugin@5.3.10(webpack@5.95.0):
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.25
+ jest-worker: 27.5.1
+ schema-utils: 3.3.0
+ serialize-javascript: 6.0.2
+ terser: 5.36.0
+ webpack: 5.95.0
+
+ terser@5.36.0:
+ dependencies:
+ '@jridgewell/source-map': 0.3.6
+ acorn: 8.13.0
+ commander: 2.20.3
+ source-map-support: 0.5.21
+
+ text-table@0.2.0: {}
+
+ thenify-all@1.6.0:
+ dependencies:
+ thenify: 3.3.1
+
+ thenify@3.3.1:
+ dependencies:
+ any-promise: 1.3.0
+
+ thread-loader@3.0.4(webpack@5.95.0):
+ dependencies:
+ json-parse-better-errors: 1.0.2
+ loader-runner: 4.3.0
+ loader-utils: 2.0.4
+ neo-async: 2.6.2
+ schema-utils: 3.3.0
+ webpack: 5.95.0
+
+ thunky@1.1.0: {}
+
+ tiny-warning@1.0.3: {}
+
+ to-regex-range@5.0.1:
+ dependencies:
+ is-number: 7.0.0
+
+ toidentifier@1.0.1: {}
+
+ totalist@3.0.1: {}
+
+ tr46@0.0.3: {}
+
+ ts-interface-checker@0.1.13: {}
+
+ tslib@2.3.0: {}
+
+ tslib@2.8.0: {}
+
+ type-check@0.4.0:
+ dependencies:
+ prelude-ls: 1.2.1
+
+ type-fest@0.20.2: {}
+
+ type-fest@0.6.0: {}
+
+ type-fest@0.8.1: {}
+
+ type-is@1.6.18:
+ dependencies:
+ media-typer: 0.3.0
+ mime-types: 2.1.35
+
+ type@2.7.3: {}
+
+ undici-types@6.19.8: {}
+
+ unicode-canonical-property-names-ecmascript@2.0.1: {}
+
+ unicode-match-property-ecmascript@2.0.0:
+ dependencies:
+ unicode-canonical-property-names-ecmascript: 2.0.1
+ unicode-property-aliases-ecmascript: 2.1.0
+
+ unicode-match-property-value-ecmascript@2.2.0: {}
+
+ unicode-property-aliases-ecmascript@2.1.0: {}
+
+ universalify@2.0.1: {}
+
+ unpipe@1.0.0: {}
+
+ update-browserslist-db@1.1.1(browserslist@4.24.2):
+ dependencies:
+ browserslist: 4.24.2
+ escalade: 3.2.0
+ picocolors: 1.1.1
+
+ uri-js@4.4.1:
+ dependencies:
+ punycode: 2.3.1
+
+ util-deprecate@1.0.2: {}
+
+ util@0.10.4:
+ dependencies:
+ inherits: 2.0.3
+
+ utila@0.4.0: {}
+
+ utils-merge@1.0.1: {}
+
+ uuid@8.3.2: {}
+
+ validate-npm-package-license@3.0.4:
+ dependencies:
+ spdx-correct: 3.2.0
+ spdx-expression-parse: 3.0.1
+
+ vary@1.1.2: {}
+
+ vform3-builds@3.0.10: {}
+
+ vite-auto-import-svg@1.1.0: {}
+
+ vite-hot-client@0.2.3(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0)):
+ dependencies:
+ vite: 5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0)
+
+ vite-plugin-banner@0.8.0: {}
+
+ vite-plugin-importer@0.2.5:
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.9)
+ babel-plugin-import: 1.13.8
+ transitivePeerDependencies:
+ - supports-color
+
+ vite-plugin-inspect@0.8.7(rollup@4.24.0)(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0)):
+ dependencies:
+ '@antfu/utils': 0.7.10
+ '@rollup/pluginutils': 5.1.2(rollup@4.24.0)
+ debug: 4.3.7
+ error-stack-parser-es: 0.1.5
+ fs-extra: 11.2.0
+ open: 10.1.0
+ perfect-debounce: 1.0.0
+ picocolors: 1.1.1
+ sirv: 2.0.4
+ vite: 5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0)
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+
+ vite-plugin-vue-devtools@7.5.3(rollup@4.24.0)(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12):
+ dependencies:
+ '@vue/devtools-core': 7.5.3(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12)
+ '@vue/devtools-kit': 7.5.3
+ '@vue/devtools-shared': 7.5.3
+ execa: 8.0.1
+ sirv: 3.0.0
+ vite: 5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0)
+ vite-plugin-inspect: 0.8.7(rollup@4.24.0)(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0))
+ vite-plugin-vue-inspector: 5.2.0(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0))
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - rollup
+ - supports-color
+ - vue
+
+ vite-plugin-vue-inspector@5.2.0(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0)):
+ dependencies:
+ '@babel/core': 7.25.9
+ '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-syntax-import-attributes': 7.25.9(@babel/core@7.25.9)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.9)
+ '@babel/plugin-transform-typescript': 7.25.9(@babel/core@7.25.9)
+ '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.25.9)
+ '@vue/compiler-dom': 3.5.12
+ kolorist: 1.8.0
+ magic-string: 0.30.12
+ vite: 5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0):
+ dependencies:
+ esbuild: 0.21.5
+ postcss: 8.4.47
+ rollup: 4.24.0
+ optionalDependencies:
+ '@types/node': 22.7.8
+ fsevents: 2.3.3
+ sass: 1.80.3
+ terser: 5.36.0
+
+ vue-demi@0.13.11(vue@3.5.12):
+ dependencies:
+ vue: 3.5.12
+
+ vue-demi@0.14.10(vue@3.5.12):
+ dependencies:
+ vue: 3.5.12
+
+ vue-echarts@7.0.3(@vue/runtime-core@3.5.12)(echarts@5.5.1)(vue@3.5.12):
+ dependencies:
+ echarts: 5.5.1
+ vue: 3.5.12
+ vue-demi: 0.13.11(vue@3.5.12)
+ optionalDependencies:
+ '@vue/runtime-core': 3.5.12
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+
+ vue-eslint-parser@9.4.3(eslint@9.13.0(jiti@1.21.6)):
+ dependencies:
+ debug: 4.3.7
+ eslint: 9.13.0(jiti@1.21.6)
+ eslint-scope: 7.2.2
+ eslint-visitor-keys: 3.4.3
+ espree: 9.6.1
+ esquery: 1.6.0
+ lodash: 4.17.21
+ semver: 7.6.3
+ transitivePeerDependencies:
+ - supports-color
+
+ vue-hot-reload-api@2.3.4: {}
+
+ vue-loader@15.11.1(@vue/compiler-sfc@3.5.12)(css-loader@6.11.0(webpack@5.95.0))(lodash@4.17.21)(webpack@5.95.0):
+ dependencies:
+ '@vue/component-compiler-utils': 3.3.0(lodash@4.17.21)
+ css-loader: 6.11.0(webpack@5.95.0)
+ hash-sum: 1.0.2
+ loader-utils: 1.4.2
+ vue-hot-reload-api: 2.3.4
+ vue-style-loader: 4.1.3
+ webpack: 5.95.0
+ optionalDependencies:
+ '@vue/compiler-sfc': 3.5.12
+ transitivePeerDependencies:
+ - arc-templates
+ - atpl
+ - babel-core
+ - bracket-template
+ - coffee-script
+ - dot
+ - dust
+ - dustjs-helpers
+ - dustjs-linkedin
+ - eco
+ - ect
+ - ejs
+ - haml-coffee
+ - hamlet
+ - hamljs
+ - handlebars
+ - hogan.js
+ - htmling
+ - jade
+ - jazz
+ - jqtpl
+ - just
+ - liquid-node
+ - liquor
+ - lodash
+ - marko
+ - mote
+ - mustache
+ - nunjucks
+ - plates
+ - pug
+ - qejs
+ - ractive
+ - razor-tmpl
+ - react
+ - react-dom
+ - slm
+ - squirrelly
+ - swig
+ - swig-templates
+ - teacup
+ - templayed
+ - then-jade
+ - then-pug
+ - tinyliquid
+ - toffee
+ - twig
+ - twing
+ - underscore
+ - vash
+ - velocityjs
+ - walrus
+ - whiskers
+
+ vue-loader@17.4.2(@vue/compiler-sfc@3.5.12)(vue@3.5.12)(webpack@5.95.0):
+ dependencies:
+ chalk: 4.1.2
+ hash-sum: 2.0.0
+ watchpack: 2.4.2
+ webpack: 5.95.0
+ optionalDependencies:
+ '@vue/compiler-sfc': 3.5.12
+ vue: 3.5.12
+
+ vue-router@4.4.5(vue@3.5.12):
+ dependencies:
+ '@vue/devtools-api': 6.6.4
+ vue: 3.5.12
+
+ vue-style-loader@4.1.3:
+ dependencies:
+ hash-sum: 1.0.2
+ loader-utils: 1.4.2
+
+ vue-template-es2015-compiler@1.9.1: {}
+
+ vue@3.5.12:
+ dependencies:
+ '@vue/compiler-dom': 3.5.12
+ '@vue/compiler-sfc': 3.5.12
+ '@vue/runtime-dom': 3.5.12
+ '@vue/server-renderer': 3.5.12(vue@3.5.12)
+ '@vue/shared': 3.5.12
+
+ vuedraggable@4.1.0(vue@3.5.12):
+ dependencies:
+ sortablejs: 1.14.0
+ vue: 3.5.12
+
+ wangeditor@4.7.15:
+ dependencies:
+ '@babel/runtime': 7.25.9
+ '@babel/runtime-corejs3': 7.25.9
+ tslib: 2.8.0
+
+ watchpack@2.4.2:
+ dependencies:
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+
+ wbuf@1.7.3:
+ dependencies:
+ minimalistic-assert: 1.0.1
+
+ wcwidth@1.0.1:
+ dependencies:
+ defaults: 1.0.4
+
+ webidl-conversions@3.0.1: {}
+
+ webpack-bundle-analyzer@4.10.2:
+ dependencies:
+ '@discoveryjs/json-ext': 0.5.7
+ acorn: 8.13.0
+ acorn-walk: 8.3.4
+ commander: 7.2.0
+ debounce: 1.2.1
+ escape-string-regexp: 4.0.0
+ gzip-size: 6.0.0
+ html-escaper: 2.0.2
+ opener: 1.5.2
+ picocolors: 1.1.1
+ sirv: 2.0.4
+ ws: 7.5.10
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+
+ webpack-chain@6.5.1:
+ dependencies:
+ deepmerge: 1.5.2
+ javascript-stringify: 2.1.0
+
+ webpack-dev-middleware@5.3.4(webpack@5.95.0):
+ dependencies:
+ colorette: 2.0.20
+ memfs: 3.5.3
+ mime-types: 2.1.35
+ range-parser: 1.2.1
+ schema-utils: 4.2.0
+ webpack: 5.95.0
+
+ webpack-dev-server@4.15.2(debug@4.3.7)(webpack@5.95.0):
+ dependencies:
+ '@types/bonjour': 3.5.13
+ '@types/connect-history-api-fallback': 1.5.4
+ '@types/express': 4.17.21
+ '@types/serve-index': 1.9.4
+ '@types/serve-static': 1.15.7
+ '@types/sockjs': 0.3.36
+ '@types/ws': 8.5.12
+ ansi-html-community: 0.0.8
+ bonjour-service: 1.2.1
+ chokidar: 3.6.0
+ colorette: 2.0.20
+ compression: 1.7.4
+ connect-history-api-fallback: 2.0.0
+ default-gateway: 6.0.3
+ express: 4.21.1
+ graceful-fs: 4.2.11
+ html-entities: 2.5.2
+ http-proxy-middleware: 2.0.7(@types/express@4.17.21)(debug@4.3.7)
+ ipaddr.js: 2.2.0
+ launch-editor: 2.9.1
+ open: 8.4.2
+ p-retry: 4.6.2
+ rimraf: 3.0.2
+ schema-utils: 4.2.0
+ selfsigned: 2.4.1
+ serve-index: 1.9.1
+ sockjs: 0.3.24
+ spdy: 4.0.2
+ webpack-dev-middleware: 5.3.4(webpack@5.95.0)
+ ws: 8.18.0
+ optionalDependencies:
+ webpack: 5.95.0
+ transitivePeerDependencies:
+ - bufferutil
+ - debug
+ - supports-color
+ - utf-8-validate
+
+ webpack-merge@5.10.0:
+ dependencies:
+ clone-deep: 4.0.1
+ flat: 5.0.2
+ wildcard: 2.0.1
+
+ webpack-sources@3.2.3: {}
+
+ webpack-virtual-modules@0.4.6: {}
+
+ webpack@5.95.0:
+ dependencies:
+ '@types/estree': 1.0.6
+ '@webassemblyjs/ast': 1.12.1
+ '@webassemblyjs/wasm-edit': 1.12.1
+ '@webassemblyjs/wasm-parser': 1.12.1
+ acorn: 8.13.0
+ acorn-import-attributes: 1.9.5(acorn@8.13.0)
+ browserslist: 4.24.2
+ chrome-trace-event: 1.0.4
+ enhanced-resolve: 5.17.1
+ es-module-lexer: 1.5.4
+ eslint-scope: 5.1.1
+ events: 3.3.0
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+ json-parse-even-better-errors: 2.3.1
+ loader-runner: 4.3.0
+ mime-types: 2.1.35
+ neo-async: 2.6.2
+ schema-utils: 3.3.0
+ tapable: 2.2.1
+ terser-webpack-plugin: 5.3.10(webpack@5.95.0)
+ watchpack: 2.4.2
+ webpack-sources: 3.2.3
+ transitivePeerDependencies:
+ - '@swc/core'
+ - esbuild
+ - uglify-js
+
+ websocket-driver@0.7.4:
+ dependencies:
+ http-parser-js: 0.5.8
+ safe-buffer: 5.2.1
+ websocket-extensions: 0.1.4
+
+ websocket-extensions@0.1.4: {}
+
+ whatwg-fetch@3.6.20: {}
+
+ whatwg-url@5.0.0:
+ dependencies:
+ tr46: 0.0.3
+ webidl-conversions: 3.0.1
+
+ which@1.3.1:
+ dependencies:
+ isexe: 2.0.0
+
+ which@2.0.2:
+ dependencies:
+ isexe: 2.0.0
+
+ wildcard@1.1.2: {}
+
+ wildcard@2.0.1: {}
+
+ word-wrap@1.2.5: {}
+
+ wrap-ansi@3.0.1:
+ dependencies:
+ string-width: 2.1.1
+ strip-ansi: 4.0.0
+
+ wrap-ansi@7.0.0:
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+
+ wrap-ansi@8.1.0:
+ dependencies:
+ ansi-styles: 6.2.1
+ string-width: 5.1.2
+ strip-ansi: 7.1.0
+
+ wrappy@1.0.2: {}
+
+ ws@7.5.10: {}
+
+ ws@8.18.0: {}
+
+ xml-name-validator@4.0.0: {}
+
+ y18n@5.0.8: {}
+
+ yallist@2.1.2: {}
+
+ yallist@3.1.1: {}
+
+ yallist@4.0.0: {}
+
+ yaml@1.10.2: {}
+
+ yaml@2.6.0: {}
+
+ yargs-parser@20.2.9: {}
+
+ yargs@16.2.0:
+ dependencies:
+ cliui: 7.0.4
+ escalade: 3.2.0
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ string-width: 4.2.3
+ y18n: 5.0.8
+ yargs-parser: 20.2.9
+
+ yocto-queue@0.1.0: {}
+
+ yorkie@2.0.0:
+ dependencies:
+ execa: 0.8.0
+ is-ci: 1.2.1
+ normalize-path: 1.0.0
+ strip-indent: 2.0.0
+
+ zrender@5.6.0:
+ dependencies:
+ tslib: 2.3.0
diff --git a/postcss.config.js b/postcss.config.js
new file mode 100644
index 0000000..33ad091
--- /dev/null
+++ b/postcss.config.js
@@ -0,0 +1,6 @@
+module.exports = {
+ plugins: {
+ tailwindcss: {},
+ autoprefixer: {},
+ },
+}
diff --git a/public/favicon.ico b/public/favicon.ico
new file mode 100644
index 0000000..ee520ce
Binary files /dev/null and b/public/favicon.ico differ
diff --git a/public/logo.png b/public/logo.png
new file mode 100644
index 0000000..468cdab
Binary files /dev/null and b/public/logo.png differ
diff --git a/src/App.vue b/src/App.vue
new file mode 100644
index 0000000..c4e7535
--- /dev/null
+++ b/src/App.vue
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/api/api.js b/src/api/api.js
new file mode 100644
index 0000000..17147b0
--- /dev/null
+++ b/src/api/api.js
@@ -0,0 +1,179 @@
+import service from '@/utils/request'
+
+// @Tags api
+// @Summary 分页获取角色列表
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body modelInterface.PageInfo true "分页获取用户列表"
+// @Success 200 {string} json "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /api/getApiList [post]
+// {
+// page int
+// pageSize int
+// }
+export const getApiList = (data) => {
+ return service({
+ url: '/api/getApiList',
+ method: 'post',
+ data
+ })
+}
+
+// @Tags Api
+// @Summary 创建基础api
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body api.CreateApiParams true "创建api"
+// @Success 200 {string} json "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /api/createApi [post]
+export const createApi = (data) => {
+ return service({
+ url: '/api/createApi',
+ method: 'post',
+ data
+ })
+}
+
+// @Tags menu
+// @Summary 根据id获取菜单
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body api.GetById true "根据id获取菜单"
+// @Success 200 {string} json "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /menu/getApiById [post]
+export const getApiById = (data) => {
+ return service({
+ url: '/api/getApiById',
+ method: 'post',
+ data
+ })
+}
+
+// @Tags Api
+// @Summary 更新api
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body api.CreateApiParams true "更新api"
+// @Success 200 {string} json "{"success":true,"data":{},"msg":"更新成功"}"
+// @Router /api/updateApi [post]
+export const updateApi = (data) => {
+ return service({
+ url: '/api/updateApi',
+ method: 'post',
+ data
+ })
+}
+
+// @Tags Api
+// @Summary 更新api
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body api.CreateApiParams true "更新api"
+// @Success 200 {string} json "{"success":true,"data":{},"msg":"更新成功"}"
+// @Router /api/setAuthApi [post]
+export const setAuthApi = (data) => {
+ return service({
+ url: '/api/setAuthApi',
+ method: 'post',
+ data
+ })
+}
+
+// @Tags Api
+// @Summary 获取所有的Api 不分页
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Success 200 {string} json "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /api/getAllApis [post]
+export const getAllApis = (data) => {
+ return service({
+ url: '/api/getAllApis',
+ method: 'post',
+ data
+ })
+}
+
+// @Tags Api
+// @Summary 删除指定api
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body dbModel.Api true "删除api"
+// @Success 200 {string} json "{"success":true,"data":{},"msg":"删除成功"}"
+// @Router /api/deleteApi [post]
+export const deleteApi = (data) => {
+ return service({
+ url: '/api/deleteApi',
+ method: 'post',
+ data
+ })
+}
+
+// @Tags SysApi
+// @Summary 删除选中Api
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body request.IdsReq true "ID"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"
+// @Router /api/deleteApisByIds [delete]
+export const deleteApisByIds = (data) => {
+ return service({
+ url: '/api/deleteApisByIds',
+ method: 'delete',
+ data
+ })
+}
+
+// FreshCasbin
+// @Tags SysApi
+// @Summary 刷新casbin缓存
+// @accept application/json
+// @Produce application/json
+// @Success 200 {object} response.Response{msg=string} "刷新成功"
+// @Router /api/freshCasbin [get]
+export const freshCasbin = () => {
+ return service({
+ url: '/api/freshCasbin',
+ method: 'get'
+ })
+}
+
+
+export const syncApi = () => {
+ return service({
+ url: '/api/syncApi',
+ method: 'get'
+ })
+}
+
+
+export const getApiGroups = () => {
+ return service({
+ url: '/api/getApiGroups',
+ method: 'get'
+ })
+}
+
+export const ignoreApi = (data) => {
+ return service({
+ url: '/api/ignoreApi',
+ method: 'post',
+ data
+ })
+}
+
+
+export const enterSyncApi = (data) => {
+ return service({
+ url: '/api/enterSyncApi',
+ method: 'post',
+ data
+ })
+}
\ No newline at end of file
diff --git a/src/api/authority.js b/src/api/authority.js
new file mode 100644
index 0000000..61b2206
--- /dev/null
+++ b/src/api/authority.js
@@ -0,0 +1,85 @@
+import service from '@/utils/request'
+// @Router /authority/getAuthorityList [post]
+export const getAuthorityList = (data) => {
+ return service({
+ url: '/authority/getAuthorityList',
+ method: 'post',
+ data
+ })
+}
+
+// @Summary 删除角色
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body {authorityId uint} true "删除角色"
+// @Success 200 {string} json "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /authority/deleteAuthority [post]
+export const deleteAuthority = (data) => {
+ return service({
+ url: '/authority/deleteAuthority',
+ method: 'post',
+ data,
+ })
+}
+
+// @Summary 创建角色
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body api.CreateAuthorityPatams true "创建角色"
+// @Success 200 {string} json "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /authority/createAuthority [post]
+export const createAuthority = (data) => {
+ return service({
+ url: '/authority/createAuthority',
+ method: 'post',
+ data
+ })
+}
+
+// @Tags authority
+// @Summary 拷贝角色
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body api.CreateAuthorityPatams true "拷贝角色"
+// @Success 200 {string} json "{"success":true,"data":{},"msg":"拷贝成功"}"
+// @Router /authority/copyAuthority [post]
+export const copyAuthority = (data) => {
+ return service({
+ url: '/authority/copyAuthority',
+ method: 'post',
+ data
+ })
+}
+
+// @Summary 设置角色资源权限
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body sysModel.SysAuthority true "设置角色资源权限"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"设置成功"}"
+// @Router /authority/setDataAuthority [post]
+export const setDataAuthority = (data) => {
+ return service({
+ url: '/authority/setDataAuthority',
+ method: 'post',
+ data
+ })
+}
+
+// @Summary 修改角色
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.SysAuthority true "修改角色"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"设置成功"}"
+// @Router /authority/setDataAuthority [post]
+export const updateAuthority = (data) => {
+ return service({
+ url: '/authority/updateAuthority',
+ method: 'put',
+ data
+ })
+}
diff --git a/src/api/authorityBtn.js b/src/api/authorityBtn.js
new file mode 100644
index 0000000..9fe73bf
--- /dev/null
+++ b/src/api/authorityBtn.js
@@ -0,0 +1,27 @@
+
+import service from '@/utils/request'
+
+export const getAuthorityBtnApi = (data) => {
+ return service({
+ url: '/authorityBtn/getAuthorityBtn',
+ method: 'post',
+ data
+ })
+}
+
+export const setAuthorityBtnApi = (data) => {
+ return service({
+ url: '/authorityBtn/setAuthorityBtn',
+ method: 'post',
+ data
+ })
+}
+
+export const canRemoveAuthorityBtnApi = (params) => {
+ return service({
+ url: '/authorityBtn/canRemoveAuthorityBtn',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/api/autoCode.js b/src/api/autoCode.js
new file mode 100644
index 0000000..5443309
--- /dev/null
+++ b/src/api/autoCode.js
@@ -0,0 +1,189 @@
+import service from '@/utils/request'
+
+export const preview = (data) => {
+ return service({
+ url: '/autoCode/preview',
+ method: 'post',
+ data
+ })
+}
+
+export const createTemp = (data) => {
+ return service({
+ url: '/autoCode/createTemp',
+ method: 'post',
+ data
+ })
+}
+
+// @Tags SysApi
+// @Summary 获取当前所有数据库
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"创建成功"}"
+// @Router /autoCode/getDatabase [get]
+export const getDB = (params) => {
+ return service({
+ url: '/autoCode/getDB',
+ method: 'get',
+ params
+ })
+}
+
+// @Tags SysApi
+// @Summary 获取当前数据库所有表
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"创建成功"}"
+// @Router /autoCode/getTables [get]
+export const getTable = (params) => {
+ return service({
+ url: '/autoCode/getTables',
+ method: 'get',
+ params
+ })
+}
+
+// @Tags SysApi
+// @Summary 获取当前数据库所有表
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"创建成功"}"
+// @Router /autoCode/getColumn [get]
+export const getColumn = (params) => {
+ return service({
+ url: '/autoCode/getColumn',
+ method: 'get',
+ params
+ })
+}
+
+export const getSysHistory = (data) => {
+ return service({
+ url: '/autoCode/getSysHistory',
+ method: 'post',
+ data
+ })
+}
+
+export const rollback = (data) => {
+ return service({
+ url: '/autoCode/rollback',
+ method: 'post',
+ data
+ })
+}
+
+export const getMeta = (data) => {
+ return service({
+ url: '/autoCode/getMeta',
+ method: 'post',
+ data
+ })
+}
+
+export const delSysHistory = (data) => {
+ return service({
+ url: '/autoCode/delSysHistory',
+ method: 'post',
+ data
+ })
+}
+
+export const createPackageApi = (data) => {
+ return service({
+ url: '/autoCode/createPackage',
+ method: 'post',
+ data
+ })
+}
+
+export const getPackageApi = () => {
+ return service({
+ url: '/autoCode/getPackage',
+ method: 'post'
+ })
+}
+
+export const deletePackageApi = (data) => {
+ return service({
+ url: '/autoCode/delPackage',
+ method: 'post',
+ data
+ })
+}
+
+export const getTemplatesApi = () => {
+ return service({
+ url: '/autoCode/getTemplates',
+ method: 'get'
+ })
+}
+
+export const installPlug = (data) => {
+ return service({
+ url: '/autoCode/installPlug',
+ method: 'post',
+ data
+ })
+}
+
+export const pubPlug = (params) => {
+ return service({
+ url: '/autoCode/pubPlug',
+ method: 'post',
+ params
+ })
+}
+
+
+export const llmAuto = (data) => {
+ return service({
+ url: '/autoCode/llmAuto',
+ method: 'post',
+ data:{...data,mode:'ai'},
+ timeout: 1000 * 60 * 10,
+ loadingOption:{
+ lock: true,
+ fullscreen:true,
+ text: `小淼正在思考,请稍候...`,
+ }
+ })
+}
+
+
+export const butler = (data) => {
+ return service({
+ url: '/autoCode/llmAuto',
+ method: 'post',
+ data:{...data,mode:'butler'},
+ timeout: 1000 * 60 * 10,
+ })
+}
+
+export const addFunc = (data) => {
+ return service({
+ url: '/autoCode/addFunc',
+ method: 'post',
+ data
+ })
+}
+
+export const initMenu = (data) => {
+ return service({
+ url: '/autoCode/initMenu',
+ method: 'post',
+ data
+ })
+}
+
+export const initAPI = (data) => {
+ return service({
+ url: '/autoCode/initAPI',
+ method: 'post',
+ data
+ })
+}
diff --git a/src/api/breakpoint.js b/src/api/breakpoint.js
new file mode 100644
index 0000000..1dbfba2
--- /dev/null
+++ b/src/api/breakpoint.js
@@ -0,0 +1,43 @@
+import service from '@/utils/request'
+// @Summary 设置角色资源权限
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body sysModel.SysAuthority true "设置角色资源权限"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"设置成功"}"
+// @Router /authority/setDataAuthority [post]
+
+export const findFile = (params) => {
+ return service({
+ url: '/fileUploadAndDownload/findFile',
+ method: 'get',
+ params
+ })
+}
+
+export const breakpointContinue = (data) => {
+ return service({
+ url: '/fileUploadAndDownload/breakpointContinue',
+ method: 'post',
+ donNotShowLoading: true,
+ headers: { 'Content-Type': 'multipart/form-data' },
+ data
+ })
+}
+
+export const breakpointContinueFinish = (params) => {
+ return service({
+ url: '/fileUploadAndDownload/breakpointContinueFinish',
+ method: 'post',
+ params
+ })
+}
+
+export const removeChunk = (data, params) => {
+ return service({
+ url: '/fileUploadAndDownload/removeChunk',
+ method: 'post',
+ data,
+ params
+ })
+}
diff --git a/src/api/casbin.js b/src/api/casbin.js
new file mode 100644
index 0000000..802e130
--- /dev/null
+++ b/src/api/casbin.js
@@ -0,0 +1,32 @@
+import service from '@/utils/request'
+// @Tags authority
+// @Summary 更改角色api权限
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body api.CreateAuthorityPatams true "更改角色api权限"
+// @Success 200 {string} json "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /casbin/UpdateCasbin [post]
+export const UpdateCasbin = (data) => {
+ return service({
+ url: '/casbin/updateCasbin',
+ method: 'post',
+ data
+ })
+}
+
+// @Tags casbin
+// @Summary 获取权限列表
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body api.CreateAuthorityPatams true "获取权限列表"
+// @Success 200 {string} json "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /casbin/getPolicyPathByAuthorityId [post]
+export const getPolicyPathByAuthorityId = (data) => {
+ return service({
+ url: '/casbin/getPolicyPathByAuthorityId',
+ method: 'post',
+ data
+ })
+}
diff --git a/src/api/customer.js b/src/api/customer.js
new file mode 100644
index 0000000..4776f1c
--- /dev/null
+++ b/src/api/customer.js
@@ -0,0 +1,80 @@
+import service from '@/utils/request'
+// @Tags SysApi
+// @Summary 删除客户
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body dbModel.ExaCustomer true "删除客户"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /customer/customer [post]
+export const createExaCustomer = (data) => {
+ return service({
+ url: '/customer/customer',
+ method: 'post',
+ data
+ })
+}
+
+// @Tags SysApi
+// @Summary 更新客户信息
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body dbModel.ExaCustomer true "更新客户信息"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /customer/customer [put]
+export const updateExaCustomer = (data) => {
+ return service({
+ url: '/customer/customer',
+ method: 'put',
+ data
+ })
+}
+
+// @Tags SysApi
+// @Summary 创建客户
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body dbModel.ExaCustomer true "创建客户"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /customer/customer [delete]
+export const deleteExaCustomer = (data) => {
+ return service({
+ url: '/customer/customer',
+ method: 'delete',
+ data
+ })
+}
+
+// @Tags SysApi
+// @Summary 获取单一客户信息
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body dbModel.ExaCustomer true "获取单一客户信息"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /customer/customer [get]
+export const getExaCustomer = (params) => {
+ return service({
+ url: '/customer/customer',
+ method: 'get',
+ params
+ })
+}
+
+// @Tags SysApi
+// @Summary 获取权限客户列表
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body modelInterface.PageInfo true "获取权限客户列表"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /customer/customerList [get]
+export const getExaCustomerList = (params) => {
+ return service({
+ url: '/customer/customerList',
+ method: 'get',
+ params
+ })
+}
diff --git a/src/api/email.js b/src/api/email.js
new file mode 100644
index 0000000..c2f16f4
--- /dev/null
+++ b/src/api/email.js
@@ -0,0 +1,14 @@
+import service from '@/utils/request'
+// @Tags email
+// @Summary 发送测试邮件
+// @Security ApiKeyAuth
+// @Produce application/json
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"返回成功"}"
+// @Router /email/emailTest [post]
+export const emailTest = (data) => {
+ return service({
+ url: '/email/emailTest',
+ method: 'post',
+ data
+ })
+}
diff --git a/src/api/exportTemplate.js b/src/api/exportTemplate.js
new file mode 100644
index 0000000..5b7b278
--- /dev/null
+++ b/src/api/exportTemplate.js
@@ -0,0 +1,97 @@
+import service from '@/utils/request'
+
+// @Tags SysExportTemplate
+// @Summary 创建导出模板
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.SysExportTemplate true "创建导出模板"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"创建成功"}"
+// @Router /sysExportTemplate/createSysExportTemplate [post]
+export const createSysExportTemplate = (data) => {
+ return service({
+ url: '/sysExportTemplate/createSysExportTemplate',
+ method: 'post',
+ data
+ })
+}
+
+// @Tags SysExportTemplate
+// @Summary 删除导出模板
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.SysExportTemplate true "删除导出模板"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"
+// @Router /sysExportTemplate/deleteSysExportTemplate [delete]
+export const deleteSysExportTemplate = (data) => {
+ return service({
+ url: '/sysExportTemplate/deleteSysExportTemplate',
+ method: 'delete',
+ data
+ })
+}
+
+// @Tags SysExportTemplate
+// @Summary 批量删除导出模板
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body request.IdsReq true "批量删除导出模板"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"
+// @Router /sysExportTemplate/deleteSysExportTemplate [delete]
+export const deleteSysExportTemplateByIds = (data) => {
+ return service({
+ url: '/sysExportTemplate/deleteSysExportTemplateByIds',
+ method: 'delete',
+ data
+ })
+}
+
+// @Tags SysExportTemplate
+// @Summary 更新导出模板
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.SysExportTemplate true "更新导出模板"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"更新成功"}"
+// @Router /sysExportTemplate/updateSysExportTemplate [put]
+export const updateSysExportTemplate = (data) => {
+ return service({
+ url: '/sysExportTemplate/updateSysExportTemplate',
+ method: 'put',
+ data
+ })
+}
+
+// @Tags SysExportTemplate
+// @Summary 用id查询导出模板
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data query model.SysExportTemplate true "用id查询导出模板"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"查询成功"}"
+// @Router /sysExportTemplate/findSysExportTemplate [get]
+export const findSysExportTemplate = (params) => {
+ return service({
+ url: '/sysExportTemplate/findSysExportTemplate',
+ method: 'get',
+ params
+ })
+}
+
+// @Tags SysExportTemplate
+// @Summary 分页获取导出模板列表
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data query request.PageInfo true "分页获取导出模板列表"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /sysExportTemplate/getSysExportTemplateList [get]
+export const getSysExportTemplateList = (params) => {
+ return service({
+ url: '/sysExportTemplate/getSysExportTemplateList',
+ method: 'get',
+ params
+ })
+}
diff --git a/src/api/fileUploadAndDownload.js b/src/api/fileUploadAndDownload.js
new file mode 100644
index 0000000..2bff5bb
--- /dev/null
+++ b/src/api/fileUploadAndDownload.js
@@ -0,0 +1,57 @@
+import service from '@/utils/request'
+// @Tags FileUploadAndDownload
+// @Summary 分页文件列表
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body modelInterface.PageInfo true "分页获取文件户列表"
+// @Success 200 {string} json "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /fileUploadAndDownload/getFileList [post]
+export const getFileList = (data) => {
+ return service({
+ url: '/fileUploadAndDownload/getFileList',
+ method: 'post',
+ data
+ })
+}
+
+// @Tags FileUploadAndDownload
+// @Summary 删除文件
+// @Security ApiKeyAuth
+// @Produce application/json
+// @Param data body dbModel.FileUploadAndDownload true "传入文件里面id即可"
+// @Success 200 {string} json "{"success":true,"data":{},"msg":"返回成功"}"
+// @Router /fileUploadAndDownload/deleteFile [post]
+export const deleteFile = (data) => {
+ return service({
+ url: '/fileUploadAndDownload/deleteFile',
+ method: 'post',
+ data
+ })
+}
+
+/**
+ * 编辑文件名或者备注
+ * @param data
+ * @returns {*}
+ */
+export const editFileName = (data) => {
+ return service({
+ url: '/fileUploadAndDownload/editFileName',
+ method: 'post',
+ data
+ })
+}
+
+/**
+ * 导入URL
+ * @param data
+ * @returns {*}
+ */
+export const importURL = (data) => {
+ return service({
+ url: '/fileUploadAndDownload/importURL',
+ method: 'post',
+ data
+ })
+}
diff --git a/src/api/github.js b/src/api/github.js
new file mode 100644
index 0000000..4dc4eed
--- /dev/null
+++ b/src/api/github.js
@@ -0,0 +1,17 @@
+import axios from 'axios'
+
+const service = axios.create()
+
+export function Commits(page) {
+ return service({
+ url: 'https://api.github.com/repos/flipped-aurora/gin-vue-admin/commits?page=' + page,
+ method: 'get'
+ })
+}
+
+export function Members() {
+ return service({
+ url: 'https://api.github.com/orgs/FLIPPED-AURORA/members',
+ method: 'get'
+ })
+}
diff --git a/src/api/initdb.js b/src/api/initdb.js
new file mode 100644
index 0000000..f1eb2f4
--- /dev/null
+++ b/src/api/initdb.js
@@ -0,0 +1,27 @@
+import service from '@/utils/request'
+// @Tags InitDB
+// @Summary 初始化用户数据库
+// @Produce application/json
+// @Param data body request.InitDB true "初始化数据库参数"
+// @Success 200 {string} string "{"code":0,"data":{},"msg":"自动创建数据库成功"}"
+// @Router /init/initdb [post]
+export const initDB = (data) => {
+ return service({
+ url: '/init/initdb',
+ method: 'post',
+ data,
+ donNotShowLoading: true
+ })
+}
+
+// @Tags CheckDB
+// @Summary 初始化用户数据库
+// @Produce application/json
+// @Success 200 {string} string "{"code":0,"data":{},"msg":"探测完成"}"
+// @Router /init/checkdb [post]
+export const checkDB = () => {
+ return service({
+ url: '/init/checkdb',
+ method: 'post'
+ })
+}
diff --git a/src/api/jwt.js b/src/api/jwt.js
new file mode 100644
index 0000000..811ffc4
--- /dev/null
+++ b/src/api/jwt.js
@@ -0,0 +1,14 @@
+import service from '@/utils/request'
+// @Tags jwt
+// @Summary jwt加入黑名单
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"拉黑成功"}"
+// @Router /jwt/jsonInBlacklist [post]
+export const jsonInBlacklist = () => {
+ return service({
+ url: '/jwt/jsonInBlacklist',
+ method: 'post'
+ })
+}
diff --git a/src/api/menu.js b/src/api/menu.js
new file mode 100644
index 0000000..163b5a6
--- /dev/null
+++ b/src/api/menu.js
@@ -0,0 +1,113 @@
+import service from '@/utils/request'
+// @Summary 用户登录 获取动态路由
+// @Produce application/json
+// @Param 可以什么都不填 调一下即可
+// @Router /menu/getMenu [post]
+export const asyncMenu = () => {
+ return service({
+ url: '/menu/getMenu',
+ method: 'post'
+ })
+}
+
+// @Summary 获取menu列表
+// @Produce application/json
+// @Param {
+// page int
+// pageSize int
+// }
+// @Router /menu/getMenuList [post]
+export const getMenuList = (data) => {
+ return service({
+ url: '/menu/getMenuList',
+ method: 'post',
+ data
+ })
+}
+
+// @Summary 新增基础menu
+// @Produce application/json
+// @Param menu Object
+// @Router /menu/getMenuList [post]
+export const addBaseMenu = (data) => {
+ return service({
+ url: '/menu/addBaseMenu',
+ method: 'post',
+ data
+ })
+}
+
+// @Summary 获取基础路由列表
+// @Produce application/json
+// @Param 可以什么都不填 调一下即可
+// @Router /menu/getBaseMenuTree [post]
+export const getBaseMenuTree = () => {
+ return service({
+ url: '/menu/getBaseMenuTree',
+ method: 'post'
+ })
+}
+
+// @Summary 添加用户menu关联关系
+// @Produce application/json
+// @Param menus Object authorityId string
+// @Router /menu/getMenuList [post]
+export const addMenuAuthority = (data) => {
+ return service({
+ url: '/menu/addMenuAuthority',
+ method: 'post',
+ data
+ })
+}
+
+// @Summary 获取用户menu关联关系
+// @Produce application/json
+// @Param authorityId string
+// @Router /menu/getMenuAuthority [post]
+export const getMenuAuthority = (data) => {
+ return service({
+ url: '/menu/getMenuAuthority',
+ method: 'post',
+ data
+ })
+}
+
+// @Summary 删除menu
+// @Produce application/json
+// @Param ID float64
+// @Router /menu/deleteBaseMenu [post]
+export const deleteBaseMenu = (data) => {
+ return service({
+ url: '/menu/deleteBaseMenu',
+ method: 'post',
+ data
+ })
+}
+
+// @Summary 修改menu列表
+// @Produce application/json
+// @Param menu Object
+// @Router /menu/updateBaseMenu [post]
+export const updateBaseMenu = (data) => {
+ return service({
+ url: '/menu/updateBaseMenu',
+ method: 'post',
+ data
+ })
+}
+
+// @Tags menu
+// @Summary 根据id获取菜单
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body api.GetById true "根据id获取菜单"
+// @Success 200 {string} json "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /menu/getBaseMenuById [post]
+export const getBaseMenuById = (data) => {
+ return service({
+ url: '/menu/getBaseMenuById',
+ method: 'post',
+ data
+ })
+}
diff --git a/src/api/sysDictionary.js b/src/api/sysDictionary.js
new file mode 100644
index 0000000..f5d6c86
--- /dev/null
+++ b/src/api/sysDictionary.js
@@ -0,0 +1,80 @@
+import service from '@/utils/request'
+// @Tags SysDictionary
+// @Summary 创建SysDictionary
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.SysDictionary true "创建SysDictionary"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /sysDictionary/createSysDictionary [post]
+export const createSysDictionary = (data) => {
+ return service({
+ url: '/sysDictionary/createSysDictionary',
+ method: 'post',
+ data
+ })
+}
+
+// @Tags SysDictionary
+// @Summary 删除SysDictionary
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.SysDictionary true "删除SysDictionary"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"
+// @Router /sysDictionary/deleteSysDictionary [delete]
+export const deleteSysDictionary = (data) => {
+ return service({
+ url: '/sysDictionary/deleteSysDictionary',
+ method: 'delete',
+ data
+ })
+}
+
+// @Tags SysDictionary
+// @Summary 更新SysDictionary
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.SysDictionary true "更新SysDictionary"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"更新成功"}"
+// @Router /sysDictionary/updateSysDictionary [put]
+export const updateSysDictionary = (data) => {
+ return service({
+ url: '/sysDictionary/updateSysDictionary',
+ method: 'put',
+ data
+ })
+}
+
+// @Tags SysDictionary
+// @Summary 用id查询SysDictionary
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.SysDictionary true "用id查询SysDictionary"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"查询成功"}"
+// @Router /sysDictionary/findSysDictionary [get]
+export const findSysDictionary = (params) => {
+ return service({
+ url: '/sysDictionary/findSysDictionary',
+ method: 'get',
+ params
+ })
+}
+
+// @Tags SysDictionary
+// @Summary 分页获取SysDictionary列表
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body request.PageInfo true "分页获取SysDictionary列表"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /sysDictionary/getSysDictionaryList [get]
+export const getSysDictionaryList = (params) => {
+ return service({
+ url: '/sysDictionary/getSysDictionaryList',
+ method: 'get',
+ params
+ })
+}
diff --git a/src/api/sysDictionaryDetail.js b/src/api/sysDictionaryDetail.js
new file mode 100644
index 0000000..d4f8772
--- /dev/null
+++ b/src/api/sysDictionaryDetail.js
@@ -0,0 +1,80 @@
+import service from '@/utils/request'
+// @Tags SysDictionaryDetail
+// @Summary 创建SysDictionaryDetail
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.SysDictionaryDetail true "创建SysDictionaryDetail"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /sysDictionaryDetail/createSysDictionaryDetail [post]
+export const createSysDictionaryDetail = (data) => {
+ return service({
+ url: '/sysDictionaryDetail/createSysDictionaryDetail',
+ method: 'post',
+ data
+ })
+}
+
+// @Tags SysDictionaryDetail
+// @Summary 删除SysDictionaryDetail
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.SysDictionaryDetail true "删除SysDictionaryDetail"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"
+// @Router /sysDictionaryDetail/deleteSysDictionaryDetail [delete]
+export const deleteSysDictionaryDetail = (data) => {
+ return service({
+ url: '/sysDictionaryDetail/deleteSysDictionaryDetail',
+ method: 'delete',
+ data
+ })
+}
+
+// @Tags SysDictionaryDetail
+// @Summary 更新SysDictionaryDetail
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.SysDictionaryDetail true "更新SysDictionaryDetail"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"更新成功"}"
+// @Router /sysDictionaryDetail/updateSysDictionaryDetail [put]
+export const updateSysDictionaryDetail = (data) => {
+ return service({
+ url: '/sysDictionaryDetail/updateSysDictionaryDetail',
+ method: 'put',
+ data
+ })
+}
+
+// @Tags SysDictionaryDetail
+// @Summary 用id查询SysDictionaryDetail
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.SysDictionaryDetail true "用id查询SysDictionaryDetail"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"查询成功"}"
+// @Router /sysDictionaryDetail/findSysDictionaryDetail [get]
+export const findSysDictionaryDetail = (params) => {
+ return service({
+ url: '/sysDictionaryDetail/findSysDictionaryDetail',
+ method: 'get',
+ params
+ })
+}
+
+// @Tags SysDictionaryDetail
+// @Summary 分页获取SysDictionaryDetail列表
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body request.PageInfo true "分页获取SysDictionaryDetail列表"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /sysDictionaryDetail/getSysDictionaryDetailList [get]
+export const getSysDictionaryDetailList = (params) => {
+ return service({
+ url: '/sysDictionaryDetail/getSysDictionaryDetailList',
+ method: 'get',
+ params
+ })
+}
diff --git a/src/api/sysOperationRecord.js b/src/api/sysOperationRecord.js
new file mode 100644
index 0000000..4428c03
--- /dev/null
+++ b/src/api/sysOperationRecord.js
@@ -0,0 +1,48 @@
+import service from '@/utils/request'
+// @Tags SysOperationRecord
+// @Summary 删除SysOperationRecord
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.SysOperationRecord true "删除SysOperationRecord"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"
+// @Router /sysOperationRecord/deleteSysOperationRecord [delete]
+export const deleteSysOperationRecord = (data) => {
+ return service({
+ url: '/sysOperationRecord/deleteSysOperationRecord',
+ method: 'delete',
+ data
+ })
+}
+
+// @Tags SysOperationRecord
+// @Summary 删除SysOperationRecord
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body request.IdsReq true "删除SysOperationRecord"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"
+// @Router /sysOperationRecord/deleteSysOperationRecord [delete]
+export const deleteSysOperationRecordByIds = (data) => {
+ return service({
+ url: '/sysOperationRecord/deleteSysOperationRecordByIds',
+ method: 'delete',
+ data
+ })
+}
+
+// @Tags SysOperationRecord
+// @Summary 分页获取SysOperationRecord列表
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body request.PageInfo true "分页获取SysOperationRecord列表"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /sysOperationRecord/getSysOperationRecordList [get]
+export const getSysOperationRecordList = (params) => {
+ return service({
+ url: '/sysOperationRecord/getSysOperationRecordList',
+ method: 'get',
+ params
+ })
+}
diff --git a/src/api/sysParams.js b/src/api/sysParams.js
new file mode 100644
index 0000000..348f1b5
--- /dev/null
+++ b/src/api/sysParams.js
@@ -0,0 +1,111 @@
+import service from '@/utils/request'
+// @Tags SysParams
+// @Summary 创建参数
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.SysParams true "创建参数"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"创建成功"}"
+// @Router /sysParams/createSysParams [post]
+export const createSysParams = (data) => {
+ return service({
+ url: '/sysParams/createSysParams',
+ method: 'post',
+ data
+ })
+}
+
+// @Tags SysParams
+// @Summary 删除参数
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.SysParams true "删除参数"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"
+// @Router /sysParams/deleteSysParams [delete]
+export const deleteSysParams = (params) => {
+ return service({
+ url: '/sysParams/deleteSysParams',
+ method: 'delete',
+ params
+ })
+}
+
+// @Tags SysParams
+// @Summary 批量删除参数
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body request.IdsReq true "批量删除参数"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"
+// @Router /sysParams/deleteSysParams [delete]
+export const deleteSysParamsByIds = (params) => {
+ return service({
+ url: '/sysParams/deleteSysParamsByIds',
+ method: 'delete',
+ params
+ })
+}
+
+// @Tags SysParams
+// @Summary 更新参数
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.SysParams true "更新参数"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"更新成功"}"
+// @Router /sysParams/updateSysParams [put]
+export const updateSysParams = (data) => {
+ return service({
+ url: '/sysParams/updateSysParams',
+ method: 'put',
+ data
+ })
+}
+
+// @Tags SysParams
+// @Summary 用id查询参数
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data query model.SysParams true "用id查询参数"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"查询成功"}"
+// @Router /sysParams/findSysParams [get]
+export const findSysParams = (params) => {
+ return service({
+ url: '/sysParams/findSysParams',
+ method: 'get',
+ params
+ })
+}
+
+// @Tags SysParams
+// @Summary 分页获取参数列表
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data query request.PageInfo true "分页获取参数列表"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /sysParams/getSysParamsList [get]
+export const getSysParamsList = (params) => {
+ return service({
+ url: '/sysParams/getSysParamsList',
+ method: 'get',
+ params
+ })
+}
+
+// @Tags SysParams
+// @Summary 不需要鉴权的参数接口
+// @accept application/json
+// @Produce application/json
+// @Param data query systemReq.SysParamsSearch true "分页获取参数列表"
+// @Success 200 {object} response.Response{data=object,msg=string} "获取成功"
+// @Router /sysParams/getSysParam [get]
+export const getSysParam = (params) => {
+ return service({
+ url: '/sysParams/getSysParam',
+ method: 'get',
+ params
+ })
+}
diff --git a/src/api/system.js b/src/api/system.js
new file mode 100644
index 0000000..4dd5eca
--- /dev/null
+++ b/src/api/system.js
@@ -0,0 +1,56 @@
+import service from '@/utils/request'
+// @Tags systrm
+// @Summary 获取配置文件内容
+// @Security ApiKeyAuth
+// @Produce application/json
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"返回成功"}"
+// @Router /system/getSystemConfig [post]
+export const getSystemConfig = () => {
+ return service({
+ url: '/system/getSystemConfig',
+ method: 'post'
+ })
+}
+
+// @Tags system
+// @Summary 设置配置文件内容
+// @Security ApiKeyAuth
+// @Produce application/json
+// @Param data body sysModel.System true
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"返回成功"}"
+// @Router /system/setSystemConfig [post]
+export const setSystemConfig = (data) => {
+ return service({
+ url: '/system/setSystemConfig',
+ method: 'post',
+ data
+ })
+}
+
+// @Tags system
+// @Summary 获取服务器运行状态
+// @Security ApiKeyAuth
+// @Produce application/json
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"返回成功"}"
+// @Router /system/getServerInfo [post]
+export const getSystemState = () => {
+ return service({
+ url: '/system/getServerInfo',
+ method: 'post',
+ donNotShowLoading: true
+ })
+}
+
+/**
+ * 重启服务
+ * @param data
+ * @returns {*}
+ */
+export const reloadSystem = (data) => {
+ return service({
+ url: '/system/reloadSystem',
+ method: 'post',
+ data
+ })
+}
+
diff --git a/src/api/user.js b/src/api/user.js
new file mode 100644
index 0000000..2b357d0
--- /dev/null
+++ b/src/api/user.js
@@ -0,0 +1,181 @@
+import service from '@/utils/request'
+// @Summary 用户登录
+// @Produce application/json
+// @Param data body {username:"string",password:"string"}
+// @Router /base/login [post]
+export const login = (data) => {
+ return service({
+ url: '/base/login',
+ method: 'post',
+ data: data
+ })
+}
+
+// @Summary 获取验证码
+// @Produce application/json
+// @Param data body {username:"string",password:"string"}
+// @Router /base/captcha [post]
+export const captcha = () => {
+ return service({
+ url: '/base/captcha',
+ method: 'post'
+ })
+}
+
+// @Summary 用户注册
+// @Produce application/json
+// @Param data body {username:"string",password:"string"}
+// @Router /base/resige [post]
+export const register = (data) => {
+ return service({
+ url: '/user/admin_register',
+ method: 'post',
+ data: data
+ })
+}
+
+// @Summary 修改密码
+// @Produce application/json
+// @Param data body {username:"string",password:"string",newPassword:"string"}
+// @Router /user/changePassword [post]
+export const changePassword = (data) => {
+ return service({
+ url: '/user/changePassword',
+ method: 'post',
+ data: data
+ })
+}
+
+// @Tags User
+// @Summary 分页获取用户列表
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body modelInterface.PageInfo true "分页获取用户列表"
+// @Success 200 {string} json "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /user/getUserList [post]
+export const getUserList = (data) => {
+ return service({
+ url: '/user/getUserList',
+ method: 'post',
+ data: data
+ })
+}
+
+// @Tags User
+// @Summary 设置用户权限
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body api.SetUserAuth true "设置用户权限"
+// @Success 200 {string} json "{"success":true,"data":{},"msg":"修改成功"}"
+// @Router /user/setUserAuthority [post]
+export const setUserAuthority = (data) => {
+ return service({
+ url: '/user/setUserAuthority',
+ method: 'post',
+ data: data
+ })
+}
+
+// @Tags SysUser
+// @Summary 删除用户
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body request.SetUserAuth true "删除用户"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"修改成功"}"
+// @Router /user/deleteUser [delete]
+export const deleteUser = (data) => {
+ return service({
+ url: '/user/deleteUser',
+ method: 'delete',
+ data: data
+ })
+}
+
+// @Tags SysUser
+// @Summary 设置用户信息
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.SysUser true "设置用户信息"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"修改成功"}"
+// @Router /user/setUserInfo [put]
+export const setUserInfo = (data) => {
+ return service({
+ url: '/user/setUserInfo',
+ method: 'put',
+ data: data
+ })
+}
+
+// @Tags SysUser
+// @Summary 设置用户信息
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.SysUser true "设置用户信息"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"修改成功"}"
+// @Router /user/setSelfInfo [put]
+export const setSelfInfo = (data) => {
+ return service({
+ url: '/user/setSelfInfo',
+ method: 'put',
+ data: data
+ })
+}
+
+// @Tags SysUser
+// @Summary 设置自身界面配置
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.SysUser true "设置自身界面配置"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"修改成功"}"
+// @Router /user/setSelfSetting [put]
+export const setSelfSetting = (data) => {
+ return service({
+ url: '/user/setSelfSetting',
+ method: 'put',
+ data: data
+ })
+}
+
+// @Tags User
+// @Summary 设置用户权限
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body api.setUserAuthorities true "设置用户权限"
+// @Success 200 {string} json "{"success":true,"data":{},"msg":"修改成功"}"
+// @Router /user/setUserAuthorities [post]
+export const setUserAuthorities = (data) => {
+ return service({
+ url: '/user/setUserAuthorities',
+ method: 'post',
+ data: data
+ })
+}
+
+// @Tags User
+// @Summary 获取用户信息
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Success 200 {string} json "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /user/getUserInfo [get]
+export const getUserInfo = () => {
+ return service({
+ url: '/user/getUserInfo',
+ method: 'get'
+ })
+}
+
+export const resetPassword = (data) => {
+ return service({
+ url: '/user/resetPassword',
+ method: 'post',
+ data: data
+ })
+}
diff --git a/src/assets/404.png b/src/assets/404.png
new file mode 100644
index 0000000..f803724
Binary files /dev/null and b/src/assets/404.png differ
diff --git a/src/assets/background.svg b/src/assets/background.svg
new file mode 100644
index 0000000..7375bb5
--- /dev/null
+++ b/src/assets/background.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/banner.jpg b/src/assets/banner.jpg
new file mode 100644
index 0000000..675411e
Binary files /dev/null and b/src/assets/banner.jpg differ
diff --git a/src/assets/banner2.jpg b/src/assets/banner2.jpg
new file mode 100644
index 0000000..62e08a4
Binary files /dev/null and b/src/assets/banner2.jpg differ
diff --git a/src/assets/dashboard.png b/src/assets/dashboard.png
new file mode 100644
index 0000000..64981d0
Binary files /dev/null and b/src/assets/dashboard.png differ
diff --git a/src/assets/docs.png b/src/assets/docs.png
new file mode 100644
index 0000000..bb98d6e
Binary files /dev/null and b/src/assets/docs.png differ
diff --git a/src/assets/flipped-aurora.png b/src/assets/flipped-aurora.png
new file mode 100644
index 0000000..c94033b
Binary files /dev/null and b/src/assets/flipped-aurora.png differ
diff --git a/src/assets/github.png b/src/assets/github.png
new file mode 100644
index 0000000..d1d200e
Binary files /dev/null and b/src/assets/github.png differ
diff --git a/src/assets/icons/ai-gva.svg b/src/assets/icons/ai-gva.svg
new file mode 100644
index 0000000..fcbea93
--- /dev/null
+++ b/src/assets/icons/ai-gva.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/customer-gva.svg b/src/assets/icons/customer-gva.svg
new file mode 100644
index 0000000..1e72201
--- /dev/null
+++ b/src/assets/icons/customer-gva.svg
@@ -0,0 +1 @@
+
diff --git a/src/assets/kefu.png b/src/assets/kefu.png
new file mode 100644
index 0000000..47cab15
Binary files /dev/null and b/src/assets/kefu.png differ
diff --git a/src/assets/login_background.jpg b/src/assets/login_background.jpg
new file mode 100644
index 0000000..e601f24
Binary files /dev/null and b/src/assets/login_background.jpg differ
diff --git a/src/assets/login_background.svg b/src/assets/login_background.svg
new file mode 100644
index 0000000..0a9514b
--- /dev/null
+++ b/src/assets/login_background.svg
@@ -0,0 +1,33 @@
+
\ No newline at end of file
diff --git a/src/assets/login_left.svg b/src/assets/login_left.svg
new file mode 100644
index 0000000..9c48b0b
--- /dev/null
+++ b/src/assets/login_left.svg
@@ -0,0 +1,123 @@
+
+
\ No newline at end of file
diff --git a/src/assets/login_right_banner.jpg b/src/assets/login_right_banner.jpg
new file mode 100644
index 0000000..0a597c1
Binary files /dev/null and b/src/assets/login_right_banner.jpg differ
diff --git a/src/assets/logo.jpg b/src/assets/logo.jpg
new file mode 100644
index 0000000..09502d5
Binary files /dev/null and b/src/assets/logo.jpg differ
diff --git a/src/assets/logo.png b/src/assets/logo.png
new file mode 100644
index 0000000..b497ee0
Binary files /dev/null and b/src/assets/logo.png differ
diff --git a/src/assets/logo_login.png b/src/assets/logo_login.png
new file mode 100644
index 0000000..e330458
Binary files /dev/null and b/src/assets/logo_login.png differ
diff --git a/src/assets/nav_logo.png b/src/assets/nav_logo.png
new file mode 100644
index 0000000..468cdab
Binary files /dev/null and b/src/assets/nav_logo.png differ
diff --git a/src/assets/noBody.png b/src/assets/noBody.png
new file mode 100644
index 0000000..e16488e
Binary files /dev/null and b/src/assets/noBody.png differ
diff --git a/src/assets/notFound.png b/src/assets/notFound.png
new file mode 100644
index 0000000..59ca9f0
Binary files /dev/null and b/src/assets/notFound.png differ
diff --git a/src/assets/qm.png b/src/assets/qm.png
new file mode 100644
index 0000000..9f598ca
Binary files /dev/null and b/src/assets/qm.png differ
diff --git a/src/assets/video.png b/src/assets/video.png
new file mode 100644
index 0000000..af4d35f
Binary files /dev/null and b/src/assets/video.png differ
diff --git a/src/components/arrayCtrl/arrayCtrl.vue b/src/components/arrayCtrl/arrayCtrl.vue
new file mode 100644
index 0000000..08b4ce2
--- /dev/null
+++ b/src/components/arrayCtrl/arrayCtrl.vue
@@ -0,0 +1,68 @@
+
+
+
+ {{ tag }}
+
+
+
+
+ + 新增
+
+
+
+
+
+
diff --git a/src/components/bottomInfo/bottomInfo.vue b/src/components/bottomInfo/bottomInfo.vue
new file mode 100644
index 0000000..c3c7e1e
--- /dev/null
+++ b/src/components/bottomInfo/bottomInfo.vue
@@ -0,0 +1,41 @@
+
+
+
+
+
Powered by
+
+ Gin-Vue-Admin
+
+
+
+
+
Copyright
+
+ flipped-aurora团队
+
+
+
+
+
+
+
diff --git a/src/components/charts/index.vue b/src/components/charts/index.vue
new file mode 100644
index 0000000..4ea5a75
--- /dev/null
+++ b/src/components/charts/index.vue
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/components/commandMenu/index.vue b/src/components/commandMenu/index.vue
new file mode 100644
index 0000000..a36d174
--- /dev/null
+++ b/src/components/commandMenu/index.vue
@@ -0,0 +1,197 @@
+
+
+
+
+
+
+
+
{{ option.label }}
+
+ {{ item.label }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/customPic/index.vue b/src/components/customPic/index.vue
new file mode 100644
index 0000000..63743d5
--- /dev/null
+++ b/src/components/customPic/index.vue
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
diff --git a/src/components/exportExcel/exportExcel.vue b/src/components/exportExcel/exportExcel.vue
new file mode 100644
index 0000000..26ceb18
--- /dev/null
+++ b/src/components/exportExcel/exportExcel.vue
@@ -0,0 +1,58 @@
+
+ 导出
+
+
+
diff --git a/src/components/exportExcel/exportTemplate.vue b/src/components/exportExcel/exportTemplate.vue
new file mode 100644
index 0000000..9e099eb
--- /dev/null
+++ b/src/components/exportExcel/exportTemplate.vue
@@ -0,0 +1,28 @@
+
+ 下载模板
+
+
+
diff --git a/src/components/exportExcel/importExcel.vue b/src/components/exportExcel/importExcel.vue
new file mode 100644
index 0000000..2f6f28d
--- /dev/null
+++ b/src/components/exportExcel/importExcel.vue
@@ -0,0 +1,42 @@
+
+
+
+ 导入
+
+
+
+
+
diff --git a/src/components/office/docx.vue b/src/components/office/docx.vue
new file mode 100644
index 0000000..35e3e5a
--- /dev/null
+++ b/src/components/office/docx.vue
@@ -0,0 +1,35 @@
+
+
+
+
+
+
diff --git a/src/components/office/excel.vue b/src/components/office/excel.vue
new file mode 100644
index 0000000..ac449da
--- /dev/null
+++ b/src/components/office/excel.vue
@@ -0,0 +1,33 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/office/index.vue b/src/components/office/index.vue
new file mode 100644
index 0000000..a6704d6
--- /dev/null
+++ b/src/components/office/index.vue
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/office/pdf.vue b/src/components/office/pdf.vue
new file mode 100644
index 0000000..8098f06
--- /dev/null
+++ b/src/components/office/pdf.vue
@@ -0,0 +1,36 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/richtext/rich-edit.vue b/src/components/richtext/rich-edit.vue
new file mode 100644
index 0000000..cee3b2e
--- /dev/null
+++ b/src/components/richtext/rich-edit.vue
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/richtext/rich-view.vue b/src/components/richtext/rich-view.vue
new file mode 100644
index 0000000..fd6616e
--- /dev/null
+++ b/src/components/richtext/rich-view.vue
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
diff --git a/src/components/selectFile/selectFile.vue b/src/components/selectFile/selectFile.vue
new file mode 100644
index 0000000..81c03c5
--- /dev/null
+++ b/src/components/selectFile/selectFile.vue
@@ -0,0 +1,87 @@
+
+
+
+
+ 上传文件
+
+
+
+
+
+
+
diff --git a/src/components/selectImage/selectComponent.vue b/src/components/selectImage/selectComponent.vue
new file mode 100644
index 0000000..1ff6e04
--- /dev/null
+++ b/src/components/selectImage/selectComponent.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
![图片]()
+
+
+
+
+ 删除
+
+
+
+
+
diff --git a/src/components/selectImage/selectImage.vue b/src/components/selectImage/selectImage.vue
new file mode 100644
index 0000000..0ca5ce7
--- /dev/null
+++ b/src/components/selectImage/selectImage.vue
@@ -0,0 +1,276 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
diff --git a/src/components/svgIcon/svgIcon.vue b/src/components/svgIcon/svgIcon.vue
new file mode 100644
index 0000000..c6f7665
--- /dev/null
+++ b/src/components/svgIcon/svgIcon.vue
@@ -0,0 +1,39 @@
+
+
+
+
+
diff --git a/src/components/upload/common.vue b/src/components/upload/common.vue
new file mode 100644
index 0000000..97255da
--- /dev/null
+++ b/src/components/upload/common.vue
@@ -0,0 +1,76 @@
+
+
+
+ 普通上传
+
+
+
+
+
+
diff --git a/src/components/upload/image.vue b/src/components/upload/image.vue
new file mode 100644
index 0000000..e65bcf7
--- /dev/null
+++ b/src/components/upload/image.vue
@@ -0,0 +1,92 @@
+
+
+
+
+ 压缩上传
+
+
+
+
+
+
+
diff --git a/src/components/warningBar/warningBar.vue b/src/components/warningBar/warningBar.vue
new file mode 100644
index 0000000..4fac6c0
--- /dev/null
+++ b/src/components/warningBar/warningBar.vue
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+ {{ title }}
+
+
+
+
diff --git a/src/core/config.js b/src/core/config.js
new file mode 100644
index 0000000..12463af
--- /dev/null
+++ b/src/core/config.js
@@ -0,0 +1,31 @@
+/**
+ * 网站配置文件
+ */
+const greenText = (text) => `\x1b[32m${text}\x1b[0m`;
+
+const config = {
+ appName: 'Gin-Vue-Admin',
+ appLogo: 'logo.png',
+ showViteLogo: true,
+ logs: [],
+}
+
+export const viteLogo = (env) => {
+ if (config.showViteLogo) {
+ console.log(greenText(`> 欢迎使用Gin-Vue-Admin,开源地址:https://github.com/flipped-aurora/gin-vue-admin`));
+ console.log(greenText(`> 当前版本:v2.7.6`));
+ console.log(greenText(`> 加群方式:微信:shouzi_1994 QQ群:470239250`));
+ console.log(greenText(`> 项目地址:https://github.com/flipped-aurora/gin-vue-admin`));
+ console.log(greenText(`> 插件市场:https://plugin.gin-vue-admin.com`));
+ console.log(greenText(`> GVA讨论社区:https://support.qq.com/products/371961`));
+ console.log(greenText(`> 默认自动化文档地址:http://127.0.0.1:${env.VITE_SERVER_PORT}/swagger/index.html`));
+ console.log(greenText(`> 默认前端文件运行地址:http://127.0.0.1:${env.VITE_CLI_PORT}`));
+ console.log(greenText(`--------------------------------------版权声明--------------------------------------`));
+ console.log(greenText(`** 版权所有方:flipped-aurora开源团队 **`));
+ console.log(greenText(`** 版权持有公司:北京翻转极光科技有限责任公司 **`));
+ console.log(greenText(`** 剔除授权标识需购买商用授权:https://gin-vue-admin.com/empower/index.html **`));
+ console.log('\n');
+ }
+}
+
+export default config
diff --git a/src/core/gin-vue-admin.js b/src/core/gin-vue-admin.js
new file mode 100644
index 0000000..08ed125
--- /dev/null
+++ b/src/core/gin-vue-admin.js
@@ -0,0 +1,27 @@
+/*
+ * gin-vue-admin web框架组
+ *
+ * */
+// 加载网站配置文件夹
+import { register } from './global'
+
+export default {
+ install: (app) => {
+ register(app)
+ console.log(`
+ 欢迎使用 Gin-Vue-Admin
+ 当前版本:v2.7.6
+ 加群方式:微信:shouzi_1994 QQ群:622360840
+ 项目地址:https://github.com/flipped-aurora/gin-vue-admin
+ 插件市场:https://plugin.gin-vue-admin.com
+ GVA讨论社区:https://support.qq.com/products/371961
+ 默认自动化文档地址:http://127.0.0.1:${import.meta.env.VITE_SERVER_PORT}/swagger/index.html
+ 默认前端文件运行地址:http://127.0.0.1:${import.meta.env.VITE_CLI_PORT}
+ 如果项目让您获得了收益,希望您能请团队喝杯可乐:https://www.gin-vue-admin.com/coffee/index.html
+ --------------------------------------版权声明--------------------------------------
+ ** 版权所有方:flipped-aurora开源团队 **
+ ** 版权持有公司:北京翻转极光科技有限责任公司 **
+ ** 剔除授权标识需购买商用授权:https://gin-vue-admin.com/empower/index.html **
+ `)
+ }
+}
diff --git a/src/core/global.js b/src/core/global.js
new file mode 100644
index 0000000..2ef1ffe
--- /dev/null
+++ b/src/core/global.js
@@ -0,0 +1,53 @@
+import config from './config'
+import { h } from 'vue'
+
+// 统一导入el-icon图标
+import * as ElIconModules from '@element-plus/icons-vue'
+import svgIcon from '@/components/svgIcon/svgIcon.vue'
+// 导入转换图标名称的函数
+
+const createIconComponent = (name) => ({
+ name: 'SvgIcon',
+ render() {
+ return h(svgIcon, {
+ name: name,
+ })
+ },
+})
+
+const registerIcons = async(app) => {
+ const iconModules = import.meta.glob('@/assets/icons/**/*.svg') // 系统目录 svg 图标
+ const pluginIconModules = import.meta.glob('@/plugin/**/assets/icons/**/*.svg') // 插件目录 svg 图标
+ const mergedIconModules = Object.assign({}, iconModules, pluginIconModules); // 合并所有 svg 图标
+ for (const path in mergedIconModules) {
+ let pluginName = ""
+ if (path.startsWith("/src/plugin/")) {
+ pluginName = `${path.split('/')[3]}-`
+ }
+ const iconName = path.split('/').pop().replace(/\.svg$/, '')
+ // 如果iconName带空格则不加入到图标库中并且提示名称不合法
+ if (iconName.indexOf(' ') !== -1) {
+ console.error(`icon ${iconName}.svg includes whitespace in ${path}`)
+ continue
+ }
+ const key = `${pluginName}${iconName}`
+ // 开发模式下列出所有 svg 图标,方便开发者直接查找复制使用
+ import.meta.env.MODE == 'development' && console.log(`svg-icon-component: <${key} />`)
+ const iconComponent = createIconComponent(key)
+ config.logs.push({
+ 'key': key,
+ 'label': key,
+ })
+ app.component(key, iconComponent)
+ }
+}
+
+export const register = (app) => {
+ // 统一注册el-icon图标
+ for (const iconName in ElIconModules) {
+ app.component(iconName, ElIconModules[iconName])
+ }
+ app.component('SvgIcon', svgIcon)
+ registerIcons(app)
+ app.config.globalProperties.$GIN_VUE_ADMIN = config
+}
diff --git a/src/directive/auth.js b/src/directive/auth.js
new file mode 100644
index 0000000..50594d4
--- /dev/null
+++ b/src/directive/auth.js
@@ -0,0 +1,41 @@
+// 权限按钮展示指令
+import { useUserStore } from '@/pinia/modules/user'
+export default {
+ install: (app) => {
+ const userStore = useUserStore()
+ app.directive('auth', {
+ // 当被绑定的元素插入到 DOM 中时……
+ mounted: function(el, binding) {
+ const userInfo = userStore.userInfo
+ let type = ''
+ switch (Object.prototype.toString.call(binding.value)) {
+ case '[object Array]':
+ type = 'Array'
+ break
+ case '[object String]':
+ type = 'String'
+ break
+ case '[object Number]':
+ type = 'Number'
+ break
+ default:
+ type = ''
+ break
+ }
+ if (type === '') {
+ el.parentNode.removeChild(el)
+ return
+ }
+ const waitUse = binding.value.toString().split(',')
+ let flag = waitUse.some(item => Number(item) === userInfo.authorityId)
+ if (binding.modifiers.not) {
+ flag = !flag
+ }
+ if (!flag) {
+ el.parentNode.removeChild(el)
+ }
+ }
+ })
+ }
+}
+
diff --git a/src/hooks/charts.js b/src/hooks/charts.js
new file mode 100644
index 0000000..e7a14b1
--- /dev/null
+++ b/src/hooks/charts.js
@@ -0,0 +1,19 @@
+// 本组件参考 arco-pro 的实现
+// https://github.com/arco-design/arco-design-pro-vue/blob/main/arco-design-pro-vite/src/hooks/chart-option.ts
+
+import { computed } from 'vue';
+import { useAppStore } from '@/pinia';
+
+
+export default function useChartOption(sourceOption) {
+ const appStore = useAppStore();
+ const isDark = computed(() => {
+ return appStore.theme === 'dark';
+ });
+ const chartOption = computed(() => {
+ return sourceOption(isDark.value);
+ });
+ return {
+ chartOption,
+ };
+}
diff --git a/src/hooks/responsive.js b/src/hooks/responsive.js
new file mode 100644
index 0000000..417c1f9
--- /dev/null
+++ b/src/hooks/responsive.js
@@ -0,0 +1,35 @@
+// 本组件参考 arco-pro 的实现
+// https://github.com/arco-design/arco-design-pro-vue/blob/main/arco-design-pro-vite/src/hooks/responsive.ts
+
+import { onMounted, onBeforeMount, onBeforeUnmount } from 'vue';
+import { useDebounceFn } from '@vueuse/core';
+import { useAppStore } from '@/pinia';
+import { addEventListen, removeEventListen } from '@/utils/event';
+
+const WIDTH = 992;
+
+function queryDevice() {
+ const rect = document.body.getBoundingClientRect();
+ return rect.width - 1 < WIDTH;
+}
+
+export default function useResponsive(immediate) {
+ const appStore = useAppStore();
+ function resizeHandler() {
+ if (!document.hidden) {
+ const isMobile = queryDevice();
+ appStore.toggleDevice(isMobile ? 'mobile' : 'desktop');
+ // appStore.toggleDevice(isMobile);
+ }
+ }
+ const debounceFn = useDebounceFn(resizeHandler, 100);
+ onMounted(() => {
+ if (immediate) debounceFn();
+ });
+ onBeforeMount(() => {
+ addEventListen(window, 'resize', debounceFn);
+ });
+ onBeforeUnmount(() => {
+ removeEventListen(window, 'resize', debounceFn);
+ });
+}
diff --git a/src/hooks/use-windows-resize.js b/src/hooks/use-windows-resize.js
new file mode 100644
index 0000000..4ddf3f0
--- /dev/null
+++ b/src/hooks/use-windows-resize.js
@@ -0,0 +1,23 @@
+// 监听 window 的 resize 事件,返回当前窗口的宽高
+import { shallowRef } from 'vue'
+import { tryOnMounted, useEventListener } from '@vueuse/core'
+
+const width = shallowRef(0)
+const height = shallowRef(0)
+
+export const useWindowResize = (cb) => {
+ const onResize = () => {
+ width.value = window.innerWidth
+ height.value = window.innerHeight
+ if (cb && typeof cb === 'function') {
+ cb(width.value, height.value)
+ }
+ }
+
+ tryOnMounted(onResize)
+ useEventListener('resize', onResize, { passive: true })
+ return {
+ width,
+ height,
+ }
+}
diff --git a/src/main.js b/src/main.js
new file mode 100644
index 0000000..766c970
--- /dev/null
+++ b/src/main.js
@@ -0,0 +1,29 @@
+import './style/element_visiable.scss'
+import 'element-plus/theme-chalk/dark/css-vars.css'
+import { createApp } from 'vue'
+import ElementPlus from 'element-plus'
+
+import 'element-plus/dist/index.css'
+// 引入gin-vue-admin前端初始化相关内容
+import './core/gin-vue-admin'
+// 引入封装的router
+import router from '@/router/index'
+import '@/permission'
+import run from '@/core/gin-vue-admin.js'
+import auth from '@/directive/auth'
+import { store } from '@/pinia'
+import App from './App.vue'
+//消除警告
+import 'default-passive-events'
+
+const app = createApp(App)
+app.config.productionTip = false
+
+app
+ .use(run)
+ .use(ElementPlus)
+ .use(store)
+ .use(auth)
+ .use(router)
+ .mount('#app')
+export default app
diff --git a/src/pathInfo.json b/src/pathInfo.json
new file mode 100644
index 0000000..45a341c
--- /dev/null
+++ b/src/pathInfo.json
@@ -0,0 +1,50 @@
+{
+ "/src/view/about/index.vue": "About",
+ "/src/view/dashboard/index.vue": "Dashboard",
+ "/src/view/error/index.vue": "Error",
+ "/src/view/error/reload.vue": "Reload",
+ "/src/view/example/breakpoint/breakpoint.vue": "BreakPoint",
+ "/src/view/example/customer/customer.vue": "Customer",
+ "/src/view/example/index.vue": "Example",
+ "/src/view/example/upload/upload.vue": "Upload",
+ "/src/view/init/index.vue": "Init",
+ "/src/view/layout/aside/asideComponent/asyncSubmenu.vue": "AsyncSubmenu",
+ "/src/view/layout/aside/asideComponent/index.vue": "AsideComponent",
+ "/src/view/layout/aside/asideComponent/menuItem.vue": "MenuItem",
+ "/src/view/layout/aside/combinationMode.vue": "GvaAside",
+ "/src/view/layout/aside/headMode.vue": "GvaAside",
+ "/src/view/layout/aside/normalMode.vue": "GvaAside",
+ "/src/view/layout/index.vue": "GvaLayout",
+ "/src/view/layout/screenfull/index.vue": "Screenfull",
+ "/src/view/layout/search/search.vue": "BtnBox",
+ "/src/view/layout/setting/index.vue": "GvaSetting",
+ "/src/view/layout/tabs/index.vue": "HistoryComponent",
+ "/src/view/login/index.vue": "Login",
+ "/src/view/person/person.vue": "Person",
+ "/src/view/routerHolder.vue": "RouterHolder",
+ "/src/view/superAdmin/api/api.vue": "Api",
+ "/src/view/superAdmin/authority/authority.vue": "Authority",
+ "/src/view/superAdmin/authority/components/apis.vue": "Apis",
+ "/src/view/superAdmin/authority/components/datas.vue": "Datas",
+ "/src/view/superAdmin/authority/components/menus.vue": "Menus",
+ "/src/view/superAdmin/dictionary/sysDictionary.vue": "SysDictionary",
+ "/src/view/superAdmin/dictionary/sysDictionaryDetail.vue": "SysDictionaryDetail",
+ "/src/view/superAdmin/index.vue": "SuperAdmin",
+ "/src/view/superAdmin/menu/icon.vue": "Icon",
+ "/src/view/superAdmin/menu/menu.vue": "Menus",
+ "/src/view/superAdmin/operation/sysOperationRecord.vue": "SysOperationRecord",
+ "/src/view/superAdmin/params/sysParams.vue": "SysParams",
+ "/src/view/superAdmin/user/user.vue": "User",
+ "/src/view/system/state.vue": "State",
+ "/src/view/systemTools/autoCode/component/fieldDialog.vue": "FieldDialog",
+ "/src/view/systemTools/autoCode/index.vue": "AutoCode",
+ "/src/view/systemTools/autoCodeAdmin/index.vue": "AutoCodeAdmin",
+ "/src/view/systemTools/autoPkg/autoPkg.vue": "AutoPkg",
+ "/src/view/systemTools/exportTemplate/exportTemplate.vue": "ExportTemplate",
+ "/src/view/systemTools/formCreate/index.vue": "FormGenerator",
+ "/src/view/systemTools/index.vue": "System",
+ "/src/view/systemTools/system/system.vue": "Config",
+ "/src/plugin/announcement/form/info.vue": "InfoForm",
+ "/src/plugin/announcement/view/info.vue": "Info",
+ "/src/plugin/email/view/index.vue": "Email"
+}
\ No newline at end of file
diff --git a/src/permission.js b/src/permission.js
new file mode 100644
index 0000000..b0c39af
--- /dev/null
+++ b/src/permission.js
@@ -0,0 +1,139 @@
+import { useUserStore } from '@/pinia/modules/user'
+import { useRouterStore } from '@/pinia/modules/router'
+import getPageTitle from '@/utils/page'
+import router from '@/router'
+import Nprogress from 'nprogress'
+import 'nprogress/nprogress.css'
+Nprogress.configure({ showSpinner: false, ease: 'ease', speed: 500 })
+
+const whiteList = ['Login', 'Init']
+
+const getRouter = async(userStore) => {
+ const routerStore = useRouterStore()
+ await routerStore.SetAsyncRouter()
+ await userStore.GetUserInfo()
+ const asyncRouters = routerStore.asyncRouters
+ asyncRouters.forEach(asyncRouter => {
+ router.addRoute(asyncRouter)
+ })
+}
+
+const removeLoading = () => {
+ const element = document.getElementById('gva-loading-box');
+ if (element) {
+ element.remove();
+ }
+}
+
+
+async function handleKeepAlive(to) {
+ if (to.matched.some(item => item.meta.keepAlive)) {
+ if (to.matched && to.matched.length > 2) {
+ for (let i = 1; i < to.matched.length; i++) {
+ const element = to.matched[i - 1]
+ if (element.name === 'layout') {
+ to.matched.splice(i, 1)
+ await handleKeepAlive(to)
+ }
+ // 如果没有按需加载完成则等待加载
+ if (typeof element.components.default === 'function') {
+ await element.components.default()
+ await handleKeepAlive(to)
+ }
+ }
+ }
+ }
+}
+
+router.beforeEach(async(to, from) => {
+ const routerStore = useRouterStore()
+ Nprogress.start()
+ const userStore = useUserStore()
+ to.meta.matched = [...to.matched]
+ handleKeepAlive(to)
+ const token = userStore.token
+ // 在白名单中的判断情况
+ document.title = getPageTitle(to.meta.title, to)
+ if(to.meta.client) {
+ return true
+ }
+ if (whiteList.indexOf(to.name) > -1) {
+ if (token) {
+ if (!routerStore.asyncRouterFlag && whiteList.indexOf(from.name) < 0) {
+ await getRouter(userStore)
+ }
+ // token 可以解析但是却是不存在的用户 id 或角色 id 会导致无限调用
+ if (userStore.userInfo?.authority?.defaultRouter != null) {
+ if (router.hasRoute(userStore.userInfo.authority.defaultRouter)) {
+ return { name: userStore.userInfo.authority.defaultRouter }
+ } else {
+ return { path: '/layout/404' }
+ }
+ } else {
+ // 强制退出账号
+ userStore.ClearStorage()
+ return {
+ name: 'Login',
+ query: {
+ redirect: document.location.hash
+ }
+ }
+ }
+ } else {
+ return true
+ }
+ } else {
+ // 不在白名单中并且已经登录的时候
+ if (token) {
+ if(sessionStorage.getItem("needToHome") === 'true') {
+ sessionStorage.removeItem("needToHome")
+ return { path: '/'}
+ }
+ // 添加flag防止多次获取动态路由和栈溢出
+ if (!routerStore.asyncRouterFlag && whiteList.indexOf(from.name) < 0) {
+ await getRouter(userStore)
+ if (userStore.token) {
+ if (router.hasRoute(userStore.userInfo.authority.defaultRouter)) {
+ return { ...to, replace: true }
+ } else {
+ return { path: '/layout/404' }
+ }
+ } else {
+ return {
+ name: 'Login',
+ query: { redirect: to.href }
+ }
+ }
+ } else {
+ if (to.matched.length) {
+ return true
+ } else {
+ return { path: '/layout/404' }
+ }
+ }
+ }
+ // 不在白名单中并且未登录的时候
+ if (!token) {
+ return {
+ name: 'Login',
+ query: {
+ redirect: document.location.hash
+ }
+ }
+ }
+ }
+})
+
+
+router.afterEach(() => {
+ // 路由加载完成后关闭进度条
+ document.getElementsByClassName('main-cont main-right')[0]?.scrollTo(0, 0)
+ Nprogress.done()
+})
+
+router.onError(() => {
+ // 路由发生错误后销毁进度条
+ Nprogress.remove()
+})
+
+removeLoading()
diff --git a/src/pinia/index.js b/src/pinia/index.js
new file mode 100644
index 0000000..49c389e
--- /dev/null
+++ b/src/pinia/index.js
@@ -0,0 +1,13 @@
+import { createPinia } from 'pinia'
+import { useAppStore } from '@/pinia/modules/app'
+import { useUserStore } from '@/pinia/modules/user'
+import { useDictionaryStore } from '@/pinia/modules/dictionary'
+
+const store = createPinia()
+
+export {
+ store,
+ useAppStore,
+ useUserStore,
+ useDictionaryStore
+}
diff --git a/src/pinia/modules/app.js b/src/pinia/modules/app.js
new file mode 100644
index 0000000..91e222e
--- /dev/null
+++ b/src/pinia/modules/app.js
@@ -0,0 +1,147 @@
+
+import { defineStore } from 'pinia'
+import { ref, watchEffect, reactive } from 'vue'
+import { setBodyPrimaryColor } from '@/utils/format'
+export const useAppStore = defineStore('app', () => {
+
+ const device = ref("")
+ const config = reactive({
+ weakness: false,
+ grey: false,
+ primaryColor: '#3b82f6',
+ showTabs: true,
+ darkMode: 'auto',
+ layout_side_width : 256,
+ layout_side_collapsed_width : 80,
+ layout_side_item_height : 48,
+ show_watermark: true,
+ side_mode : 'normal'
+ })
+
+ const theme = ref( 'auto')
+
+ const toggleTheme = (dark) => {
+ if (dark) {
+ theme.value = 'dark';
+ } else {
+ theme.value = 'light';
+ }
+ }
+
+ const toggleWeakness = (e) => {
+ config.weakness = e;
+ }
+
+ const toggleGrey = (e) => {
+ config.grey = e;
+ }
+
+ const togglePrimaryColor = (e) => {
+ config.primaryColor = e;
+ }
+
+ const toggleTabs = (e) => {
+ config.showTabs = e;
+ }
+
+ const toggleDevice = (e) => {
+ device.value = e;
+ }
+
+ const toggleDarkMode = (e) => {
+ config.darkMode = e
+ }
+
+ const toggleDarkModeAuto = () =>{
+ // 处理浏览器主题
+ const darkQuery = window.matchMedia('(prefers-color-scheme: dark)')
+ const dark = darkQuery.matches
+ toggleTheme(dark)
+ darkQuery.addEventListener('change', (e) => {
+ toggleTheme(e.matches)
+ })
+ }
+
+ const toggleConfigSideWidth = (e) => {
+ config.layout_side_width = e;
+ }
+
+ const toggleConfigSideCollapsedWidth = (e) => {
+ config.layout_side_collapsed_width = e;
+ }
+
+ const toggleConfigSideItemHeight = (e) => {
+ config.layout_side_item_height = e;
+ }
+
+ const toggleConfigWatermark = (e) => {
+ config.show_watermark = e;
+ }
+
+ const toggleSideModel= (e) =>{
+ config.side_mode = e
+ }
+
+ watchEffect(() => {
+ if (theme.value === 'dark') {
+ document.documentElement.classList.add('dark');
+ document.documentElement.classList.remove('light');
+ } else {
+ document.documentElement.classList.add('light');
+ document.documentElement.classList.remove('dark');
+ }
+ })
+ watchEffect(() => {
+ // 色弱模式监听处理
+ if (config.weakness) {
+ document.documentElement.classList.add('html-weakenss');
+ } else {
+ document.documentElement.classList.remove('html-weakenss');
+ }
+ })
+ watchEffect(() => {
+ // 灰色模式监听处理
+ if (config.grey) {
+ document.documentElement.classList.add('html-grey');
+ } else {
+ document.documentElement.classList.remove('html-grey');
+ }
+ })
+
+
+
+ watchEffect(() => {
+ if(config.darkMode === 'auto'){
+ toggleDarkModeAuto()
+ }
+
+ if(config.darkMode === 'dark'){
+ toggleTheme(true)
+ }else{
+ toggleTheme(false)
+ }
+ })
+
+ watchEffect(() => {
+ setBodyPrimaryColor(config.primaryColor, theme.value)
+ })
+
+ return {
+ theme,
+ device,
+ config,
+ toggleTheme,
+ toggleDevice,
+ toggleWeakness,
+ toggleGrey,
+ togglePrimaryColor,
+ toggleTabs,
+ toggleDarkMode,
+ toggleConfigSideWidth,
+ toggleConfigSideCollapsedWidth,
+ toggleConfigSideItemHeight,
+ toggleConfigWatermark,
+ toggleSideModel
+ }
+
+})
diff --git a/src/pinia/modules/dictionary.js b/src/pinia/modules/dictionary.js
new file mode 100644
index 0000000..cd88f8c
--- /dev/null
+++ b/src/pinia/modules/dictionary.js
@@ -0,0 +1,40 @@
+import { findSysDictionary } from '@/api/sysDictionary'
+
+import { defineStore } from 'pinia'
+import { ref } from 'vue'
+
+export const useDictionaryStore = defineStore('dictionary', () => {
+ const dictionaryMap = ref({})
+
+ const setDictionaryMap = (dictionaryRes) => {
+ dictionaryMap.value = { ...dictionaryMap.value, ...dictionaryRes }
+ }
+
+ const getDictionary = async(type) => {
+ if (dictionaryMap.value[type] && dictionaryMap.value[type].length) {
+ return dictionaryMap.value[type]
+ } else {
+ const res = await findSysDictionary({ type })
+ if (res.code === 0) {
+ const dictionaryRes = {}
+ const dict = []
+ res.data.resysDictionary.sysDictionaryDetails && res.data.resysDictionary.sysDictionaryDetails.forEach(item => {
+ dict.push({
+ label: item.label,
+ value: item.value,
+ extend: item.extend
+ })
+ })
+ dictionaryRes[res.data.resysDictionary.type] = dict
+ setDictionaryMap(dictionaryRes)
+ return dictionaryMap.value[type]
+ }
+ }
+ }
+
+ return {
+ dictionaryMap,
+ setDictionaryMap,
+ getDictionary
+ }
+})
diff --git a/src/pinia/modules/router.js b/src/pinia/modules/router.js
new file mode 100644
index 0000000..a4bb9a4
--- /dev/null
+++ b/src/pinia/modules/router.js
@@ -0,0 +1,147 @@
+import { asyncRouterHandle } from '@/utils/asyncRouter'
+import { emitter } from '@/utils/bus.js'
+import { asyncMenu } from '@/api/menu'
+import { defineStore } from 'pinia'
+import { ref,watchEffect } from 'vue'
+import pathInfo from "@/pathInfo.json";
+
+const notLayoutRouterArr = []
+const keepAliveRoutersArr = []
+const nameMap = {}
+
+const formatRouter = (routes, routeMap, parent) => {
+ routes && routes.forEach(item => {
+ item.parent = parent
+ item.meta.btns = item.btns
+ item.meta.hidden = item.hidden
+ if (item.meta.defaultMenu === true) {
+ if (!parent) {
+ item = { ...item, path: `/${item.path}` }
+ notLayoutRouterArr.push(item)
+ }
+ }
+ routeMap[item.name] = item
+ if (item.children && item.children.length > 0) {
+ formatRouter(item.children, routeMap, item)
+ }
+ })
+}
+
+const KeepAliveFilter = (routes) => {
+ routes && routes.forEach(item => {
+ // 子菜单中有 keep-alive 的,父菜单也必须 keep-alive,否则无效。这里将子菜单中有 keep-alive 的父菜单也加入。
+ if ((item.children && item.children.some(ch => ch.meta.keepAlive) || item.meta.keepAlive)) {
+ const path = item.meta.path
+ keepAliveRoutersArr.push(pathInfo[path])
+ nameMap[item.name] = pathInfo[path]
+ }
+ if (item.children && item.children.length > 0) {
+ KeepAliveFilter(item.children)
+ }
+ })
+}
+
+export const useRouterStore = defineStore('router', () => {
+ const keepAliveRouters = ref([])
+ const asyncRouterFlag = ref(0)
+ const setKeepAliveRouters = (history) => {
+ const keepArrTemp = []
+ history.forEach(item => {
+ if (nameMap[item.name]) {
+ keepArrTemp.push(nameMap[item.name])
+ }
+ })
+ keepAliveRouters.value = Array.from(new Set(keepArrTemp))
+ }
+ emitter.on('setKeepAlive', setKeepAliveRouters)
+
+ const asyncRouters = ref([])
+
+ const topMenu = ref([])
+
+ const leftMenu = ref([])
+
+ const menuMap = {}
+
+ const topActive = ref("")
+
+
+
+
+
+ const setLeftMenu = (name) => {
+ sessionStorage.setItem('topActive', name)
+ topActive.value = name
+ if(menuMap[name]?.children){
+ leftMenu.value = menuMap[name].children
+ }
+ return menuMap[name]?.children
+ }
+
+ watchEffect(()=>{
+ let topActive = sessionStorage.getItem("topActive")
+ let firstHasChildren = ''
+ asyncRouters.value[0]?.children.forEach((item) => {
+ if (item.hidden) return;
+ menuMap[item.name] = item;
+ if (!firstHasChildren && item.children && item.children.length > 0) {
+ firstHasChildren = item.name
+ }
+ topMenu.value.push({...item, children: []})
+ });
+
+ if(!menuMap[topActive]?.children && firstHasChildren){
+ topActive = firstHasChildren
+ }
+ setLeftMenu(topActive)
+ })
+
+ const routeMap = ({})
+ // 从后台获取动态路由
+ const SetAsyncRouter = async() => {
+ asyncRouterFlag.value++
+ const baseRouter = [{
+ path: '/layout',
+ name: 'layout',
+ component: 'view/layout/index.vue',
+ meta: {
+ title: '底层layout'
+ },
+ children: []
+ }]
+ const asyncRouterRes = await asyncMenu()
+ const asyncRouter = asyncRouterRes.data.menus
+ asyncRouter && asyncRouter.push({
+ path: 'reload',
+ name: 'Reload',
+ hidden: true,
+ meta: {
+ title: '',
+ closeTab: true,
+ },
+ component: 'view/error/reload.vue'
+ })
+ formatRouter(asyncRouter, routeMap)
+ baseRouter[0].children = asyncRouter
+ if (notLayoutRouterArr.length !== 0) {
+ baseRouter.push(...notLayoutRouterArr)
+ }
+ asyncRouterHandle(baseRouter)
+ KeepAliveFilter(asyncRouter)
+ asyncRouters.value = baseRouter
+ return true
+ }
+
+ return {
+ topActive,
+ setLeftMenu,
+ topMenu,
+ leftMenu,
+ asyncRouters,
+ keepAliveRouters,
+ asyncRouterFlag,
+ SetAsyncRouter,
+ routeMap
+ }
+})
+
diff --git a/src/pinia/modules/user.js b/src/pinia/modules/user.js
new file mode 100644
index 0000000..a803b85
--- /dev/null
+++ b/src/pinia/modules/user.js
@@ -0,0 +1,143 @@
+import { login, getUserInfo, setSelfInfo } from '@/api/user'
+import { jsonInBlacklist } from '@/api/jwt'
+import router from '@/router/index'
+import { ElLoading, ElMessage } from 'element-plus'
+import { defineStore } from 'pinia'
+import { ref, computed, watch } from 'vue'
+import { useRouterStore } from './router'
+import cookie from 'js-cookie'
+
+import {useAppStore} from "@/pinia";
+
+export const useUserStore = defineStore('user', () => {
+ const appStore = useAppStore()
+ const loadingInstance = ref(null)
+
+ const userInfo = ref({
+ uuid: '',
+ nickName: '',
+ headerImg: '',
+ authority: {},
+ })
+ const token = ref(window.localStorage.getItem('token') || cookie.get('x-token') || '')
+ const setUserInfo = (val) => {
+ userInfo.value = val
+ if(val.originSetting){
+ Object.keys(appStore.config).forEach(key => {
+ appStore.config[key] = val.originSetting[key]
+ })
+ }
+ }
+
+ const setToken = (val) => {
+ token.value = val
+ }
+
+ const NeedInit = async () => {
+ token.value = ''
+ window.localStorage.removeItem('token')
+ await router.push({name: 'Init', replace: true})
+ }
+
+ const ResetUserInfo = (value = {}) => {
+ userInfo.value = {
+ ...userInfo.value,
+ ...value
+ }
+ }
+ /* 获取用户信息*/
+ const GetUserInfo = async() => {
+ const res = await getUserInfo()
+ if (res.code === 0) {
+ setUserInfo(res.data.userInfo)
+ }
+ return res
+ }
+ /* 登录*/
+ const LoginIn = async(loginInfo) => {
+ loadingInstance.value = ElLoading.service({
+ fullscreen: true,
+ text: '登录中,请稍候...',
+ })
+
+ const res = await login(loginInfo)
+
+ // 登陆失败,直接返回
+ if (res.code !== 0) {
+ loadingInstance.value.close()
+ return false
+ }
+
+ // 登陆成功,设置用户信息和权限相关信息
+ setUserInfo(res.data.user)
+ setToken(res.data.token)
+
+ // 初始化路由信息
+ const routerStore = useRouterStore()
+ await routerStore.SetAsyncRouter()
+ const asyncRouters = routerStore.asyncRouters
+
+ // 注册到路由表里
+ asyncRouters.forEach(asyncRouter => {
+ router.addRoute(asyncRouter)
+ })
+
+ if (!router.hasRoute(userInfo.value.authority.defaultRouter)) {
+ ElMessage.error('请联系管理员进行授权')
+ } else {
+ await router.replace({ name: userInfo.value.authority.defaultRouter })
+ }
+
+ const isWin = ref(/windows/i.test(navigator.userAgent))
+ if (isWin.value) {
+ window.localStorage.setItem('osType', 'WIN')
+ } else {
+ window.localStorage.setItem('osType', 'MAC')
+ }
+
+
+ // 全部操作均结束,关闭loading并返回
+ loadingInstance.value.close()
+ return true
+ }
+ /* 登出*/
+ const LoginOut = async() => {
+ const res = await jsonInBlacklist()
+
+ // 登出失败
+ if (res.code !== 0) {
+ return
+ }
+
+ await ClearStorage()
+
+ // 把路由定向到登录页,无需等待直接reload
+ router.push({ name: 'Login', replace: true })
+ window.location.reload()
+ }
+ /* 清理数据 */
+ const ClearStorage = async() => {
+ token.value = ''
+ sessionStorage.clear()
+ window.localStorage.removeItem('token')
+ cookie.remove('x-token')
+ localStorage.removeItem('originSetting')
+ }
+
+ watch(() => token.value, () => {
+ window.localStorage.setItem('token', token.value)
+ })
+
+ return {
+ userInfo,
+ token,
+ NeedInit,
+ ResetUserInfo,
+ GetUserInfo,
+ LoginIn,
+ LoginOut,
+ setToken,
+ loadingInstance,
+ ClearStorage
+ }
+})
diff --git a/src/plugin/announcement/api/info.js b/src/plugin/announcement/api/info.js
new file mode 100644
index 0000000..e0b5fec
--- /dev/null
+++ b/src/plugin/announcement/api/info.js
@@ -0,0 +1,110 @@
+import service from '@/utils/request'
+
+// @Tags Info
+// @Summary 创建公告
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.Info true "创建公告"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"创建成功"}"
+// @Router /info/createInfo [post]
+export const createInfo = (data) => {
+ return service({
+ url: '/info/createInfo',
+ method: 'post',
+ data
+ })
+}
+
+// @Tags Info
+// @Summary 删除公告
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.Info true "删除公告"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"
+// @Router /info/deleteInfo [delete]
+export const deleteInfo = (params) => {
+ return service({
+ url: '/info/deleteInfo',
+ method: 'delete',
+ params
+ })
+}
+
+// @Tags Info
+// @Summary 批量删除公告
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body request.IdsReq true "批量删除公告"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"
+// @Router /info/deleteInfo [delete]
+export const deleteInfoByIds = (params) => {
+ return service({
+ url: '/info/deleteInfoByIds',
+ method: 'delete',
+ params
+ })
+}
+
+// @Tags Info
+// @Summary 更新公告
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.Info true "更新公告"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"更新成功"}"
+// @Router /info/updateInfo [put]
+export const updateInfo = (data) => {
+ return service({
+ url: '/info/updateInfo',
+ method: 'put',
+ data
+ })
+}
+
+// @Tags Info
+// @Summary 用id查询公告
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data query model.Info true "用id查询公告"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"查询成功"}"
+// @Router /info/findInfo [get]
+export const findInfo = (params) => {
+ return service({
+ url: '/info/findInfo',
+ method: 'get',
+ params
+ })
+}
+
+// @Tags Info
+// @Summary 分页获取公告列表
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data query request.PageInfo true "分页获取公告列表"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
+// @Router /info/getInfoList [get]
+export const getInfoList = (params) => {
+ return service({
+ url: '/info/getInfoList',
+ method: 'get',
+ params
+ })
+}
+// @Tags Info
+// @Summary 获取数据源
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"查询成功"}"
+// @Router /info/findInfoDataSource [get]
+export const getInfoDataSource = () => {
+ return service({
+ url: '/info/getInfoDataSource',
+ method: 'get',
+ })
+}
diff --git a/src/plugin/announcement/form/info.vue b/src/plugin/announcement/form/info.vue
new file mode 100644
index 0000000..95a868d
--- /dev/null
+++ b/src/plugin/announcement/form/info.vue
@@ -0,0 +1,121 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 保存
+ 返回
+
+
+
+
+
+
+
+
+
diff --git a/src/plugin/announcement/view/info.vue b/src/plugin/announcement/view/info.vue
new file mode 100644
index 0000000..3643b89
--- /dev/null
+++ b/src/plugin/announcement/view/info.vue
@@ -0,0 +1,418 @@
+
+
+
+
+
+
+
+ 创建日期
+
+
+
+
+
+
+ —
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+
+ 重置
+
+
+ 展开
+
+
+ 收起
+
+
+
+
+
+
+
+ 新增
+
+
+ 删除
+
+
+
+
+
+
+
+ {{ formatDate(scope.row.CreatedAt) }}
+
+
+
+
+
+
+ [富文本内容]
+
+
+
+
+ {{ filterDataSource(dataSource.userID,scope.row.userID) }}
+
+
+
+
+
+
+ {{ file.name }}
+
+
+
+
+
+
+
+ 变更
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
{{ type==='create'?'添加':'修改' }}
+
+
+ 确 定
+
+
+ 取 消
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/plugin/email/api/email.js b/src/plugin/email/api/email.js
new file mode 100644
index 0000000..590c862
--- /dev/null
+++ b/src/plugin/email/api/email.js
@@ -0,0 +1,30 @@
+import service from '@/utils/request'
+// @Tags System
+// @Summary 发送测试邮件
+// @Security ApiKeyAuth
+// @Produce application/json
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"发送成功"}"
+// @Router /email/emailTest [post]
+export const emailTest = (data) => {
+ return service({
+ url: '/email/emailTest',
+ method: 'post',
+ data
+ })
+}
+
+// @Tags System
+// @Summary 发送邮件
+// @Security ApiKeyAuth
+// @Produce application/json
+// @Param data body email_response.Email true "发送邮件必须的参数"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"发送成功"}"
+// @Router /email/sendEmail [post]
+export const sendEmail = (data) => {
+ return service({
+ url: '/email/sendEmail',
+ method: 'post',
+ data
+ })
+}
+
diff --git a/src/plugin/email/view/index.vue b/src/plugin/email/view/index.vue
new file mode 100644
index 0000000..11d57e4
--- /dev/null
+++ b/src/plugin/email/view/index.vue
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 发送测试邮件
+ 发送邮件
+
+
+
+
+
+
+
+
+
diff --git a/src/router/index.js b/src/router/index.js
new file mode 100644
index 0000000..52d3763
--- /dev/null
+++ b/src/router/index.js
@@ -0,0 +1,31 @@
+import { createRouter, createWebHashHistory } from 'vue-router'
+
+const routes = [{
+ path: '/',
+ redirect: '/login'
+},
+{
+ path: '/init',
+ name: 'Init',
+ component: () => import('@/view/init/index.vue')
+},
+{
+ path: '/login',
+ name: 'Login',
+ component: () => import('@/view/login/index.vue')
+},
+{
+ path: '/:catchAll(.*)',
+ meta: {
+ closeTab: true,
+ },
+ component: () => import('@/view/error/index.vue')
+}
+]
+
+const router = createRouter({
+ history: createWebHashHistory(),
+ routes,
+})
+
+export default router
diff --git a/src/style/element/index.scss b/src/style/element/index.scss
new file mode 100644
index 0000000..40ef0df
--- /dev/null
+++ b/src/style/element/index.scss
@@ -0,0 +1,24 @@
+@forward 'element-plus/theme-chalk/src/common/var.scss' with (
+ $colors: (
+ 'white': #ffffff,
+ 'black': #000000,
+ 'primary': (
+ 'base': #4d70ff,
+ ),
+ 'success': (
+ 'base': #67c23a,
+ ),
+ 'warning': (
+ 'base': #e6a23c,
+ ),
+ 'danger': (
+ 'base': #f56c6c,
+ ),
+ 'error': (
+ 'base': #f56c6c,
+ ),
+ 'info': (
+ 'base': #909399,
+ ),
+ )
+);
diff --git a/src/style/element_visiable.scss b/src/style/element_visiable.scss
new file mode 100644
index 0000000..e85342c
--- /dev/null
+++ b/src/style/element_visiable.scss
@@ -0,0 +1,137 @@
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+@import '@/style/main.scss';
+@import "@/style/reset";
+
+.el-button {
+ font-weight: 400;
+ border-radius: 2px;
+}
+
+.gva-pagination {
+ @apply flex justify-end;
+ .el-pagination__editor {
+ .el-input__inner {
+ @apply h-8;
+ }
+ }
+
+ .is-active {
+ @apply rounded text-white;
+ background: var(--el-color-primary);
+ color: #ffffff !important;
+ }
+}
+
+
+.el-drawer__header{
+ margin-bottom: 0 !important;
+ padding-top: 16px !important;
+ padding-bottom: 16px !important;
+ @apply border-0 border-b border-solid border-gray-200;
+}
+
+
+.el-form--inline {
+ .el-form-item {
+ & > .el-input, .el-cascader, .el-select, .el-date-editor, .el-autocomplete {
+ @apply w-52;
+ }
+ }
+}
+
+.el-dropdown {
+ @apply overflow-hidden
+}
+
+
+.el-table {
+ tr{
+ th {
+ @apply dark:bg-slate-900;
+ .cell {
+ @apply leading-[36px] text-gray-700 dark:text-gray-200;
+ }
+ }
+ }
+ .el-table__row {
+ td {
+ @apply dark:bg-slate-900;
+ .cell {
+ @apply leading-[32px] text-gray-600 dark:text-gray-300;
+ }
+ }
+ }
+ tr{
+ th{
+ &.is-leaf {
+ @apply dark:bg-slate-900;
+ }
+ }
+
+ }
+}
+
+// layout
+
+// table
+.el-pagination {
+ @apply mt-8;
+ .btn-prev,
+ .btn-next {
+ @apply border border-solid border-gray-300 dark:border-gray-700 rounded;
+ }
+ .el-pager {
+ li {
+ @apply border border-solid border-gray-300 dark:border-gray-600 rounded text-gray-600 text-sm mx-1;
+ }
+ }
+}
+.el-menu{
+ li{
+ @apply my-1;
+ }
+}
+.el-menu--vertical{
+ .el-menu-item{
+ border-radius: 2px;
+ &.is-active{
+ background-color: var(--el-color-primary) !important;
+ color: #fff !important;
+ }
+ }
+}
+
+
+.el-sub-menu.el-sub-menu__hide-arrow{
+ height: 44px;
+}
+
+
+.el-tabs__header{
+ margin: 0 0 1px !important;
+}
+
+.el-sub-menu.is-active{
+ > .el-sub-menu__title{
+ color: var(--el-color-primary) !important;
+ }
+}
+
+.el-sub-menu__title.el-tooltip__trigger,
+.el-menu-item .el-menu-tooltip__trigger{
+ justify-content: center;
+}
+
+.el-menu--horizontal .el-menu .el-sub-menu__title{
+ justify-content: flex-start;
+}
+
+html.dark {
+ /* 自定义深色背景颜色 */
+ --el-bg-color: rgb(30 ,41 ,59);
+ --el-bg-color-overlay: rgb(40 ,51 ,69);
+ --el-fill-color-light: rgb(15 ,23 ,42);
+ --el-fill-color : rgb(15 ,23 ,42);
+}
diff --git a/src/style/iconfont.css b/src/style/iconfont.css
new file mode 100644
index 0000000..bc091a0
--- /dev/null
+++ b/src/style/iconfont.css
@@ -0,0 +1,47 @@
+@font-face {
+ font-family: 'gvaIcon';
+ src: url('data:font/ttf;charset=utf-8;base64,AAEAAAANAIAAAwBQRkZUTZJUyU8AAA14AAAAHEdERUYAKQARAAANWAAAAB5PUy8yPJpJTAAAAVgAAABgY21hcM0T0L4AAAHYAAABWmdhc3D//wADAAANUAAAAAhnbHlmRk3UvwAAA0wAAAbYaGVhZB/a5jgAAADcAAAANmhoZWEHngOFAAABFAAAACRobXR4DaoBrAAAAbgAAAAebG9jYQbMCGgAAAM0AAAAGG1heHABGgB+AAABOAAAACBuYW1lXoIBAgAACiQAAAKCcG9zdN15OnUAAAyoAAAAqAABAAAAAQAA+a916l8PPPUACwQAAAAAAN5YUSMAAAAA3lhRIwBL/8ADwAM1AAAACAACAAAAAAAAAAEAAAOA/4AAXAQAAAAAAAPAAAEAAAAAAAAAAAAAAAAAAAAEAAEAAAALAHIABQAAAAAAAgAAAAoACgAAAP8AAAAAAAAABAQAAZAABQAAAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZADA5mXmfQOA/4AAAAPcAIAAAAABAAAAAAAAAAAAAAAgAAEEAAAAAAAAAAQAAAAEAACLAIoAYAB1AHYASwBLAGAAAAAAAAMAAAADAAAAHAABAAAAAABUAAMAAQAAABwABAA4AAAACgAIAAIAAuZm5mrmduZ9//8AAOZl5mrmdeZ7//8ZnhmbGZEZjQABAAAAAAAAAAAAAAAAAQYAAAEAAAAAAAAAAQIAAAACAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEYAigEcAbgCUAK6AxoDbAACAIsAIANsAswAEQAjAAAlIicBJjQ3ATYeAQYHCQEeAQYhIicBJjQ3ATYeAQYHCQEeAQYDSw0J/qsLCwFVChsSAgr+xAE8CgIV/qkNCP6qCgoBVgkbEgIK/sUBOwoCFCAJATULGQsBNQoCExwI/uL+4ggbFAkBNQsZCwE1CgITHAj+4v7iCRoUAAAAAAIAigAgA2sCzAARACIAAAE0JwEmDgEWFwkBDgEWMjcBNiUBJg4BFhcJAQ4BFjI3ATY0AiAL/qsJHBECCQE8/sQJAhQZCQFVCwFA/qsKGxICCgE8/sQKAhUZCQFVCwF1DQsBNQoCExwI/uL+4gkaFAkBNQskATUKAhMcCP7i/uIJGhQJATULGQADAGD/wAOgAzUATABcAGwAAAE1NCcmJyYiBwYHBh0BDgEdARQWOwEyNj0BNCYrATU0NzY3NjIXFhcWHQEjIgYdARQWOwEGBwYHLgEjIgYUFjMyNjc2NzY3PgE9ATQmBRUUBisBIiY9ATQ2OwEyFgUUBisBIiY9ATQ2OwEyFhUDYDAvT1O+U08vMBslLB9VHi0tHiAoJkFDnENBJiggHi0tHhUPJC5SChwRHCQkHBEeCHJAMxAfKiX9kAYFVQUGBgVVBQYCVQYFVQUGBgVVBQYByQxgUlAuMDAuUFJgDAQqG6seLCweqx4tCk5DQScnJydBQ04KLR6rHiwrGiAGDxElNiUSEAc1KkUBKx6rGyhFqwQGBgSrBQYGsAQGBgSrBQYGBQAABAB1//UDjQMLABsANwBSAHEAABMyNj0BFxYyNjQvATMyNjQmKwEiBwYHBh0BFBYFIgYdAScmIgYUHwEjIgYUFjsBMjc2NzY9ATYmJQc1NCYiBh0BFBcWFxY7ATI2NCYrATc2NCYGATQ1FSYnJisBIgYUFjsBBwYUFjI/ARUUFjI2PQEnJpUNE7wJHRMKvIcMFBQM1ggCDAgCFALiDRPJCRoTCcmJDBQUDNYIAg8CAwES/gbJExkUAggKBAbWDBQUDInJCRMXAgEHCwQG2AwUFAyJvAkSHgi8ExoTAgEB9RQMibwIEhkKvBMZFAIGDAQI1gwU6hQMickJExoJyRMZFAIICgQG2AwUIsmHDBQUDNYIAg8CAxQZE8kKGRMBAcABAQIOAwMUGRO8ChkTCbyHDBQUDNYFBAAABAB2//cDjgMMABoANQBRAG0AAAEjIgYUFjsBMjc2NzY9ATQmIgYdAScmIgYUFwEzMjY0JisBIgcGBwYdARQWMjY9ARcWMjY0JyUmJyYrASIGFBY7AQcGFBYyPwEVFBYyNj0BLgE3FhcWOwEyNjQmKwE3NjQmIg8BNTQmIgYdAR4BATqJDRMTDdUJAg8CAhMaE7cKGRQKAjeJDRMTDdUJAg8CAhMaE8gJHhIK/i8HCgQH1w0TEw2JyQoTHQnIFBkTAQKoBwoEBtYNExMNibwKFBkKvBMZFAICAhoUGRMCBwoEBtYNExMNib4KExoK/iAUGRMCBwoEB9UNExMNickIEhkK8w8CAhMZFMgKGRMJyYkNExMN1QIJzQ8CAhMZFLsKGhMKvIkNExMN1QMIAAAAAAUAS//LA7UDNQAUACkAKgA3AEQAAAEiBwYHBhQXFhcWMjc2NzY0JyYnJgMiJyYnJjQ3Njc2MhcWFxYUBwYHBgMjFB4BMj4BNC4BIg4BFyIGHQEUFjI2PQE0JgIAd2ZiOzs7O2Jm7mZiOzs7O2Jmd2VXVDIzMzJUV8pXVDIzMzJUV2UrDBQWFAwMFBYUDCsNExMaExMDNTs7YmbuZmI7Ozs7YmbuZmI7O/zWMzJUV8pXVDIzMzJUV8pXVDIzAjULFAwMFBYUDAwUgBQM6w0TEw3rDBQAAQBL/+ADwAMgAD0AAAEmBg8BLgEjIgcGBwYUFxYXFjMyPgE3Ni4BBgcOAiMiJyYnJjQ3Njc2MzIeARcnJg4BFh8BMj8BNj8BNCYDpgwXAxc5yXZyY184Ojo4X2NyWaB4HgULGhcFGWaJS2FUUTAwMTBRU2FIhGQbgA0WBw4NwgUIBAwDMQ0CsQMODFhmeDk3XmHiYV43OUV9UQ0XCQsMRWo6MC9PUr9TTy8wNmNBJQMOGhYDMwMBCAu6DRYAAAAAAgBg/8YDugMiAB4AMwAABSc+ATU0JyYnJiIHBgcGFBcWFxYzMjc2NxcWMjc2JiUiJyYnJjQ3Njc2MhcWFxYUBwYHBgOxviouNDFVV8lXVTIzMzJVV2RDPzwzvgkeCAcB/hxUSEYpKiopRkioSEYpKyspRkgCvjB9RGRYVDIzNDJVWMlXVTE0GBYqvgkJChuBKylGSKhIRikqKilGSKhIRikrAAAAABIA3gABAAAAAAAAABMAKAABAAAAAAABAAgATgABAAAAAAACAAcAZwABAAAAAAADAAgAgQABAAAAAAAEAAgAnAABAAAAAAAFAAsAvQABAAAAAAAGAAgA2wABAAAAAAAKACsBPAABAAAAAAALABMBkAADAAEECQAAACYAAAADAAEECQABABAAPAADAAEECQACAA4AVwADAAEECQADABAAbwADAAEECQAEABAAigADAAEECQAFABYApQADAAEECQAGABAAyQADAAEECQAKAFYA5AADAAEECQALACYBaABDAHIAZQBhAHQAZQBkACAAYgB5ACAAaQBjAG8AbgBmAG8AbgB0AABDcmVhdGVkIGJ5IGljb25mb250AABpAGMAbwBuAGYAbwBuAHQAAGljb25mb250AABSAGUAZwB1AGwAYQByAABSZWd1bGFyAABpAGMAbwBuAGYAbwBuAHQAAGljb25mb250AABpAGMAbwBuAGYAbwBuAHQAAGljb25mb250AABWAGUAcgBzAGkAbwBuACAAMQAuADAAAFZlcnNpb24gMS4wAABpAGMAbwBuAGYAbwBuAHQAAGljb25mb250AABHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAABHZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuAABoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAABodHRwOi8vZm9udGVsbG8uY29tAAAAAAIAAAAAAAAACgAAAAAAAQAAAAAAAAAAAAAAAAAAAAAACwAAAAEAAgECAQMBBAEFAQYBBwEIAQkRYXJyb3ctZG91YmxlLWxlZnQSYXJyb3ctZG91YmxlLXJpZ2h0EGN1c3RvbWVyLXNlcnZpY2URZnVsbHNjcmVlbi1leHBhbmQRZnVsbHNjcmVlbi1zaHJpbmsGcHJvbXB0B3JlZnJlc2gGc2VhcmNoAAAAAf//AAIAAQAAAAwAAAAWAAAAAgABAAMACgABAAQAAAACAAAAAAAAAAEAAAAA1aQnCAAAAADeWFEjAAAAAN5YUSM=') format('truetype');
+ font-weight: 600;
+ font-style: normal;
+ font-display: swap;
+}
+.gvaIcon {
+ font-family: "gvaIcon" !important;
+ font-size: 16px;
+ font-style: normal;
+ font-weight: 800;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ }
+
+.gvaIcon-arrow-double-left:before {
+ content: "\e665";
+ }
+
+.gvaIcon-arrow-double-right:before {
+ content: "\e666";
+}
+
+.gvaIcon-fullscreen-shrink:before {
+ content: "\e676";
+}
+.gvaIcon-customer-service:before {
+ content: "\e66a";
+ }
+
+.gvaIcon-fullscreen-expand:before {
+ content: "\e675";
+}
+
+.gvaIcon-prompt:before {
+ content: "\e67b";
+}
+
+.gvaIcon-refresh:before {
+ content: "\e67c";
+}
+
+.gvaIcon-search:before {
+ content: "\e67d";
+}
+
diff --git a/src/style/main.scss b/src/style/main.scss
new file mode 100644
index 0000000..18c5dd9
--- /dev/null
+++ b/src/style/main.scss
@@ -0,0 +1,53 @@
+
+@import '@/style/iconfont.css';
+
+.html-grey{
+ filter: grayscale(100%);
+}
+
+.html-weakenss{
+ filter: invert(80%);
+}
+
+.gva-table-box {
+ @apply p-4 bg-white text-slate-700 dark:text-slate-400 dark:bg-slate-900 rounded my-2;
+ .el-table{
+ @apply border-x border-t border-b-0 rounded border-table-border border-solid -mx-[1px];
+ }
+}
+
+.gva-btn-list {
+ @apply mb-3 flex items-center;
+}
+
+
+#nprogress .bar {
+ background: #29d !important;
+}
+.gva-customer-icon{
+ @apply w-4 h-4;
+}
+
+::-webkit-scrollbar {
+ @apply hidden;
+}
+
+
+.gva-search-box {
+ @apply p-4 bg-white text-slate-700 dark:text-slate-400 dark:bg-slate-900 rounded my-2;
+}
+
+.gva-form-box {
+ @apply p-4 bg-white text-slate-700 dark:text-slate-400 dark:bg-slate-900 rounded my-2;
+}
+
+.el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content{
+ background: var(--el-color-primary-bg) !important;
+}
+
+.el-dropdown{
+ outline: none;
+ *{
+ outline: none;
+ }
+}
diff --git a/src/style/reset.scss b/src/style/reset.scss
new file mode 100644
index 0000000..d70c71f
--- /dev/null
+++ b/src/style/reset.scss
@@ -0,0 +1,508 @@
+/* Document
+ ========================================================================== */
+
+
+/**
+ * 1. Correct the line height in all browsers.
+ * 2. Prevent adjustments of font size after orientation changes in iOS.
+ */
+
+@import '@/style/iconfont.css';
+html {
+ line-height: 1.15;
+ /* 1 */
+ -webkit-text-size-adjust: 100%;
+ /* 2 */
+}
+
+
+/* Sections
+ ========================================================================== */
+
+
+/**
+ * Remove the margin in all browsers.
+ */
+
+body {
+ margin: 0;
+}
+
+
+/**
+ * Render the `main` element consistently in IE.
+ */
+
+main {
+ display: block;
+}
+
+
+/**
+ * Correct the font size and margin on `h1` elements within `section` and
+ * `article` contexts in Chrome, Firefox, and Safari.
+ */
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+
+
+/* Grouping content
+ ========================================================================== */
+
+
+/**
+ * 1. Add the correct box sizing in Firefox.
+ * 2. Show the overflow in Edge and IE.
+ */
+
+hr {
+ box-sizing: content-box;
+ /* 1 */
+ height: 0;
+ /* 1 */
+ overflow: visible;
+ /* 2 */
+}
+
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+
+pre {
+ font-family: monospace, monospace;
+ /* 1 */
+ font-size: 1em;
+ /* 2 */
+}
+
+
+/* Text-level semantics
+ ========================================================================== */
+
+
+/**
+ * Remove the gray background on active links in IE 10.
+ */
+
+a {
+ background-color: transparent;
+}
+
+
+/**
+ * 1. Remove the bottom border in Chrome 57-
+ * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
+ */
+
+abbr[title] {
+ border-bottom: none;
+ /* 1 */
+ text-decoration: underline;
+ /* 2 */
+ text-decoration: underline dotted;
+ /* 2 */
+}
+
+
+/**
+ * Add the correct font weight in Chrome, Edge, and Safari.
+ */
+
+b,
+strong {
+ font-weight: bolder;
+}
+
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+
+code,
+kbd,
+samp {
+ font-family: monospace, monospace;
+ /* 1 */
+ font-size: 1em;
+ /* 2 */
+}
+
+
+/**
+ * Add the correct font size in all browsers.
+ */
+
+small {
+ font-size: 80%;
+}
+
+
+/**
+ * Prevent `sub` and `sup` elements from affecting the line height in
+ * all browsers.
+ */
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+sup {
+ top: -0.5em;
+}
+
+
+/* Embedded content
+ ========================================================================== */
+
+
+/**
+ * Remove the border on images inside links in IE 10.
+ */
+
+img {
+ border-style: none;
+}
+
+
+/* Forms
+ ========================================================================== */
+
+
+/**
+ * 1. Change the font styles in all browsers.
+ * 2. Remove the margin in Firefox and Safari.
+ */
+
+button,
+input,
+optgroup,
+select,
+textarea {
+ font-family: inherit;
+ /* 1 */
+ font-size: 100%;
+ /* 1 */
+ line-height: 1.15;
+ /* 1 */
+ margin: 0;
+ /* 2 */
+}
+
+
+/**
+ * Show the overflow in IE.
+ * 1. Show the overflow in Edge.
+ */
+
+button,
+input {
+ /* 1 */
+ overflow: visible;
+}
+
+
+/**
+ * Remove the inheritance of text transform in Edge, Firefox, and IE.
+ * 1. Remove the inheritance of text transform in Firefox.
+ */
+
+button,
+select {
+ /* 1 */
+ text-transform: none;
+}
+
+
+/**
+ * Correct the inability to style clickable types in iOS and Safari.
+ */
+
+button,
+[type="button"],
+[type="reset"],
+[type="submit"] {
+ -webkit-appearance: button;
+}
+
+
+/**
+ * Remove the inner border and padding in Firefox.
+ */
+
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+ border-style: none;
+ padding: 0;
+}
+
+
+/**
+ * Restore the focus styles unset by the previous rule.
+ */
+
+button:-moz-focusring,
+[type="button"]:-moz-focusring,
+[type="reset"]:-moz-focusring,
+[type="submit"]:-moz-focusring {
+ outline: 1px dotted ButtonText;
+}
+
+
+/**
+ * Correct the padding in Firefox.
+ */
+
+fieldset {
+ padding: 0.35em 0.75em 0.625em;
+}
+
+
+/**
+ * 1. Correct the text wrapping in Edge and IE.
+ * 2. Correct the color inheritance from `fieldset` elements in IE.
+ * 3. Remove the padding so developers are not caught out when they zero out
+ * `fieldset` elements in all browsers.
+ */
+
+legend {
+ box-sizing: border-box;
+ /* 1 */
+ color: inherit;
+ /* 2 */
+ display: table;
+ /* 1 */
+ max-width: 100%;
+ /* 1 */
+ padding: 0;
+ /* 3 */
+ white-space: normal;
+ /* 1 */
+}
+
+
+/**
+ * Add the correct vertical alignment in Chrome, Firefox, and Opera.
+ */
+
+progress {
+ vertical-align: baseline;
+}
+
+
+/**
+ * Remove the default vertical scrollbar in IE 10+.
+ */
+
+textarea {
+ overflow: auto;
+}
+
+
+/**
+ * 1. Add the correct box sizing in IE 10.
+ * 2. Remove the padding in IE 10.
+ */
+
+[type="checkbox"],
+[type="radio"] {
+ box-sizing: border-box;
+ /* 1 */
+ padding: 0;
+ /* 2 */
+}
+
+
+/**
+ * Correct the cursor style of increment and decrement buttons in Chrome.
+ */
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+
+
+/**
+ * 1. Correct the odd appearance in Chrome and Safari.
+ * 2. Correct the outline style in Safari.
+ */
+
+[type="search"] {
+ -webkit-appearance: textfield;
+ /* 1 */
+ outline-offset: -2px;
+ /* 2 */
+}
+
+
+/**
+ * Remove the inner padding in Chrome and Safari on macOS.
+ */
+
+[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+
+/**
+ * 1. Correct the inability to style clickable types in iOS and Safari.
+ * 2. Change font properties to `inherit` in Safari.
+ */
+
+::-webkit-file-upload-button {
+ -webkit-appearance: button;
+ /* 1 */
+ font: inherit;
+ /* 2 */
+}
+
+
+/* Interactive
+ ========================================================================== */
+
+
+/*
+ * Add the correct display in Edge, IE 10+, and Firefox.
+ */
+
+details {
+ display: block;
+}
+
+
+/*
+ * Add the correct display in all browsers.
+ */
+
+summary {
+ display: list-item;
+}
+
+
+/* Misc
+ ========================================================================== */
+
+
+/**
+ * Add the correct display in IE 10+.
+ */
+
+template {
+ display: none;
+}
+
+
+/**
+ * Add the correct display in IE 10.
+ */
+
+[hidden] {
+ display: none;
+}
+
+HTML,
+body,
+div,
+ul,
+ol,
+dl,
+li,
+dt,
+dd,
+p,
+blockquote,
+pre,
+form,
+fieldset,
+table,
+th,
+td {
+ border: none;
+ font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
+ font-size: 14px;
+ margin: 0px;
+ padding: 0px;
+}
+
+html,
+body {
+ height: 100%;
+ width: 100%;
+}
+
+address,
+caption,
+cite,
+code,
+th,
+var {
+ font-style: normal;
+ font-weight: normal;
+}
+
+a {
+ text-decoration: none;
+}
+
+input::-ms-clear {
+ display: none;
+}
+
+input::-ms-reveal {
+ display: none;
+}
+
+input {
+ -webkit-appearance: none;
+ margin: 0;
+ outline: none;
+ padding: 0;
+}
+
+input::-webkit-input-placeholder {
+ color: #ccc;
+}
+
+input::-ms-input-placeholder {
+ color: #ccc;
+}
+
+input::-moz-placeholder {
+ color: #ccc;
+}
+
+input[type=submit],
+input[type=button] {
+ cursor: pointer;
+}
+
+button[disabled],
+input[disabled] {
+ cursor: default;
+}
+
+img {
+ border: none;
+}
+
+ul,
+ol,
+li {
+ list-style-type: none;
+}
diff --git a/src/utils/asyncRouter.js b/src/utils/asyncRouter.js
new file mode 100644
index 0000000..26c3df0
--- /dev/null
+++ b/src/utils/asyncRouter.js
@@ -0,0 +1,32 @@
+const viewModules = import.meta.glob('../view/**/*.vue')
+const pluginModules = import.meta.glob('../plugin/**/*.vue')
+
+export const asyncRouterHandle = (asyncRouter) => {
+ asyncRouter.forEach(item => {
+ if (item.component && typeof item.component === 'string') {
+ item.meta.path = "/src/"+item.component
+ if (item.component.split('/')[0] === 'view') {
+ item.component = dynamicImport(viewModules, item.component)
+ } else if (item.component.split('/')[0] === 'plugin') {
+ item.component = dynamicImport(pluginModules, item.component)
+ }
+ }
+ if (item.children) {
+ asyncRouterHandle(item.children)
+ }
+ })
+}
+
+function dynamicImport(
+ dynamicViewsModules,
+ component
+) {
+ const keys = Object.keys(dynamicViewsModules)
+ const matchKeys = keys.filter((key) => {
+ const k = key.replace('../', '')
+ return k === component
+ })
+ const matchKey = matchKeys[0]
+
+ return dynamicViewsModules[matchKey]
+}
diff --git a/src/utils/btnAuth.js b/src/utils/btnAuth.js
new file mode 100644
index 0000000..f94fa9b
--- /dev/null
+++ b/src/utils/btnAuth.js
@@ -0,0 +1,6 @@
+import { useRoute } from 'vue-router'
+import { reactive } from 'vue'
+export const useBtnAuth = () => {
+ const route = useRoute()
+ return route.meta.btns || reactive({})
+}
diff --git a/src/utils/bus.js b/src/utils/bus.js
new file mode 100644
index 0000000..4b673fa
--- /dev/null
+++ b/src/utils/bus.js
@@ -0,0 +1,6 @@
+
+// using ES6 modules
+import mitt from 'mitt'
+
+export const emitter = mitt()
+
diff --git a/src/utils/closeThisPage.js b/src/utils/closeThisPage.js
new file mode 100644
index 0000000..b2a0c05
--- /dev/null
+++ b/src/utils/closeThisPage.js
@@ -0,0 +1,5 @@
+import { emitter } from '@/utils/bus.js'
+
+export const closeThisPage = () => {
+ emitter.emit('closeThisPage')
+}
diff --git a/src/utils/date.js b/src/utils/date.js
new file mode 100644
index 0000000..6bb8570
--- /dev/null
+++ b/src/utils/date.js
@@ -0,0 +1,30 @@
+// 对Date的扩展,将 Date 转化为指定格式的String
+// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
+// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
+// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
+// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
+// eslint-disable-next-line no-extend-native
+Date.prototype.Format = function(fmt) {
+ var o = {
+ 'M+': this.getMonth() + 1, // 月份
+ 'd+': this.getDate(), // 日
+ 'h+': this.getHours(), // 小时
+ 'm+': this.getMinutes(), // 分
+ 's+': this.getSeconds(), // 秒
+ 'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
+ 'S': this.getMilliseconds() // 毫秒
+ }
+ if (/(y+)/.test(fmt)) { fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length)) }
+ for (var k in o) {
+ if (new RegExp('(' + k + ')').test(fmt)) { fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length))) }
+ }
+ return fmt
+}
+
+export function formatTimeToStr(times, pattern) {
+ var d = new Date(times).Format('yyyy-MM-dd hh:mm:ss')
+ if (pattern) {
+ d = new Date(times).Format(pattern)
+ }
+ return d.toLocaleString()
+}
diff --git a/src/utils/dictionary.js b/src/utils/dictionary.js
new file mode 100644
index 0000000..440fe5e
--- /dev/null
+++ b/src/utils/dictionary.js
@@ -0,0 +1,35 @@
+import { useDictionaryStore } from '@/pinia/modules/dictionary'
+import { getSysParam } from '@/api/sysParams'
+// 获取字典方法 使用示例 getDict('sex').then(res) 或者 async函数下 const res = await getDict('sex')
+export const getDict = async(type) => {
+ const dictionaryStore = useDictionaryStore()
+ await dictionaryStore.getDictionary(type)
+ return dictionaryStore.dictionaryMap[type]
+}
+
+// 字典文字展示方法
+export const showDictLabel = (
+ dict,
+ code,
+ keyCode = 'value',
+ valueCode = 'label'
+) => {
+ if (!dict) {
+ return ''
+ }
+ const dictMap = {}
+ dict.forEach(item => {
+ if (Reflect.has(item, keyCode) && Reflect.has(item, valueCode)) {
+ dictMap[item[keyCode]] = item[valueCode]
+ }
+ })
+ return Reflect.has(dictMap, code) ? dictMap[code] : ''
+}
+
+
+export const getParams = async (key)=>{
+ const res = await getSysParam({key})
+ if(res.code === 0){
+ return res.data.value
+ }
+}
diff --git a/src/utils/doc.js b/src/utils/doc.js
new file mode 100644
index 0000000..55a3949
--- /dev/null
+++ b/src/utils/doc.js
@@ -0,0 +1,3 @@
+export const toDoc = (url) => {
+ window.open(url, '_blank')
+}
diff --git a/src/utils/downloadImg.js b/src/utils/downloadImg.js
new file mode 100644
index 0000000..93fb222
--- /dev/null
+++ b/src/utils/downloadImg.js
@@ -0,0 +1,19 @@
+export const downloadImage = (imgsrc, name) => { // 下载图片地址和图片名
+ var image = new Image()
+ image.setAttribute('crossOrigin', 'anonymous')
+ image.onload = function() {
+ var canvas = document.createElement('canvas')
+ canvas.width = image.width
+ canvas.height = image.height
+ var context = canvas.getContext('2d')
+ context.drawImage(image, 0, 0, image.width, image.height)
+ var url = canvas.toDataURL('image/png') // 得到图片的base64编码数据
+
+ var a = document.createElement('a') // 生成一个a元素
+ var event = new MouseEvent('click') // 创建一个单击事件
+ a.download = name || 'photo' // 设置图片名称
+ a.href = url // 将生成的URL设置为a.href属性
+ a.dispatchEvent(event) // 触发a的单击事件
+ }
+ image.src = imgsrc
+}
diff --git a/src/utils/event.js b/src/utils/event.js
new file mode 100644
index 0000000..5063d8c
--- /dev/null
+++ b/src/utils/event.js
@@ -0,0 +1,29 @@
+export function addEventListen(
+ target,
+ event,
+ handler,
+ capture = false
+) {
+ if (
+ target.addEventListener &&
+ typeof target.addEventListener === 'function'
+ ) {
+ target.addEventListener(event, handler, capture);
+ }
+}
+
+export function removeEventListen(
+ target,
+ event,
+ handler,
+ capture = false
+) {
+ if (
+ target.removeEventListener &&
+ typeof target.removeEventListener === 'function'
+ ) {
+ target.removeEventListener(event, handler, capture);
+ }
+}
+
+
diff --git a/src/utils/fmtRouterTitle.js b/src/utils/fmtRouterTitle.js
new file mode 100644
index 0000000..bcaeb67
--- /dev/null
+++ b/src/utils/fmtRouterTitle.js
@@ -0,0 +1,13 @@
+export const fmtTitle = (title, now) => {
+ const reg = /\$\{(.+?)\}/
+ const reg_g = /\$\{(.+?)\}/g
+ const result = title.match(reg_g)
+ if (result) {
+ result.forEach((item) => {
+ const key = item.match(reg)[1]
+ const value = now.params[key] || now.query[key]
+ title = title.replace(item, value)
+ })
+ }
+ return title
+}
diff --git a/src/utils/format.js b/src/utils/format.js
new file mode 100644
index 0000000..0cf75dc
--- /dev/null
+++ b/src/utils/format.js
@@ -0,0 +1,139 @@
+import { formatTimeToStr } from '@/utils/date'
+import { getDict } from '@/utils/dictionary'
+import {ref} from "vue";
+
+export const formatBoolean = (bool) => {
+ if (bool !== null) {
+ return bool ? '是' : '否'
+ } else {
+ return ''
+ }
+}
+export const formatDate = (time) => {
+ if (time !== null && time !== '') {
+ var date = new Date(time)
+ return formatTimeToStr(date, 'yyyy-MM-dd hh:mm:ss')
+ } else {
+ return ''
+ }
+}
+
+export const filterDict = (value, options) => {
+ const rowLabel = options && options.filter(item => item.value === value)
+ return rowLabel && rowLabel[0] && rowLabel[0].label
+}
+
+export const filterDataSource = (dataSource, value) => {
+ if (Array.isArray(value)) {
+ return value.map(item => {
+ const rowLabel = dataSource && dataSource.find(i => i.value === item)
+ return rowLabel?.label
+ })
+ }
+ const rowLabel = dataSource && dataSource.find(item => item.value === value)
+ return rowLabel?.label
+}
+
+export const getDictFunc = async(type) => {
+ const dicts = await getDict(type)
+ return dicts
+}
+
+const path = import.meta.env.VITE_BASE_PATH + ':' + import.meta.env.VITE_SERVER_PORT + '/'
+export const ReturnArrImg = (arr) => {
+ const imgArr = []
+ if (arr instanceof Array) { // 如果是数组类型
+ for (const arrKey in arr) {
+ if (arr[arrKey].slice(0, 4) !== 'http') {
+ imgArr.push(path + arr[arrKey])
+ } else {
+ imgArr.push(arr[arrKey])
+ }
+ }
+ } else { // 如果不是数组类型
+ if (arr.slice(0, 4) !== 'http') {
+ imgArr.push(path + arr)
+ } else {
+ imgArr.push(arr)
+ }
+ }
+ return imgArr
+}
+
+export const returnArrImg = ReturnArrImg
+
+export const onDownloadFile = (url) => {
+ window.open(path + url)
+}
+const colorToHex = u=>{
+ let e = u.replace("#", "").match(/../g);
+ for (let t = 0; t < 3; t++)
+ e[t] = parseInt(e[t], 16);
+ return e
+}
+
+const hexToColor = (u,e,t)=>{
+ let a = [u.toString(16), e.toString(16), t.toString(16)];
+ for (let n = 0; n < 3; n++)
+ a[n].length === 1 && (a[n] = `0${a[n]}`);
+ return `#${a.join("")}`
+}
+const generateAllColors = (u,e)=> {
+ let t = colorToHex(u);
+ const target = [10, 10, 30];
+ for (let a = 0; a < 3; a++)
+ t[a] = Math.floor(t[a] * (1 - e) + target[a] * e);
+ return hexToColor(t[0], t[1], t[2])
+}
+
+const generateAllLightColors = (u, e) => {
+ let t = colorToHex(u);
+ const target = [240, 248, 255]; // RGB for blue white color
+ for (let a = 0; a < 3; a++)
+ t[a] = Math.floor(t[a] * (1 - e) + target[a] * e);
+ return hexToColor(t[0], t[1], t[2]);
+}
+
+
+function addOpacityToColor(u, opacity) {
+ let t = colorToHex(u);
+ return `rgba(${t[0]}, ${t[1]}, ${ t[2]}, ${opacity})`;
+}
+
+
+export const setBodyPrimaryColor = (primaryColor, darkMode) =>{
+
+ let fmtColorFunc = generateAllColors
+ if (darkMode === 'light') {
+ fmtColorFunc = generateAllLightColors
+ }
+
+ document.documentElement.style.setProperty('--el-color-primary', primaryColor)
+ document.documentElement.style.setProperty('--el-color-primary-bg', addOpacityToColor(primaryColor, 0.4))
+ for (let times = 1; times <= 2; times++) {
+ document.documentElement.style.setProperty(`--el-color-primary-dark-${times}`, fmtColorFunc(primaryColor, times / 10))
+ }
+ for (let times = 1; times <= 10; times++) {
+ document.documentElement.style.setProperty(`--el-color-primary-light-${times}`, fmtColorFunc(primaryColor, times / 10))
+ }
+ document.documentElement.style.setProperty(`--el-menu-hover-bg-color`, addOpacityToColor(primaryColor, 0.2))
+}
+
+
+const baseUrl = ref(import.meta.env.VITE_BASE_API)
+
+export const getBaseUrl = () => {
+ return baseUrl.value === "/" ? "" : baseUrl.value
+}
+
+export const CreateUUID = () => {
+ let d = new Date().getTime()
+ if (window.performance && typeof window.performance.now === 'function') {
+ d += performance.now()
+ }
+ return '00000000-0000-0000-0000-000000000000'.replace(/0/g, (c) => {
+ const r = (d + Math.random() * 16) % 16 | 0 // d是随机种子
+ d = Math.floor(d / 16)
+ return (c === '0' ? r : (r & 0x3 | 0x8)).toString(16)
+ })
+}
diff --git a/src/utils/image.js b/src/utils/image.js
new file mode 100644
index 0000000..9a92958
--- /dev/null
+++ b/src/utils/image.js
@@ -0,0 +1,113 @@
+export default class ImageCompress {
+ constructor(file, fileSize, maxWH = 1920) {
+ this.file = file
+ this.fileSize = fileSize
+ this.maxWH = maxWH // 最大长宽
+ }
+
+ compress() {
+ // 压缩
+ const fileType = this.file.type
+ const fileSize = this.file.size / 1024
+ return new Promise(resolve => {
+ const reader = new FileReader()
+ reader.readAsDataURL(this.file)
+ reader.onload = () => {
+ const canvas = document.createElement('canvas')
+ const img = document.createElement('img')
+ img.src = reader.result
+ img.onload = () => {
+ const ctx = canvas.getContext('2d')
+ const _dWH = this.dWH(img.width, img.height, this.maxWH)
+ canvas.width = _dWH.width
+ canvas.height = _dWH.height
+
+ // 清空后, 重写画布
+ ctx.clearRect(0, 0, canvas.width, canvas.height)
+ ctx.drawImage(img, 0, 0, canvas.width, canvas.height)
+
+ const newImgData = canvas.toDataURL(fileType, 0.90)
+
+ // 压缩宽高后的图像大小
+ const newImgSize = this.fileSizeKB(newImgData)
+
+ if (newImgSize > this.fileSize) {
+ console.log('图片尺寸太大!' + fileSize + ' >> ' + newImgSize)
+ }
+
+ const blob = this.dataURLtoBlob(newImgData, fileType)
+ const nfile = new File([blob], this.file.name)
+ resolve(nfile)
+ }
+ }
+ })
+ }
+
+ /**
+ * 长宽等比缩小
+ * 图像的一边(长或宽)为最大目标值
+ */
+ dWH(srcW, srcH, dMax) {
+ const defaults = {
+ width: srcW,
+ height: srcH
+ }
+ if (Math.max(srcW, srcH) > dMax) {
+ if (srcW > srcH) {
+ defaults.width = dMax
+ defaults.height = Math.round(srcH * (dMax / srcW))
+ return defaults
+ } else {
+ defaults.height = dMax
+ defaults.width = Math.round(srcW * (dMax / srcH))
+ return defaults
+ }
+ } else {
+ return defaults
+ }
+ }
+
+ fileSizeKB(dataURL) {
+ let sizeKB = 0
+ sizeKB = Math.round((dataURL.split(',')[1].length * 3 / 4) / 1024)
+ return sizeKB
+ }
+
+ /**
+ * 转为Blob
+ */
+ dataURLtoBlob(dataURL, fileType) {
+ const byteString = atob(dataURL.split(',')[1])
+ let mimeString = dataURL.split(',')[0].split(':')[1].split(';')[0]
+ const ab = new ArrayBuffer(byteString.length)
+ const ia = new Uint8Array(ab)
+ for (let i = 0; i < byteString.length; i++) {
+ ia[i] = byteString.charCodeAt(i)
+ }
+ if (fileType) {
+ mimeString = fileType
+ }
+ return new Blob([ab], { type: mimeString, lastModifiedDate: new Date() })
+ }
+}
+
+const path = import.meta.env.VITE_FILE_API
+export const getUrl = (url) => {
+ if (url && url.slice(0, 4) !== 'http'){
+ if (path === "/"){
+ return url
+ }
+ if (url.slice(0, 1) === "/"){
+ return path + url
+ }
+ return path + "/" + url
+ }else{
+ return url
+ }
+}
+
+export const isVideoExt = (url) => url.endsWith('.mp4') || url.endsWith('.mov') || url.endsWith('.webm') || url.endsWith('.ogg');
+
+export const isVideoMime = (type) => type == 'video/mp4' || type == 'video/webm' || type == 'video/ogg';
+
+export const isImageMime = (type) => type == 'image/jpeg' || type == 'image/png' || type == 'image/webp' || type == 'image/svg+xml';
diff --git a/src/utils/page.js b/src/utils/page.js
new file mode 100644
index 0000000..6a3c6d8
--- /dev/null
+++ b/src/utils/page.js
@@ -0,0 +1,9 @@
+import { fmtTitle } from '@/utils/fmtRouterTitle'
+import config from '@/core/config'
+export default function getPageTitle(pageTitle, route) {
+ if (pageTitle) {
+ const title = fmtTitle(pageTitle, route)
+ return `${title} - ${config.appName}`
+ }
+ return `${config.appName}`
+}
diff --git a/src/utils/request.js b/src/utils/request.js
new file mode 100644
index 0000000..20c041e
--- /dev/null
+++ b/src/utils/request.js
@@ -0,0 +1,156 @@
+import axios from 'axios' // 引入axios
+import { ElMessage, ElMessageBox } from 'element-plus'
+import { useUserStore } from '@/pinia/modules/user'
+import router from '@/router/index'
+import { ElLoading } from 'element-plus'
+
+const service = axios.create({
+ baseURL: import.meta.env.VITE_BASE_API,
+ timeout: 99999
+})
+let activeAxios = 0
+let timer
+let loadingInstance
+const showLoading = (option = {
+ target: null,
+}) => {
+ const loadDom = document.getElementById('gva-base-load-dom')
+ activeAxios++
+ if (timer) {
+ clearTimeout(timer)
+ }
+ timer = setTimeout(() => {
+ if (activeAxios > 0) {
+ if (!option.target) option.target = loadDom
+ loadingInstance = ElLoading.service(option)
+ }
+ }, 400)
+}
+
+const closeLoading = () => {
+ activeAxios--
+ if (activeAxios <= 0) {
+ clearTimeout(timer)
+ loadingInstance && loadingInstance.close()
+ }
+}
+// http request 拦截器
+service.interceptors.request.use(
+ config => {
+ if (!config.donNotShowLoading) {
+ showLoading(config.loadingOption)
+ }
+ const userStore = useUserStore()
+ config.headers = {
+ 'Content-Type': 'application/json',
+ 'x-token': userStore.token,
+ 'x-user-id': userStore.userInfo.ID,
+ ...config.headers
+ }
+ return config
+ },
+ error => {
+ if (!error.config.donNotShowLoading) {
+ closeLoading()
+ }
+ ElMessage({
+ showClose: true,
+ message: error,
+ type: 'error'
+ })
+ return error
+ }
+)
+
+// http response 拦截器
+service.interceptors.response.use(
+ response => {
+ const userStore = useUserStore()
+ if (!response.config.donNotShowLoading) {
+ closeLoading()
+ }
+ if (response.headers['new-token']) {
+ userStore.setToken(response.headers['new-token'])
+ }
+ if (response.data.code === 0 || response.headers.success === 'true') {
+ if (response.headers.msg) {
+ response.data.msg = decodeURI(response.headers.msg)
+ }
+ return response.data
+ } else {
+ ElMessage({
+ showClose: true,
+ message: response.data.msg || decodeURI(response.headers.msg),
+ type: 'error'
+ })
+ return response.data.msg ? response.data : response
+ }
+ },
+ error => {
+ if (!error.config.donNotShowLoading) {
+ closeLoading()
+ }
+
+ if (!error.response) {
+ ElMessageBox.confirm(`
+ 检测到请求错误
+ ${error}
+ `, '请求报错', {
+ dangerouslyUseHTMLString: true,
+ distinguishCancelAndClose: true,
+ confirmButtonText: '稍后重试',
+ cancelButtonText: '取消'
+ })
+ return
+ }
+
+ switch (error.response.status) {
+ case 500:
+ ElMessageBox.confirm(`
+ 检测到接口错误${error}
+ 错误码 500 :此类错误内容常见于后台panic,请先查看后台日志,如果影响您正常使用可强制登出清理缓存
+ `, '接口报错', {
+ dangerouslyUseHTMLString: true,
+ distinguishCancelAndClose: true,
+ confirmButtonText: '清理缓存',
+ cancelButtonText: '取消'
+ })
+ .then(() => {
+ const userStore = useUserStore()
+ userStore.ClearStorage()
+ router.push({ name: 'Login', replace: true })
+ })
+ break
+ case 404:
+ ElMessageBox.confirm(`
+ 检测到接口错误${error}
+ 错误码 404 :此类错误多为接口未注册(或未重启)或者请求路径(方法)与api路径(方法)不符--如果为自动化代码请检查是否存在空格
+ `, '接口报错', {
+ dangerouslyUseHTMLString: true,
+ distinguishCancelAndClose: true,
+ confirmButtonText: '我知道了',
+ cancelButtonText: '取消'
+ })
+ break
+ case 401:
+ ElMessageBox.confirm(`
+ 无效的令牌
+ 错误码: 401 错误信息:${error}
+ `, '身份信息', {
+ dangerouslyUseHTMLString: true,
+ distinguishCancelAndClose: true,
+ confirmButtonText: '重新登录',
+ cancelButtonText: '取消'
+ })
+ .then(() => {
+ const userStore = useUserStore()
+ userStore.ClearStorage()
+ router.push({ name: 'Login', replace: true })
+ })
+ break
+ }
+
+ return error
+ }
+)
+export default service
diff --git a/src/utils/stringFun.js b/src/utils/stringFun.js
new file mode 100644
index 0000000..eac4179
--- /dev/null
+++ b/src/utils/stringFun.js
@@ -0,0 +1,29 @@
+/* eslint-disable */
+export const toUpperCase = (str) => {
+ if (str[0]) {
+ return str.replace(str[0], str[0].toUpperCase())
+ } else {
+ return ''
+ }
+}
+
+export const toLowerCase = (str) => {
+ if (str[0]) {
+ return str.replace(str[0], str[0].toLowerCase())
+ } else {
+ return ''
+ }
+}
+
+// 驼峰转换下划线
+export const toSQLLine = (str) => {
+ if (str === 'ID') return 'ID'
+ return str.replace(/([A-Z])/g, "_$1").toLowerCase();
+}
+
+// 下划线转换驼峰
+export const toHump = (name) => {
+ return name.replace(/\_(\w)/g, function(all, letter) {
+ return letter.toUpperCase();
+ });
+}
\ No newline at end of file
diff --git a/src/view/about/index.vue b/src/view/about/index.vue
new file mode 100644
index 0000000..97fc87f
--- /dev/null
+++ b/src/view/about/index.vue
@@ -0,0 +1,198 @@
+
+
+
+
+
+
+ gin-vue-admin
+
+
+
+
+
+ flipped-aurora团队
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交记录
+
+
+
+
+
+ {{ item.title }}
+ {{ item.message }}
+
+
+
+
+
+ Load more
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/dashboard/components/banner.vue b/src/view/dashboard/components/banner.vue
new file mode 100644
index 0000000..0141f5c
--- /dev/null
+++ b/src/view/dashboard/components/banner.vue
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/dashboard/components/card.vue b/src/view/dashboard/components/card.vue
new file mode 100644
index 0000000..3b399bf
--- /dev/null
+++ b/src/view/dashboard/components/card.vue
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+ {{ title }}
+
+
+ 查看更多
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/dashboard/components/charts-content-numbers.vue b/src/view/dashboard/components/charts-content-numbers.vue
new file mode 100644
index 0000000..b11564f
--- /dev/null
+++ b/src/view/dashboard/components/charts-content-numbers.vue
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/view/dashboard/components/charts-people-numbers.vue b/src/view/dashboard/components/charts-people-numbers.vue
new file mode 100644
index 0000000..a7013f2
--- /dev/null
+++ b/src/view/dashboard/components/charts-people-numbers.vue
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/view/dashboard/components/charts.vue b/src/view/dashboard/components/charts.vue
new file mode 100644
index 0000000..3bcf5a9
--- /dev/null
+++ b/src/view/dashboard/components/charts.vue
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/view/dashboard/components/index.js b/src/view/dashboard/components/index.js
new file mode 100644
index 0000000..23cc04a
--- /dev/null
+++ b/src/view/dashboard/components/index.js
@@ -0,0 +1,19 @@
+import GvaBanner from "./banner.vue"
+import GvaCard from "./card.vue"
+import GvaChart from "./charts.vue"
+import GvaTable from "./table.vue"
+import GvaNotice from "./notice.vue"
+import GvaQuickLink from "./quickLinks.vue"
+import GvaWiki from "./wiki.vue"
+import GvaPluginTable from "./pluginTable.vue"
+
+export {
+ GvaBanner,
+ GvaCard,
+ GvaChart,
+ GvaTable,
+ GvaNotice,
+ GvaQuickLink,
+ GvaWiki,
+ GvaPluginTable
+}
diff --git a/src/view/dashboard/components/notice.vue b/src/view/dashboard/components/notice.vue
new file mode 100644
index 0000000..e9c6427
--- /dev/null
+++ b/src/view/dashboard/components/notice.vue
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+ {{ item.typeTitle }}
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
diff --git a/src/view/dashboard/components/pluginTable.vue b/src/view/dashboard/components/pluginTable.vue
new file mode 100644
index 0000000..8b02502
--- /dev/null
+++ b/src/view/dashboard/components/pluginTable.vue
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/view/dashboard/components/quickLinks.vue b/src/view/dashboard/components/quickLinks.vue
new file mode 100644
index 0000000..8d9cd72
--- /dev/null
+++ b/src/view/dashboard/components/quickLinks.vue
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
diff --git a/src/view/dashboard/components/table.vue b/src/view/dashboard/components/table.vue
new file mode 100644
index 0000000..5b4e60d
--- /dev/null
+++ b/src/view/dashboard/components/table.vue
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/dashboard/components/wiki.vue b/src/view/dashboard/components/wiki.vue
new file mode 100644
index 0000000..0266045
--- /dev/null
+++ b/src/view/dashboard/components/wiki.vue
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/view/dashboard/index.vue b/src/view/dashboard/index.vue
new file mode 100644
index 0000000..b5de35e
--- /dev/null
+++ b/src/view/dashboard/index.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/error/index.vue b/src/view/error/index.vue
new file mode 100644
index 0000000..1665aca
--- /dev/null
+++ b/src/view/error/index.vue
@@ -0,0 +1,28 @@
+
+
+
+
+
diff --git a/src/view/error/reload.vue b/src/view/error/reload.vue
new file mode 100644
index 0000000..2504c55
--- /dev/null
+++ b/src/view/error/reload.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
diff --git a/src/view/example/breakpoint/breakpoint.vue b/src/view/example/breakpoint/breakpoint.vue
new file mode 100644
index 0000000..0751a47
--- /dev/null
+++ b/src/view/example/breakpoint/breakpoint.vue
@@ -0,0 +1,295 @@
+
+
+
+
大文件上传
+
+
上传文件
+
请上传不超过5MB的文件
+
+
+
+
+
+
+ {{ file.name }}
+ {{ percentage }}%
+
+
+
+
+
此版本为先行体验功能测试版,样式美化和性能优化正在进行中,上传切片文件和合成的完整文件分别再QMPlusserver目录的breakpointDir文件夹和fileDir文件夹
+
+
+
+
+
+
+
+
diff --git a/src/view/example/customer/customer.vue b/src/view/example/customer/customer.vue
new file mode 100644
index 0000000..be3a25c
--- /dev/null
+++ b/src/view/example/customer/customer.vue
@@ -0,0 +1,235 @@
+
+
+
+
+
+ 新增
+
+
+
+
+
+ {{ formatDate(scope.row.CreatedAt) }}
+
+
+
+
+
+
+
+ 变更
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/example/index.vue b/src/view/example/index.vue
new file mode 100644
index 0000000..8b322d6
--- /dev/null
+++ b/src/view/example/index.vue
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/example/upload/upload.vue b/src/view/example/upload/upload.vue
new file mode 100644
index 0000000..1b08a83
--- /dev/null
+++ b/src/view/example/upload/upload.vue
@@ -0,0 +1,304 @@
+
+
+
+
+
+
+
+
+ 导入URL
+
+
+ 查询
+
+
+
+
+
+
+
+
+
+
+ {{ formatDate(scope.row.UpdatedAt) }}
+
+
+
+
+ {{ scope.row.name }}
+
+
+
+
+
+ {{ scope.row.tag }}
+
+
+
+
+
+ 下载
+ 删除
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/init/index.vue b/src/view/init/index.vue
new file mode 100644
index 0000000..c604731
--- /dev/null
+++ b/src/view/init/index.vue
@@ -0,0 +1,395 @@
+
+
+
+
+
+
+
GIN-VUE-ADMIN
+
初始化须知
+
1.您需有用一定的VUE和GOLANG基础
+
2.请您确认是否已经阅读过官方文档 初始化视频
+
3.请您确认是否了解后续的配置流程
+
4.如果您使用mysql数据库,请确认数据库引擎为innoDB
+
注:开发组不为文档中书写过的内容提供无偿服务
+
+
+ 阅读文档
+
+
+ 我已确认
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 立即初始化
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/layout/aside/asideComponent/asyncSubmenu.vue b/src/view/layout/aside/asideComponent/asyncSubmenu.vue
new file mode 100644
index 0000000..678683f
--- /dev/null
+++ b/src/view/layout/aside/asideComponent/asyncSubmenu.vue
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
diff --git a/src/view/layout/aside/asideComponent/index.vue b/src/view/layout/aside/asideComponent/index.vue
new file mode 100644
index 0000000..8558655
--- /dev/null
+++ b/src/view/layout/aside/asideComponent/index.vue
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/layout/aside/asideComponent/menuItem.vue b/src/view/layout/aside/asideComponent/menuItem.vue
new file mode 100644
index 0000000..b20bbfb
--- /dev/null
+++ b/src/view/layout/aside/asideComponent/menuItem.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+ {{ routerInfo.meta.title }}
+
+
+
+
+
+
+
+
diff --git a/src/view/layout/aside/combinationMode.vue b/src/view/layout/aside/combinationMode.vue
new file mode 100644
index 0000000..f8a9341
--- /dev/null
+++ b/src/view/layout/aside/combinationMode.vue
@@ -0,0 +1,138 @@
+
+
+
+
selectMenuItem(index, _, ele,true)"
+ >
+
+
+
+
+
+
+
+ selectMenuItem(index, _, ele,false)"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/layout/aside/headMode.vue b/src/view/layout/aside/headMode.vue
new file mode 100644
index 0000000..bbadb0d
--- /dev/null
+++ b/src/view/layout/aside/headMode.vue
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
diff --git a/src/view/layout/aside/index.vue b/src/view/layout/aside/index.vue
new file mode 100644
index 0000000..637208a
--- /dev/null
+++ b/src/view/layout/aside/index.vue
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/view/layout/aside/normalMode.vue b/src/view/layout/aside/normalMode.vue
new file mode 100644
index 0000000..64fefa5
--- /dev/null
+++ b/src/view/layout/aside/normalMode.vue
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/layout/header/index.vue b/src/view/layout/header/index.vue
new file mode 100644
index 0000000..b0b13dc
--- /dev/null
+++ b/src/view/layout/header/index.vue
@@ -0,0 +1,140 @@
+
+
+
+
+
+
+
![]()
+
+ {{ $GIN_VUE_ADMIN.appName }}
+
+
+
+
+
+ {{
+ fmtTitle(item.meta.title, route)
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ userStore.userInfo.nickName }}
+
+
+
+
+
+
+
+
+
+ 当前角色:{{
+ userStore.userInfo.authority.authorityName
+ }}
+
+
+
+
+
+ 切换为:{{ item.authorityName }}
+
+
+
+
+ 个人信息
+
+
+ 登 出
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/layout/header/tools.vue b/src/view/layout/header/tools.vue
new file mode 100644
index 0000000..8a54219
--- /dev/null
+++ b/src/view/layout/header/tools.vue
@@ -0,0 +1,199 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/layout/index.vue b/src/view/layout/index.vue
new file mode 100644
index 0000000..1f717d6
--- /dev/null
+++ b/src/view/layout/index.vue
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
diff --git a/src/view/layout/screenfull/index.vue b/src/view/layout/screenfull/index.vue
new file mode 100644
index 0000000..ab8da7f
--- /dev/null
+++ b/src/view/layout/screenfull/index.vue
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
diff --git a/src/view/layout/search/search.vue b/src/view/layout/search/search.vue
new file mode 100644
index 0000000..eb9a250
--- /dev/null
+++ b/src/view/layout/search/search.vue
@@ -0,0 +1,104 @@
+
+
+
+
+
+
diff --git a/src/view/layout/setting/index.vue b/src/view/layout/setting/index.vue
new file mode 100644
index 0000000..e86237f
--- /dev/null
+++ b/src/view/layout/setting/index.vue
@@ -0,0 +1,200 @@
+
+
+
+
+ 系统配置
+ 保存配置
+
+
+
+
+
+
+
+
+
diff --git a/src/view/layout/tabs/index.vue b/src/view/layout/tabs/index.vue
new file mode 100644
index 0000000..28d11a1
--- /dev/null
+++ b/src/view/layout/tabs/index.vue
@@ -0,0 +1,413 @@
+
+
+
+
+
+
+
+ {{ fmtTitle(item.meta.title,item) }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/login/index.vue b/src/view/login/index.vue
new file mode 100644
index 0000000..0a464a4
--- /dev/null
+++ b/src/view/login/index.vue
@@ -0,0 +1,268 @@
+
+
+
+
+
+
+
+
+
+
+
![]()
+
+
+
{{ $GIN_VUE_ADMIN.appName }}
+
A management platform using Golang and Vue
+
+
+
+
+
+
+
+
+
+
+
+
+
+
![请输入验证码]()
+
+
+
+
+ 登 录
+
+
+ 前往初始化
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/person/person.vue b/src/view/person/person.vue
new file mode 100644
index 0000000..74600e9
--- /dev/null
+++ b/src/view/person/person.vue
@@ -0,0 +1,507 @@
+
+
+
+
+
+
+
diff --git a/src/view/routerHolder.vue b/src/view/routerHolder.vue
new file mode 100644
index 0000000..da4e5fb
--- /dev/null
+++ b/src/view/routerHolder.vue
@@ -0,0 +1,25 @@
+
+
+
+
+
+
diff --git a/src/view/superAdmin/api/api.vue b/src/view/superAdmin/api/api.vue
new file mode 100644
index 0000000..498bfcc
--- /dev/null
+++ b/src/view/superAdmin/api/api.vue
@@ -0,0 +1,891 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+
+ 重置
+
+
+
+
+
+
+
+ 新增
+
+
+ 删除
+
+
+ 刷新缓存
+
+
+ 同步API
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.method }} / {{ methodFilter(scope.row.method) }}
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
同步路由
+
+
+ 取 消
+
+
+ 确 定
+
+
+
+
+
+ 新增路由 存在于当前路由中,但是不存在于api表
+
+
+
+
+ 自动填充
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.method }} / {{ methodFilter(scope.row.method) }}
+
+
+
+
+
+
+ 单条新增
+
+
+ 忽略
+
+
+
+
+
+ 已删除路由 已经不存在于当前项目的路由中,确定同步后会自动从apis表删除
+
+
+
+
+
+
+
+ {{ scope.row.method }} / {{ methodFilter(scope.row.method) }}
+
+
+
+
+
+ 忽略路由 忽略路由不参与api同步,常见为不需要进行鉴权行为的路由
+
+
+
+
+
+
+
+ {{ scope.row.method }} / {{ methodFilter(scope.row.method) }}
+
+
+
+
+
+
+ 取消忽略
+
+
+
+
+
+
+
+
+
+
{{ dialogTitle }}
+
+
+ 取 消
+
+
+ 确 定
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/superAdmin/authority/authority.vue b/src/view/superAdmin/authority/authority.vue
new file mode 100644
index 0000000..f40969f
--- /dev/null
+++ b/src/view/superAdmin/authority/authority.vue
@@ -0,0 +1,457 @@
+
+
+
+
+
+ 新增角色
+
+
+
+
+
+
+ 设置权限
+ 新增子角色
+ 拷贝
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
{{ authorityTitleForm }}
+
+ 取 消
+ 确 定
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/superAdmin/authority/components/apis.vue b/src/view/superAdmin/authority/components/apis.vue
new file mode 100644
index 0000000..9815026
--- /dev/null
+++ b/src/view/superAdmin/authority/components/apis.vue
@@ -0,0 +1,173 @@
+
+
+
+
+
+ 确 定
+
+
+
+
+
+
+ {{ data.description }}
+
+ {{data.path}}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/superAdmin/authority/components/datas.vue b/src/view/superAdmin/authority/components/datas.vue
new file mode 100644
index 0000000..b53a0f7
--- /dev/null
+++ b/src/view/superAdmin/authority/components/datas.vue
@@ -0,0 +1,144 @@
+
+
+
+
+ 全选
+ 本角色
+ 本角色及子角色
+ 确 定
+
+
+
+ {{ item.authorityName }}
+
+
+
+
+
+
diff --git a/src/view/superAdmin/authority/components/menus.vue b/src/view/superAdmin/authority/components/menus.vue
new file mode 100644
index 0000000..973f751
--- /dev/null
+++ b/src/view/superAdmin/authority/components/menus.vue
@@ -0,0 +1,248 @@
+
+
+
+
+ 确 定
+
+
+
+
+
+
+ {{ node.label }}
+
+ setDefault(data)"
+ >
+ {{ row.defaultRouter === data.name?"首页":"设为首页" }}
+
+
+
+ OpenBtn(data)"
+ >
+ 分配按钮
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/superAdmin/dictionary/sysDictionary.vue b/src/view/superAdmin/dictionary/sysDictionary.vue
new file mode 100644
index 0000000..d73c6a3
--- /dev/null
+++ b/src/view/superAdmin/dictionary/sysDictionary.vue
@@ -0,0 +1,215 @@
+
+
+
+
+
+
+ 字典列表
+
+ 新增
+
+
+
+
+
{{ dictionary.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ type === 'create' ? '添加字典' : '修改字典' }}
+
+
+ 取 消
+
+
+ 确 定
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/superAdmin/dictionary/sysDictionaryDetail.vue b/src/view/superAdmin/dictionary/sysDictionaryDetail.vue
new file mode 100644
index 0000000..712a974
--- /dev/null
+++ b/src/view/superAdmin/dictionary/sysDictionaryDetail.vue
@@ -0,0 +1,362 @@
+
+
+
+
+ 字典详细内容
+
+ 新增字典项
+
+
+
+
+
+
+ {{ formatDate(scope.row.CreatedAt) }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ formatBoolean(scope.row.status) }}
+
+
+
+
+
+
+
+
+ 变更
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
{{ type==='create' ? '添加字典项' : '修改字典项' }}
+
+
+ 取 消
+
+
+ 确 定
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/superAdmin/index.vue b/src/view/superAdmin/index.vue
new file mode 100644
index 0000000..d622809
--- /dev/null
+++ b/src/view/superAdmin/index.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/superAdmin/menu/components/components-cascader.vue b/src/view/superAdmin/menu/components/components-cascader.vue
new file mode 100644
index 0000000..04b863d
--- /dev/null
+++ b/src/view/superAdmin/menu/components/components-cascader.vue
@@ -0,0 +1,124 @@
+
+
+
+
+ {{ pathIsSelect ? '手动输入' : '快捷选择' }}
+
+
+
+
+
+
+
+
diff --git a/src/view/superAdmin/menu/icon.vue b/src/view/superAdmin/menu/icon.vue
new file mode 100644
index 0000000..33a7470
--- /dev/null
+++ b/src/view/superAdmin/menu/icon.vue
@@ -0,0 +1,1184 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.key }}
+
+
+
+
+
+
+
+
diff --git a/src/view/superAdmin/menu/menu.vue b/src/view/superAdmin/menu/menu.vue
new file mode 100644
index 0000000..1c2f207
--- /dev/null
+++ b/src/view/superAdmin/menu/menu.vue
@@ -0,0 +1,799 @@
+
+
+
+
+
+ 新增根菜单
+
+
+
+
+
+
+
+
+ {{ scope.row.meta.title }}
+
+
+
+
+
+
+
+
+ {{ scope.row.meta.icon }}
+
+
+
+
+
+
+
+ {{ scope.row.hidden ? "隐藏" : "显示" }}
+
+
+
+
+
+
+
+
+ 添加子菜单
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
{{ dialogTitle }}
+
+
+ 取 消
+
+
+ 确 定
+
+
+
+
+
+
+
+
+
+
+
+ 如果菜单包含子菜单,请创建router-view二级路由页面或者
+
+ 点我设置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 路由Path
+ 添加参数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 高亮菜单
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 是否为基础页面
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 新增菜单参数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+ 新增可控按钮
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/superAdmin/operation/sysOperationRecord.vue b/src/view/superAdmin/operation/sysOperationRecord.vue
new file mode 100644
index 0000000..6bf2c9c
--- /dev/null
+++ b/src/view/superAdmin/operation/sysOperationRecord.vue
@@ -0,0 +1,325 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+ 删除
+
+
+
+
+
+ {{ scope.row.user.userName }}({{ scope.row.user.nickName }})
+
+
+
+ {{ formatDate(scope.row.CreatedAt) }}
+
+
+
+
+ {{ scope.row.status }}
+
+
+
+
+
+
+
+
+
+
+
+
{{ fmtBody(scope.row.body) }}
+
+
+
+
+
+
+
无
+
+
+
+
+
+
+
+
+
{{ fmtBody(scope.row.resp) }}
+
+
+
+
+
+
无
+
+
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/superAdmin/params/sysParams.vue b/src/view/superAdmin/params/sysParams.vue
new file mode 100644
index 0000000..5b1dfba
--- /dev/null
+++ b/src/view/superAdmin/params/sysParams.vue
@@ -0,0 +1,453 @@
+
+
+
+
+
+
+
+
+ 创建日期
+
+
+
+
+
+
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+ 展开
+ 收起
+
+
+
+
+
+ 新增
+ 删除
+
+
+
+
+
+
+ {{ formatDate(scope.row.CreatedAt) }}
+
+
+
+
+
+
+
+
+ 查看详情
+ 变更
+ 删除
+
+
+
+
+
+
+
+
+
{{type==='create'?'添加':'修改'}}
+
+ 确 定
+ 取 消
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
使用说明
+
+ 前端可以通过引入 import { getParams } from '@/utils/dictionary' 然后通过 await getParams(key) 来获取对应的参数。
+
+
+ 后端可以调用 new(system.SysParamsService).GetSysParam(key) 来获取对应的 value 值。
+
+
+ 后端需要提前 import "github.com/flipped-aurora/gin-vue-admin/server/service/system"
+
+
+
+
+
+
+
+
+ {{ detailFrom.name }}
+
+
+ {{ detailFrom.key }}
+
+
+ {{ detailFrom.value }}
+
+
+ {{ detailFrom.desc }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/superAdmin/user/user.vue b/src/view/superAdmin/user/user.vue
new file mode 100644
index 0000000..e7c62ff
--- /dev/null
+++ b/src/view/superAdmin/user/user.vue
@@ -0,0 +1,559 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+
+ 重置
+
+
+
+
+
+
+ 新增用户
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {changeAuthority(scope.row,flag,0)}"
+ @remove-tag="(removeAuth)=>{changeAuthority(scope.row,false,removeAuth)}"
+ />
+
+
+
+
+ {switchEnable(scope.row)}"
+ />
+
+
+
+
+
+ 删除
+ 编辑
+ 重置密码
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/system/state.vue b/src/view/system/state.vue
new file mode 100644
index 0000000..4b42833
--- /dev/null
+++ b/src/view/system/state.vue
@@ -0,0 +1,251 @@
+
+
+
+
+
+
+ Runtime
+
+
+
+ os:
+
+
+
+ cpu nums:
+
+
+
+ compiler:
+
+
+
+ go version:
+
+
+
+ goroutine nums:
+
+
+
+
+
+
+
+
+ Disk
+
+
+
+
+
+
+ MountPoint
+
+
+
+ total (MB)
+
+
+
+ used (MB)
+
+
+
+ total (GB)
+
+
+
+ used (GB)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CPU
+
+
+
+ physical number of cores:
+
+
+
+ core {{ index }}:
+
+
+
+
+
+
+
+
+ Ram
+
+
+
+
+
+ total (MB)
+
+
+
+ used (MB)
+
+
+
+ total (GB)
+
+
+
+ used (GB)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/systemTools/autoCode/component/fieldDialog.vue b/src/view/systemTools/autoCode/component/fieldDialog.vue
new file mode 100644
index 0000000..b5ab1e6
--- /dev/null
+++ b/src/view/systemTools/autoCode/component/fieldDialog.vue
@@ -0,0 +1,492 @@
+
+
+
+
+
+
+
+ 自动填充
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.aliasName }}
+ {{ item.dbName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 存储:
+ {{ value }}
+
+
+
+ {{ item.isPrimary ? "主 键" : "非主键" }}
+ {{ item.columnName }}
+
+ 类型:{{ item.type }} ,字段说明:{{ item.comment }}
+
+
+
+
+
+
+
+ 展示:
+ {{ value }}
+
+
+
+ {{ item.isPrimary ? "主 键" : "非主键" }}
+ {{ item.columnName }}
+
+ 类型:{{ item.type }} ,字段说明:{{ item.comment }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/systemTools/autoCode/component/previewCodeDialg.vue b/src/view/systemTools/autoCode/component/previewCodeDialg.vue
new file mode 100644
index 0000000..6d78672
--- /dev/null
+++ b/src/view/systemTools/autoCode/component/previewCodeDialg.vue
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/view/systemTools/autoCode/index.vue b/src/view/systemTools/autoCode/index.vue
new file mode 100644
index 0000000..62d952f
--- /dev/null
+++ b/src/view/systemTools/autoCode/index.vue
@@ -0,0 +1,1454 @@
+
+
+
+
+
+
+
+
+
+
+ 【完全免费】前往
插件市场个人中心申请AIPath,填入config.yaml的ai-path属性即可使用。
+
+
+
+
+ 生成
+
+
+
+
+
+
+
+
从数据库创建
+
+
+
+
+
+
+ 业务库
+
+
+
+
+
+ {{ item.aliasName }}
+ {{ item.dbName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 使用此表
+
+
+
+
+
+
+
+
+
+
自动化结构
+
+
+
+
+
+
+
+
+
+
+
+ 结构简称
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 文件名称
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 业务库
+
+
+
+
+
+ {{ item.aliasName }}
+ {{ item.dbName }}
+
+
+
+
+
+
+
+
+
+
+
+ 使用GVA结构
+
+
+
+
+
+
+
+
+
+ 自动创建API
+
+
+
+
+
+
+
+
+
+ 自动创建菜单
+
+
+
+
+
+
+
+
+
+ 同步表结构
+
+
+
+
+
+
+
+
+
+ 创建按钮权限
+
+
+
+
+
+
+
+
+
+ 创建资源标识
+
+
+
+
+
+
+
+
+
+ 基础模板
+
+
+
+
+
+
+
+
+
+
+
+
+ 新增字段
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 高级编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+ 导出json
+
+
+ 导入json
+
+
+ 清除暂存
+
+
+ 暂存
+
+
+ 预览代码
+
+
+ 生成代码
+
+
+
+
+
+
+
+
组件内容
+
+
+ 取 消
+
+
+ 确 定
+
+
+
+
+
+
+
+
+
+
+
+
操作栏
+
+
+ 全选
+
+
+ 复制
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/systemTools/autoCodeAdmin/index.vue b/src/view/systemTools/autoCodeAdmin/index.vue
new file mode 100644
index 0000000..b1561de
--- /dev/null
+++ b/src/view/systemTools/autoCodeAdmin/index.vue
@@ -0,0 +1,398 @@
+
+
+
+
+
+ 新增
+
+
+
+
+
+
+
+ {{
+ formatDate(scope.row.CreatedAt)
+ }}
+
+
+
+
+
+
+
+
+ 已回滚
+
+
+ 未回滚
+
+
+
+
+
+
+
+ 增加方法
+
+
+ 回滚
+
+
+ 复用
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
操作栏
+
+
+ 生成
+
+
+ 取消
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ API路径: [{{ autoFunc.method }}] /{{ autoFunc.abbreviation }}/{{ autoFunc.router }}
+
+
+
+
+
+
+
+
diff --git a/src/view/systemTools/autoPkg/autoPkg.vue b/src/view/systemTools/autoPkg/autoPkg.vue
new file mode 100644
index 0000000..6a1f7ef
--- /dev/null
+++ b/src/view/systemTools/autoPkg/autoPkg.vue
@@ -0,0 +1,254 @@
+
+
+
+
+
+
+ 新增
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
创建Package
+
+
+ 取 消
+
+
+ 确 定
+
+
+
+
+
+
+
+
+
diff --git a/src/view/systemTools/exportTemplate/exportTemplate.vue b/src/view/systemTools/exportTemplate/exportTemplate.vue
new file mode 100644
index 0000000..a3cb124
--- /dev/null
+++ b/src/view/systemTools/exportTemplate/exportTemplate.vue
@@ -0,0 +1,963 @@
+
+
+
+
+
+
+
+
+ 创建日期
+
+
+
+
+
+
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+ 新增
+
+ 删除
+
+
+
+
+ {{ formatDate(scope.row.CreatedAt) }}
+
+
+
+ {{ scope.row.dbName || "GVA库" }}
+
+
+
+
+
+
+
+
+ 变更
+ 删除
+
+
+
+
+
+
+
+
+
+
{{ type==='create'?'添加':'修改' }}
+
+ 取 消
+ 确 定
+
+
+
+
+
+
+
+
+
+ 业务库
+
+
+
+
+
+ {{ item.aliasName }}
+ {{ item.dbName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ formData.joinTemplate.splice(key, 1)"
+ >删除
+
+
+ 添加条件
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ formData.conditions.splice(key, 1)"
+ >删除
+
+
+ 添加条件
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/systemTools/formCreate/index.vue b/src/view/systemTools/formCreate/index.vue
new file mode 100644
index 0000000..75f6db8
--- /dev/null
+++ b/src/view/systemTools/formCreate/index.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
diff --git a/src/view/systemTools/index.vue b/src/view/systemTools/index.vue
new file mode 100644
index 0000000..e7cba00
--- /dev/null
+++ b/src/view/systemTools/index.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/systemTools/installPlugin/index.vue b/src/view/systemTools/installPlugin/index.vue
new file mode 100644
index 0000000..4aaa25e
--- /dev/null
+++ b/src/view/systemTools/installPlugin/index.vue
@@ -0,0 +1,39 @@
+
+
+
+
+
diff --git a/src/view/systemTools/pubPlug/pubPlug.vue b/src/view/systemTools/pubPlug/pubPlug.vue
new file mode 100644
index 0000000..dcba57b
--- /dev/null
+++ b/src/view/systemTools/pubPlug/pubPlug.vue
@@ -0,0 +1,234 @@
+
+
+
+
+
+
+
diff --git a/src/view/systemTools/system/system.vue b/src/view/systemTools/system/system.vue
new file mode 100644
index 0000000..83b370f
--- /dev/null
+++ b/src/view/systemTools/system/system.vue
@@ -0,0 +1,823 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 本地
+ 七牛
+ 腾讯云COS
+ 阿里云OSS
+ 华为云OBS
+ cloudflare R2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 生成
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 测试邮件
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MySQL
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PostgreSQL
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MsSQL
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ sqlite
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ oracle
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 本地配置
+
+
+
+
+
+
+
+
+ 七牛上传配置
+
+
+
+
+
+
+
+
+
+
+ 开启
+
+
+
+
+
+
+
+
+
+
+
+
+ 腾讯云COS上传配置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 阿里云OSS上传配置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 华为云OBS上传配置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cloudflare R2上传配置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 立即更新
+
+ 重启服务
+
+
+
+
+
+
+
+
diff --git a/tailwind.config.js b/tailwind.config.js
new file mode 100644
index 0000000..0130bdd
--- /dev/null
+++ b/tailwind.config.js
@@ -0,0 +1,30 @@
+/** @type {import('tailwindcss').Config} */
+module.exports = {
+ content: [
+ "./index.html",
+ "./src/**/*.{vue,js,ts,jsx,tsx}",
+ ],
+ important: true,
+ theme: {
+ extend: {
+ backgroundColor: {
+ "main": "#F5F5F5",
+ },
+ textColor: {
+ "active": "var(--el-color-primary)",
+ },
+ boxShadowColor: {
+ "active": "var(--el-color-primary)",
+ },
+ borderColor: {
+ "table-border": "var(--el-border-color-lighter)",
+ }
+ },
+ },
+ darkMode: "class",
+ plugins: [],
+ corePlugins: {
+ preflight: false
+ }
+}
+
diff --git a/vite.config.js b/vite.config.js
new file mode 100644
index 0000000..6767844
--- /dev/null
+++ b/vite.config.js
@@ -0,0 +1,103 @@
+import legacyPlugin from '@vitejs/plugin-legacy'
+import { viteLogo } from './src/core/config'
+import Banner from 'vite-plugin-banner'
+import * as path from 'path'
+import * as dotenv from 'dotenv'
+import * as fs from 'fs'
+import vuePlugin from '@vitejs/plugin-vue'
+import vueDevTools from 'vite-plugin-vue-devtools'
+import VueFilePathPlugin from './vitePlugin/componentName/index.js'
+import { svgBuilder } from 'vite-auto-import-svg'
+import { AddSecret } from './vitePlugin/secret'
+// @see https://cn.vitejs.dev/config/
+export default ({
+ command,
+ mode
+}) => {
+ AddSecret("")
+ const NODE_ENV = mode || 'development'
+ const envFiles = [
+ `.env.${NODE_ENV}`
+ ]
+ for (const file of envFiles) {
+ const envConfig = dotenv.parse(fs.readFileSync(file))
+ for (const k in envConfig) {
+ process.env[k] = envConfig[k]
+ }
+ }
+
+ viteLogo(process.env)
+
+ const timestamp = Date.parse(new Date())
+
+ const optimizeDeps = {}
+
+ const alias = {
+ '@': path.resolve(__dirname, './src'),
+ 'vue$': 'vue/dist/vue.runtime.esm-bundler.js',
+ }
+
+ const esbuild = {}
+
+ const rollupOptions = {
+ output: {
+ entryFileNames: 'assets/087AC4D233B64EB0[name].[hash].js',
+ chunkFileNames: 'assets/087AC4D233B64EB0[name].[hash].js',
+ assetFileNames: 'assets/087AC4D233B64EB0[name].[hash].[ext]',
+ },
+ }
+
+ const config = {
+ base: '/', // 编译后js导入的资源路径
+ root: './', // index.html文件所在位置
+ publicDir: 'public', // 静态资源文件夹
+ resolve: {
+ alias,
+ },
+ define: {
+ 'process.env': {}
+ },
+ server: {
+ // 如果使用docker-compose开发模式,设置为false
+ open: true,
+ port: process.env.VITE_CLI_PORT,
+ proxy: {
+ // 把key的路径代理到target位置
+ // detail: https://cli.vuejs.org/config/#devserver-proxy
+ [process.env.VITE_BASE_API]: { // 需要代理的路径 例如 '/api'
+ target: `${process.env.VITE_BASE_PATH}:${process.env.VITE_SERVER_PORT}/`, // 代理到 目标路径
+ changeOrigin: true,
+ rewrite: path => path.replace(new RegExp('^' + process.env.VITE_BASE_API), ''),
+ }
+ },
+ },
+ build: {
+ minify: 'terser', // 是否进行压缩,boolean | 'terser' | 'esbuild',默认使用terser
+ manifest: false, // 是否产出manifest.json
+ sourcemap: false, // 是否产出sourcemap.json
+ outDir: 'dist', // 产出目录
+ terserOptions: {
+ compress: {
+ //生产环境时移除console
+ drop_console: true,
+ drop_debugger: true,
+ },
+ },
+ rollupOptions,
+ },
+ esbuild,
+ optimizeDeps,
+ plugins: [
+ process.env.VITE_POSITION === 'open' && vueDevTools({launchEditor: process.env.VITE_EDITOR}),
+ legacyPlugin({
+ targets: ['Android > 39', 'Chrome >= 60', 'Safari >= 10.1', 'iOS >= 10.3', 'Firefox >= 54', 'Edge >= 15'],
+ }),
+ vuePlugin(),
+ svgBuilder('./src/assets/icons/'),
+ svgBuilder('./src/plugin/'),
+ [Banner(`\n Build based on gin-vue-admin \n Time : ${timestamp}`)],
+ VueFilePathPlugin("./src/pathInfo.json")
+ ],
+ }
+ return config
+}
diff --git a/vitePlugin/componentName/index.js b/vitePlugin/componentName/index.js
new file mode 100644
index 0000000..02bf189
--- /dev/null
+++ b/vitePlugin/componentName/index.js
@@ -0,0 +1,73 @@
+import fs from 'fs';
+import path from 'path';
+import chokidar from 'chokidar';
+
+// 递归获取目录下所有的 .vue 文件
+const getAllVueFiles = (dir, fileList = []) => {
+ const files = fs.readdirSync(dir);
+ files.forEach(file => {
+ const filePath = path.join(dir, file);
+ if (fs.statSync(filePath).isDirectory()) {
+ getAllVueFiles(filePath, fileList);
+ } else if (filePath.endsWith('.vue')) {
+ fileList.push(filePath);
+ }
+ });
+ return fileList;
+}
+
+// 从 .vue 文件内容中提取组件名称
+const extractComponentName = (fileContent) => {
+ const regex = /defineOptions\(\s*{\s*name:\s*["']([^"']+)["']/;
+ const match = fileContent.match(regex);
+ return match ? match[1] : null;
+}
+
+// Vite 插件定义
+const vueFilePathPlugin = (outputFilePath) => {
+ let root;
+
+ const generatePathNameMap = () => {
+ const vueFiles = [
+ ...getAllVueFiles(path.join(root, 'src/view')),
+ ...getAllVueFiles(path.join(root, 'src/plugin'))
+ ];
+ const pathNameMap = vueFiles.reduce((acc, filePath) => {
+ const content = fs.readFileSync(filePath, 'utf-8');
+ const componentName = extractComponentName(content);
+ if (componentName) {
+ let relativePath ="/" + path.relative(root, filePath).replace(/\\/g, '/');
+ acc[relativePath] = componentName;
+ }
+ return acc;
+ }, {});
+ const outputContent = JSON.stringify(pathNameMap, null, 2);
+ fs.writeFileSync(outputFilePath, outputContent);
+ };
+
+ const watchDirectoryChanges = () => {
+ const watchDirectories = [path.join(root, 'src/view'), path.join(root, 'src/plugin')];
+ const watcher = chokidar.watch(watchDirectories, { persistent: true, ignoreInitial: true });
+ watcher.on('all', (event, path) => {
+ console.log(`File ${path} has been ${event}`);
+ generatePathNameMap();
+ });
+ };
+
+
+
+ return {
+ name: 'vue-file-path-plugin',
+ configResolved(resolvedConfig) {
+ root = resolvedConfig.root;
+ },
+ buildEnd() {
+ generatePathNameMap();
+ if (process.env.NODE_ENV === 'development') {
+ watchDirectoryChanges();
+ }
+ },
+ };
+}
+
+export default vueFilePathPlugin
diff --git a/vitePlugin/secret/index.js b/vitePlugin/secret/index.js
new file mode 100644
index 0000000..56fd333
--- /dev/null
+++ b/vitePlugin/secret/index.js
@@ -0,0 +1,6 @@
+export function AddSecret(secret) {
+ if(!secret){
+ secret = ""
+ }
+ global['gva-secret'] = secret;
+}