commit ad2c4fa47a088bb37716d9555478f2e5130ceb5f Author: sans Date: Wed Mar 11 10:53:53 2026 +0800 项目首次提交 diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 0000000..214388f --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,3 @@ +> 1% +last 2 versions +not dead diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..7e3649a --- /dev/null +++ b/.editorconfig @@ -0,0 +1,16 @@ +# http://editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false + +[Makefile] +indent_style = tab diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..1041591 --- /dev/null +++ b/.env.development @@ -0,0 +1,3 @@ +NODE_ENV=development +VITE_APP_API=http://192.168.2.186:8080/system-admin + diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..7fb0692 --- /dev/null +++ b/.env.production @@ -0,0 +1,3 @@ +NODE_ENV=production +VITE_APP_API=http://192.168.2.186:8080/system-admin + diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..cd60136 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,26 @@ +module.exports = { + root: true, + env: { + node: true, + "vue/setup-compiler-macros": true + }, + extends: [ + "plugin:vue/vue3-essential", + "eslint:recommended", + "@vue/typescript/recommended", + "@vue/prettier" + ], + parserOptions: { + ecmaVersion: 2020, + ecmaFeatures: { + jsx: true + } + }, + rules: { + "no-console": "off", + "no-debugger": "off", + "@typescript-eslint/no-explicit-any": ["off"], + "@typescript-eslint/no-var-requires": 0, + "vue/multi-word-component-names": "off" + } +}; diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..403adbc --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +.DS_Store +node_modules +/dist + + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..27a5980 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,22 @@ +{ + "singleQuote": false, + "semi": true, + "trailingComma": "none", + "printWidth": 100, + "arrowParens": "always", + "tabWidth": 2, + "endOfLine": "auto", + "overrides": [ + { + "files": ".prettierrc", + "options": { "parser": "json" } + }, + { + "files": "*.vue", + "options": { + "parser": "vue", + "printWidth": 300 + } + } + ] +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..5bbfac6 --- /dev/null +++ b/README.md @@ -0,0 +1,50 @@ +## renren-ui +- renren-ui是基于Vue3、TypeScript、Element Plus、Vue Router、Pinia、Axios、Vite等开发,实现 【[renren-security](https://gitee.com/renrenio/renren-security)】 后台管理前端功能,提供一套更优的前端解决方案 +- 前后端分离,通过token进行数据交互,可独立部署 +- 动态菜单,通过菜单管理统一管理访问路由 +- 后端地址:https://gitee.com/renrenio/renren-security +- 演示地址:http://demo.open.renren.io/renren-security (账号密码:admin/admin) + +
+ +![输入图片说明](public/1.png) + +## 安装 + +您需要提前在本地安装[Node.js](https://nodejs.org/en/),版本号为:[18、20],再使用[Git](https://git-scm.com/)克隆项目或者直接下载项目后,然后通过`终端命令行`执行以下命令。 + +```bash +# 切换到项目根目录 + +# 安装插件 +npm install + +# 启动项目 +npm run dev +``` + +> 如网络不稳定,安装时出错或进度过慢!请移步 [cnpm](https://npmmirror.com/) 淘宝镜像进行安装。 + +启动完成后,会自动打开浏览器访问 [http://localhost:8001](http://localhost:8001),如您看到下面的页面代表`前端项目`运行成功!因为前后端分离项目,需保证`前端项目`和`后台项目`分别独立正常运行。 + +请留意下面的页面,其中`验证码`未能正常显示,控制台有`API请求`报错信息!这时需检查`后台项目`是否正常运行。 + + + +## 如何交流、反馈、参与贡献? +- 开发文档:https://www.renren.io/guide/security +- 官方社区:https://www.renren.io/community +- [人人开源](https://www.renren.io):https://www.renren.io +- 如需关注项目最新动态,请Watch、Star项目,同时也是对项目最好的支持 +- 技术讨论、二次开发等咨询、问题和建议,请移步到官方社区,我会在第一时间进行解答和回复! +- 微信扫码并关注【人人开源】,获得项目最新动态及更新提醒
+ +
+ +## 微信交流群 +我们提供了微信交流群,扫码下面的二维码,关注【人人开源】公众号,回复【加群】,即可根据提示加入微信群! +

+![输入图片说明](public/wechat.jpg) + +
+
diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..162a3ea --- /dev/null +++ b/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: ["@vue/cli-plugin-babel/preset"], +}; diff --git a/index.html b/index.html new file mode 100644 index 0000000..9d67175 --- /dev/null +++ b/index.html @@ -0,0 +1,20 @@ + + + + + + + 气象数据 - 管理系统 + + + +
+ + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..ab2d8f2 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,15896 @@ +{ + "name": "weather-data-ui", + "version": "5.5.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "weather-data-ui", + "version": "5.5.0", + "dependencies": { + "@element-plus/icons-vue": "2.3.1", + "@vueuse/core": "9.1.1", + "@wangeditor/editor": "5.1.1", + "@wangeditor/editor-for-vue": "^5.1.12", + "axios": "1.11.0", + "classnames": "^2.3.1", + "core-js": "^3.14.0", + "echarts": "^5.2.2", + "element-plus": "2.10.5", + "html2canvas": "^1.4.1", + "js-cookie": "^3.0.5", + "jspdf": "^4.2.0", + "lodash": "^4.17.21", + "mitt": "^2.1.0", + "nprogress": "^0.2.0", + "pinia": "2.3.1", + "qs": "^6.10.1", + "vue": "^3.5.18", + "vue-echarts": "^6.0.0", + "vue-router": "4.2.5" + }, + "devDependencies": { + "@types/js-cookie": "^3.0.6", + "@types/lodash": "^4.14.172", + "@types/nprogress": "^0.2.0", + "@types/papaparse": "^5.5.2", + "@types/qs": "^6.9.6", + "@types/sortablejs": "^1.10.6", + "@typescript-eslint/eslint-plugin": "^5.23.0", + "@typescript-eslint/parser": "^5.23.0", + "@vitejs/plugin-vue": "5.1.5", + "@vue/compiler-sfc": "^3.5.18", + "@vue/eslint-config-prettier": "^7.0.0", + "@vue/eslint-config-typescript": "^10.0.0", + "eslint": "^8.13.0", + "eslint-plugin-vue": "^8.6.0", + "less": "^4.1.1", + "less-loader": "^10.0.0", + "lint-staged": "^11.0.0", + "papaparse": "^5.5.3", + "prettier": "^2.6.2", + "sass": "^1.50.1", + "typescript": "^5.7.2", + "vite": "5.4.19", + "vite-plugin-html": "^3.2.2", + "vite-plugin-svg-icons": "2.0.1", + "vite-tsconfig-paths": "3.4.0", + "vue-tsc": "2.1.10" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.0", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.28.0.tgz", + "integrity": "sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", + "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.2", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.28.2.tgz", + "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@cush/relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@cush/relative/-/relative-1.0.0.tgz", + "integrity": "sha512-RpfLEtTlyIxeNPGKcokS+p3BZII/Q3bYxryFRglh5H3A3T8q9fsLYm72VYAMEOOIBLEa8o93kFLiBDUWKrwXZA==", + "dev": true + }, + "node_modules/@element-plus/icons-vue": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", + "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.1.tgz", + "integrity": "sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz", + "integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.0.tgz", + "integrity": "sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==", + "dependencies": { + "@floating-ui/utils": "^0.1.3" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.3.tgz", + "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==", + "dependencies": { + "@floating-ui/core": "^1.4.2", + "@floating-ui/utils": "^0.1.3" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.3.tgz", + "integrity": "sha512-uvnFKtPgzLnpzzTRfhDlvXX0kLYi9lDRQbcDmT8iXl71Rx+uwSuaUIQl3DNC7w5OweAQ7XQMDObML+KaYDQfng==" + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.4", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz", + "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@popperjs/core": { + "name": "@sxzz/popperjs-es", + "version": "2.11.7", + "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "dev": true, + "dependencies": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.46.2.tgz", + "integrity": "sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.46.2.tgz", + "integrity": "sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.46.2.tgz", + "integrity": "sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.46.2.tgz", + "integrity": "sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.46.2.tgz", + "integrity": "sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.46.2.tgz", + "integrity": "sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.46.2.tgz", + "integrity": "sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.46.2.tgz", + "integrity": "sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.46.2.tgz", + "integrity": "sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.46.2.tgz", + "integrity": "sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.46.2.tgz", + "integrity": "sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.46.2.tgz", + "integrity": "sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.46.2.tgz", + "integrity": "sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.46.2.tgz", + "integrity": "sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.46.2.tgz", + "integrity": "sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.46.2.tgz", + "integrity": "sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.46.2.tgz", + "integrity": "sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.46.2.tgz", + "integrity": "sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.46.2.tgz", + "integrity": "sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.46.2.tgz", + "integrity": "sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@transloadit/prettier-bytes": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@transloadit/prettier-bytes/-/prettier-bytes-0.0.7.tgz", + "integrity": "sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA==" + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/eslint": { + "version": "8.44.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", + "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/event-emitter": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@types/event-emitter/-/event-emitter-0.3.3.tgz", + "integrity": "sha512-UfnOK1pIxO7P+EgPRZXD9jMpimd8QEFcEZ5R67R1UhGbv4zghU5+NE7U8M8G9H5Jc8FI51rqDWQs6FtUfq2e/Q==" + }, + "node_modules/@types/js-cookie": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-3.0.6.tgz", + "integrity": "sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", + "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/lodash": { + "version": "4.14.198", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.198.tgz", + "integrity": "sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg==" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.9", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.9.tgz", + "integrity": "sha512-ZTcmhiI3NNU7dEvWLZJkzG6ao49zOIjEgIE0RgV7wbPxU0f2xT3VSAHw2gmst8swH6V0YkLRGp4qPlX/6I90MQ==", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/node": { + "version": "20.6.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.2.tgz", + "integrity": "sha512-Y+/1vGBHV/cYk6OI1Na/LHzwnlNCAfU3ZNGrc1LdRe/LAIbdDPTTv/HU3M7yXN448aTVDq3eKRm2cg7iKLb8gw==", + "dev": true + }, + "node_modules/@types/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@types/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-1cYJrqq9GezNFPsWTZpFut/d4CjpZqA0vhqDUPFWYKF1oIyBz5qnoYMzR+0C/T96t3ebLAC1SSnwrVOm5/j74A==", + "dev": true + }, + "node_modules/@types/pako": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/pako/-/pako-2.0.4.tgz", + "integrity": "sha512-VWDCbrLeVXJM9fihYodcLiIv0ku+AlOa/TQ1SvYOaBuyrSKgEcro95LJyIsJ4vSo6BXIxOKxiJAat04CmST9Fw==", + "license": "MIT" + }, + "node_modules/@types/papaparse": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/@types/papaparse/-/papaparse-5.5.2.tgz", + "integrity": "sha512-gFnFp/JMzLHCwRf7tQHrNnfhN4eYBVYYI897CGX4MY1tzY9l2aLkVyx2IlKZ/SAqDbB3I1AOZW5gTMGGsqWliA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/qs": { + "version": "6.9.8", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", + "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==", + "dev": true + }, + "node_modules/@types/raf": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/@types/raf/-/raf-3.4.3.tgz", + "integrity": "sha512-c4YAvMedbPZ5tEyxzQdMoOhhJ4RD3rngZIdwC2/qDN3d7JpEhB6fiBRKVY1lg5B7Wk+uPBjn5f39j1/2MY1oOw==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/semver": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.2.tgz", + "integrity": "sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw==", + "dev": true + }, + "node_modules/@types/sortablejs": { + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/@types/sortablejs/-/sortablejs-1.15.8.tgz", + "integrity": "sha512-b79830lW+RZfwaztgs1aVPgbasJ8e7AXtZYHTELNXZPsERt4ymJdjV4OccDbHQAvHrCcFpbF78jkm0R6h/pZVg==", + "dev": true + }, + "node_modules/@types/svgo": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@types/svgo/-/svgo-2.6.4.tgz", + "integrity": "sha512-l4cmyPEckf8moNYHdJ+4wkHvFxjyW6ulm9l4YGaOxeyBWPhBOT0gvni1InpFPdzx1dKf/2s62qGITwxNWnPQng==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.15", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.15.tgz", + "integrity": "sha512-w7hEHXnPMEZ+4nGKl/KDRVpxkwYxYExuHOYXyzIzCDzEZ9ZCGMAewulr9IqJu2LR4N37fcnb1XVeuZ09qgOxhA==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@uppy/companion-client": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@uppy/companion-client/-/companion-client-2.2.2.tgz", + "integrity": "sha512-5mTp2iq97/mYSisMaBtFRry6PTgZA6SIL7LePteOV5x0/DxKfrZW3DEiQERJmYpHzy7k8johpm2gHnEKto56Og==", + "dependencies": { + "@uppy/utils": "^4.1.2", + "namespace-emitter": "^2.0.1" + } + }, + "node_modules/@uppy/core": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@uppy/core/-/core-2.3.4.tgz", + "integrity": "sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==", + "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.1.25", + "preact": "^10.5.13" + } + }, + "node_modules/@uppy/store-default": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@uppy/store-default/-/store-default-2.1.1.tgz", + "integrity": "sha512-xnpTxvot2SeAwGwbvmJ899ASk5tYXhmZzD/aCFsXePh/v8rNvR2pKlcQUH7cF/y4baUGq3FHO/daKCok/mpKqQ==" + }, + "node_modules/@uppy/utils": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@uppy/utils/-/utils-4.1.3.tgz", + "integrity": "sha512-nTuMvwWYobnJcytDO3t+D6IkVq/Qs4Xv3vyoEZ+Iaf8gegZP+rEyoaFT2CK5XLRMienPyqRqNbIfRuFaOWSIFw==", + "dependencies": { + "lodash.throttle": "^4.1.1" + } + }, + "node_modules/@uppy/xhr-upload": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@uppy/xhr-upload/-/xhr-upload-2.1.3.tgz", + "integrity": "sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==", + "dependencies": { + "@uppy/companion-client": "^2.2.2", + "@uppy/utils": "^4.1.2", + "nanoid": "^3.1.25" + }, + "peerDependencies": { + "@uppy/core": "^2.3.3" + } + }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.1.5", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.1.5.tgz", + "integrity": "sha512-dlnib73G05CDBAUR/YpuZcQQ47fpjihnnNouAAqN62z+oqSsWJ+kh52GRzIxpkgFG3q11eXK7Di7RMmoCwISZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.22", + "resolved": "https://registry.npmmirror.com/@volar/language-core/-/language-core-2.4.22.tgz", + "integrity": "sha512-gp4M7Di5KgNyIyO903wTClYBavRt6UyFNpc5LWfyZr1lBsTUY+QrVZfmbNF2aCyfklBOVk9YC4p+zkwoyT7ECg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.22" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.22", + "resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-2.4.22.tgz", + "integrity": "sha512-L2nVr/1vei0xKRgO2tYVXtJYd09HTRjaZi418e85Q+QdbbqA8h7bBjfNyPPSsjnrOO4l4kaAo78c8SQUAdHvgA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@volar/typescript": { + "version": "2.4.22", + "resolved": "https://registry.npmmirror.com/@volar/typescript/-/typescript-2.4.22.tgz", + "integrity": "sha512-6ZczlJW1/GWTrNnkmZxJp4qyBt/SGVlcTuCWpI5zLrdPdCZsj66Aff9ZsfFaT3TyjG8zVYgBMYPuCm/eRkpcpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.22", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.18", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.18.tgz", + "integrity": "sha512-3slwjQrrV1TO8MoXgy3aynDQ7lslj5UqDxuHnrzHtpON5CBinhWjJETciPngpin/T3OuW3tXUf86tEurusnztw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.0", + "@vue/shared": "3.5.18", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-core/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.18", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.18.tgz", + "integrity": "sha512-RMbU6NTU70++B1JyVJbNbeFkK+A+Q7y9XKE2EM4NLGm2WFR8x9MbAtWxPPLdm0wUkuZv9trpwfSlL6tjdIa1+A==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.18", + "@vue/shared": "3.5.18" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.18", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.18.tgz", + "integrity": "sha512-5aBjvGqsWs+MoxswZPoTB9nSDb3dhd1x30xrrltKujlCxo48j8HGDNj3QPhF4VIS0VQDUrA1xUfp2hEa+FNyXA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.0", + "@vue/compiler-core": "3.5.18", + "@vue/compiler-dom": "3.5.18", + "@vue/compiler-ssr": "3.5.18", + "@vue/shared": "3.5.18", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.17", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.18", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.18.tgz", + "integrity": "sha512-xM16Ak7rSWHkM3m22NlmcdIM+K4BMyFARAfV9hYFl+SFuRzrZ3uGMNW05kA5pmeMa0X9X963Kgou7ufdbpOP9g==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.18", + "@vue/shared": "3.5.18" + } + }, + "node_modules/@vue/compiler-vue2": { + "version": "2.7.16", + "resolved": "https://registry.npmmirror.com/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", + "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", + "dev": true, + "license": "MIT", + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, + "node_modules/@vue/eslint-config-prettier": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-7.1.0.tgz", + "integrity": "sha512-Pv/lVr0bAzSIHLd9iz0KnvAr4GKyCEl+h52bc4e5yWuDVtLgFwycF7nrbWTAQAS+FU6q1geVd07lc6EWfJiWKQ==", + "dev": true, + "dependencies": { + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-prettier": "^4.0.0" + }, + "peerDependencies": { + "eslint": ">= 7.28.0", + "prettier": ">= 2.0.0" + } + }, + "node_modules/@vue/eslint-config-typescript": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-10.0.0.tgz", + "integrity": "sha512-F94cL8ug3FaYXlCfU5/wiGjk1qeadmoBpRGAOBq+qre3Smdupa59dd6ZJrsfRODpsMPyTG7330juMDsUvpZ3Rw==", + "dev": true, + "dependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0", + "@typescript-eslint/parser": "^5.0.0", + "vue-eslint-parser": "^8.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0", + "eslint-plugin-vue": "^8.0.1" + } + }, + "node_modules/@vue/language-core": { + "version": "2.1.10", + "resolved": "https://registry.npmmirror.com/@vue/language-core/-/language-core-2.1.10.tgz", + "integrity": "sha512-DAI289d0K3AB5TUG3xDp9OuQ71CnrujQwJrQnfuZDwo6eGNf0UoRlPuaVNO+Zrn65PC3j0oB2i7mNmVPggeGeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "~2.4.8", + "@vue/compiler-dom": "^3.5.0", + "@vue/compiler-vue2": "^2.7.16", + "@vue/shared": "^3.5.0", + "alien-signals": "^0.2.0", + "minimatch": "^9.0.3", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/language-core/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@vue/language-core/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.18", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.18.tgz", + "integrity": "sha512-x0vPO5Imw+3sChLM5Y+B6G1zPjwdOri9e8V21NnTnlEvkxatHEH5B5KEAJcjuzQ7BsjGrKtfzuQ5eQwXh8HXBg==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.18" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.18", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.18.tgz", + "integrity": "sha512-DUpHa1HpeOQEt6+3nheUfqVXRog2kivkXHUhoqJiKR33SO4x+a5uNOMkV487WPerQkL0vUuRvq/7JhRgLW3S+w==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.18", + "@vue/shared": "3.5.18" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.18", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.18.tgz", + "integrity": "sha512-YwDj71iV05j4RnzZnZtGaXwPoUWeRsqinblgVJwR8XTXYZ9D5PbahHQgsbmzUvCWNF6x7siQ89HgnX5eWkr3mw==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.18", + "@vue/runtime-core": "3.5.18", + "@vue/shared": "3.5.18", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.18", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.18.tgz", + "integrity": "sha512-PvIHLUoWgSbDG7zLHqSqaCoZvHi6NNmfVFOqO+OnwvqMz/tqQr3FuGWS8ufluNddk7ZLBJYMrjcw1c6XzR12mA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.18", + "@vue/shared": "3.5.18" + }, + "peerDependencies": { + "vue": "3.5.18" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.18", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.18.tgz", + "integrity": "sha512-cZy8Dq+uuIXbxCZpuLd2GJdeSO/lIzIspC2WtkqIpje5QyFbvLaI5wZtdUjLHjGZrlVX6GilejatWwVYYRc8tA==", + "license": "MIT" + }, + "node_modules/@vueuse/core": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.1.1.tgz", + "integrity": "sha512-QfuaNWRDMQcCUwXylCyYhPC3ScS9Tiiz4J0chdwr3vOemBwRToSywq8MP+ZegKYFnbETzRY8G/5zC+ca30wrRQ==", + "dependencies": { + "@types/web-bluetooth": "^0.0.15", + "@vueuse/metadata": "9.1.1", + "@vueuse/shared": "9.1.1", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/metadata": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.1.1.tgz", + "integrity": "sha512-XZ2KtSW+85LLHB/IdGILPAtbIVHasPsAW7aqz3BRMzJdAQWRiM/FGa1OKBwLbXtUw/AmjKYFlZJo7eOFIBXRog==", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.1.1.tgz", + "integrity": "sha512-c+IfcOYmHiHqoEa3ED1Tbpue5GHmoUmTp8PtO4YbczthtY155Rt6DmWhjxMLXBF1Bcidagxljmp/7xtAzEHXLw==", + "dependencies": { + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@wangeditor/basic-modules": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@wangeditor/basic-modules/-/basic-modules-1.1.7.tgz", + "integrity": "sha512-cY9CPkLJaqF05STqfpZKWG4LpxTMeGSIIF1fHvfm/mz+JXatCagjdkbxdikOuKYlxDdeqvOeBmsUBItufDLXZg==", + "dependencies": { + "is-url": "^1.2.4" + }, + "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" + } + }, + "node_modules/@wangeditor/code-highlight": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@wangeditor/code-highlight/-/code-highlight-1.0.3.tgz", + "integrity": "sha512-iazHwO14XpCuIWJNTQTikqUhGKyqj+dUNWJ9288Oym9M2xMVHvnsOmDU2sgUDWVy+pOLojReMPgXCsvvNlOOhw==", + "dependencies": { + "prismjs": "^1.23.0" + }, + "peerDependencies": { + "@wangeditor/core": "1.x", + "dom7": "^3.0.0", + "slate": "^0.72.0", + "snabbdom": "^3.1.0" + } + }, + "node_modules/@wangeditor/core": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/@wangeditor/core/-/core-1.1.19.tgz", + "integrity": "sha512-KevkB47+7GhVszyYF2pKGKtCSj/YzmClsD03C3zTt+9SR2XWT5T0e3yQqg8baZpcMvkjs1D8Dv4fk8ok/UaS2Q==", + "dependencies": { + "@types/event-emitter": "^0.3.3", + "event-emitter": "^0.3.5", + "html-void-elements": "^2.0.0", + "i18next": "^20.4.0", + "scroll-into-view-if-needed": "^2.2.28", + "slate-history": "^0.66.0" + }, + "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" + } + }, + "node_modules/@wangeditor/editor": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@wangeditor/editor/-/editor-5.1.1.tgz", + "integrity": "sha512-BtccuHFm0QvYunIhIu7tllQWkwppkmEkD3OJ5Mn+F0REPQ/Z3HiEXbtlss2t9c/kHO4CtiFwv2XD/k/VEg7taA==", + "dependencies": { + "@uppy/core": "^2.1.1", + "@uppy/xhr-upload": "^2.0.3", + "@wangeditor/basic-modules": "^1.1.1", + "@wangeditor/code-highlight": "^1.0.2", + "@wangeditor/core": "^1.1.1", + "@wangeditor/list-module": "^1.0.2", + "@wangeditor/table-module": "^1.1.0", + "@wangeditor/upload-image-module": "^1.0.1", + "@wangeditor/video-module": "^1.1.0", + "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" + } + }, + "node_modules/@wangeditor/editor-for-vue": { + "version": "5.1.12", + "resolved": "https://registry.npmjs.org/@wangeditor/editor-for-vue/-/editor-for-vue-5.1.12.tgz", + "integrity": "sha512-0Ds3D8I+xnpNWezAeO7HmPRgTfUxHLMd9JKcIw+QzvSmhC5xUHbpCcLU+KLmeBKTR/zffnS5GQo6qi3GhTMJWQ==", + "peerDependencies": { + "@wangeditor/editor": ">=5.1.0", + "vue": "^3.0.5" + } + }, + "node_modules/@wangeditor/list-module": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@wangeditor/list-module/-/list-module-1.0.5.tgz", + "integrity": "sha512-uDuYTP6DVhcYf7mF1pTlmNn5jOb4QtcVhYwSSAkyg09zqxI1qBqsfUnveeDeDqIuptSJhkh81cyxi+MF8sEPOQ==", + "peerDependencies": { + "@wangeditor/core": "1.x", + "dom7": "^3.0.0", + "slate": "^0.72.0", + "snabbdom": "^3.1.0" + } + }, + "node_modules/@wangeditor/table-module": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@wangeditor/table-module/-/table-module-1.1.4.tgz", + "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" + } + }, + "node_modules/@wangeditor/upload-image-module": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@wangeditor/upload-image-module/-/upload-image-module-1.0.2.tgz", + "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" + } + }, + "node_modules/@wangeditor/video-module": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@wangeditor/video-module/-/video-module-1.1.4.tgz", + "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" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "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" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@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" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "peer": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "peer": true + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peer": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peer": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/alien-signals": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/alien-signals/-/alien-signals-0.2.2.tgz", + "integrity": "sha512-cZIRkbERILsBOXTQmMrxc9hgpxglstn69zm+F1ARf4aPAzdAFYd6sBq87ErO0Fj3DV94tglcyHG5kQz9nDC/8A==", + "dev": true, + "license": "MIT" + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/axios": { + "version": "1.11.0", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.11.0.tgz", + "integrity": "sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.4", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", + "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "dependencies": { + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cache-base/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001534", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001534.tgz", + "integrity": "sha512-vlPVrhsCS7XaSh2VvWluIQEzVhefrUQcEsQWSS5A5V+dM07uv1qHeQzAOTGIMy9i3e9bH15+muvI/UHojVgS/Q==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true + }, + "node_modules/canvg": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/canvg/-/canvg-3.0.11.tgz", + "integrity": "sha512-5ON+q7jCTgMp9cjpu4Jo6XbvfYwSB2Ow3kzHKfIyJfaCAOHLbdKPQqGKgfED/R5B+3TFFfe8pegYA+b423SRyA==", + "license": "MIT", + "optional": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "@types/raf": "^3.4.0", + "core-js": "^3.8.3", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.7", + "rgbcolor": "^1.0.1", + "stackblur-canvas": "^2.0.0", + "svg-pathdata": "^6.0.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/classnames": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + }, + "node_modules/clean-css": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", + "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "node_modules/compute-scroll-into-view": { + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", + "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", + "dev": true + }, + "node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "dependencies": { + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-js": { + "version": "3.32.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.32.2.tgz", + "integrity": "sha512-pxXSw1mYZPDGvTQqEc5vgIb83jGQKFGYWY76z4a7weZXUolw3G+OvpZqSRcfYOoOVUQJYEPsWeQK8pKEnUtWxQ==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-line-break": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", + "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", + "license": "MIT", + "dependencies": { + "utrie": "^1.0.2" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/css-select/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/css-select/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/css-select/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/css-select/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "license": "MIT" + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/dom7": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dom7/-/dom7-3.0.0.tgz", + "integrity": "sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==", + "dependencies": { + "ssr-window": "^3.0.0-alpha.1" + } + }, + "node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "node_modules/domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "dependencies": { + "domelementtype": "1" + } + }, + "node_modules/dompurify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.1.tgz", + "integrity": "sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==", + "license": "(MPL-2.0 OR Apache-2.0)", + "optional": true, + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, + "node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-expand": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-8.0.3.tgz", + "integrity": "sha512-SErOMvge0ZUyWd5B0NXMQlDkN+8r+HhVUsxgOO7IoPDOdDRD2JjExpN6y3KnFR66jsJMwSn1pqIivhU5rcJiNg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/echarts": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.3.tgz", + "integrity": "sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==", + "dependencies": { + "tslib": "2.3.0", + "zrender": "5.4.4" + } + }, + "node_modules/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "dev": true, + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.523", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.523.tgz", + "integrity": "sha512-9AreocSUWnzNtvLcbpng6N+GkXnCcBR80IQkxRC9Dfdyg4gaWNUPBujAHUpKkiUkoSoR9UlhA4zD/IgBklmhzg==", + "dev": true, + "peer": true + }, + "node_modules/element-plus": { + "version": "2.10.5", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.10.5.tgz", + "integrity": "sha512-O9wTDu3Tm51ACVByWrThtBhH4Ygefg1HGY5pyAaxnoIrj8uMN0GtZ4IREwR3Yw/6sM2HyxjrsGI/D46iUVP97A==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.1", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.13", + "escape-html": "^1.0.3", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.2", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "optional": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", + "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==", + "dev": true, + "peer": true + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es5-ext": { + "version": "0.10.62", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", + "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", + "hasInstallScript": true, + "dependencies": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz", + "integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.49.0", + "@humanwhocodes/config-array": "^0.11.11", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-vue": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz", + "integrity": "sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==", + "dev": true, + "dependencies": { + "eslint-utils": "^3.0.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.0.1", + "postcss-selector-parser": "^6.0.9", + "semver": "^7.3.5", + "vue-eslint-parser": "^8.0.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "dependencies": { + "type": "^2.7.2" + } + }, + "node_modules/ext/node_modules/type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fast-png": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/fast-png/-/fast-png-6.4.0.tgz", + "integrity": "sha512-kAqZq1TlgBjZcLr5mcN6NP5Rv4V2f22z00c3g8vRrwkcqjerx7BEhPbOnWCPqaHUl2XWQBJQvOT/FQhdMT7X/Q==", + "license": "MIT", + "dependencies": { + "@types/pako": "^2.0.3", + "iobuffer": "^5.3.2", + "pako": "^2.1.0" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "license": "MIT" + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", + "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", + "dev": true, + "dependencies": { + "flatted": "^3.2.7", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/form-data": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.4.tgz", + "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-regex": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/glob-regex/-/glob-regex-0.3.2.tgz", + "integrity": "sha512-m5blUd3/OqDTWwzBBtWBPrGlAzatRywHameHeekAZyZrskYouOGdNB8T/q6JucucvJXtOuyHIn0/Yia7iDasDw==", + "dev": true + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "peer": true + }, + "node_modules/globals": { + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-value/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dev": true, + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-2.0.1.tgz", + "integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/html2canvas": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz", + "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==", + "license": "MIT", + "dependencies": { + "css-line-break": "^2.1.0", + "text-segmentation": "^1.0.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "dependencies": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/i18next": { + "version": "20.6.1", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-20.6.1.tgz", + "integrity": "sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==", + "dependencies": { + "@babel/runtime": "^7.12.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/immutable": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", + "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", + "dev": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/iobuffer": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/iobuffer/-/iobuffer-5.4.0.tgz", + "integrity": "sha512-DRebOWuqDvxunfkNJAlc3IzWIPD5xVxwUNbHr7xKB8E6aLJxIPfNX3CoMJghcFjpv6RWQsrcJbghtEwSPoJqMA==", + "license": "MIT" + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hotkey": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-hotkey/-/is-hotkey-0.2.0.tgz", + "integrity": "sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==" + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" + }, + "node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "dev": true, + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", + "dev": true + }, + "node_modules/js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jspdf": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-4.2.0.tgz", + "integrity": "sha512-hR/hnRevAXXlrjeqU5oahOE+Ln9ORJUB5brLHHqH67A+RBQZuFr5GkbI9XQI8OUFSEezKegsi45QRpc4bGj75Q==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.6", + "fast-png": "^6.2.0", + "fflate": "^0.8.1" + }, + "optionalDependencies": { + "canvg": "^3.0.11", + "core-js": "^3.6.0", + "dompurify": "^3.3.1", + "html2canvas": "^1.0.0-rc.5" + } + }, + "node_modules/keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/less": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/less/-/less-4.2.0.tgz", + "integrity": "sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==", + "dev": true, + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" + } + }, + "node_modules/less-loader": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-10.2.0.tgz", + "integrity": "sha512-AV5KHWvCezW27GT90WATaDnfXBv99llDbtaj4bshq6DvAihMdNjaPDcUMa6EXKLRF+P2opFenJp89BXg91XLYg==", + "dev": true, + "dependencies": { + "klona": "^2.0.4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "less": "^3.5.0 || ^4.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/lint-staged": { + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-11.2.6.tgz", + "integrity": "sha512-Vti55pUnpvPE0J9936lKl0ngVeTdSZpEdTNhASbkaWX7J5R9OEifo1INBGQuGW4zmy6OG+TcWPJ3m5yuy5Q8Tg==", + "dev": true, + "dependencies": { + "cli-truncate": "2.1.0", + "colorette": "^1.4.0", + "commander": "^8.2.0", + "cosmiconfig": "^7.0.1", + "debug": "^4.3.2", + "enquirer": "^2.3.6", + "execa": "^5.1.1", + "listr2": "^3.12.2", + "micromatch": "^4.0.4", + "normalize-path": "^3.0.0", + "please-upgrade-node": "^3.2.0", + "string-argv": "0.3.1", + "stringify-object": "3.3.0", + "supports-color": "8.1.1" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/lint-staged/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/listr2/node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "node_modules/lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "node_modules/lodash.foreach": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", + "integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==" + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" + }, + "node_modules/lodash.toarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", + "integrity": "sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw==" + }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "optional": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + }, + "node_modules/merge-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-1.0.1.tgz", + "integrity": "sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==", + "dev": true, + "dependencies": { + "is-plain-obj": "^1.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mime-match/-/mime-match-1.0.2.tgz", + "integrity": "sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==", + "dependencies": { + "wildcard": "^1.1.0" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mitt": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-2.1.0.tgz", + "integrity": "sha512-ILj2TpLiysu2wkBbWjAmww7TkZb65aiQO+DkVdUTBpBXq+MHYiETENkKFMtsJZX1Lf4pe4QOrTSjIfUwN5lRdg==" + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/namespace-emitter": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/namespace-emitter/-/namespace-emitter-2.0.1.tgz", + "integrity": "sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node_modules/needle": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", + "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", + "dev": true, + "optional": true, + "dependencies": { + "debug": "^3.2.6", + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/needle/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "optional": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "peer": true + }, + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-html-parser": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-5.4.2.tgz", + "integrity": "sha512-RaBPP3+51hPne/OolXxcz89iYvQvKOydaqoePpOgXcrOKZhjVIzmpKZz+Hd/RBO2/zN2q6CNJhQzucVz+u3Jyw==", + "dev": true, + "dependencies": { + "css-select": "^4.2.1", + "he": "1.2.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "dev": true, + "peer": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-visit/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", + "license": "(MIT AND Zlib)" + }, + "node_modules/papaparse": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.5.3.tgz", + "integrity": "sha512-5QvjGxYVjxO59MGU2lHVYpRWBBtKHnlIAcSe1uNFCkkptUh63NFRj0FJQm7nR67puEruUci/ZkjmEFrjCAyP4A==", + "dev": true, + "license": "MIT" + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-0.2.0.tgz", + "integrity": "sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==", + "dev": true + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "license": "MIT", + "optional": true + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pinia": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.3.1.tgz", + "integrity": "sha512-khUlZSwt9xXCaTbbxFYBKDc/bWAGWJjOgvxETwkTN7KRm66EeT1ZdZj6i2ceh9sP2Pzqsbc704r2yngBrxBVug==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.3", + "vue-demi": "^0.14.10" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "typescript": ">=4.4.4", + "vue": "^2.7.0 || ^3.5.11" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "dependencies": { + "semver-compare": "^1.0.0" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-prefix-selector": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/postcss-prefix-selector/-/postcss-prefix-selector-1.16.0.tgz", + "integrity": "sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q==", + "dev": true, + "peerDependencies": { + "postcss": ">4 <9" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/posthtml": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.9.2.tgz", + "integrity": "sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q==", + "dev": true, + "dependencies": { + "posthtml-parser": "^0.2.0", + "posthtml-render": "^1.0.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/posthtml-parser": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.2.1.tgz", + "integrity": "sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==", + "dev": true, + "dependencies": { + "htmlparser2": "^3.8.3", + "isobject": "^2.1.0" + } + }, + "node_modules/posthtml-rename-id": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/posthtml-rename-id/-/posthtml-rename-id-1.0.12.tgz", + "integrity": "sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw==", + "dev": true, + "dependencies": { + "escape-string-regexp": "1.0.5" + } + }, + "node_modules/posthtml-rename-id/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/posthtml-render": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.4.0.tgz", + "integrity": "sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/posthtml-svg-mode": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/posthtml-svg-mode/-/posthtml-svg-mode-1.0.3.tgz", + "integrity": "sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==", + "dev": true, + "dependencies": { + "merge-options": "1.0.1", + "posthtml": "^0.9.2", + "posthtml-parser": "^0.2.1", + "posthtml-render": "^1.0.6" + } + }, + "node_modules/preact": { + "version": "10.17.1", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.17.1.tgz", + "integrity": "sha512-X9BODrvQ4Ekwv9GURm9AKAGaomqXmip7NQTZgY7gcNmr7XE83adOMJvd3N42id1tMFU7ojiynRsYnY6/BRFxLA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "license": "MIT", + "optional": true, + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recrawl-sync": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recrawl-sync/-/recrawl-sync-2.2.3.tgz", + "integrity": "sha512-vSaTR9t+cpxlskkdUFrsEpnf67kSmPk66yAGT1fZPrDudxQjoMzPgQhSMImQ0pAw5k0NPirefQfhopSjhdUtpQ==", + "dev": true, + "dependencies": { + "@cush/relative": "^1.0.0", + "glob-regex": "^0.3.0", + "slash": "^3.0.0", + "sucrase": "^3.20.3", + "tslib": "^1.9.3" + } + }, + "node_modules/recrawl-sync/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT", + "optional": true + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/resize-detector": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/resize-detector/-/resize-detector-0.3.0.tgz", + "integrity": "sha512-R/tCuvuOHQ8o2boRP6vgx8hXCCy87H1eY9V5imBYeVNyNVpuL9ciReSccLj2gDcax9+2weXy3bc8Vv+NRXeEvQ==" + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "node_modules/rgbcolor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgbcolor/-/rgbcolor-1.0.1.tgz", + "integrity": "sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==", + "license": "MIT OR SEE LICENSE IN FEEL-FREE.md", + "optional": true, + "engines": { + "node": ">= 0.8.15" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.46.2.tgz", + "integrity": "sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.46.2", + "@rollup/rollup-android-arm64": "4.46.2", + "@rollup/rollup-darwin-arm64": "4.46.2", + "@rollup/rollup-darwin-x64": "4.46.2", + "@rollup/rollup-freebsd-arm64": "4.46.2", + "@rollup/rollup-freebsd-x64": "4.46.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.46.2", + "@rollup/rollup-linux-arm-musleabihf": "4.46.2", + "@rollup/rollup-linux-arm64-gnu": "4.46.2", + "@rollup/rollup-linux-arm64-musl": "4.46.2", + "@rollup/rollup-linux-loongarch64-gnu": "4.46.2", + "@rollup/rollup-linux-ppc64-gnu": "4.46.2", + "@rollup/rollup-linux-riscv64-gnu": "4.46.2", + "@rollup/rollup-linux-riscv64-musl": "4.46.2", + "@rollup/rollup-linux-s390x-gnu": "4.46.2", + "@rollup/rollup-linux-x64-gnu": "4.46.2", + "@rollup/rollup-linux-x64-musl": "4.46.2", + "@rollup/rollup-win32-arm64-msvc": "4.46.2", + "@rollup/rollup-win32-ia32-msvc": "4.46.2", + "@rollup/rollup-win32-x64-msvc": "4.46.2", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "optional": true + }, + "node_modules/sass": { + "version": "1.67.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.67.0.tgz", + "integrity": "sha512-SVrO9ZeX/QQyEGtuZYCVxoeAL5vGlYjJ9p4i4HFuekWl8y/LtJ7tJc10Z+ck1c8xOuoBm2MYzcLfTAffD0pl/A==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true, + "optional": true + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/scroll-into-view-if-needed": { + "version": "2.2.31", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz", + "integrity": "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==", + "dependencies": { + "compute-scroll-into-view": "^1.0.20" + } + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slate": { + "version": "0.72.8", + "resolved": "https://registry.npmjs.org/slate/-/slate-0.72.8.tgz", + "integrity": "sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==", + "dependencies": { + "immer": "^9.0.6", + "is-plain-object": "^5.0.0", + "tiny-warning": "^1.0.3" + } + }, + "node_modules/slate-history": { + "version": "0.66.0", + "resolved": "https://registry.npmjs.org/slate-history/-/slate-history-0.66.0.tgz", + "integrity": "sha512-6MWpxGQZiMvSINlCbMW43E2YBSVMCMCIwQfBzGssjWw4kb0qfvj0pIdblWNRQZD0hR6WHP+dHHgGSeVdMWzfng==", + "dependencies": { + "is-plain-object": "^5.0.0" + }, + "peerDependencies": { + "slate": ">=0.65.3" + } + }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/snabbdom": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/snabbdom/-/snabbdom-3.5.1.tgz", + "integrity": "sha512-wHMNIOjkm/YNE5EM3RCbr/+DVgPg6AqQAX1eOxO46zYNvCXjKP5Y865tqQj3EXnaMBjkxmQA5jFuDpDK/dbfiA==", + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ssr-window": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-3.0.0.tgz", + "integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==" + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "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", + "dev": true + }, + "node_modules/stackblur-canvas": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.7.0.tgz", + "integrity": "sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.14" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-argv": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", + "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "dev": true, + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/sucrase": { + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", + "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/svg-baker": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/svg-baker/-/svg-baker-1.7.0.tgz", + "integrity": "sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.0", + "clone": "^2.1.1", + "he": "^1.1.1", + "image-size": "^0.5.1", + "loader-utils": "^1.1.0", + "merge-options": "1.0.1", + "micromatch": "3.1.0", + "postcss": "^5.2.17", + "postcss-prefix-selector": "^1.6.0", + "posthtml-rename-id": "^1.0", + "posthtml-svg-mode": "^1.0.3", + "query-string": "^4.3.2", + "traverse": "^0.6.6" + } + }, + "node_modules/svg-baker/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/chalk/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/svg-baker/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/svg-baker/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/micromatch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.0.tgz", + "integrity": "sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.2.2", + "define-property": "^1.0.0", + "extend-shallow": "^2.0.1", + "extglob": "^2.0.2", + "fragment-cache": "^0.2.1", + "kind-of": "^5.0.2", + "nanomatch": "^1.2.1", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/svg-baker/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", + "dev": true, + "dependencies": { + "has-flag": "^1.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/svg-baker/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-pathdata": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/svg-pathdata/-/svg-pathdata-6.0.3.tgz", + "integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.19.4", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.4.tgz", + "integrity": "sha512-6p1DjHeuluwxDXcuT9VR8p64klWJKo1ILiy19s6C9+0Bh2+NWTX6nD9EPppiER4ICkHDVB1RkVpin/YW2nQn/g==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/text-segmentation": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", + "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==", + "license": "MIT", + "dependencies": { + "utrie": "^1.0.2" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/to-regex/node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/traverse": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", + "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.9.2", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.9.2.tgz", + "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/utrie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz", + "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==", + "license": "MIT", + "dependencies": { + "base64-arraybuffer": "^1.0.2" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "5.4.19", + "resolved": "https://registry.npmmirror.com/vite/-/vite-5.4.19.tgz", + "integrity": "sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-plugin-html": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/vite-plugin-html/-/vite-plugin-html-3.2.2.tgz", + "integrity": "sha512-vb9C9kcdzcIo/Oc3CLZVS03dL5pDlOFuhGlZYDCJ840BhWl/0nGeZWf3Qy7NlOayscY4Cm/QRgULCQkEZige5Q==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^4.2.0", + "colorette": "^2.0.16", + "connect-history-api-fallback": "^1.6.0", + "consola": "^2.15.3", + "dotenv": "^16.0.0", + "dotenv-expand": "^8.0.2", + "ejs": "^3.1.6", + "fast-glob": "^3.2.11", + "fs-extra": "^10.0.1", + "html-minifier-terser": "^6.1.0", + "node-html-parser": "^5.3.3", + "pathe": "^0.2.0" + }, + "peerDependencies": { + "vite": ">=2.0.0" + } + }, + "node_modules/vite-plugin-html/node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/vite-plugin-svg-icons": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/vite-plugin-svg-icons/-/vite-plugin-svg-icons-2.0.1.tgz", + "integrity": "sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==", + "dev": true, + "dependencies": { + "@types/svgo": "^2.6.1", + "cors": "^2.8.5", + "debug": "^4.3.3", + "etag": "^1.8.1", + "fs-extra": "^10.0.0", + "pathe": "^0.2.0", + "svg-baker": "1.7.0", + "svgo": "^2.8.0" + }, + "peerDependencies": { + "vite": ">=2.0.0" + } + }, + "node_modules/vite-tsconfig-paths": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-3.4.0.tgz", + "integrity": "sha512-os+oAdJxkZvNLmisVQ76eDdCWC3aH4bKTy3EXI5oJi//zQ0G+qJfUeFR6Need4iyzL/Xus9R7AECF/YfGS0ZEw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "globrex": "^0.1.2", + "recrawl-sync": "^2.0.3", + "tsconfig-paths": "^3.9.0" + }, + "peerDependencies": { + "vite": ">2.0.0-0" + } + }, + "node_modules/vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue": { + "version": "3.5.18", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.18.tgz", + "integrity": "sha512-7W4Y4ZbMiQ3SEo+m9lnoNpV9xG7QVMLa+/0RFwwiAVkeYoyGXqWE85jabU4pllJNUzqfLShJ5YLptewhCWUgNA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.18", + "@vue/compiler-sfc": "3.5.18", + "@vue/runtime-dom": "3.5.18", + "@vue/server-renderer": "3.5.18", + "@vue/shared": "3.5.18" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/vue-echarts": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/vue-echarts/-/vue-echarts-6.6.1.tgz", + "integrity": "sha512-EpreTzlNeJ+eaUn0AhXEmKJk98xJGecgTqAdyZovoXWnhTxnlW2HuBM0ei3y8rLw1JCUabf8/sYvxjlr8SzBKQ==", + "hasInstallScript": true, + "dependencies": { + "resize-detector": "^0.3.0", + "vue-demi": "^0.13.11" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.5", + "echarts": "^5.4.1", + "vue": "^2.6.12 || ^3.1.1" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/vue-echarts/node_modules/vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/vue-eslint-parser": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz", + "integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==", + "dev": true, + "dependencies": { + "debug": "^4.3.2", + "eslint-scope": "^7.0.0", + "eslint-visitor-keys": "^3.1.0", + "espree": "^9.0.0", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-eslint-parser/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/vue-router": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", + "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==", + "dependencies": { + "@vue/devtools-api": "^6.5.0" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-tsc": { + "version": "2.1.10", + "resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-2.1.10.tgz", + "integrity": "sha512-RBNSfaaRHcN5uqVqJSZh++Gy/YUzryuv9u1aFWhsammDJXNtUiJMNoJ747lZcQ68wUQFx6E73y4FY3D8E7FGMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/typescript": "~2.4.8", + "@vue/language-core": "2.1.10", + "semver": "^7.5.4" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": ">=5.0.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "peer": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack": { + "version": "5.88.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", + "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wildcard": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-1.1.2.tgz", + "integrity": "sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==" + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zrender": { + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.4.tgz", + "integrity": "sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw==", + "dependencies": { + "tslib": "2.3.0" + } + } + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true + }, + "@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "dev": true, + "requires": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==" + }, + "@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==" + }, + "@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.28.0", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.28.0.tgz", + "integrity": "sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==", + "requires": { + "@babel/types": "^7.28.0" + } + }, + "@babel/runtime": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", + "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==" + }, + "@babel/types": { + "version": "7.28.2", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.28.2.tgz", + "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==", + "requires": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + } + }, + "@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==" + }, + "@cush/relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@cush/relative/-/relative-1.0.0.tgz", + "integrity": "sha512-RpfLEtTlyIxeNPGKcokS+p3BZII/Q3bYxryFRglh5H3A3T8q9fsLYm72VYAMEOOIBLEa8o93kFLiBDUWKrwXZA==", + "dev": true + }, + "@element-plus/icons-vue": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", + "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", + "requires": {} + }, + "@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "dev": true, + "optional": true + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.1.tgz", + "integrity": "sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz", + "integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==", + "dev": true + }, + "@floating-ui/core": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.0.tgz", + "integrity": "sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==", + "requires": { + "@floating-ui/utils": "^0.1.3" + } + }, + "@floating-ui/dom": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.3.tgz", + "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==", + "requires": { + "@floating-ui/core": "^1.4.2", + "@floating-ui/utils": "^0.1.3" + } + }, + "@floating-ui/utils": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.3.tgz", + "integrity": "sha512-uvnFKtPgzLnpzzTRfhDlvXX0kLYi9lDRQbcDmT8iXl71Rx+uwSuaUIQl3DNC7w5OweAQ7XQMDObML+KaYDQfng==" + }, + "@humanwhocodes/config-array": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.5.4", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz", + "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@popperjs/core": { + "version": "npm:@sxzz/popperjs-es@2.11.7", + "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==" + }, + "@rollup/pluginutils": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "dev": true, + "requires": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + } + }, + "@rollup/rollup-android-arm-eabi": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.46.2.tgz", + "integrity": "sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-android-arm64": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.46.2.tgz", + "integrity": "sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-arm64": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.46.2.tgz", + "integrity": "sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-x64": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.46.2.tgz", + "integrity": "sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-freebsd-arm64": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.46.2.tgz", + "integrity": "sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-freebsd-x64": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.46.2.tgz", + "integrity": "sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.46.2.tgz", + "integrity": "sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-musleabihf": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.46.2.tgz", + "integrity": "sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-gnu": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.46.2.tgz", + "integrity": "sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-musl": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.46.2.tgz", + "integrity": "sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.46.2.tgz", + "integrity": "sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-ppc64-gnu": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.46.2.tgz", + "integrity": "sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-riscv64-gnu": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.46.2.tgz", + "integrity": "sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-riscv64-musl": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.46.2.tgz", + "integrity": "sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-s390x-gnu": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.46.2.tgz", + "integrity": "sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-gnu": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.46.2.tgz", + "integrity": "sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-musl": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.46.2.tgz", + "integrity": "sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-arm64-msvc": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.46.2.tgz", + "integrity": "sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-ia32-msvc": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.46.2.tgz", + "integrity": "sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-x64-msvc": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.46.2.tgz", + "integrity": "sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==", + "dev": true, + "optional": true + }, + "@transloadit/prettier-bytes": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@transloadit/prettier-bytes/-/prettier-bytes-0.0.7.tgz", + "integrity": "sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA==" + }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true + }, + "@types/eslint": { + "version": "8.44.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", + "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", + "dev": true, + "peer": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "peer": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true + }, + "@types/event-emitter": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@types/event-emitter/-/event-emitter-0.3.3.tgz", + "integrity": "sha512-UfnOK1pIxO7P+EgPRZXD9jMpimd8QEFcEZ5R67R1UhGbv4zghU5+NE7U8M8G9H5Jc8FI51rqDWQs6FtUfq2e/Q==" + }, + "@types/js-cookie": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-3.0.6.tgz", + "integrity": "sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", + "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "@types/lodash": { + "version": "4.14.198", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.198.tgz", + "integrity": "sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg==" + }, + "@types/lodash-es": { + "version": "4.17.9", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.9.tgz", + "integrity": "sha512-ZTcmhiI3NNU7dEvWLZJkzG6ao49zOIjEgIE0RgV7wbPxU0f2xT3VSAHw2gmst8swH6V0YkLRGp4qPlX/6I90MQ==", + "requires": { + "@types/lodash": "*" + } + }, + "@types/node": { + "version": "20.6.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.2.tgz", + "integrity": "sha512-Y+/1vGBHV/cYk6OI1Na/LHzwnlNCAfU3ZNGrc1LdRe/LAIbdDPTTv/HU3M7yXN448aTVDq3eKRm2cg7iKLb8gw==", + "dev": true + }, + "@types/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@types/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-1cYJrqq9GezNFPsWTZpFut/d4CjpZqA0vhqDUPFWYKF1oIyBz5qnoYMzR+0C/T96t3ebLAC1SSnwrVOm5/j74A==", + "dev": true + }, + "@types/pako": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/pako/-/pako-2.0.4.tgz", + "integrity": "sha512-VWDCbrLeVXJM9fihYodcLiIv0ku+AlOa/TQ1SvYOaBuyrSKgEcro95LJyIsJ4vSo6BXIxOKxiJAat04CmST9Fw==" + }, + "@types/papaparse": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/@types/papaparse/-/papaparse-5.5.2.tgz", + "integrity": "sha512-gFnFp/JMzLHCwRf7tQHrNnfhN4eYBVYYI897CGX4MY1tzY9l2aLkVyx2IlKZ/SAqDbB3I1AOZW5gTMGGsqWliA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "@types/qs": { + "version": "6.9.8", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", + "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==", + "dev": true + }, + "@types/raf": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/@types/raf/-/raf-3.4.3.tgz", + "integrity": "sha512-c4YAvMedbPZ5tEyxzQdMoOhhJ4RD3rngZIdwC2/qDN3d7JpEhB6fiBRKVY1lg5B7Wk+uPBjn5f39j1/2MY1oOw==", + "optional": true + }, + "@types/semver": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.2.tgz", + "integrity": "sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw==", + "dev": true + }, + "@types/sortablejs": { + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/@types/sortablejs/-/sortablejs-1.15.8.tgz", + "integrity": "sha512-b79830lW+RZfwaztgs1aVPgbasJ8e7AXtZYHTELNXZPsERt4ymJdjV4OccDbHQAvHrCcFpbF78jkm0R6h/pZVg==", + "dev": true + }, + "@types/svgo": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@types/svgo/-/svgo-2.6.4.tgz", + "integrity": "sha512-l4cmyPEckf8moNYHdJ+4wkHvFxjyW6ulm9l4YGaOxeyBWPhBOT0gvni1InpFPdzx1dKf/2s62qGITwxNWnPQng==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "optional": true + }, + "@types/web-bluetooth": { + "version": "0.0.15", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.15.tgz", + "integrity": "sha512-w7hEHXnPMEZ+4nGKl/KDRVpxkwYxYExuHOYXyzIzCDzEZ9ZCGMAewulr9IqJu2LR4N37fcnb1XVeuZ09qgOxhA==" + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "@uppy/companion-client": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@uppy/companion-client/-/companion-client-2.2.2.tgz", + "integrity": "sha512-5mTp2iq97/mYSisMaBtFRry6PTgZA6SIL7LePteOV5x0/DxKfrZW3DEiQERJmYpHzy7k8johpm2gHnEKto56Og==", + "requires": { + "@uppy/utils": "^4.1.2", + "namespace-emitter": "^2.0.1" + } + }, + "@uppy/core": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@uppy/core/-/core-2.3.4.tgz", + "integrity": "sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==", + "requires": { + "@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.1.25", + "preact": "^10.5.13" + } + }, + "@uppy/store-default": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@uppy/store-default/-/store-default-2.1.1.tgz", + "integrity": "sha512-xnpTxvot2SeAwGwbvmJ899ASk5tYXhmZzD/aCFsXePh/v8rNvR2pKlcQUH7cF/y4baUGq3FHO/daKCok/mpKqQ==" + }, + "@uppy/utils": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@uppy/utils/-/utils-4.1.3.tgz", + "integrity": "sha512-nTuMvwWYobnJcytDO3t+D6IkVq/Qs4Xv3vyoEZ+Iaf8gegZP+rEyoaFT2CK5XLRMienPyqRqNbIfRuFaOWSIFw==", + "requires": { + "lodash.throttle": "^4.1.1" + } + }, + "@uppy/xhr-upload": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@uppy/xhr-upload/-/xhr-upload-2.1.3.tgz", + "integrity": "sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==", + "requires": { + "@uppy/companion-client": "^2.2.2", + "@uppy/utils": "^4.1.2", + "nanoid": "^3.1.25" + } + }, + "@vitejs/plugin-vue": { + "version": "5.1.5", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.1.5.tgz", + "integrity": "sha512-dlnib73G05CDBAUR/YpuZcQQ47fpjihnnNouAAqN62z+oqSsWJ+kh52GRzIxpkgFG3q11eXK7Di7RMmoCwISZA==", + "dev": true, + "requires": {} + }, + "@volar/language-core": { + "version": "2.4.22", + "resolved": "https://registry.npmmirror.com/@volar/language-core/-/language-core-2.4.22.tgz", + "integrity": "sha512-gp4M7Di5KgNyIyO903wTClYBavRt6UyFNpc5LWfyZr1lBsTUY+QrVZfmbNF2aCyfklBOVk9YC4p+zkwoyT7ECg==", + "dev": true, + "requires": { + "@volar/source-map": "2.4.22" + } + }, + "@volar/source-map": { + "version": "2.4.22", + "resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-2.4.22.tgz", + "integrity": "sha512-L2nVr/1vei0xKRgO2tYVXtJYd09HTRjaZi418e85Q+QdbbqA8h7bBjfNyPPSsjnrOO4l4kaAo78c8SQUAdHvgA==", + "dev": true + }, + "@volar/typescript": { + "version": "2.4.22", + "resolved": "https://registry.npmmirror.com/@volar/typescript/-/typescript-2.4.22.tgz", + "integrity": "sha512-6ZczlJW1/GWTrNnkmZxJp4qyBt/SGVlcTuCWpI5zLrdPdCZsj66Aff9ZsfFaT3TyjG8zVYgBMYPuCm/eRkpcpQ==", + "dev": true, + "requires": { + "@volar/language-core": "2.4.22", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "@vue/compiler-core": { + "version": "3.5.18", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.18.tgz", + "integrity": "sha512-3slwjQrrV1TO8MoXgy3aynDQ7lslj5UqDxuHnrzHtpON5CBinhWjJETciPngpin/T3OuW3tXUf86tEurusnztw==", + "requires": { + "@babel/parser": "^7.28.0", + "@vue/shared": "3.5.18", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + }, + "dependencies": { + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" + } + } + }, + "@vue/compiler-dom": { + "version": "3.5.18", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.18.tgz", + "integrity": "sha512-RMbU6NTU70++B1JyVJbNbeFkK+A+Q7y9XKE2EM4NLGm2WFR8x9MbAtWxPPLdm0wUkuZv9trpwfSlL6tjdIa1+A==", + "requires": { + "@vue/compiler-core": "3.5.18", + "@vue/shared": "3.5.18" + } + }, + "@vue/compiler-sfc": { + "version": "3.5.18", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.18.tgz", + "integrity": "sha512-5aBjvGqsWs+MoxswZPoTB9nSDb3dhd1x30xrrltKujlCxo48j8HGDNj3QPhF4VIS0VQDUrA1xUfp2hEa+FNyXA==", + "requires": { + "@babel/parser": "^7.28.0", + "@vue/compiler-core": "3.5.18", + "@vue/compiler-dom": "3.5.18", + "@vue/compiler-ssr": "3.5.18", + "@vue/shared": "3.5.18", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.17", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" + } + }, + "@vue/compiler-ssr": { + "version": "3.5.18", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.18.tgz", + "integrity": "sha512-xM16Ak7rSWHkM3m22NlmcdIM+K4BMyFARAfV9hYFl+SFuRzrZ3uGMNW05kA5pmeMa0X9X963Kgou7ufdbpOP9g==", + "requires": { + "@vue/compiler-dom": "3.5.18", + "@vue/shared": "3.5.18" + } + }, + "@vue/compiler-vue2": { + "version": "2.7.16", + "resolved": "https://registry.npmmirror.com/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", + "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", + "dev": true, + "requires": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==" + }, + "@vue/eslint-config-prettier": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-7.1.0.tgz", + "integrity": "sha512-Pv/lVr0bAzSIHLd9iz0KnvAr4GKyCEl+h52bc4e5yWuDVtLgFwycF7nrbWTAQAS+FU6q1geVd07lc6EWfJiWKQ==", + "dev": true, + "requires": { + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-prettier": "^4.0.0" + } + }, + "@vue/eslint-config-typescript": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-10.0.0.tgz", + "integrity": "sha512-F94cL8ug3FaYXlCfU5/wiGjk1qeadmoBpRGAOBq+qre3Smdupa59dd6ZJrsfRODpsMPyTG7330juMDsUvpZ3Rw==", + "dev": true, + "requires": { + "@typescript-eslint/eslint-plugin": "^5.0.0", + "@typescript-eslint/parser": "^5.0.0", + "vue-eslint-parser": "^8.0.0" + } + }, + "@vue/language-core": { + "version": "2.1.10", + "resolved": "https://registry.npmmirror.com/@vue/language-core/-/language-core-2.1.10.tgz", + "integrity": "sha512-DAI289d0K3AB5TUG3xDp9OuQ71CnrujQwJrQnfuZDwo6eGNf0UoRlPuaVNO+Zrn65PC3j0oB2i7mNmVPggeGeQ==", + "dev": true, + "requires": { + "@volar/language-core": "~2.4.8", + "@vue/compiler-dom": "^3.5.0", + "@vue/compiler-vue2": "^2.7.16", + "@vue/shared": "^3.5.0", + "alien-signals": "^0.2.0", + "minimatch": "^9.0.3", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "@vue/reactivity": { + "version": "3.5.18", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.18.tgz", + "integrity": "sha512-x0vPO5Imw+3sChLM5Y+B6G1zPjwdOri9e8V21NnTnlEvkxatHEH5B5KEAJcjuzQ7BsjGrKtfzuQ5eQwXh8HXBg==", + "requires": { + "@vue/shared": "3.5.18" + } + }, + "@vue/runtime-core": { + "version": "3.5.18", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.18.tgz", + "integrity": "sha512-DUpHa1HpeOQEt6+3nheUfqVXRog2kivkXHUhoqJiKR33SO4x+a5uNOMkV487WPerQkL0vUuRvq/7JhRgLW3S+w==", + "requires": { + "@vue/reactivity": "3.5.18", + "@vue/shared": "3.5.18" + } + }, + "@vue/runtime-dom": { + "version": "3.5.18", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.18.tgz", + "integrity": "sha512-YwDj71iV05j4RnzZnZtGaXwPoUWeRsqinblgVJwR8XTXYZ9D5PbahHQgsbmzUvCWNF6x7siQ89HgnX5eWkr3mw==", + "requires": { + "@vue/reactivity": "3.5.18", + "@vue/runtime-core": "3.5.18", + "@vue/shared": "3.5.18", + "csstype": "^3.1.3" + } + }, + "@vue/server-renderer": { + "version": "3.5.18", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.18.tgz", + "integrity": "sha512-PvIHLUoWgSbDG7zLHqSqaCoZvHi6NNmfVFOqO+OnwvqMz/tqQr3FuGWS8ufluNddk7ZLBJYMrjcw1c6XzR12mA==", + "requires": { + "@vue/compiler-ssr": "3.5.18", + "@vue/shared": "3.5.18" + } + }, + "@vue/shared": { + "version": "3.5.18", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.18.tgz", + "integrity": "sha512-cZy8Dq+uuIXbxCZpuLd2GJdeSO/lIzIspC2WtkqIpje5QyFbvLaI5wZtdUjLHjGZrlVX6GilejatWwVYYRc8tA==" + }, + "@vueuse/core": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.1.1.tgz", + "integrity": "sha512-QfuaNWRDMQcCUwXylCyYhPC3ScS9Tiiz4J0chdwr3vOemBwRToSywq8MP+ZegKYFnbETzRY8G/5zC+ca30wrRQ==", + "requires": { + "@types/web-bluetooth": "^0.0.15", + "@vueuse/metadata": "9.1.1", + "@vueuse/shared": "9.1.1", + "vue-demi": "*" + } + }, + "@vueuse/metadata": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.1.1.tgz", + "integrity": "sha512-XZ2KtSW+85LLHB/IdGILPAtbIVHasPsAW7aqz3BRMzJdAQWRiM/FGa1OKBwLbXtUw/AmjKYFlZJo7eOFIBXRog==" + }, + "@vueuse/shared": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.1.1.tgz", + "integrity": "sha512-c+IfcOYmHiHqoEa3ED1Tbpue5GHmoUmTp8PtO4YbczthtY155Rt6DmWhjxMLXBF1Bcidagxljmp/7xtAzEHXLw==", + "requires": { + "vue-demi": "*" + } + }, + "@wangeditor/basic-modules": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@wangeditor/basic-modules/-/basic-modules-1.1.7.tgz", + "integrity": "sha512-cY9CPkLJaqF05STqfpZKWG4LpxTMeGSIIF1fHvfm/mz+JXatCagjdkbxdikOuKYlxDdeqvOeBmsUBItufDLXZg==", + "requires": { + "is-url": "^1.2.4" + } + }, + "@wangeditor/code-highlight": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@wangeditor/code-highlight/-/code-highlight-1.0.3.tgz", + "integrity": "sha512-iazHwO14XpCuIWJNTQTikqUhGKyqj+dUNWJ9288Oym9M2xMVHvnsOmDU2sgUDWVy+pOLojReMPgXCsvvNlOOhw==", + "requires": { + "prismjs": "^1.23.0" + } + }, + "@wangeditor/core": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/@wangeditor/core/-/core-1.1.19.tgz", + "integrity": "sha512-KevkB47+7GhVszyYF2pKGKtCSj/YzmClsD03C3zTt+9SR2XWT5T0e3yQqg8baZpcMvkjs1D8Dv4fk8ok/UaS2Q==", + "requires": { + "@types/event-emitter": "^0.3.3", + "event-emitter": "^0.3.5", + "html-void-elements": "^2.0.0", + "i18next": "^20.4.0", + "scroll-into-view-if-needed": "^2.2.28", + "slate-history": "^0.66.0" + } + }, + "@wangeditor/editor": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@wangeditor/editor/-/editor-5.1.1.tgz", + "integrity": "sha512-BtccuHFm0QvYunIhIu7tllQWkwppkmEkD3OJ5Mn+F0REPQ/Z3HiEXbtlss2t9c/kHO4CtiFwv2XD/k/VEg7taA==", + "requires": { + "@uppy/core": "^2.1.1", + "@uppy/xhr-upload": "^2.0.3", + "@wangeditor/basic-modules": "^1.1.1", + "@wangeditor/code-highlight": "^1.0.2", + "@wangeditor/core": "^1.1.1", + "@wangeditor/list-module": "^1.0.2", + "@wangeditor/table-module": "^1.1.0", + "@wangeditor/upload-image-module": "^1.0.1", + "@wangeditor/video-module": "^1.1.0", + "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": { + "version": "5.1.12", + "resolved": "https://registry.npmjs.org/@wangeditor/editor-for-vue/-/editor-for-vue-5.1.12.tgz", + "integrity": "sha512-0Ds3D8I+xnpNWezAeO7HmPRgTfUxHLMd9JKcIw+QzvSmhC5xUHbpCcLU+KLmeBKTR/zffnS5GQo6qi3GhTMJWQ==", + "requires": {} + }, + "@wangeditor/list-module": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@wangeditor/list-module/-/list-module-1.0.5.tgz", + "integrity": "sha512-uDuYTP6DVhcYf7mF1pTlmNn5jOb4QtcVhYwSSAkyg09zqxI1qBqsfUnveeDeDqIuptSJhkh81cyxi+MF8sEPOQ==", + "requires": {} + }, + "@wangeditor/table-module": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@wangeditor/table-module/-/table-module-1.1.4.tgz", + "integrity": "sha512-5saanU9xuEocxaemGdNi9t8MCDSucnykEC6jtuiT72kt+/Hhh4nERYx1J20OPsTCCdVr7hIyQenFD1iSRkIQ6w==", + "requires": {} + }, + "@wangeditor/upload-image-module": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@wangeditor/upload-image-module/-/upload-image-module-1.0.2.tgz", + "integrity": "sha512-z81lk/v71OwPDYeQDxj6cVr81aDP90aFuywb8nPD6eQeECtOymrqRODjpO6VGvCVxVck8nUxBHtbxKtjgcwyiA==", + "requires": {} + }, + "@wangeditor/video-module": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@wangeditor/video-module/-/video-module-1.1.4.tgz", + "integrity": "sha512-ZdodDPqKQrgx3IwWu4ZiQmXI8EXZ3hm2/fM6E3t5dB8tCaIGWQZhmqd6P5knfkRAd3z2+YRSRbxOGfoRSp/rLg==", + "requires": {} + }, + "@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "peer": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "peer": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true, + "peer": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "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/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@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": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "peer": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "peer": true + }, + "acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peer": true, + "requires": {} + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peer": true, + "requires": {} + }, + "alien-signals": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/alien-signals/-/alien-signals-0.2.2.tgz", + "integrity": "sha512-cZIRkbERILsBOXTQmMrxc9hgpxglstn69zm+F1ARf4aPAzdAFYd6sBq87ErO0Fj3DV94tglcyHG5kQz9nDC/8A==", + "dev": true + }, + "ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + } + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "axios": { + "version": "1.11.0", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.11.0.tgz", + "integrity": "sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==", + "requires": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.4", + "proxy-from-env": "^1.1.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "base64-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", + "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==" + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "dev": true, + "peer": true, + "requires": { + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "caniuse-lite": { + "version": "1.0.30001534", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001534.tgz", + "integrity": "sha512-vlPVrhsCS7XaSh2VvWluIQEzVhefrUQcEsQWSS5A5V+dM07uv1qHeQzAOTGIMy9i3e9bH15+muvI/UHojVgS/Q==", + "dev": true, + "peer": true + }, + "canvg": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/canvg/-/canvg-3.0.11.tgz", + "integrity": "sha512-5ON+q7jCTgMp9cjpu4Jo6XbvfYwSB2Ow3kzHKfIyJfaCAOHLbdKPQqGKgfED/R5B+3TFFfe8pegYA+b423SRyA==", + "optional": true, + "requires": { + "@babel/runtime": "^7.12.5", + "@types/raf": "^3.4.0", + "core-js": "^3.8.3", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.7", + "rgbcolor": "^1.0.1", + "stackblur-canvas": "^2.0.0", + "svg-pathdata": "^6.0.3" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "peer": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "classnames": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + }, + "clean-css": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", + "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "compute-scroll-into-view": { + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", + "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true + }, + "consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", + "dev": true + }, + "copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "requires": { + "is-what": "^3.14.1" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true + }, + "core-js": { + "version": "3.32.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.32.2.tgz", + "integrity": "sha512-pxXSw1mYZPDGvTQqEc5vgIb83jGQKFGYWY76z4a7weZXUolw3G+OvpZqSRcfYOoOVUQJYEPsWeQK8pKEnUtWxQ==" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "css-line-break": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", + "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", + "requires": { + "utrie": "^1.0.2" + } + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "dependencies": { + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + } + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + } + }, + "csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==" + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + } + } + }, + "dom7": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dom7/-/dom7-3.0.0.tgz", + "integrity": "sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==", + "requires": { + "ssr-window": "^3.0.0-alpha.1" + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "dompurify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.1.tgz", + "integrity": "sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==", + "optional": true, + "requires": { + "@types/trusted-types": "^2.0.7" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "dev": true + }, + "dotenv-expand": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-8.0.3.tgz", + "integrity": "sha512-SErOMvge0ZUyWd5B0NXMQlDkN+8r+HhVUsxgOO7IoPDOdDRD2JjExpN6y3KnFR66jsJMwSn1pqIivhU5rcJiNg==", + "dev": true + }, + "dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "requires": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + } + }, + "echarts": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.3.tgz", + "integrity": "sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==", + "requires": { + "tslib": "2.3.0", + "zrender": "5.4.4" + } + }, + "ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "dev": true, + "requires": { + "jake": "^10.8.5" + } + }, + "electron-to-chromium": { + "version": "1.4.523", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.523.tgz", + "integrity": "sha512-9AreocSUWnzNtvLcbpng6N+GkXnCcBR80IQkxRC9Dfdyg4gaWNUPBujAHUpKkiUkoSoR9UlhA4zD/IgBklmhzg==", + "dev": true, + "peer": true + }, + "element-plus": { + "version": "2.10.5", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.10.5.tgz", + "integrity": "sha512-O9wTDu3Tm51ACVByWrThtBhH4Ygefg1HGY5pyAaxnoIrj8uMN0GtZ4IREwR3Yw/6sM2HyxjrsGI/D46iUVP97A==", + "requires": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.1", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.13", + "escape-html": "^1.0.3", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.2", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "optional": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==" + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" + }, + "es-module-lexer": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", + "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==", + "dev": true, + "peer": true + }, + "es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "requires": { + "es-errors": "^1.3.0" + } + }, + "es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "requires": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + } + }, + "es5-ext": { + "version": "0.10.62", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", + "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", + "requires": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "requires": { + "@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": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "peer": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint": { + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz", + "integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.49.0", + "@humanwhocodes/config-array": "^0.11.11", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-plugin-vue": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz", + "integrity": "sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==", + "dev": true, + "requires": { + "eslint-utils": "^3.0.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.0.1", + "postcss-selector-parser": "^6.0.9", + "semver": "^7.3.5", + "vue-eslint-parser": "^8.0.1" + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + }, + "espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "peer": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "requires": { + "type": "^2.7.2" + }, + "dependencies": { + "type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" + } + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fast-png": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/fast-png/-/fast-png-6.4.0.tgz", + "integrity": "sha512-kAqZq1TlgBjZcLr5mcN6NP5Rv4V2f22z00c3g8vRrwkcqjerx7BEhPbOnWCPqaHUl2XWQBJQvOT/FQhdMT7X/Q==", + "requires": { + "@types/pako": "^2.0.3", + "iobuffer": "^5.3.2", + "pako": "^2.1.0" + } + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==" + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", + "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", + "dev": true, + "requires": { + "flatted": "^3.2.7", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==" + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true + }, + "form-data": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.4.tgz", + "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "requires": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + } + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true + }, + "get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "requires": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "glob-regex": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/glob-regex/-/glob-regex-0.3.2.tgz", + "integrity": "sha512-m5blUd3/OqDTWwzBBtWBPrGlAzatRywHameHeekAZyZrskYouOGdNB8T/q6JucucvJXtOuyHIn0/Yia7iDasDw==", + "dev": true + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "peer": true + }, + "globals": { + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==" + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + } + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==" + }, + "has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "requires": { + "has-symbols": "^1.0.3" + } + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "requires": { + "function-bind": "^1.1.2" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dev": true, + "requires": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + } + }, + "html-void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-2.0.1.tgz", + "integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==" + }, + "html2canvas": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz", + "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==", + "requires": { + "css-line-break": "^2.1.0", + "text-segmentation": "^1.0.3" + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "i18next": { + "version": "20.6.1", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-20.6.1.tgz", + "integrity": "sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==", + "requires": { + "@babel/runtime": "^7.12.0" + } + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true + }, + "immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==" + }, + "immutable": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", + "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "iobuffer": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/iobuffer/-/iobuffer-5.4.0.tgz", + "integrity": "sha512-DRebOWuqDvxunfkNJAlc3IzWIPD5xVxwUNbHr7xKB8E6aLJxIPfNX3CoMJghcFjpv6RWQsrcJbghtEwSPoJqMA==" + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hotkey": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-hotkey/-/is-hotkey-0.2.0.tgz", + "integrity": "sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" + }, + "is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "dev": true, + "requires": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + } + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", + "dev": true + }, + "js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jspdf": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-4.2.0.tgz", + "integrity": "sha512-hR/hnRevAXXlrjeqU5oahOE+Ln9ORJUB5brLHHqH67A+RBQZuFr5GkbI9XQI8OUFSEezKegsi45QRpc4bGj75Q==", + "requires": { + "@babel/runtime": "^7.28.6", + "canvg": "^3.0.11", + "core-js": "^3.6.0", + "dompurify": "^3.3.1", + "fast-png": "^6.2.0", + "fflate": "^0.8.1", + "html2canvas": "^1.0.0-rc.5" + } + }, + "keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, + "klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "dev": true + }, + "less": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/less/-/less-4.2.0.tgz", + "integrity": "sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==", + "dev": true, + "requires": { + "copy-anything": "^2.0.1", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "parse-node-version": "^1.0.1", + "source-map": "~0.6.0", + "tslib": "^2.3.0" + } + }, + "less-loader": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-10.2.0.tgz", + "integrity": "sha512-AV5KHWvCezW27GT90WATaDnfXBv99llDbtaj4bshq6DvAihMdNjaPDcUMa6EXKLRF+P2opFenJp89BXg91XLYg==", + "dev": true, + "requires": { + "klona": "^2.0.4" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "lint-staged": { + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-11.2.6.tgz", + "integrity": "sha512-Vti55pUnpvPE0J9936lKl0ngVeTdSZpEdTNhASbkaWX7J5R9OEifo1INBGQuGW4zmy6OG+TcWPJ3m5yuy5Q8Tg==", + "dev": true, + "requires": { + "cli-truncate": "2.1.0", + "colorette": "^1.4.0", + "commander": "^8.2.0", + "cosmiconfig": "^7.0.1", + "debug": "^4.3.2", + "enquirer": "^2.3.6", + "execa": "^5.1.1", + "listr2": "^3.12.2", + "micromatch": "^4.0.4", + "normalize-path": "^3.0.0", + "please-upgrade-node": "^3.2.0", + "string-argv": "0.3.1", + "stringify-object": "3.3.0", + "supports-color": "8.1.1" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "requires": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + } + } + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "peer": true + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "requires": {} + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "lodash.foreach": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", + "integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==" + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" + }, + "lodash.toarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", + "integrity": "sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw==" + }, + "log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "requires": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "optional": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "optional": true + } + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==" + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + }, + "merge-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-1.0.1.tgz", + "integrity": "sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==", + "dev": true, + "requires": { + "is-plain-obj": "^1.1" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mime-match/-/mime-match-1.0.2.tgz", + "integrity": "sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==", + "requires": { + "wildcard": "^1.1.0" + } + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + }, + "mitt": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-2.1.0.tgz", + "integrity": "sha512-ILj2TpLiysu2wkBbWjAmww7TkZb65aiQO+DkVdUTBpBXq+MHYiETENkKFMtsJZX1Lf4pe4QOrTSjIfUwN5lRdg==" + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "namespace-emitter": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/namespace-emitter/-/namespace-emitter-2.0.1.tgz", + "integrity": "sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==" + }, + "nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "needle": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", + "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", + "dev": true, + "optional": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "peer": true + }, + "next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node-html-parser": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-5.4.2.tgz", + "integrity": "sha512-RaBPP3+51hPne/OolXxcz89iYvQvKOydaqoePpOgXcrOKZhjVIzmpKZz+Hd/RBO2/zN2q6CNJhQzucVz+u3Jyw==", + "dev": true, + "requires": { + "css-select": "^4.2.1", + "he": "1.2.0" + } + }, + "node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "dev": true, + "peer": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "requires": { + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" + }, + "papaparse": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.5.3.tgz", + "integrity": "sha512-5QvjGxYVjxO59MGU2lHVYpRWBBtKHnlIAcSe1uNFCkkptUh63NFRj0FJQm7nR67puEruUci/ZkjmEFrjCAyP4A==", + "dev": true + }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true + }, + "path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "pathe": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-0.2.0.tgz", + "integrity": "sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "optional": true + }, + "picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true + }, + "pinia": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.3.1.tgz", + "integrity": "sha512-khUlZSwt9xXCaTbbxFYBKDc/bWAGWJjOgvxETwkTN7KRm66EeT1ZdZj6i2ceh9sP2Pzqsbc704r2yngBrxBVug==", + "requires": { + "@vue/devtools-api": "^6.6.3", + "vue-demi": "^0.14.10" + } + }, + "pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true + }, + "please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "requires": { + "semver-compare": "^1.0.0" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true + }, + "postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "requires": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + } + }, + "postcss-prefix-selector": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/postcss-prefix-selector/-/postcss-prefix-selector-1.16.0.tgz", + "integrity": "sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q==", + "dev": true, + "requires": {} + }, + "postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "posthtml": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.9.2.tgz", + "integrity": "sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q==", + "dev": true, + "requires": { + "posthtml-parser": "^0.2.0", + "posthtml-render": "^1.0.5" + } + }, + "posthtml-parser": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.2.1.tgz", + "integrity": "sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==", + "dev": true, + "requires": { + "htmlparser2": "^3.8.3", + "isobject": "^2.1.0" + } + }, + "posthtml-rename-id": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/posthtml-rename-id/-/posthtml-rename-id-1.0.12.tgz", + "integrity": "sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw==", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + } + } + }, + "posthtml-render": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.4.0.tgz", + "integrity": "sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==", + "dev": true + }, + "posthtml-svg-mode": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/posthtml-svg-mode/-/posthtml-svg-mode-1.0.3.tgz", + "integrity": "sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==", + "dev": true, + "requires": { + "merge-options": "1.0.1", + "posthtml": "^0.9.2", + "posthtml-parser": "^0.2.1", + "posthtml-render": "^1.0.6" + } + }, + "preact": { + "version": "10.17.1", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.17.1.tgz", + "integrity": "sha512-X9BODrvQ4Ekwv9GURm9AKAGaomqXmip7NQTZgY7gcNmr7XE83adOMJvd3N42id1tMFU7ojiynRsYnY6/BRFxLA==" + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==" + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "optional": true, + "requires": { + "performance-now": "^2.1.0" + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "peer": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "recrawl-sync": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recrawl-sync/-/recrawl-sync-2.2.3.tgz", + "integrity": "sha512-vSaTR9t+cpxlskkdUFrsEpnf67kSmPk66yAGT1fZPrDudxQjoMzPgQhSMImQ0pAw5k0NPirefQfhopSjhdUtpQ==", + "dev": true, + "requires": { + "@cush/relative": "^1.0.0", + "glob-regex": "^0.3.0", + "slash": "^3.0.0", + "sucrase": "^3.20.3", + "tslib": "^1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "optional": true + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true + }, + "resize-detector": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/resize-detector/-/resize-detector-0.3.0.tgz", + "integrity": "sha512-R/tCuvuOHQ8o2boRP6vgx8hXCCy87H1eY9V5imBYeVNyNVpuL9ciReSccLj2gDcax9+2weXy3bc8Vv+NRXeEvQ==" + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "rgbcolor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgbcolor/-/rgbcolor-1.0.1.tgz", + "integrity": "sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==", + "optional": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "4.46.2", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.46.2.tgz", + "integrity": "sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==", + "dev": true, + "requires": { + "@rollup/rollup-android-arm-eabi": "4.46.2", + "@rollup/rollup-android-arm64": "4.46.2", + "@rollup/rollup-darwin-arm64": "4.46.2", + "@rollup/rollup-darwin-x64": "4.46.2", + "@rollup/rollup-freebsd-arm64": "4.46.2", + "@rollup/rollup-freebsd-x64": "4.46.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.46.2", + "@rollup/rollup-linux-arm-musleabihf": "4.46.2", + "@rollup/rollup-linux-arm64-gnu": "4.46.2", + "@rollup/rollup-linux-arm64-musl": "4.46.2", + "@rollup/rollup-linux-loongarch64-gnu": "4.46.2", + "@rollup/rollup-linux-ppc64-gnu": "4.46.2", + "@rollup/rollup-linux-riscv64-gnu": "4.46.2", + "@rollup/rollup-linux-riscv64-musl": "4.46.2", + "@rollup/rollup-linux-s390x-gnu": "4.46.2", + "@rollup/rollup-linux-x64-gnu": "4.46.2", + "@rollup/rollup-linux-x64-musl": "4.46.2", + "@rollup/rollup-win32-arm64-msvc": "4.46.2", + "@rollup/rollup-win32-ia32-msvc": "4.46.2", + "@rollup/rollup-win32-x64-msvc": "4.46.2", + "@types/estree": "1.0.8", + "fsevents": "~2.3.2" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "optional": true + }, + "sass": { + "version": "1.67.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.67.0.tgz", + "integrity": "sha512-SVrO9ZeX/QQyEGtuZYCVxoeAL5vGlYjJ9p4i4HFuekWl8y/LtJ7tJc10Z+ck1c8xOuoBm2MYzcLfTAffD0pl/A==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true, + "optional": true + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "peer": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "scroll-into-view-if-needed": { + "version": "2.2.31", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz", + "integrity": "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==", + "requires": { + "compute-scroll-into-view": "^1.0.20" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true + }, + "serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "peer": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slate": { + "version": "0.72.8", + "resolved": "https://registry.npmjs.org/slate/-/slate-0.72.8.tgz", + "integrity": "sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==", + "requires": { + "immer": "^9.0.6", + "is-plain-object": "^5.0.0", + "tiny-warning": "^1.0.3" + } + }, + "slate-history": { + "version": "0.66.0", + "resolved": "https://registry.npmjs.org/slate-history/-/slate-history-0.66.0.tgz", + "integrity": "sha512-6MWpxGQZiMvSINlCbMW43E2YBSVMCMCIwQfBzGssjWw4kb0qfvj0pIdblWNRQZD0hR6WHP+dHHgGSeVdMWzfng==", + "requires": { + "is-plain-object": "^5.0.0" + } + }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "snabbdom": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/snabbdom/-/snabbdom-3.5.1.tgz", + "integrity": "sha512-wHMNIOjkm/YNE5EM3RCbr/+DVgPg6AqQAX1eOxO46zYNvCXjKP5Y865tqQj3EXnaMBjkxmQA5jFuDpDK/dbfiA==" + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "ssr-window": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-3.0.0.tgz", + "integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==" + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "stackblur-canvas": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.7.0.tgz", + "integrity": "sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ==", + "optional": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + } + } + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "dev": true + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-argv": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", + "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "sucrase": { + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", + "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "dependencies": { + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "svg-baker": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/svg-baker/-/svg-baker-1.7.0.tgz", + "integrity": "sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg==", + "dev": true, + "requires": { + "bluebird": "^3.5.0", + "clone": "^2.1.1", + "he": "^1.1.1", + "image-size": "^0.5.1", + "loader-utils": "^1.1.0", + "merge-options": "1.0.1", + "micromatch": "3.1.0", + "postcss": "^5.2.17", + "postcss-prefix-selector": "^1.6.0", + "posthtml-rename-id": "^1.0", + "posthtml-svg-mode": "^1.0.3", + "query-string": "^4.3.2", + "traverse": "^0.6.6" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true + } + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "micromatch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.0.tgz", + "integrity": "sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.2.2", + "define-property": "^1.0.0", + "extend-shallow": "^2.0.1", + "extglob": "^2.0.2", + "fragment-cache": "^0.2.1", + "kind-of": "^5.0.2", + "nanomatch": "^1.2.1", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "svg-pathdata": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/svg-pathdata/-/svg-pathdata-6.0.3.tgz", + "integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==", + "optional": true + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + } + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "peer": true + }, + "terser": { + "version": "5.19.4", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.4.tgz", + "integrity": "sha512-6p1DjHeuluwxDXcuT9VR8p64klWJKo1ILiy19s6C9+0Bh2+NWTX6nD9EPppiER4ICkHDVB1RkVpin/YW2nQn/g==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + } + }, + "text-segmentation": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", + "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==", + "requires": { + "utrie": "^1.0.2" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "dependencies": { + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "traverse": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", + "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==", + "dev": true + }, + "ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, + "typescript": { + "version": "5.9.2", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.9.2.tgz", + "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", + "devOptional": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "peer": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "utrie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz", + "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==", + "requires": { + "base64-arraybuffer": "^1.0.2" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true + }, + "vite": { + "version": "5.4.19", + "resolved": "https://registry.npmmirror.com/vite/-/vite-5.4.19.tgz", + "integrity": "sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==", + "dev": true, + "requires": { + "esbuild": "^0.21.3", + "fsevents": "~2.3.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + } + }, + "vite-plugin-html": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/vite-plugin-html/-/vite-plugin-html-3.2.2.tgz", + "integrity": "sha512-vb9C9kcdzcIo/Oc3CLZVS03dL5pDlOFuhGlZYDCJ840BhWl/0nGeZWf3Qy7NlOayscY4Cm/QRgULCQkEZige5Q==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^4.2.0", + "colorette": "^2.0.16", + "connect-history-api-fallback": "^1.6.0", + "consola": "^2.15.3", + "dotenv": "^16.0.0", + "dotenv-expand": "^8.0.2", + "ejs": "^3.1.6", + "fast-glob": "^3.2.11", + "fs-extra": "^10.0.1", + "html-minifier-terser": "^6.1.0", + "node-html-parser": "^5.3.3", + "pathe": "^0.2.0" + }, + "dependencies": { + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + } + } + }, + "vite-plugin-svg-icons": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/vite-plugin-svg-icons/-/vite-plugin-svg-icons-2.0.1.tgz", + "integrity": "sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==", + "dev": true, + "requires": { + "@types/svgo": "^2.6.1", + "cors": "^2.8.5", + "debug": "^4.3.3", + "etag": "^1.8.1", + "fs-extra": "^10.0.0", + "pathe": "^0.2.0", + "svg-baker": "1.7.0", + "svgo": "^2.8.0" + } + }, + "vite-tsconfig-paths": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-3.4.0.tgz", + "integrity": "sha512-os+oAdJxkZvNLmisVQ76eDdCWC3aH4bKTy3EXI5oJi//zQ0G+qJfUeFR6Need4iyzL/Xus9R7AECF/YfGS0ZEw==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "globrex": "^0.1.2", + "recrawl-sync": "^2.0.3", + "tsconfig-paths": "^3.9.0" + } + }, + "vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "dev": true + }, + "vue": { + "version": "3.5.18", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.18.tgz", + "integrity": "sha512-7W4Y4ZbMiQ3SEo+m9lnoNpV9xG7QVMLa+/0RFwwiAVkeYoyGXqWE85jabU4pllJNUzqfLShJ5YLptewhCWUgNA==", + "requires": { + "@vue/compiler-dom": "3.5.18", + "@vue/compiler-sfc": "3.5.18", + "@vue/runtime-dom": "3.5.18", + "@vue/server-renderer": "3.5.18", + "@vue/shared": "3.5.18" + } + }, + "vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "requires": {} + }, + "vue-echarts": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/vue-echarts/-/vue-echarts-6.6.1.tgz", + "integrity": "sha512-EpreTzlNeJ+eaUn0AhXEmKJk98xJGecgTqAdyZovoXWnhTxnlW2HuBM0ei3y8rLw1JCUabf8/sYvxjlr8SzBKQ==", + "requires": { + "resize-detector": "^0.3.0", + "vue-demi": "^0.13.11" + }, + "dependencies": { + "vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "requires": {} + } + } + }, + "vue-eslint-parser": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz", + "integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==", + "dev": true, + "requires": { + "debug": "^4.3.2", + "eslint-scope": "^7.0.0", + "eslint-visitor-keys": "^3.1.0", + "espree": "^9.0.0", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.5" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "vue-router": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", + "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==", + "requires": { + "@vue/devtools-api": "^6.5.0" + } + }, + "vue-tsc": { + "version": "2.1.10", + "resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-2.1.10.tgz", + "integrity": "sha512-RBNSfaaRHcN5uqVqJSZh++Gy/YUzryuv9u1aFWhsammDJXNtUiJMNoJ747lZcQ68wUQFx6E73y4FY3D8E7FGMA==", + "dev": true, + "requires": { + "@volar/typescript": "~2.4.8", + "@vue/language-core": "2.1.10", + "semver": "^7.5.4" + } + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "peer": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webpack": { + "version": "5.88.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", + "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", + "dev": true, + "peer": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "peer": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wildcard": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-1.1.2.tgz", + "integrity": "sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==" + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + }, + "zrender": { + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.4.tgz", + "integrity": "sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw==", + "requires": { + "tslib": "2.3.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..156c2f5 --- /dev/null +++ b/package.json @@ -0,0 +1,72 @@ +{ + "name": "weather-data-ui", + "version": "5.5.0", + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "npm run build:prod", + "build:prod": "vite build --mode production", + "serve": "npm run build && vite preview", + "lint": "eslint \"src/**/*.{vue,ts}\" --fix" + }, + "gitHooks": { + "pre-commit": "lint-staged" + }, + "lint-staged": { + "src/**/*.{ts,vue}": [ + "eslint --fix", + "git add" + ] + }, + "dependencies": { + "@element-plus/icons-vue": "2.3.1", + "@vueuse/core": "9.1.1", + "@wangeditor/editor": "5.1.1", + "@wangeditor/editor-for-vue": "^5.1.12", + "axios": "1.11.0", + "classnames": "^2.3.1", + "core-js": "^3.14.0", + "echarts": "^5.2.2", + "element-plus": "2.10.5", + "html2canvas": "^1.4.1", + "js-cookie": "^3.0.5", + "jspdf": "^4.2.0", + "lodash": "^4.17.21", + "mitt": "^2.1.0", + "nprogress": "^0.2.0", + "pinia": "2.3.1", + "qs": "^6.10.1", + "vue": "^3.5.18", + "vue-echarts": "^6.0.0", + "vue-router": "4.2.5" + }, + "devDependencies": { + "@types/js-cookie": "^3.0.6", + "@types/lodash": "^4.14.172", + "@types/nprogress": "^0.2.0", + "@types/papaparse": "^5.5.2", + "@types/qs": "^6.9.6", + "@types/sortablejs": "^1.10.6", + "@typescript-eslint/eslint-plugin": "^5.23.0", + "@typescript-eslint/parser": "^5.23.0", + "@vitejs/plugin-vue": "5.1.5", + "@vue/compiler-sfc": "^3.5.18", + "@vue/eslint-config-prettier": "^7.0.0", + "@vue/eslint-config-typescript": "^10.0.0", + "eslint": "^8.13.0", + "eslint-plugin-vue": "^8.6.0", + "less": "^4.1.1", + "less-loader": "^10.0.0", + "lint-staged": "^11.0.0", + "papaparse": "^5.5.3", + "prettier": "^2.6.2", + "sass": "^1.50.1", + "typescript": "^5.7.2", + "vite": "5.4.19", + "vite-plugin-html": "^3.2.2", + "vite-plugin-svg-icons": "2.0.1", + "vite-tsconfig-paths": "3.4.0", + "vue-tsc": "2.1.10" + } +} diff --git a/public/1.png b/public/1.png new file mode 100644 index 0000000..4c65c74 Binary files /dev/null and b/public/1.png differ diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000..e444989 Binary files /dev/null and b/public/favicon.ico differ diff --git a/public/region.csv b/public/region.csv new file mode 100644 index 0000000..8d2d7d2 --- /dev/null +++ b/public/region.csv @@ -0,0 +1,3361 @@ +id,name,type,parentId,log,lat +1,中国,1,0,116.413384,39.910925 +110000,北京,2,1,116.4133836971231,39.910924547299565 +120000,天津,2,1,117.2080927529767,39.09110259843554 +130000,河北省,2,1,114.53659630531568,38.04320164520046 +140000,山西省,2,1,112.56937550968271,37.87982942385603 +150000,内蒙古自治区,2,1,111.77260583081977,40.823156232446166 +210000,辽宁省,2,1,123.43559785683209,41.84146525120185 +220000,吉林省,2,1,125.33257987514821,43.90171443544392 +230000,黑龙江省,2,1,126.66965282041836,45.74792983743469 +310000,上海,2,1,121.48053886017651,31.235929042252014 +320000,江苏省,2,1,118.76955164466914,32.066776944293416 +330000,浙江省,2,1,120.15953308739246,30.271548393336545 +340000,安徽省,2,1,117.3305404177196,31.73429415631746 +350000,福建省,2,1,119.30244747703945,26.106339415901047 +360000,江西省,2,1,115.91542320365122,28.68169051676075 +370000,山东省,2,1,117.02744162847857,36.674856650404905 +410000,河南省,2,1,113.75938408486323,34.771712921931496 +420000,湖北省,2,1,114.34844073658718,30.551600064658352 +430000,湖南省,2,1,112.98960254334654,28.118269998009367 +440000,广东省,2,1,113.27242891272826,23.13794855653905 +450000,广西壮族自治区,2,1,108.3345212294372,22.821268997908664 +460000,海南省,2,1,110.35553651088428,20.025801964462914 +500000,重庆,2,1,106.55843415537664,29.568996245338923 +510000,四川省,2,1,104.07346654728391,30.577543147015334 +520000,贵州省,2,1,106.71447593088575,26.604029544994923 +530000,云南省,2,1,102.71641607523223,25.051562267344867 +540000,西藏自治区,2,1,116.39206412262423,39.95250894023601 +610000,陕西省,2,1,108.96039314875111,34.27580800602361 +620000,甘肃省,2,1,103.83247812812213,36.06546488736762 +630000,青海省,2,1,101.78646183586761,36.62715857923451 +640000,宁夏回族自治区,2,1,106.26560480701352,38.47687796791088 +650000,新疆维吾尔自治区,2,1,87.63347320573824,43.79923810128996 +110100,北京市,3,110000,116.4133836971231,39.910924547299565 +120100,天津市,3,120000,117.2080927529767,39.09110259843554 +130100,石家庄市,3,130000,114.52153190157445,38.0483119268727 +130200,唐山市,3,130000,118.18645947203979,39.63658372414733 +130300,秦皇岛市,3,130000,119.5259671942601,39.89472719832739 +130400,邯郸市,3,130000,114.5456282282352,36.631262731204046 +130500,邢台市,3,130000,114.51146225612979,37.07668595096609 +130600,保定市,3,130000,115.47146383768579,38.87998776845534 +130700,张家口市,3,130000,114.89257223145165,40.7732372026915 +130800,承德市,3,130000,117.96939750996681,40.95785601233803 +130900,沧州市,3,130000,116.84558075595014,38.310215141107044 +131000,廊坊市,3,130000,116.69058173342549,39.54336666275853 +131100,衡水市,3,130000,115.6754061376161,37.745191408077424 +140100,太原市,3,140000,112.55639149167204,37.87698902884778 +140200,大同市,3,140000,113.37336244450448,40.102783001859564 +140300,阳泉市,3,140000,113.58761666287546,37.862360847859385 +140400,长治市,3,140000,113.12255886984902,36.2012683721548 +140500,晋城市,3,140000,112.85857823132879,35.49628458647257 +140600,朔州市,3,140000,112.4393709396677,39.337108370541735 +140700,晋中市,3,140000,112.75959475565928,37.69283940975972 +140800,运城市,3,140000,111.01338945447925,35.03270691290923 +140900,忻州市,3,140000,112.74062416023847,38.42238338517772 +141000,临汾市,3,140000,111.52553022403073,36.093741895419726 +141100,吕梁市,3,140000,111.15044967529185,37.524497749577115 +150100,呼和浩特市,3,150000,111.75550856170946,40.84842299711348 +150200,包头市,3,150000,109.95979863201062,40.62714122474678 +150300,乌海市,3,150000,106.80039104999656,39.6620063648907 +150400,赤峰市,3,150000,118.8955203975195,42.2616861034116 +150500,通辽市,3,150000,122.25052178737633,43.657980083916655 +150600,鄂尔多斯市,3,150000,109.78744317923602,39.61448231394889 +150700,呼伦贝尔市,3,150000,119.78486907317954,49.172732795190655 +150800,巴彦淖尔市,3,150000,107.39439808372491,40.7493594895728 +150900,乌兰察布市,3,150000,113.13946767446333,41.00074832767381 +152200,兴安盟,3,150000,122.04436452582519,46.08846371321896 +152500,锡林郭勒盟,3,150000,116.05439144074573,43.93942266533856 +152900,阿拉善盟,3,150000,105.73537746449358,38.858275883056955 +210100,沈阳市,3,210000,123.47109664482264,41.68383006919066 +210200,大连市,3,210000,121.62163148459285,38.9189536667856 +210300,鞍山市,3,210000,123.00137251399407,41.11505359694933 +210400,抚顺市,3,210000,123.9643746156145,41.88596959305694 +210500,本溪市,3,210000,123.69250712420832,41.49291646055291 +210600,丹东市,3,210000,124.36154728159079,40.00640870559368 +210700,锦州市,3,210000,121.13259630055518,41.10093149946208 +210800,营口市,3,210000,122.22579880279181,40.63070304275062 +210900,阜新市,3,210000,121.67640799865809,42.02802190131842 +211000,辽阳市,3,210000,123.24336640651318,41.27416129045421 +211100,盘锦市,3,210000,122.1771181899173,40.72579099974712 +211200,铁岭市,3,210000,123.73537237670288,42.22922560804787 +211300,朝阳市,3,210000,120.45749949793277,41.57982086475567 +211400,葫芦岛市,3,210000,120.8433983399283,40.71736443636189 +220100,长春市,3,220000,125.3306020759069,43.82195350104314 +220200,吉林市,3,220000,126.55563450495482,43.84356783457924 +220300,四平市,3,220000,124.35648155715893,43.171993571561 +220400,辽源市,3,220000,125.15042516688747,42.89405500574631 +220500,通化市,3,220000,125.94660627598029,41.733815801613424 +220600,白山市,3,220000,126.42108639550088,41.94988401959104 +220700,松原市,3,220000,124.83148187569292,45.14740419341382 +220800,白城市,3,220000,122.8455906084976,45.62550435999602 +222400,延边朝鲜族自治州,3,220000,129.4773763202274,42.91574303372181 +230100,哈尔滨市,3,230000,126.54161509031663,45.808825827952184 +230200,齐齐哈尔市,3,230000,123.92457086841536,47.3599771860153 +230300,鸡西市,3,230000,130.97561865876668,45.300872317823895 +230400,鹤岗市,3,230000,130.3044328986694,47.35605615768509 +230500,双鸭山市,3,230000,131.14797357255904,46.68238905377044 +230600,大庆市,3,230000,125.10865763402039,46.59363317672175 +230700,伊春市,3,230000,128.84754638019822,47.733318457230936 +230800,佳木斯市,3,230000,130.327359092573,46.80568999085779 +230900,七台河市,3,230000,131.01154459102744,45.77630032154785 +231000,牡丹江市,3,230000,129.6395397783469,44.55624570898632 +231100,黑河市,3,230000,127.53548988621854,50.25127231175015 +231200,绥化市,3,230000,126.97535687530133,46.6600321798244 +232700,大兴安岭地区,3,230000,124.15292785448057,50.42002595502784 +310100,上海市,3,310000,121.48053886017651,31.235929042252014 +320100,南京市,3,320000,118.80242172124585,32.06465288561847 +320200,无锡市,3,320000,120.31858328810601,31.498809732685714 +320300,徐州市,3,320000,117.29057543439453,34.21266655011306 +320400,常州市,3,320000,119.98148471327892,31.815795653327836 +320500,苏州市,3,320000,120.59241222959322,31.303564074441766 +320600,南通市,3,320000,120.90159173866185,31.98654943120089 +320700,连云港市,3,320000,119.22862133316607,34.60224952526725 +320800,淮安市,3,320000,119.11976413248364,33.55666778025387 +320900,盐城市,3,320000,120.167544265761,33.355100917626196 +321000,扬州市,3,320000,119.41941890822997,32.40067693609037 +321100,镇江市,3,320000,119.43048944567383,32.19471592052375 +321200,泰州市,3,320000,119.9295663378548,32.4606750493083 +321300,宿迁市,3,320000,118.28157403570837,33.96774971569008 +330100,杭州市,3,330000,120.21551180372168,30.25308298169347 +330200,宁波市,3,330000,121.63084278185603,29.866068124069646 +330300,温州市,3,330000,120.70647689035565,28.00108540447221 +330400,嘉兴市,3,330000,120.76355182586005,30.750974830920143 +330500,湖州市,3,330000,120.09451660915789,30.898963937294184 +330600,绍兴市,3,330000,120.59002264710614,30.057657361054257 +330700,金华市,3,330000,119.65343619052916,29.084639385513697 +330800,衢州市,3,330000,118.86659674035565,28.975545802265025 +330900,舟山市,3,330000,122.21355631852045,29.99091168016034 +331000,台州市,3,330000,121.42743470427969,28.66219405599615 +331100,丽水市,3,330000,119.9295730584414,28.473278180563412 +340100,合肥市,3,340000,117.23344266497664,31.826577833686887 +340200,芜湖市,3,340000,118.43943137653523,31.358536655799266 +340300,蚌埠市,3,340000,117.39551332813694,32.921523704350825 +340400,淮南市,3,340000,117.00638885071616,32.63184739905333 +340500,马鞍山市,3,340000,118.5135795794315,31.676265597609103 +340600,淮北市,3,340000,116.8045372670298,33.96165630027632 +340700,铜陵市,3,340000,117.81847679445747,30.95123323991339 +340800,安庆市,3,340000,117.1212827542562,30.53922247681024 +341000,黄山市,3,340000,118.14760982483591,30.27865098018807 +341100,滁州市,3,340000,118.33940613596579,32.26127087204081 +341200,阜阳市,3,340000,115.82043612491321,32.89606099485221 +341300,宿州市,3,340000,116.97054394561262,33.65209532645213 +341500,六安市,3,340000,116.52640966418569,31.741450815322555 +341600,亳州市,3,340000,115.7844632112745,33.850642695788835 +341700,池州市,3,340000,117.50208200570214,30.68054196371511 +341800,宣城市,3,340000,118.76553424276743,30.94660154529291 +350100,福州市,3,350000,119.30346983854001,26.080429420698078 +350200,厦门市,3,350000,118.09643549976651,24.485406605176305 +350300,莆田市,3,350000,119.0145209781265,25.45986545592271 +350400,三明市,3,350000,117.64552116782143,26.269736515991838 +350500,泉州市,3,350000,118.68244626680422,24.879952330498313 +350600,漳州市,3,350000,117.65357645298785,24.51892979117087 +350700,南平市,3,350000,118.08735102597767,27.389104987898513 +350800,龙岩市,3,350000,117.02344756677536,25.081219844871676 +350900,宁德市,3,350000,119.55451074542829,26.672241711408567 +360100,南昌市,3,360000,115.86458944231661,28.68945529506072 +360200,景德镇市,3,360000,117.18457644638579,29.274247711040953 +360300,萍乡市,3,360000,113.89369655407103,27.664752547951164 +360400,九江市,3,360000,115.96066124030492,29.666660847999456 +360500,新余市,3,360000,114.9235346513963,27.823578697788587 +360600,鹰潭市,3,360000,117.0755754270272,28.265787063191418 +360700,赣州市,3,360000,114.9405033729825,25.835176103497655 +360800,吉安市,3,360000,115.00051072001253,27.119726826070448 +360900,宜春市,3,360000,114.4235636759064,27.820856421848216 +361000,抚州市,3,360000,116.36453876864373,27.954892253419565 +361100,上饶市,3,360000,117.94945960312224,28.460625921851733 +370100,济南市,3,370000,117.12639941261048,36.65655420178723 +370200,青岛市,3,370000,120.38945519114627,36.072227496663224 +370300,淄博市,3,370000,118.06145253489896,36.81908568332188 +370400,枣庄市,3,370000,117.33054194483897,34.815994048435115 +370500,东营市,3,370000,118.58846268606544,37.45484732016579 +370600,烟台市,3,370000,121.45441541730195,37.470038383730525 +370700,潍坊市,3,370000,119.16837791142822,36.71265155126753 +370800,济宁市,3,370000,116.59361234853988,35.420177394529645 +370900,泰安市,3,370000,117.0944948347959,36.2058580448846 +371000,威海市,3,370000,122.12754097831325,37.5164305480148 +371100,日照市,3,370000,119.53341540456555,35.42283899843767 +371300,临沂市,3,370000,118.36353300501388,35.11067124236514 +371400,德州市,3,370000,116.36555674397471,37.441308454576266 +371500,聊城市,3,370000,115.99158784830443,36.46275818769411 +371600,滨州市,3,370000,117.9774040171467,37.3881961960769 +371700,菏泽市,3,370000,115.48754503343376,35.23940742476551 +410100,郑州市,3,410000,113.63141920733915,34.75343885045448 +410200,开封市,3,410000,114.32076511162192,34.80401391129182 +410300,洛阳市,3,410000,112.4594212983115,34.62426277921943 +410400,平顶山市,3,410000,113.19952856052156,33.772050748691015 +410500,安阳市,3,410000,114.39950042177432,36.10594098401491 +410600,鹤壁市,3,410000,114.30359364247649,35.7523574114 +410700,新乡市,3,410000,113.81159378076424,35.19656440899276 +410800,焦作市,3,410000,113.24854783457334,35.22096325403899 +410900,濮阳市,3,410000,115.03559747034215,35.76759302890629 +411000,许昌市,3,410000,113.85847553685502,34.04143161161871 +411100,漯河市,3,410000,114.02342077764726,33.5877107071022 +411200,三门峡市,3,410000,111.2065332238741,34.778327249459984 +411300,南阳市,3,410000,112.53450131351325,32.99656220465144 +411400,商丘市,3,410000,115.66244933826238,34.4202016658586 +411500,信阳市,3,410000,114.09748283304512,32.15301454753105 +411600,周口市,3,410000,114.7079826661061,33.643083575264406 +411700,驻马店市,3,410000,114.02847078173271,33.01784241674367 +419000,省直辖县级行政区划,3,410000,113.75938408486323,34.771712921931496 +420100,武汉市,3,420000,114.31158155473231,30.598466736400987 +420200,黄石市,3,420000,115.04553290894361,30.205207848941598 +420300,十堰市,3,420000,110.80452956069568,32.63506185840116 +420500,宜昌市,3,420000,111.29254921035434,30.697446484492378 +420600,襄阳市,3,420000,112.12853720100244,32.014796804669224 +420700,鄂州市,3,420000,114.90160738827099,30.39657217331699 +420800,荆门市,3,420000,112.20639298023002,31.041732575569622 +420900,孝感市,3,420000,113.96346265773938,30.924526261070227 +421000,荆州市,3,420000,112.24552262926137,30.340842107742912 +421100,黄冈市,3,420000,114.87849048410779,30.4593588576181 +421200,咸宁市,3,420000,114.32851909026844,29.847055947646492 +421300,随州市,3,420000,113.38945001822157,31.6965167723283 +422800,恩施土家族苗族自治州,3,420000,109.49459261857503,30.277939575301094 +429000,省直辖县级行政区划,3,420000,114.34844073658718,30.551600064658352 +430100,长沙市,3,430000,112.94547319535287,28.23488939994364 +430200,株洲市,3,430000,113.14047079776427,27.833567639016444 +430300,湘潭市,3,430000,112.95046418076468,27.835702227135585 +430400,衡阳市,3,430000,112.57844721325992,26.899576139189122 +430500,邵阳市,3,430000,111.474432885931,27.245270272808565 +430600,岳阳市,3,430000,113.13548942422142,29.3631782939259 +430700,常德市,3,430000,111.70545217995837,29.037749999406877 +430800,张家界市,3,430000,110.48553254695402,29.122815562551878 +430900,益阳市,3,430000,112.36151595471031,28.559711178489888 +431000,郴州市,3,430000,113.02146049909462,25.776683273601865 +431100,永州市,3,430000,111.61945505792227,26.425864117900094 +431200,怀化市,3,430000,110.00851426537254,27.575160902978517 +431300,娄底市,3,430000,112.00150349288418,27.703208596991583 +433100,湘西土家族苗族自治州,3,430000,109.74557664946683,28.317369104701186 +440100,广州市,3,440000,113.27143134445974,23.135336306695006 +440200,韶关市,3,440000,113.60352734562261,24.815881278583017 +440300,深圳市,3,440000,114.06455183658751,22.548456637984177 +440400,珠海市,3,440000,113.58255478654918,22.27656465424921 +440500,汕头市,3,440000,116.68852864054833,23.35909171772515 +440600,佛山市,3,440000,113.12851219549718,23.02775875078891 +440700,江门市,3,440000,113.08855619524043,22.584603880965 +440800,湛江市,3,440000,110.36555441392824,21.276723439012073 +440900,茂名市,3,440000,110.931542579969,21.669064031332095 +441200,肇庆市,3,440000,112.47148894063035,23.052888771125616 +441300,惠州市,3,440000,114.4235580165817,23.116358854725593 +441400,梅州市,3,440000,116.12953737612247,24.294177532206206 +441500,汕尾市,3,440000,115.38155260365083,22.79126303654673 +441600,河源市,3,440000,114.70744627290641,23.749684370959752 +441700,阳江市,3,440000,111.98848929181268,21.864339726138933 +441800,清远市,3,440000,113.06246832527266,23.688230292088083 +441900,东莞市,3,440000,113.75842045787648,23.02730841164339 +442000,中山市,3,440000,113.39942236263188,22.5223146707905 +445100,潮州市,3,440000,116.62947017362819,23.662623192615886 +445200,揭阳市,3,440000,116.37851218033846,23.555740488275585 +445300,云浮市,3,440000,112.05151269959146,22.920911970342857 +450100,南宁市,3,450000,108.37345082581861,22.822606601187154 +450200,柳州市,3,450000,109.43442194634564,24.331961386852413 +450300,桂林市,3,450000,110.18619487315159,25.24169878354397 +450400,梧州市,3,450000,111.28551681182014,23.48274528113516 +450500,北海市,3,450000,109.126533212566,21.48683649576942 +450600,防城港市,3,450000,108.360418838298,21.6930052899694 +450700,钦州市,3,450000,108.66058016842224,21.986593539484296 +450800,贵港市,3,450000,109.60552031033306,23.117448382037534 +450900,玉林市,3,450000,110.1884531233724,22.659830509953142 +451000,百色市,3,450000,106.62458932565383,23.908185934295958 +451100,贺州市,3,450000,111.57352631416218,24.409450902865487 +451200,河池市,3,450000,108.64310866524227,24.491714255143005 +451300,来宾市,3,450000,109.22745819590091,23.75654676260728 +451400,崇左市,3,450000,107.3715202061015,22.383117234663302 +460100,海口市,3,460000,110.2067198964201,20.052113086180366 +460200,三亚市,3,460000,109.51855670139908,18.258736291747855 +460300,三沙市,3,460000,112.34048204137058,16.838953334409123 +460400,儋州市,3,460000,109.58745583568611,19.527146110044196 +469000,省直辖县级行政区划,3,460000,110.35553651088428,20.025801964462914 +500100,重庆市,3,500000,106.55843415537664,29.568996245338923 +510100,成都市,3,510000,104.07274727406208,30.578993724029967 +510300,自贡市,3,510000,104.78444884671711,29.345584921327575 +510400,攀枝花市,3,510000,101.72554117091441,26.58803317333301 +510500,泸州市,3,510000,105.4485240693266,28.87766830360723 +510600,德阳市,3,510000,104.40441936496448,31.133115003656755 +510700,绵阳市,3,510000,104.6855618607612,31.473663048745863 +510800,广元市,3,510000,105.85042318166482,32.44161630531542 +510900,遂宁市,3,510000,105.5994215306444,30.53909767110912 +511000,内江市,3,510000,105.06458802499718,29.58588653832045 +511100,乐山市,3,510000,103.7725376036347,29.55794071745811 +511300,南充市,3,510000,106.11750261487227,30.843782508337036 +511400,眉山市,3,510000,103.85656331579456,30.082526119421058 +511500,宜宾市,3,510000,104.6494037048691,28.75800702855183 +511600,广安市,3,510000,106.63955268233484,30.461746110678995 +511700,达州市,3,510000,107.47459385897544,31.214307723927455 +511800,雅安市,3,510000,103.04954262360451,30.01679254570607 +511900,巴中市,3,510000,106.7515853031645,31.872888585956545 +512000,资阳市,3,510000,104.6344353416441,30.13495655925314 +513200,阿坝藏族羌族自治州,3,510000,102.23141546175019,31.905511577266523 +513300,甘孜藏族自治州,3,510000,101.96854674579022,30.05527884351838 +513400,凉山彝族自治州,3,510000,102.2735026809702,27.88775230036972 +520100,贵阳市,3,520000,106.63657676352776,26.653324822309752 +520200,六盘水市,3,520000,104.8375546023468,26.598833108257494 +520300,遵义市,3,520000,107.03792295677086,27.728325334416603 +520400,安顺市,3,520000,105.95441712388904,26.25925237871499 +520500,毕节市,3,520000,105.2985887950112,27.29021508342595 +520600,铜仁市,3,520000,109.19643889817665,27.73778645640524 +522300,黔西南布依族苗族自治州,3,520000,104.91249214626991,25.09396734941651 +522600,黔东南苗族侗族自治州,3,520000,107.9894462407788,26.58970296982603 +522700,黔南布依族苗族自治州,3,520000,107.5284027057371,26.260616196073833 +530100,昆明市,3,530000,102.83944512326053,24.886272111644136 +530300,曲靖市,3,530000,103.80243482794681,25.496406931543667 +530400,玉溪市,3,530000,102.55356029311,24.35771094244625 +530500,保山市,3,530000,99.16801175601306,25.11785803166449 +530600,昭通市,3,530000,103.72351177196889,27.34408386024681 +530700,丽江市,3,530000,100.23246452903453,26.860657438064884 +530800,普洱市,3,530000,100.97256981472799,22.830979186010275 +530900,临沧市,3,530000,100.09544042014869,23.89046855627851 +532300,楚雄彝族自治州,3,530000,101.53441248050268,25.051773565340376 +532500,红河哈尼族彝族自治州,3,530000,103.38154905257933,23.36999624760546 +532600,文山壮族苗族自治州,3,530000,104.22256899109433,23.40599429361173 +532800,西双版纳傣族自治州,3,530000,100.80344682455637,22.013601254764165 +532900,大理白族自治州,3,530000,100.27458284048366,25.6121284181925 +533100,德宏傣族景颇族自治州,3,530000,98.59135935611411,24.438010702758117 +533300,怒江傈僳族自治州,3,530000,98.8632883813579,25.823707417657754 +533400,迪庆藏族自治州,3,530000,99.70952999013957,27.82518468364326 +540100,拉萨市,3,540000,91.17845425628477,29.65948787983075 +540200,日喀则市,3,540000,88.89370303482552,29.275657822511512 +540300,昌都市,3,540000,97.17733324895293,31.148661810810207 +540400,林芝市,3,540000,94.36805828713257,29.654042176951524 +540500,山南市,3,540000,91.77867513851903,29.243026939249226 +540600,那曲市,3,540000,92.0573384981749,31.482438388454657 +542500,阿里地区,3,540000,80.11277692192645,32.50686601763335 +610100,西安市,3,610000,108.94646555063274,34.34726881662395 +610200,铜川市,3,610000,108.95240424835922,34.902637080502906 +610300,宝鸡市,3,610000,107.2445753670404,34.36891564286998 +610400,咸阳市,3,610000,108.71542245143303,34.335476293368586 +610500,渭南市,3,610000,109.51658960525897,34.50571551675255 +610600,延安市,3,610000,109.50118366576285,36.656089661066176 +610700,汉中市,3,610000,107.02943020926463,33.073799907833795 +610800,榆林市,3,610000,109.74161603381395,38.290883835484046 +610900,安康市,3,610000,109.03560108265746,32.69051277057377 +611000,商洛市,3,610000,109.92441788136406,33.87863385220776 +620100,兰州市,3,620000,103.84052119633628,36.067234693545565 +620200,嘉峪关市,3,620000,98.29620384300111,39.77796014739059 +620300,金昌市,3,620000,102.19460568669837,38.52582009209263 +620400,白银市,3,620000,104.1444508283435,36.55082533041454 +620500,天水市,3,620000,105.73141674566955,34.58741188165064 +620600,武威市,3,620000,102.64455434036918,37.93437780815811 +620700,张掖市,3,620000,100.45641147405634,38.932066007004934 +620800,平凉市,3,620000,106.67144234827796,35.549232050463516 +620900,酒泉市,3,620000,98.50068521606795,39.73846908071564 +621000,庆阳市,3,620000,107.6493856959542,35.71521598356201 +621100,定西市,3,620000,104.63242008306302,35.586832926561875 +621200,陇南市,3,620000,104.9668643447692,33.37603215910919 +622900,临夏回族自治州,3,620000,103.21639056529743,35.60756218350311 +623000,甘南藏族自治州,3,620000,102.91758468825803,34.98913990996821 +630100,西宁市,3,630000,101.78445017050855,36.62338469651661 +630200,海东市,3,630000,102.41503557578936,36.48017021268231 +632200,海北藏族自治州,3,630000,100.90743432145598,36.96066282412982 +632300,黄南藏族自治州,3,630000,102.02242827807585,35.525804586515534 +632500,海南藏族自治州,3,630000,100.62662114445924,36.2921024798988 +632600,果洛藏族自治州,3,630000,100.25159197879555,34.4771938664709 +632700,玉树藏族自治州,3,630000,97.01318076277326,33.01097958514274 +632800,海西蒙古族藏族自治州,3,630000,97.37629911601906,37.38275046252745 +640100,银川市,3,640000,106.23849358740017,38.492460055509596 +640200,石嘴山市,3,640000,106.3906004255049,38.98968283991508 +640300,吴忠市,3,640000,106.20537126663626,38.00371291345338 +640400,固原市,3,640000,106.24857742607188,36.02161725801098 +640500,中卫市,3,640000,105.20357090088713,37.50570141870293 +650100,乌鲁木齐市,3,650000,87.62443993536046,43.830763204290484 +650200,克拉玛依市,3,650000,84.87429458457947,45.60847146791606 +650400,吐鲁番市,3,650000,89.1972972460079,42.95698484877124 +650500,哈密市,3,650000,93.52121554028504,42.82582436811265 +652300,昌吉回族自治州,3,650000,87.3150016244744,44.01685415991987 +652700,博尔塔拉蒙古自治州,3,650000,82.07291475827434,44.9121964134647 +652800,巴音郭楞蒙古自治州,3,650000,86.1517138653326,41.7702873304504 +652900,阿克苏地区,3,650000,80.26694348473501,41.17502986007749 +653000,克孜勒苏柯尔克孜自治州,3,650000,76.17430867621205,39.72047120487073 +653100,喀什地区,3,650000,75.99639055639747,39.47609674864479 +653200,和田地区,3,650000,79.9285070635119,37.12044646304192 +654000,伊犁哈萨克自治州,3,650000,81.3305377475322,43.92272313749215 +654200,塔城地区,3,650000,82.9872355184064,46.750948254373434 +654300,阿勒泰地区,3,650000,88.14792620373527,47.85072787010195 +659000,自治区直辖县级行政区划,3,650000,87.63347320573824,43.79923810128996 +110101,东城区,4,110100,116.4224009776628,39.93482727239599 +110102,西城区,4,110100,116.37251358116619,39.91812360584148 +110105,朝阳区,4,110100,116.44955872950158,39.926374523079886 +110106,丰台区,4,110100,116.29240188731139,39.8649371975573 +110107,石景山区,4,110100,116.22961266775826,39.911353808778294 +110108,海淀区,4,110100,116.3054340544974,39.96548984110075 +110109,门头沟区,4,110100,116.10760355576534,39.94614672003409 +110111,房山区,4,110100,116.14944375184247,39.75432583977336 +110112,通州区,4,110100,116.66341535785384,39.916017122432365 +110113,顺义区,4,110100,116.66142426369096,40.13635076223076 +110114,昌平区,4,110100,116.23761791731043,40.22641337159427 +110115,大兴区,4,110100,116.348625212231,39.73255523655448 +110116,怀柔区,4,110100,116.63838587142932,40.32261840426579 +110117,平谷区,4,110100,117.12737910459967,40.146950735799116 +110118,密云区,4,110100,116.84954704426833,40.38217565813752 +110119,延庆区,4,110100,115.98163156901515,40.46216897375426 +120101,和平区,4,120100,117.22146699490091,39.12339025327971 +120102,河东区,4,120100,117.25841295306803,39.134487325955114 +120103,河西区,4,120100,117.2294162800198,39.115718082215515 +120104,南开区,4,120100,117.15651537432414,39.14410527976771 +120105,河北区,4,120100,117.20359278135501,39.15348514470478 +120106,红桥区,4,120100,117.15751788327329,39.17328564656417 +120110,东丽区,4,120100,117.32056850791443,39.09233234281453 +120111,西青区,4,120100,117.01441017993696,39.14872660896657 +120112,津南区,4,120100,117.36338677903083,38.94414856811469 +120113,北辰区,4,120100,117.14140273157703,39.2303439099184 +120114,武清区,4,120100,117.05059715977872,39.389871228788344 +120115,宝坻区,4,120100,117.31660069247685,39.723194482933174 +120116,滨海新区,4,120100,117.71739882966088,39.00941577364663 +120117,宁河区,4,120100,117.83239334341803,39.33695643122726 +120118,静海区,4,120100,116.98046860454797,38.95337068917225 +120119,蓟州区,4,120100,117.41457869478904,40.051508786394855 +130102,长安区,4,130100,114.54561160958328,38.04325613649811 +130104,桥西区,4,130100,114.45660004371892,38.03115465457638 +130105,新华区,4,130100,114.46943844640641,38.057119539195526 +130107,井陉矿区,4,130100,114.06863186515059,38.07056583451666 +130108,裕华区,4,130100,114.53758291425729,38.012087686284076 +130109,藁城区,4,130100,114.8533779044236,38.02781655532087 +130110,鹿泉区,4,130100,114.3205975776443,38.091749457589636 +130111,栾城区,4,130100,114.65457561879083,37.9058163641652 +130121,井陉县,4,130100,114.15146299927575,38.03838621492678 +130123,正定县,4,130100,114.57748106365241,38.15171372795392 +130125,行唐县,4,130100,114.55960676027597,38.444238747675655 +130126,灵寿县,4,130100,114.38947775770787,38.31462937004633 +130127,高邑县,4,130100,114.61841307285897,37.62187956155255 +130128,深泽县,4,130100,115.20740369912795,38.19045120306884 +130129,赞皇县,4,130100,114.39246354556191,37.671667061291416 +130130,无极县,4,130100,114.98243934348369,38.18543617027971 +130131,平山县,4,130100,114.20233197420312,38.25366251987636 +130132,元氏县,4,130100,114.53256551866185,37.7723385538555 +130133,赵县,4,130100,114.78259655057873,37.76185852288779 +130171,石家庄高新技术产业开发区,4,130100,114.6280539570837,38.0427493019111 +130172,石家庄循环化工园区,4,130100,114.70121932392148,38.00283737438911 +130181,辛集市,4,130100,115.22445084279079,37.949309043172505 +130183,晋州市,4,130100,115.05052901469845,38.039491309735894 +130184,新乐市,4,130100,114.69053218326928,38.34929264795945 +130202,路南区,4,130200,118.16060668861537,39.63104285357227 +130203,路北区,4,130200,118.20639924927531,39.63066079909864 +130204,古冶区,4,130200,118.4534009255209,39.73973591476624 +130205,开平区,4,130200,118.2686076244857,39.67714363586181 +130207,丰南区,4,130200,118.09036557570423,39.58154048510918 +130208,丰润区,4,130200,118.16854133135446,39.83835343085074 +130209,曹妃甸区,4,130200,118.4664598622111,39.27928399633476 +130224,滦南县,4,130200,118.68995575783818,39.52665245913953 +130225,乐亭县,4,130200,118.91938406305317,39.43193132009613 +130227,迁西县,4,130200,118.32038397780872,40.147837151362445 +130229,玉田县,4,130200,117.74543440564399,39.90659234818871 +130271,河北唐山芦台经济开发区,4,130200,118.18645947203979,39.63658372414733 +130272,唐山市汉沽管理区,4,130200,117.88752657460128,39.368259917564714 +130273,唐山高新技术产业开发区,4,130200,118.18463222880195,39.68228686844219 +130274,河北唐山海港经济开发区,4,130200,119.57119651736528,39.95330464249715 +130281,遵化市,4,130200,117.97237521307129,40.195533204032955 +130283,迁安市,4,130200,118.70645736056483,40.00418392493125 +130284,滦州市,4,130200,118.71048006246906,39.7471157654891 +130302,海港区,4,130300,119.57119651736528,39.95330464249715 +130303,山海关区,4,130300,119.78243521396982,39.984445641831485 +130304,北戴河区,4,130300,119.491526071177,39.841005667935896 +130306,抚宁区,4,130300,119.25154914401945,39.88141356935017 +130321,青龙满族自治县,4,130300,118.95648129586817,40.41279370231334 +130322,昌黎县,4,130300,119.20609416657015,39.706762290841475 +130324,卢龙县,4,130300,118.89948911126258,39.897958466103006 +130371,秦皇岛市经济技术开发区,4,130300,119.5259671942601,39.89472719832739 +130372,北戴河新区,4,130300,119.43359596578844,39.8655130940727 +130402,邯山区,4,130400,114.53761938546099,36.600119770111704 +130403,丛台区,4,130400,114.49943259789293,36.64267256598247 +130404,复兴区,4,130400,114.4685856849858,36.64537606676819 +130406,峰峰矿区,4,130400,114.21948332130513,36.42565361439937 +130407,肥乡区,4,130400,114.80654708225521,36.553825253669615 +130408,永年区,4,130400,114.550625142465,36.74756938957492 +130423,临漳县,4,130400,114.59217770111785,36.329381126857 +130424,成安县,4,130400,114.67657655801901,36.4497962089534 +130425,大名县,4,130400,115.15461253007031,36.29128846623129 +130426,涉县,4,130400,113.69758434882932,36.590691663211175 +130427,磁县,4,130400,114.38043173139184,36.38035894094747 +130430,邱县,4,130400,115.19339516368314,36.81736241714275 +130431,鸡泽县,4,130400,114.89658577063967,36.91639820641365 +130432,广平县,4,130400,114.9544149064889,36.4897799956119 +130433,馆陶县,4,130400,115.28853676634758,36.55395672865321 +130434,魏县,4,130400,114.94545044631319,36.366156454371385 +130435,曲周县,4,130400,114.96340442938836,36.77154483133649 +130471,邯郸经济技术开发区,4,130400,114.5456282282352,36.631262731204046 +130473,邯郸冀南新区,4,130400,114.471408789712,36.47073031587578 +130481,武安市,4,130400,114.21051607638233,36.70248828627979 +130502,襄都区,4,130500,114.51347113674177,37.073749959650705 +130503,信都区,4,130500,114.47478129808812,37.10004656137518 +130505,任泽区,4,130500,114.67860600982715,37.12672678352311 +130506,南和区,4,130500,114.6905477239546,37.010997970560375 +130522,临城县,4,130500,114.5054433397213,37.450788548442155 +130523,内丘县,4,130500,114.51849293403419,37.292857912046905 +130524,柏乡县,4,130500,114.6994973620894,37.488758727151506 +130525,隆尧县,4,130500,114.77661608164605,37.355908006295365 +130528,宁晋县,4,130500,114.94596948723685,37.63074152974115 +130529,巨鹿县,4,130500,115.0435873588701,37.227088328938194 +130530,新河县,4,130500,115.24854716945154,37.53459060153626 +130531,广宗县,4,130500,115.14960474634384,37.08045712216151 +130532,平乡县,4,130500,115.03658174368942,37.0690963930439 +130533,威县,4,130500,115.2736176186073,36.98158160866276 +130534,清河县,4,130500,115.67439356764524,37.04637540161698 +130535,临西县,4,130500,115.50762943785641,36.87675996654004 +130571,河北邢台经济开发区,4,130500,114.51146225612979,37.07668595096609 +130581,南宫市,4,130500,115.41452905480229,37.36406940272302 +130582,沙河市,4,130500,114.50947385688346,36.8611273411454 +130602,竞秀区,4,130600,115.46543414161117,38.88378796169117 +130606,莲池区,4,130600,115.53548768833184,38.86067580704093 +130607,满城区,4,130600,115.32837508859573,38.95544120868623 +130608,清苑区,4,130600,115.49660588179071,38.77100177474947 +130609,徐水区,4,130600,115.66247952132751,39.0247125838342 +130623,涞水县,4,130600,115.7205430250843,39.40033419848886 +130624,阜平县,4,130600,114.20156347383934,38.85535144479584 +130626,定兴县,4,130600,115.81441011189118,39.26942352852659 +130627,唐县,4,130600,114.98944711459758,38.7540199251248 +130628,高阳县,4,130600,115.78544721513012,38.70625773408686 +130629,容城县,4,130600,115.86863129349015,39.04855943541596 +130630,涞源县,4,130600,114.70047561678977,39.36627169152419 +130631,望都县,4,130600,115.16158760286363,38.70015764554925 +130632,安新县,4,130600,115.94242628265987,38.94173429859305 +130633,易县,4,130600,115.50360664612163,39.35505446998136 +130634,曲阳县,4,130600,114.75145481380322,38.62838410412241 +130635,蠡县,4,130600,115.59044548044898,38.494200963237745 +130636,顺平县,4,130600,115.141597430689,38.84326137036368 +130637,博野县,4,130600,115.47046698806136,38.463408004951994 +130638,雄县,4,130600,116.1146014455186,39.00018011949929 +130671,保定高新技术产业开发区,4,130600,116.04868647075793,39.492189845770596 +130672,保定白沟新城,4,130600,116.06875507635863,39.15100554249527 +130681,涿州市,4,130600,115.98161971138242,39.49106583200048 +130682,定州市,4,130600,114.99649620776492,38.522198840134 +130683,安国市,4,130600,115.33340802487648,38.424828318687446 +130684,高碑店市,4,130600,115.88056905507335,39.33233544746168 +130702,桥东区,4,130700,114.90060577762738,40.79426843742311 +130703,桥西区,4,130700,114.8765160984274,40.825605695041084 +130705,宣化区,4,130700,115.10544440679553,40.614591888266105 +130706,下花园区,4,130700,115.29351688226434,40.5081451826724 +130708,万全区,4,130700,114.74742582376042,40.77314964899669 +130709,崇礼区,4,130700,115.28954933631843,40.98047788586999 +130722,张北县,4,130700,114.7263751121007,41.164943620014895 +130723,康保县,4,130700,114.60635583664293,41.858636884497415 +130724,沽源县,4,130700,115.69540744877906,41.676015876096564 +130725,尚义县,4,130700,113.97580941782127,41.08221563982466 +130726,蔚县,4,130700,114.59540055179599,39.84708863636645 +130727,阳原县,4,130700,114.15752413604322,40.10958838873102 +130728,怀安县,4,130700,114.39246911505609,40.68036934311551 +130730,怀来县,4,130700,115.52455288485054,40.42028989038194 +130731,涿鹿县,4,130700,115.21138346202879,40.385834075002876 +130732,赤城县,4,130700,115.83850589956863,40.918761216841006 +130771,张家口经济开发区,4,130700,114.89257223145165,40.7732372026915 +130772,张家口市察北管理区,4,130700,114.95235760720996,41.41103022011367 +130773,张家口市塞北管理区,4,130700,115.82171342551784,41.8764862132115 +130802,双桥区,4,130800,117.94942790898834,40.98082447740105 +130803,双滦区,4,130800,117.80657828882504,40.964729148178336 +130804,鹰手营子矿区,4,130800,117.66560909158578,40.55204323362298 +130821,承德县,4,130800,118.1804557369944,40.77436719493557 +130822,兴隆县,4,130800,117.50742737263927,40.42345402963516 +130824,滦平县,4,130800,117.33949787111233,40.947560962909996 +130825,隆化县,4,130800,117.74545102429592,41.31989880502099 +130826,丰宁满族自治县,4,130800,116.65239270009364,41.21533638000358 +130827,宽城满族自治县,4,130800,118.49159436054974,40.61715150781358 +130828,围场满族蒙古族自治县,4,130800,117.76656434784968,41.9443237736111 +130871,承德高新技术产业开发区,4,130800,118.1804557369944,40.77436719493557 +130881,平泉市,4,130800,118.70742672204064,41.02375562592939 +130902,新华区,4,130900,116.87243317374606,38.32036671947827 +130903,运河区,4,130900,116.84954048663813,38.28917947575794 +130921,沧县,4,130900,116.88439779466401,38.29945274340688 +130922,青县,4,130900,116.81057477836235,38.588464758639795 +130923,东光县,4,130900,116.54340955697872,37.894513906653266 +130924,海兴县,4,130900,117.50441804918084,38.14940251651842 +130925,盐山县,4,130900,117.23741362448348,38.06431839955863 +130926,肃宁县,4,130900,115.8365176799834,38.428905919717586 +130927,南皮县,4,130900,116.71560115882829,38.045187886965145 +130928,吴桥县,4,130900,116.39739206243448,37.63390875555352 +130929,献县,4,130900,116.12956002887077,38.19598143800661 +130930,孟村回族自治县,4,130900,117.11043607454543,38.059839127888104 +130971,河北沧州经济开发区,4,130900,116.84558075595014,38.310215141107044 +130972,沧州高新技术产业开发区,4,130900,116.1335600036456,38.7543479376887 +130973,沧州渤海新区,4,130900,117.76415203823319,38.282320846617175 +130981,泊头市,4,130900,116.5846280358124,38.08925691544578 +130982,任丘市,4,130900,116.09127820057975,38.69203213176629 +130983,黄骅市,4,130900,117.33648109171817,38.37749390073505 +130984,河间市,4,130900,116.10562809211834,38.45135651510629 +131002,安次区,4,131000,116.70963326617274,39.526159764040514 +131003,广阳区,4,131000,116.71761426147614,39.52861144733396 +131022,固安县,4,131000,116.30542004093144,39.44448485530404 +131023,永清县,4,131000,116.5054292898474,39.3278529985738 +131024,香河县,4,131000,117.01240210779996,39.76793918854631 +131025,大城县,4,131000,116.66040917846469,38.71085864002598 +131026,文安县,4,131000,116.46460947899904,38.878950493070235 +131028,大厂回族自治县,4,131000,116.99640912565307,39.89220839408563 +131071,廊坊经济技术开发区,4,131000,116.69058173342549,39.54336666275853 +131081,霸州市,4,131000,116.39839726630014,39.13092059698142 +131082,三河市,4,131000,117.0845878724791,39.98809955244307 +131102,桃城区,4,131100,115.68139532011222,37.741636751694145 +131103,冀州区,4,131100,115.58542988146456,37.55708602583317 +131121,枣强县,4,131100,115.7305629044037,37.51936368976413 +131122,武邑县,4,131100,115.89451363116582,37.807764276867424 +131123,武强县,4,131100,115.98961391177681,38.04685680523654 +131124,饶阳县,4,131100,115.73257160535455,38.24103752542849 +131125,安平县,4,131100,115.5255492853222,38.24050692219121 +131126,故城县,4,131100,115.97260216135105,37.35334755247688 +131127,景县,4,131100,116.27741078529978,37.69881455139486 +131128,阜城县,4,131100,116.18242153524983,37.86873245790551 +131171,河北衡水高新技术产业开发区,4,131100,115.59730943285074,38.251782020654495 +131172,衡水滨湖新区,4,131100,115.6754061376161,37.745191408077424 +131182,深州市,4,131100,115.56636927583166,38.00694123492171 +140105,小店区,4,140100,112.57239624162112,37.742322528644706 +140106,迎泽区,4,140100,112.56938467239891,37.8695324842251 +140107,杏花岭区,4,140100,112.57638301130496,37.90018624684476 +140108,尖草坪区,4,140100,112.49360496703545,37.94594335454805 +140109,万柏林区,4,140100,112.52257675702106,37.8649744104023 +140110,晋源区,4,140100,112.48456424072192,37.72116885784946 +140121,清徐县,4,140100,112.36455763137184,37.613066838238375 +140122,阳曲县,4,140100,112.67940895159992,38.06462081944815 +140123,娄烦县,4,140100,111.80359063362269,38.073195368895746 +140171,山西转型综合改革示范区,4,140100,112.6746217917067,38.03796048534677 +140181,古交市,4,140100,112.18245286889747,37.912999960962374 +140212,新荣区,4,140200,113.14644373539272,40.261971219328466 +140213,平城区,4,140200,113.30442522204106,40.08199837502475 +140214,云冈区,4,140200,113.16240150396362,39.99683881127932 +140215,云州区,4,140200,113.61847103171833,40.046229886508016 +140221,阳高县,4,140200,113.75541420332299,40.36739184247229 +140222,天镇县,4,140200,114.0974775330426,40.42641219869095 +140223,广灵县,4,140200,114.2885863709657,39.76600421713898 +140224,灵丘县,4,140200,114.24136819946143,39.448825128052334 +140225,浑源县,4,140200,113.69872950869346,39.71172415388494 +140226,左云县,4,140200,112.7094632895556,40.01962344901451 +140271,山西大同经济开发区,4,140200,113.40172733928755,40.076817022196806 +140302,城区,4,140300,113.60656821421946,37.85343342071212 +140303,矿区,4,140300,113.5615212471328,37.874409150947606 +140311,郊区,4,140300,113.60060283681935,37.95035289294265 +140321,平定县,4,140300,113.66442115516472,37.792796383591316 +140322,盂县,4,140300,113.4184204607489,38.091979630200996 +140403,潞州区,4,140400,113.12952091721245,36.209472481338004 +140404,上党区,4,140400,113.05741608985974,36.05928647929114 +140405,屯留区,4,140400,112.898474763774,36.321630843108416 +140406,潞城区,4,140400,113.23557845894248,36.339691267612324 +140423,襄垣县,4,140400,113.05741258646825,36.54168582115512 +140425,平顺县,4,140400,113.44251696707077,36.205989459384334 +140426,黎城县,4,140400,113.39343247603895,36.50866990144076 +140427,壶关县,4,140400,113.21357985530864,36.121334604236964 +140428,长子县,4,140400,112.88456585041024,36.128001557793574 +140429,武乡县,4,140400,112.8706056438019,36.84316794930056 +140430,沁县,4,140400,112.70545801477827,36.7621899385521 +140431,沁源县,4,140400,112.34445202693917,36.506103350913286 +140471,山西长治高新技术产业园区,4,140400,113.13026947519391,36.22274120113376 +140502,城区,4,140500,112.85958379451667,35.50727892458355 +140521,沁水县,4,140500,112.19342620968516,35.69636446245674 +140522,阳城县,4,140500,112.42145378711842,35.492181320425026 +140524,陵川县,4,140500,113.28740655466288,35.781743639537595 +140525,泽州县,4,140500,112.7944012195933,35.59976972948786 +140581,高平市,4,140500,112.93041239923134,35.80433679857751 +140602,朔城区,4,140600,112.43837642563759,39.325302712534004 +140603,平鲁区,4,140600,112.29552500886327,39.517389104237175 +140621,山阴县,4,140600,112.82243194472665,39.53403049801094 +140622,应县,4,140600,113.19749353921925,39.56007785237528 +140623,右玉县,4,140600,112.47350008124718,39.99485955543098 +140671,山西朔州经济开发区,4,140600,112.4393709396677,39.337108370541735 +140681,怀仁市,4,140600,113.1066084673833,39.83375688952166 +140702,榆次区,4,140700,112.71450350211099,37.703940486801216 +140703,太谷区,4,140700,112.55738411926058,37.42739557731329 +140721,榆社县,4,140700,112.98159856583429,37.07636966870016 +140722,左权县,4,140700,113.38545184005775,37.088555147170815 +140723,和顺县,4,140700,113.57660568308691,37.33480773868841 +140724,昔阳县,4,140700,113.71361290387442,37.61788404299596 +140725,寿阳县,4,140700,113.18341017492547,37.9013076069566 +140727,祁县,4,140700,112.34244242768281,37.36413128347519 +140728,平遥县,4,140700,112.182455563814,37.195600690703 +140729,灵石县,4,140700,111.78561787596237,36.85336750127023 +140781,介休市,4,140700,111.92356319719394,37.03268640360337 +140802,盐湖区,4,140800,111.00437711461986,35.0214253278287 +140821,临猗县,4,140800,110.78040700351404,35.149542242621784 +140822,万荣县,4,140800,110.84457611016106,35.42110880053557 +140823,闻喜县,4,140800,111.23141035768413,35.36293119638129 +140824,稷山县,4,140800,110.98941457872347,35.61040356961574 +140825,新绛县,4,140800,111.23140649497044,35.62263010308172 +140826,绛县,4,140800,111.57548652055998,35.49727637389565 +140827,垣曲县,4,140800,111.67660670571551,35.30301451741769 +140828,夏县,4,140800,111.22643149939508,35.14746177980724 +140829,平陆县,4,140800,111.22348047596425,34.84292515458109 +140830,芮城县,4,140800,110.70061151319877,34.69938811056296 +140881,永济市,4,140800,110.45457767130965,34.87282971471371 +140882,河津市,4,140800,110.71857214373472,35.60192657532228 +140902,忻府区,4,140900,112.75261366421904,38.409879817619995 +140921,定襄县,4,140900,112.96352861151779,38.4799743058469 +140922,五台县,4,140900,113.26145109491867,38.73418159056545 +140923,代县,4,140900,112.96655194854216,39.07272834638067 +140924,繁峙县,4,140900,113.27140827251347,39.19523743073412 +140925,宁武县,4,140900,112.32639824212184,39.02434238143123 +140926,静乐县,4,140900,111.94543190585105,38.36514708843798 +140927,神池县,4,140900,112.21738276000855,39.09687582486334 +140928,五寨县,4,140900,111.85340993856165,38.917019909691845 +140929,岢岚县,4,140900,111.57947778177136,38.710151038936225 +140930,河曲县,4,140900,111.14444863516302,39.39070248871515 +140931,保德县,4,140900,111.09254175804939,39.02833693239553 +140932,偏关县,4,140900,111.51447352049172,39.44223009038652 +140971,五台山风景名胜区,4,140900,113.59570814975659,38.976197885134965 +140981,原平市,4,140900,112.71748713403183,38.73647589760487 +141002,尧都区,4,141000,111.58643021726583,36.084562230191636 +141021,曲沃县,4,141000,111.48239637818867,35.64732733598219 +141022,翼城县,4,141000,111.72537553219112,35.744429075038624 +141023,襄汾县,4,141000,111.44854005199257,35.88206267067628 +141024,洪洞县,4,141000,111.68158942671826,36.25946707937692 +141025,古县,4,141000,111.92657314946622,36.272338064826975 +141026,安泽县,4,141000,112.25661283959589,36.1535143805225 +141027,浮山县,4,141000,111.8553849530559,35.97439275394264 +141028,吉县,4,141000,110.68854637189425,36.10399906202126 +141029,乡宁县,4,141000,110.85349790082506,35.9764416654741 +141030,大宁县,4,141000,110.75938440881679,36.47130568709722 +141031,隰县,4,141000,110.9475912707899,36.69906138322701 +141032,永和县,4,141000,110.63841589392663,36.765908673932856 +141033,蒲县,4,141000,111.10247405258157,36.41800542917659 +141034,汾西县,4,141000,111.56954629571415,36.65878226423185 +141081,侯马市,4,141000,111.37839658489034,35.625364816257864 +141082,霍州市,4,141000,111.76150942217721,36.574606950709004 +141102,离石区,4,141100,111.15749077354018,37.52357747590664 +141121,文水县,4,141100,112.03559869260123,37.44430008265076 +141122,交城县,4,141100,112.16256770863693,37.55777223625885 +141123,兴县,4,141100,111.1343921049788,38.468803780990854 +141124,临县,4,141100,110.99841488128904,37.95721067232133 +141125,柳林县,4,141100,110.89538983929958,37.43549296493386 +141126,石楼县,4,141100,110.84159553247896,37.00447050301227 +141127,岚县,4,141100,111.67859223038421,38.285028788850155 +141128,方山县,4,141100,111.25037044293047,37.90102023915963 +141129,中阳县,4,141100,111.18562956482637,37.362872792380124 +141130,交口县,4,141100,111.18762820475553,36.98787266655283 +141181,孝义市,4,141100,111.78560601832963,37.15106331910215 +141182,汾阳市,4,141100,111.79459661919569,37.271291794517566 +150102,新城区,4,150100,111.67162012199908,40.86387702118283 +150103,回民区,4,150100,111.6304701838758,40.81450636294379 +150104,玉泉区,4,150100,111.68157514366065,40.75805896863502 +150105,赛罕区,4,150100,111.70842064450414,40.79839423697477 +150121,土默特左旗,4,150100,111.16958672672367,40.7352937117589 +150122,托克托县,4,150100,111.20057494308753,40.28314672900654 +150123,和林格尔县,4,150100,111.8284302182624,40.384797744251024 +150124,清水河县,4,150100,111.653576488034,39.92633385438891 +150125,武川县,4,150100,111.45749705623255,41.10241872379268 +150172,呼和浩特经济技术开发区,4,150100,111.75550856170946,40.84842299711348 +150202,东河区,4,150200,110.05039480879458,40.58222803832416 +150203,昆都仑区,4,150200,109.84553830334677,40.647644106920914 +150204,青山区,4,150200,109.90741601229894,40.64947306878302 +150205,石拐区,4,150200,110.06767685934828,40.68299911773543 +150206,白云鄂博矿区,4,150200,109.9796257617352,41.77499523418191 +150207,九原区,4,150200,109.96958800613616,40.61339658944351 +150221,土默特右旗,4,150200,110.53038926651871,40.57512742910827 +150222,固阳县,4,150200,110.06643261638642,41.040162852726006 +150223,达尔罕茂明安联合旗,4,150200,110.43952090316525,41.7045485510015 +150271,包头稀土高新技术产业开发区,4,150200,109.84586483739965,40.63692070771989 +150302,海勃湾区,4,150300,106.82943856713665,39.69690799353465 +150303,海南区,4,150300,106.89847100998414,39.44682751508743 +150304,乌达区,4,150300,106.73260635350245,39.511468916129324 +150402,红山区,4,150400,118.96356353650884,42.27047843525001 +150403,元宝山区,4,150400,119.29540450884711,42.045124715637876 +150404,松山区,4,150400,118.92278271211961,42.305953486360366 +150421,阿鲁科尔沁旗,4,150400,120.07261385472195,43.877953412182414 +150422,巴林左旗,4,150400,119.38644328075584,43.97638259461 +150423,巴林右旗,4,150400,118.6703942570529,43.540131553107535 +150424,林西县,4,150400,118.06246142181722,43.6242102592906 +150425,克什克腾旗,4,150400,117.55162041050815,43.27075759189642 +150426,翁牛特旗,4,150400,119.01250888001714,42.94201926223575 +150428,喀喇沁旗,4,150400,118.71047368449993,41.93221433564327 +150429,宁城县,4,150400,119.35060897565731,41.60024514826854 +150430,敖汉旗,4,150400,119.92757793860845,42.29650708524341 +150502,科尔沁区,4,150500,122.2624570337041,43.62871248882857 +150521,科尔沁左翼中旗,4,150500,123.3185885336466,44.13229422830756 +150522,科尔沁左翼后旗,4,150500,122.36356257647982,42.93956249402025 +150523,开鲁县,4,150500,121.32538568842634,43.60636943136172 +150524,库伦旗,4,150500,121.81740576201258,42.741211100234985 +150525,奈曼旗,4,150500,120.66464641293936,42.871846546660144 +150526,扎鲁特旗,4,150500,120.9186258568948,44.562213133098936 +150571,通辽经济技术开发区,4,150500,122.25052178737633,43.657980083916655 +150581,霍林郭勒市,4,150500,119.67046591393887,45.53751332060997 +150602,东胜区,4,150600,109.96956006883481,39.82798698444443 +150603,康巴什区,4,150600,109.8696273537329,39.61637814676571 +150621,达拉特旗,4,150600,110.04036612608118,40.41890715439107 +150622,准格尔旗,4,150600,111.24639840545701,39.87054026503683 +150623,鄂托克前旗,4,150600,107.48458472302686,38.18821674128391 +150624,鄂托克旗,4,150600,107.98244495022512,39.09529341360767 +150625,杭锦旗,4,150600,108.74241293878582,39.83881576881519 +150626,乌审旗,4,150600,108.82443496913814,38.610026521176685 +150627,伊金霍洛旗,4,150600,109.75459043995566,39.570092815192666 +150702,海拉尔区,4,150700,119.74246537005571,49.21821579936311 +150703,扎赉诺尔区,4,150700,117.69453227349118,49.46777018362822 +150721,阿荣旗,4,150700,123.46544000531033,48.13197124504232 +150722,莫力达瓦达斡尔族自治旗,4,150700,124.52547661897245,48.48346382602108 +150723,鄂伦春自治旗,4,150700,123.73234507741994,50.59794792806367 +150724,鄂温克族自治旗,4,150700,119.76135125526704,49.15304476395036 +150725,陈巴尔虎旗,4,150700,119.43046248676728,49.33491428888495 +150726,新巴尔虎左旗,4,150700,118.27660837276184,48.22378676003717 +150727,新巴尔虎右旗,4,150700,116.83063240352327,48.6770535990886 +150781,满洲里市,4,150700,117.38543585768029,49.604098854866066 +150782,牙克石市,4,150700,120.718346837101,49.292023693206346 +150783,扎兰屯市,4,150700,122.74445371485892,48.01995552010966 +150784,额尔古纳市,4,150700,120.18663369726426,50.24813175863642 +150785,根河市,4,150700,121.52758526593915,50.78614043431789 +150802,临河区,4,150800,107.3695337956837,40.75668072584017 +150821,五原县,4,150800,108.27349135409987,41.09445482147854 +150822,磴口县,4,150800,107.01452247000432,40.3364701771031 +150823,乌拉特前旗,4,150800,108.6586151381014,40.74210351292801 +150824,乌拉特中旗,4,150800,108.51951244005076,41.59334626374648 +150825,乌拉特后旗,4,150800,107.0815461220704,41.08942226925757 +150826,杭锦后旗,4,150800,107.15737244948984,40.89217941982269 +150902,集宁区,4,150900,113.12058699942406,41.04114617178671 +150921,卓资县,4,150900,112.58440955069771,40.900291837833585 +150922,化德县,4,150900,114.01640878449749,41.909602587109205 +150923,商都县,4,150900,113.58463922926263,41.56756663722376 +150924,兴和县,4,150900,113.84057886567139,40.879341798932664 +150925,凉城县,4,150900,112.51060018863981,40.53716312519976 +150926,察哈尔右翼前旗,4,150900,113.22160531673478,40.791267302592765 +150927,察哈尔右翼中旗,4,150900,112.64258040196295,41.28327294329096 +150928,察哈尔右翼后旗,4,150900,113.19853090242218,41.441770999655446 +150929,四子王旗,4,150900,111.71241927182069,41.53935334991468 +150981,丰镇市,4,150900,113.1166012178763,40.44180480884355 +152201,乌兰浩特市,4,152200,122.099622351983,46.07865434358189 +152202,阿尔山市,4,152200,119.95065315165802,47.18305415374976 +152221,科尔沁右翼前旗,4,152200,121.95909027020402,46.085685629589435 +152222,科尔沁右翼中旗,4,152200,121.48354781458434,45.06647099342768 +152223,扎赉特旗,4,152200,122.90644442882986,46.72918953935754 +152224,突泉县,4,152200,121.60054536996837,45.387830342585495 +152501,二连浩特市,4,152500,111.95836319332828,43.648800184052014 +152502,锡林浩特市,4,152500,116.09361388473624,43.938333801360066 +152522,阿巴嘎旗,4,152500,114.95736709771691,44.028101587022626 +152523,苏尼特左旗,4,152500,113.67347993741899,43.865553657792 +152524,苏尼特右旗,4,152500,112.64856904547575,42.74736892246295 +152525,东乌珠穆沁旗,4,152500,116.97850435996324,45.51574330531203 +152526,西乌珠穆沁旗,4,152500,117.61637700895868,44.593802912006616 +152527,太仆寺旗,4,152500,115.29053531644618,41.88229174604251 +152528,镶黄旗,4,152500,113.85450538582315,42.237661285279046 +152529,正镶白旗,4,152500,115.03662171828462,42.29260542924877 +152530,正蓝旗,4,152500,115.99860388382902,42.24711884418806 +152531,多伦县,4,152500,116.49250878203628,42.20892086421072 +152571,乌拉盖管委会,4,152500,118.84516802834598,45.71697993140981 +152921,阿拉善左旗,4,152900,105.67259866528437,38.83909413743562 +152922,阿拉善右旗,4,152900,101.67346389593693,39.2222409698549 +152923,额济纳旗,4,152900,101.0624033405766,41.96029761181317 +152971,内蒙古阿拉善高新技术产业开发区,4,152900,105.73193210354063,38.85451828713345 +210102,和平区,4,210100,123.42664426615303,41.79523605290212 +210103,沈河区,4,210100,123.46546103537524,41.80227413880463 +210104,大东区,4,210100,123.47640473208111,41.811425174494424 +210105,皇姑区,4,210100,123.43162078884775,41.82604212027671 +210106,铁西区,4,210100,123.3834359507842,41.809037832216724 +210111,苏家屯区,4,210100,123.35043463177249,41.671253644959464 +210112,浑南区,4,210100,123.4559899308919,41.720915668888956 +210113,沈北新区,4,210100,123.59077483367827,41.91986419893953 +210114,于洪区,4,210100,123.3146330249945,41.79966825561503 +210115,辽中区,4,210100,122.77237835983205,41.523149081842455 +210123,康平县,4,210100,123.33751124938374,42.7499254957194 +210124,法库县,4,210100,123.41462107571583,42.50960654990291 +210181,新民市,4,210100,122.84252865405615,41.99151329160601 +210202,中山区,4,210200,121.65154739366945,38.92451111549568 +210203,西岗区,4,210200,121.61862512554262,38.92047268927287 +210204,沙河口区,4,210200,121.59450670056631,38.913544290955585 +210211,甘井子区,4,210200,121.53151895549547,38.95800216293212 +210212,旅顺口区,4,210200,121.26859688018821,38.85683222285901 +210213,金州区,4,210200,121.78943558267059,39.05643299166072 +210214,普兰店区,4,210200,121.94645983496748,39.398089145183164 +210224,长海县,4,210200,122.59462651636738,39.27827021716725 +210281,瓦房店市,4,210200,121.98563754334361,39.63274074738802 +210283,庄河市,4,210200,122.97449548262718,39.686956078878055 +210302,铁东区,4,210300,122.99739966804565,41.09633187050633 +210303,铁西区,4,210300,122.97549026614892,41.125475259583 +210304,立山区,4,210300,123.03548413861611,41.156116121101775 +210311,千山区,4,210300,122.9675742183339,41.08093860893513 +210321,台安县,4,210300,122.44255004098889,41.41859037109879 +210323,岫岩满族自治县,4,210300,123.28754677827435,40.295892396362035 +210381,海城市,4,210300,122.69156940124043,40.887633947096894 +210402,新抚区,4,210400,123.91958231813992,41.86780585859302 +210403,东洲区,4,210400,124.04554972353199,41.859190936633894 +210404,望花区,4,210400,123.79060415200058,41.85903036274879 +210411,顺城区,4,210400,123.95141404337762,41.889163788466874 +210421,抚顺县,4,210400,123.92159012078525,41.887037475382286 +210422,新宾满族自治县,4,210400,125.04635620406488,41.73996877507051 +210423,清原满族自治县,4,210400,124.9303602593252,42.10676099263425 +210502,平山区,4,210500,123.77461422409242,41.301604181773875 +210503,溪湖区,4,210500,123.77461054103982,41.33480293136358 +210504,明山区,4,210500,123.82347449806893,41.31493936887711 +210505,南芬区,4,210500,123.75146713686405,41.107095723220134 +210521,本溪满族自治县,4,210500,124.12758486914475,41.30790288135311 +210522,桓仁满族自治县,4,210500,125.36754435102144,41.27292530103041 +210602,元宝区,4,210600,124.40258403321981,40.14225146313862 +210603,振兴区,4,210600,124.32597752746494,40.0613050927599 +210604,振安区,4,210600,124.43438692285066,40.16469702566065 +210624,宽甸满族自治县,4,210600,124.79042662867784,40.737553200489806 +210681,东港市,4,210600,124.15961035888098,39.8677161872864 +210682,凤城市,4,210600,124.07242172438802,40.45918048245619 +210702,古塔区,4,210700,121.13458496929316,41.12290092589807 +210703,凌河区,4,210700,121.15759003442041,41.12069061447238 +210711,太和区,4,210700,121.11045324939532,41.11510930713197 +210726,黑山县,4,210700,122.13292578086227,41.65949725103619 +210727,义县,4,210700,121.24556854894828,41.53893886227117 +210781,凌海市,4,210700,121.36253879584407,41.16648762858835 +210782,北镇市,4,210700,121.78344729847997,41.59442809680251 +210802,站前区,4,210800,122.26543743172509,40.678764125936254 +210803,西市区,4,210800,122.2135823868394,40.67211092631112 +210804,鲅鱼圈区,4,210800,122.12757349697273,40.2323398507732 +210811,老边区,4,210800,122.38643918391912,40.686383619802896 +210881,盖州市,4,210800,122.35559128287593,40.40616745726758 +210882,大石桥市,4,210800,122.51537953139649,40.65080216481545 +210902,海州区,4,210900,121.66943571061184,42.02373478938535 +210903,新邱区,4,210900,121.79936338567522,42.09393451476494 +210904,太平区,4,210900,121.68538413680544,42.01696785414082 +210905,清河门区,4,210900,121.42247894964176,41.78931855100901 +210911,细河区,4,210900,121.68639230507928,42.031871245879636 +210921,阜新蒙古族自治县,4,210900,121.76357399585217,42.0713681538371 +210922,彰武县,4,210900,122.54544932020693,42.392706534363775 +211002,白塔区,4,211000,123.18115668384452,41.27604732000065 +211003,文圣区,4,211000,123.2380035226186,41.28999873572254 +211004,宏伟区,4,211000,123.20358018598459,41.223368108444966 +211005,弓长岭区,4,211000,123.42661543054616,41.15732704272181 +211011,太子河区,4,211000,123.18845658391027,41.259253903616404 +211021,辽阳县,4,211000,123.11242122079864,41.21167877180807 +211081,灯塔市,4,211000,123.34546215145255,41.432474125925786 +211102,双台子区,4,211100,122.04639299922216,41.20607161751199 +211103,兴隆台区,4,211100,122.0764985405919,41.16449943242538 +211104,大洼区,4,211100,122.08855478867187,41.00817878895967 +211122,盘山县,4,211100,122.00356035521759,41.24826368258211 +211202,银州区,4,211200,123.8483863963022,42.29257368144229 +211204,清河区,4,211200,124.16556298034286,42.552494793453334 +211221,铁岭县,4,211200,123.73537237670288,42.22922560804787 +211223,西丰县,4,211200,124.73361509331029,42.744014442436104 +211224,昌图县,4,211200,124.11750067115085,42.79217837184396 +211281,调兵山市,4,211200,123.57350868313209,42.473738012058256 +211282,开原市,4,211200,124.04456886374565,42.552079074778554 +211302,双塔区,4,211300,120.46048690273676,41.57177950085604 +211303,龙城区,4,211300,120.44356686930357,41.59846852304986 +211321,朝阳县,4,211300,120.39618969772403,41.50374544264061 +211322,建平县,4,211300,119.64938035776511,41.409455511027 +211324,喀喇沁左翼蒙古族自治县,4,211300,119.74741405501892,41.13368911982847 +211381,北票市,4,211300,120.77762773421811,41.80648256894959 +211382,凌源市,4,211300,119.4073580787919,41.25165129714849 +211402,连山区,4,211400,120.87648167423309,40.78089380844243 +211403,龙港区,4,211400,120.90062076023611,40.74105660124102 +211404,南票区,4,211400,120.75649312082375,41.11309759582292 +211421,绥中县,4,211400,120.35042453538213,40.33184347539701 +211422,建昌县,4,211400,119.84359526665007,40.83037995380867 +211481,兴城市,4,211400,120.76455846701454,40.616555664043666 +220102,南关区,4,220100,125.35660981703178,43.869873025193 +220103,宽城区,4,220100,125.33462450831948,43.94950223980449 +220104,朝阳区,4,220100,125.295401255854,43.84064147496199 +220105,二道区,4,220100,125.38046755374909,43.87127652427073 +220106,绿园区,4,220100,125.26244260635403,43.8868104039365 +220112,双阳区,4,220100,125.67144793216886,43.5310913091188 +220113,九台区,4,220100,125.84556442306521,44.1577918538605 +220122,农安县,4,220100,125.1914841066626,44.43890395126124 +220171,长春经济技术开发区,4,220100,125.3306020759069,43.82195350104314 +220172,长春净月高新技术产业开发区,4,220100,125.38298514477134,43.819820598443876 +220173,长春高新技术产业开发区,4,220100,125.26525331446418,43.7951600089171 +220174,长春汽车经济技术开发区,4,220100,125.19717127884626,43.833414131707165 +220182,榆树市,4,220100,126.53960936347069,44.84543972769254 +220183,德惠市,4,220100,125.73451517727733,44.52716106660816 +220184,公主岭市,4,220100,124.82944866070906,43.510832663153074 +220202,昌邑区,4,220200,126.58144866124232,43.88799247473632 +220203,龙潭区,4,220200,126.56854459242203,43.91634255363016 +220204,船营区,4,220200,126.54764973676829,43.83992740229002 +220211,丰满区,4,220200,126.5685704636207,43.8271515768356 +220221,永吉县,4,220200,126.50441572986186,43.67872067698947 +220271,吉林经济开发区,4,220200,126.47560698232631,43.99627811207065 +220272,吉林高新技术产业开发区,4,220200,126.60786099916889,43.79867813092839 +220273,吉林中国新加坡食品区,4,220200,125.99819973430147,43.731832341627886 +220281,蛟河市,4,220200,127.3514801867702,43.73000387050733 +220282,桦甸市,4,220200,126.75248423373108,42.977982779881444 +220283,舒兰市,4,220200,126.97137703226396,44.412270028323626 +220284,磐石市,4,220200,126.0666162988913,42.95181750011373 +220302,铁西区,4,220300,124.35246676034319,43.15257539180282 +220303,铁东区,4,220300,124.41648270590073,43.16799399318514 +220322,梨树县,4,220300,124.34240124710388,43.313345515552975 +220323,伊通满族自治县,4,220300,125.31148460753519,43.35110366682136 +220382,双辽市,4,220300,123.50943776127731,43.524527382171485 +220402,龙山区,4,220400,125.14345242968848,42.90763401213302 +220403,西安区,4,220400,125.15537330312809,42.933308420624584 +220421,东丰县,4,220400,125.5373779009073,42.68331077855281 +220422,东辽县,4,220400,124.99758944369195,42.931879101775785 +220502,东昌区,4,220500,125.9335945901599,41.70840538484 +220503,二道江区,4,220500,126.04959170269673,41.779966174493126 +220521,通化县,4,220500,125.76539191392739,41.68568223806826 +220523,辉南县,4,220500,126.05358125712766,42.690699881881976 +220524,柳河县,4,220500,125.75142398189165,42.29087121505593 +220581,梅河口市,4,220500,125.71760780995182,42.54488389028409 +220582,集安市,4,220500,126.19957737200077,41.131299724033404 +220602,浑江区,4,220600,126.42361952720847,41.950423728219754 +220605,江源区,4,220600,126.59739097895843,42.06293937208094 +220621,抚松县,4,220600,127.45537119527128,42.22733527255311 +220622,靖宇县,4,220600,126.81949899257262,42.3947657345783 +220623,长白朝鲜族自治县,4,220600,128.20758420219488,41.425895812593765 +220681,临江市,4,220600,126.92458151350212,41.817678643991684 +220702,宁江区,4,220700,124.823422548149,45.17803943866726 +220721,前郭尔罗斯蒙古族自治县,4,220700,124.83045556164775,45.12341609292575 +220722,长岭县,4,220700,123.9743741033988,44.28163828005157 +220723,乾安县,4,220700,124.04756380460357,45.008434321605144 +220771,吉林松原经济开发区,4,220700,124.80730344390841,45.12910425365103 +220781,扶余市,4,220700,126.05660621110196,44.99416842115065 +220802,洮北区,4,220800,122.85750977515681,45.62752468651366 +220821,镇赉县,4,220800,123.2065757556511,45.8531166353894 +220822,通榆县,4,220800,123.09452077673187,44.81896373588188 +220871,吉林白城经济开发区,4,220800,122.83430546586732,45.61417762714594 +220881,洮南市,4,220800,122.79446768260222,45.34113187256745 +220882,大安市,4,220800,124.29850428102031,45.51304514962824 +222401,延吉市,4,222400,129.52052013726063,42.91271700987995 +222402,图们市,4,222400,129.85038151374656,42.97428349907469 +222403,敦化市,4,222400,128.23861239315394,43.37829127451678 +222404,珲春市,4,222400,130.37261321858327,42.86851511519159 +222405,龙井市,4,222400,129.43263477701413,42.7715348683491 +222406,和龙市,4,222400,129.01738712621045,42.55232256843248 +222424,汪清县,4,222400,129.7776087962472,43.3184508338646 +222426,安图县,4,222400,128.90544846813714,43.117916954911934 +230102,道里区,4,230100,126.62343158836877,45.76184447881502 +230103,南岗区,4,230100,126.67563849952303,45.76586616375799 +230104,道外区,4,230100,126.65560404088663,45.7977762204344 +230108,平房区,4,230100,126.64354707416219,45.60386229555506 +230109,松北区,4,230100,126.51648256824997,45.80859256142944 +230110,香坊区,4,230100,126.6696243441337,45.71361964538922 +230111,呼兰区,4,230100,126.59439898309995,45.8952097808631 +230112,阿城区,4,230100,126.96435649551775,45.55427530435246 +230113,双城区,4,230100,126.31962313777296,45.38811152239434 +230123,依兰县,4,230100,129.57451969721257,46.331260289051535 +230124,方正县,4,230100,128.83563368133866,45.857758440062085 +230125,宾县,4,230100,127.47349701449961,45.752465386741754 +230126,巴彦县,4,230100,127.41054798639587,46.09128265781541 +230127,木兰县,4,230100,128.05035620452108,45.95687131944761 +230128,通河县,4,230100,128.7524162758437,45.99639259092071 +230129,延寿县,4,230100,128.33860582402286,45.457641195714054 +230183,尚志市,4,230100,128.0154882066594,45.215473941866705 +230184,五常市,4,230100,127.17352882965176,44.937842855773596 +230202,龙沙区,4,230200,123.96437622285154,47.32357697742935 +230203,建华区,4,230200,123.96135010108006,47.360554871046276 +230204,铁锋区,4,230200,123.98441571199879,47.34701886377169 +230205,昂昂溪区,4,230200,123.82940626912925,47.16133224362644 +230206,富拉尔基区,4,230200,123.6365098032401,47.21550408279093 +230207,碾子山区,4,230200,122.89436680107868,47.52323629813318 +230208,梅里斯达斡尔族区,4,230200,123.7595409174125,47.315549574077295 +230221,龙江县,4,230200,123.2115389834243,47.343605740150764 +230223,依安县,4,230200,125.31248216609961,47.89948365136766 +230224,泰来县,4,230200,123.42362630924546,46.39782928518008 +230225,甘南县,4,230200,123.51248588181808,47.92688406951045 +230227,富裕县,4,230200,124.48054247905756,47.780228063275445 +230229,克山县,4,230200,125.8813783269278,48.04317236073717 +230230,克东县,4,230200,126.25538674804284,48.048244160483 +230231,拜泉县,4,230200,126.10542147027297,47.60186730195864 +230281,讷河市,4,230200,124.88916782164422,48.472528044036935 +230302,鸡冠区,4,230300,130.98763160852113,45.309806344311816 +230303,恒山区,4,230300,130.91138523344475,45.21697188315374 +230304,滴道区,4,230300,130.85058046059333,45.35443361721627 +230305,梨树区,4,230300,130.7033960671907,45.09824178098074 +230306,城子河区,4,230300,131.01846864006785,45.3444351939177 +230307,麻山区,4,230300,130.48453641612977,45.217934996767426 +230321,鸡东县,4,230300,131.1305584829592,45.26618456082589 +230381,虎林市,4,230300,132.94346566318296,45.76894691288418 +230382,密山市,4,230300,131.85353110655427,45.53564080974782 +230402,向阳区,4,230400,130.30046804763998,47.34858088906713 +230403,工农区,4,230400,130.28161728617408,47.32443029945841 +230404,南山区,4,230400,130.293540315547,47.321245938809454 +230405,兴安区,4,230400,130.24554573859015,47.25871626948282 +230406,东山区,4,230400,130.32336109407026,47.34498713557338 +230407,兴山区,4,230400,130.30998909790975,47.364002475767066 +230421,萝北县,4,230400,130.83549503650306,47.58342219702872 +230422,绥滨县,4,230400,131.85948651276323,47.295265458073345 +230502,尖山区,4,230500,131.16534177061126,46.65258592381225 +230503,岭东区,4,230500,131.17154699558256,46.59901433202066 +230505,四方台区,4,230500,131.34565737800256,46.60201228508263 +230506,宝山区,4,230500,131.40737518857432,46.58359834024085 +230521,集贤县,4,230500,131.1474344994225,46.73451778855666 +230522,友谊县,4,230500,131.81459486269898,46.772973223021964 +230523,宝清县,4,230500,132.20359411633407,46.33265182357228 +230524,饶河县,4,230500,134.02046893233435,46.80418274416246 +230602,萨尔图区,4,230600,125.13351006442905,46.638936435554 +230603,龙凤区,4,230600,125.14047256094527,46.567678067125456 +230604,让胡路区,4,230600,124.8775988144728,46.65807845860904 +230605,红岗区,4,230600,124.89747741710322,46.404313108627896 +230606,大同区,4,230600,124.81937675979314,46.04558395131147 +230621,肇州县,4,230600,125.27536822480188,45.70510798687091 +230622,肇源县,4,230600,125.0845726260089,45.52415291420557 +230623,林甸县,4,230600,124.86965042765937,47.17723439524254 +230624,杜尔伯特蒙古族自治县,4,230600,124.44935879141454,46.86876775845202 +230671,大庆高新技术产业开发区,4,230600,125.15713199595014,46.58732742739897 +230717,伊美区,4,230700,128.91384276412384,47.73401777009156 +230718,乌翠区,4,230700,128.6764562805639,47.73279646635351 +230719,友好区,4,230700,128.84344327995083,47.84696631717601 +230722,嘉荫县,4,230700,130.41055547771902,48.894983469563904 +230723,汤旺县,4,230700,129.57744808334456,48.45869972002078 +230724,丰林县,4,230700,129.54024772505676,48.29613124411147 +230725,大箐山县,4,230700,129.02742523145056,47.03457195113671 +230726,南岔县,4,230700,129.2895717996127,47.1437499135947 +230751,金林区,4,230700,129.43561265010112,47.41871371228183 +230781,铁力市,4,230700,128.0383649039294,46.992948620259035 +230803,向阳区,4,230800,130.37261186145227,46.81351181678074 +230804,前进区,4,230800,130.3816482758994,46.8196265084816 +230805,东风区,4,230800,130.41056077772154,46.828385151991114 +230811,郊区,4,230800,130.3333780988121,46.81616811282895 +230822,桦南县,4,230800,130.56038502152637,46.245077476879636 +230826,桦川县,4,230800,130.72554944886406,47.028816852925594 +230828,汤原县,4,230800,129.91164504154594,46.73532672046088 +230881,同江市,4,230800,132.51750949205328,47.64798067666648 +230882,富锦市,4,230800,132.04453879527813,47.25593257184771 +230883,抚远市,4,230800,134.31448962575448,48.37094469627278 +230902,新兴区,4,230900,130.93837086994796,45.8223103285433 +230903,桃山区,4,230900,131.02644424553824,45.77179991569574 +230904,茄子河区,4,230900,131.0744805937013,45.791238180151915 +230921,勃利县,4,230900,130.59853255314385,45.76096431316663 +231002,东安区,4,231000,129.63347765344335,44.58746037757089 +231003,阳明区,4,231000,129.64252736281196,44.60177502651452 +231004,爱民区,4,231000,129.59836369953325,44.60235033944156 +231005,西安区,4,231000,129.62241286515473,44.583861081841675 +231025,林口县,4,231000,130.28874767599012,45.285460406594 +231071,牡丹江经济技术开发区,4,231000,129.5676521612665,44.59490766807041 +231081,绥芬河市,4,231000,131.15739222566847,44.41815437238761 +231083,海林市,4,231000,129.38742683358007,44.599871973195235 +231084,宁安市,4,231000,129.4893679801412,44.34698357750037 +231085,穆棱市,4,231000,130.53055850351956,44.92478458958822 +231086,东宁市,4,231000,131.1315435744494,44.096101486248074 +231102,爱辉区,4,231100,127.50663227086308,50.25770961645177 +231123,逊克县,4,231100,128.48558459529426,49.569491435700485 +231124,孙吴县,4,231100,127.3423877083676,49.43145060685943 +231181,北安市,4,231100,126.49737974225795,48.247419532218935 +231182,五大连池市,4,231100,126.21155518831091,48.52260955176269 +231183,嫩江市,4,231100,125.22763469542623,49.19132018475566 +231202,北林区,4,231200,126.99144894054609,46.643492672111265 +231221,望奎县,4,231200,126.4923848941308,46.83916760174942 +231222,兰西县,4,231200,126.29461952254698,46.258095172244815 +231223,青冈县,4,231200,126.10048887471764,46.710684983049774 +231224,庆安县,4,231200,127.51461218819992,46.885744465244535 +231225,明水县,4,231200,125.9124826941943,47.179483374940986 +231226,绥棱县,4,231200,127.12051514062621,47.24251579385352 +231281,安达市,4,231200,125.31412471772461,46.45796584496876 +231282,肇东市,4,231200,125.96853740717,46.05693828930348 +231283,海伦市,4,231200,126.9365085755555,47.456903841096434 +232701,漠河市,4,232700,122.54542083420051,52.97830367837742 +232721,呼玛县,4,232700,126.65964991907305,51.730946747239756 +232722,塔河县,4,232700,124.71651251448932,52.34030508111336 +232761,加格达奇区,4,232700,124.14621481740444,50.414872526010036 +232762,松岭区,4,232700,124.30733758859164,50.800887045269604 +232763,新林区,4,232700,124.40689328487163,51.67938320752853 +232764,呼中区,4,232700,123.59270016216261,52.039874278585124 +310101,黄浦区,4,310100,121.49158559252436,31.23724715206362 +310104,徐汇区,4,310100,121.44339635276381,31.194556772822725 +310105,长宁区,4,310100,121.43045437545099,31.226847968225428 +310106,静安区,4,310100,121.45343177276851,31.233844930401652 +310107,普陀区,4,310100,121.40356934916508,31.254973368279597 +310109,虹口区,4,310100,121.51158645453457,31.269746698931357 +310110,杨浦区,4,310100,121.53251993732523,31.265524144657057 +310112,闵行区,4,310100,121.38861193361008,31.118842580087428 +310113,宝山区,4,310100,121.4965630135246,31.41027947347614 +310114,嘉定区,4,310100,121.27259505835202,31.3801553396772 +310115,浦东新区,4,310100,121.55045460683195,31.227348292436346 +310116,金山区,4,310100,121.34848004512126,30.747852376570318 +310117,松江区,4,310100,121.23447959624146,31.037135176464492 +310118,青浦区,4,310100,121.13055310467274,31.155454317980737 +310120,奉贤区,4,310100,121.48050373643107,30.923720110285377 +310151,崇明区,4,310100,121.40355686271847,31.62856998440405 +320102,玄武区,4,320100,118.80441263574761,32.05475668294885 +320104,秦淮区,4,320100,118.80040736097028,32.04513860640491 +320105,建邺区,4,320100,118.73856944695221,32.009369695446466 +320106,鼓楼区,4,320100,118.7765189920351,32.07240516055662 +320111,浦口区,4,320100,118.63460405875492,32.06467927792303 +320113,栖霞区,4,320100,118.91542298490691,32.10260020782976 +320114,雨花台区,4,320100,118.78544536405718,31.997858805465647 +320115,江宁区,4,320100,118.84656705909214,31.958526869176943 +320116,六合区,4,320100,118.82747132971379,32.328666041019886 +320117,溧水区,4,320100,119.0344039090257,31.65728369631429 +320118,高淳区,4,320100,118.89849765147122,31.33363912390532 +320205,锡山区,4,320200,120.36342571102806,31.594761632814496 +320206,惠山区,4,320200,120.30459559334903,31.686741337274505 +320211,滨湖区,4,320200,120.29154752615551,31.534639699974193 +320213,梁溪区,4,320200,120.30959951436182,31.571645024134835 +320214,新吴区,4,320200,120.37094012644957,31.497166254894108 +320281,江阴市,4,320200,120.29156800752115,31.926044909769043 +320282,宜兴市,4,320200,119.83160603216115,31.342956624267874 +320302,鼓楼区,4,320300,117.19257874732773,34.29376008422141 +320303,云龙区,4,320300,117.25842391239526,34.25908669103099 +320305,贾汪区,4,320300,117.46943039702548,34.44162040061657 +320311,泉山区,4,320300,117.20059046467956,34.24994287160608 +320312,铜山区,4,320300,117.17556960198795,34.1861004498853 +320321,丰县,4,320300,116.66473730424232,34.70217569492315 +320322,沛县,4,320300,116.94258562390337,34.76515195541547 +320324,睢宁县,4,320300,117.94743277245068,33.91878941781798 +320371,徐州经济技术开发区,4,320300,117.29057543439453,34.21266655011306 +320381,新沂市,4,320300,118.36153652101795,34.37561095463685 +320382,邳州市,4,320300,118.0191233013022,34.34464551932591 +320402,天宁区,4,320400,119.98046316025298,31.785570271252627 +320404,钟楼区,4,320400,119.90846271600053,31.807646657753722 +320411,新北区,4,320400,119.96745722358787,31.869392242078284 +320412,武进区,4,320400,119.94861167229404,31.70644661174212 +320413,金坛区,4,320400,119.6045709026553,31.728893030010145 +320481,溧阳市,4,320400,119.49150603896412,31.42210229215941 +320505,虎丘区,4,320500,120.57847178570609,31.301932876554098 +320506,吴中区,4,320500,120.63850751921002,31.268261445846264 +320507,相城区,4,320500,120.6485659358358,31.37468992149277 +320508,姑苏区,4,320500,120.62345497310153,31.341831300992645 +320509,吴江区,4,320500,120.65156717454464,31.144644190472693 +320571,苏州工业园区,4,320500,120.7298897133152,31.3304431437088 +320581,常熟市,4,320500,120.75949588665195,31.65953827674108 +320582,张家港市,4,320500,120.56155363871446,31.88114053634028 +320583,昆山市,4,320500,120.98745249794995,31.390863425081864 +320585,太仓市,4,320500,121.13559529350024,31.464599352977785 +320612,通州区,4,320600,121.08142549497644,32.07035573967588 +320613,崇川区,4,320600,120.86342022228744,32.01592302963055 +320614,海门区,4,320600,121.18843649817478,31.87361172603022 +320623,如东县,4,320600,121.19243791023843,32.33587288615511 +320671,南通经济技术开发区,4,320600,120.90159173866185,31.98654943120089 +320681,启东市,4,320600,121.66347374677267,31.81423284964318 +320682,如皋市,4,320600,120.57946558109177,32.37785148610902 +320685,海安市,4,320600,120.47443309577918,32.53919574424043 +320703,连云区,4,320700,119.34658780087244,34.76533714403042 +320706,海州区,4,320700,119.16940808818707,34.5774561185969 +320707,赣榆区,4,320700,119.17943461496724,34.84768246084617 +320722,东海县,4,320700,118.75956509248417,34.54791862736427 +320723,灌云县,4,320700,119.24653354503504,34.28861606025826 +320724,灌南县,4,320700,119.32253818609821,34.09259130777028 +320771,连云港经济技术开发区,4,320700,119.15923334099774,34.59867053182873 +320772,连云港高新技术产业开发区,4,320700,119.2131791919579,34.54980052304405 +320803,淮安区,4,320800,119.14746320322271,33.508999838207515 +320804,淮阴区,4,320800,119.0414217411613,33.63815042476756 +320812,清江浦区,4,320800,119.03241362333779,33.55856224006592 +320813,洪泽区,4,320800,118.87958364929754,33.299624681470235 +320826,涟水县,4,320800,119.26644843920793,33.78707870790034 +320830,盱眙县,4,320800,118.55144127023549,33.018254741659845 +320831,金湖县,4,320800,119.02646908662551,33.03128382675661 +320871,淮安经济技术开发区,4,320800,119.11976413248364,33.55666778025387 +320902,亭湖区,4,320900,120.20457816803754,33.39589348690703 +320903,盐都区,4,320900,120.16050325734324,33.34402031559912 +320904,大丰区,4,320900,120.50743881648788,33.20475984971028 +320921,响水县,4,320900,119.58460112201573,34.20474300276 +320922,滨海县,4,320900,119.82762105908833,33.99564654746655 +320923,阜宁县,4,320900,119.80958074885365,33.765078727087015 +320924,射阳县,4,320900,120.33281720840326,33.77229082446471 +320925,建湖县,4,320900,119.80553127744521,33.469832978385014 +320971,盐城经济技术开发区,4,320900,120.167544265761,33.355100917626196 +320981,东台市,4,320900,120.32653706475246,32.872716312488244 +321002,广陵区,4,321000,119.43850484607827,32.40066115971978 +321003,邗江区,4,321000,119.40438513670664,32.382751355260424 +321012,江都区,4,321000,119.5766029690771,32.44029450624287 +321023,宝应县,4,321000,119.36555570137673,33.24720546114832 +321071,扬州经济技术开发区,4,321000,119.41941890822997,32.40067693609037 +321081,仪征市,4,321000,119.19146705795117,32.27809048316069 +321084,高邮市,4,321000,119.46561561653884,32.787147020528316 +321102,京口区,4,321100,119.47560369584319,32.20378548352827 +321111,润州区,4,321100,119.4184404738685,32.2014948431523 +321112,丹徒区,4,321100,119.44050079109088,32.137920395650404 +321171,镇江新区,4,321100,119.52265397404766,32.169142010412685 +321181,丹阳市,4,321100,119.61250060471407,32.01592027416992 +321182,扬中市,4,321100,119.80351961208618,32.24296719412154 +321183,句容市,4,321100,119.17543320290359,31.950923490521372 +321202,海陵区,4,321200,119.92552495119595,32.49673154922654 +321203,高港区,4,321200,119.88842098108961,32.32486247444036 +321204,姜堰区,4,321200,120.13339832586847,32.515233674758576 +321271,泰州医药高新技术产业开发区,4,321200,119.92251517858477,32.399039227268936 +321281,兴化市,4,321200,119.85751406137442,32.917824213889254 +321282,靖江市,4,321200,120.28353203592053,31.988170075210594 +321283,泰兴市,4,321200,120.05859939046078,32.17747402371212 +321302,宿城区,4,321300,118.24956705106565,33.96867763073053 +321311,宿豫区,4,321300,118.33640094471272,33.95480439632684 +321322,沭阳县,4,321300,118.81041906570952,34.11745420947911 +321323,泗阳县,4,321300,118.70946596537884,33.728328313046696 +321324,泗洪县,4,321300,118.22241594668768,33.46573259459488 +321371,宿迁经济技术开发区,4,321300,118.28157403570837,33.96774971569008 +330102,上城区,4,330100,120.20428990179938,30.232618187567876 +330105,拱墅区,4,330100,120.14803289042315,30.325204543491335 +330106,西湖区,4,330100,120.13643801205312,30.265916325588922 +330108,滨江区,4,330100,120.21847118139375,30.214332950144062 +330109,萧山区,4,330100,120.2704705839749,30.18751122221409 +330110,余杭区,4,330100,119.98588694926113,30.280405065311427 +330111,富阳区,4,330100,119.96655568417805,30.05472296730377 +330112,临安区,4,330100,119.73151737122271,30.239805598053564 +330113,临平区,4,330100,120.30659216717552,30.424739268745142 +330114,钱塘区,4,330100,120.50047946404098,30.32932321778379 +330122,桐庐县,4,330100,119.69759877582668,29.79858479014279 +330127,淳安县,4,330100,119.04839230601344,29.61495036603392 +330182,建德市,4,330100,119.28739807500521,29.48115402696838 +330203,海曙区,4,330200,121.55740307253974,29.86572070836559 +330205,江北区,4,330200,121.56042128922172,29.89294837947611 +330206,北仑区,4,330200,121.85057621461253,29.90465935993949 +330211,镇海区,4,330200,121.6030464246394,29.970937896482987 +330212,鄞州区,4,330200,121.55542706991011,29.824206349995904 +330213,奉化区,4,330200,121.41352776719268,29.661146412779814 +330225,象山县,4,330200,121.87556392982258,29.482270653805347 +330226,宁海县,4,330200,121.43643177294247,29.294317441105566 +330281,余姚市,4,330200,121.16058507482123,30.042734639570824 +330282,慈溪市,4,330200,121.27259613631863,30.175256610720446 +330302,鹿城区,4,330300,120.6615864979342,28.020351607763462 +330303,龙湾区,4,330300,120.81946755397436,27.938652244915872 +330304,瓯海区,4,330300,120.62144724335346,27.972857351642503 +330305,洞头区,4,330300,121.16354856758629,27.841870324586573 +330324,永嘉县,4,330300,120.68852407508358,28.15645033220569 +330326,平阳县,4,330300,120.57251537444397,27.667724401092695 +330327,苍南县,4,330300,120.4335951222883,27.523066788446513 +330328,文成县,4,330300,120.09748845651636,27.79321715229029 +330329,泰顺县,4,330300,119.72353725758818,27.562170559597206 +330371,温州经济技术开发区,4,330300,120.70647689035565,28.00108540447221 +330381,瑞安市,4,330300,120.66158218606775,27.783950736231652 +330382,乐清市,4,330300,120.9925018561657,28.118179995228274 +330383,龙港市,4,330300,120.55951671405778,27.58413250136789 +330402,南湖区,4,330400,120.7896100517546,30.751546813315446 +330411,秀洲区,4,330400,120.71543705562627,30.770207214173517 +330421,嘉善县,4,330400,120.93251060584033,30.83712219382042 +330424,海盐县,4,330400,120.95244526273444,30.531872894537752 +330481,海宁市,4,330400,120.68656506738283,30.51792376977565 +330482,平湖市,4,330400,121.02257525525401,30.682240998057836 +330483,桐乡市,4,330400,120.57154315530762,30.63631118771037 +330502,吴兴区,4,330500,120.19160466020135,30.86295545498643 +330503,南浔区,4,330500,120.42460139422415,30.855242982242903 +330521,德清县,4,330500,119.98346466845346,30.548628239138925 +330522,长兴县,4,330500,119.91749832197264,31.0325793268347 +330523,安吉县,4,330500,119.68656337875633,30.644424794113846 +330602,越城区,4,330600,120.58843667180591,29.99530996279798 +330603,柯桥区,4,330600,120.50195187660239,30.089303044573988 +330604,上虞区,4,330600,120.87450989363869,30.038242967062466 +330624,新昌县,4,330600,120.91056965639144,29.505541075309846 +330681,诸暨市,4,330600,120.25340833196779,29.714934649194955 +330683,嵊州市,4,330600,120.83743725739004,29.567326991294273 +330702,婺城区,4,330700,119.57859260936237,29.09177543818595 +330703,金东区,4,330700,119.69958241405315,29.104765016117913 +330723,武义县,4,330700,119.82256555866991,28.898243786650067 +330726,浦江县,4,330700,119.89843608269538,29.458692851854586 +330727,磐安县,4,330700,120.45651305177348,29.060103175107464 +330781,兰溪市,4,330700,119.4665987055372,29.214044345079238 +330782,义乌市,4,330700,120.08158099305928,29.31114987541007 +330783,东阳市,4,330700,120.2484219279141,29.295861065150863 +330784,永康市,4,330700,120.0545507107813,28.894203967254516 +330802,柯城区,4,330800,118.87758391504455,28.97420365112754 +330803,衢江区,4,330800,118.96553907360011,28.98623790796884 +330822,常山县,4,330800,118.51755663117751,28.906997949113464 +330824,开化县,4,330800,118.42145932131277,29.143187521186665 +330825,龙游县,4,330800,119.17841825565665,29.034486553294915 +330881,江山市,4,330800,118.63358329792732,28.74286848011839 +330902,定海区,4,330900,122.11360080391776,30.025462378363247 +330903,普陀区,4,330900,122.33154416585897,29.97683569653626 +330921,岱山县,4,330900,122.23260481448817,30.269655894034567 +330922,嵊泗县,4,330900,122.45758776505647,30.73127394902446 +331002,椒江区,4,331000,121.4494079756909,28.67925822490251 +331003,黄岩区,4,331000,121.2685660511622,28.655333607550652 +331004,路桥区,4,331000,121.34433093445972,28.584387739790962 +331022,三门县,4,331000,121.40255379759475,29.110355206288737 +331023,天台县,4,331000,121.01355337629343,29.149514378149117 +331024,仙居县,4,331000,120.73543520574904,28.85322569325804 +331081,温岭市,4,331000,121.39258889457587,28.377655489850408 +331082,临海市,4,331000,121.15158529413057,28.8640493290829 +331083,玉环市,4,331000,121.23851297084417,28.14186298682908 +331102,莲都区,4,331100,119.9195191333465,28.45174513504599 +331121,青田县,4,331100,120.29657334899679,28.145487556330146 +331122,缙云县,4,331100,120.0974783056641,28.665214747164 +331123,遂昌县,4,331100,119.28243538621696,28.598454676709746 +331124,松阳县,4,331100,119.48854377015539,28.45505640427278 +331125,云和县,4,331100,119.57959736407496,28.121469507453906 +331126,庆元县,4,331100,119.06948685497508,27.625431778353544 +331127,景宁畲族自治县,4,331100,119.64243033108566,27.979553966950995 +331181,龙泉市,4,331100,119.14844476520678,28.080508725251303 +340102,瑶海区,4,340100,117.3155870445394,31.86378694165692 +340103,庐阳区,4,340100,117.27145913381999,31.884886695554332 +340104,蜀山区,4,340100,117.26646078230138,31.857378217104248 +340111,包河区,4,340100,117.316576258567,31.799293467782277 +340121,长丰县,4,340100,117.17356009256213,32.483722623763164 +340122,肥东县,4,340100,117.47540062527533,31.89389035448661 +340123,肥西县,4,340100,117.16455781372443,31.712962132716886 +340124,庐江县,4,340100,117.29357730191721,31.261327637478026 +340171,合肥高新技术产业开发区,4,340100,117.21254879745895,31.821431972580424 +340172,合肥经济技术开发区,4,340100,117.23344266497664,31.826577833686887 +340173,合肥新站高新技术产业开发区,4,340100,117.38391027518675,31.946315551121675 +340181,巢湖市,4,340100,117.89557620044565,31.629002428816317 +340202,镜湖区,4,340200,118.39260630352213,31.345866595568836 +340207,鸠江区,4,340200,118.39758848554156,31.37580451951749 +340209,弋江区,4,340200,118.37957970583027,31.317566272497334 +340210,湾沚区,4,340200,118.58244251202923,31.141239223464176 +340212,繁昌区,4,340200,118.20542431830533,31.107958593586286 +340223,南陵县,4,340200,118.34041816695333,30.920260298683342 +340271,芜湖经济技术开发区,4,340200,118.43943137653523,31.358536655799266 +340272,安徽芜湖三山经济开发区,4,340200,118.24351274142005,31.232719449012286 +340281,无为市,4,340200,117.90857854388872,31.308844155979028 +340302,龙子湖区,4,340300,117.39951276392846,32.94864426292913 +340303,蚌山区,4,340300,117.37944120527462,32.92337877039503 +340304,禹会区,4,340300,117.3484523600969,32.935309988858336 +340311,淮上区,4,340300,117.36638271773715,32.97054701188452 +340321,怀远县,4,340300,117.21150631391461,32.97600372662439 +340322,五河县,4,340300,117.88756088987175,33.13270946286574 +340323,固镇县,4,340300,117.32354764830771,33.323274297744135 +340371,蚌埠市高新技术开发区,4,340300,117.39551332813694,32.921523704350825 +340372,蚌埠市经济开发区,4,340300,117.39551332813694,32.921523704350825 +340402,大通区,4,340400,117.05958317928668,32.637269959538344 +340403,田家庵区,4,340400,117.02344533675632,32.653323007095956 +340404,谢家集区,4,340400,116.8654388772148,32.60625458819586 +340405,八公山区,4,340400,116.84056434849077,32.637137318436714 +340406,潘集区,4,340400,116.84158096083641,32.77795549110771 +340421,凤台县,4,340400,116.71757320891433,32.715103905085066 +340422,寿县,4,340400,116.80556277259998,32.56154615120071 +340503,花山区,4,340500,118.49960562874881,31.725472572000722 +340504,雨山区,4,340500,118.50559705700871,31.687745482903562 +340506,博望区,4,340500,118.8247752453867,31.55751002841838 +340521,当涂县,4,340500,118.50460469891183,31.576649154711316 +340522,含山县,4,340500,118.10746203633957,31.74086220873552 +340523,和县,4,340500,118.35951254887343,31.748243815854266 +340602,杜集区,4,340600,116.83461226601221,33.99728543639093 +340603,相山区,4,340600,116.80052112275578,33.96582716177039 +340604,烈山区,4,340600,116.81959906568504,33.90157406183185 +340621,濉溪县,4,340600,116.7723894280831,33.92162919482287 +340705,铜官区,4,340700,117.8626132390792,30.942478976022816 +340706,义安区,4,340700,117.94404104033666,30.956809322839803 +340711,郊区,4,340700,117.77446871769308,30.82743389804557 +340722,枞阳县,4,340700,117.25641197754456,30.711926985192772 +340802,迎江区,4,340800,117.0975144887677,30.517523291407603 +340803,大观区,4,340800,117.04053820416964,30.518231924650795 +340811,宜秀区,4,340800,116.9934411242481,30.619675877795817 +340822,怀宁县,4,340800,116.83659258050895,30.739399674606553 +340825,太湖县,4,340800,116.31547630162399,30.460113290447975 +340826,宿松县,4,340800,116.1355236994904,30.159786861375334 +340827,望江县,4,340800,116.71325900687212,30.1339222330446 +340828,岳西县,4,340800,116.36655539021015,30.855227714002314 +340871,安徽安庆经济开发区,4,340800,117.17152911363462,30.545283950841945 +340881,桐城市,4,340800,116.94365406847695,31.041099454452777 +340882,潜山市,4,340800,116.58761103891939,30.636755682399183 +341002,屯溪区,4,341000,118.32141818076884,29.7021439085461 +341003,黄山区,4,341000,118.14760982483591,30.27865098018807 +341004,徽州区,4,341000,118.34343582847224,29.834221385317097 +341021,歙县,4,341000,118.42146012978772,29.866287675757313 +341022,休宁县,4,341000,118.19992137244842,29.790843839009916 +341023,黟县,4,341000,117.94447724144334,29.93104733070446 +341024,祁门县,4,341000,117.72339257753917,29.860343948080427 +341102,琅琊区,4,341100,118.31244134015057,32.30086749259927 +341103,南谯区,4,341100,118.42348205203612,32.20613189926425 +341122,来安县,4,341100,118.44241249320064,32.458449762426696 +341124,全椒县,4,341100,118.28058428269748,32.091939797603374 +341125,定远县,4,341100,117.70447068625293,32.53704661348729 +341126,凤阳县,4,341100,117.5385853687445,32.88097672525767 +341171,中新苏滁高新技术产业开发区,4,341100,118.39167026918072,32.28363554928384 +341172,滁州经济技术开发区,4,341100,118.33940613596579,32.26127087204081 +341181,天长市,4,341100,119.01138527948528,32.67341003277047 +341182,明光市,4,341100,117.99550981385306,32.78302282341776 +341202,颍州区,4,341200,115.81341119616408,32.88962541654979 +341203,颍东区,4,341200,115.86361668264179,32.9173622401719 +341204,颍泉区,4,341200,115.81542555643966,32.931313576024976 +341221,临泉县,4,341200,115.26761550051185,33.04595952836284 +341222,太和县,4,341200,115.62861546970402,33.16595985009563 +341225,阜南县,4,341200,115.60254592516004,32.66409738512507 +341226,颍上县,4,341200,116.26347689904284,32.659028468804394 +341271,阜阳合肥现代产业园区,4,341200,115.90409298146314,32.81971454805982 +341272,阜阳经济技术开发区,4,341200,115.82043612491321,32.89606099485221 +341282,界首市,4,341200,115.38060984722048,33.26277523623148 +341302,埇桥区,4,341300,116.98348044326181,33.646130650445464 +341321,砀山县,4,341300,116.3725240015101,34.44842817139671 +341322,萧县,4,341300,116.94323923099243,34.226833736436404 +341323,灵璧县,4,341300,117.56455699798788,33.547892231948374 +341324,泗县,4,341300,117.9165899917489,33.48869463013435 +341371,宿州马鞍山现代产业园区,4,341300,117.93414719328032,33.474639800332106 +341372,宿州经济技术开发区,4,341300,116.97054394561262,33.65209532645213 +341502,金安区,4,341500,116.54543837997299,31.756287719901362 +341503,裕安区,4,341500,116.4865497826053,31.743625870830318 +341504,叶集区,4,341500,115.94747592742311,31.835263142250263 +341522,霍邱县,4,341500,116.28439133775672,32.3593435909225 +341523,舒城县,4,341500,116.95560171142074,31.467692010555787 +341524,金寨县,4,341500,115.94044120714393,31.73346173438129 +341525,霍山县,4,341500,116.35428238101063,31.41558470831777 +341602,谯城区,4,341600,115.78547191853164,33.882663087443404 +341621,涡阳县,4,341600,116.22160903515599,33.4985668350044 +341622,蒙城县,4,341600,116.57158940082672,33.27165823967443 +341623,利辛县,4,341600,116.21559991027756,33.15038605541897 +341702,贵池区,4,341700,117.57449037048667,30.693857943819243 +341721,东至县,4,341700,117.03448128943805,30.116534528265298 +341722,石台县,4,341700,117.49239440959089,30.216530337189035 +341723,青阳县,4,341700,117.85343129913953,30.645634346235052 +341802,宣州区,4,341800,118.76254944304942,30.952158157984414 +341821,郎溪县,4,341800,119.1907390711659,31.14937463882846 +341823,泾县,4,341800,118.42643469241686,30.694672488541514 +341824,绩溪县,4,341800,118.58544384056862,30.073292199532997 +341825,旌德县,4,341800,118.54646735262673,30.292481093722333 +341871,宣城市经济开发区,4,341800,118.76553424276743,30.94660154529291 +341881,宁国市,4,341800,118.98960981494011,30.639352229689443 +341882,广德市,4,341800,119.42747581034895,30.883667102643013 +350102,鼓楼区,4,350100,119.31049162321753,26.08811403755549 +350103,台江区,4,350100,119.32052821101611,26.05852815064472 +350104,仓山区,4,350100,119.28043216493037,26.05284169192682 +350105,马尾区,4,350100,119.44551915827756,26.004533771062754 +350111,晋安区,4,350100,119.334579415968,26.08721390443357 +350112,长乐区,4,350100,119.60065292657747,25.894000583371668 +350121,闽侯县,4,350100,119.13848201812112,26.156035214577336 +350122,连江县,4,350100,119.54647881620511,26.203583291029112 +350123,罗源县,4,350100,119.55648045991936,26.495495660323886 +350124,闽清县,4,350100,118.86957650956182,26.226847540201835 +350125,永泰县,4,350100,118.93843072857337,25.872787263195903 +350128,平潭县,4,350100,119.79650131413707,25.504700273944916 +350181,福清市,4,350100,119.39046524748903,25.72634329903456 +350203,思明区,4,350200,118.08840797224036,24.45194839567105 +350205,海沧区,4,350200,118.03956171184593,24.49032581859842 +350206,湖里区,4,350200,118.15358812171732,24.517573138111896 +350211,集美区,4,350200,118.10343491663684,24.582019062249607 +350212,同安区,4,350200,118.15856347661324,24.729113975346568 +350213,翔安区,4,350200,118.25457589660734,24.624216383592774 +350302,城厢区,4,350300,119.00153633130627,25.424343792481636 +350303,涵江区,4,350300,119.12256736821995,25.464464388124497 +350304,荔城区,4,350300,119.01948169064262,25.43975447880629 +350305,秀屿区,4,350300,119.1115713003065,25.32365439756104 +350322,仙游县,4,350300,118.69845425064784,25.36829149810406 +350404,三元区,4,350400,117.65255022877358,26.277335878354766 +350405,沙县区,4,350400,117.79856107580882,26.40281344434632 +350421,明溪县,4,350400,117.20851763567705,26.361853685276866 +350423,清流县,4,350400,116.82359318579535,26.183357353210287 +350424,宁化县,4,350400,116.66042551200016,26.267956490540477 +350425,大田县,4,350400,117.85343999668406,25.698932641878844 +350426,尤溪县,4,350400,118.19743971364737,26.176218039460192 +350428,将乐县,4,350400,117.47740904083985,26.735209519833294 +350429,泰宁县,4,350400,117.18259586239803,26.90566003228466 +350430,建宁县,4,350400,116.85250622659105,26.83682465534918 +350481,永安市,4,350400,117.37144258732353,25.948143989823954 +350502,鲤城区,4,350500,118.59348105353358,24.913354167053917 +350503,丰泽区,4,350500,118.6195801523202,24.894969993261856 +350504,洛江区,4,350500,118.67741629493332,24.946213653759614 +350505,泉港区,4,350500,118.92243298541256,25.139650393953733 +350521,惠安县,4,350500,118.80341550029883,25.03694981503913 +350524,安溪县,4,350500,118.19242537229232,25.06175955338205 +350525,永春县,4,350500,118.30048613527391,25.327974202083116 +350526,德化县,4,350500,118.247550069555,25.49730859417917 +350527,金门县,4,350500,118.33041515960107,24.440444541055168 +350581,石狮市,4,350500,118.65451902647484,24.737665160882703 +350582,晋江市,4,350500,118.55843052000408,24.787824575144548 +350583,南安市,4,350500,118.39257197205464,24.966362350467605 +350602,芗城区,4,350600,117.66058952410192,24.516268416111405 +350603,龙文区,4,350600,117.71645469459625,24.50950968094453 +350604,龙海区,4,350600,117.82445086941169,24.452939738546615 +350605,长泰区,4,350600,117.76555257036392,24.631243628383107 +350622,云霄县,4,350600,117.34644831448325,23.964072828247573 +350623,漳浦县,4,350600,117.62044335256876,24.123461614811962 +350624,诏安县,4,350600,117.18255858271938,23.717053963784434 +350626,东山县,4,350600,117.43656030456756,23.706894688691293 +350627,南靖县,4,350600,117.36344641065965,24.520851732069875 +350628,平和县,4,350600,117.32255159131472,24.368365040125912 +350629,华安县,4,350600,117.54058560970802,25.010067731399424 +350702,延平区,4,350700,118.18845055007307,26.643807791057217 +350703,建阳区,4,350700,118.12752522464272,27.337502466187814 +350721,顺昌县,4,350700,117.81651928091397,26.799104367214422 +350722,浦城县,4,350700,118.54743912327928,27.923390046145474 +350723,光泽县,4,350700,117.34048158962685,27.547272859205247 +350724,松溪县,4,350700,118.79145438277632,27.532554907166524 +350725,政和县,4,350700,118.86358723723711,27.37174919823424 +350781,邵武市,4,350700,117.49941950209916,27.346469966260766 +350782,武夷山市,4,350700,118.04157715008745,27.762553910259268 +350783,建瓯市,4,350700,118.31146073368568,27.028955089428838 +350802,新罗区,4,350800,117.04354293051858,25.10407762963451 +350803,永定区,4,350800,116.73850038791583,24.73010753217897 +350821,长汀县,4,350800,116.36356796987941,25.83918461828047 +350823,上杭县,4,350800,116.42644288775742,25.055570401525458 +350824,武平县,4,350800,116.10758916743498,25.100855173343017 +350825,连城县,4,350800,116.76044617117844,25.71633738185191 +350881,漳平市,4,350800,117.426556325259,25.295743499251625 +350902,蕉城区,4,350900,119.53344242698753,26.666738555955426 +350921,霞浦县,4,350900,120.01142710563632,26.891348873766713 +350922,古田县,4,350900,118.75257823557276,26.583261752072914 +350923,屏南县,4,350900,118.99259621521281,26.914264918059377 +350924,寿宁县,4,350900,119.51142504877579,27.46664965996927 +350925,周宁县,4,350900,119.3455671296402,27.11023928044784 +350926,柘荣县,4,350900,119.9074566869625,27.239961876352396 +350981,福安市,4,350900,119.65440636047963,27.094323508059915 +350982,福鼎市,4,350900,120.22345190932259,27.33052497252825 +360102,东湖区,4,360100,115.9054660260597,28.691259179775223 +360103,西湖区,4,360100,115.88353569365187,28.661976709900657 +360104,青云谱区,4,360100,115.93141618579283,28.62723573648408 +360111,青山湖区,4,360100,115.96855240505471,28.68759600617345 +360112,新建区,4,360100,115.82145092530017,28.698748625155122 +360113,红谷滩区,4,360100,115.864845639048,28.70407384192211 +360121,南昌县,4,360100,115.95046017276752,28.551604186108275 +360123,安义县,4,360100,115.55544146387352,28.85079427375071 +360124,进贤县,4,360100,116.24853779343151,28.382758944473657 +360202,昌江区,4,360200,117.19057910346257,29.27885446446956 +360203,珠山区,4,360200,117.20954826158831,29.30577822037362 +360222,浮梁县,4,360200,117.22146608078525,29.35778823752936 +360281,乐平市,4,360200,117.15851067473356,28.984363669039215 +360302,安源区,4,360300,113.87743991926233,27.621307703861603 +360313,湘东区,4,360300,113.74049971211109,27.645875074875434 +360321,莲花县,4,360300,113.96854067422115,27.133462711027768 +360322,上栗县,4,360300,113.80153822403567,27.886415692068386 +360323,芦溪县,4,360300,114.03651940468296,27.636604718699513 +360402,濂溪区,4,360400,115.9955985873402,29.67749487742969 +360403,浔阳区,4,360400,116.00787357280777,29.71133710851471 +360404,柴桑区,4,360400,115.91740154187518,29.614804909378574 +360423,武宁县,4,360400,115.10744177398514,29.262352150699854 +360424,修水县,4,360400,114.55356797638683,29.03117586795911 +360425,永修县,4,360400,115.8385189096452,29.01801638667067 +360426,德安县,4,360400,115.76257795846777,29.319172496311634 +360428,都昌县,4,360400,116.21055204664913,29.278965044766643 +360429,湖口县,4,360400,116.25847134558812,29.737131514561977 +360430,彭泽县,4,360400,116.55550980643851,29.90212200490592 +360481,瑞昌市,4,360400,115.6874296720721,29.681951286531458 +360482,共青城市,4,360400,115.82142002359062,29.248741173715608 +360483,庐山市,4,360400,116.05142593917256,29.4545391657173 +360502,渝水区,4,360500,114.95142389340262,27.80683965044363 +360521,分宜县,4,360500,114.69847247035635,27.820731344374416 +360602,月湖区,4,360600,117.04354760170725,28.24507833155475 +360603,余江区,4,360600,116.82459362864147,28.215353761359427 +360681,贵溪市,4,360600,117.25139869833444,28.29873507210513 +360702,章贡区,4,360700,114.92755088549953,25.823747013882084 +360703,南康区,4,360700,114.77153821508895,25.667052930560434 +360704,赣县区,4,360700,115.01857016414861,25.86638461662099 +360722,信丰县,4,360700,114.92952113897391,25.391975120013715 +360723,大余县,4,360700,114.36840663964537,25.40763729836687 +360724,上犹县,4,360700,114.55854863128526,25.790518799476178 +360725,崇义县,4,360700,114.3145724480779,25.687687192664324 +360726,安远县,4,360700,115.40055913128577,25.14274343173196 +360728,定南县,4,360700,115.03456377510408,24.789783831845877 +360729,全南县,4,360700,114.53658236665703,24.748206354966594 +360730,宁都县,4,360700,116.0154944374297,26.475979503340323 +360731,于都县,4,360700,115.4214992615303,25.95789394275063 +360732,兴国县,4,360700,115.36955169119426,26.34388258824273 +360733,会昌县,4,360700,115.81573240225609,25.59353145244788 +360734,寻乌县,4,360700,115.65351531535123,24.969446546780166 +360735,石城县,4,360700,116.35259426977315,26.31897234678407 +360781,瑞金市,4,360700,116.0334206628587,25.891666273953316 +360783,龙南市,4,360700,114.796554137092,24.91659946115653 +360802,吉州区,4,360800,115.00153936965165,27.149314993877184 +360803,青原区,4,360800,115.02156071302089,27.087662535191164 +360821,吉安县,4,360800,114.91459130140301,27.044989078994433 +360822,吉水县,4,360800,115.14256983128013,27.235259745038604 +360823,峡江县,4,360800,115.32240322821313,27.58823461761528 +360824,新干县,4,360800,115.39359474833033,27.746080951712873 +360825,永丰县,4,360800,115.44740243988527,27.324342103714045 +360826,泰和县,4,360800,114.91559111543528,26.795697341164775 +360827,遂川县,4,360800,114.52756212171211,26.319517284145913 +360828,万安县,4,360800,114.79257715893954,26.464072836340645 +360829,安福县,4,360800,114.62647813460515,27.399076477104835 +360830,永新县,4,360800,114.24941493589976,26.951537256563174 +360881,井冈山市,4,360800,114.29555585942124,26.753709741565643 +360902,袁州区,4,360900,114.43456118110868,27.802582705304406 +360921,奉新县,4,360900,115.40655109852699,28.69402895145841 +360922,万载县,4,360900,114.45253654384906,28.112133306115535 +360923,上高县,4,360900,114.93154115857352,28.23881549025242 +360924,宜丰县,4,360900,114.80951713474946,28.400373307264914 +360925,靖安县,4,360900,115.36955312848308,28.867081916185878 +360926,铜鼓县,4,360900,114.36099040901854,28.519663279865313 +360981,丰城市,4,360900,115.7774784214485,28.166614024368958 +360982,樟树市,4,360900,115.55241893532511,28.062153117647533 +360983,高安市,4,360900,115.36708781884231,28.446870774522154 +361002,临川区,4,361000,116.31848983160644,27.9404589928642 +361003,东乡区,4,361000,116.60954171504868,28.25397739799852 +361021,南城县,4,361000,116.64339884970856,27.576240966559514 +361022,黎川县,4,361000,116.9145070033776,27.28834023483109 +361023,南丰县,4,361000,116.53140350859456,27.224733524876402 +361024,崇仁县,4,361000,116.08354898487654,27.759079756014405 +361025,乐安县,4,361000,115.83749627865299,27.43407986449759 +361026,宜黄县,4,361000,116.24254169398493,27.56056346070013 +361027,金溪县,4,361000,116.76040404065004,27.925329188976068 +361028,资溪县,4,361000,117.06657027361484,27.71184578573218 +361030,广昌县,4,361000,116.34256064638275,26.848454446680922 +361102,信州区,4,361100,117.97341184157126,28.437628310999735 +361103,广丰区,4,361100,118.19742022041781,28.442615061204748 +361104,广信区,4,361100,117.91558441252161,28.454186874770276 +361123,玉山县,4,361100,118.2515628900973,28.687749687317275 +361124,铅山县,4,361100,117.71642163695348,28.321504694791088 +361125,横峰县,4,361100,117.60239738301532,28.413440462383896 +361126,弋阳县,4,361100,117.4555063762417,28.384082001230794 +361127,余干县,4,361100,116.70160096198632,28.707866244418767 +361128,鄱阳县,4,361100,116.71056614080348,29.011452830922217 +361129,万年县,4,361100,117.06459894217386,28.700054054128923 +361130,婺源县,4,361100,117.86844502242613,29.254039048096878 +361181,德兴市,4,361100,117.60103079084345,28.936828306307252 +370102,历下区,4,370100,117.08256731389552,36.67216295004278 +370103,市中区,4,370100,117.00439910401157,36.65755167364164 +370104,槐荫区,4,370100,116.90745837507174,36.65756173442624 +370105,天桥区,4,370100,116.99339917338078,36.68406787435328 +370112,历城区,4,370100,117.07158975107194,36.68565553471069 +370113,长清区,4,370100,116.75838709094633,36.5602158799097 +370114,章丘区,4,370100,117.53256537436938,36.685532751420155 +370115,济阳区,4,370100,117.18062113319276,36.98397051831499 +370116,莱芜区,4,370100,117.66659067001653,36.20884142681693 +370117,钢城区,4,370100,117.81749566517946,36.06471880702823 +370124,平阴县,4,370100,116.46261667805571,36.29486132106647 +370126,商河县,4,370100,117.16352979289881,37.31497071555638 +370171,济南高新技术产业开发区,4,370100,117.72295368144293,36.204308647509116 +370202,市南区,4,370200,120.41858472357943,36.08146564023402 +370203,市北区,4,370200,120.3814044873353,36.09344959486011 +370211,黄岛区,4,370200,120.20454654768359,35.966382870945466 +370212,崂山区,4,370200,120.47539724708304,36.113499423970545 +370213,李沧区,4,370200,120.43960282674914,36.15102466778407 +370214,城阳区,4,370200,120.40252679394416,36.31288619735009 +370215,即墨区,4,370200,120.45353617402276,36.39474917032192 +370271,青岛高新技术产业开发区,4,370200,120.53727342891582,36.52014109352917 +370281,胶州市,4,370200,120.03953537126692,36.27034908804922 +370283,平度市,4,370200,119.976700697455,36.75993613014904 +370285,莱西市,4,370200,120.52455620764162,36.89395629802583 +370302,淄川区,4,370300,117.9734118576298,36.649834806021666 +370303,张店区,4,370300,118.02459110728033,36.81194195214412 +370304,博山区,4,370300,117.86846875371543,36.500847855130566 +370305,临淄区,4,370300,118.31539460934518,36.8322936351522 +370306,周村区,4,370300,117.87648217784775,36.808994352212316 +370321,桓台县,4,370300,118.10443420778763,36.965607980118264 +370322,高青县,4,370300,117.8333943252478,37.17726865433254 +370323,沂源县,4,370300,118.1774894423699,36.19091698584845 +370402,市中区,4,370400,117.56256581399447,34.86996272506961 +370403,薛城区,4,370400,117.2694576193132,34.801124568638926 +370404,峄城区,4,370400,117.59639060966718,34.77859987301135 +370405,台儿庄区,4,370400,117.74042545412036,34.568763215632615 +370406,山亭区,4,370400,117.4674431655763,35.10569198076537 +370481,滕州市,4,370400,117.17256521920983,35.120034809573916 +370502,东营区,4,370500,118.58846268606544,37.45484732016579 +370503,河口区,4,370500,118.53250516974624,37.891120201055706 +370505,垦利区,4,370500,118.58143173866941,37.57855513380944 +370522,利津县,4,370500,118.26161799914311,37.49586029903058 +370523,广饶县,4,370500,118.4260019786527,37.060488846616934 +370571,东营经济技术开发区,4,370500,118.58846268606544,37.45484732016579 +370572,东营港经济开发区,4,370500,118.68138493513693,37.43964182632334 +370602,芝罘区,4,370600,121.40654004548657,37.546312866890936 +370611,福山区,4,370600,121.27460474743894,37.50366822845149 +370612,牟平区,4,370600,121.60654911474143,37.392915451795815 +370613,莱山区,4,370600,121.4513806717976,37.51764858410898 +370614,蓬莱区,4,370600,120.83553511247726,37.801948046001705 +370671,烟台高新技术产业开发区,4,370600,120.45149531373463,37.72034680082678 +370672,烟台经济技术开发区,4,370600,121.45441541730195,37.470038383730525 +370681,龙口市,4,370600,120.48536852807433,37.65255512549617 +370682,莱阳市,4,370600,120.718414309578,36.9846355683041 +370683,莱州市,4,370600,119.94859307736998,37.18263660907421 +370685,招远市,4,370600,120.44060165264568,37.36113714256612 +370686,栖霞市,4,370600,120.85641658337892,37.341418164799684 +370687,海阳市,4,370600,121.1804581977879,36.693269738228416 +370702,潍城区,4,370700,119.03142854151555,36.73285441557026 +370703,寒亭区,4,370700,119.22661514747064,36.78074378620103 +370704,坊子区,4,370700,119.17240097265466,36.66074159970123 +370705,奎文区,4,370700,119.13947052994769,36.71275201404622 +370724,临朐县,4,370700,118.54944999641151,36.519129501827656 +370725,昌乐县,4,370700,118.83648798143965,36.71299619084501 +370772,潍坊滨海经济技术开发区,4,370700,119.82762105908833,33.99564654746655 +370781,青州市,4,370700,118.48653672086745,36.690416508705376 +370782,诸城市,4,370700,119.41640221866636,36.00200885807568 +370783,寿光市,4,370700,118.7974153748082,36.86192174647094 +370784,安丘市,4,370700,119.2256075181801,36.483842195596104 +370785,高密市,4,370700,119.76241099601636,36.388956706464846 +370786,昌邑市,4,370700,119.40440597739446,36.8651610726221 +370811,任城区,4,370800,116.55446985373976,35.4937306402599 +370812,兖州区,4,370800,116.7901151517282,35.557952373283435 +370826,微山县,4,370800,117.13541381857256,34.813315104239 +370827,鱼台县,4,370800,116.65739284822328,35.017887717822525 +370828,金乡县,4,370800,116.31852982171351,35.072569118665015 +370829,嘉祥县,4,370800,116.34861308510659,35.41325504410229 +370830,汶上县,4,370800,116.50544105764958,35.71705539262766 +370831,泗水县,4,370800,117.2574285898902,35.67060048122767 +370832,梁山县,4,370800,116.10262029577927,35.80806388661061 +370871,济宁高新技术产业开发区,4,370800,116.28456740563666,35.10228695736774 +370881,曲阜市,4,370800,116.99341597169382,35.587372286487756 +370883,邹城市,4,370800,117.01440416129005,35.40752093244999 +370902,泰山区,4,370900,117.14141108581828,36.199444601195346 +370911,岱岳区,4,370900,117.0485564791517,36.19329124229092 +370921,宁阳县,4,370900,116.81257853863292,35.76453909734402 +370923,东平县,4,370900,116.47759421565412,35.94190801501926 +370982,新泰市,4,370900,117.77460624826666,35.9146198665876 +370983,肥城市,4,370900,116.77540081764421,36.18881122431525 +371002,环翠区,4,371000,122.12953818095359,37.50796807121946 +371003,文登区,4,371000,122.06442836877653,37.20011332831649 +371071,威海火炬高技术产业开发区,4,371000,121.91899064060844,37.38168562729052 +371072,威海经济技术开发区,4,371000,122.12754097831325,37.5164305480148 +371073,威海临港经济技术开发区,4,371000,122.12754097831325,37.5164305480148 +371082,荣成市,4,371000,122.49250463073764,37.171317939253235 +371083,乳山市,4,371000,121.54642858119733,36.92517735787775 +371102,东港区,4,371100,119.46862431118342,35.43104900394244 +371103,岚山区,4,371100,119.32553044175195,35.127432330051725 +371121,五莲县,4,371100,119.21558036258607,35.75569710410426 +371122,莒县,4,371100,118.87571222204119,35.59687205195049 +371171,日照经济技术开发区,4,371100,119.53341540456555,35.42283899843767 +371302,兰山区,4,371300,118.3544997346361,35.05734022980591 +371311,罗庄区,4,371300,118.29151252854857,35.00250373343294 +371312,河东区,4,371300,118.40954744713478,35.0956755368236 +371321,沂南县,4,371300,118.47149154086414,35.55609766694983 +371322,郯城县,4,371300,118.37358710977321,34.61922593247125 +371323,沂水县,4,371300,118.63461726384591,35.79618058471814 +371324,兰陵县,4,371300,118.0774094949949,34.86361638543997 +371325,费县,4,371300,117.98442508318213,35.27230412851695 +371326,平邑县,4,371300,117.62126289262746,35.52306049300892 +371327,莒南县,4,371300,118.84154077027218,35.18081163178793 +371328,蒙阴县,4,371300,117.95141460145422,35.71634716623248 +371329,临沭县,4,371300,118.65749450009906,34.92601859149122 +371371,临沂高新技术产业开发区,4,371300,118.2707453221078,34.99297736938245 +371402,德城区,4,371400,116.30544896636886,37.45699328302057 +371403,陵城区,4,371400,116.5894000143425,37.34713243458088 +371422,宁津县,4,371400,116.80653761373941,37.658018745854946 +371423,庆云县,4,371400,117.39145244824853,37.78158531885699 +371424,临邑县,4,371400,116.87340370301902,37.19616936672706 +371425,齐河县,4,371400,116.76938747072987,36.78994480666954 +371426,平原县,4,371400,116.4405047082665,37.171221463311625 +371427,夏津县,4,371400,116.00853411225853,36.954154863323446 +371428,武城县,4,371400,116.07550629141886,37.21922208028849 +371471,德州经济技术开发区,4,371400,116.36555674397471,37.441308454576266 +371472,德州运河经济开发区,4,371400,116.26715357366464,37.45611392200421 +371481,乐陵市,4,371400,117.23840643173311,37.73592450080975 +371482,禹城市,4,371400,116.64437110138118,36.94024200876569 +371502,东昌府区,4,371500,116.01305797880677,36.41851831835199 +371503,茌平区,4,371500,116.26145544215375,36.5867850688424 +371521,阳谷县,4,371500,115.79839557041204,36.12081551468669 +371522,莘县,4,371500,115.67739687245674,36.23990712054613 +371524,东阿县,4,371500,116.25449294563757,36.340957707760644 +371525,冠县,4,371500,115.44939579503601,36.49024322539373 +371526,高唐县,4,371500,116.23560427567926,36.85159108409526 +371581,临清市,4,371500,115.71146960045022,36.8442891866943 +371602,滨城区,4,371600,118.026603850606,37.436843207743635 +371603,沾化区,4,371600,118.10545441335532,37.705298106724484 +371621,惠民县,4,371600,117.5165096904979,37.49580310894013 +371622,阳信县,4,371600,117.58443703790701,37.64733803495721 +371623,无棣县,4,371600,117.63245748606224,37.777567312085814 +371625,博兴县,4,371600,118.1174926953251,37.160477277651474 +371681,邹平市,4,371600,117.74947848721935,36.8700322166973 +371702,牡丹区,4,371700,115.42344303020836,35.25701817606895 +371703,定陶区,4,371700,115.57943737523806,35.07727517975711 +371721,曹县,4,371700,115.54845724362382,34.83180934841467 +371722,单县,4,371700,116.11158367798839,34.78465843369218 +371723,成武县,4,371700,115.8965190083863,34.95860565495999 +371724,巨野县,4,371700,116.10159901224499,35.40206238060898 +371725,郓城县,4,371700,115.94539329592878,35.58147559928302 +371726,鄄城县,4,371700,115.51660692346202,35.56920425988141 +371728,东明县,4,371700,115.11402511085738,35.28172493679994 +371771,菏泽经济技术开发区,4,371700,115.48754503343376,35.23940742476551 +371772,菏泽高新技术开发区,4,371700,115.4174733409418,35.228681819480876 +410102,中原区,4,410100,113.61947551693957,34.754450781329176 +410103,二七区,4,410100,113.64640959070636,34.73104512139391 +410104,管城回族区,4,410100,113.68352469980101,34.75967387469872 +410105,金水区,4,410100,113.66644773239523,34.80607044566173 +410106,上街区,4,410100,113.3154972866043,34.808818610238696 +410108,惠济区,4,410100,113.62345527984044,34.873519885775636 +410122,中牟县,4,410100,113.98248490572702,34.72501084892361 +410171,郑州经济技术开发区,4,410100,113.63141920733915,34.75343885045448 +410172,郑州高新技术产业开发区,4,410100,114.01603248431934,34.69631551477937 +410173,郑州航空港经济综合实验区,4,410100,113.82650313697445,34.46635166250824 +410181,巩义市,4,410100,113.02843100495258,34.754096888696935 +410182,荥阳市,4,410100,113.38942279956461,34.79381050034602 +410183,新密市,4,410100,113.39739094909922,34.54589798344474 +410184,新郑市,4,410100,113.74643447195358,34.40176637910559 +410185,登封市,4,410100,113.05642283345736,34.45969746171987 +410202,龙亭区,4,410200,114.36141316645679,34.82203561250629 +410203,顺河回族区,4,410200,114.36739165911733,34.80224135555935 +410204,鼓楼区,4,410200,114.3544048563596,34.79487425191384 +410205,禹王台区,4,410200,114.35439775974605,34.78347210591688 +410212,祥符区,4,410200,114.4475325479012,34.76273957222411 +410221,杞县,4,410200,114.7895921047377,34.55485678068698 +410222,通许县,4,410200,114.47343590592583,34.48677180265463 +410223,尉氏县,4,410200,114.1995611508576,34.41722801035352 +410225,兰考县,4,410200,114.82523551991535,34.8622109159391 +410302,老城区,4,410300,112.4765035657198,34.68960106349699 +410303,西工区,4,410300,112.43439953731436,34.66676784751269 +410304,瀍河回族区,4,410300,112.50660380708702,34.6854624213354 +410305,涧西区,4,410300,112.40255200189966,34.66346897430892 +410307,偃师区,4,410300,112.79642141885469,34.733796624012776 +410308,孟津区,4,410300,112.45141766570924,34.83173157028531 +410311,洛龙区,4,410300,112.47046928828706,34.62470471302437 +410323,新安县,4,410300,112.14060970841214,34.73438332734371 +410324,栾川县,4,410300,111.62242666650891,33.791822464323104 +410325,嵩县,4,410300,112.09240816186609,34.14072155640602 +410326,汝阳县,4,410300,112.47950327730925,34.15984336489338 +410327,宜阳县,4,410300,112.17946537426293,34.54104694255354 +410328,洛宁县,4,410300,111.65958740952347,34.39498456021476 +410329,伊川县,4,410300,112.43240745501544,34.42764579642734 +410371,洛阳高新技术产业开发区,4,410300,112.38490101727301,34.61429297993309 +410402,新华区,4,410400,113.30043988964603,33.74365715164552 +410403,卫东区,4,410400,113.3416111176099,33.74037565140009 +410404,石龙区,4,410400,112.90545522640038,33.90475426839687 +410411,湛河区,4,410400,113.25051467448745,33.685790171047444 +410421,宝丰县,4,410400,113.06144723583577,33.874745598630774 +410422,叶县,4,410400,113.36358241275624,33.632491674058336 +410423,鲁山县,4,410400,112.91443396963372,33.74487886345235 +410425,郏县,4,410400,113.21960622765287,33.977486289176724 +410471,平顶山高新技术产业开发区,4,410400,113.39403784412212,33.738544518581435 +410472,平顶山市城乡一体化示范区,4,410400,113.34115396993587,33.74360063982602 +410481,舞钢市,4,410400,113.53141031593,33.2994311053011 +410482,汝州市,4,410400,112.85054971566392,34.17276778855066 +410502,文峰区,4,410500,114.36337398772396,36.09683274813585 +410503,北关区,4,410500,114.36238189911874,36.11313160776512 +410505,殷都区,4,410500,114.30959755718298,36.11575825553694 +410506,龙安区,4,410500,114.30759316809856,36.08275278362011 +410522,安阳县,4,410500,114.47673376511405,36.088623815857204 +410523,汤阴县,4,410500,114.36340938096104,35.92764374022512 +410526,滑县,4,410500,114.52555316618987,35.58104540055751 +410527,内黄县,4,410500,114.90758875550918,35.97694966806135 +410571,安阳高新技术产业开发区,4,410500,114.47673376511405,36.088623815857204 +410581,林州市,4,410500,113.82559018908465,36.08885320844752 +410602,鹤山区,4,410600,114.16955478241616,35.960280248227214 +410603,山城区,4,410600,114.19062058560844,35.90336961329157 +410611,淇滨区,4,410600,114.30559120443904,35.74695254628867 +410621,浚县,4,410600,114.55760785085516,35.68191730591282 +410622,淇县,4,410600,114.21548972449943,35.62727702033594 +410671,鹤壁经济技术开发区,4,410600,114.30359364247649,35.7523574114 +410702,红旗区,4,410700,113.88141583415499,35.310135512691105 +410703,卫滨区,4,410700,113.87243879770213,35.308459209602056 +410704,凤泉区,4,410700,113.91251023023013,35.37782018500511 +410711,牧野区,4,410700,113.91551290622778,35.32102348649875 +410721,新乡县,4,410700,113.81159378076424,35.19656440899276 +410724,获嘉县,4,410700,113.66341666994346,35.2658092841611 +410725,原阳县,4,410700,113.94662374129375,35.07116386446907 +410726,延津县,4,410700,114.2115117582096,35.14780651050911 +410727,封丘县,4,410700,114.42560616803036,35.0468575316508 +410771,新乡高新技术产业开发区,4,410700,113.96856602117211,35.22459259872548 +410772,新乡经济技术开发区,4,410700,113.81159378076424,35.19656440899276 +410773,新乡市平原城乡一体化示范区,4,410700,113.85567614739429,35.26108975818203 +410781,卫辉市,4,410700,114.07160094452217,35.40406888214502 +410782,辉县市,4,410700,113.81157302990697,35.467957818375645 +410783,长垣市,4,410700,114.67560989145973,35.20719822456536 +410802,解放区,4,410800,113.23757179886913,35.24630980763301 +410803,中站区,4,410800,113.18944759642748,35.24261710359088 +410804,马村区,4,410800,113.32854400633956,35.26189444172316 +410811,山阳区,4,410800,113.26048370971498,35.22027235297734 +410821,修武县,4,410800,113.45458192871418,35.22932348259429 +410822,博爱县,4,410800,113.07047799095812,35.177308063756 +410823,武陟县,4,410800,113.4083958204103,35.105838449216684 +410825,温县,4,410800,113.08656906806671,34.94613549224693 +410871,焦作城乡一体化示范区,4,410800,113.25975302801317,35.18163386137683 +410882,沁阳市,4,410800,112.95751688155336,35.09378573234604 +410883,孟州市,4,410800,112.79739491253585,34.91359781788649 +410902,华龙区,4,410900,115.08041294409888,35.78363288453635 +410922,清丰县,4,410900,115.11047186341266,35.89130816827738 +410923,南乐县,4,410900,115.21138615694532,36.076030832875425 +410926,范县,4,410900,115.51058621044251,35.85765508771859 +410927,台前县,4,410900,115.87856816938043,35.97501271252134 +410928,濮阳县,4,410900,115.03558408559006,35.717888889374784 +410971,河南濮阳工业园区,4,410900,115.03558408559006,35.717888889374784 +410972,濮阳经济技术开发区,4,410900,115.03558408559006,35.717888889374784 +411002,魏都区,4,411000,113.83754070660609,34.05325075250396 +411003,建安区,4,411000,113.82947787567075,34.13052547643305 +411024,鄢陵县,4,411000,114.18463769125088,34.108881697659704 +411025,襄城县,4,411000,113.51342013114277,33.85791182158849 +411071,许昌经济技术开发区,4,411000,113.85847553685502,34.04143161161871 +411081,禹州市,4,411000,113.49522360557991,34.14826652246125 +411082,长葛市,4,411000,113.82065759352936,34.201538754321476 +411102,源汇区,4,411100,113.99041352981918,33.57842326244745 +411103,郾城区,4,411100,114.0133938915449,33.59341588086467 +411104,召陵区,4,411100,114.1004665547965,33.592467538560506 +411121,舞阳县,4,411100,113.61549000488345,33.443577799934204 +411122,临颍县,4,411100,113.93757834379157,33.83269194792997 +411171,漯河经济技术开发区,4,411100,114.02342077764726,33.5877107071022 +411202,湖滨区,4,411200,111.19557389665238,34.77599679244391 +411203,陕州区,4,411200,111.10945065249427,34.7269148015266 +411221,渑池县,4,411200,111.76854234584539,34.77319704298588 +411224,卢氏县,4,411200,111.0545640061735,34.059924845298816 +411271,河南三门峡经济开发区,4,411200,111.2065332238741,34.778327249459984 +411281,义马市,4,411200,111.88051478020587,34.75302800947253 +411282,灵宝市,4,411200,110.90040831286163,34.52314262416382 +411302,宛城区,4,411300,112.546454166629,33.00987004062646 +411303,卧龙区,4,411300,112.54146183375731,32.99248379752679 +411321,南召县,4,411300,112.43542522254566,33.49618580462491 +411322,方城县,4,411300,113.01850275279521,33.26053945583183 +411323,西峡县,4,411300,111.48039809758171,33.31331611529193 +411324,镇平县,4,411300,112.24154448331042,33.0397185292249 +411325,内乡县,4,411300,111.8554252869733,33.05120310547566 +411326,淅川县,4,411300,111.49743203615358,33.14418526002652 +411327,社旗县,4,411300,112.95449345469842,33.06223668593527 +411328,唐河县,4,411300,112.81342436588645,32.687720660005475 +411329,新野县,4,411300,112.36654962384021,32.52663177881783 +411330,桐柏县,4,411300,113.43447273105946,32.38513075495586 +411371,南阳高新技术产业开发区,4,411300,112.53450131351325,32.99656220465144 +411372,南阳市城乡一体化示范区,4,411300,112.62690182674454,33.010139348108154 +411381,邓州市,4,411300,112.09342010302309,32.69391743997009 +411402,梁园区,4,411400,115.6206020455717,34.44947124629416 +411403,睢阳区,4,411400,115.65947594702435,34.39415192047936 +411421,民权县,4,411400,115.15457605886661,34.652478726537026 +411422,睢县,4,411400,115.0784108906088,34.451616965408846 +411423,宁陵县,4,411400,115.32041843737164,34.46663402766001 +411424,柘城县,4,411400,115.31243456749063,34.09736021241513 +411425,虞城县,4,411400,115.83447295698157,34.405331502097134 +411426,夏邑县,4,411400,116.1375123682284,34.2435234723781 +411471,豫东综合物流产业聚集区,4,411400,115.1660630507449,34.62998842655314 +411472,河南商丘经济开发区,4,411400,115.66244933826238,34.4202016658586 +411481,永城市,4,411400,116.45556614759954,33.93480147585089 +411502,浉河区,4,411500,114.06558130946927,32.12255415688444 +411503,平桥区,4,411500,114.1324074241537,32.10732538610979 +411521,罗山县,4,411500,114.51952993791492,32.20915045183822 +411522,光山县,4,411500,114.92553303688484,32.01590687956846 +411523,新县,4,411500,114.8855247552342,31.649738468474663 +411524,商城县,4,411500,115.41351334076217,31.804345366902695 +411525,固始县,4,411500,115.66048788818134,32.17417437962212 +411526,潢川县,4,411500,115.05847075405106,32.137530716413536 +411527,淮滨县,4,411500,115.42643896891468,32.479469756662695 +411528,息县,4,411500,114.74745313224791,32.34895551171522 +411571,信阳高新技术产业开发区,4,411500,114.20389412748497,32.14698970876222 +411602,川汇区,4,411600,114.6576017405623,33.65299710281438 +411603,淮阳区,4,411600,114.89258615518705,33.737347183458404 +411621,扶沟县,4,411600,114.4015098413696,34.065906253969246 +411622,西华县,4,411600,114.53559667094417,33.77321533492214 +411623,商水县,4,411600,114.61841594743659,33.54887747535332 +411624,沈丘县,4,411600,115.10545545595329,33.41569109405895 +411625,郸城县,4,411600,115.18347760136133,33.65082795504896 +411627,太康县,4,411600,114.84438388999658,34.07003838224778 +411628,鹿邑县,4,411600,115.49058525860173,33.8671732903174 +411671,河南周口经济开发区,4,411600,114.7079826661061,33.643083575264406 +411681,项城市,4,411600,114.88151400079326,33.473007441429914 +411702,驿城区,4,411700,114.00038696674372,32.979519871981815 +411721,西平县,4,411700,114.02747357278608,33.39386099752538 +411722,上蔡县,4,411700,114.27048686239792,33.268511215884224 +411723,平舆县,4,411700,114.62542865923078,32.96798240043784 +411724,正阳县,4,411700,114.39949655906064,32.6116410772727 +411725,确山县,4,411700,114.0324950107563,32.80817569298386 +411726,泌阳县,4,411700,113.33355798837405,32.729730650434554 +411727,汝南县,4,411700,114.36940889397054,33.01314088199241 +411728,遂平县,4,411700,114.01944146389916,33.151971399578684 +411729,新蔡县,4,411700,114.97184912999602,32.75131512419268 +411771,河南驻马店经济开发区,4,411700,114.07340797588604,33.005106536804576 +419001,济源市,4,419000,113.75938408486323,34.771712921931496 +420102,江岸区,4,420100,114.31657918760652,30.605402797562395 +420103,江汉区,4,420100,114.27750613182234,30.6072822768268 +420104,硚口区,4,420100,114.2214603120715,30.587584340775596 +420105,汉阳区,4,420100,114.22544555463595,30.56005202744345 +420106,武昌区,4,420100,114.32254851755089,30.559566983522483 +420107,青山区,4,420100,114.39149265696673,30.64659307554314 +420111,洪山区,4,420100,114.35045554601551,30.50633395680806 +420112,东西湖区,4,420100,114.14345873785965,30.625919818109203 +420113,汉南区,4,420100,114.09151485055902,30.314809120144606 +420114,蔡甸区,4,420100,114.03547963081321,30.588113621855484 +420115,江夏区,4,420100,114.32855126446022,30.38156421818202 +420116,黄陂区,4,420100,114.38245399675588,30.88753376783457 +420117,新洲区,4,420100,114.80754339289633,30.847243870522625 +420202,黄石港区,4,420200,115.07241748607679,30.229052639992027 +420203,西塞山区,4,420200,115.11648143744387,30.21069518411846 +420204,下陆区,4,420200,114.96741590247372,30.180046155273466 +420205,铁山区,4,420200,114.90757141821284,30.212250832586538 +420222,阳新县,4,420200,115.22142677197253,29.836541808086142 +420281,大冶市,4,420200,114.98643626401979,30.10166780010339 +420302,茅箭区,4,420300,110.81958031019317,32.597286519103754 +420303,张湾区,4,420300,110.77542410285021,32.65839954547973 +420304,郧阳区,4,420300,110.81857654361632,32.84059241303827 +420322,郧西县,4,420300,110.43247261847287,32.99916700753649 +420323,竹山县,4,420300,110.23558156764314,32.2303040603762 +420324,竹溪县,4,420300,109.72154249888798,32.32412004885334 +420325,房县,4,420300,110.73359136270881,32.04666554526334 +420381,丹江口市,4,420300,111.5195320584795,32.54625268850125 +420502,西陵区,4,420500,111.29255972052881,30.716749346598352 +420503,伍家岗区,4,420500,111.3674222559666,30.650737335260395 +420504,点军区,4,420500,111.27447135094933,30.699329513880368 +420505,猇亭区,4,420500,111.44157378259324,30.53646598270678 +420506,夷陵区,4,420500,111.33252973436471,30.774833327298143 +420525,远安县,4,420500,111.64653035927485,31.06662784157842 +420526,兴山县,4,420500,110.75344607041252,31.35446351771565 +420527,秭归县,4,420500,110.98444937467816,30.83193164321606 +420528,长阳土家族自治县,4,420500,111.21350712887026,30.478645783055725 +420529,五峰土家族自治县,4,420500,111.05258063743803,30.171156151026448 +420581,宜都市,4,420500,111.456515837124,30.38440427431352 +420582,当阳市,4,420500,111.79456850223322,30.82698905028075 +420583,枝江市,4,420500,111.766539753372,30.431730676997983 +420602,襄城区,4,420600,112.14057206941128,32.01617461814126 +420606,樊城区,4,420600,112.14259891613344,32.05057237469156 +420607,襄州区,4,420600,112.21843413677742,32.093375783399296 +420624,南漳县,4,420600,111.84538618391599,31.78112970677853 +420625,谷城县,4,420600,111.65957564172129,32.268983068947186 +420626,保康县,4,420600,111.26744121202825,31.883847150262206 +420682,老河口市,4,420600,111.6815563690755,32.39245958527059 +420683,枣阳市,4,420600,112.77847075950989,32.13472991431875 +420684,宜城市,4,420600,112.2646114416873,31.725469730972 +420702,梁子湖区,4,420700,114.69150657525594,30.105906774051476 +420703,华容区,4,420700,114.73642634228239,30.540599527838044 +420704,鄂城区,4,420700,114.89859968176249,30.406389456291524 +420802,东宝区,4,420800,112.20838820659824,31.0584292713654 +420804,掇刀区,4,420800,112.21442769420291,30.979910859803837 +420822,沙洋县,4,420800,112.59548493899133,30.715314748830732 +420881,钟祥市,4,420800,112.59447102156223,31.174029854963006 +420882,京山市,4,420800,113.12654806495773,31.02433060119255 +420902,孝南区,4,420900,113.91748989699413,30.922977925048983 +420921,孝昌县,4,420900,114.00440859068135,31.264540493061723 +420922,大悟县,4,420900,114.1334125381888,31.567219806641464 +420923,云梦县,4,420900,113.7594122018257,31.027218220752015 +420981,应城市,4,420900,113.5795673963533,30.933976509913286 +420982,安陆市,4,420900,113.69558292415309,31.261414994285975 +420984,汉川市,4,420900,113.845549010397,30.666913578820797 +421002,沙市区,4,421000,112.25861327613607,30.33169887683693 +421003,荆州区,4,421000,112.19641397381135,30.358989490775382 +421022,公安县,4,421000,112.23650157583852,30.064400686806085 +421024,江陵县,4,421000,112.43145201727503,30.048042984592485 +421071,荆州经济技术开发区,4,421000,112.19641397381135,30.358989490775382 +421081,石首市,4,421000,112.43141984370993,29.72703397740694 +421083,洪湖市,4,421000,113.48255290195605,29.83277032976022 +421087,松滋市,4,421000,111.773580312637,30.17534223514285 +421088,监利市,4,421000,112.91142023009189,29.845735162836444 +421102,黄州区,4,421100,114.88653238452474,30.440224145145685 +421121,团风县,4,421100,114.8785243502255,30.64936776721529 +421122,红安县,4,421100,114.62442561129834,31.294296714037316 +421123,罗田县,4,421100,115.40554716749966,30.7889104956853 +421124,英山县,4,421100,115.6874216026259,30.74135008408465 +421125,浠水县,4,421100,115.2715690328918,30.457460842265274 +421126,蕲春县,4,421100,115.4423985340966,30.23253549973421 +421127,黄梅县,4,421100,115.95046198476884,30.076605056821283 +421171,龙感湖管理区,4,421100,115.99947208069793,29.882105387880724 +421181,麻城市,4,421100,115.01656174777186,31.176995837411464 +421182,武穴市,4,421100,115.56739216105213,29.850441430483002 +421202,咸安区,4,421200,114.30456990605815,29.85815391515437 +421221,嘉鱼县,4,421200,113.94557046335528,29.976353520898183 +421222,通城县,4,421200,113.82356790903289,29.250857930222462 +421223,崇阳县,4,421200,114.04656290943393,29.561333782271227 +421224,通山县,4,421200,114.48939330026687,29.61263433805842 +421281,赤壁市,4,421200,113.90643686179263,29.73066599752579 +421303,曾都区,4,421300,113.37751333460498,31.722122861270798 +421321,随县,4,421300,113.30645835690179,31.85997167825831 +421381,广水市,4,421300,113.83259337884046,31.6224760380074 +422801,恩施市,4,422800,109.4865502690053,30.30103714374126 +422802,利川市,4,422800,108.94248057755993,30.297203443679802 +422822,建始县,4,422800,109.72855610898769,30.60790702631939 +422823,巴东县,4,422800,110.34757529184422,31.048064248959722 +422825,宣恩县,4,422800,109.49756797282649,29.992603922080246 +422826,咸丰县,4,422800,109.14660773562142,29.671077652357877 +422827,来凤县,4,422800,109.413494841531,29.499443572607333 +422828,鹤峰县,4,422800,110.04042423300965,29.89611648340303 +429004,仙桃市,4,429000,114.34844073658718,30.551600064658352 +429005,潜江市,4,429000,112.9031928439735,30.426674439938697 +429006,天门市,4,429000,113.16166740870086,30.64162852018465 +429021,神农架林区,4,429000,114.34844073658718,30.551600064658352 +430102,芙蓉区,4,430100,113.03940774487253,28.191913247304726 +430103,天心区,4,430100,112.99659225851735,28.11821121744063 +430104,岳麓区,4,430100,112.93744764409885,28.241488836472605 +430105,开福区,4,430100,112.99258491763867,28.261378687684147 +430111,雨花区,4,430100,113.04242155985752,28.142232711654117 +430112,望城区,4,430100,112.8244661431963,28.367403020376223 +430121,长沙县,4,430100,113.08755916595523,28.251818487944462 +430181,浏阳市,4,430100,113.64939823850789,28.169832216070507 +430182,宁乡市,4,430100,112.55840691564445,28.284104536209348 +430202,荷塘区,4,430200,113.18045222006695,27.862155809140553 +430203,芦淞区,4,430200,113.15841867235604,27.791508825947016 +430204,石峰区,4,430200,113.12456791566528,27.880705165594822 +430211,天元区,4,430200,113.08954055841794,27.8330835194845 +430212,渌口区,4,430200,113.15042671772805,27.704322804857117 +430223,攸县,4,430200,113.3515783416946,27.00577156521266 +430224,茶陵县,4,430200,113.54547165714293,26.78358911035979 +430225,炎陵县,4,430200,113.77941879831802,26.496060691598743 +430271,云龙示范区,4,430200,113.22514480561516,27.992201061274876 +430281,醴陵市,4,430200,113.50348315083997,27.65232514995133 +430302,雨湖区,4,430300,112.91344959206882,27.862466785110627 +430304,岳塘区,4,430300,113.00207291026247,27.85115809718239 +430321,湘潭县,4,430300,112.95750536884121,27.784982534656113 +430371,湖南湘潭高新技术产业园区,4,430300,112.95750536884121,27.784982534656113 +430372,湘潭昭山示范区,4,430300,113.03400713214832,27.95800191177791 +430373,湘潭九华示范区,4,430300,112.95840169807876,27.942423674931927 +430381,湘乡市,4,430300,112.54149155340549,27.740190553343652 +430382,韶山市,4,430300,112.53349932928586,27.92104374963106 +430405,珠晖区,4,430400,112.62659414281505,26.90026536194552 +430406,雁峰区,4,430400,112.62041110599193,26.846539399699935 +430407,石鼓区,4,430400,112.62877486927036,26.96931305821596 +430408,蒸湘区,4,430400,112.5734440108932,26.917719877876692 +430412,南岳区,4,430400,112.74557434825013,27.23836047456236 +430421,衡阳县,4,430400,112.37755268433024,26.975294950860984 +430422,衡南县,4,430400,112.68440252778792,26.74453195677219 +430423,衡山县,4,430400,112.87556328770634,27.23599602965559 +430424,衡东县,4,430400,112.95949529520625,27.087042820264845 +430426,祁东县,4,430400,112.09644737847452,26.805995255190922 +430471,衡阳综合保税区,4,430400,112.37755268433024,26.975294950860984 +430472,湖南衡阳高新技术产业园区,4,430400,112.57885764904731,26.898781719511856 +430473,湖南衡阳松木经济开发区,4,430400,112.35108806503173,27.281594640810766 +430481,耒阳市,4,430400,112.86659721058366,26.428065593927606 +430482,常宁市,4,430400,112.40556050266383,26.42672043225662 +430502,双清区,4,430500,111.50344150643294,27.239108783296654 +430503,大祥区,4,430500,111.44552828920708,27.22701396869384 +430511,北塔区,4,430500,111.45849694618926,27.251536276173585 +430522,新邵县,4,430500,111.46444938798804,27.327131739160276 +430523,邵阳县,4,430500,111.28050768063707,26.996528332196284 +430524,隆回县,4,430500,111.03950668527776,27.119946440018886 +430525,洞口县,4,430500,110.58257909625085,27.06597543779858 +430527,绥宁县,4,430500,110.16241987037962,26.588422719333217 +430528,新宁县,4,430500,110.86349072743869,26.439723697953905 +430529,城步苗族自治县,4,430500,110.32853713031585,26.396203220077773 +430581,武冈市,4,430500,110.6384076158804,26.732898572991598 +430582,邵东市,4,430500,111.75049070295837,27.264507471565526 +430602,岳阳楼区,4,430600,113.13648070435137,29.377995036881128 +430603,云溪区,4,430600,113.27840659691188,29.479907141132852 +430611,君山区,4,430600,113.01251714910133,29.467129185831674 +430621,岳阳县,4,430600,113.12254448250472,29.150269316045275 +430623,华容县,4,430600,112.54746151216173,29.536286434381537 +430624,湘阴县,4,430600,112.88952187736018,28.676676377581405 +430626,平江县,4,430600,113.58760362283579,28.70756424811539 +430671,岳阳市屈原管理区,4,430600,112.91418198055085,28.860717002082563 +430681,汨罗市,4,430600,113.07349286947077,28.81245469481151 +430682,临湘市,4,430600,113.45656151000003,29.482801373395436 +430702,武陵区,4,430700,111.6895448961624,29.06078347657812 +430703,鼎城区,4,430700,111.6875220918157,29.024443397066236 +430721,安乡县,4,430700,112.17750615580171,29.417320432220166 +430722,汉寿县,4,430700,111.97641193355722,28.91228760308519 +430723,澧县,4,430700,111.7655335473624,29.638946004609103 +430724,临澧县,4,430700,111.65358500796546,29.446543990119117 +430725,桃源县,4,430700,111.49540733144599,28.908694006999355 +430726,石门县,4,430700,111.386451407024,29.590365966649998 +430771,常德市西洞庭管理区,4,430700,111.98817165098446,29.214091001390837 +430781,津市市,4,430700,111.88451734601949,29.611258543006777 +430802,永定区,4,430800,110.54443192396839,29.126190558381275 +430811,武陵源区,4,430800,110.55749894540386,29.35168113667119 +430821,慈利县,4,430800,111.14547125235251,29.43598672596915 +430822,桑植县,4,430800,110.17041335212696,29.405923219415055 +430902,资阳区,4,430900,112.33043548238085,28.59723454973666 +430903,赫山区,4,430900,112.38059794000806,28.584983567572916 +430921,南县,4,430900,112.40254156733745,29.36706985336325 +430922,桃江县,4,430900,112.16254146397702,28.523870869897745 +430923,安化县,4,430900,111.21949270431685,28.380053748765423 +430971,益阳市大通湖管理区,4,430900,112.56403273355993,29.23652255562655 +430972,湖南益阳高新技术产业园区,4,430900,112.36169911920373,28.818587615911984 +430981,沅江市,4,430900,112.36053222034666,28.8502335885833 +431002,北湖区,4,431000,113.017410129382,25.790537261261562 +431003,苏仙区,4,431000,113.04842340845934,25.806737374103573 +431021,桂阳县,4,431000,112.7405603662173,25.759775327893205 +431022,宜章县,4,431000,112.95547924076412,25.405713969356206 +431023,永兴县,4,431000,113.1225331638553,26.132968478532568 +431024,嘉禾县,4,431000,112.37558377831412,25.593421718267894 +431025,临武县,4,431000,112.57041115183141,25.282527010968707 +431026,汝城县,4,431000,113.69154466691944,25.556056733977883 +431027,桂东县,4,431000,113.9515936017977,26.083173927327394 +431028,安仁县,4,431000,113.27542359380587,26.71568278850785 +431081,资兴市,4,431000,113.24255612232601,25.981873602722327 +431102,零陵区,4,431100,111.63750237493397,26.227682089778906 +431103,冷水滩区,4,431100,111.59842608526284,26.467705510832307 +431122,东安县,4,431100,111.32354235353662,26.398288039365276 +431123,双牌县,4,431100,111.66759381289727,25.967169239802526 +431124,道县,4,431100,111.60740437934045,25.53252996282964 +431125,江永县,4,431100,111.3504366323604,25.27972066791849 +431126,宁远县,4,431100,111.95245340696962,25.577051937460364 +431127,蓝山县,4,431100,112.2034349358637,25.37593472464048 +431128,新田县,4,431100,112.21040920017975,25.909825802753833 +431129,江华瑶族自治县,4,431100,111.58545203844761,25.19134892401461 +431171,永州经济技术开发区,4,431100,111.61945505792227,26.425864117900094 +431173,永州市回龙圩管理区,4,431100,111.35226818746409,25.17396711072476 +431181,祁阳市,4,431100,111.84742029287784,26.586434994948338 +431202,鹤城区,4,431200,110.04639994092115,27.585225763163724 +431221,中方县,4,431200,109.95146189431664,27.446081174059824 +431222,沅陵县,4,431200,110.40043076601941,28.45901810262646 +431223,辰溪县,4,431200,110.19048661755465,28.012605313812955 +431224,溆浦县,4,431200,110.60155112895423,27.913963373885736 +431225,会同县,4,431200,109.74158556791785,26.893383817273584 +431226,麻阳苗族自治县,4,431200,109.80943628984454,27.871930162950118 +431227,新晃侗族自治县,4,431200,109.18147151143545,27.358782968573223 +431228,芷江侗族自治县,4,431200,109.69140226960282,27.449513277764982 +431229,靖州苗族侗族自治县,4,431200,109.702451607033,26.58132135106617 +431230,通道侗族自治县,4,431200,109.79044548255604,26.16421986471205 +431271,怀化市洪江管理区,4,431200,109.84350982630171,27.21507709393158 +431281,洪江市,4,431200,109.84350982630171,27.21507709393158 +431302,娄星区,4,431300,112.008558425035,27.73560484210878 +431321,双峰县,4,431300,112.18146049665532,27.4629826585733 +431322,新化县,4,431300,111.33451533499847,27.7326667510658 +431381,冷水江市,4,431300,111.44153972291355,27.692058848957522 +431382,涟源市,4,431300,111.67056199396235,27.69816753225533 +433101,吉首市,4,433100,109.70444880967267,28.267493127592708 +433122,泸溪县,4,433100,110.22659921768825,28.22187309756933 +433123,凤凰县,4,433100,109.60552668830216,27.95384780972621 +433124,花垣县,4,433100,109.48856183127808,28.5779099343968 +433125,保靖县,4,433100,109.66647357306476,28.705968872486093 +433126,古丈县,4,433100,109.95750740056623,28.623083527843185 +433127,永顺县,4,433100,109.86358578664593,28.98577448568191 +433130,龙山县,4,433100,109.4504157369622,29.464121765857005 +440103,荔湾区,4,440100,113.250502263373,23.13179113497485 +440104,越秀区,4,440100,113.27342648099675,23.13526012014849 +440105,海珠区,4,440100,113.32353998097368,23.08898129664783 +440106,天河区,4,440100,113.36850942427998,23.13035783510465 +440111,白云区,4,440100,113.27943309061779,23.16431683445584 +440112,黄埔区,4,440100,113.48707083968644,23.187491541424553 +440113,番禺区,4,440100,113.39046958043075,22.94383073151757 +440114,花都区,4,440100,113.22657580629208,23.411161504875746 +440115,南沙区,4,440100,113.5314355437236,22.807929296528254 +440117,从化区,4,440100,113.59358543922477,23.5539859225784 +440118,增城区,4,440100,113.81754566889597,23.266592400631392 +440203,武江区,4,440200,113.59455578883632,24.798486030733113 +440204,浈江区,4,440200,113.6174774013741,24.810413749784487 +440205,曲江区,4,440200,113.61150106464875,24.688407846380294 +440222,始兴县,4,440200,114.06856735204634,24.958558154345624 +440224,仁化县,4,440200,113.75544293443409,25.092287524427956 +440229,翁源县,4,440200,114.13642723668924,24.356594490867355 +440232,乳源瑶族自治县,4,440200,113.28243136491744,24.782333322942147 +440233,新丰县,4,440200,114.21351173078048,24.065546505163553 +440281,乐昌市,4,440200,113.35457868209694,25.135591561194918 +440282,南雄市,4,440200,114.31857889065107,25.123526537362086 +440303,罗湖区,4,440300,114.13743190157126,22.55448487585574 +440304,福田区,4,440300,114.06149095039383,22.528501131330707 +440305,南山区,4,440300,113.93653916925258,22.538500195784383 +440306,宝安区,4,440300,113.89042744066019,22.560032908924555 +440307,龙岗区,4,440300,114.25445487896184,22.72601655078104 +440308,盐田区,4,440300,114.24343015510262,22.563437914836104 +440309,龙华区,4,440300,114.05115334041898,22.702687338231396 +440310,坪山区,4,440300,114.35719731400391,22.71537636510112 +440311,光明区,4,440300,113.94256006193123,22.754465883635365 +440402,香洲区,4,440400,113.55047243408478,22.27300386179866 +440403,斗门区,4,440400,113.3034672545293,22.215515662229034 +440404,金湾区,4,440400,113.36951705357019,22.152576780675133 +440507,龙湖区,4,440500,116.7235246469334,23.37777578062844 +440511,金平区,4,440500,116.70955006744148,23.371750385773453 +440512,濠江区,4,440500,116.73351658894812,23.291546359756765 +440513,潮阳区,4,440500,116.60851450269834,23.27085495694311 +440514,潮南区,4,440500,116.43949131426885,23.25634143267327 +440515,澄海区,4,440500,116.76242504838574,23.472341401523146 +440523,南澳县,4,440500,117.03049603112653,23.42781204594636 +440604,禅城区,4,440600,113.12950518240757,23.015374368816396 +440605,南海区,4,440600,113.14944567828094,23.03501144600308 +440606,顺德区,4,440600,113.30045343954433,22.81045342679539 +440607,三水区,4,440600,112.90347085514507,23.16192049398403 +440608,高明区,4,440600,112.89947240749092,22.90634960163004 +440703,蓬江区,4,440700,113.08454642893685,22.601065786023433 +440704,江海区,4,440700,113.11755718014552,22.56611545182351 +440705,新会区,4,440700,113.03845482238786,22.465113060519734 +440781,台山市,4,440700,112.80044482505359,22.257923470251228 +440783,开平市,4,440700,112.70446429490508,22.382499490200658 +440784,鹤山市,4,440700,112.97052666652624,22.77116943137714 +440785,恩平市,4,440700,112.3114375784788,22.189035201534217 +440802,赤坎区,4,440800,110.372532540958,21.272134812703147 +440803,霞山区,4,440800,110.40442535095987,21.19822718530276 +440804,坡头区,4,440800,110.46256709710735,21.2503767385989 +440811,麻章区,4,440800,110.34057918516478,21.26918876656652 +440823,遂溪县,4,440800,110.25651530641605,21.3831029620292 +440825,徐闻县,4,440800,110.18247274427223,20.33172368670216 +440881,廉江市,4,440800,110.29244770646442,21.615816495304664 +440882,雷州市,4,440800,110.10258050647992,20.919880592716495 +440883,吴川市,4,440800,110.78645034014797,21.447262768557348 +440902,茂南区,4,440900,110.92554576187803,21.647152082303503 +440904,电白区,4,440900,111.02047123220541,21.52035118819837 +440981,高州市,4,440900,110.85947386452162,21.924048896771122 +440982,化州市,4,440900,110.64643101120122,21.670231093869553 +440983,信宜市,4,440900,110.95358169717407,22.36009314172976 +441202,端州区,4,441200,112.49156022978593,23.057563726175687 +441203,鼎湖区,4,441200,112.57443448254817,23.164308112715716 +441204,高要区,4,441200,112.46444604577336,23.03189554686566 +441223,广宁县,4,441200,112.4474238750093,23.64103572633298 +441224,怀集县,4,441200,112.17391841342658,23.926565780867453 +441225,封开县,4,441200,111.51852585255149,23.429768921261136 +441226,德庆县,4,441200,111.79155377492526,23.15137330611021 +441284,四会市,4,441200,112.74057914080245,23.33238100517465 +441302,惠城区,4,441300,114.38949004961869,23.08972597254434 +441303,惠阳区,4,441300,114.46346443037433,22.7947208785705 +441322,博罗县,4,441300,114.29657265142765,23.178805592432578 +441323,惠东县,4,441300,114.72642585137605,22.991443112002415 +441324,龙门县,4,441300,114.26143022124452,23.733838340061837 +441402,梅江区,4,441400,116.1235359766734,24.315878769037926 +441403,梅县区,4,441400,116.08856170928166,24.270999314695175 +441422,大埔县,4,441400,116.70155892128847,24.353459468581786 +441423,丰顺县,4,441400,116.18845382094152,23.745738303254953 +441424,五华县,4,441400,115.78248548652893,23.938408899570756 +441426,平远县,4,441400,115.89747694600936,24.572414126136522 +441427,蕉岭县,4,441400,116.17743924793456,24.664992548661576 +441481,兴宁市,4,441400,115.73757946359162,24.14229377932197 +441502,城区,4,441500,115.37153074806264,22.784551839489296 +441521,海丰县,4,441500,115.32944477561186,22.972744260965804 +441523,陆河县,4,441500,115.6664827147057,23.307677076489913 +441581,陆丰市,4,441500,115.65849031092495,22.923635773560758 +441602,源城区,4,441600,114.70843899032516,23.740298338346726 +441621,紫金县,4,441600,115.19044771833511,23.641430253188638 +441622,龙川县,4,441600,115.2665554848457,24.105850721954667 +441623,连平县,4,441600,114.49544419634952,24.375808067413903 +441624,和平县,4,441600,114.94544881430497,24.44825276768894 +441625,东源县,4,441600,114.75350832520412,23.79425787311432 +441702,江城区,4,441700,111.96145451800717,21.868127886755477 +441704,阳东区,4,441700,112.01234990309973,21.87541671131781 +441721,阳西县,4,441700,111.62448107724893,21.758700627504624 +441781,阳春市,4,441700,111.79753613029754,22.176014807320136 +441802,清城区,4,441800,113.06947663536754,23.704022037924876 +441803,清新区,4,441800,112.9915577951189,23.75427033709297 +441821,佛冈县,4,441800,113.53844124873252,23.885475421110662 +441823,阳山县,4,441800,112.64751954084923,24.470943635879568 +441825,连山壮族瑶族自治县,4,441800,112.10042570408524,24.576845604092956 +441826,连南瑶族自治县,4,441800,112.29351728186617,24.731548581479572 +441881,英德市,4,441800,113.42144297474346,24.191939355216665 +441882,连州市,4,441800,112.38357258887281,24.78646685504731 +445102,湘桥区,4,445100,116.63446160819274,23.680686981566488 +445103,潮安区,4,445100,116.68452606068884,23.468357129830867 +445122,饶平县,4,445100,117.01044917588082,23.670347111195284 +445202,榕城区,4,445200,116.37351589492418,23.53074641796635 +445203,揭东区,4,445200,116.4184557839792,23.572485187047057 +445222,揭西县,4,445200,115.84856088727683,23.43729970820865 +445224,惠来县,4,445200,116.30144448456024,23.039645374524625 +445281,普宁市,4,445200,116.1724489811672,23.30363452186039 +445302,云城区,4,445300,112.05052923471945,22.93389780297112 +445303,云安区,4,445300,112.00956308991704,23.076892611910726 +445321,新兴县,4,445300,112.23149683218897,22.701890082605544 +445322,郁南县,4,445300,111.54155382446162,23.240174042652985 +445381,罗定市,4,445300,111.57648048166133,22.774296060762723 +450102,兴宁区,4,450100,108.37544497421953,22.86029095125464 +450103,青秀区,4,450100,108.5014386100909,22.792227439630846 +450105,江南区,4,450100,108.27949435764451,22.78704575358756 +450107,西乡塘区,4,450100,108.31957243762004,22.839651509338932 +450108,良庆区,4,450100,108.39987897391343,22.759847029612576 +450109,邕宁区,4,450100,108.49342024528094,22.764600449550194 +450110,武鸣区,4,450100,108.28151653317735,23.16451560691069 +450123,隆安县,4,450100,107.70257390338148,23.1715852498276 +450124,马山县,4,450100,108.18356215633243,23.713877725360007 +450125,上林县,4,450100,108.61145148077557,23.438518877662855 +450126,宾阳县,4,450100,108.81650237946799,23.223700543766824 +450181,横州市,4,450100,109.26756780639981,22.68557260883826 +450202,城中区,4,450200,109.41748215019682,24.32131406989099 +450203,鱼峰区,4,450200,109.44941628225213,24.318521699514562 +450204,柳南区,4,450200,109.39155193284601,24.341578870911754 +450205,柳北区,4,450200,109.40853179342056,24.367867017647864 +450206,柳江区,4,450200,109.33244423878395,24.260814965350463 +450222,柳城县,4,450200,109.25156152933667,24.65637039148558 +450223,鹿寨县,4,450200,109.7575544754718,24.478622266897954 +450224,融安县,4,450200,109.4045632593399,25.2305114471283 +450225,融水苗族自治县,4,450200,109.26256083114997,25.07207650410932 +450226,三江侗族自治县,4,450200,109.6145474722304,25.78883038778805 +450302,秀峰区,4,450300,110.27043670622179,25.279618485669605 +450303,叠彩区,4,450300,110.30846314624377,25.32023327484348 +450304,象山区,4,450300,110.2874226752738,25.26793001021147 +450305,七星区,4,450300,110.32453805384785,25.258567087500396 +450311,雁山区,4,450300,110.31547927159657,25.06621354391673 +450312,临桂区,4,450300,110.21858669186409,25.2443019992707 +450321,阳朔县,4,450300,110.50347503171274,24.7845191914325 +450323,灵川县,4,450300,110.33253719491991,25.41554953076031 +450324,全州县,4,450300,111.07956895507631,25.93434302736133 +450325,兴安县,4,450300,110.6785163280738,25.617567220036516 +450326,永福县,4,450300,109.98959083099726,24.98557797308376 +450327,灌阳县,4,450300,111.16755205093322,25.4951207520505 +450328,龙胜各族自治县,4,450300,110.01749399673898,25.804116784253843 +450329,资源县,4,450300,110.65843911010187,26.048569077338414 +450330,平乐县,4,450300,110.64944626347499,24.639632128059755 +450332,恭城瑶族自治县,4,450300,110.83455963070226,24.837194365911333 +450381,荔浦市,4,450300,110.4014367783597,24.494121641923368 +450403,万秀区,4,450400,111.32751969101128,23.478845767295883 +450405,长洲区,4,450400,111.2814991404281,23.49150958440631 +450406,龙圩区,4,450400,111.2534482932606,23.421414485718135 +450421,苍梧县,4,450400,111.55554663955536,23.845998205466344 +450422,藤县,4,450400,110.92149925487912,23.381009915550127 +450423,蒙山县,4,450400,110.53141700425248,24.20001744593537 +450481,岑溪市,4,450400,111.00143182658881,22.92462127871964 +450502,海城区,4,450500,109.12452136754654,21.481065838235963 +450503,银海区,4,450500,109.14654476440518,21.454768668894744 +450512,铁山港区,4,450500,109.42847264861612,21.535295042849512 +450521,合浦县,4,450500,109.21343861130296,21.66700573564183 +450602,港口区,4,450600,108.38648254384755,21.649565586624067 +450603,防城区,4,450600,108.36044848237981,21.775411305197203 +450621,上思县,4,450600,107.99044264125014,22.159914083110326 +450681,东兴市,4,450600,107.97748898597,21.553615433580305 +450702,钦南区,4,450700,108.66454861267236,21.945972440988985 +450703,钦北区,4,450700,108.63851257493252,22.020367050196267 +450721,灵山县,4,450700,109.29747796631128,22.42241332670075 +450722,浦北县,4,450700,109.56342292940231,22.27782232693711 +450802,港北区,4,450800,109.57843298565523,23.117563632763698 +450803,港南区,4,450800,109.60655345149974,23.081239578360368 +450804,覃塘区,4,450800,109.45942672936037,23.13325108921251 +450821,平南县,4,450800,110.39845197864268,23.545506098828316 +450881,桂平市,4,450800,110.08552599671751,23.40004888369942 +450902,玉州区,4,450900,110.15743140022326,22.634492736172014 +450903,福绵区,4,450900,110.08853765576929,22.56370541224873 +450921,容县,4,450900,110.56453016228923,22.863665599934787 +450922,陆川县,4,450900,110.27045619945135,22.32722152776934 +450923,博白县,4,450900,109.98255305648165,22.278674815493492 +450924,兴业县,4,450900,109.881551807009,22.742267653422893 +450981,北流市,4,450900,110.36057016580777,22.713958021611358 +451002,右江区,4,451000,106.6255891396861,23.907084503108653 +451003,田阳区,4,451000,106.92141255250411,23.74200572247847 +451022,田东县,4,451000,107.13249943540772,23.603129804014763 +451024,德保县,4,451000,106.62158260728236,23.328994351285857 +451026,那坡县,4,451000,105.83942261016988,23.39379383129231 +451027,凌云县,4,451000,106.56841567704747,24.354015240603566 +451028,乐业县,4,451000,106.56342972214655,24.783216467052593 +451029,田林县,4,451000,106.23449791231099,24.300534611050978 +451030,西林县,4,451000,105.10049410469409,24.495667790361946 +451031,隆林各族自治县,4,451000,105.35045947039562,24.776813610296077 +451081,靖西市,4,451000,106.42445269708266,23.140125669019067 +451082,平果市,4,451000,107.59657106849201,23.33492274259196 +451102,八步区,4,451100,111.55856737149277,24.41753104091857 +451103,平桂区,4,451100,111.47841426578044,24.462001422772527 +451121,昭平县,4,451100,110.81757491927796,24.17510605063606 +451122,钟山县,4,451100,111.3095857401549,24.53167310793877 +451123,富川瑶族自治县,4,451100,111.28451124863261,24.820159951323383 +451202,金城江区,4,451200,108.04350707482638,24.69567938223939 +451203,宜州区,4,451200,108.61785936346779,24.506710338420095 +451221,南丹县,4,451200,107.54748028933784,24.98184977548506 +451222,天峨县,4,451200,107.17845647579135,25.005664155231774 +451223,凤山县,4,451200,107.04841983631258,24.553217796777115 +451224,东兰县,4,451200,107.38050415950381,24.516871463380625 +451225,罗城仫佬族自治县,4,451200,108.91157445325456,24.783084996429107 +451226,环江毛南族自治县,4,451200,108.2644430691687,24.832087938550632 +451227,巴马瑶族自治县,4,451200,107.26648125302391,24.147264804270304 +451228,都安瑶族自治县,4,451200,108.11145804764794,23.9373312619231 +451229,大化瑶族自治县,4,451200,108.00441075294238,23.74281822296297 +451302,兴宾区,4,451300,109.24149907033942,23.733211038144013 +451321,忻城县,4,451300,108.67256239612422,24.071888636575988 +451322,象州县,4,451300,109.71146215027841,23.979680993270705 +451323,武宣县,4,451300,109.66944220328261,23.600404197633267 +451324,金秀瑶族自治县,4,451300,110.19550625891219,24.13631948648557 +451381,合山市,4,451300,108.8925657696864,23.812260071049884 +451402,江州区,4,451400,107.3595332173803,22.411245728018145 +451421,扶绥县,4,451400,107.91046515426495,22.64109713634538 +451422,宁明县,4,451400,107.0835238190199,22.145884844183623 +451423,龙州县,4,451400,106.86058190847446,22.348298905766136 +451424,大新县,4,451400,107.20755690311638,22.836229044405744 +451425,天等县,4,451400,107.1494726485215,23.087505812090356 +451481,凭祥市,4,451400,106.77352361813976,22.100152592954007 +460105,秀英区,4,460100,110.30043588820925,20.01364238516145 +460106,龙华区,4,460100,110.33554112854428,20.036320733520892 +460107,琼山区,4,460100,110.36052605900726,20.00915064449064 +460108,美兰区,4,460100,110.373498399042,20.034646217625145 +460202,海棠区,4,460200,109.74231364453345,18.38990415799685 +460203,吉阳区,4,460200,109.52055165827497,18.25705766726178 +460204,天涯区,4,460200,109.46246255283033,18.306919633503327 +460205,崖州区,4,460200,109.17839786930352,18.36345920201216 +460321,西沙群岛,4,460300,111.78649137422545,16.509800953233466 +460322,南沙群岛,4,460300,112.34048204137058,16.838953334409123 +460323,中沙群岛的岛礁及其海域,4,460300,112.34048204137058,16.838953334409123 +469001,五指山市,4,469000,110.35553651088428,20.025801964462914 +469002,琼海市,4,469000,110.4899334354765,19.247978472596312 +469005,文昌市,4,469000,110.76042616004085,19.619303118384774 +469006,万宁市,4,469000,110.35553651088428,20.025801964462914 +469007,东方市,4,469000,108.64868831025453,19.10469043386384 +469021,定安县,4,469000,110.35553651088428,20.025801964462914 +469022,屯昌县,4,469000,110.35553651088428,20.025801964462914 +469023,澄迈县,4,469000,110.35553651088428,20.025801964462914 +469024,临高县,4,469000,110.35553651088428,20.025801964462914 +469025,白沙黎族自治县,4,469000,110.35553651088428,20.025801964462914 +469026,昌江黎族自治县,4,469000,109.06216791601689,19.30410091265651 +469027,乐东黎族自治县,4,469000,110.35553651088428,20.025801964462914 +469028,陵水黎族自治县,4,469000,110.35553651088428,20.025801964462914 +469029,保亭黎族苗族自治县,4,469000,109.58323604555439,19.409900835650884 +469030,琼中黎族苗族自治县,4,469000,109.58323604555439,19.409900835650884 +500101,万州区,4,500100,108.41555837050288,30.813621636707666 +500102,涪陵区,4,500100,107.39641979754104,29.70927819797873 +500103,渝中区,4,500100,106.57544006681098,29.559090182993803 +500104,大渡口区,4,500100,106.48853359010742,29.490107128556012 +500105,江北区,4,500100,106.5804150623847,29.612832314080265 +500106,沙坪坝区,4,500100,106.46446511092543,29.547192516541124 +500107,九龙坡区,4,500100,106.51755873943073,29.50792771555286 +500108,南岸区,4,500100,106.66842977859555,29.50268309883491 +500109,北碚区,4,500100,106.40228116964546,29.811156512938553 +500110,綦江区,4,500100,106.65748419545173,29.034113748311206 +500111,大足区,4,500100,105.72840462545042,29.713113506076837 +500112,渝北区,4,500100,106.6375590606026,29.723927343006626 +500113,巴南区,4,500100,106.54745425696237,29.408474739770405 +500114,黔江区,4,500100,108.77759119834955,29.53881256766016 +500115,长寿区,4,500100,107.08753107006804,29.863520067323154 +500116,江津区,4,500100,106.26559760837834,29.295884374464997 +500117,合川区,4,500100,106.28254108757974,29.978181239534244 +500118,永川区,4,500100,105.93349936145171,29.362046335949085 +500119,南川区,4,500100,107.10558512437106,29.16347859960621 +500120,璧山区,4,500100,106.23347456267436,29.598346607316348 +500151,铜梁区,4,500100,106.0634494941099,29.850508778722265 +500152,潼南区,4,500100,105.84739903616547,30.19731423966403 +500153,荣昌区,4,500100,105.60141979927967,29.41130739668994 +500154,开州区,4,500100,108.39949765612053,31.16664411319345 +500155,梁平区,4,500100,107.77609725763075,30.66055325502347 +500156,武隆区,4,500100,107.76642518951796,29.33202687074895 +500229,城口县,4,500100,108.67161164255864,31.953390746292587 +500230,丰都县,4,500100,107.73748061819887,29.86941278921405 +500231,垫江县,4,500100,107.33956587471806,30.333293968500094 +500233,忠县,4,500100,108.04453753385525,30.305268389356584 +500235,云阳县,4,500100,108.70344750000172,30.93661127197471 +500236,奉节县,4,500100,109.47047275630993,31.024601766549154 +500237,巫山县,4,500100,109.8855455070308,31.080518811735914 +500238,巫溪县,4,500100,109.57640255899645,31.404880009858267 +500240,石柱土家族自治县,4,500100,108.12041416638326,30.006108697868918 +500241,秀山土家族苗族自治县,4,500100,109.01357389980959,28.45344786428608 +500242,酉阳土家族苗族自治县,4,500100,108.77458600709745,28.8470402586741 +500243,彭水苗族土家族自治县,4,500100,108.17257803588225,29.29946229044254 +510104,锦江区,4,510100,104.08956175659785,30.661904490317255 +510105,青羊区,4,510100,104.06744547494219,30.680037807006812 +510106,金牛区,4,510100,104.05740358713781,30.697356042874134 +510107,武侯区,4,510100,104.04942447827598,30.648712685321083 +510108,成华区,4,510100,104.10859155035178,30.665589283983017 +510112,龙泉驿区,4,510100,104.28139696435632,30.56269784099964 +510113,青白江区,4,510100,104.25751245813483,30.884421372736316 +510114,新都区,4,510100,104.1653928450365,30.82940746819094 +510115,温江区,4,510100,103.86357306318057,30.68848683662664 +510116,双流区,4,510100,103.93039154226817,30.580399352821136 +510117,郫都区,4,510100,103.90544568808663,30.79953765357336 +510118,新津区,4,510100,103.81743303794937,30.416363953297463 +510121,金堂县,4,510100,104.41844263261966,30.868358423946407 +510129,大邑县,4,510100,103.52752981766662,30.59315540240197 +510131,蒲江县,4,510100,103.51257132414501,30.202500428139256 +510181,都江堰市,4,510100,103.65353360443186,30.994256893542204 +510182,彭州市,4,510100,103.96556137078096,30.995564002628758 +510183,邛崃市,4,510100,103.47048112964444,30.41639860085413 +510184,崇州市,4,510100,103.67943336923445,30.63659589137926 +510185,简阳市,4,510100,104.55349406265084,30.41745149135266 +510302,自流井区,4,510300,104.78344732590438,29.343498562347857 +510303,贡井区,4,510300,104.72155659154275,29.35147626952156 +510304,大安区,4,510300,104.78041635328415,29.369928541322043 +510311,沿滩区,4,510300,104.8804090751611,29.278797205251124 +510321,荣县,4,510300,104.42387467445577,29.450986724011596 +510322,富顺县,4,510300,104.98149440602947,29.186886257830583 +510402,东区,4,510400,101.71059687062481,26.552106477635352 +510403,西区,4,510400,101.63741344787044,26.603867626836042 +510411,仁和区,4,510400,101.7444499629099,26.504019493295285 +510421,米易县,4,510400,102.1175384292266,26.902517448404254 +510422,盐边县,4,510400,101.86049854831414,26.688767481963932 +510502,江阳区,4,510500,105.44157316095377,28.884498343782106 +510503,纳溪区,4,510500,105.37800502071394,28.779001444761114 +510504,龙马潭区,4,510500,105.44459416238283,28.91908396336834 +510521,泸县,4,510500,105.38830966287658,29.157827612736778 +510522,合江县,4,510500,105.8373682752998,28.818006422269857 +510524,叙永县,4,510500,105.45117496888565,28.161785996115697 +510525,古蔺县,4,510500,105.81914219549165,28.044757961922556 +510603,旌阳区,4,510600,104.42343882820505,31.148596291553144 +510604,罗江区,4,510600,104.51741416082588,31.324178639826055 +510623,中江县,4,510600,104.6855301505767,31.038953695301622 +510681,广汉市,4,510600,104.28842189310545,30.9824152397429 +510682,什邡市,4,510600,104.17442710355034,31.13288904823836 +510683,绵竹市,4,510600,104.22760930499648,31.343592258210748 +510703,涪城区,4,510700,104.7634203349053,31.46131438857991 +510704,游仙区,4,510700,104.77242899171212,31.479904474057665 +510705,安州区,4,510700,104.57355502129967,31.540750527876018 +510722,三台县,4,510700,105.10148979832758,31.101585571237983 +510723,盐亭县,4,510700,105.39550321547124,31.214318764837078 +510725,梓潼县,4,510700,105.17756684281485,31.648313467681294 +510726,北川羌族自治县,4,510700,104.36158555316277,31.963084103414715 +510727,平武县,4,510700,104.53542150324834,32.41468197769553 +510781,江油市,4,510700,104.75241160088052,31.784128193388135 +510802,利州区,4,510800,105.85242622329098,32.440207812726065 +510811,昭化区,4,510800,105.9694189278245,32.32961849015881 +510812,朝天区,4,510800,105.89658880860304,32.64972624030801 +510821,旺苍县,4,510800,106.29649124536307,32.23509738307936 +510822,青川县,4,510800,105.24540705458948,32.58161685729994 +510823,剑阁县,4,510800,105.53157601886727,32.29347851677268 +510824,苍溪县,4,510800,105.94148261460028,31.73868440061661 +510903,船山区,4,510900,105.57452283750214,30.531470607828908 +510904,安居区,4,510900,105.46246730988199,30.3614964697459 +510921,蓬溪县,4,510900,105.71344605411188,30.76375144179148 +510923,大英县,4,510900,105.24340392313277,30.600810129920717 +510981,射洪市,4,510900,105.39450950991609,30.877138522336935 +511002,市中区,4,511000,105.07457421785665,29.592710148735634 +511011,东兴区,4,511000,105.08254748773004,29.59848572858322 +511024,威远县,4,511000,104.67449822860426,29.533634931412458 +511025,资中县,4,511000,104.85849482242187,29.770234032564836 +511071,内江经济开发区,4,511000,105.06458802499718,29.58588653832045 +511083,隆昌市,4,511000,105.29429094213069,29.345238365347296 +511102,市中区,4,511100,103.76755865551674,29.561363941632962 +511111,沙湾区,4,511100,103.55643566073162,29.419272499245103 +511112,五通桥区,4,511100,103.82445508073617,29.413185014439133 +511113,金口河区,4,511100,103.08509799370174,29.250801285423922 +511123,犍为县,4,511100,103.95550653594924,29.214219463759488 +511124,井研县,4,511100,104.07651071352818,29.65730305907957 +511126,夹江县,4,511100,103.57841009994,29.743846302985492 +511129,沐川县,4,511100,103.90846703742643,28.962888278215505 +511132,峨边彝族自治县,4,511100,103.26857725337631,29.236089109562577 +511133,马边彝族自治县,4,511100,103.55245419105162,28.841736014812202 +511181,峨眉山市,4,511100,103.49154557410374,29.60697552746157 +511302,顺庆区,4,511300,106.09841065837705,30.802753098595275 +511303,高坪区,4,511300,106.12554047291444,30.787254931591587 +511304,嘉陵区,4,511300,106.078432972649,30.76489556013861 +511321,南部县,4,511300,106.04357826970909,31.353705301525753 +511322,营山县,4,511300,106.57240802851658,31.083002970198866 +511323,蓬安县,4,511300,106.41848194209304,31.034630778270895 +511324,仪陇县,4,511300,106.30943016843716,31.277597359981243 +511325,西充县,4,511300,105.90761137653269,31.000688020791618 +511381,阆中市,4,511300,106.01156526641945,31.564074553640427 +511402,东坡区,4,511400,103.83852480217091,30.04827213443505 +511403,彭山区,4,511400,103.87955823006952,30.198854416859795 +511421,仁寿县,4,511400,104.14047690442844,30.001663984300848 +511423,洪雅县,4,511400,103.37960224487875,29.91061583746853 +511424,丹棱县,4,511400,103.51958331729479,30.020362794871584 +511425,青神县,4,511400,103.85355883179157,29.837054743717477 +511502,翠屏区,4,511500,104.6264379855308,28.77205177302718 +511503,南溪区,4,511500,104.97651330197829,28.8515036480266 +511504,叙州区,4,511500,104.53944275624289,28.69624639475244 +511523,江安县,4,511500,105.07359488518999,28.72960972185531 +511524,长宁县,4,511500,104.92756445509465,28.588133452698838 +511525,高县,4,511500,104.52441132031883,28.44251080410157 +511526,珙县,4,511500,104.71557459549268,28.44431976524751 +511527,筠连县,4,511500,104.5174064237849,28.170174457647605 +511528,兴文县,4,511500,105.24240230063606,28.309904884116502 +511529,屏山县,4,511500,104.35267533908066,28.83427496647727 +511602,广安区,4,511600,106.64853115607652,30.479768100141722 +511603,前锋区,4,511600,106.90447959587928,30.506435157767033 +511621,岳池县,4,511600,106.44641061972047,30.544119864579894 +511622,武胜县,4,511600,106.3024617431046,30.35549566037789 +511623,邻水县,4,511600,106.93640258895681,30.34107251833194 +511681,华蓥市,4,511600,106.7894618160094,30.396307084289287 +511702,通川区,4,511700,107.51144711201394,31.22093180410479 +511703,达川区,4,511700,107.51841059666617,31.20239336055401 +511722,宣汉县,4,511700,107.73353356629586,31.35975482366174 +511723,开江县,4,511700,107.87542487414112,31.089372149065603 +511724,大竹县,4,511700,107.21157970735341,30.74207661790974 +511725,渠县,4,511700,106.97958296702429,30.84229928348102 +511771,达州经济开发区,4,511700,107.50353699301529,31.142384580155753 +511781,万源市,4,511700,108.04154069684341,32.08742084778871 +511802,雨城区,4,511800,103.0395752053269,30.011061644393436 +511803,名山区,4,511800,103.11548579380317,30.075913663381538 +511822,荥经县,4,511800,102.85343551292941,29.799193512656352 +511823,汉源县,4,511800,102.65857589024432,29.350217385987463 +511824,石棉县,4,511800,102.36640453847592,29.234304877589505 +511825,天全县,4,511800,102.76453022767083,30.072472953275035 +511826,芦山县,4,511800,102.93452771831228,30.14987318956309 +511827,宝兴县,4,511800,102.82148423429224,30.37408211244484 +511902,巴州区,4,511900,106.77551310771157,31.857685602645372 +511903,恩阳区,4,511900,106.6355819024891,31.80261404417579 +511921,通江县,4,511900,107.25151684320765,31.9177143468814 +511922,南江县,4,511900,106.83448345088068,32.35253165416549 +511923,平昌县,4,511900,107.11059310022719,31.56618581009506 +511971,巴中经济开发区,4,511900,106.7515853031645,31.872888585956545 +512002,雁江区,4,512000,104.68307571043178,30.11336313878708 +512021,安岳县,4,512000,105.34245423273225,30.103392734493756 +512022,乐至县,4,512000,105.02747697007167,30.28234834600031 +513201,马尔康市,4,513200,102.21350208208408,31.911747955647705 +513221,汶川县,4,513200,103.5965178842219,31.48300532046848 +513222,理县,4,513200,103.17351138906746,31.442550437563135 +513223,茂县,4,513200,103.85958979688823,31.686809397063193 +513224,松潘县,4,513200,103.61057968918345,32.66179655985326 +513225,九寨沟县,4,513200,104.24954673402509,33.257591509496066 +513226,金川县,4,513200,102.0706104212229,31.482005950337257 +513227,小金县,4,513200,102.369426359284,31.002208697061754 +513228,黑水县,4,513200,102.99651735613097,32.067805449367526 +513230,壤塘县,4,513200,100.98558348726313,32.271093316268534 +513231,阿坝县,4,513200,101.71360970816114,32.9082209186247 +513232,若尔盖县,4,513200,102.97439065413141,33.584376654702446 +513233,红原县,4,513200,102.55061520946042,32.7966052787623 +513301,康定市,4,513300,101.96355522139348,30.004407384261924 +513322,泸定县,4,513300,102.24143209630797,29.92040166495139 +513323,丹巴县,4,513300,101.89643706758775,30.88476979933027 +513324,九龙县,4,513300,101.5134156671805,29.006431902924817 +513325,雅江县,4,513300,101.02050035294431,30.037568967863947 +513326,道孚县,4,513300,101.13154034618545,30.985326277401796 +513327,炉霍县,4,513300,100.68239693357377,31.397991882881524 +513328,甘孜县,4,513300,99.99921035085072,31.628956694034013 +513329,新龙县,4,513300,100.31839824092819,30.94546952526588 +513330,德格县,4,513300,98.5874016113543,31.812106494712996 +513331,白玉县,4,513300,98.8311002182397,31.21531444878755 +513332,石渠县,4,513300,98.10948062240828,32.98400342047804 +513333,色达县,4,513300,100.33941364918138,32.27433041322677 +513334,理塘县,4,513300,100.27557457997872,30.000030621750792 +513335,巴塘县,4,513300,99.11672669581999,30.01166170737641 +513336,乡城县,4,513300,99.80505957092221,28.936733475223633 +513337,稻城县,4,513300,100.30446155970226,29.04312155812638 +513338,得荣县,4,513300,99.29298419818103,28.718780051460737 +513401,西昌市,4,513400,102.27148382916775,27.900580896263623 +513402,会理市,4,513400,102.25143634510819,26.661199778427346 +513422,木里藏族自治县,4,513400,101.28639697674048,27.934598559239884 +513423,盐源县,4,513400,101.5154291291499,27.4281548677411 +513424,德昌县,4,513400,102.18259551084873,27.408504192993636 +513426,会东县,4,513400,102.58446218230412,26.640823775829343 +513427,宁南县,4,513400,102.75809340850662,27.067256035480593 +513428,普格县,4,513400,102.5465967186295,27.38199621380657 +513429,布拖县,4,513400,102.81847849300347,27.712128733800274 +513430,金阳县,4,513400,103.25454895521494,27.702144511749296 +513431,昭觉县,4,513400,102.84942278221764,28.02050626800562 +513432,喜德县,4,513400,102.41956715684437,28.312709832521158 +513433,冕宁县,4,513400,102.18357457402372,28.55529444536005 +513434,越西县,4,513400,102.51447448140046,28.645827564326137 +513435,甘洛县,4,513400,102.77859651312069,28.96482319050036 +513436,美姑县,4,513400,103.13858579866466,28.33401962389037 +513437,雷波县,4,513400,103.57842869486406,28.268950617624277 +520102,南明区,4,520100,106.72052763544337,26.574336181539334 +520103,云岩区,4,520100,106.73053475882122,26.61038107642634 +520111,花溪区,4,520100,106.67644077730033,26.415879456429906 +520112,乌当区,4,520100,106.7575580343162,26.636529135598032 +520113,白云区,4,520100,106.62959683988699,26.68358849912381 +520115,观山湖区,4,520100,106.60477908407937,26.622071267910325 +520121,开阳县,4,520100,106.97155955927653,27.06367357395087 +520122,息烽县,4,520100,106.74756178043502,27.096475267062225 +520123,修文县,4,520100,106.59849220313932,26.844862447593908 +520181,清镇市,4,520100,106.47752261032251,26.56198789847887 +520201,钟山区,4,520200,104.85052981695918,26.580704079622272 +520203,六枝特区,4,520200,105.48342934685516,26.21921429063836 +520204,水城区,4,520200,104.96456610819116,26.553719763691845 +520281,盘州市,4,520200,104.47858183931757,25.715651258076416 +520302,红花岗区,4,520300,106.90049658667778,27.65087026073177 +520303,汇川区,4,520300,106.94045752761485,27.756343380086907 +520304,播州区,4,520300,106.83650354793187,27.542500878000244 +520322,桐梓县,4,520300,106.83248902060909,28.139468384162452 +520323,绥阳县,4,520300,107.19749228818591,27.953080005876046 +520324,正安县,4,520300,107.46057489060091,28.559091728779737 +520325,道真仡佬族苗族自治县,4,520300,107.61948378780525,28.868649814380205 +520326,务川仡佬族苗族自治县,4,520300,107.90545629257353,28.569077110561935 +520327,凤冈县,4,520300,107.72354763025206,27.960695338964733 +520328,湄潭县,4,520300,107.47259853018687,27.754498364959613 +520329,余庆县,4,520300,107.91146020727803,27.221379027996527 +520330,习水县,4,520300,106.20342803998653,28.339117886481347 +520381,赤水市,4,520300,105.70348859502005,28.596118908732613 +520382,仁怀市,4,520300,106.4075265551776,27.797752158542853 +520402,西秀区,4,520400,105.97240632053426,26.251497663244066 +520403,平坝区,4,520400,106.26358378708674,26.411186471257356 +520422,普定县,4,520400,105.74848570613602,26.308233451347096 +520423,镇宁布依族苗族自治县,4,520400,105.77658344485114,26.063829083031695 +520424,关岭布依族苗族自治县,4,520400,105.62547597167618,25.949877045969167 +520425,紫云苗族布依族自治县,4,520400,106.09041375093291,25.75740872895845 +520502,七星关区,4,520500,105.31158071810607,27.3040952234272 +520521,大方县,4,520500,105.61845131242103,27.147060750626153 +520523,金沙县,4,520500,106.22644163900851,27.465354872613517 +520524,织金县,4,520500,105.77758954702198,26.669221885658793 +520525,纳雍县,4,520500,105.38948662275538,26.78371722913166 +520526,威宁彝族回族苗族自治县,4,520500,104.25948063397878,26.879247190553315 +520527,赫章县,4,520500,104.710322921822,27.118776098434942 +520581,黔西市,4,520500,106.03857397725803,27.014344747084042 +520602,碧江区,4,520600,109.27083368591082,27.82091959949515 +520603,万山区,4,520600,109.1603115658327,27.677051194280583 +520621,江口县,4,520600,108.84540005923948,27.70592169504263 +520622,玉屏侗族自治县,4,520600,108.91257750118668,27.241523186548513 +520623,石阡县,4,520600,108.23046385479006,27.51972205975809 +520624,思南县,4,520600,108.25941731933368,27.944547877976884 +520625,印江土家族苗族自治县,4,520600,108.41659167842938,27.99982325199269 +520626,德江县,4,520600,108.126411061501,28.27042327849442 +520627,沿河土家族自治县,4,520600,108.5104775397904,28.570101680094822 +520628,松桃苗族自治县,4,520600,109.20940351278404,28.16042017901075 +522301,兴义市,4,522300,104.9024609483044,25.09811331029694 +522302,兴仁市,4,522300,105.19256772451989,25.44089875357608 +522323,普安县,4,522300,104.95954583801976,25.789951769128603 +522324,晴隆县,4,522300,105.22548361466674,25.841047900453187 +522325,贞丰县,4,522300,105.65655958807493,25.39212396534147 +522326,望谟县,4,522300,106.10644455173647,25.18435492391975 +522327,册亨县,4,522300,105.8181439984093,24.989631435366643 +522328,安龙县,4,522300,105.44954274777457,25.10399043123158 +522601,凯里市,4,522600,107.98746889069089,26.573079425675388 +522622,黄平县,4,522600,107.92354780621629,26.911288643100754 +522623,施秉县,4,522600,108.13043978205083,27.03982205173296 +522624,三穗县,4,522600,108.68154500206829,26.95866646524615 +522625,镇远县,4,522600,108.43658077263082,27.054820913900503 +522626,岑巩县,4,522600,108.82248096195714,27.17990241739444 +522627,天柱县,4,522600,109.21444570160986,26.915804084011683 +522628,锦屏县,4,522600,109.2074384694816,26.682631631864552 +522629,剑河县,4,522600,108.44751710322788,26.73404755888132 +522630,台江县,4,522600,108.32855163000316,26.672372539642534 +522631,黎平县,4,522600,109.14356697147115,26.236874050191798 +522632,榕江县,4,522600,108.5275536987156,25.937725373250203 +522633,从江县,4,522600,108.91156142782468,25.75988132789156 +522634,雷山县,4,522600,108.08452891457038,26.384205121689497 +522635,麻江县,4,522600,107.59555140190797,26.496807595584382 +522636,丹寨县,4,522600,107.7955134897186,26.20442116986921 +522701,都匀市,4,522700,107.52540443143744,26.266117957788534 +522702,福泉市,4,522700,107.52643281158493,26.69252570078387 +522722,荔波县,4,522700,107.89340938687485,25.41709756627289 +522723,贵定县,4,522700,107.2405543594035,26.590659655038948 +522725,瓮安县,4,522700,107.47755223592003,27.084125602602416 +522726,独山县,4,522700,107.5514977810688,25.828287807074048 +522727,平塘县,4,522700,107.32956664388286,25.828201706901762 +522728,罗甸县,4,522700,106.75854805681841,25.4308376829725 +522729,长顺县,4,522700,106.45842122162574,26.02845454571356 +522730,龙里县,4,522700,106.98658596468972,26.459080630641683 +522731,惠水县,4,522700,106.6634526270886,26.138209889396155 +522732,三都水族自治县,4,522700,107.87642925680865,25.989479499372695 +530102,五华区,4,530100,102.71342328059617,25.04983496198145 +530103,盘龙区,4,530100,102.75852621210119,25.122372279829598 +530111,官渡区,4,530100,102.7504817066009,25.02119642385923 +530112,西山区,4,530100,102.67155712350362,25.043198760946844 +530113,东川区,4,530100,103.19445186746451,26.08905423762305 +530114,呈贡区,4,530100,102.82747259725804,24.89187121094651 +530115,晋宁区,4,530100,102.60241805181495,24.676098812517463 +530124,富民县,4,530100,102.50447319700842,25.228085092194785 +530125,宜良县,4,530100,103.14755798426482,24.925286989651802 +530126,石林彝族自治县,4,530100,103.2965081767583,24.77770196131961 +530127,嵩明县,4,530100,103.04356394015612,25.344409459134855 +530128,禄劝彝族苗族自治县,4,530100,102.47742324183979,25.5576718002404 +530129,寻甸回族彝族自治县,4,530100,103.26357387134848,25.563893580433085 +530181,安宁市,4,530100,102.48440918412749,24.92560172634403 +530302,麒麟区,4,530300,103.81143036949021,25.502101828436917 +530303,沾益区,4,530300,103.82848532840536,25.606630798868494 +530304,马龙区,4,530300,103.58544688631953,25.43396637481632 +530322,陆良县,4,530300,103.67343249743186,25.03563947043886 +530323,师宗县,4,530300,103.99155634452771,24.82799496950119 +530324,罗平县,4,530300,104.31551019438137,24.89051972489473 +530325,富源县,4,530300,104.2614742433964,25.68027950213305 +530326,会泽县,4,530300,103.3034872919241,26.424215045560672 +530381,宣威市,4,530300,104.11157606909859,26.225598378323756 +530402,红塔区,4,530400,102.55156461758968,24.359801443672627 +530403,江川区,4,530400,102.7605270079629,24.29343870098364 +530423,通海县,4,530400,102.73242289127867,24.117891201573585 +530424,华宁县,4,530400,102.9354918585251,24.19858102716324 +530425,易门县,4,530400,102.16953549619623,24.677404477592024 +530426,峨山彝族自治县,4,530400,102.4125645060742,24.174774239092528 +530427,新平彝族傣族自治县,4,530400,101.9964277126142,24.07626270527773 +530428,元江哈尼族彝族傣族自治县,4,530400,102.00441463673134,23.603000905474538 +530481,澄江市,4,530400,102.91455487234985,24.67941490881611 +530502,隆阳区,4,530500,99.17207083928912,25.126888322190116 +530521,施甸县,4,530500,99.19546936222197,24.728835000146223 +530523,龙陵县,4,530500,98.6957499122748,24.592546947017 +530524,昌宁县,4,530500,99.61161657602588,24.833984919852785 +530581,腾冲市,4,530500,98.49759503548854,25.026616860345513 +530602,昭阳区,4,530600,103.71347042315112,27.32614420605265 +530621,鲁甸县,4,530600,103.56441216450484,27.193107219132514 +530622,巧家县,4,530600,102.93651934036706,26.914705038576646 +530623,盐津县,4,530600,104.24157884245965,28.114384038516498 +530624,大关县,4,530600,103.89751489665241,27.754021401911025 +530625,永善县,4,530600,103.6445690431003,28.234722481383123 +530626,绥江县,4,530600,103.96455238260118,28.604277931727403 +530627,镇雄县,4,530600,104.88040422431135,27.447794634649174 +530628,彝良县,4,530600,104.0544430302079,27.63169016554663 +530629,威信县,4,530600,105.05557676310737,27.85253746404035 +530681,水富市,4,530600,104.42243298394331,28.636106975261676 +530702,古城区,4,530700,100.2324803392115,26.883161684001312 +530721,玉龙纳西族自治县,4,530700,100.24352734104735,26.827391803624646 +530722,永胜县,4,530700,100.75758141133471,26.68995024541884 +530723,华坪县,4,530700,101.27243012267594,26.635223014622333 +530724,宁蒗彝族自治县,4,530700,100.85859038623477,27.287727826051697 +530802,思茅区,4,530800,100.98355510297533,22.79249798435956 +530821,宁洱哈尼族彝族自治县,4,530800,101.05244246946019,23.054590179481025 +530822,墨江哈尼族自治县,4,530800,101.6985835615522,23.43772577225623 +530823,景东彝族自治县,4,530800,100.83848864452241,24.451863775494918 +530824,景谷傣族彝族自治县,4,530800,100.70945658009512,23.503204071241473 +530825,镇沅彝族哈尼族拉祜族自治县,4,530800,101.11556882305037,24.010330833613203 +530826,江城哈尼族彝族自治县,4,530800,101.86847918429268,22.59168385943026 +530827,孟连傣族拉祜族佤族自治县,4,530800,99.59096282557785,22.33530761555575 +530828,澜沧拉祜族自治县,4,530800,99.93858828323933,22.561831918086543 +530829,西盟佤族自治县,4,530800,99.59662215028884,22.650656010974465 +530902,临翔区,4,530900,100.08844253039773,23.901401938645204 +530921,凤庆县,4,530900,99.93498922221478,24.586472458273995 +530922,云县,4,530900,100.12953102441054,24.442807275329113 +530923,永德县,4,530900,99.26507564260625,24.024871282776907 +530924,镇康县,4,530900,98.8318712241234,23.76831548009615 +530925,双江拉祜族佤族布朗族傣族自治县,4,530900,99.83413098297927,23.47983650461355 +530926,耿马傣族佤族自治县,4,530900,99.40394217609244,23.543490995100633 +530927,沧源佤族自治县,4,530900,99.25272169608435,23.152878733913262 +532301,楚雄市,4,532300,101.55247228396097,25.03886038832341 +532302,禄丰市,4,532300,102.0855313547639,25.155830804806403 +532322,双柏县,4,532300,101.64840700052847,24.694898530382282 +532323,牟定县,4,532300,101.5534809912178,25.318845903713523 +532324,南华县,4,532300,101.28042055018456,25.19858707115555 +532325,姚安县,4,532300,101.2485272011994,25.509775443472748 +532326,大姚县,4,532300,101.33056746712646,25.727600600572302 +532327,永仁县,4,532300,101.6728172849569,26.055544738018423 +532328,元谋县,4,532300,101.8804452424955,25.710895319939038 +532329,武定县,4,532300,102.4105318203669,25.536089587806806 +532501,个旧市,4,532500,103.1665186084882,23.364941534583274 +532502,开远市,4,532500,103.27355323708609,23.71990779691196 +532503,蒙自市,4,532500,103.37154588174573,23.402079885197992 +532504,弥勒市,4,532500,103.42148906299802,24.41798222535674 +532523,屏边苗族自治县,4,532500,103.69343183231612,22.989989585512753 +532524,建水县,4,532500,102.8334395916061,23.640938563461493 +532525,石屏县,4,532500,102.50244661977858,23.712004452448983 +532527,泸西县,4,532500,103.772523140916,24.53803716745029 +532528,元阳县,4,532500,102.84143280386179,23.22619805192609 +532529,红河县,4,532500,102.42755057757,23.37448873836479 +532530,金平苗族瑶族傣族自治县,4,532500,103.23246860578698,22.785560606183154 +532531,绿春县,4,532500,102.39849398755386,23.000164936586465 +532532,河口瑶族自治县,4,532500,103.94544362779924,22.535465602947458 +532601,文山市,4,532600,104.23854382746465,23.391944131908 +532622,砚山县,4,532600,104.34355089069662,23.611486576699626 +532623,西畴县,4,532600,104.6785254220347,23.443271275282765 +532624,麻栗坡县,4,532600,104.70954948077816,23.13158558355966 +532625,马关县,4,532600,104.4004149769177,23.01899357716598 +532626,丘北县,4,532600,104.17344174073646,24.056993896217723 +532627,广南县,4,532600,105.06158238459233,24.05219851092113 +532628,富宁县,4,532600,105.63749017905431,23.631380409520464 +532801,景洪市,4,532800,100.80644312258391,22.01700442311881 +532822,勐海县,4,532800,100.45944593979591,21.96343359668147 +532823,勐腊县,4,532800,101.57152830822949,21.465280880861858 +532901,大理市,4,532900,100.30807238852897,25.68461354603664 +532922,漾濞彝族自治县,4,532900,99.96441375816771,25.676295762972003 +532923,祥云县,4,532900,100.55744657937458,25.489872506241518 +532924,宾川县,4,532900,100.57845668761831,25.83524902819825 +532925,弥渡县,4,532900,100.49758601546485,25.349336028746187 +532926,南涧彝族自治县,4,532900,100.51554862226698,25.049426762093695 +532927,巍山彝族回族自治县,4,532900,100.31346033514549,25.23343872979941 +532928,永平县,4,532900,99.54749489993098,25.470206483299727 +532929,云龙县,4,532900,99.37741602286651,25.891945073901653 +532930,洱源县,4,532900,99.96920972145332,26.12009334188815 +532931,剑川县,4,532900,99.91209123511192,26.542516534180685 +532932,鹤庆县,4,532900,100.18249206302262,26.566197313344603 +533102,瑞丽市,4,533100,97.8624855842082,24.02281689310535 +533103,芒市,4,533100,98.5945541796593,24.43942669860196 +533122,梁河县,4,533100,98.3031336316359,24.81078445825741 +533123,盈江县,4,533100,97.94993481710071,24.69745454196624 +533124,陇川县,4,533100,97.79853036412425,24.189467890548563 +533301,泸水市,4,533300,98.86458616332774,25.829026769971726 +533323,福贡县,4,533300,98.87564942449333,26.908055208498066 +533324,贡山独龙族怒族自治县,4,533300,98.6723994486867,27.74706787527189 +533325,兰坪白族普米族自治县,4,533300,99.42328466998799,26.459207904687954 +533401,香格里拉市,4,533400,99.70744457389884,27.835760125320558 +533422,德钦县,4,533400,98.92445265605383,28.470086006822044 +533423,维西傈僳族自治县,4,533400,99.29346568993421,27.18317020402177 +540102,城关区,4,540100,91.14510035237143,29.65833125291544 +540103,堆龙德庆区,4,540100,91.00996313420868,29.651625675009356 +540104,达孜区,4,540100,91.3563181183878,29.675409063815298 +540121,林周县,4,540100,91.26950057392972,29.898733205887016 +540122,当雄县,4,540100,91.1074517468307,30.47922172694214 +540123,尼木县,4,540100,90.17118006624334,29.437518981254573 +540124,曲水县,4,540100,90.74995866545315,29.35898705833658 +540127,墨竹工卡县,4,540100,91.73726639859201,29.839752605055274 +540171,格尔木藏青工业园区,4,540100,95.10401466750308,36.345319917201465 +540172,拉萨经济技术开发区,4,540100,91.17845425628477,29.65948787983075 +540173,西藏文化旅游创意园区,4,540100,91.14172999992964,29.622843014443266 +540174,达孜工业园区,4,540100,91.3563181183878,29.675409063815298 +540202,桑珠孜区,4,540200,88.90295171886154,29.25558281419752 +540221,南木林县,4,540200,89.1057042130769,29.68793803655162 +540222,江孜县,4,540200,89.61201219495427,28.9176346842389 +540223,定日县,4,540200,87.1295977393142,28.66395198328889 +540224,萨迦县,4,540200,88.02826948815172,28.904931512620273 +540225,拉孜县,4,540200,87.64364731807402,29.08750967999499 +540226,昂仁县,4,540200,87.24242733675504,29.30106048401354 +540227,谢通门县,4,540200,88.26820679995701,29.438142414131967 +540228,白朗县,4,540200,89.26874199189538,29.1118589519179 +540229,仁布县,4,540200,89.8486249678988,29.236788327037022 +540230,康马县,4,540200,89.68824491576126,28.561443952501328 +540231,定结县,4,540200,87.7723767433751,28.36991076939328 +540232,仲巴县,4,540200,84.0381168769166,29.775982232026415 +540233,亚东县,4,540200,88.91344078314533,27.491108780091498 +540234,吉隆县,4,540200,85.30407376898663,28.85850166495536 +540235,聂拉木县,4,540200,85.98877040304578,28.16083936054344 +540236,萨嘎县,4,540200,85.23982570130651,29.334659688784015 +540237,岗巴县,4,540200,88.52652928147621,28.28036304225986 +540302,卡若区,4,540300,97.18665433641611,31.144248893946763 +540321,江达县,4,540300,98.22459452096771,31.50520701797964 +540322,贡觉县,4,540300,98.27733412728907,30.86596695841197 +540323,类乌齐县,4,540300,96.6067171923989,31.217793112280912 +540324,丁青县,4,540300,95.60264384421787,31.41840296461374 +540325,察雅县,4,540300,97.57512367962845,30.659864699370576 +540326,八宿县,4,540300,96.92436044615198,30.05902899139862 +540327,左贡县,4,540300,97.84736683298861,29.676848537197444 +540328,芒康县,4,540300,98.59968548039171,29.685776117713207 +540329,洛隆县,4,540300,95.83130661347725,30.747126507478114 +540330,边坝县,4,540300,94.71437114915865,30.939624927346678 +540402,巴宜区,4,540400,94.36754427671993,29.64164454637214 +540421,工布江达县,4,540400,93.25241979667781,29.891367616240817 +540422,米林县,4,540400,94.36805828713257,29.654042176951524 +540423,墨脱县,4,540400,95.3394952975097,29.33093770187824 +540424,波密县,4,540400,95.77390012164511,29.865060090548965 +540425,察隅县,4,540400,97.47326974924565,28.667444137201056 +540426,朗县,4,540400,93.08136823440746,29.05190241908559 +540502,乃东区,4,540500,91.77868196564091,29.234229154984693 +540521,扎囊县,4,540500,91.34362712763867,29.25116431579497 +540522,贡嘎县,4,540500,90.9905823724984,29.295585920340546 +540523,桑日县,4,540500,92.02409400037496,29.265575286354103 +540524,琼结县,4,540500,91.69010077797564,29.03086558193296 +540525,曲松县,4,540500,92.21017466297504,29.06842481562376 +540526,措美县,4,540500,91.43991757318803,28.44425799016076 +540527,洛扎县,4,540500,90.86645200191522,28.391634617397948 +540528,加查县,4,540500,92.6004488814891,29.14608747478364 +540529,隆子县,4,540500,92.46896552098697,28.41401899841851 +540530,错那县,4,540500,91.77867513851903,29.243026939249226 +540531,浪卡子县,4,540500,90.4046468834624,28.97399201780357 +540602,色尼区,4,540600,92.0598468366504,31.476117292678243 +540621,嘉黎县,4,540600,93.23873151503976,30.64706245559664 +540622,比如县,4,540600,93.68596593861217,31.48635726205027 +540623,聂荣县,4,540600,92.30865446629325,32.11370748311539 +540624,安多县,4,540600,91.6888906779995,32.271268023108426 +540625,申扎县,4,540600,88.7164811082338,30.936393285832022 +540626,索县,4,540600,93.79217295837906,31.892424309226545 +540627,班戈县,4,540600,90.01670772711378,31.39872762296325 +540628,巴青县,4,540600,94.0598815647657,31.924549424275728 +540629,尼玛县,4,540600,87.24329241086829,31.790953326637915 +540630,双湖县,4,540600,88.84342793612339,33.193503165808735 +542521,普兰县,4,542500,81.18309473197418,30.30016259107777 +542522,札达县,4,542500,79.80932321217843,31.48534307001444 +542523,噶尔县,4,542500,80.10287714605373,32.49715682360169 +542524,日土县,4,542500,79.73910913826312,33.3871860438718 +542525,革吉县,4,542500,81.15166436963831,32.39335602004398 +542526,改则县,4,542500,84.06911336253982,32.30835664324378 +542527,措勤县,4,542500,85.16595220548083,31.02266637927343 +610102,新城区,4,610100,108.96739103850439,34.272724469532555 +610103,碑林区,4,610100,108.94697426104305,34.26304713496852 +610104,莲湖区,4,610100,108.9504264491179,34.27101720305327 +610111,灞桥区,4,610100,109.07141535554312,34.27912767495051 +610112,未央区,4,610100,108.95340118781418,34.299148106588945 +610113,雁塔区,4,610100,108.95144045637755,34.220635239985896 +610114,阎良区,4,610100,109.23246311821923,34.66836327469908 +610115,临潼区,4,610100,109.22043579557668,34.372747432848406 +610116,长安区,4,610100,108.91358047235403,34.163290267304646 +610117,高陵区,4,610100,109.09438691387484,34.541093106058156 +610118,鄠邑区,4,610100,108.61142023270983,34.11502071159901 +610122,蓝田县,4,610100,109.32938812681262,34.157620654732256 +610124,周至县,4,610100,108.22842183954491,34.16938526961624 +610202,王益区,4,610200,109.08141735858288,35.075322096471105 +610203,印台区,4,610200,109.10643408906915,35.120859282944565 +610204,耀州区,4,610200,108.98643790006298,34.9159603091095 +610222,宜君县,4,610200,109.12353674801253,35.40458219421935 +610302,渭滨区,4,610300,107.15641916768266,34.37748113268169 +610303,金台区,4,610300,107.15342367812907,34.38235108469557 +610304,陈仓区,4,610300,107.37543692051194,34.356306807227824 +610305,凤翔区,4,610300,107.40737949664961,34.52761627989884 +610323,岐山县,4,610300,107.62744727878952,34.44977696238733 +610324,扶风县,4,610300,107.90645306510017,34.381463351226095 +610326,眉县,4,610300,107.75639813644135,34.28037586308579 +610327,陇县,4,610300,106.87058365441018,34.8987802531072 +610328,千阳县,4,610300,107.13946616643724,34.64854460079412 +610329,麟游县,4,610300,107.79951410600374,34.683748667164004 +610330,凤县,4,610300,106.52255782186808,33.916583016343495 +610331,太白县,4,610300,107.32552913248024,34.0642484411527 +610402,秦都区,4,610400,108.71243199239031,34.33514511609957 +610403,杨陵区,4,610400,108.09151531880505,34.27801250765433 +610404,渭城区,4,610400,108.7434505714804,34.36811022936848 +610422,三原县,4,610400,108.94744650024964,34.623078955251955 +610423,泾阳县,4,610400,108.84937884704755,34.53331653276832 +610424,乾县,4,610400,108.24537762553739,34.53401826614159 +610425,礼泉县,4,610400,108.4316154916632,34.48739076850446 +610426,永寿县,4,610400,108.14846878644317,34.69803553561666 +610428,长武县,4,610400,107.80556078005252,35.21165733871549 +610429,旬邑县,4,610400,108.3404670366517,35.11796391971861 +610430,淳化县,4,610400,108.58744176373197,34.80477691129529 +610431,武功县,4,610400,108.20655106478513,34.26613766763324 +610481,兴平市,4,610400,108.49639400876816,34.30547652029205 +610482,彬州市,4,610400,108.08456557822713,35.04961057182844 +610502,临渭区,4,610500,109.51678687314894,34.505524685120854 +610503,华州区,4,610500,109.77847737160204,34.51873074009985 +610522,潼关县,4,610500,110.25250761972325,34.55032684853216 +610523,大荔县,4,610500,109.94845330291125,34.801832760483684 +610524,合阳县,4,610500,110.15539621273652,35.243872196865574 +610525,澄城县,4,610500,109.93843360325295,35.19657281555104 +610526,蒲城县,4,610500,109.59249651068265,34.96127412878287 +610527,白水县,4,610500,109.59752055373886,35.18328751461316 +610528,富平县,4,610500,109.18643744727943,34.75726044025601 +610581,韩城市,4,610500,110.44955264011737,35.482086787313165 +610582,华阴市,4,610500,110.09860075703762,34.57180015875299 +610602,宝塔区,4,610600,109.49591097174147,36.591115019566836 +610603,安塞区,4,610600,109.33541943983717,36.87009825930708 +610621,延长县,4,610600,110.01847172588649,36.58532880170461 +610622,延川县,4,610600,110.20054028664882,36.884136960992926 +610625,志丹县,4,610600,108.7755774799087,36.82802113586365 +610626,吴起县,4,610600,108.18258966361198,36.93257609948267 +610627,甘泉县,4,610600,109.35752350453788,36.28268861905286 +610628,富县,4,610600,109.38659653355447,35.99336797796858 +610629,洛川县,4,610600,109.43840396824812,35.768300429420684 +610630,宜川县,4,610600,110.17541306458482,36.056397437854244 +610631,黄龙县,4,610600,109.84654907670661,35.59023376806876 +610632,黄陵县,4,610600,109.26960598495414,35.58507634896885 +610681,子长市,4,610600,109.6813898595419,37.14881691836743 +610702,汉台区,4,610700,107.03840167622332,33.07419109309879 +610703,南郑区,4,610700,106.94243318333695,33.00561459973419 +610722,城固县,4,610700,107.34061258029828,33.162399385178446 +610723,洋县,4,610700,107.55246428058284,33.22886258931486 +610724,西乡县,4,610700,107.77339281906241,32.98939744189546 +610725,勉县,4,610700,106.67942594866734,33.15980474695513 +610726,宁强县,4,610700,106.26458864382062,32.835380199208785 +610727,略阳县,4,610700,106.16354400615846,33.333193777733165 +610728,镇巴县,4,610700,107.90144564069591,32.54283336566986 +610729,留坝县,4,610700,106.92741441351562,33.6238252167372 +610730,佛坪县,4,610700,107.99742428443454,33.530693101587694 +610802,榆阳区,4,610800,109.72755916953271,38.28241962673043 +610803,横山区,4,610800,109.3004913453371,37.96857339416575 +610822,府谷县,4,610800,111.0736281151979,39.033795629849784 +610824,靖边县,4,610800,108.80060049853356,37.60506319395491 +610825,定边县,4,610800,107.60756957446472,37.60045986534103 +610826,绥德县,4,610800,110.26942648535928,37.50890728893263 +610827,米脂县,4,610800,110.19045141746625,37.761397514329296 +610828,佳县,4,610800,110.4974774187358,38.025611678571785 +610829,吴堡县,4,610800,110.74645500778112,37.45826987407814 +610830,清涧县,4,610800,110.12755916227111,37.09485288782833 +610831,子洲县,4,610800,110.04239845246695,37.617025887547484 +610881,神木市,4,610800,110.50542966826288,38.848544495220935 +610902,汉滨区,4,610900,109.03359606475921,32.7011961057378 +610921,汉阴县,4,610900,108.5155069856123,32.899120857292424 +610922,石泉县,4,610900,108.2544267959227,33.04460211026271 +610923,宁陕县,4,610900,108.32056400011153,33.31655548650337 +610924,紫阳县,4,610900,108.54159431660538,32.525785619364406 +610925,岚皋县,4,610900,108.90861535813927,32.312880776500705 +610926,平利县,4,610900,109.36854670128137,32.39480412318467 +610927,镇坪县,4,610900,109.53349679292336,31.889643295790933 +610929,白河县,4,610900,110.11958688053117,32.814846485284406 +610981,旬阳市,4,610900,109.36840728426623,32.83757290532981 +611002,商州区,4,611000,109.94747163464996,33.86885529307985 +611021,洛南县,4,611000,110.15442748007456,34.097070538846296 +611022,丹凤县,4,611000,110.33356028859974,33.701537322920714 +611023,商南县,4,611000,110.88840847836768,33.5375334767074 +611024,山阳县,4,611000,109.88854863218121,33.53796838276926 +611025,镇安县,4,611000,109.15957460913961,33.42904465014651 +611026,柞水县,4,611000,109.12050227199981,33.69202624194488 +620102,城关区,4,620100,103.83147490052859,36.0631814753695 +620103,七里河区,4,620100,103.79241388203823,36.07212925843043 +620104,西固区,4,620100,103.63458007681574,36.094109365756935 +620105,安宁区,4,620100,103.72553503682038,36.10975375497273 +620111,红古区,4,620100,102.86542781272101,36.35186342317893 +620121,永登县,4,620100,103.26662443822926,36.7420952134404 +620122,皋兰县,4,620100,103.95346415996974,36.33814214867315 +620123,榆中县,4,620100,104.11956587927553,35.848851048242274 +620171,兰州新区,4,620100,103.64026814730491,36.489538296783536 +620201,嘉峪关市,4,620200,98.29620384300111,39.77796014739059 +620302,金川区,4,620300,102.20058588613941,38.52577224559433 +620321,永昌县,4,620300,101.97946358316133,38.252940956889034 +620402,白银区,4,620400,104.15541276065119,36.54146356806949 +620403,平川区,4,620400,104.83161394006756,36.73349875186937 +620421,靖远县,4,620400,104.682515077963,36.577096288836835 +620422,会宁县,4,620400,105.0596069327387,35.69850805309429 +620423,景泰县,4,620400,104.069444384363,37.18740626009718 +620502,秦州区,4,620500,105.73041549434814,34.587315743120705 +620503,麦积区,4,620500,105.89559698948948,34.57633686144821 +620521,清水县,4,620500,106.14359506620673,34.753882906362854 +620522,秦安县,4,620500,105.68157480343173,34.86487611156845 +620523,甘谷县,4,620500,105.34247534291173,34.738300137397694 +620524,武山县,4,620500,104.89742838308665,34.72766910163516 +620525,张家川回族自治县,4,620500,106.21139036270586,34.99490501301995 +620602,凉州区,4,620600,102.64857479650965,37.934121948376344 +620621,民勤县,4,620600,103.10040027988245,38.630624826433106 +620622,古浪县,4,620600,102.90362978165219,37.47580190660082 +620623,天祝藏族自治县,4,620600,103.14862131965808,36.97759617654046 +620702,甘州区,4,620700,100.48455772127826,38.9347814717853 +620721,肃南裕固族自治县,4,620700,99.62190541800803,38.84310020502293 +620722,民乐县,4,620700,100.8194290374239,38.436842233981295 +620723,临泽县,4,620700,100.17055476077383,39.15851444472609 +620724,高台县,4,620700,99.82575950433726,39.38364604680699 +620725,山丹县,4,620700,101.09561558172206,38.79045266330607 +620802,崆峒区,4,620800,106.68141452757479,35.54881489223205 +620821,泾川县,4,620800,107.37451813363634,35.33866859782093 +620822,灵台县,4,620800,107.62746120252491,35.07158181695951 +620823,崇信县,4,620800,107.04141513188709,35.308615839828015 +620825,庄浪县,4,620800,106.04258582178167,35.20819212580443 +620826,静宁县,4,620800,105.73841580322,35.52825718913639 +620881,华亭市,4,620800,106.6594859917707,35.22355076289732 +620902,肃州区,4,620900,98.51432185303162,39.75124550996345 +620921,金塔县,4,620900,98.9083682361721,39.99002925409325 +620922,瓜州县,4,620900,95.78873636451216,40.526105978950454 +620923,肃北蒙古族自治县,4,620900,94.8836923954122,39.518329738436066 +620924,阿克塞哈萨克族自治县,4,620900,94.34676019039637,39.640045316916535 +620981,玉门市,4,620900,97.05171169118218,40.29762002088378 +620982,敦煌市,4,620900,94.66852702576244,40.14786748424431 +621002,西峰区,4,621000,107.65739112516746,35.73686447597771 +621021,庆城县,4,621000,107.88840619723527,36.021726360644436 +621022,环县,4,621000,107.31446964419415,36.57442710890686 +621023,华池县,4,621000,107.9963895263176,36.46757512988424 +621024,合水县,4,621000,108.02644718800366,35.825262216399665 +621025,正宁县,4,621000,108.36637461671222,35.49821878089757 +621026,宁县,4,621000,107.934570925868,35.5079329745365 +621027,镇原县,4,621000,107.20757586986487,35.68323058631626 +621102,安定区,4,621100,104.61650040264573,35.58560001672479 +621121,通渭县,4,621100,105.24840362210966,35.217216821266426 +621122,陇西县,4,621100,104.64138059069448,35.01019716231762 +621123,渭源县,4,621100,104.22158401061884,35.1423919580207 +621124,临洮县,4,621100,103.8656010776999,35.400587040257776 +621125,漳县,4,621100,104.478595325501,34.85424998177814 +621126,岷县,4,621100,104.04339603982906,34.444407640650375 +621202,武都区,4,621200,104.9325933607497,33.39807218808857 +621221,成县,4,621200,105.74847790289836,33.75663518735122 +621222,文县,4,621200,104.68955842197508,32.94960128076792 +621223,宕昌县,4,621200,104.39938579986988,34.05348629135883 +621224,康县,4,621200,105.61539187549245,33.33537640199648 +621225,西和县,4,621200,105.30761048911957,34.016787358436645 +621226,礼县,4,621200,105.18359096939531,34.194685061207444 +621227,徽县,4,621200,106.0944178700463,33.77519418708969 +621228,两当县,4,621200,106.31141946598899,33.91512283517304 +622901,临夏市,4,622900,103.24954917760394,35.60989877268906 +622921,临夏县,4,622900,103.24954917760394,35.60989877268906 +622922,康乐县,4,622900,103.71547554222798,35.37610976070173 +622923,永靖县,4,622900,103.29250749454934,35.963330304471256 +622924,广河县,4,622900,103.58240999618769,35.49410136169551 +622925,和政县,4,622900,103.35752370329226,35.43058990416631 +622926,东乡族自治县,4,622900,103.3956132043736,35.66932972862377 +622927,积石山保安族东乡族撒拉族自治县,4,622900,102.88251807504834,35.72349932363978 +623001,合作市,4,623000,102.91757157299759,35.00593542819599 +623021,临潭县,4,623000,103.36053329624235,34.69863941152157 +623022,卓尼县,4,623000,103.51361578396147,34.59491643280379 +623023,舟曲县,4,623000,104.37748996238638,33.790814973644174 +623024,迭部县,4,623000,103.22844034557771,34.06202005409746 +623025,玛曲县,4,623000,102.07860004025919,34.003358168342224 +623026,碌曲县,4,623000,102.49442413370862,34.59708727156553 +623027,夏河县,4,623000,102.52857708038411,35.20832432554126 +630102,城东区,4,630100,101.8095690383313,36.605707645661155 +630103,城中区,4,630100,101.79048354963578,36.628800570588666 +630104,城西区,4,630100,101.77241422413312,36.63449697952408 +630105,城北区,4,630100,101.77240488175582,36.656293630836586 +630106,湟中区,4,630100,101.57861675781865,36.50662754628146 +630121,大通回族土族自治县,4,630100,101.69256375752063,36.93266646340686 +630123,湟源县,4,630100,101.2624486115435,36.68858751490262 +630202,乐都区,4,630200,102.40856633882869,36.48782005152185 +630203,平安区,4,630200,102.11442787755806,36.506553573162044 +630222,民和回族土族自治县,4,630200,102.8363896379582,36.3255614018714 +630223,互助土族自治县,4,630200,101.96456904899203,36.85002161382641 +630224,化隆回族自治县,4,630200,102.27044827344754,36.10098825089297 +630225,循化撒拉族自治县,4,630200,102.49538532060429,35.85666722386152 +632221,门源回族自治县,4,632200,101.62843803902976,37.382180626313485 +632222,祁连县,4,632200,100.25962157242704,38.18292487156922 +632223,海晏县,4,632200,101.00058554860196,36.90237602251455 +632224,刚察县,4,632200,100.15360607139486,37.3273200722536 +632301,同仁市,4,632300,102.02543778119538,35.52186515052424 +632322,尖扎县,4,632300,102.04699585580715,35.94912858699931 +632323,泽库县,4,632300,101.47359451318887,35.042014495100005 +632324,河南蒙古族自治县,4,632300,101.62247338027404,34.740396071091155 +632521,共和县,4,632500,100.62662348005355,36.28870331786534 +632522,同德县,4,632500,100.58542386563559,35.25985777581735 +632523,贵德县,4,632500,101.43953310384482,36.046158080751304 +632524,兴海县,4,632500,99.994380072293,35.594629879948684 +632525,贵南县,4,632500,100.7535932147337,35.59241545461141 +632621,玛沁县,4,632600,100.24556434882359,34.48356948600165 +632622,班玛县,4,632600,100.74360459644603,32.93850392746955 +632623,甘德县,4,632600,99.90751069557831,33.975003677602174 +632624,达日县,4,632600,99.65801011306507,33.754937373991375 +632625,久治县,4,632600,101.4885322558532,33.43477349940803 +632626,玛多县,4,632600,98.21588383209857,34.92074864618621 +632701,玉树市,4,632700,97.01537640110074,32.99955565088557 +632722,杂多县,4,632700,95.30696487882817,32.89924067586018 +632723,称多县,4,632700,97.11500000927667,33.37422569894356 +632724,治多县,4,632700,95.61979357436996,33.85795326771854 +632725,囊谦县,4,632700,96.48691827128273,32.209194368698284 +632726,曲麻莱县,4,632700,95.80375001399207,34.13229866699674 +632801,格尔木市,4,632800,94.93331021042529,36.41237104695386 +632802,德令哈市,4,632800,97.36747029997534,37.37534590746335 +632803,茫崖市,4,632800,90.87951750333991,38.261902814972395 +632821,乌兰县,4,632800,98.48673569929515,36.9357478590324 +632822,都兰县,4,632800,98.10270479377708,36.307611028682054 +632823,天峻县,4,632800,99.02924296796702,37.306903395111 +632857,大柴旦行政委员会,4,632800,95.37176252984051,37.85802020600905 +640104,兴庆区,4,640100,106.2954937669248,38.47957892945585 +640105,西夏区,4,640100,106.15658124015063,38.496817469603855 +640106,金凤区,4,640100,106.2462873758353,38.480384721034255 +640121,永宁县,4,640100,106.2596045753596,38.28300154152117 +640122,贺兰县,4,640100,106.35651826530358,38.56040668957878 +640181,灵武市,4,640100,106.34644035544825,38.108658666793254 +640202,大武口区,4,640200,106.37461049759675,39.02484775662651 +640205,惠农区,4,640200,106.78843002230066,39.24538810836003 +640221,平罗县,4,640200,106.53651847762919,38.91960682591035 +640302,利通区,4,640300,106.21940702073802,37.99074608085695 +640303,红寺堡区,4,640300,106.06842117807918,37.43188245444605 +640323,盐池县,4,640300,107.4133795486424,37.78929564990927 +640324,同心县,4,640300,105.92059907759594,36.98626962916477 +640381,青铜峡市,4,640300,106.0853703166109,38.027412223967175 +640402,原州区,4,640400,106.29451461391893,36.009367675762505 +640422,西吉县,4,640400,105.73538590856539,35.97007642089009 +640423,隆德县,4,640400,106.11849829669953,35.63176231509369 +640424,泾源县,4,640400,106.3373934308267,35.50436163767883 +640425,彭阳县,4,640400,106.63839027500494,35.865933846389694 +640502,沙坡头区,4,640500,105.18030290173714,37.522707205021746 +640521,中宁县,4,640500,105.69153719119848,37.497420805578884 +640522,海原县,4,640500,105.65055514637504,36.570781489719 +650102,天山区,4,650100,87.63840777756565,43.80027135831345 +650103,沙依巴克区,4,650100,87.60467002769686,43.807262352761235 +650104,新市区,4,650100,87.57590844120058,43.86139400274798 +650105,水磨沟区,4,650100,87.64889666219182,43.838251163831174 +650106,头屯河区,4,650100,87.43450670985825,43.882653022601524 +650107,达坂城区,4,650100,88.31739765660721,43.36994274633969 +650109,米东区,4,650100,87.66213427184795,43.97924742639792 +650121,乌鲁木齐县,4,650100,87.41602874517912,43.47708606579323 +650202,独山子区,4,650200,84.89361328334303,44.33440739236509 +650203,克拉玛依区,4,650200,84.87429458457947,45.60847146791606 +650204,白碱滩区,4,650200,85.13951012368591,45.69395162976408 +650205,乌尔禾区,4,650200,85.70030482644177,46.095295184689334 +650402,高昌区,4,650400,89.19245888270062,42.94854869168373 +650421,鄯善县,4,650400,90.22009388610284,42.874759228479064 +650422,托克逊县,4,650400,88.66016435954114,42.79854583102295 +650502,伊州区,4,650500,93.52132046236862,42.832824924720725 +650521,巴里坤哈萨克自治县,4,650500,93.0229309535639,43.60568877078736 +650522,伊吾县,4,650500,94.70382567128537,43.260676527466494 +652301,昌吉市,4,652300,87.27386462195048,44.020126845938606 +652302,阜康市,4,652300,87.99367790506243,44.16313732134573 +652323,呼图壁县,4,652300,86.90514380673059,44.1976545961318 +652324,玛纳斯县,4,652300,86.2206434521992,44.31006285879989 +652325,奇台县,4,652300,89.6010808117238,44.026897819017556 +652327,吉木萨尔县,4,652300,89.1871228581408,44.005717795203225 +652328,木垒哈萨克自治县,4,652300,90.29251473733397,43.840308302806726 +652701,博乐市,4,652700,82.05797225459081,44.86000978463866 +652702,阿拉山口市,4,652700,82.56072527243815,45.17967007992087 +652722,精河县,4,652700,82.90065531620479,44.60664594349165 +652723,温泉县,4,652700,81.03114554648644,44.97485663870472 +652801,库尔勒市,4,652800,86.18149430993829,41.7323732214122 +652822,轮台县,4,652800,84.25821215205379,41.7838130005149 +652823,尉犁县,4,652800,86.26603653639884,41.350122782053845 +652824,若羌县,4,652800,88.17532444189617,39.028991037175174 +652825,且末县,4,652800,85.53599038573108,38.15138769412976 +652826,焉耆回族自治县,4,652800,86.58122202627663,42.06485085872785 +652827,和静县,4,652800,86.39039822069184,42.32936503587904 +652828,和硕县,4,652800,86.88368903725248,42.28806506242823 +652829,博湖县,4,652800,86.63846914998597,41.98643035682914 +652871,库尔勒经济技术开发区,4,652800,86.18149430993829,41.7323732214122 +652901,阿克苏市,4,652900,80.26992675733364,41.17385992695259 +652902,库车市,4,652900,82.96845878728406,41.723447514832976 +652922,温宿县,4,652900,80.24556435258084,41.28256724988662 +652924,沙雅县,4,652900,82.78882373614826,41.227749329027176 +652925,新和县,4,652900,82.61582303052585,41.55399962847732 +652926,拜城县,4,652900,81.85851627203844,41.80070660198409 +652927,乌什县,4,652900,79.23086899089708,41.22087110699948 +652928,阿瓦提县,4,652900,80.38184924590777,40.64935880291086 +652929,柯坪县,4,652900,79.05321353561362,40.51405552096561 +653001,阿图什市,4,653000,76.17930145823651,39.71946167197035 +653022,阿克陶县,4,653000,75.95372526670941,39.15388851764215 +653023,阿合奇县,4,653000,78.54216474624008,41.145652575078415 +653024,乌恰县,4,653000,75.26533363236989,39.72512359095323 +653101,喀什市,4,653100,76.00031273791514,39.47364953291228 +653121,疏附县,4,653100,75.8691686673607,39.381291555212066 +653122,疏勒县,4,653100,76.05661439507521,39.40670910873236 +653123,英吉沙县,4,653100,76.1820754256513,38.93567086352142 +653124,泽普县,4,653100,77.26655942376085,38.19072551633278 +653125,莎车县,4,653100,77.25243671368574,38.42015675241895 +653126,叶城县,4,653100,77.42009762186518,37.88916684442745 +653127,麦盖提县,4,653100,77.61600386036432,38.9044962236489 +653128,岳普湖县,4,653100,76.7841477157399,39.23938733394502 +653129,伽师县,4,653100,76.73038556825654,39.49385160586808 +653130,巴楚县,4,653100,78.55448806054815,39.80533455752104 +653131,塔什库尔干塔吉克自治县,4,653100,75.23080474483845,37.77904564076277 +653201,和田市,4,653200,79.92021246975499,37.11833554446567 +653221,和田县,4,653200,79.92021246975499,37.11833554446567 +653222,墨玉县,4,653200,79.73547926535839,37.28299344690681 +653223,皮山县,4,653200,78.2920693956487,37.58408593820352 +653224,洛浦县,4,653200,80.19538761187944,37.079611030987515 +653225,策勒县,4,653200,80.81320126874158,37.00412235937149 +653226,于田县,4,653200,81.68378291474839,36.862954136110474 +653227,民丰县,4,653200,82.70271342758947,37.07025696823114 +654002,伊宁市,4,654000,81.28424240527833,43.915299436243146 +654003,奎屯市,4,654000,84.90944924168677,44.43205721000423 +654004,霍尔果斯市,4,654000,80.42712977242704,44.235308556092576 +654021,伊宁县,4,654000,81.28424240527833,43.915299436243146 +654022,察布查尔锡伯自治县,4,654000,81.1579245709068,43.846690330451665 +654023,霍城县,4,654000,80.8852811232011,44.062249507398526 +654024,巩留县,4,654000,82.23822560940913,43.48848555953649 +654025,新源县,4,654000,83.26702230149687,43.43592700218544 +654026,昭苏县,4,654000,81.13737753914653,43.163496741508915 +654027,特克斯县,4,654000,81.84258724924386,43.224248213467376 +654028,尼勒克县,4,654000,82.51800753168041,43.80459483623821 +654201,塔城市,4,654200,82.99355716377181,46.75738336508287 +654202,乌苏市,4,654200,84.72008814696387,44.42404803445163 +654203,沙湾市,4,654200,85.62614468603468,44.33194946174084 +654221,额敏县,4,654200,83.63337445478265,46.53188486130856 +654224,托里县,4,654200,83.6129094383153,45.94274280504971 +654225,裕民县,4,654200,82.98943870250018,46.20745354692848 +654226,和布克赛尔蒙古自治县,4,654200,85.73500888354788,46.79868511263733 +654301,阿勒泰市,4,654300,88.13922656402383,47.83275264847511 +654321,布尔津县,4,654300,86.88136017027281,47.70795172388758 +654322,富蕴县,4,654300,89.53195340805546,46.99995105305454 +654323,福海县,4,654300,87.4931572463246,47.118140737535164 +654324,哈巴河县,4,654300,86.42481768466426,48.066148902457634 +654325,青河县,4,654300,90.38944440719293,46.680193967050094 +654326,吉木乃县,4,654300,85.88081824070636,47.44901841325684 +659001,石河子市,4,659000,86.0469283242047,44.33018996590372 +659002,阿拉尔市,4,659000,87.63347320573824,43.79923810128996 +659003,图木舒克市,4,659000,87.63347320573824,43.79923810128996 +659004,五家渠市,4,659000,87.63347320573824,43.79923810128996 +659005,北屯市,4,659000,87.63347320573824,43.79923810128996 +659006,铁门关市,4,659000,85.50783659274288,41.832991672901606 +659007,双河市,4,659000,87.63347320573824,43.79923810128996 +659008,可克达拉市,4,659000,80.63063298062404,44.13312614502095 +659009,昆玉市,4,659000,79.29803197014775,37.21673395016932 +659010,胡杨河市,4,659000,85.17237948161842,45.13902092011518 +659011,新星市,4,659000,79.24087350919226,41.219769286602805 diff --git a/public/wechat.jpg b/public/wechat.jpg new file mode 100644 index 0000000..b3181ca Binary files /dev/null and b/public/wechat.jpg differ diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..6eb867e --- /dev/null +++ b/src/App.vue @@ -0,0 +1,55 @@ + + diff --git a/src/assets/css/app.less b/src/assets/css/app.less new file mode 100644 index 0000000..dec6de5 --- /dev/null +++ b/src/assets/css/app.less @@ -0,0 +1,567 @@ +@import "../theme/base.less"; + +*, +:after, +:before { + box-sizing: border-box; +} +html, +body { + margin: 0; + padding: 0; + color: #595959; + font-size: 14px; + font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", + "微软雅黑", Arial, sans-serif; + color: #595959; + background: #f0f2f5; + + //字体 + .text { + &-2 { + color: #8c8c8c; + } + } + .text-center { + text-align: center; + } + + a { + color: @--color-primary; + text-decoration: none; + &:focus, + &:hover { + color: @--color-primary; + } + } +} + +.iconfont { + cursor: pointer; + font-style: normal; + font-weight: 400; + font-variant: normal; + text-transform: none; + line-height: 1; + vertical-align: text-bottom; + display: inline-block; + fill: currentColor; + width: 17px; + height: 17px; +} +.icon-svg { + width: 1em; + height: 1em; + fill: currentColor; + vertical-align: middle; +} + +.el-badge__content { + height: 16px; + line-height: 16px; + padding: 0 5px; + border: none; + background: #ff4d4f !important; +} + +.ele-badge-static { + line-height: 0; +} + +.ele-badge-static .el-badge__content { + position: static; + transform: none; +} + +//alert +.ele-alert-border.is-light.el-alert--warning { + border: 1px solid #faad144d !important; +} + +.el-alert--warning.is-light { + background-color: #fff7e8 !important; + color: #faad14 !important; +} +.ele-alert-border.is-light .el-alert__title { + color: #262626 !important; + font-size: 14px !important; +} +.el-alert__content { + padding: 0; +} +//menu +.el-menu-item a, +.el-menu-item span, +.el-sub-menu > .el-sub-menu__title a, +.el-sub-menu > .el-sub-menu__title span { + color: @dark-text; + text-decoration: none; + margin-left: 5px; + display: inline-flex; + width: 100%; +} +.rr-sidebar-menu.el-menu--horizontal > .el-menu-item { + padding: 0 12px; + height: 50px; + line-height: 50px; +} +.rr-sidebar-menu-pop-dark, +.rr-sidebar-menu-pop-light { + box-shadow: none !important; + border-width: 0 !important; +} +.el-sub-menu__icon-arrow { + font-weight: bold; +} + +//pop +.el-popper.is-dark a { + color: #fff; + text-decoration: none; +} +.el-popover.el-popper { + max-height: 300px; + overflow: auto; +} + +//表格 +.el-table thead { + color: #303133 !important; + th { + background-color: #f5f7fa !important; + } +} +.el-table__fixed-right::before { + background: transparent !important; //element-plus表格高度动态计算bug,强制下划线不显示颜色 +} + +.el-form--inline .el-form-item{ + margin-right: 16px !important; +} + +//分页 +.el-pagination { + margin-top: 15px !important; + justify-content: right; +} + +//tinymce +.tox-tinymce-aux { + z-index: 3000 !important; +} + +//弹窗popover +.popover-pop { + padding: 10px 0 5px 5px !important; + &-body { + max-height: 255px; + overflow: auto; + } +} + +//弹窗 +.rr-dialog { + min-width: 600px; +} + +.rr { + display: flex; + flex-direction: column; + width: 100vw; + height: 100vh; + overflow: hidden; + + &-loading { + z-index: 9999; + } + + //全屏页面渲染 + &-fullscreen { + width: 100vw; + + &.new-pop-window > div { + padding: 15px; + margin: 15px; + background: #fff; + border-radius: 4px; + } + } + + &-error { + display: flex; + justify-content: center; + align-items: center; + position: absolute; + top: 0; + left: 0; + width: 100vw; + height: 100vh; + background: #fff; + z-index: 1200; + } + + &-drawer { + .el-drawer__header { + color: #595959; + font-size: 15px; + margin-bottom: 0; + padding: 13px 16px; + border-bottom: 1px solid #f4f4f4; + } + .el-drawer__body { + padding: 15px; + overflow: auto; + } + } + + //顶部 + &-header { + background: #fff; + padding: 0 !important; + position: fixed; + top: 0; + left: 0; + width: 100%; + z-index: 200; + &-ctx { + display: flex; + height: 50px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08); + &-logo { + display: flex; + color: #ffffffe6; + background-color: #191a23; + font-size: 19px; + font-weight: 500; + letter-spacing: 1.5px; + width: 230px; + height: 50px; + overflow: hidden; + white-space: nowrap; + justify-content: center; + font-family: Avenir, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, + Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, + Noto Color Emoji; + align-items: center; + position: relative; + transition: width 0.3s; + padding: 0 15px; + + &-img { + width: 32px; + height: 32px; + display: inline-block; + flex-shrink: 0; + &-wrap { + display: flex; + &.enabled-logo { + &-false { + display: none; + } + } + } + } + &-line { + display: inline-block; + width: 10px; + height: 1px; + } + &-text { + display: inline-block; + line-height: 1; + overflow: hidden; + text-transform: uppercase; + font-weight: 700; + font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, + "微软雅黑", Arial, sans-serif; + } + } + } + } + &-body { + flex: 1; + display: flex; + overflow: hidden; + } + //左侧侧边栏 + &-sidebar { + margin-top: 50px; + width: 230px !important; + min-height: calc(100vh - 50px); + overflow-x: hidden !important; + transition: width 0.3s; + z-index: 120; + scrollbar-width: none; + + &-menu { + transition: width 0.3s; + overflow: hidden; + &.el-menu--horizontal { + border-bottom: none !important; + } + .el-menu-item { + transition: none !important; + } + } + + &::-webkit-scrollbar { + display: none; + } + + .el-menu { + width: 230px !important; + border-right: 0 !important; + &-item { + height: 45px; + line-height: 45px; + margin: 2px 0; + } + &-item, + .el-sub-menu__title { + background: transparent !important; + &:focus { + background: transparent !important; + } + } + &-item, + .el-sub-menu__title, + &-item-group__title { + font-size: 14px; + } + .el-sub-menu { + .el-sub-menu__title { + i { + color: inherit !important; + } + } + } + + .el-menu-item, + .el-sub-menu .el-sub-menu__title { + margin: 0; + height: 48px; + line-height: 48px; + } + .el-sub-menu { + .el-menu-item { + height: 45px; + line-height: 45px; + margin: 2px 0; + } + } + + .el-menu-item [class^="el-icon"], + .el-sub-menu > .el-sub-menu__title [class^="el-icon"] { + font-size: 17px; + margin-right: 0; + width: auto; + } + + .el-menu-item a, + .el-menu-item span, + .el-sub-menu > .el-sub-menu__title a, + .el-sub-menu > .el-sub-menu__title span { + margin-left: 10px; + > a { + margin-left: 0; + } + } + } + } + //页面内容区域外层 + &-view { + flex: 1; + display: flex !important; + flex-direction: column; + padding: 0 !important; + border-top: 1px solid #f4f4f4 !important; + &-container { + margin-top: 50px; + } + &-wrap { + display: flex; + flex-direction: column; + } + &-ctx { + margin-top: 39px; + padding: 15px !important; + flex: 1; + //页面内容区域 + &-card { + min-height: calc(100% - 5px); + border-width: 0 !important; + } + } + //页面内容顶部tab标签栏 + &-tab { + background: #fff; + width: 100%; + height: 39px; + box-sizing: border-box; + position: relative; + overflow: hidden; + + &__header { + &:hover { + background: inherit !important; + } + } + + &-wrap { + position: fixed; + top: 50px; + left: 230px; + right: 0; + display: flex; + background: #fff; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08); + z-index: 100; + transition: left 0.3s; + } + + &-ops { + width: 40px; + flex-shrink: 0; + background: #fff; + display: flex !important; + align-items: center; + justify-content: center; + border-left: 1px solid #f4f4f4; + cursor: pointer; + text-align: center; + color: #8c8c8c !important; + font-weight: 400 !important; + font-size: 16px !important; + margin-right: 5px; //element-plus el-dropdown自动定位bug bottom-end指令不生效,临时采用偏移5px + } + + .el-tabs__active-bar { + height: 0; + } + + .el-tabs__nav { + &-prev, + &-next { + .el-icon { + display: none; + } + } + .el-tabs__item { + padding: 0 15px !important; + border-right: 1px solid #f4f4f4; + user-select: none; + color: #8c8c8c; + &:hover { + color: #262626; + background-color: rgba(0, 0, 0, 0.02); + } + .is-icon-close { + transition: none !important; + &:hover { + color: #fff; + background-color: #ff4d4f; + } + } + &::before { + content: ""; + width: 9px; + height: 9px; + margin-right: 8px; + display: inline-block; + background-color: #ddd; + border-radius: 50%; + } + + &.is-active { + color: @primary-bg-light; + background-color: @primary-bg-light !important; + &:before { + background-color: @primary-bg-light; + } + } + &:nth-child(2) { + &::before { + content: none; + } + } + } + } + + .el-tabs__nav-wrap { + padding: 0px 39px 0 40px !important; + &::before, + &::after { + width: 40px; + height: 40px; + line-height: 44px; + text-align: center; + box-sizing: border-box; + font-size: 16px; + color: #8c8c8c; + transition: background-color 0.2s; + position: absolute; + top: 0; + left: 0; + font-family: element-icons !important; + font-style: normal; + font-weight: 400; + font-variant: normal; + text-transform: none; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + cursor: not-allowed; + } + &::before { + content: url('data:image/svg+xml;charset=utf-8,'); + border-right: 1px solid #f4f4f4; + } + &::after { + content: url('data:image/svg+xml;charset=utf-8,'); + right: 0; + left: auto; + bottom: auto; + height: auto; + background-color: transparent; + border-left: 1px solid #f4f4f4; + } + } + + .el-tabs__nav-next, + .el-tabs__nav-prev { + width: 40px; + height: 40px; + line-height: 40px; + text-align: center; + box-sizing: border-box; + font-size: 16px; + color: #8c8c8c; + transition: background-color 0.2s; + z-index: 10; + + i { + vertical-align: middle; + margin-top: -4px; + } + + &:hover { + background: rgba(0, 0, 0, 0.02); + } + } + + .el-tabs__nav-prev { + border-right: 1px solid #f4f4f4; + } + } + } +} +.ql-toolbar.ql-snow{ + width: 100% !important; +} + +.el-form--inline { + .el-form-item { + & > .el-input, .el-cascader, .el-select, .el-date-editor, .el-autocomplete { + min-width: 200px; + } + } +} diff --git a/src/assets/css/header.less b/src/assets/css/header.less new file mode 100644 index 0000000..cf6cc8d --- /dev/null +++ b/src/assets/css/header.less @@ -0,0 +1,101 @@ +.rr-header-ctx { + [class^="el-icon"] { + font-size: 18px; + width: auto; + margin-right: 0; + } + .rr-header-right { + display: flex; + flex: 1; + justify-content: space-between; + overflow: hidden; + align-items: center; + > div { + height: 100%; + } + &-items { + display: flex; + padding: 0 8px 0 0; + + > div { + padding: 0 12px; + height: 50px; + line-height: 56px; + cursor: pointer; + } + &-icon { + height: 50px; + line-height: 56px; + display: inline-block; + } + .el-badge { + line-height: normal; + } + .el-dropdown { + vertical-align: inherit; + .el-icon { + .icon { + vertical-align: bottom; + } + } + } + } + &-left { + display: flex; + overflow: hidden; + align-items: center; + flex: 1; + box-sizing: border-box; + + &-br { + padding: 0 10px; + overflow-x: auto; + overflow-y: hidden; + flex: 1; + .el-breadcrumb { + white-space: nowrap; + } + .el-breadcrumb__inner, + .el-breadcrumb__inner a, + .el-breadcrumb__item:last-child .el-breadcrumb__inner, + .el-breadcrumb__item:last-child .el-breadcrumb__inner:hover, + .el-breadcrumb__item:last-child .el-breadcrumb__inner a, + .el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover { + color: #8c8c8c; + } + .el-breadcrumb__item { + float: none !important; + display: inline-block; + } + .el-breadcrumb__inner.is-link { + color: #595959; + font-weight: 500; + } + } + } + + .el-space__item { + &:last-child { + flex-shrink: 0; + } + } + + .rr-sidebar-menu.el-menu--horizontal { + display: flex; + span { + width: inherit; + } + .el-sub-menu { + .el-sub-menu__icon-arrow { + margin-left: 3px; + margin-top: 0; + } + .el-sub-menu__title { + padding: 0 10px 0 12px; + height: 50px; + line-height: 50px; + } + } + } + } +} diff --git a/src/assets/css/setting.less b/src/assets/css/setting.less new file mode 100644 index 0000000..f3758db --- /dev/null +++ b/src/assets/css/setting.less @@ -0,0 +1,161 @@ +.rr-setting { + padding: 20px; + .el-divider { + margin: 20px 0; + } + &-wrap { + .el-drawer__header { + color: #595959; + font-size: 15px; + margin-bottom: 0; + padding: 13px 16px; + border-bottom: 1px solid #f4f4f4; + } + .el-drawer__body { + overflow: auto; + padding: 0; + } + } + &-title { + font-size: 13px; + } + // 主题 + .rr-theme { + .card { + width: 50px; + height: 35px; + border-radius: 3px; + margin: 0 20px 20px 0; + background-color: #f5f7fa; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); + display: inline-block; + vertical-align: top; + position: relative; + cursor: pointer; + //侧边栏 + &.side { + &::before { + content: ""; + width: 15px; + height: 100%; + background-color: #fff; + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + display: inline-block; + vertical-align: top; + } + &.dark { + &::before { + background-color: #2e3549; + } + } + } + //顶栏 + &.header { + &::before { + content: ""; + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + display: inline-block; + vertical-align: top; + width: 100%; + height: 10px; + background-color: #fff; + border-bottom-left-radius: 0; + border-top-right-radius: 3px; + } + &.light { + &::before { + width: 100%; + height: 10px; + background-color: #fff; + border-bottom-left-radius: 0; + border-top-right-radius: 3px; + } + } + &.dark { + &::before { + background-color: #2e3549; + } + } + &.primary { + &::before { + background-color: #409eff; + } + } + } + + &.mix { + background-color: #2e3549; + &.dark { + &::before { + background-color: #f0f2f5; + width: 35px; + height: 25px; + position: absolute; + bottom: 0; + right: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-bottom-right-radius: 3px; + } + } + } + + &.side, + &.header, + &.mix { + &.active { + &::after { + content: ""; + width: 6px; + height: 6px; + border-radius: 50%; + background-color: #1ea4ff; + position: absolute; + left: 50%; + bottom: -15px; + margin-left: -3px; + } + } + } + } + //主色调 + .color { + width: 20px; + height: 20px; + margin: 8px 8px 0 0; + border-radius: 2px; + display: inline-block; + box-shadow: 0 1px 3px rgba(0 0 0, 0.1); + vertical-align: top; + position: relative; + cursor: pointer; + &.active { + &::after { + content: url('data:image/svg+xml;charset=utf-8,'); + font-family: element-icons !important; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + position: absolute; + top: 50%; + left: 50%; + margin: -7px 0 0 -7px; + font-size: 14px; + color: #fff; + } + } + } + } + .rr-theme, + .rr-other { + width: 100%; + > .el-space__item { + width: 100%; + } + } + .rr-switch { + justify-content: space-between; + width: 100%; + } +} diff --git a/src/assets/icons/iconfont/iconfont.js b/src/assets/icons/iconfont/iconfont.js new file mode 100644 index 0000000..78f1f33 --- /dev/null +++ b/src/assets/icons/iconfont/iconfont.js @@ -0,0 +1 @@ +!function(c){var h,l,v,o,a,i,t='',z=(z=document.getElementsByTagName("script"))[z.length-1].getAttribute("data-injectcss");if(z&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}function s(){a||(a=!0,v())}h=function(){var c,h,l;(l=document.createElement("div")).innerHTML=t,t=null,(h=l.getElementsByTagName("svg")[0])&&(h.setAttribute("aria-hidden","true"),h.style.position="absolute",h.style.width=0,h.style.height=0,h.style.overflow="hidden",c=h,(l=document.body).firstChild?(h=l.firstChild).parentNode.insertBefore(c,h):l.appendChild(c))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(h,0):(l=function(){document.removeEventListener("DOMContentLoaded",l,!1),h()},document.addEventListener("DOMContentLoaded",l,!1)):document.attachEvent&&(v=h,o=c.document,a=!1,(i=function(){try{o.documentElement.doScroll("left")}catch(c){return void setTimeout(i,50)}s()})(),o.onreadystatechange=function(){"complete"==o.readyState&&(o.onreadystatechange=null,s())})}(window); \ No newline at end of file diff --git a/src/assets/icons/svg/button.svg b/src/assets/icons/svg/button.svg new file mode 100644 index 0000000..055dca8 --- /dev/null +++ b/src/assets/icons/svg/button.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/cascader.svg b/src/assets/icons/svg/cascader.svg new file mode 100644 index 0000000..e256024 --- /dev/null +++ b/src/assets/icons/svg/cascader.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/checkbox.svg b/src/assets/icons/svg/checkbox.svg new file mode 100644 index 0000000..013fd3a --- /dev/null +++ b/src/assets/icons/svg/checkbox.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/color.svg b/src/assets/icons/svg/color.svg new file mode 100644 index 0000000..44a81aa --- /dev/null +++ b/src/assets/icons/svg/color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/component.svg b/src/assets/icons/svg/component.svg new file mode 100644 index 0000000..29c3458 --- /dev/null +++ b/src/assets/icons/svg/component.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/date-range.svg b/src/assets/icons/svg/date-range.svg new file mode 100644 index 0000000..fda571e --- /dev/null +++ b/src/assets/icons/svg/date-range.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/date.svg b/src/assets/icons/svg/date.svg new file mode 100644 index 0000000..52dc73e --- /dev/null +++ b/src/assets/icons/svg/date.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/earth.svg b/src/assets/icons/svg/earth.svg new file mode 100644 index 0000000..7ed194f --- /dev/null +++ b/src/assets/icons/svg/earth.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/extfullscreen.svg b/src/assets/icons/svg/extfullscreen.svg new file mode 100644 index 0000000..7952086 --- /dev/null +++ b/src/assets/icons/svg/extfullscreen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/fanyiline.svg b/src/assets/icons/svg/fanyiline.svg new file mode 100644 index 0000000..3c27794 --- /dev/null +++ b/src/assets/icons/svg/fanyiline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/fullscreen2.svg b/src/assets/icons/svg/fullscreen2.svg new file mode 100644 index 0000000..fb14cb7 --- /dev/null +++ b/src/assets/icons/svg/fullscreen2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/gitee.svg b/src/assets/icons/svg/gitee.svg new file mode 100644 index 0000000..85e2079 --- /dev/null +++ b/src/assets/icons/svg/gitee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/indent.svg b/src/assets/icons/svg/indent.svg new file mode 100644 index 0000000..c636af5 --- /dev/null +++ b/src/assets/icons/svg/indent.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/input.svg b/src/assets/icons/svg/input.svg new file mode 100644 index 0000000..ab91381 --- /dev/null +++ b/src/assets/icons/svg/input.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/morevertical.svg b/src/assets/icons/svg/morevertical.svg new file mode 100644 index 0000000..cb53c75 --- /dev/null +++ b/src/assets/icons/svg/morevertical.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/number.svg b/src/assets/icons/svg/number.svg new file mode 100644 index 0000000..ad5ce9a --- /dev/null +++ b/src/assets/icons/svg/number.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/outdent.svg b/src/assets/icons/svg/outdent.svg new file mode 100644 index 0000000..6123c75 --- /dev/null +++ b/src/assets/icons/svg/outdent.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/password.svg b/src/assets/icons/svg/password.svg new file mode 100644 index 0000000..6c64def --- /dev/null +++ b/src/assets/icons/svg/password.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/radio.svg b/src/assets/icons/svg/radio.svg new file mode 100644 index 0000000..0cde345 --- /dev/null +++ b/src/assets/icons/svg/radio.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/rate.svg b/src/assets/icons/svg/rate.svg new file mode 100644 index 0000000..aa3b14d --- /dev/null +++ b/src/assets/icons/svg/rate.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/rich-text.svg b/src/assets/icons/svg/rich-text.svg new file mode 100644 index 0000000..76c45bf --- /dev/null +++ b/src/assets/icons/svg/rich-text.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/row.svg b/src/assets/icons/svg/row.svg new file mode 100644 index 0000000..0780992 --- /dev/null +++ b/src/assets/icons/svg/row.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/select.svg b/src/assets/icons/svg/select.svg new file mode 100644 index 0000000..d628382 --- /dev/null +++ b/src/assets/icons/svg/select.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/slider.svg b/src/assets/icons/svg/slider.svg new file mode 100644 index 0000000..fbe4f39 --- /dev/null +++ b/src/assets/icons/svg/slider.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/switch.svg b/src/assets/icons/svg/switch.svg new file mode 100644 index 0000000..0ba61e3 --- /dev/null +++ b/src/assets/icons/svg/switch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/table.svg b/src/assets/icons/svg/table.svg new file mode 100644 index 0000000..e806845 --- /dev/null +++ b/src/assets/icons/svg/table.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/textarea.svg b/src/assets/icons/svg/textarea.svg new file mode 100644 index 0000000..2709f29 --- /dev/null +++ b/src/assets/icons/svg/textarea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/time-range.svg b/src/assets/icons/svg/time-range.svg new file mode 100644 index 0000000..13c1202 --- /dev/null +++ b/src/assets/icons/svg/time-range.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/time.svg b/src/assets/icons/svg/time.svg new file mode 100644 index 0000000..b376e32 --- /dev/null +++ b/src/assets/icons/svg/time.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/tuichuquanping.svg b/src/assets/icons/svg/tuichuquanping.svg new file mode 100644 index 0000000..812822f --- /dev/null +++ b/src/assets/icons/svg/tuichuquanping.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/upload.svg b/src/assets/icons/svg/upload.svg new file mode 100644 index 0000000..bae49c0 --- /dev/null +++ b/src/assets/icons/svg/upload.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/logo.png b/src/assets/images/logo.png new file mode 100644 index 0000000..30a7fa5 Binary files /dev/null and b/src/assets/images/logo.png differ diff --git a/src/assets/images/user.png b/src/assets/images/user.png new file mode 100644 index 0000000..eada854 Binary files /dev/null and b/src/assets/images/user.png differ diff --git a/src/assets/theme/base.less b/src/assets/theme/base.less new file mode 100644 index 0000000..83e8220 --- /dev/null +++ b/src/assets/theme/base.less @@ -0,0 +1,32 @@ +//定义基础色 + +//主色 + +body { + --color-primary: #409eff; + --color-primary-light: rgb(64 158 255 / 8%); +} + +@--color-primary:~ 'var(--color-primary)'; +@--color-primary-light:~ 'var(--color-primary-light)'; + +@text: #595959; +@text-2: #8c8c8c; + +//导航菜单 +@dark-text: rgb(255 255 255 / 66%); +@dark-text-active: #eee; +@dark-bg: #263238; +@dark-bg-active: @--color-primary; + +@light-text: @text; +@light-text-active: @--color-primary; +@light-bg: #fff; +@light-bg-active: @--color-primary-light; + +@primary-text: rgb(255 255 255 / 66%); +@primary-text-2: rgb(255 255 255 / 65%); +@primary-text-active: #fff; +@primary-bg: @--color-primary; +@primary-bg-light: @--color-primary-light; +@primary-bg-active: @--color-primary-light; diff --git a/src/assets/theme/index.less b/src/assets/theme/index.less new file mode 100644 index 0000000..1f9645d --- /dev/null +++ b/src/assets/theme/index.less @@ -0,0 +1,935 @@ +@import "./base.less"; + +//主题样式 + +//================= +.el-menu--vertical.rr-sidebar-menu-pop-light, +.el-menu--vertical.rr-sidebar-menu-pop-dark { + border-radius: 4px !important; + box-shadow: none !important; + .el-menu.el-menu--popup { + min-width: 160px; + border-radius: 4px !important; + } + .el-menu-item, + .el-sub-menu__title { + height: 45px; + line-height: 45px; + } + .is-active { + &.el-menu-item { + border: 0 !important; + } + } +} +//深色侧边栏 +.ui-sidebar-dark .rr-sidebar, +.rr-sidebar-menu-pop-dark { + background: @dark-bg !important; + box-shadow: 0 4px 4px rgba(0, 21, 41, 0.35); + .el-menu { + background: @dark-bg !important; + .el-menu-item, + .el-sub-menu__title { + &:hover { + i, + a { + color: @dark-text-active !important; + } + } + i, + a { + color: @dark-text !important; + } + &:not(.is-active):hover { + background: inherit !important; + } + } + .is-active { + &.el-menu-item { + border-right: none !important; + background: @dark-bg-active !important; + } + &.el-menu-item, + > .el-sub-menu__title:first-child { + i, + a { + color: @dark-text-active !important; + } + } + } + } +} +//浅色侧边栏 +.ui-sidebar-light .rr-sidebar, +.rr-sidebar-menu-pop-light { + background: @light-bg !important; + box-shadow: 0 4px 4px rgba(0, 21, 41, 0.25); + .el-menu { + background: @light-bg !important; + .el-menu-item, + .el-sub-menu__title { + &:hover { + i, + a { + color: @light-text-active !important; + } + } + i, + a { + color: @light-text !important; + } + &:not(.is-active):hover { + background: inherit !important; + } + } + .is-active { + &.el-menu-item { + border-right: 2px solid @light-text-active !important; + background: @light-bg-active !important; + } + &.el-menu-item, + > .el-sub-menu__title:first-child { + i, + a { + color: @light-text-active !important; + } + } + } + } +} + +//================================ +.el-menu--horizontal.rr-sidebar-menu-pop-light, +.el-menu--horizontal.rr-sidebar-menu-pop-dark { + border-radius: 4px !important; + box-shadow: none !important; + background-color: @light-bg !important; + border: none !important; + margin-top: -5px; + margin-left: 0; + .el-popper { + border: 0 !important; + } + .el-menu--horizontal { + margin-left: -5px; + } + + .el-menu.el-menu--popup { + min-width: 160px; + box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2) !important; + } + + .el-menu-item, + .el-sub-menu__title { + height: 45px; + line-height: 45px; + } + .is-active { + &.el-menu-item { + border: 0 !important; + } + } +} +//浅色顶栏 +.ui-topHeader-light { + .rr-header-ctx { + box-shadow: 0 1px 1px #f1f1f1; + &-logo { + background: @light-bg !important; + color: #000000bf; + } + } + &.ui-sidebar-dark { + .rr-header-ctx { + box-shadow: 0 1px 3px rgb(0 0 0 / 8%); + } + } + .rr-header-right { + background: @light-bg !important; + .rr-header-right-items { + * { + color: @light-text !important; + } + > div { + &:hover { + color: #262626 !important; + background: rgba(0, 0, 0, 0.1) !important; + } + } + .el-badge__content { + color: #fff !important; + } + } + .rr-sidebar-menu { + &.el-menu { + background: @light-bg !important; + .el-menu-item, + .el-sub-menu__title { + &:hover { + background: rgba(0, 0, 0, 0.1) !important; + i, + a { + color: @light-text-active !important; + } + } + i, + a { + color: @light-text !important; + } + + i:not(.el-sub-menu__icon-arrow) { + width: 17px !important; + height: 17px !important; + margin-right: 0 !important; + margin-top: -4px; + line-height: 17px; + } + span { + margin-right: 0; + } + } + .is-active { + &.el-menu-item { + border-bottom: 2px solid @light-text-active !important; + background: @light-bg !important; + } + &.el-menu-item, + .el-sub-menu__title { + i, + a { + color: @light-text-active !important; + } + &:hover { + background: rgba(0, 0, 0, 0.1) !important; + } + } + &.isLink { + border-bottom: 0 !important; + i, + a { + color: @light-text !important; + } + } + } + } + } + } +} +//深色顶栏 +.ui-topHeader-dark { + .rr-header-ctx { + &-logo { + background: @dark-bg !important; + } + } + .rr-header-right { + background: @dark-bg !important; + .rr-header-right-items { + * { + color: @dark-text !important; + &:hover { + color: @dark-text-active !important; + } + } + .el-badge__content { + color: #fff !important; + } + } + .rr-sidebar-menu { + &.el-menu { + background: @dark-bg !important; + .el-menu-item, + .el-sub-menu__title { + &:hover { + background: @dark-bg !important; + i, + a { + color: @dark-text-active !important; + } + } + i, + a { + color: @dark-text !important; + } + &:not(.is-active):hover { + background: inherit !important; + } + i:not(.el-sub-menu__icon-arrow) { + width: 17px !important; + height: 17px !important; + margin-right: 0 !important; + margin-top: -4px; + line-height: 17px; + } + span { + margin-right: 0; + } + } + .is-active { + &.el-menu-item { + border-bottom: 2px solid @dark-text-active !important; + background: @dark-bg !important; + } + &.el-menu-item, + .el-sub-menu__title { + border-bottom: 2px solid @dark-text-active !important; + i, + a { + color: @dark-text-active !important; + } + } + &.isLink { + border-bottom: 0 !important; + i, + a { + color: @dark-text !important; + } + } + } + } + } + } +} +//主题色 +.ui-topHeader-primary { + .rr-header-ctx { + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important; + position: relative; + z-index: 102; + } + .rr-header-ctx-logo { + background: @primary-bg !important; + } + .rr-header-right { + background: @primary-bg !important; + .rr-header-right-items, + .rr-header-right-left-br { + div, + span, + svg, + i { + color: @primary-text !important; + &:hover { + color: @primary-text-active !important; + } + } + > div:not(.el-breadcrumb) { + &:hover { + color: #262626 !important; + background: rgba(0, 0, 0, 0.1) !important; + } + } + .el-badge__content { + color: #fff !important; + } + .el-breadcrumb { + .el-breadcrumb__item { + &:not(:first-child) { + * { + color: @primary-text-2 !important; + font-weight: 400 !important; + } + } + } + } + } + .rr-sidebar-menu { + &.el-menu { + background: @primary-bg !important; + .el-menu-item, + .el-sub-menu__title { + &:hover, + &:focus { + background: rgba(0, 0, 0, 0.1) !important; + i, + a { + color: @primary-text-active !important; + } + } + i, + a { + color: @primary-text !important; + } + i:not(.el-sub-menu__icon-arrow) { + width: 17px !important; + height: 17px !important; + margin-right: 0 !important; + margin-top: -4px; + line-height: 17px; + } + span { + margin-right: 0; + } + } + .is-active { + &.el-menu-item { + border-bottom: 2px solid @primary-text-active !important; + } + &.el-menu-item, + .el-sub-menu__title { + border-bottom: 2px solid @primary-text-active !important; + i, + a { + color: @primary-text-active !important; + } + &:hover { + background: rgba(0, 0, 0, 0.1) !important; + } + } + &.isLink { + border-bottom: 0 !important; + i, + a { + color: @primary-text !important; + } + } + } + } + } + } +} + +//============= +//导航模式 +.ui-navLayout-left { + &.ui-sidebar-light { + .rr-sidebar { + box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.08); + z-index: 101; + } + } +} + +.ui-navLayout-top { + &.ui-topHeader-light { + .rr-header-right { + border-bottom: none !important; + } + } + .rr-header-ctx-logo { + max-width: inherit !important; + &-text { + max-width: inherit !important; + overflow: inherit !important; + } + } + .rr-view-tab-wrap { + left: 0 !important; + } +} + +.ui-navLayout-mix { + .rr-header-ctx-logo { + max-width: inherit !important; + &-text { + max-width: inherit !important; + overflow: inherit !important; + } + } + &.ui-sidebar-light { + .rr-sidebar { + box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.08); + z-index: 101; + } + } + .rr-sidebar { + box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.08); + z-index: 101; + } + .rr-header-right-left-br { + padding: 0 !important; + } +} + +//======== +//内容不铺满 +.ui-contentFull-false { + .rr-view-ctx { + width: 1200px !important; + margin-left: auto; + margin-right: auto; + } +} + +//======= +//tab标签栏开关 +.ui-openTabsPage { + &-false { + .rr-view-ctx { + margin-top: 0; + } + } +} + +//======= +//logo自动 +//导航模式在顶部时logo自动要取消 +.ui-logoAuto-true, +.ui-navLayout-top { + .rr-header-ctx-logo { + width: inherit !important; + padding: 0 15px 0 20px; + box-shadow: none !important; + } + &.ui-topHeader-primary .rr-header-ctx-logo { + background: @primary-bg !important; + color: #ffffffd9 !important; + } + &.ui-topHeader-dark .rr-header-ctx-logo { + background: @dark-bg !important; + color: #ffffffd9 !important; + } + &.ui-topHeader-light .rr-header-ctx-logo { + background: @light-bg !important; + color: #000000bf; + box-shadow: 1px 0 3px rgba(0, 0, 0, 0.08); + } +} + +//侧边栏多彩图标 +.ui-colorIcon-true { + .rr-sidebar { + .el-menu { + .el-sub-menu__title, + .el-menu-item, + .isLink { + margin-left: -5px !important; + } + li { + [class^="el-icon"] { + &:first-child { + flex-shrink: 0; + width: 28px; + height: 28px; + line-height: 28px; + font-size: 14px; + background-color: rgb(97, 178, 252); + border-radius: 50%; + text-align: center; + color: rgb(255, 255, 255) !important; + + .iconfont { + width: 14px; + height: 14px; + } + } + } + &:nth-child(2n) { + [class^="el-icon"] { + &:first-child { + background-color: rgb(125, 215, 51); + } + } + } + &:nth-child(3) { + [class^="el-icon"] { + &:first-child { + background-color: rgb(50, 162, 212); + } + } + } + &:nth-child(4) { + [class^="el-icon"] { + &:first-child { + background-color: rgb(115, 131, 207); + } + } + } + &:nth-child(5) { + [class^="el-icon"] { + &:first-child { + background-color: rgb(245, 104, 111); + } + } + } + &:nth-child(6) { + [class^="el-icon"] { + &:first-child { + background-color: rgb(43, 204, 206); + } + } + } + &:nth-child(7) { + [class^="el-icon"] { + &:first-child { + background-color: rgb(125, 215, 51); + } + } + } + &:nth-child(8) { + [class^="el-icon"] { + &:first-child { + background-color: rgb(250, 173, 20); + } + } + } + } + //-- + .el-sub-menu { + .el-menu { + li, + .el-sub-menu__title { + [class^="el-icon"] { + &:first-child:not(.el-sub-menu__icon-arrow) { + width: 8px; + height: 8px; + line-height: 8px; + font-size: 30px; + overflow: hidden; + border-radius: 50%; + margin: 0 0 0 10px; + background: @dark-text !important; + color: @dark-text !important; + &:before { + content: ""; + margin-left: -11px; + font-family: element-icons !important; + } + } + } + } + } + } + .el-menu-item, + .el-sub-menu.is-active .el-sub-menu__title { + i:first-child { + color: #fff !important; + } + } + } + } + &.ui-sidebar-light { + .rr-sidebar { + .el-sub-menu .el-menu { + .el-sub-menu { + .el-sub-menu__title { + [class^="el-icon"] { + &:first-child:not(.el-sub-menu__icon-arrow) { + color: @light-text !important; + opacity: 0.25; + } + } + &:hover { + [class^="el-icon"] { + &:first-child:not(.el-sub-menu__icon-arrow) { + color: @light-text-active !important; + opacity: 0.25; + } + } + } + } + &.is-active .el-sub-menu__title [class^="el-icon"] { + &:first-child:not(.el-sub-menu__icon-arrow) { + color: @light-text-active !important; + opacity: 1; + } + } + } + .el-menu-item { + [class^="el-icon"] { + &:first-child:not(.el-sub-menu__icon-arrow) { + background: @light-text !important; + color: @light-text !important; + opacity: 0.25; + } + } + &.is-active, + &:hover { + [class^="el-icon"] { + &:first-child:not(.el-sub-menu__icon-arrow) { + background: @light-text-active !important; + color: @light-text-active !important; + opacity: 1; + } + } + } + &:hover:not(.is-active) { + [class^="el-icon"] { + &:first-child:not(.el-sub-menu__icon-arrow) { + opacity: 0.2; + } + } + } + } + } + } + } + &.ui-sidebar-dark { + .rr-sidebar { + .el-sub-menu { + .el-sub-menu.is-opened { + &.is-active { + .el-sub-menu__title { + [class^="el-icon"] { + &:first-child:not(.el-sub-menu__icon-arrow) { + background: @dark-text-active !important; + color: @dark-text-active !important; + opacity: 1; + } + } + } + } + } + .el-menu .el-menu-item, + .el-sub-menu.is-opened .el-sub-menu__title { + [class^="el-icon"] { + &:first-child:not(.el-sub-menu__icon-arrow) { + background: @dark-text !important; + color: @dark-text !important; + opacity: 0.85; + } + } + &.is-active, + &:hover { + [class^="el-icon"] { + &:first-child:not(.el-sub-menu__icon-arrow) { + background: @dark-text-active !important; + color: @dark-text-active !important; + opacity: 1; + } + } + } + &:hover:not(.is-active) { + [class^="el-icon"] { + &:first-child:not(.el-sub-menu__icon-arrow) { + opacity: 1; + } + } + } + } + } + } + } +} + +//侧边栏收缩状态 +.rr.ui-sidebarCollapse { + &-true { + .rr-view-tab-wrap { + left: 60px; + } + .rr-header-ctx-logo-line { + width: 0; + } + .enabled-logo-false { + display: flex; + } + &.ui-logoAuto { + &-false { + .rr-header-ctx-logo { + width: 60px !important; + &-text { + display: none; + } + } + } + &-true { + .enabled-logo-false { + display: none; + } + .rr-header-ctx-logo-line { + width: 10px; + } + } + } + &.ui-navLayout-top { + //导航模式为顶部时自动展开logo状态 + .rr-header-ctx-logo { + width: inherit !important; + padding: 0 15px 0 20px; + box-shadow: none !important; + &-text { + display: block; + } + } + .enabled-logo-false { + display: none; + } + } + .rr-sidebar:not(.rr-sidebar-mobile) { + width: 60px !important; + .el-menu { + width: 60px !important; + } + // 收起效果 + .rr-sidebar-menu { + .el-menu-item, + .el-sub-menu__title, + .el-sub-menu { + a, + .el-menu { + display: none; + } + } + } + } + } + &-false { + .rr-header-ctx-logo { + &-text { + display: block; + overflow: hidden; + } + } + } +} + +//tabStyle +.ui-tabStyle-default { + .rr-view-tab { + .el-tabs__item { + border-right: none !important; + padding: 0 15px 0 !important; + &.is-active { + color: @--color-primary !important; + } + &:before { + content: none; + } + &:after { + content: ""; + height: 3px; + width: 0; + background-color: @--color-primary !important; + position: absolute; + bottom: 0; + left: 0; + } + &.is-active:after, + &:hover:after { + width: 100%; + } + } + .el-tabs__nav-wrap { + &:before, + &:after, + .el-tabs__nav-next, + .el-tabs__nav-prev { + height: 40px; + line-height: 44px; + } + } + } +} +.ui-tabStyle-dot { + .rr-view-tab-wrap { + .rr-view-tab { + .el-tabs__item { + &.is-active { + color: @--color-primary !important; + &:before { + background-color: @--color-primary !important; + } + } + } + } + } +} +.ui-tabStyle-card { + .rr-view-tab-wrap { + background: transparent !important; + box-shadow: none !important; + padding-top: 10px; + .rr-view-tab { + height: 30px; + background: transparent !important; + &-ops { + border-radius: 4px; + height: 30px; + line-height: 30px; + width: 30px; + background-color: #fff; + margin-right: 10px; + .el-icon--right { + margin-left: 0; + } + } + .el-tabs__item { + margin-left: 8px; + padding: 0 15px 0 !important; + border-radius: 4px; + height: 30px; + line-height: 30px; + background-color: #fff; + &:nth-child(2) { + margin-left: 0; + padding: 0 15px !important; + } + &.is-active { + background-color: @--color-primary !important; + color: #fff; + } + &:before { + content: none; + } + &:after { + content: none; + } + } + .el-tabs__nav-wrap { + &:before, + &:after, + .el-tabs__nav-next, + .el-tabs__nav-prev { + height: 30px; + line-height: 30px; + background: #eff2f5 !important; + } + .el-tabs__nav-next, + .el-tabs__nav-prev { + &:hover { + background: transparent !important; + } + } + } + } + } +} + +//外链 +.rr-sidebar-menu.el-menu .el-menu-item.is-active.isLink { + background: inherit !important; +} + +//不同语言下的差异 +[lang="en-US"] { + .rr-header-ctx-logo-text { + letter-spacing: 0px !important; + } +} + +@media screen and (min-width: 768px) { + :not(html):not(body)::-webkit-scrollbar { + width: 8px; + height: 8px; + background: transparent; + } + + :not(html):not(body)::-webkit-scrollbar-track { + background: transparent; + } + + :not(html):not(body)::-webkit-scrollbar-thumb { + border-radius: 4px; + background-color: hsla(0, 0%, 54.9%, 0.3); + } + + :not(html):not(body)::-webkit-scrollbar-thumb:hover { + background-color: hsla(0, 0%, 54.9%, 0.5); + } + + .ele-scrollbar-mini::-webkit-scrollbar { + width: 6px; + height: 6px; + } + + .ele-scrollbar-mini::-webkit-scrollbar-thumb { + border-radius: 3px; + } + + .ele-scrollbar-hide::-webkit-scrollbar { + width: 0; + height: 0; + } +} diff --git a/src/assets/theme/mobile.less b/src/assets/theme/mobile.less new file mode 100644 index 0000000..980eb5a --- /dev/null +++ b/src/assets/theme/mobile.less @@ -0,0 +1,97 @@ +@import "./base.less"; + +@media only screen and (max-width: 768px) { + .rr-header-action { + display: flex !important; + } + .show-xs-only { + display: block !important; + } +} +@media only screen and (min-width: 768px) { +} +@media only screen and (min-width: 768px) and (max-width: 992px) { +} +@media only screen and (max-width: 992px) { +} +@media only screen and (min-width: 992px) { +} +@media only screen and (min-width: 992px) and (max-width: 1200px) { +} +@media only screen and (max-width: 1200px) { +} +@media only screen and (min-width: 1200px) { +} +@media only screen and (min-width: 1200px) and (max-width: 1920px) { +} +@media only screen and (max-width: 1920px) { +} +@media only screen and (min-width: 1920px) { +} + +// +.ui-mobile { + .rr-view-tab-wrap { + left: 0 !important; + transition: left 0s !important; + } + .rr-header-ctx-logo-img-wrap { + display: none !important; + } +} + +.rr-sidebar-mobile { + z-index: 9999 !important; + &-inner { + margin: 0; + padding: 0; + scrollbar-width: none; + &::-webkit-scrollbar { + display: none; + } + } +} +.ui-sidebar-light .rr-sidebar-mobile { + .el-drawer__body, + .rr-header-ctx-logo-mobile { + background: @light-bg !important; + } + .rr-header-ctx-logo-mobile { + color: @light-text !important; + } +} +.ui-sidebar-dark .rr-sidebar-mobile { + .el-drawer__body, + .rr-header-ctx-logo-mobile { + background: @dark-bg !important; + } + .rr-header-ctx-logo-mobile { + color: @dark-text !important; + } +} +.ui-sidebarCollapse-true, +.ui-sidebarCollapse-false { + .rr-sidebar-mobile { + width: initial !important; + .el-menu.rr-sidebar-menu { + width: 230px !important; + .el-menu-item, + .el-sub-menu__title { + a { + display: inline-block !important; + } + } + } + .rr-header-ctx-logo.rr-header-ctx-logo-mobile { + width: auto !important; + .rr-header-ctx-logo-text { + display: inline-block !important; + } + } + + .el-drawer, + .el-drawer__body { + box-shadow: none !important; + } + } +} diff --git a/src/components/base/svg-icon/index.ts b/src/components/base/svg-icon/index.ts new file mode 100644 index 0000000..29739eb --- /dev/null +++ b/src/components/base/svg-icon/index.ts @@ -0,0 +1,4 @@ +import { withInstall } from "@/utils/utils"; +import SvgIcon from "./index.vue"; + +export default withInstall(SvgIcon); diff --git a/src/components/base/svg-icon/index.vue b/src/components/base/svg-icon/index.vue new file mode 100644 index 0000000..b48dd1c --- /dev/null +++ b/src/components/base/svg-icon/index.vue @@ -0,0 +1,38 @@ + + diff --git a/src/components/ren-dept-tree/index.ts b/src/components/ren-dept-tree/index.ts new file mode 100644 index 0000000..91593ef --- /dev/null +++ b/src/components/ren-dept-tree/index.ts @@ -0,0 +1,5 @@ +import { withInstall } from "@/utils/utils"; +import RenDeptTree from "./src/ren-dept-tree.vue"; + +RenDeptTree.name = "RenDeptTree"; +export default withInstall(RenDeptTree); diff --git a/src/components/ren-dept-tree/src/ren-dept-tree.vue b/src/components/ren-dept-tree/src/ren-dept-tree.vue new file mode 100644 index 0000000..f93a2f1 --- /dev/null +++ b/src/components/ren-dept-tree/src/ren-dept-tree.vue @@ -0,0 +1,113 @@ + + diff --git a/src/components/ren-radio-group/index.ts b/src/components/ren-radio-group/index.ts new file mode 100644 index 0000000..d9bcc95 --- /dev/null +++ b/src/components/ren-radio-group/index.ts @@ -0,0 +1,4 @@ +import { withInstall } from "@/utils/utils"; +import RenRadioGroup from "./src/ren-radio-group.vue"; + +export default withInstall(RenRadioGroup); diff --git a/src/components/ren-radio-group/src/ren-radio-group.vue b/src/components/ren-radio-group/src/ren-radio-group.vue new file mode 100644 index 0000000..4de2d8c --- /dev/null +++ b/src/components/ren-radio-group/src/ren-radio-group.vue @@ -0,0 +1,24 @@ + + diff --git a/src/components/ren-region-tree/index.ts b/src/components/ren-region-tree/index.ts new file mode 100644 index 0000000..4255fbb --- /dev/null +++ b/src/components/ren-region-tree/index.ts @@ -0,0 +1,5 @@ +import { withInstall } from "@/utils/utils"; +import RenRegionTree from "./src/ren-region-tree.vue"; + +RenRegionTree.name = "RenRegionTree"; +export default withInstall(RenRegionTree); diff --git a/src/components/ren-region-tree/src/ren-region-tree.vue b/src/components/ren-region-tree/src/ren-region-tree.vue new file mode 100644 index 0000000..9eebee5 --- /dev/null +++ b/src/components/ren-region-tree/src/ren-region-tree.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/src/components/ren-select/index.ts b/src/components/ren-select/index.ts new file mode 100644 index 0000000..47267ab --- /dev/null +++ b/src/components/ren-select/index.ts @@ -0,0 +1,4 @@ +import { withInstall } from "@/utils/utils"; +import RenSelect from "./src/ren-select.vue"; + +export default withInstall(RenSelect); diff --git a/src/components/ren-select/src/ren-select.vue b/src/components/ren-select/src/ren-select.vue new file mode 100644 index 0000000..de3ab9c --- /dev/null +++ b/src/components/ren-select/src/ren-select.vue @@ -0,0 +1,25 @@ + + diff --git a/src/components/wang-editor/index.vue b/src/components/wang-editor/index.vue new file mode 100644 index 0000000..fa881cb --- /dev/null +++ b/src/components/wang-editor/index.vue @@ -0,0 +1,82 @@ + + + diff --git a/src/constants/app.ts b/src/constants/app.ts new file mode 100644 index 0000000..13a3574 --- /dev/null +++ b/src/constants/app.ts @@ -0,0 +1,41 @@ +import { getValueByKeys } from "@/utils/utils"; +import appPack from "../../package.json"; +/** + * app系统配置 + */ +export default { + /** + * 系统版本号,自动读取package.json中的version字段 + */ + version: appPack.version, + + /** + * 系统默认语言 + */ + defaultLang: "zh-CN", + + /** + * api请求地址,这里读取env环境变量中的VITE_APP_API,优先使用全局变量window.SITE_CONFIG.apiURL钩子,支持在index.html中配置 + */ + api: getValueByKeys(window, "SITE_CONFIG.apiURL") || import.meta.env.VITE_APP_API, + + /** + * 启用logo图标,logo尺寸32*32,存放路径@/assets/images/logo.png + */ + enabledLogo: false, + + /** + * 开启页面缓存 + */ + enabledKeepAlive: true, + + /** + * 网络请求超时时间,单位毫秒 + */ + requestTimeout: 30000, + + /** + * 全屏渲染的页面 + */ + fullscreenPages: ["/login"] +}; diff --git a/src/constants/cacheKey.ts b/src/constants/cacheKey.ts new file mode 100644 index 0000000..6af413d --- /dev/null +++ b/src/constants/cacheKey.ts @@ -0,0 +1,13 @@ +/** + * token值 + */ +export const CacheToken = "CacheToken"; + +/** + * 语言 + */ +export const CacheLang = "CacheLang"; +/** + * 主题 + */ +export const CacheTheme = "CacheTheme"; diff --git a/src/constants/config.ts b/src/constants/config.ts new file mode 100644 index 0000000..2a0997f --- /dev/null +++ b/src/constants/config.ts @@ -0,0 +1,16 @@ +/** + * 主题设置默认值 + */ +export const themeSetting = { + sidebar: "dark", + topHeader: "primary", + themeColor: "#2d88ac", + navLayout: "left", + contentFull: true, + logoAuto: false, + colorIcon: false, + sidebarUniOpened: true, + openTabsPage: true, + tabStyle: "default", + sidebarCollapse: false +}; diff --git a/src/constants/enum.ts b/src/constants/enum.ts new file mode 100644 index 0000000..c573672 --- /dev/null +++ b/src/constants/enum.ts @@ -0,0 +1,143 @@ +/** + * 页面渲染布局 + */ +export enum EPageLayoutEnum { + "page", + "fullscreen" +} + +/** + * 导航模式 + */ +export enum ESidebarLayoutEnum { + /** + * 左侧导航 + */ + Left = "left", + /** + * 顶部导航 + */ + Top = "top", + /** + * 混合导航 + */ + Mix = "mix" +} + +/** + * 主题设置 + */ +export enum EThemeSetting { + /** + * 侧边栏风格 + */ + Sidebar = "sidebar", + /** + * 顶部风格 + */ + TopHeader = "topHeader", + /** + * 主题色 + */ + ThemeColor = "themeColor", + //--- + /** + * 布局模式 + */ + NavLayout = "navLayout", + /** + * 内容是否铺满 + */ + ContentFull = "contentFull", + //--- + /** + * logo宽度自动 + */ + LogoAuto = "logoAuto", + /** + * 多彩图标 + */ + ColorIcon = "colorIcon", + /** + * 侧边栏排他展开 + */ + SidebarUniOpened = "sidebarUniOpened", + /** + * 开启tab标签页 + */ + OpenTabsPage = "openTabsPage", + /** + * tab标签风格 + */ + TabStyle = "tabStyle", + //--- + /** + * 侧边栏展开收起 + */ + SidebarCollapse = "sidebarCollapse" +} + +/** + * 系统框架事件枚举 + */ +export enum EMitt { + /** + * 全局加载 + */ + OnLoading = "onLoading", + /** + * 切换左侧侧边栏 + */ + OnSwitchLeftSidebar = "onSwitchLeftSidebar", + /** + * 推送菜单到tab标签页 + */ + OnPushMenuToTabs = "onPushMenuToTabs", + /** + * 设置主题 + */ + OnSetTheme = "onSetTheme", + /** + * 设置侧边栏排他展开 + */ + OnSetThemeNotUniqueOpened = "onSetTheme_not_uniqueOpened", + /** + * 设置开启标签页 + */ + OnSetThemeTabsPage = "onSetTheme_tabsPage", + /** + * 设置导航模式 + */ + OnSetNavLayout = "onSetNavLayout", + /** + * 刷新tab标签页 + */ + OnReloadTabPage = "onReloadTabPage", + + // + /** + * 移动端打开侧边栏 + */ + OnMobileOpenSidebar = "onMobileOpenSidebar", + + // + /** + * 混合导航选中顶部主菜单 + */ + OnSelectHeaderNavMenusByMixNav = "onSelectHeaderNavMenusByMixNav", + + /** + * 关闭当前tab页 + */ + OnCloseCurrTab = "onCloseCurrTab" +} + +/** + * 主题是key + */ +export enum EThemeColor { + /** + * 主题色 + */ + ThemeColor = "--color-primary" +} diff --git a/src/hooks/useView.ts b/src/hooks/useView.ts new file mode 100644 index 0000000..5bdf91d --- /dev/null +++ b/src/hooks/useView.ts @@ -0,0 +1,246 @@ +import app from "@/constants/app"; +import { EMitt, EThemeSetting } from "@/constants/enum"; +import { IObject, IViewHooks, IViewHooksOptions } from "@/types/interface"; +import { registerDynamicToRouterAndNext } from "@/router"; +import baseService from "@/service/baseService"; +import { getToken } from "@/utils/cache"; +import emits from "@/utils/emits"; +import { getThemeConfigCacheByKey } from "@/utils/theme"; +import { checkPermission, getDictLabel } from "@/utils/utils"; +import qs from "qs"; +import { onActivated, onMounted } from "vue"; +import { useRouter, useRoute } from "vue-router"; +import { useAppStore } from "@/store"; +import { ElMessage, ElMessageBox } from "element-plus"; + +/** + * 通用视图业务逻辑(列表/增删改查基本业务) + * @param props 自定义通用业务state + * @returns 返回响应式自定义state和通用方法 + */ +const useView = (props: IViewHooksOptions | IObject): IViewHooks => { + const router = useRouter(); + const route = useRoute(); + const store = useAppStore(); + const defaultOptions: IViewHooksOptions = { + createdIsNeed: true, + activatedIsNeed: false, + getDataListURL: "", + getDataListIsPage: false, + deleteURL: "", + deleteIsBatch: false, + deleteIsBatchKey: "id", + exportURL: "", + dataForm: {}, + dataList: [], + order: "", + orderField: "", + page: 1, + limit: 10, + total: 0, + dataListLoading: false, + dataListSelections: [], + elTable: {} + }; + const mergeDefaultStateToPageState = (options: IObject, props: IObject): IViewHooksOptions => { + for (const key in options) { + if (!Object.getOwnPropertyDescriptor(props, key)) { + props[key] = options[key]; + } + } + return props; + }; + const state = mergeDefaultStateToPageState(defaultOptions, props); + onMounted(() => { + if (state.createdIsNeed && !state.activatedIsNeed) { + viewFns.query(); + } + }); + onActivated(() => { + if (store.state.closedTabs.includes(store.state.activeTabName)) { + //如果当前打开的tab页面是之前已经关闭过的会存在keep-alive缓存 + //这里采用临时刷新页面解决方案 + //待vue官方开放缓存策略后再行实现 https://github.com/vuejs/vue-next/pull/4339 https://github.com/vuejs/rfcs/pull/284 + + const closedTabs = store.state.closedTabs; + store.updateState({ + closedTabs: closedTabs.filter((x: string) => x !== store.state.activeTabName) + }); + emits.emit(EMitt.OnReloadTabPage); + } + + if (state.activatedIsNeed) { + viewFns.query(); + } + }); + + // + const rejectFns = { + hasPermission(key: string) { + return checkPermission(store.state.permissions as string[], key); + }, + getDictLabel(dictType: string, dictValue: number) { + return getDictLabel(store.state.dicts, dictType, dictValue); + } + }; + + // + const viewFns = { + // 获取数据列表 + query() { + if (!state.getDataListURL) { + return; + } + state.dataListLoading = true; + baseService + .get(state.getDataListURL, { + order: state.order, + orderField: state.orderField, + page: state.getDataListIsPage ? state.page : null, + limit: state.getDataListIsPage ? state.limit : null, + ...state.dataForm + }) + .then((res) => { + state.dataListLoading = false; + state.dataList = state.getDataListIsPage ? res.data.list : res.data; + state.total = state.getDataListIsPage ? res.data.total : 0; + }) + .catch(() => { + state.dataListLoading = false; + }); + }, + // 多选 + dataListSelectionChangeHandle(val: IObject[]) { + state.dataListSelections = val; + }, + // 排序 + dataListSortChangeHandle(data: IObject) { + if (!data.order || !data.prop) { + state.order = ""; + state.orderField = ""; + return false; + } + state.order = data.order.replace(/ending$/, ""); + state.orderField = data.prop.replace(/([A-Z])/g, "_$1").toLowerCase(); + viewFns.query(); + }, + // 分页, 每页条数 + pageSizeChangeHandle(val: number) { + state.page = 1; + state.limit = val; + viewFns.query(); + }, + // 分页, 当前页 + pageCurrentChangeHandle(val: number) { + state.page = val; + viewFns.query(); + }, + //搜索 + getDataList() { + state.page = 1; + viewFns.query(); + }, + // 删除 + deleteHandle(id?: string): Promise { + return new Promise((resolve, reject) => { + if ( + state.deleteIsBatch && + !id && + state.dataListSelections && + state.dataListSelections.length <= 0 + ) { + ElMessage.warning({ + message: "请选择操作项", + duration: 500 + }); + return; + } + ElMessageBox.confirm("确定进行[删除]操作?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning" + }) + .then(() => { + baseService + .delete( + `${state.deleteURL}${state.deleteIsBatch ? "" : "/" + id}`, + state.deleteIsBatch + ? id + ? [id] + : state.dataListSelections + ? state.dataListSelections.map( + (item: IObject) => state.deleteIsBatchKey && item[state.deleteIsBatchKey] + ) + : {} + : {} + ) + .then((res) => { + ElMessage.success({ + message: "成功", + duration: 500, + onClose: () => { + viewFns.query(); + resolve(true); + } + }); + }); + }) + .catch(() => { + // + }); + }); + }, + // 导出 + exportHandle() { + window.location.href = `${app.api}${state.exportURL}?${qs.stringify({ + ...state.dataForm, + token: getToken() + })}`; + // baseService.download(state.exportURL, { ...state.dataForm, token: getToken() }); + }, + //关闭当前窗口 + closeCurrentTab() { + if (getThemeConfigCacheByKey(EThemeSetting.OpenTabsPage)) { + emits.emit(EMitt.OnCloseCurrTab); + } else { + router.replace("/home"); + } + }, + // 处理流程路由 + handleFlowRoute(data: IObject) { + const routeParams = { + path: `/flow/task-form`, + query: { + taskId: data.taskId, + processInstanceId: data.processInstanceId, + processDefinitionId: data.processDefinitionId, + showType: "taskHandle", + _mt: `${route.meta.title} - ${data.processDefinitionName}` + } + }; + registerDynamicToRouterAndNext(routeParams); + }, + // 查看流程详情 + flowDetailRoute(data: IObject) { + const routeParams = { + path: `/flow/task-form`, + query: { + taskId: data.taskId, + processInstanceId: data.processInstanceId, + processDefinitionId: data.processDefinitionId, + showType: "detail", + _mt: `${route.meta.title} - ${data.processDefinitionName}` + } + }; + registerDynamicToRouterAndNext(routeParams); + } + }; + + // + return { + ...viewFns, + ...rejectFns + }; +}; + +export default useView; diff --git a/src/layout/fullscreen-layout.vue b/src/layout/fullscreen-layout.vue new file mode 100644 index 0000000..6b7c810 --- /dev/null +++ b/src/layout/fullscreen-layout.vue @@ -0,0 +1,20 @@ + + diff --git a/src/layout/header/base-header.vue b/src/layout/header/base-header.vue new file mode 100644 index 0000000..621adad --- /dev/null +++ b/src/layout/header/base-header.vue @@ -0,0 +1,63 @@ + + diff --git a/src/layout/header/breadcrumb.vue b/src/layout/header/breadcrumb.vue new file mode 100644 index 0000000..f8588d0 --- /dev/null +++ b/src/layout/header/breadcrumb.vue @@ -0,0 +1,34 @@ + + diff --git a/src/layout/header/collapse-sidebar-btn.vue b/src/layout/header/collapse-sidebar-btn.vue new file mode 100644 index 0000000..7b20d96 --- /dev/null +++ b/src/layout/header/collapse-sidebar-btn.vue @@ -0,0 +1,39 @@ + + diff --git a/src/layout/header/expand.vue b/src/layout/header/expand.vue new file mode 100644 index 0000000..d3a766a --- /dev/null +++ b/src/layout/header/expand.vue @@ -0,0 +1,83 @@ + + diff --git a/src/layout/header/header-mix-nav-menus.vue b/src/layout/header/header-mix-nav-menus.vue new file mode 100644 index 0000000..a2fca61 --- /dev/null +++ b/src/layout/header/header-mix-nav-menus.vue @@ -0,0 +1,64 @@ + + diff --git a/src/layout/header/logo.vue b/src/layout/header/logo.vue new file mode 100644 index 0000000..7d6bf39 --- /dev/null +++ b/src/layout/header/logo.vue @@ -0,0 +1,35 @@ + + + diff --git a/src/layout/index.vue b/src/layout/index.vue new file mode 100644 index 0000000..08b4666 --- /dev/null +++ b/src/layout/index.vue @@ -0,0 +1,80 @@ + + diff --git a/src/layout/layout.vue b/src/layout/layout.vue new file mode 100644 index 0000000..a44ab87 --- /dev/null +++ b/src/layout/layout.vue @@ -0,0 +1,3 @@ + diff --git a/src/layout/sidebar/base-sidebar.vue b/src/layout/sidebar/base-sidebar.vue new file mode 100644 index 0000000..a926fb3 --- /dev/null +++ b/src/layout/sidebar/base-sidebar.vue @@ -0,0 +1,162 @@ + + + diff --git a/src/layout/sidebar/mobile-sidebar.vue b/src/layout/sidebar/mobile-sidebar.vue new file mode 100644 index 0000000..ecd49e1 --- /dev/null +++ b/src/layout/sidebar/mobile-sidebar.vue @@ -0,0 +1,39 @@ + + + diff --git a/src/layout/sidebar/sidebar-menus-items.vue b/src/layout/sidebar/sidebar-menus-items.vue new file mode 100644 index 0000000..03cdf33 --- /dev/null +++ b/src/layout/sidebar/sidebar-menus-items.vue @@ -0,0 +1,51 @@ + + diff --git a/src/layout/view/base-view.vue b/src/layout/view/base-view.vue new file mode 100644 index 0000000..bb1165b --- /dev/null +++ b/src/layout/view/base-view.vue @@ -0,0 +1,47 @@ + + + diff --git a/src/layout/view/tabs.vue b/src/layout/view/tabs.vue new file mode 100644 index 0000000..9dfbc6c --- /dev/null +++ b/src/layout/view/tabs.vue @@ -0,0 +1,155 @@ + + diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..9bed344 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,34 @@ +import "@/assets/icons/iconfont/iconfont.js"; +import RenDeptTree from "@/components/ren-dept-tree"; +import RenRadioGroup from "@/components/ren-radio-group"; +import RenRegionTree from "@/components/ren-region-tree"; +import RenSelect from "@/components/ren-select"; +import ElementPlus from "element-plus"; +import "element-plus/theme-chalk/display.css"; +import "element-plus/theme-chalk/index.css"; +import locale from "element-plus/es/locale/lang/zh-cn"; +import { createApp } from "vue"; +import { createPinia } from "pinia"; +import App from "./App.vue"; +import router from "./router"; +import * as ElementPlusIcons from "@element-plus/icons-vue"; + +import axios from "axios"; +import "virtual:svg-icons-register"; + +const app = createApp(App); +Object.keys(ElementPlusIcons).forEach((iconName) => { + app.component(iconName, ElementPlusIcons[iconName as keyof typeof ElementPlusIcons]); +}); + +app + .use(createPinia()) + .use(router) + .use(RenRadioGroup) + .use(RenSelect) + .use(RenDeptTree) + .use(RenRegionTree) + .use(ElementPlus, { size: "default", locale: locale }) + .mount("#app"); + +window.axios = axios; diff --git a/src/router/base.ts b/src/router/base.ts new file mode 100644 index 0000000..eb99326 --- /dev/null +++ b/src/router/base.ts @@ -0,0 +1,52 @@ +import Layout from "@/layout/layout.vue"; +import Error from "@/views/error.vue"; +import { RouteRecordRaw } from "vue-router"; +import Login from "@/views/login.vue"; +import Iframe from "@/views/iframe.vue"; + +/** + * 框架基础路由 + */ +const routes: Array = [ + { + path: "/", + component: Layout, + redirect: "/home", + meta: { title: "工作台", icon: "icon-desktop" }, + children: [ + { + path: "/home", + component: () => import("@/views/home.vue"), + meta: { title: "主页", icon: "icon-home" } + } + ] + }, + { + path: "/login", + component: Login, + meta: { title: "登录", isNavigationMenu: false } + }, + { + path: "/user/password", + component: () => import("@/views/sys/user-update-password.vue"), + meta: { title: "修改密码", requiresAuth: true, isNavigationMenu: false } + }, + { + path: "/iframe/:id?", + component: Iframe, + meta: { title: "iframe", isNavigationMenu: false } + }, + { + path: "/error", + name: "error", + component: Error, + meta: { title: "错误页面", isNavigationMenu: false } + }, + { + path: "/:path(.*)*", + redirect: { path: "/error", query: { to: 404 }, replace: true }, + meta: { isNavigationMenu: false } + } +]; + +export default routes; diff --git a/src/router/index.ts b/src/router/index.ts new file mode 100644 index 0000000..2bd326b --- /dev/null +++ b/src/router/index.ts @@ -0,0 +1,187 @@ +import { IObject } from "@/types/interface"; +import { useAppStore } from "@/store"; +import { getToken } from "@/utils/cache"; +import { getBaseRouteToMeta, registerToRouter } from "@/utils/router"; +import NProgress from "nprogress"; +import "nprogress/nprogress.css"; +import { + createRouter, + createWebHashHistory, + RouteLocationNormalized, + RouteRecordRaw +} from "vue-router"; +import baseRoutes from "./base"; +import emits from "@/utils/emits"; +import { EMitt } from "@/constants/enum"; + +interface dynamicRouteParams { + path: string; + query?: IObject; + mete?: IObject; +} + +NProgress.configure({ showSpinner: false }); + +const router = createRouter({ + history: createWebHashHistory(), //createWebHashHistory() hash模式 + routes: baseRoutes +}); + +// 路由加载前 +router.beforeEach((to, from, next) => { + //外链 + if (to.meta.isNewPage) { + if (to.query.pop !== "true") { + next(undefined); + return false; + } + } + + const store = useAppStore(); + + //token + const token = getToken(); + const isPop = to.query.pop === "true"; //新窗口打开内页 + NProgress.start(); + if (to.path !== "/login") { + if (store.state.routes.length) { + if (to.name === "error") { + const isMatched = autoRegisterDynamicToRouterAndNext(to); + if (!isMatched) { + store.updateState({ appIsRender: true, appIsReady: true }); + next(); + } + } else { + if (!to.query.pop) { + const routeMeta: IObject = store.state.routeToMeta[to.path]; + emits.emit(EMitt.OnPushMenuToTabs, { + label: to.query._mt || routeMeta.title || to.path, + value: to.fullPath, + mete: routeMeta + }); + } + store.updateState({ appIsRender: true, appIsReady: true }); + next(); + } + } else { + if (token) { + store.initApp().then((res: Array) => { + const mergeRoute = baseRoutes.concat(res); + router.options.routes = mergeRoute; + registerToRouter(router, mergeRoute); + if (!to.matched.length) { + registerDynamicToRouterAndNext({ path: to.path, query: to.query }); + } + store.updateState({ + appIsReady: true, + routes: mergeRoute, + routeToMeta: { ...store.state.routeToMeta, ...getBaseRouteToMeta(baseRoutes) } + }); + setTimeout(() => { + store.updateState({ appIsRender: true, appIsLogin: true }); + }, 600); + next({ ...to, replace: true }); + }); + } else { + if (isPop) { + if (!to.matched.length) { + registerDynamicToRouterAndNext({ path: to.path, query: to.query }); + store.updateState({ appIsRender: true, appIsReady: true }); + next(to.fullPath); + } else { + store.updateState({ appIsRender: true, appIsReady: true }); + if (to.meta.requiresAuth) { + next("/login"); + } else { + next(); + } + } + } else { + next("/login"); + } + } + } + } else { + store.updateState({ appIsReady: true, appIsRender: true }); + next(); + } +}); + +// 路由加载后 +router.afterEach(() => { + NProgress.done(); +}); + +/** + * 获取系统视图路径映射 + * @returns + */ +export const getSysRouteMap = (): IObject => { + return import.meta.glob("/src/views/**/*.vue"); +}; + +/** + * 根据路由path转换为系统视图组件路径 + * @param path + * @returns + */ +export const toSysViewComponentPath = (path: string): string => { + path = path.replace("_", "-"); + return `/src/views${path}.vue`; +}; +/** + * 自动注册路由 + * @param to + * @returns + */ +const autoRegisterDynamicToRouterAndNext = (to: RouteLocationNormalized): boolean => { + if (to.redirectedFrom) { + const path = to.redirectedFrom.path; + const component = matchedSysRouteComponent(path); + if (component) { + registerToRouter(router, [ + { + path: path, + name: path, + component, + redirect: "" + } + ]); + router.push(to.redirectedFrom); + return true; + } + } + return false; +}; + +/** + * 寻找视图组件 + * @param path + * @returns + */ +const matchedSysRouteComponent = (path: string): any => { + const sysRouteMap = getSysRouteMap(); + const component = sysRouteMap[toSysViewComponentPath(path)]; + if (!component) { + console.error("实时注册动态路由失败,未找到组件路径", path); + } + return component; +}; + +/** + * 实时注册动态路由并直接跳转过去 + * @param route + */ +export const registerDynamicToRouterAndNext = (route: dynamicRouteParams): void => { + const component = matchedSysRouteComponent(route.path); + const newRoute: RouteRecordRaw = { + path: route.path, + name: route.path, + component, + redirect: !component ? { path: "/error", query: { to: 404 }, replace: true } : "" + }; + registerToRouter(router, [newRoute]); + router.push(route); +}; + +export default router; diff --git a/src/service/baseService.ts b/src/service/baseService.ts new file mode 100644 index 0000000..f0174b8 --- /dev/null +++ b/src/service/baseService.ts @@ -0,0 +1,77 @@ +import { IHttpResponse, IObject } from "@/types/interface"; +import http from "../utils/http"; + +/** + * 常用CRUD + */ +export default { + /** + * 删除 + * @param path + * @param params + * @returns + */ + delete(path: string, params: IObject): Promise { + return http({ + url: path, + data: params, + method: "DELETE" + }); + }, + get(path: string, params?: IObject, headers?: IObject): Promise { + return new Promise((resolve, reject) => { + http({ + url: path, + params, + headers, + method: "GET" + }) + .then(resolve) + .catch((error) => { + if (error !== "-999") { + reject(error); + } + }); + }); + }, + put(path: string, params?: IObject, headers?: IObject): Promise { + return http({ + url: path, + data: params, + headers: { + "Content-Type": "application/json;charset=UTF-8", + ...headers + }, + method: "PUT" + }); + }, + /** + * 通用post方法 + * @param path + * @param body + * @returns + */ + post(path: string, body?: IObject, headers?: IObject): Promise { + return http({ + url: path, + method: "post", + headers: { + "Content-Type": "application/json;charset=UTF-8", + ...headers + }, + data: body + }); + }, + // 在 baseService.ts 中添加 + upload(path: string, formData: FormData, headers?: IObject): Promise { + return http({ + url: path, + method: "post", + // 关键:不要在这里设置 Content-Type,让浏览器/Axios 自动处理 + headers: { + ...headers + }, + data: formData + }); + } +}; diff --git a/src/store/index.ts b/src/store/index.ts new file mode 100644 index 0000000..8f9e50f --- /dev/null +++ b/src/store/index.ts @@ -0,0 +1,83 @@ +import { CacheToken } from "@/constants/cacheKey"; +import { IObject } from "@/types/interface"; +import { getSysRouteMap } from "@/router"; +import baseService from "@/service/baseService"; +import { removeCache } from "@/utils/cache"; +import { mergeServerRoute } from "@/utils/router"; +import { defineStore } from "pinia"; + +export const useAppStore = defineStore("useAppStore", { + state: () => ({ + state: { + appIsLogin: false, //是否登录 + appIsReady: false, //app数据是否就绪 + appIsRender: false, //app是否开始渲染内容 + permissions: [], //权限集合 + user: { + createDate: "", + deptId: "", + deptName: "", + email: "", + gender: 0, + headUrl: "", + id: "", + mobile: "", + postIdList: "", + realName: "", + roleIdList: "", + status: 0, + superAdmin: 0, + username: "" + }, //用户信息 + dicts: [], //字典 + routes: [], //最终的路由集合 + menus: [], //菜单集合 + routeToMeta: {}, //url对应标题meta信息 + tabs: [], //tab标签页集合 + activeTabName: "", //tab当前焦点页 + closedTabs: [] //存储已经关闭过的tab + } as IObject + }), + actions: { + updateState(data: IObject) { + Object.keys(data).forEach((x: string) => { + this.state[x] = data[x]; + }); + }, + initApp() { + return Promise.all([ + baseService.get("/sys/menu/nav"), //加载菜单 + baseService.get("/sys/menu/permissions"), //加载权限 + baseService.get("/sys/user/info"), //加载用户信息 + baseService.get("/sys/dict/type/all") //加载字典 + ]).then(([menus, permissions, user, dicts]) => { + if (user.code !== 0) { + console.error("初始化用户数据错误", user.msg); + } + const [routes, routeToMeta] = mergeServerRoute(menus.data || [], getSysRouteMap()); + this.updateState({ + permissions: permissions.data || [], + user: user.data || {}, + dicts: dicts.data || [], + routeToMeta: routeToMeta || {}, + menus: [] + }); + return routes; + }); + }, + //退出 + logout() { + removeCache(CacheToken, true); + this.updateState({ + appIsLogin: false, + permissions: [], + user: {}, + dicts: [], + menus: [], + routes: [], + tabs: [], + activeTabName: "" + }); + } + } +}); diff --git a/src/types/env.d.ts b/src/types/env.d.ts new file mode 100644 index 0000000..e43a9b0 --- /dev/null +++ b/src/types/env.d.ts @@ -0,0 +1,6 @@ +interface ImportMetaEnv { + /** + * api接口环境 + */ + VITE_APP_API: string; +} diff --git a/src/types/index.d.ts b/src/types/index.d.ts new file mode 100644 index 0000000..e453670 --- /dev/null +++ b/src/types/index.d.ts @@ -0,0 +1,3 @@ +declare interface Window { + axios: any; +} diff --git a/src/types/interface.ts b/src/types/interface.ts new file mode 100644 index 0000000..69a1847 --- /dev/null +++ b/src/types/interface.ts @@ -0,0 +1,176 @@ +export interface IFunction { + (x?: any): T; +} + +export interface IObject { + [key: string]: T; +} + +export interface IHttpResponse { + code: number; + msg: string; + data: any; +} + +/** + * 菜单 + */ +export interface IServerMenus { + createDate: string; + icon: string | boolean; + id: string; + name: string; + parentName: string; + permissions: string; + pid: string; + sort: number; + type: number; + url: string; + openStyle: number; + redirect?: string; + children?: IServerMenus[]; +} + +export interface ICacheOptions { + /** + * 是否取值后立即删除缓存 + */ + isDelete?: boolean; + /** + * 是否采用JSON格式化缓存值 + */ + isParse?: boolean; + /** + * 是否采用会话缓存介质 + */ + isSessionStorage?: boolean; +} + +export interface IViewHooksOptions { + // 设置属性 + /** + * 此页面是否在创建时,调用查询数据列表接口? + */ + createdIsNeed?: boolean; + /** + * 此页面是否在激活(进入)时,调用查询数据列表接口? + */ + activatedIsNeed?: boolean; + /** + * 数据列表接口,API地址 + */ + getDataListURL?: string; + /** + * 数据列表接口,是否需要分页? + */ + getDataListIsPage?: boolean; + /** + * 删除接口,API地址 + */ + deleteURL?: ""; + /** + * 删除接口,是否需要批量? + */ + deleteIsBatch?: boolean; + /** + * 删除接口,批量状态下由那个key进行标记操作?比如:pid,uid... + */ + deleteIsBatchKey?: string; + /** + * 导出接口,API地址 + */ + exportURL?: string; + + /** + * 查询条件 + */ + dataForm?: IObject; + /** + * 数据列表 + */ + dataList?: IObject[]; + /** + * 排序,asc/desc + */ + order?: string; + /** + * 排序,字段 + */ + orderField?: string; + /** + * 当前页码 + */ + page?: number; + /** + * 每页数 + */ + limit?: number; + /** + * 总条数 + */ + total?: number; + /** + * 数据列表,loading状态 + */ + dataListLoading?: boolean; + /** + * 数据列表,多选项 + */ + dataListSelections?: IObject[]; + elTable?: IObject; +} + +export interface IViewHooks extends IViewHooksOptions, IObject { + /** + * 检查权限 + */ + hasPermission: (key: string) => boolean; + /** + * 获取字典名称 + */ + getDictLabel: (dictType: string, dictValue: number) => string | number; + /** + * 查询列表记录 + */ + query: () => void; + /** + * 列表多选事件 + */ + dataListSelectionChangeHandle: (list: IObject[]) => void; + /** + * 列表排序事件 + */ + dataListSortChangeHandle: (sort: IObject) => void; + /** + * 列表切换每页显示数量事件 + */ + pageSizeChangeHandle: (pageSize: number) => void; + /** + * 列表分页事件 + */ + pageCurrentChangeHandle: (pageIndex: number) => void; + /** + * 列表搜索事件 + */ + getDataList: () => void; + /** + * 列表删除事件 + */ + deleteHandle: (id?: string) => Promise; + /** + * 列表导出事件 + */ + exportHandle: () => void; + /** + * 关闭当前tab页 + */ + closeCurrentTab: () => void; + /** + * 处理流程 + */ + handleFlowRoute: (e: IObject) => void; + /** + * 查看流程详情 + */ + flowDetailRoute: (e: IObject) => void; +} diff --git a/src/types/shims.d.ts b/src/types/shims.d.ts new file mode 100644 index 0000000..8ef6f4c --- /dev/null +++ b/src/types/shims.d.ts @@ -0,0 +1,29 @@ +/* eslint-disable */ +declare module "*.vue" { + import type { DefineComponent } from "vue"; + const component: DefineComponent<{}, {}, any>; + export default component; +} + +declare module "*.svg"; +declare module "*.png"; +declare module "*.jpg"; +declare module "*.jpeg"; +declare module "*.gif"; +declare module "*.bmp"; +declare module "*.tiff"; +declare module "*.gif"; + +declare module "*.less"; + +declare global { + interface ImportMeta { + env: Record; + globEager(globPath: string): Record; + } +} + +declare module "virtual:*" { + const result: any; + export default result; +} diff --git a/src/utils/cache.ts b/src/utils/cache.ts new file mode 100644 index 0000000..3a51355 --- /dev/null +++ b/src/utils/cache.ts @@ -0,0 +1,71 @@ +import { CacheToken } from "@/constants/cacheKey"; +import { ICacheOptions } from "@/types/interface"; +import { isNullOrUndefined } from "./utils"; + +const fix = "v1@"; + +/** + * 存储介质适配器 + * @param isSessionStorage + * @returns + */ +const cacheAdapter = (isSessionStorage?: boolean) => { + return isSessionStorage ? sessionStorage : localStorage; +}; + +/** + * 取缓存值 + * @param {*} key + * @param {*} options + */ +export const getCache = (key: string, options?: ICacheOptions, defaultValue?: unknown): any => { + key = fix + key; + options = { isParse: true, isDelete: false, ...options }; + try { + const value = cacheAdapter(options.isSessionStorage).getItem(key); + if (options.isDelete) { + cacheAdapter(options.isSessionStorage).removeItem(key); + } + return isNullOrUndefined(value) + ? defaultValue + : options.isParse + ? value + ? JSON.parse(value) + : defaultValue + : value; + } catch (error) { + console.error("getCache", error); + return defaultValue; + } +}; + +/** + * 设置缓存值 + * @param {*} key + * @param {*} value + */ +export const setCache = ( + key: string, + value: string | Record | Array[], + isSessionStorage?: boolean +): void => { + key = fix + key; + cacheAdapter(isSessionStorage).setItem( + key, + typeof value === "object" ? JSON.stringify(value) : value + ); +}; + +/** + * 清除缓存 + * @param key + * @param isSessionStorage + */ +export const removeCache = (key: string, isSessionStorage?: boolean): void => { + key = fix + key; + cacheAdapter(isSessionStorage).removeItem(key); +}; + +export const getToken = (): string => { + return getCache(CacheToken, { isSessionStorage: true }, {})["token"]; +}; diff --git a/src/utils/emits.ts b/src/utils/emits.ts new file mode 100644 index 0000000..03e47cf --- /dev/null +++ b/src/utils/emits.ts @@ -0,0 +1,6 @@ +import mitt, { Emitter } from "mitt"; + +/** + * 事件总线 + */ +export default mitt() as Emitter; diff --git a/src/utils/http.ts b/src/utils/http.ts new file mode 100644 index 0000000..7571701 --- /dev/null +++ b/src/utils/http.ts @@ -0,0 +1,90 @@ +import app from "@/constants/app"; +import { IHttpResponse, IObject } from "@/types/interface"; +import router from "@/router"; +import axios, { AxiosRequestConfig } from "axios"; +import qs from "qs"; +import { getToken } from "./cache"; +import { getValueByKeys } from "./utils"; +import { ElMessage } from "element-plus"; + +const http = axios.create({ + baseURL: app.api, + timeout: app.requestTimeout +}); + +http.interceptors.request.use( + function (config: any) { + config.headers["X-Requested-With"] = "XMLHttpRequest"; + config.headers["Request-Start"] = new Date().getTime(); + const token = getToken(); + if (token) { + config.headers["token"] = token; + } + if (config.method?.toUpperCase() === "GET") { + config.params = { ...config.params, _t: new Date().getTime() }; + } + if (Object.values(config.headers).includes("application/x-www-form-urlencoded")) { + config.data = qs.stringify(config.data); + } + return config; + }, + function (error) { + return Promise.reject(error); + } +); +http.interceptors.response.use( + (response) => { + // 响应成功 + if (response.data.code === 0) { + return response; + } + + // 错误提示 + ElMessage.error(response.data.msg); + + if (response.data.code === 401) { + //自定义业务状态码 + redirectLogin(); + } + + return Promise.reject(new Error(response.data.msg || "Error")); + }, + (error) => { + const status = getValueByKeys(error, "response.status", 500); + const httpCodeLabel: IObject = { + 400: "请求参数错误", + 401: "未授权,请登录", + 403: "拒绝访问", + 404: `请求地址出错: ${getValueByKeys(error, "response.config.url", "")}`, + 408: "请求超时", + 500: "API接口报500错误", + 501: "服务未实现", + 502: "网关错误", + 503: "服务不可用", + 504: "网关超时", + 505: "HTTP版本不受支持" + }; + if (error && error.response) { + console.error("请求错误", error.response.data); + } + if (status === 401) { + redirectLogin(); + } + return Promise.reject(new Error(httpCodeLabel[status] || "接口错误")); + } +); + +const redirectLogin = () => { + router.replace("/login"); + return; +}; + +export default (o: AxiosRequestConfig): Promise => { + return new Promise((resolve, reject) => { + http(o) + .then((res) => { + return resolve(res.data); + }) + .catch(reject); + }); +}; diff --git a/src/utils/router.ts b/src/utils/router.ts new file mode 100644 index 0000000..9d595a2 --- /dev/null +++ b/src/utils/router.ts @@ -0,0 +1,181 @@ +import app from "@/constants/app"; +import Layout from "@/layout/layout.vue"; +import { toSysViewComponentPath } from "@/router"; +import { IObject, IServerMenus } from "@/types/interface"; +import Iframe from "@/views/iframe.vue"; +import { Router, RouteRecordNormalized, RouteRecordRaw } from "vue-router"; +import { getValueByKeys, isExternalLink } from "./utils"; + +/** + * 合并本地路由和服务端菜单,追加isIframe和isNewPage参数到meta中 + * @param serverRoutes + * @param sysRouteMap + * @returns + */ +export const mergeServerRoute = ( + serverRoutes: IServerMenus[], + sysRouteMap: IObject, + matched: IObject[] = [] +): [RouteRecordRaw[], IObject] => { + const rs: RouteRecordRaw[] = []; + let routeToMeta: IObject = {}; + serverRoutes.forEach((x: IServerMenus) => { + const [path, meta] = mergeRouteToOpenStyle(x.url, x); + const viewComponent = sysRouteMap[toSysViewComponentPath(path)]; + const isNotMatchComponent = + !viewComponent && !meta.isIframe && !meta.isNewPage && !(x.children && x.children.length); + const r: RouteRecordRaw = { + path, + name: path, + component: meta.isIframe ? Iframe : x.children && x.children.length ? Layout : viewComponent + }; + r.meta = { + title: x.name, + icon: x.icon, + openStyle: x.openStyle, + id: x.id, + url: x.url, + matched: [...matched, { path, title: x.name }], + ...meta + }; + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + r.redirect = + x.redirect || + (isNotMatchComponent ? { path: "/error", query: { to: 404 }, replace: true } : ""); + if (path) { + routeToMeta[path] = r.meta; + } + if (x.children && x.children.length) { + const childrenRoutes = mergeServerRoute( + x.children, + sysRouteMap, + getValueByKeys(r.meta, "matched", []) + ); + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + r.children = childrenRoutes[0]; + routeToMeta = { ...routeToMeta, ...childrenRoutes[1] }; + } + rs.push(r); + }); + return [rs, routeToMeta]; +}; + +/** + * 重置路由 + * @param router + * @param routes + */ +export const resetRoute = (router: Router, routes: RouteRecordRaw[]): void => { + routes.forEach((route: any) => { + const { name } = route; + router.hasRoute(name) && router.removeRoute(name); + }); +}; + +/** + * 路由转换成对象格式 + * @param routes + * @returns + */ +export const routesToObject = (routes: any[]): IObject => { + const rs: IObject = {}; + const loop = (ms: any[]) => { + ms.forEach((x: RouteRecordNormalized): void => { + rs[x.path] = x; + if (x.children && x.children.length) { + loop(x.children); + } + }); + }; + loop(routes); + return rs; +}; + +/** + * 转化为有效的导航路由 + * @param routes + * @returns + */ +export const toValidRoutes = (routes: RouteRecordRaw[]): RouteRecordRaw[] => { + const rs: RouteRecordRaw[] = []; + routes.forEach((x: RouteRecordRaw) => { + if (x.meta && x.meta.isNavigationMenu !== false) { + if (x.children && x.children.length) { + x.children = toValidRoutes(x.children); + } + rs.push(x); + } + }); + return rs; +}; + +/** + * 注册路由,keep-alive不支持多级路由,这里将多级路由转化为1级路由 + * @param router + * @param rs + */ +export const registerToRouter = (router: Router, rs: RouteRecordRaw[]): void => { + rs.forEach((x: RouteRecordRaw) => { + if (!router.hasRoute(x.path)) { + if (x.children && x.children.length) { + router.addRoute({ ...x, children: [] }); + registerToRouter(router, x.children); + } else { + router.addRoute(x); + } + } + }); +}; + +export const mergeRouteToOpenStyle = (url: string, item: IServerMenus): [string, IObject] => { + url = url || `/iframe/${item.id}`; + let meta: IObject = {}; + const toRoutePath = (url: string): string => { + return (url = !/^\//g.test(url) ? "/" + url : url); + }; + //生成变量路由数据 + const renderVariableHook = (url: string): string => { + return url.replace("{{ApiUrl}}", app.api); + }; + if (item.openStyle === 1) { + //外部 + if (isExternalLink(url)) { + url = renderVariableHook(url); + meta = { url, isNewPage: true }; + url = `/webview/${item.id}`; //虚拟无效地址 + } else { + url = toRoutePath(url); + meta = { url: `/#${url}?pop=true`, isNewPage: true }; + } + } else { + //内部 + if (isExternalLink(url)) { + url = renderVariableHook(url); + meta = { url, isIframe: true }; + url = `/iframe/${item.id}`; + } else { + url = toRoutePath(url); + } + } + return [url, meta]; +}; + +/** + * + * @param routes 获取基础路由url和meta数据 + * @returns + */ +export const getBaseRouteToMeta = (routes: RouteRecordRaw[]): IObject => { + let routeToMeta: IObject = {}; + routes.forEach((x) => { + if (x.path && x.meta) { + routeToMeta[x.path] = { ...x.meta, openStyle: 0, id: x.path, url: x.path }; + } + if (x.children && x.children.length) { + routeToMeta = { ...routeToMeta, ...getBaseRouteToMeta(x.children) }; + } + }); + return routeToMeta; +}; diff --git a/src/utils/theme.ts b/src/utils/theme.ts new file mode 100644 index 0000000..a7d135f --- /dev/null +++ b/src/utils/theme.ts @@ -0,0 +1,173 @@ +import { CacheTheme } from "@/constants/cacheKey"; +import { themeSetting } from "@/constants/config"; +import { EMitt, EThemeSetting } from "@/constants/enum"; +import { IFunction, IObject } from "@/types/interface"; +import { getCache, setCache } from "./cache"; +import emits from "./emits"; +import chalkCss from "element-plus/theme-chalk/index.css?inline"; + +/** + * 取主题设置缓存 + * @returns + */ +export const getThemeConfigCache = (): IObject => { + const cache = getCache(CacheTheme, {}, {}); + return { ...themeSetting, ...cache }; +}; + +/** + * 取主题设置缓存 + * @param key + * @param config + * @returns + */ +export const getThemeConfigCacheByKey = ( + key: EThemeSetting, + config?: IObject +): string | boolean | number => { + config = config || getCache(CacheTheme, {}, {}); + return config ? config[key] ?? themeSetting[key] : themeSetting[key]; +}; + +/** + * 生成主题设置样式名称 + * @param config + * @returns + */ +export const getThemeConfigToClass = (config: IObject = {}): IObject => { + const cl: IObject = {}; + Object.keys(config).forEach((x) => { + cl[x] = `ui-${x}-${config[x]}`; + }); + return cl; +}; + +/** + * 主题设置到缓存 + * @param key + * @param value + */ +export const setThemeConfigToCache = ( + key: EThemeSetting, + value: string | boolean | number +): void => { + const theme = getCache(CacheTheme, {}, {}); + setCache(CacheTheme, { ...theme, [key]: value }); +}; + +/** + * 设置主题色 + * @param key + * @param value + */ +export const setThemeColor = (key: string, value: string): void => { + const elm = window.document.querySelector("body"); + if (elm) { + elm.style.setProperty(key, value); + elm.style.setProperty(key + "-light", value + "14"); + } +}; + +/** + * 生成主题色 + * @param theme + * @returns + */ +export const getThemeCluster = (theme: string): string[] => { + const tintColor = (color: string, tint: number) => { + let red: any = parseInt(color.slice(0, 2), 16); + let green: any = parseInt(color.slice(2, 4), 16); + let blue: any = parseInt(color.slice(4, 6), 16); + + if (tint === 0) { + // when primary color is in its rgb space + return [red, green, blue].join(","); + } else { + red += Math.round(tint * (255 - red)); + green += Math.round(tint * (255 - green)); + blue += Math.round(tint * (255 - blue)); + + red = red.toString(16); + green = green.toString(16); + blue = blue.toString(16); + + return `#${red}${green}${blue}`; + } + }; + + const shadeColor = (color: string, shade: number): string => { + let red: any = parseInt(color.slice(0, 2), 16); + let green: any = parseInt(color.slice(2, 4), 16); + let blue: any = parseInt(color.slice(4, 6), 16); + + red = Math.round((1 - shade) * red); + green = Math.round((1 - shade) * green); + blue = Math.round((1 - shade) * blue); + + red = red.toString(16); + green = green.toString(16); + blue = blue.toString(16); + + return `#${red}${green}${blue}`; + }; + + const clusters = [theme]; + for (let i = 0; i <= 9; i++) { + clusters.push(tintColor(theme, Number((i / 10).toFixed(2)))); + } + clusters.push(shadeColor(theme, 0.1)); + return clusters; +}; + +/** + * 获取主题css + * @param url + * @param callback + * @param variable + */ +export const getCSSString = (callback: IFunction, variable?: string): void => { + if (variable) { + (window as any)[variable] = chalkCss; + } + callback(chalkCss); +}; + +export const updateStyle = (style: string, oldCluster: string[], newCluster: string[]): string => { + let newStyle = style; + oldCluster.forEach((color, index) => { + newStyle = newStyle.replace(new RegExp(color, "ig"), newCluster[index]); + }); + return newStyle; +}; + +/** + * 更新主题色 + * @param themeColor + * @param val + * @returns + */ +export const updateTheme = (val: string): void => { + emits.emit(EMitt.OnLoading, true); + const head = document.getElementsByTagName("head")[0]; + const themeCluster = getThemeCluster(val.replace("#", "")); + const getHandler = (variable: string, id: string) => { + return () => { + const originalCluster = getThemeCluster("#409eff".replace("#", "")); + const newStyle = updateStyle((window as any)[variable], originalCluster, themeCluster); + let styleTag = document.getElementById(id); + if (!styleTag) { + styleTag = document.createElement("style"); + styleTag.setAttribute("id", id); + head.appendChild(styleTag); + } + styleTag.innerText = newStyle; + emits.emit(EMitt.OnLoading, false); + }; + }; + const chalkHandler = getHandler("__chalk", "chalk-style"); + if (!(window as any)["__chalk"]) { + getCSSString(chalkHandler, "__chalk"); + } else { + chalkHandler(); + } +}; diff --git a/src/utils/utils.ts b/src/utils/utils.ts new file mode 100644 index 0000000..e673f12 --- /dev/null +++ b/src/utils/utils.ts @@ -0,0 +1,252 @@ +import { IFunction, IObject } from "@/types/interface"; +import { debounce, DebouncedFunc, DebounceSettings } from "lodash"; +import type { App, Plugin } from "vue"; + +/** + * 获取对象下的字段值 + * @param record {} + * @param key 'a.b.c' + * @param defaultValue + * @returns + */ +export const getValueByKeys = (record: IObject = {}, key: string, defaultValue?: unknown): any => { + const keys = key.split("."); + for (let i = 0; i < keys.length; i++) { + record = record[keys[i]] || (i === keys.length - 1 ? defaultValue : {}); + } + return record || defaultValue; +}; + +/** + * 数组转对象 + * @param {*} rs 集合 + * @param {*} key 需要转换目标key的名称 + */ +export const arrayToObject = ( + rs: any[] = [], + key: string | IFunction, + render?: IFunction +): IObject => { + const o: IObject = {}; + rs.forEach((x) => { + o[typeof key === "function" ? key(x) : x[key]] = render ? render(x) : x; + }); + return o; +}; + +/** + * 数组转换格式 + * @param rs + * @param render + * @returns + */ +export const arrayToKeyValueArray = (rs: any[] = [], render?: IFunction): any[] => { + return rs.map((x) => (render ? render(x) : typeof x === "object" ? x : { label: x, value: x })); +}; + +/** + * 是否只null和undefined值 + * @param vl + * @returns + */ +export const isNullOrUndefined = (vl: unknown): boolean => { + return vl === null || typeof vl === "undefined"; +}; + +/** + * 是否外链 + * @param path + * @returns + */ +export const isExternalLink = (path: string): boolean => { + return /^(https?:|\/\/|mailto:|tel:|^{{\s?ApiUrl\s?}})/.test(path); +}; + +/** + * 复制 + * @param value + */ +export const copyToClipboard = (value: string): void => { + const transfer = document.createElement("textarea"); + document.body.appendChild(transfer); + transfer.value = value; + transfer.focus(); + transfer.select(); + if (document.execCommand("copy")) { + document.execCommand("copy"); + } + transfer.blur(); + document.body.removeChild(transfer); +}; + +/** + * 检查是否有权限 + * @param permission + * @param key + * @returns + */ +export const checkPermission = (permission: string[], key: string): boolean => { + return permission.includes(key); +}; + +/** + * 获取uuid + */ +export const getUuid = (): string => { + return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) { + const r = (Math.random() * 16) | 0, + v = c == "x" ? r : (r & 0x3) | 0x8; + return v.toString(16); + }); +}; + +/** + * 邮箱 + * @param {*} s + */ +export const isEmail = (s: string): boolean => { + return /^([a-zA-Z0-9._-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s); +}; + +/** + * 手机号码 + * @param {*} s + */ +export const isMobile = (s: string): boolean => { + return /^1[0-9]{10}$/.test(s); +}; + +/** + * 电话号码 + * @param {*} s + */ +export const isPhone = (s: string): boolean => { + return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s); +}; + +/** + * URL地址 + * @param {*} s + */ +export const isURL = (s: string): boolean => { + return /^http[s]?:\/\/.*/.test(s); +}; + +/** + * 正整数 + * @param {*} s + */ +export const isNumber = (s: string): boolean => { + return /^\+?[1-9][0-9]*$/.test(s); +}; + +/** + * 获取字典数据列表 + * @param dictType 字典类型 + */ +export const getDictDataList = (list: IObject[], dictType?: string): IObject[] => { + const type = list.find((element: IObject) => element.dictType === dictType); + if (type) { + return type.dataList; + } else { + return []; + } +}; + +/** + * 获取字典名称 + * @param dictType 字典类型 + * @param dictValue 字典值 + */ +export const getDictLabel = ( + list: IObject[], + dictType: string, + dictValue: number +): string | number => { + const type = list.find((element: IObject) => element.dictType === dictType); + if (type) { + const val = type.dataList.find((element: IObject) => element.dictValue === dictValue + ""); + if (val) { + return val.dictLabel; + } else { + return dictValue; + } + } else { + return dictValue; + } +}; + +/** + * 获取svg图标(id)列表 + */ +export const getIconList = (): string[] => { + const rs: string[] = []; + const list = document.querySelectorAll("svg symbol"); + for (let i = 0; i < list.length; i++) { + rs.push(list[i].id); + } + return rs; +}; + +/** + * 树形数据转换 + * @param {*} data + * @param {*} id + * @param {*} pid + */ +export const treeDataTranslate = (data: IObject[], id?: string, pid?: string): IObject[] => { + const res: IObject[] = []; + const temp: IObject = {}; + id = id || "id"; + pid = pid || "pid"; + for (let i = 0; i < data.length; i++) { + temp[data[i][id]] = data[i]; + } + for (let k = 0; k < data.length; k++) { + if (!temp[data[k][pid]] || data[k][id] === data[k][pid]) { + res.push(data[k]); + continue; + } + if (!temp[data[k][pid]]["children"]) { + temp[data[k][pid]]["children"] = []; + } + temp[data[k][pid]]["children"].push(data[k]); + data[k]["_level"] = (temp[data[k][pid]]._level || 0) + 1; + } + return res; +}; + +/** + * 全局组件安装 + * @param component + * @param alias + * @returns + */ +export const withInstall = (component: T, alias?: string): T & Plugin => { + const comp = component as any; + comp.install = (app: App) => { + app.component(comp.name || comp.displayName, component); + if (alias) { + app.config.globalProperties[alias] = component; + } + }; + return component as T & Plugin; +}; + +/** + * 节流函数 `created() {this.dataFormSubmitHandle = useDebounce(this.dataFormSubmitHandle);}` + * @param fn + * @param wait + * @returns + */ +export const useDebounce = ( + fn: (e?: any) => any, + wait?: number, + options?: DebounceSettings +): DebouncedFunc => { + return debounce(fn, wait ?? 1000, { + leading: true, + trailing: false, + ...options + }); +}; diff --git a/src/views/dailyweather/weatherdailydata-add-or-update.vue b/src/views/dailyweather/weatherdailydata-add-or-update.vue new file mode 100644 index 0000000..854e02f --- /dev/null +++ b/src/views/dailyweather/weatherdailydata-add-or-update.vue @@ -0,0 +1,158 @@ + + + diff --git a/src/views/dailyweather/weatherdailydata-import.vue b/src/views/dailyweather/weatherdailydata-import.vue new file mode 100644 index 0000000..704102c --- /dev/null +++ b/src/views/dailyweather/weatherdailydata-import.vue @@ -0,0 +1,91 @@ + + + diff --git a/src/views/dailyweather/weatherdailydata.vue b/src/views/dailyweather/weatherdailydata.vue new file mode 100644 index 0000000..c5c4c3a --- /dev/null +++ b/src/views/dailyweather/weatherdailydata.vue @@ -0,0 +1,227 @@ + + + + + diff --git a/src/views/error.vue b/src/views/error.vue new file mode 100644 index 0000000..0e9cb24 --- /dev/null +++ b/src/views/error.vue @@ -0,0 +1,58 @@ + + + diff --git a/src/views/home.vue b/src/views/home.vue new file mode 100644 index 0000000..1934403 --- /dev/null +++ b/src/views/home.vue @@ -0,0 +1,521 @@ + + + + + diff --git a/src/views/iframe.vue b/src/views/iframe.vue new file mode 100644 index 0000000..c1e3a0f --- /dev/null +++ b/src/views/iframe.vue @@ -0,0 +1,53 @@ + + + diff --git a/src/views/job/schedule-add-or-update.vue b/src/views/job/schedule-add-or-update.vue new file mode 100644 index 0000000..aa2e065 --- /dev/null +++ b/src/views/job/schedule-add-or-update.vue @@ -0,0 +1,100 @@ + + + + + diff --git a/src/views/job/schedule-log.vue b/src/views/job/schedule-log.vue new file mode 100644 index 0000000..5d80024 --- /dev/null +++ b/src/views/job/schedule-log.vue @@ -0,0 +1,61 @@ + + + diff --git a/src/views/job/schedule.vue b/src/views/job/schedule.vue new file mode 100644 index 0000000..ba6c66a --- /dev/null +++ b/src/views/job/schedule.vue @@ -0,0 +1,182 @@ + + + diff --git a/src/views/login.vue b/src/views/login.vue new file mode 100644 index 0000000..57b94b3 --- /dev/null +++ b/src/views/login.vue @@ -0,0 +1,267 @@ + + + + + diff --git a/src/views/oss/oss-config.vue b/src/views/oss/oss-config.vue new file mode 100644 index 0000000..faab408 --- /dev/null +++ b/src/views/oss/oss-config.vue @@ -0,0 +1,200 @@ + + + diff --git a/src/views/oss/oss-upload.vue b/src/views/oss/oss-upload.vue new file mode 100644 index 0000000..ed770e5 --- /dev/null +++ b/src/views/oss/oss-upload.vue @@ -0,0 +1,65 @@ + + + diff --git a/src/views/oss/oss.vue b/src/views/oss/oss.vue new file mode 100644 index 0000000..fbc9da5 --- /dev/null +++ b/src/views/oss/oss.vue @@ -0,0 +1,68 @@ + + + diff --git a/src/views/region/region.vue b/src/views/region/region.vue new file mode 100644 index 0000000..b9a323b --- /dev/null +++ b/src/views/region/region.vue @@ -0,0 +1,108 @@ + + + + + diff --git a/src/views/station/weatherstation-add-or-update.vue b/src/views/station/weatherstation-add-or-update.vue new file mode 100644 index 0000000..9055298 --- /dev/null +++ b/src/views/station/weatherstation-add-or-update.vue @@ -0,0 +1,257 @@ + + + + diff --git a/src/views/station/weatherstation.vue b/src/views/station/weatherstation.vue new file mode 100644 index 0000000..1e73c86 --- /dev/null +++ b/src/views/station/weatherstation.vue @@ -0,0 +1,113 @@ + + + diff --git a/src/views/sys/dept-add-or-update.vue b/src/views/sys/dept-add-or-update.vue new file mode 100644 index 0000000..55e715b --- /dev/null +++ b/src/views/sys/dept-add-or-update.vue @@ -0,0 +1,146 @@ + + + + + diff --git a/src/views/sys/dept.vue b/src/views/sys/dept.vue new file mode 100644 index 0000000..ebe0136 --- /dev/null +++ b/src/views/sys/dept.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/views/sys/dict-data-add-or-update.vue b/src/views/sys/dict-data-add-or-update.vue new file mode 100644 index 0000000..024c615 --- /dev/null +++ b/src/views/sys/dict-data-add-or-update.vue @@ -0,0 +1,92 @@ + + + diff --git a/src/views/sys/dict-data.vue b/src/views/sys/dict-data.vue new file mode 100644 index 0000000..23d8a24 --- /dev/null +++ b/src/views/sys/dict-data.vue @@ -0,0 +1,71 @@ + + + diff --git a/src/views/sys/dict-type-add-or-update.vue b/src/views/sys/dict-type-add-or-update.vue new file mode 100644 index 0000000..ec8d696 --- /dev/null +++ b/src/views/sys/dict-type-add-or-update.vue @@ -0,0 +1,90 @@ + + + diff --git a/src/views/sys/dict-type.vue b/src/views/sys/dict-type.vue new file mode 100644 index 0000000..30ac7b8 --- /dev/null +++ b/src/views/sys/dict-type.vue @@ -0,0 +1,84 @@ + + + diff --git a/src/views/sys/log-error.vue b/src/views/sys/log-error.vue new file mode 100644 index 0000000..381040c --- /dev/null +++ b/src/views/sys/log-error.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/src/views/sys/log-login.vue b/src/views/sys/log-login.vue new file mode 100644 index 0000000..306bacf --- /dev/null +++ b/src/views/sys/log-login.vue @@ -0,0 +1,58 @@ + + + diff --git a/src/views/sys/log-operation.vue b/src/views/sys/log-operation.vue new file mode 100644 index 0000000..87de7e2 --- /dev/null +++ b/src/views/sys/log-operation.vue @@ -0,0 +1,56 @@ + + + diff --git a/src/views/sys/menu-add-or-update.vue b/src/views/sys/menu-add-or-update.vue new file mode 100644 index 0000000..64f2afb --- /dev/null +++ b/src/views/sys/menu-add-or-update.vue @@ -0,0 +1,236 @@ + + + + + diff --git a/src/views/sys/menu.vue b/src/views/sys/menu.vue new file mode 100644 index 0000000..ad6e16e --- /dev/null +++ b/src/views/sys/menu.vue @@ -0,0 +1,66 @@ + + + diff --git a/src/views/sys/params-add-or-update.vue b/src/views/sys/params-add-or-update.vue new file mode 100644 index 0000000..9c20b13 --- /dev/null +++ b/src/views/sys/params-add-or-update.vue @@ -0,0 +1,85 @@ + + + diff --git a/src/views/sys/params.vue b/src/views/sys/params.vue new file mode 100644 index 0000000..9005e71 --- /dev/null +++ b/src/views/sys/params.vue @@ -0,0 +1,56 @@ + + + diff --git a/src/views/sys/role-add-or-update.vue b/src/views/sys/role-add-or-update.vue new file mode 100644 index 0000000..707a658 --- /dev/null +++ b/src/views/sys/role-add-or-update.vue @@ -0,0 +1,130 @@ + + + diff --git a/src/views/sys/role.vue b/src/views/sys/role.vue new file mode 100644 index 0000000..e922455 --- /dev/null +++ b/src/views/sys/role.vue @@ -0,0 +1,56 @@ + + + diff --git a/src/views/sys/user-add-or-update.vue b/src/views/sys/user-add-or-update.vue new file mode 100644 index 0000000..43e5bec --- /dev/null +++ b/src/views/sys/user-add-or-update.vue @@ -0,0 +1,180 @@ + + + + + diff --git a/src/views/sys/user-update-password.vue b/src/views/sys/user-update-password.vue new file mode 100644 index 0000000..3c0bb90 --- /dev/null +++ b/src/views/sys/user-update-password.vue @@ -0,0 +1,73 @@ + + + diff --git a/src/views/sys/user.vue b/src/views/sys/user.vue new file mode 100644 index 0000000..936117d --- /dev/null +++ b/src/views/sys/user.vue @@ -0,0 +1,82 @@ + + + diff --git a/src/views/tools/color.vue b/src/views/tools/color.vue new file mode 100644 index 0000000..bd3f412 --- /dev/null +++ b/src/views/tools/color.vue @@ -0,0 +1,110 @@ + + + + + diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..fb8a67a --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,29 @@ +{ + "compilerOptions": { + "target": "esnext", + "module": "esnext", + "strict": true, + "noImplicitThis": true, + "jsx": "preserve", + "allowJs": true, + "importHelpers": true, + "moduleResolution": "node", + "experimentalDecorators": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "sourceMap": true, + "resolveJsonModule": true, + "baseUrl": ".", + "types": ["vite/client"], + "paths": { + "@/*": ["src/*"] + }, + "compilerOptions": { + "types": ["vite-plugin-svg-icons/client"] + }, + "lib": ["esnext", "dom", "dom.iterable", "scripthost"] + }, + "include": ["src/**/*.ts", "src/**/*.vue", "tests/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..e188e2b --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,65 @@ +import vue from "@vitejs/plugin-vue"; +import { resolve } from "path"; +import { defineConfig, loadEnv, UserConfig, UserConfigExport } from "vite"; +import { createHtmlPlugin } from "vite-plugin-html"; +import tsconfigPaths from "vite-tsconfig-paths"; +import { createSvgIconsPlugin } from "vite-plugin-svg-icons"; + +export default (config: UserConfig): UserConfigExport => { + const mode = config.mode as string; + return defineConfig({ + base: "./", + plugins: [ + vue(), + createHtmlPlugin({ + minify: true, + inject: { + data: { + apiURL: loadEnv(mode, process.cwd()).VITE_APP_API, + title: "" + }, + tags: [ + { + injectTo: 'body-prepend', + tag: 'div', + attrs: { + id: 'tag' + } + } + ] + } + }), + tsconfigPaths(), + createSvgIconsPlugin({ + iconDirs: [resolve(__dirname, "src/assets/icons/svg")], + symbolId: "icon-[dir]-[name]" + }) + ], + build: { + chunkSizeWarningLimit: 1024, + commonjsOptions: { + include: /node_modules|lib/ + }, + rollupOptions: { + output: { + manualChunks: { + lodash: ["lodash"], + vlib: ["vue", "vue-router", "element-plus"] + } + } + } + }, + resolve: { + alias: { + // 配置别名 + "@": resolve(__dirname, "./src") + } + }, + server: { + open: false, // 自动启动浏览器 + host: "0.0.0.0", // localhost + port: 8001, // 端口号 + hmr: { overlay: false } + } + }); +};