From 16cc78057646fd8fd77265438d14893f82bf0f5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=AE=87?= Date: Thu, 14 Dec 2023 13:49:56 +0800 Subject: [PATCH] feat: init --- web/.env.development | 1 + web/.env.production | 2 + web/.github/workflows/main.yml | 34 + web/.gitignore | 31 + web/.vscode/settings.json | 42 + web/LICENSE | 21 + web/README-zh_CN.md | 0 web/README.md | 0 web/config/plugin/compress.ts | 30 + web/config/plugin/imagemin.ts | 37 + web/config/plugin/visualizer.ts | 18 + web/config/utils/index.ts | 9 + web/config/vite.config.base.ts | 108 + web/config/vite.config.dev.ts | 12 + web/config/vite.config.prod.ts | 25 + web/env.d.ts | 6 + web/eslint.config.js | 14 + web/index.html | 152 + web/package.json | 63 + web/pnpm-lock.yaml | 7975 +++++++++++++++++ web/public/favicon.ico | Bin 0 -> 4286 bytes web/public/favicon.svg | 34 + web/src/App.vue | 18 + web/src/api/index.ts | 2 + web/src/api/user.ts | 36 + web/src/assets/images/cloud_download.svg | 1 + web/src/assets/images/login-banner.png | Bin 0 -> 63369 bytes web/src/assets/logo.png | Bin 0 -> 6849 bytes web/src/components/base-chart/README.md | 12 + web/src/components/base-chart/echarts.ts | 40 + web/src/components/base-chart/index.vue | 60 + web/src/components/base-table/README.md | 0 web/src/components/base-table/constants.ts | 7 + web/src/components/base-table/index.vue | 242 + web/src/components/base-table/types.ts | 22 + web/src/components/index.ts | 4 + web/src/components/right-content/index.vue | 42 + web/src/components/tab-bar/index.vue | 89 + web/src/components/tab-bar/tab-item.vue | 154 + web/src/hooks/useLoading.ts | 19 + web/src/hooks/useTheme.ts | 46 + web/src/hooks/useUser.ts | 21 + web/src/layouts/basic-layout.vue | 80 + web/src/layouts/blank-layout.vue | 3 + web/src/layouts/nested-layout.vue | 129 + web/src/main.ts | 13 + web/src/mock/index.ts | 5 + web/src/mock/user.ts | 103 + web/src/router/constants.ts | 13 + web/src/router/guard/index.ts | 15 + web/src/router/guard/permission.ts | 7 + web/src/router/guard/userLoginInfo.ts | 37 + web/src/router/index.ts | 41 + web/src/router/routes/base.ts | 28 + web/src/router/routes/index.ts | 26 + web/src/router/routes/modules/admins.ts | 59 + web/src/router/typings.d.ts | 17 + web/src/store/index.ts | 8 + web/src/store/modules/tab-bar/index.ts | 81 + web/src/store/modules/tab-bar/types.ts | 13 + web/src/store/modules/user/index.ts | 88 + web/src/store/modules/user/types.ts | 19 + web/src/styles/antd.less | 14 + web/src/styles/index.less | 32 + web/src/styles/scroll-bar.less | 13 + web/src/types/mock.ts | 5 + web/src/utils/auth.ts | 19 + web/src/utils/env.ts | 3 + web/src/utils/route-listener.ts | 24 + web/src/utils/setup-mock.ts | 25 + web/src/utils/useAxiosApi.ts | 52 + web/src/views/Detail.vue | 32 + web/src/views/Page1.vue | 29 + web/src/views/Page2.vue | 58 + web/src/views/admins/result.vue | 40 + web/src/views/login/components/banner.vue | 107 + web/src/views/login/components/login-form.vue | 135 + web/src/views/login/index.vue | 81 + web/src/views/not-found/index.vue | 29 + web/src/views/redirect/index.vue | 16 + web/tsconfig.json | 20 + web/uno.config.ts | 19 + 82 files changed, 10967 insertions(+) create mode 100644 web/.env.development create mode 100644 web/.env.production create mode 100644 web/.github/workflows/main.yml create mode 100644 web/.gitignore create mode 100644 web/.vscode/settings.json create mode 100644 web/LICENSE create mode 100644 web/README-zh_CN.md create mode 100644 web/README.md create mode 100644 web/config/plugin/compress.ts create mode 100644 web/config/plugin/imagemin.ts create mode 100644 web/config/plugin/visualizer.ts create mode 100644 web/config/utils/index.ts create mode 100644 web/config/vite.config.base.ts create mode 100644 web/config/vite.config.dev.ts create mode 100644 web/config/vite.config.prod.ts create mode 100644 web/env.d.ts create mode 100644 web/eslint.config.js create mode 100644 web/index.html create mode 100644 web/package.json create mode 100644 web/pnpm-lock.yaml create mode 100644 web/public/favicon.ico create mode 100644 web/public/favicon.svg create mode 100644 web/src/App.vue create mode 100644 web/src/api/index.ts create mode 100644 web/src/api/user.ts create mode 100644 web/src/assets/images/cloud_download.svg create mode 100644 web/src/assets/images/login-banner.png create mode 100644 web/src/assets/logo.png create mode 100644 web/src/components/base-chart/README.md create mode 100644 web/src/components/base-chart/echarts.ts create mode 100644 web/src/components/base-chart/index.vue create mode 100644 web/src/components/base-table/README.md create mode 100644 web/src/components/base-table/constants.ts create mode 100644 web/src/components/base-table/index.vue create mode 100644 web/src/components/base-table/types.ts create mode 100644 web/src/components/index.ts create mode 100644 web/src/components/right-content/index.vue create mode 100644 web/src/components/tab-bar/index.vue create mode 100644 web/src/components/tab-bar/tab-item.vue create mode 100644 web/src/hooks/useLoading.ts create mode 100644 web/src/hooks/useTheme.ts create mode 100644 web/src/hooks/useUser.ts create mode 100644 web/src/layouts/basic-layout.vue create mode 100644 web/src/layouts/blank-layout.vue create mode 100644 web/src/layouts/nested-layout.vue create mode 100644 web/src/main.ts create mode 100644 web/src/mock/index.ts create mode 100644 web/src/mock/user.ts create mode 100644 web/src/router/constants.ts create mode 100644 web/src/router/guard/index.ts create mode 100644 web/src/router/guard/permission.ts create mode 100644 web/src/router/guard/userLoginInfo.ts create mode 100644 web/src/router/index.ts create mode 100644 web/src/router/routes/base.ts create mode 100644 web/src/router/routes/index.ts create mode 100644 web/src/router/routes/modules/admins.ts create mode 100644 web/src/router/typings.d.ts create mode 100644 web/src/store/index.ts create mode 100644 web/src/store/modules/tab-bar/index.ts create mode 100644 web/src/store/modules/tab-bar/types.ts create mode 100644 web/src/store/modules/user/index.ts create mode 100644 web/src/store/modules/user/types.ts create mode 100644 web/src/styles/antd.less create mode 100644 web/src/styles/index.less create mode 100644 web/src/styles/scroll-bar.less create mode 100644 web/src/types/mock.ts create mode 100644 web/src/utils/auth.ts create mode 100644 web/src/utils/env.ts create mode 100644 web/src/utils/route-listener.ts create mode 100644 web/src/utils/setup-mock.ts create mode 100644 web/src/utils/useAxiosApi.ts create mode 100644 web/src/views/Detail.vue create mode 100644 web/src/views/Page1.vue create mode 100644 web/src/views/Page2.vue create mode 100644 web/src/views/admins/result.vue create mode 100644 web/src/views/login/components/banner.vue create mode 100644 web/src/views/login/components/login-form.vue create mode 100644 web/src/views/login/index.vue create mode 100644 web/src/views/not-found/index.vue create mode 100644 web/src/views/redirect/index.vue create mode 100644 web/tsconfig.json create mode 100644 web/uno.config.ts diff --git a/web/.env.development b/web/.env.development new file mode 100644 index 000000000..2db5a65be --- /dev/null +++ b/web/.env.development @@ -0,0 +1 @@ +VITE_FORCE_MOCK = true // 是否强制开启 Mock \ No newline at end of file diff --git a/web/.env.production b/web/.env.production new file mode 100644 index 000000000..739c8bd79 --- /dev/null +++ b/web/.env.production @@ -0,0 +1,2 @@ +REPORT = true +VITE_FORCE_MOCK = true // 是否强制开启 Mock \ No newline at end of file diff --git a/web/.github/workflows/main.yml b/web/.github/workflows/main.yml new file mode 100644 index 000000000..32208f170 --- /dev/null +++ b/web/.github/workflows/main.yml @@ -0,0 +1,34 @@ +name: ci + +on: + push: + branches: + - main + + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-20.04 + strategy: + matrix: + node-version: [18] + + steps: + - uses: actions/checkout@v3 + - uses: pnpm/action-setup@v2 + with: + version: 7.18.2 + run_install: true + + - name: Install Dependencies + run: pnpm i + + - name: Build + run: pnpm run build + + - name: Deploy + uses: JamesIves/github-pages-deploy-action@releases/v4 + with: + token: ${{ secrets.ACCESS_TOKEN }} + folder: dist diff --git a/web/.gitignore b/web/.gitignore new file mode 100644 index 000000000..23109cb44 --- /dev/null +++ b/web/.gitignore @@ -0,0 +1,31 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +dist-ssr +coverage +*.local + +/cypress/videos/ +/cypress/screenshots/ + +# Editor directories and files +!.vscode/extensions.json +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +auto-imports.d.ts +components.d.ts +.eslintrc-auto-import.json diff --git a/web/.vscode/settings.json b/web/.vscode/settings.json new file mode 100644 index 000000000..139541fb5 --- /dev/null +++ b/web/.vscode/settings.json @@ -0,0 +1,42 @@ +{ + "typescript.tsdk": "node_modules/typescript/lib", + "prettier.enable": false, + // Enable the ESlint flat config support + "eslint.experimental.useFlatConfig": true, + + // Disable the default formatter, use eslint instead + "editor.formatOnSave": false, + + // Auto fix + "editor.codeActionsOnSave": { + "source.fixAll.eslint": true, + "source.organizeImports": false + }, + + // Silent the stylistic rules in you IDE, but still auto fix them + // "eslint.rules.customizations": [ + // { "rule": "style/*", "severity": "off" }, + // { "rule": "*-indent", "severity": "off" }, + // { "rule": "*-spacing", "severity": "off" }, + // { "rule": "*-spaces", "severity": "off" }, + // { "rule": "*-order", "severity": "off" }, + // { "rule": "*-dangle", "severity": "off" }, + // { "rule": "*-newline", "severity": "off" }, + // { "rule": "*quotes", "severity": "off" }, + // { "rule": "*semi", "severity": "off" } + // ], + + // Enable eslint for all supported languages + "eslint.validate": [ + "javascript", + "javascriptreact", + "typescript", + "typescriptreact", + "vue", + "html", + "markdown", + "json", + "jsonc", + "yaml" + ] +} diff --git a/web/LICENSE b/web/LICENSE new file mode 100644 index 000000000..706fe7b36 --- /dev/null +++ b/web/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/web/README-zh_CN.md b/web/README-zh_CN.md new file mode 100644 index 000000000..e69de29bb diff --git a/web/README.md b/web/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/web/config/plugin/compress.ts b/web/config/plugin/compress.ts new file mode 100644 index 000000000..6b268b372 --- /dev/null +++ b/web/config/plugin/compress.ts @@ -0,0 +1,30 @@ +/** + * Used to package and output gzip. Note that this does not work properly in Vite, the specific reason is still being investigated + * gzip压缩 + * https://github.com/anncwb/vite-plugin-compression + */ +import type { Plugin } from 'vite'; +import compressPlugin from 'vite-plugin-compression'; + +export default function configCompressPlugin( + compress: 'gzip' | 'brotli', + deleteOriginFile = false, +): Plugin | Plugin[] { + const plugins: Plugin[] = []; + + if (compress === 'gzip') { + plugins.push(compressPlugin({ + ext: '.gz', + deleteOriginFile, + })); + } + + if (compress === 'brotli') { + plugins.push(compressPlugin({ + ext: '.br', + algorithm: 'brotliCompress', + deleteOriginFile, + })); + } + return plugins; +} diff --git a/web/config/plugin/imagemin.ts b/web/config/plugin/imagemin.ts new file mode 100644 index 000000000..6a4578992 --- /dev/null +++ b/web/config/plugin/imagemin.ts @@ -0,0 +1,37 @@ +/** + * Image resource files used to compress the output of the production environment + * 图片压缩 + * https://github.com/anncwb/vite-plugin-imagemin + */ +import viteImagemin from 'vite-plugin-imagemin'; + +export default function configImageminPlugin() { + const imageminPlugin = viteImagemin({ + gifsicle: { + optimizationLevel: 7, + interlaced: false, + }, + optipng: { + optimizationLevel: 7, + }, + mozjpeg: { + quality: 20, + }, + pngquant: { + quality: [0.8, 0.9], + speed: 4, + }, + svgo: { + plugins: [ + { + name: 'removeViewBox', + }, + { + name: 'removeEmptyAttrs', + active: false, + }, + ], + }, + }); + return imageminPlugin; +} diff --git a/web/config/plugin/visualizer.ts b/web/config/plugin/visualizer.ts new file mode 100644 index 000000000..017c81f99 --- /dev/null +++ b/web/config/plugin/visualizer.ts @@ -0,0 +1,18 @@ +/** + * Generation packaging analysis + * 生成打包分析 + */ +import visualizer from 'rollup-plugin-visualizer'; +import { isReportMode } from '../utils'; + +export default function configVisualizerPlugin() { + if (isReportMode()) { + return visualizer({ + filename: './node_modules/.cache/visualizer/stats.html', + open: true, + gzipSize: true, + brotliSize: true, + }); + } + return []; +} diff --git a/web/config/utils/index.ts b/web/config/utils/index.ts new file mode 100644 index 000000000..a1e5d1216 --- /dev/null +++ b/web/config/utils/index.ts @@ -0,0 +1,9 @@ +/** + * Whether to generate package preview + * 是否生成打包报告 + */ +export default {}; + +export function isReportMode(): boolean { + return process.env.REPORT === 'true'; +} diff --git a/web/config/vite.config.base.ts b/web/config/vite.config.base.ts new file mode 100644 index 000000000..8f5fcc589 --- /dev/null +++ b/web/config/vite.config.base.ts @@ -0,0 +1,108 @@ +import { URL, fileURLToPath } from 'node:url'; +import { defineConfig } from 'vite'; +import vue from '@vitejs/plugin-vue'; +import vueJsx from '@vitejs/plugin-vue-jsx'; +import AutoImport from 'unplugin-auto-import/vite'; +import Components from 'unplugin-vue-components/vite'; +import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers'; +import UnoCSS from 'unocss/vite'; + +export default defineConfig({ + plugins: [ + vue(), + vueJsx(), + AutoImport({ + eslintrc: { + enabled: true, + }, + include: [ + /\.[tj]sx?$/, // .ts, .tsx, .js, .jsx + /\.vue$/, /\.vue\?vue/, // .vue + ], + imports: [ + 'vue', + 'vue-router', + '@vueuse/core', + { + 'axios': [ + ['default', 'axios'], + ], + '@vueuse/integrations/useAxios': [ + 'useAxios', + ], + 'ant-design-vue': ['message'], + 'nprogress': [ + ['default', 'NProgress'], + ], + 'mitt': [ + ['default', 'mitt'], + ], + 'mockjs': [ + ['default', 'Mock'], + ], + }, + { + from: 'vue-router', + imports: ['LocationQueryRaw', 'Router', 'RouteLocationNormalized', 'RouteRecordRaw', 'RouteRecordNormalized', 'RouteLocationRaw'], + type: true, + }, + { + from: 'mitt', + imports: ['Handler'], + type: true, + }, + { + from: 'axios', + imports: ['RawAxiosRequestConfig'], + type: true, + }, + ], + dirs: [ + './src/utils', + './src/components', + './src/hooks', + './src/store', + ], + }), + Components({ + dts: true, + resolvers: [ + AntDesignVueResolver({ + importStyle: false, + resolveIcons: true, + }), + ], + }), + UnoCSS(), + ], + resolve: { + alias: { + '@': fileURLToPath(new URL('../src', import.meta.url)), + }, + }, + define: { + 'process.env': {}, + }, + css: { + preprocessorOptions: { + less: { + // DO NOT REMOVE THIS LINE + javascriptEnabled: true, + modifyVars: { + // hack: `true; @import 'ant-design-vue/dist/antd.variable.less'`, + // '@primary-color': '#eb2f96', // 全局主色 + }, + }, + }, + }, + optimizeDeps: { + include: [ + '@ant-design/icons-vue', + 'ant-design-vue', + '@ant-design-vue/pro-layout', + 'ant-design-vue/es', + 'vue', + 'vue-router', + ], + }, +}); diff --git a/web/config/vite.config.dev.ts b/web/config/vite.config.dev.ts new file mode 100644 index 000000000..4e7f89c80 --- /dev/null +++ b/web/config/vite.config.dev.ts @@ -0,0 +1,12 @@ +import { mergeConfig } from 'vite'; +import baseConfig from './vite.config.base'; + +export default mergeConfig( + { + mode: 'development', + server: { + open: true, + }, + }, + baseConfig, +); diff --git a/web/config/vite.config.prod.ts b/web/config/vite.config.prod.ts new file mode 100644 index 000000000..6fa2b0085 --- /dev/null +++ b/web/config/vite.config.prod.ts @@ -0,0 +1,25 @@ +import { mergeConfig } from 'vite'; +import baseConfig from './vite.config.base'; +import configCompressPlugin from './plugin/compress'; + +export default mergeConfig( + { + mode: 'production', + base: '/docgpt', + plugins: [ + configCompressPlugin('gzip'), + ], + build: { + rollupOptions: { + output: { + manualChunks: { + ant: ['ant-design-vue', '@ant-design-vue/pro-layout'], + vue: ['vue', 'vue-router', 'pinia', '@vueuse/core'], + }, + }, + }, + chunkSizeWarningLimit: 2000, + }, + }, + baseConfig, +); diff --git a/web/env.d.ts b/web/env.d.ts new file mode 100644 index 000000000..5b1982a91 --- /dev/null +++ b/web/env.d.ts @@ -0,0 +1,6 @@ +/// +/// + +interface Window { + readonly PKG: Record +} diff --git a/web/eslint.config.js b/web/eslint.config.js new file mode 100644 index 000000000..ac5e369de --- /dev/null +++ b/web/eslint.config.js @@ -0,0 +1,14 @@ +const chuhoman = require('@chuhoman/eslint-config').default; + +module.exports = chuhoman( + {}, + { + rules: { + 'no-console': 'off', + 'prefer-regex-literals': 'off', + '@typescript-eslint/consistent-type-assertions': 'off', + 'no-undef': 'off', + 'ts/type-annotation-spacing': ['error', {}], + }, + }, +); diff --git a/web/index.html b/web/index.html new file mode 100644 index 000000000..b615aaa06 --- /dev/null +++ b/web/index.html @@ -0,0 +1,152 @@ + + + + + + + + docgpt + + + +
+ +
+
+ +
+ +
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/web/package.json b/web/package.json new file mode 100644 index 000000000..32b682efa --- /dev/null +++ b/web/package.json @@ -0,0 +1,63 @@ +{ + "name": "docgpt", + "version": "0.0.1", + "license": "MIT", + "keywords": [ + "vue3", + "ant-design-vue", + "ant-design-pro", + "admin", + "template-project" + ], + "engines": { + "node": ">=16.0.0" + }, + "scripts": { + "dev": "vite --config ./config/vite.config.dev.ts", + "build": "vite build --config ./config/vite.config.prod.ts", + "preview": "npm run build && vite preview --host", + "typecheck": "vue-tsc --noEmit && vue-tsc --noEmit -p tsconfig.vitest.json --composite false", + "lint": "eslint .", + "lint:fix": "eslint . --fix" + }, + "dependencies": { + "@ant-design-vue/pro-layout": "^3.2.4", + "@ant-design/icons-vue": "^6.1.0", + "@formily/core": "^2.2.29", + "@formily/vue": "^2.2.29", + "@vueuse/core": "^10.1.2", + "@vueuse/integrations": "^10.1.2", + "ant-design-vue": "4.0.7", + "axios": "^1.4.0", + "dayjs": "^1.11.9", + "echarts": "^5.4.3", + "lodash-es": "^4.17.21", + "mitt": "^3.0.0", + "nprogress": "^0.2.0", + "pinia": "^2.1.3", + "vue": "^3.2.35", + "vue-router": "^4.2.2" + }, + "devDependencies": { + "@chuhoman/eslint-config": "^1.0.2", + "@rushstack/eslint-patch": "^1.2.0", + "@types/lodash-es": "^4.17.7", + "@types/mockjs": "^1.0.7", + "@types/node": "^17.0.43", + "@types/nprogress": "^0.2.0", + "@vitejs/plugin-vue": "^4.2.0", + "@vitejs/plugin-vue-jsx": "^3.0.1", + "eslint": "^8.53.0", + "less": "^4.1.3", + "mockjs": "^1.1.0", + "rollup-plugin-visualizer": "^5.9.0", + "typescript": "~4.5.5", + "unocss": "^0.57.7", + "unplugin-auto-import": "^0.15.0", + "unplugin-vue-components": "^0.25.2", + "vite": "^4.3.5", + "vite-plugin-compression": "^0.5.1", + "vite-plugin-imagemin": "^0.6.1", + "vue-tsc": "^1.0.24" + } +} diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml new file mode 100644 index 000000000..8f6ddace3 --- /dev/null +++ b/web/pnpm-lock.yaml @@ -0,0 +1,7975 @@ +lockfileVersion: 5.4 + +specifiers: + '@ant-design-vue/pro-layout': ^3.2.4 + '@ant-design/icons-vue': ^6.1.0 + '@chuhoman/eslint-config': ^1.0.2 + '@formily/core': ^2.2.29 + '@formily/vue': ^2.2.29 + '@rushstack/eslint-patch': ^1.2.0 + '@types/lodash-es': ^4.17.7 + '@types/mockjs': ^1.0.7 + '@types/node': ^17.0.43 + '@types/nprogress': ^0.2.0 + '@vitejs/plugin-vue': ^4.2.0 + '@vitejs/plugin-vue-jsx': ^3.0.1 + '@vueuse/core': ^10.1.2 + '@vueuse/integrations': ^10.1.2 + ant-design-vue: 4.0.7 + axios: ^1.4.0 + dayjs: ^1.11.9 + echarts: ^5.4.3 + eslint: ^8.53.0 + less: ^4.1.3 + lodash-es: ^4.17.21 + mitt: ^3.0.0 + mockjs: ^1.1.0 + nprogress: ^0.2.0 + pinia: ^2.1.3 + rollup-plugin-visualizer: ^5.9.0 + typescript: ~4.5.5 + unocss: ^0.57.7 + unplugin-auto-import: ^0.15.0 + unplugin-vue-components: ^0.25.2 + vite: ^4.3.5 + vite-plugin-compression: ^0.5.1 + vite-plugin-imagemin: ^0.6.1 + vue: ^3.2.35 + vue-router: ^4.2.2 + vue-tsc: ^1.0.24 + +dependencies: + '@ant-design-vue/pro-layout': 3.2.4_3y6o7lttxlqwcbjh6emnvarjny + '@ant-design/icons-vue': 6.1.0_vue@3.3.4 + '@formily/core': 2.2.29 + '@formily/vue': 2.2.29_typescript@4.5.5+vue@3.3.4 + '@vueuse/core': 10.1.2_vue@3.3.4 + '@vueuse/integrations': 10.1.2_23gqml44pqxhxonpaprnydcxra + ant-design-vue: 4.0.7_vue@3.3.4 + axios: 1.4.0 + dayjs: 1.11.9 + echarts: 5.4.3 + lodash-es: 4.17.21 + mitt: 3.0.0 + nprogress: 0.2.0 + pinia: 2.1.3_typescript@4.5.5+vue@3.3.4 + vue: 3.3.4 + vue-router: 4.2.2_vue@3.3.4 + +devDependencies: + '@chuhoman/eslint-config': 1.0.2_jdxzchibtvsrhw3ghp5cg3jp34 + '@rushstack/eslint-patch': 1.3.0 + '@types/lodash-es': 4.17.7 + '@types/mockjs': 1.0.7 + '@types/node': 17.0.45 + '@types/nprogress': 0.2.0 + '@vitejs/plugin-vue': 4.2.3_vite@4.3.9+vue@3.3.4 + '@vitejs/plugin-vue-jsx': 3.0.1_vite@4.3.9+vue@3.3.4 + eslint: 8.53.0 + less: 4.1.3 + mockjs: 1.1.0 + rollup-plugin-visualizer: 5.9.0 + typescript: 4.5.5 + unocss: 0.57.7_vite@4.3.9 + unplugin-auto-import: 0.15.3_@vueuse+core@10.1.2 + unplugin-vue-components: 0.25.2_vue@3.3.4 + vite: 4.3.9_uakuilq6iygkg5ll5cv37w4i7m + vite-plugin-compression: 0.5.1_vite@4.3.9 + vite-plugin-imagemin: 0.6.1_vite@4.3.9 + vue-tsc: 1.6.5_typescript@4.5.5 + +packages: + + /@aashutoshrathi/word-wrap/1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@ampproject/remapping/2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + dev: true + + /@ant-design-vue/pro-layout/3.2.4_3y6o7lttxlqwcbjh6emnvarjny: + resolution: {integrity: sha512-VQpW3nRir8EMrMvGlXaz26AqfaqKd7hO/alz/xoh4BOXd+jXRIogpS3zF00wwOvJtAFc/oRpTz9LjFkJK2M80A==} + peerDependencies: + ant-design-vue: '>=3.2.0' + vue: '>=3.2.0' + dependencies: + '@ant-design/icons-vue': 6.1.0_vue@3.3.4 + ant-design-vue: 4.0.7_vue@3.3.4 + omit.js: 2.0.2 + vue: 3.3.4 + dev: false + + /@ant-design/colors/6.0.0: + resolution: {integrity: sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==} + dependencies: + '@ctrl/tinycolor': 3.4.1 + dev: false + + /@ant-design/icons-svg/4.2.1: + resolution: {integrity: sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw==} + dev: false + + /@ant-design/icons-vue/6.1.0_vue@3.3.4: + resolution: {integrity: sha512-EX6bYm56V+ZrKN7+3MT/ubDkvJ5rK/O2t380WFRflDcVFgsvl3NLH7Wxeau6R8DbrO5jWR6DSTC3B6gYFp77AA==} + peerDependencies: + vue: '>=3.0.3' + dependencies: + '@ant-design/colors': 6.0.0 + '@ant-design/icons-svg': 4.2.1 + vue: 3.3.4 + dev: false + + /@ant-design/icons-vue/7.0.1_vue@3.3.4: + resolution: {integrity: sha512-eCqY2unfZK6Fe02AwFlDHLfoyEFreP6rBwAZMIJ1LugmfMiVgwWDYlp1YsRugaPtICYOabV1iWxXdP12u9U43Q==} + peerDependencies: + vue: '>=3.0.3' + dependencies: + '@ant-design/colors': 6.0.0 + '@ant-design/icons-svg': 4.2.1 + vue: 3.3.4 + dev: false + + /@antfu/install-pkg/0.1.1: + resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} + dependencies: + execa: 5.1.1 + find-up: 5.0.0 + dev: true + + /@antfu/utils/0.7.2: + resolution: {integrity: sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==} + dev: true + + /@antfu/utils/0.7.6: + resolution: {integrity: sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==} + dev: true + + /@babel/code-frame/7.16.7: + resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.17.9 + dev: true + + /@babel/code-frame/7.21.4: + resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.18.6 + dev: true + + /@babel/code-frame/7.23.4: + resolution: {integrity: sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.23.4 + chalk: 2.4.2 + dev: true + + /@babel/compat-data/7.22.3: + resolution: {integrity: sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/compat-data/7.23.3: + resolution: {integrity: sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core/7.22.1: + resolution: {integrity: sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.22.3 + '@babel/helper-compilation-targets': 7.22.1_@babel+core@7.22.1 + '@babel/helper-module-transforms': 7.22.1 + '@babel/helpers': 7.22.3 + '@babel/parser': 7.22.4 + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 + convert-source-map: 1.8.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/core/7.23.3: + resolution: {integrity: sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.23.4 + '@babel/generator': 7.23.4 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-module-transforms': 7.23.3_@babel+core@7.23.3 + '@babel/helpers': 7.23.4 + '@babel/parser': 7.23.4 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.4 + '@babel/types': 7.23.4 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/generator/7.17.9: + resolution: {integrity: sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + jsesc: 2.5.2 + source-map: 0.5.7 + dev: true + + /@babel/generator/7.22.3: + resolution: {integrity: sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + jsesc: 2.5.2 + dev: true + + /@babel/generator/7.23.4: + resolution: {integrity: sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + jsesc: 2.5.2 + dev: true + + /@babel/helper-annotate-as-pure/7.18.6: + resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-annotate-as-pure/7.22.5: + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-compilation-targets/7.22.15: + resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.23.3 + '@babel/helper-validator-option': 7.22.15 + browserslist: 4.22.1 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true + + /@babel/helper-compilation-targets/7.22.1_@babel+core@7.22.1: + resolution: {integrity: sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.22.3 + '@babel/core': 7.22.1 + '@babel/helper-validator-option': 7.21.0 + browserslist: 4.21.7 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true + + /@babel/helper-create-class-features-plugin/7.22.15_@babel+core@7.23.3: + resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.22.20_@babel+core@7.23.3 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + dev: true + + /@babel/helper-create-class-features-plugin/7.22.1_@babel+core@7.22.1: + resolution: {integrity: sha512-SowrZ9BWzYFgzUMwUmowbPSGu6CXL5MSuuCkG3bejahSpSymioPmuLdhPxNOc9MjuNGjy7M/HaXvJ8G82Lywlw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-member-expression-to-functions': 7.22.3 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-replace-supers': 7.22.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/helper-split-export-declaration': 7.18.6 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-environment-visitor/7.22.1: + resolution: {integrity: sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-environment-visitor/7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-function-name/7.21.0: + resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.21.9 + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-function-name/7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-hoist-variables/7.16.7: + resolution: {integrity: sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-hoist-variables/7.18.6: + resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-hoist-variables/7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-member-expression-to-functions/7.22.3: + resolution: {integrity: sha512-Gl7sK04b/2WOb6OPVeNy9eFKeD3L6++CzL3ykPOWqTn08xgYYK0wz4TUh2feIImDXxcVW3/9WQ1NMKY66/jfZA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-member-expression-to-functions/7.23.0: + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-module-imports/7.16.7: + resolution: {integrity: sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-module-imports/7.21.4: + resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-module-imports/7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-module-transforms/7.22.1: + resolution: {integrity: sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-module-imports': 7.21.4 + '@babel/helper-simple-access': 7.21.5 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-validator-identifier': 7.19.1 + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-module-transforms/7.23.3_@babel+core@7.23.3: + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + + /@babel/helper-optimise-call-expression/7.18.6: + resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-optimise-call-expression/7.22.5: + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-plugin-utils/7.21.5: + resolution: {integrity: sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-plugin-utils/7.22.5: + resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-replace-supers/7.22.1: + resolution: {integrity: sha512-ut4qrkE4AuSfrwHSps51ekR1ZY/ygrP1tp0WFm8oVq6nzc/hvfV/22JylndIbsf2U2M9LOMwiSddr6y+78j+OQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-member-expression-to-functions': 7.22.3 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-replace-supers/7.22.20_@babel+core@7.23.3: + resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + dev: true + + /@babel/helper-simple-access/7.21.5: + resolution: {integrity: sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-simple-access/7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-skip-transparent-expression-wrappers/7.20.0: + resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-skip-transparent-expression-wrappers/7.22.5: + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-split-export-declaration/7.18.6: + resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-split-export-declaration/7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-string-parser/7.21.5: + resolution: {integrity: sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==} + engines: {node: '>=6.9.0'} + + /@babel/helper-string-parser/7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier/7.19.1: + resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-identifier/7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-option/7.21.0: + resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-option/7.22.15: + resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helpers/7.22.3: + resolution: {integrity: sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helpers/7.23.4: + resolution: {integrity: sha512-HfcMizYz10cr3h29VqyfGL6ZWIjTwWfvYBMsBVGwpcbhNGe3wQ1ZXZRPzZoAHhd9OqHadHqjQ89iVKINXnbzuw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.4 + '@babel/types': 7.23.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/highlight/7.17.9: + resolution: {integrity: sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/highlight/7.18.6: + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/highlight/7.23.4: + resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/parser/7.22.4: + resolution: {integrity: sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.22.4 + + /@babel/parser/7.23.4: + resolution: {integrity: sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/plugin-syntax-jsx/7.16.7_@babel+core@7.22.1: + resolution: {integrity: sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-jsx/7.23.3_@babel+core@7.23.3: + resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-typescript/7.21.4_@babel+core@7.22.1: + resolution: {integrity: sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-typescript/7.23.3_@babel+core@7.23.3: + resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-modules-commonjs/7.23.3_@babel+core@7.23.3: + resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-module-transforms': 7.23.3_@babel+core@7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-simple-access': 7.22.5 + dev: true + + /@babel/plugin-transform-typescript/7.22.3_@babel+core@7.22.1: + resolution: {integrity: sha512-pyjnCIniO5PNaEuGxT28h0HbMru3qCVrMqVgVOz/krComdIrY9W6FCLBq9NWHY8HDGaUlan+UhmZElDENIfCcw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.22.1_@babel+core@7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-typescript': 7.21.4_@babel+core@7.22.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-typescript/7.23.4_@babel+core@7.23.3: + resolution: {integrity: sha512-39hCCOl+YUAyMOu6B9SmUTiHUU0t/CxJNUmY3qRdJujbqi+lrQcL11ysYUsAvFWPBdhihrv1z0oRG84Yr3dODQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.15_@babel+core@7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-typescript': 7.23.3_@babel+core@7.23.3 + dev: true + + /@babel/preset-typescript/7.23.3_@babel+core@7.23.3: + resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-syntax-jsx': 7.23.3_@babel+core@7.23.3 + '@babel/plugin-transform-modules-commonjs': 7.23.3_@babel+core@7.23.3 + '@babel/plugin-transform-typescript': 7.23.4_@babel+core@7.23.3 + dev: true + + /@babel/runtime/7.17.9: + resolution: {integrity: sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.13.9 + dev: false + + /@babel/template/7.16.7: + resolution: {integrity: sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.16.7 + '@babel/parser': 7.22.4 + '@babel/types': 7.22.4 + dev: true + + /@babel/template/7.21.9: + resolution: {integrity: sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/parser': 7.22.4 + '@babel/types': 7.22.4 + dev: true + + /@babel/template/7.22.15: + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.4 + '@babel/parser': 7.23.4 + '@babel/types': 7.23.4 + dev: true + + /@babel/traverse/7.17.9: + resolution: {integrity: sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.16.7 + '@babel/generator': 7.17.9 + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-hoist-variables': 7.16.7 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/parser': 7.22.4 + '@babel/types': 7.22.4 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/traverse/7.22.4: + resolution: {integrity: sha512-Tn1pDsjIcI+JcLKq1AVlZEr4226gpuAQTsLMorsYg9tuS/kG7nuwwJ4AB8jfQuEgb/COBwR/DqJxmoiYFu5/rQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.22.3 + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/parser': 7.22.4 + '@babel/types': 7.22.4 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/traverse/7.23.4: + resolution: {integrity: sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.4 + '@babel/generator': 7.23.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.4 + '@babel/types': 7.23.4 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types/7.17.0: + resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + dev: true + + /@babel/types/7.22.4: + resolution: {integrity: sha512-Tx9x3UBHTTsMSW85WB2kphxYQVvrZ/t1FxD88IpSgIjiUJlCm9z+xWIDwyo1vffTwSqteqyznB8ZE9vYYk16zA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.21.5 + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + + /@babel/types/7.23.4: + resolution: {integrity: sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: true + + /@chuhoman/eslint-config-basic/0.1.0_tqoihmuyrferni6bvfj5buhqci: + resolution: {integrity: sha512-dtu/cihrTng1uS8TQeMNz1oYDjPrx9mFGEP62sjFmbKMUqVrS0MjecLIjdfJq/3d1oLmLLUQ2bIpIskARhEEfQ==} + peerDependencies: + eslint: '>=7.4.0' + dependencies: + eslint: 8.53.0 + eslint-plugin-eslint-comments: 3.2.0_eslint@8.53.0 + eslint-plugin-html: 7.1.0 + eslint-plugin-import: 2.29.0_tqoihmuyrferni6bvfj5buhqci + eslint-plugin-jsonc: 2.10.0_eslint@8.53.0 + eslint-plugin-markdown: 3.0.1_eslint@8.53.0 + eslint-plugin-n: 15.7.0_eslint@8.53.0 + eslint-plugin-promise: 6.1.1_eslint@8.53.0 + eslint-plugin-unicorn: 43.0.2_eslint@8.53.0 + eslint-plugin-yml: 1.10.0_eslint@8.53.0 + jsonc-eslint-parser: 2.4.0 + yaml-eslint-parser: 1.2.2 + transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + + /@chuhoman/eslint-config-typescript/0.1.0_jdxzchibtvsrhw3ghp5cg3jp34: + resolution: {integrity: sha512-ZY782ux+fzT06Z+MJkLpZxjmMMPs4Z22CdUC666jJv6X9MXMB0Rg3cG8JwOhej+uAvOsjBb7GseVfD47n1c09A==} + peerDependencies: + eslint: '>=7.4.0' + typescript: '>=3.9' + dependencies: + '@chuhoman/eslint-config-basic': 0.1.0_tqoihmuyrferni6bvfj5buhqci + '@typescript-eslint/eslint-plugin': 5.62.0_7h3s4xskjwcsxtkgzluosrla7q + '@typescript-eslint/parser': 5.62.0_jdxzchibtvsrhw3ghp5cg3jp34 + eslint: 8.53.0 + typescript: 4.5.5 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + + /@chuhoman/eslint-config-vue/0.1.0_jdxzchibtvsrhw3ghp5cg3jp34: + resolution: {integrity: sha512-x4TWD0jVgS5UbOWkaqT7r8FoN1Yz1T0XqL7FX6mSK11aHM8NPI13IahyaaMVz5+zQjvZjbj7MhQDdGDZT48XkQ==} + peerDependencies: + eslint: '>=7.4.0' + dependencies: + '@chuhoman/eslint-config-typescript': 0.1.0_jdxzchibtvsrhw3ghp5cg3jp34 + eslint: 8.53.0 + eslint-plugin-vue: 9.18.1_eslint@8.53.0 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + - typescript + dev: true + + /@chuhoman/eslint-config/0.1.0_jdxzchibtvsrhw3ghp5cg3jp34: + resolution: {integrity: sha512-m+OvfJ7dZyaeQPFCQrVj5ry+dtWn0FMHFE0w2S0pgnz8CY7RXw1nZFDw0xtkiFEyJT5Tfin5qu0TM67Mrv5uVQ==} + peerDependencies: + eslint: '>=7.4.0' + dependencies: + '@chuhoman/eslint-config-vue': 0.1.0_jdxzchibtvsrhw3ghp5cg3jp34 + '@typescript-eslint/eslint-plugin': 5.62.0_7h3s4xskjwcsxtkgzluosrla7q + '@typescript-eslint/parser': 5.62.0_jdxzchibtvsrhw3ghp5cg3jp34 + eslint: 8.53.0 + eslint-define-config: 1.24.1 + eslint-plugin-eslint-comments: 3.2.0_eslint@8.53.0 + eslint-plugin-html: 7.1.0 + eslint-plugin-import: 2.29.0_tqoihmuyrferni6bvfj5buhqci + eslint-plugin-jsonc: 2.10.0_eslint@8.53.0 + eslint-plugin-markdown: 3.0.1_eslint@8.53.0 + eslint-plugin-n: 15.7.0_eslint@8.53.0 + eslint-plugin-promise: 6.1.1_eslint@8.53.0 + eslint-plugin-unicorn: 43.0.2_eslint@8.53.0 + eslint-plugin-vue: 9.18.1_eslint@8.53.0 + eslint-plugin-yml: 1.10.0_eslint@8.53.0 + jsonc-eslint-parser: 2.4.0 + yaml-eslint-parser: 1.2.2 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + - typescript + dev: true + + /@chuhoman/eslint-config/1.0.2_jdxzchibtvsrhw3ghp5cg3jp34: + resolution: {integrity: sha512-dvFMtlaXdQKaSv/aDok08qWYVnObykDtbgYIYEzsrXv9SQD3kwJqjdS4Bbus531iexjxWSU6OYIaxxGdcetfcw==} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + '@chuhoman/eslint-config': 0.1.0_jdxzchibtvsrhw3ghp5cg3jp34 + '@stylistic/eslint-plugin': 1.0.0_jdxzchibtvsrhw3ghp5cg3jp34 + '@typescript-eslint/eslint-plugin': 6.9.1_5b45qypdhmjrsjaftuvly6lisu + '@typescript-eslint/parser': 6.9.1_jdxzchibtvsrhw3ghp5cg3jp34 + eslint: 8.53.0 + eslint-config-flat-gitignore: 0.1.1 + eslint-define-config: 1.24.1 + eslint-plugin-eslint-comments: 3.2.0_eslint@8.53.0 + eslint-plugin-html: 7.1.0 + eslint-plugin-i: 2.29.0_qyezeh56hepd3d42kr7cjulba4 + eslint-plugin-import: 2.29.0_qyezeh56hepd3d42kr7cjulba4 + eslint-plugin-jsonc: 2.10.0_eslint@8.53.0 + eslint-plugin-markdown: 3.0.1_eslint@8.53.0 + eslint-plugin-n: 15.7.0_eslint@8.53.0 + eslint-plugin-no-only-tests: 3.1.0 + eslint-plugin-react: 7.33.2_eslint@8.53.0 + eslint-plugin-react-hooks: 4.6.0_eslint@8.53.0 + eslint-plugin-unicorn: 43.0.2_eslint@8.53.0 + eslint-plugin-unused-imports: 3.0.0_62lnk436lm7oz3ascavenqj2jq + eslint-plugin-vitest: 0.3.9_e42q67ckn3snlbrfk5flegylga + eslint-plugin-vue: 9.18.1_eslint@8.53.0 + eslint-plugin-yml: 1.10.0_eslint@8.53.0 + globals: 13.23.0 + jsonc-eslint-parser: 2.4.0 + local-pkg: 0.5.0 + yaml-eslint-parser: 1.2.2 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + - typescript + - vitest + dev: true + + /@ctrl/tinycolor/3.4.1: + resolution: {integrity: sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw==} + engines: {node: '>=10'} + dev: false + + /@ctrl/tinycolor/3.6.0: + resolution: {integrity: sha512-/Z3l6pXthq0JvMYdUFyX9j0MaCltlIn6mfh9jLyQwg5aPKxkyNa0PTHtU1AlFXLNk55ZuAeJRcpvq+tmLfKmaQ==} + engines: {node: '>=10'} + dev: false + + /@emotion/hash/0.9.1: + resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==} + dev: false + + /@emotion/unitless/0.8.1: + resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==} + dev: false + + /@esbuild/android-arm/0.17.19: + resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64/0.17.19: + resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64/0.17.19: + resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64/0.17.19: + resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64/0.17.19: + resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64/0.17.19: + resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64/0.17.19: + resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm/0.17.19: + resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64/0.17.19: + resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32/0.17.19: + resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64/0.14.54: + resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64/0.17.19: + resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el/0.17.19: + resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64/0.17.19: + resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64/0.17.19: + resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x/0.17.19: + resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64/0.17.19: + resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64/0.17.19: + resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64/0.17.19: + resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64/0.17.19: + resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64/0.17.19: + resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32/0.17.19: + resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64/0.17.19: + resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@eslint-community/eslint-utils/4.4.0_eslint@8.53.0: + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.53.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp/4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc/2.1.3: + resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.23.0 + ignore: 5.2.0 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js/8.53.0: + resolution: {integrity: sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@formily/core/2.2.29: + resolution: {integrity: sha512-oYfhepygcTgmkpvc64ZnRYZnP9Tg6DXYgsdeCs31LAC7mKTYxu1jX2wgDBanORgViCC0BYpNxtvsMJVoo597Pg==} + engines: {npm: '>=3.0.0'} + dependencies: + '@formily/reactive': 2.2.29 + '@formily/shared': 2.2.29 + '@formily/validator': 2.2.29 + dev: false + + /@formily/json-schema/2.2.29_typescript@4.5.5: + resolution: {integrity: sha512-CC+koG4u/Rt4pszgbIT1Kz29J4sFJevB9ktsSVto8HRpoM2xYGouysJIggLAHz+JaA3eGaI4qlmFwryLjrG+ig==} + engines: {npm: '>=3.0.0'} + peerDependencies: + typescript: '>4.1.5' + dependencies: + '@formily/core': 2.2.29 + '@formily/reactive': 2.2.29 + '@formily/shared': 2.2.29 + typescript: 4.5.5 + dev: false + + /@formily/path/2.2.29: + resolution: {integrity: sha512-2KqmIxoP2sU1Y2BHSAwtG6nEnfNx/YEknxgbhj1UFQI8rTd8KtTFP6clH8i1Zy9vE7ZQeA8nwIoAKifozEF2Vw==} + engines: {npm: '>=3.0.0'} + dev: false + + /@formily/reactive-vue/2.2.29_vue@3.3.4: + resolution: {integrity: sha512-zMgZj38Tr2dduUEs5sgolKvt8wMxY9KwYuUaIWdKKpg1VZgngCM+E3ON3/XUVJTSbumU4k0RTSKn9NVvQE1rYw==} + engines: {npm: '>=3.0.0'} + peerDependencies: + '@vue/composition-api': ^1.0.0-beta.1 + vue: ^2.6.0 || >=3.0.0-rc.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + '@formily/reactive': 2.2.29 + vue: 3.3.4 + vue-demi: 0.13.11_vue@3.3.4 + dev: false + + /@formily/reactive/2.2.29: + resolution: {integrity: sha512-VYfIJpqx1EA2/9nkZvs/sJI+hjEAEZWKof4NAdRDA92Dj18IkdjobgzV57ZiOZZPII3J53qbUL0lGtRsx3wQxQ==} + engines: {npm: '>=3.0.0'} + dev: false + + /@formily/shared/2.2.29: + resolution: {integrity: sha512-vB9xY+/DtbdWFK5DWoKYo0hfm2MPVMKvxxqsVMfZEPh4ioD/2MohwOiLLm7IVllcrZWEAxJk8JY3EhBS1WD6yg==} + engines: {npm: '>=3.0.0'} + dependencies: + '@formily/path': 2.2.29 + camel-case: 4.1.2 + lower-case: 2.0.2 + no-case: 3.0.4 + param-case: 3.0.4 + pascal-case: 3.1.2 + upper-case: 2.0.2 + dev: false + + /@formily/validator/2.2.29: + resolution: {integrity: sha512-w9Y2MJxLaFYG/w3tQ/cMBN7DboN3J/lFZlAIF2USeXYK8ZdGD6FeKq/X/gbD2aqGxCyNtU1lFBtaGZID9qoAhA==} + engines: {npm: '>=3.0.0'} + dependencies: + '@formily/shared': 2.2.29 + dev: false + + /@formily/vue/2.2.29_typescript@4.5.5+vue@3.3.4: + resolution: {integrity: sha512-78XDggKqo3GDLYTrvIwqyKQ82A7ZD74nQLSJvq4soMR6rsYTEKHEBrAfJhoGwmL8q8tdu2ZUDB/xxUxl/EXk3Q==} + engines: {npm: '>=3.0.0'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-beta.1 + vue: ^2.6.0 || >=3.0.0-rc.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + '@formily/core': 2.2.29 + '@formily/json-schema': 2.2.29_typescript@4.5.5 + '@formily/reactive': 2.2.29 + '@formily/reactive-vue': 2.2.29_vue@3.3.4 + '@formily/shared': 2.2.29 + '@formily/validator': 2.2.29 + fs-extra: 10.1.0 + vue: 3.3.4 + vue-demi: 0.13.11_vue@3.3.4 + vue-frag: 1.4.3_vue@3.3.4 + transitivePeerDependencies: + - typescript + dev: false + + /@humanwhocodes/config-array/0.11.13: + resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer/1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema/2.0.1: + resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} + dev: true + + /@iconify/types/2.0.0: + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + dev: true + + /@iconify/utils/2.1.12: + resolution: {integrity: sha512-7vf3Uk6H7TKX4QMs2gbg5KR1X9J0NJzKSRNWhMZ+PWN92l0t6Q3tj2ZxLDG07rC3ppWBtTtA4FPmkQphuEmdsg==} + dependencies: + '@antfu/install-pkg': 0.1.1 + '@antfu/utils': 0.7.6 + '@iconify/types': 2.0.0 + debug: 4.3.4 + kolorist: 1.8.0 + local-pkg: 0.4.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@jridgewell/gen-mapping/0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.18 + dev: true + + /@jridgewell/resolve-uri/3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array/1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec/1.4.14: + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + dev: true + + /@jridgewell/sourcemap-codec/1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@jridgewell/trace-mapping/0.3.18: + resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /@nodelib/fs.scandir/2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat/2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk/1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.13.0 + dev: true + + /@polka/url/1.0.0-next.23: + resolution: {integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==} + dev: true + + /@rollup/pluginutils/5.0.2: + resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.1 + estree-walker: 2.0.2 + picomatch: 2.3.1 + dev: true + + /@rollup/pluginutils/5.0.5: + resolution: {integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.1 + estree-walker: 2.0.2 + picomatch: 2.3.1 + dev: true + + /@rushstack/eslint-patch/1.3.0: + resolution: {integrity: sha512-IthPJsJR85GhOkp3Hvp8zFOPK5ynKn6STyHa/WZpioK7E1aYDiBzpqQPrngc14DszIUkIrdd3k9Iu0XSzlP/1w==} + dev: true + + /@simonwep/pickr/1.8.2: + resolution: {integrity: sha512-/l5w8BIkrpP6n1xsetx9MWPWlU6OblN5YgZZphxan0Tq4BByTCETL6lyIeY8lagalS2Nbt4F2W034KHLIiunKA==} + dependencies: + core-js: 3.22.0 + nanopop: 2.1.0 + dev: false + + /@sindresorhus/is/0.7.0: + resolution: {integrity: sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==} + engines: {node: '>=4'} + dev: true + + /@stylistic/eslint-plugin-js/1.0.0_eslint@8.53.0: + resolution: {integrity: sha512-xxvjyYnUEgjBTnXKYMk6JbU0LHkf269d6y4IgW69bK/VwHrqLfdgE6mYvft42U7KVpp6Tbf6Z64tLRYD/rYd/A==} + dependencies: + '@eslint-community/eslint-utils': 4.4.0_eslint@8.53.0 + acorn: 8.11.2 + escape-string-regexp: 4.0.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esutils: 2.0.3 + graphemer: 1.4.0 + transitivePeerDependencies: + - eslint + dev: true + + /@stylistic/eslint-plugin-jsx/1.0.0_eslint@8.53.0: + resolution: {integrity: sha512-waUm7dcTFAI4d/3luf06RRNt89gSGaofHJ4BiuqKnpyu3yxn1lKbholjGQrw0xPjAciUe+ZSF6BKlBA9P2aV4Q==} + dependencies: + '@stylistic/eslint-plugin-js': 1.0.0_eslint@8.53.0 + estraverse: 5.3.0 + jsx-ast-utils: 3.3.5 + transitivePeerDependencies: + - eslint + dev: true + + /@stylistic/eslint-plugin-ts/1.0.0_jdxzchibtvsrhw3ghp5cg3jp34: + resolution: {integrity: sha512-qQKXYWJzovSNsPq1954t6DNbDA7+1c4ximVH4CuubPV+3I8qCeO33vF6wSpyP27LgxXAx0mHIDw/YaaoM7dQoQ==} + peerDependencies: + eslint: '*' + dependencies: + '@stylistic/eslint-plugin-js': 1.0.0_eslint@8.53.0 + '@typescript-eslint/scope-manager': 6.9.1 + '@typescript-eslint/type-utils': 6.9.1_jdxzchibtvsrhw3ghp5cg3jp34 + '@typescript-eslint/utils': 6.9.1_jdxzchibtvsrhw3ghp5cg3jp34 + eslint: 8.53.0 + graphemer: 1.4.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@stylistic/eslint-plugin/1.0.0_jdxzchibtvsrhw3ghp5cg3jp34: + resolution: {integrity: sha512-kh4q2O2r55uKTXIQlVxnr9Pkjaemv/pn0lQ6bVRBD/ETq0hwhIvXR/54NRs3X8bS4IGIO2SGjFxnjySfUYJ3tQ==} + peerDependencies: + eslint: '*' + dependencies: + '@stylistic/eslint-plugin-js': 1.0.0_eslint@8.53.0 + '@stylistic/eslint-plugin-jsx': 1.0.0_eslint@8.53.0 + '@stylistic/eslint-plugin-ts': 1.0.0_jdxzchibtvsrhw3ghp5cg3jp34 + eslint: 8.53.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@trysound/sax/0.2.0: + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + dev: true + + /@types/estree/1.0.1: + resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} + dev: true + + /@types/glob/7.2.0: + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + dependencies: + '@types/minimatch': 5.1.2 + '@types/node': 17.0.45 + dev: true + + /@types/imagemin-gifsicle/7.0.1: + resolution: {integrity: sha512-kUz6sUh0P95JOS0RGEaaemWUrASuw+dLsWIveK2UZJx74id/B9epgblMkCk/r5MjUWbZ83wFvacG5Rb/f97gyA==} + dependencies: + '@types/imagemin': 7.0.1 + dev: true + + /@types/imagemin-jpegtran/5.0.1: + resolution: {integrity: sha512-Ps8kbm+DUFte/Eln/tUdEvpMWHKFCsQKlV8n+RN50zqWqL/7QhfLxR0ymitP9wa90P6+rkbJlintBNPkVR+B/Q==} + dependencies: + '@types/imagemin': 7.0.1 + dev: true + + /@types/imagemin-mozjpeg/8.0.1: + resolution: {integrity: sha512-kMQWEoKxxhlnH4POI3qfW9DjXlQfi80ux3l2b3j5R3eudSCoUIzKQLkfMjNJ6eMYnMWBcB+rfQOWqIzdIwFGKw==} + dependencies: + '@types/imagemin': 7.0.1 + dev: true + + /@types/imagemin-optipng/5.2.1: + resolution: {integrity: sha512-XCM/3q+HUL7v4zOqMI+dJ5dTxT+MUukY9KU49DSnYb/4yWtSMHJyADP+WHSMVzTR63J2ZvfUOzSilzBNEQW78g==} + dependencies: + '@types/imagemin': 7.0.1 + dev: true + + /@types/imagemin-svgo/10.0.2: + resolution: {integrity: sha512-F4enqbl7eE0JhrwGdJSMKFDn1j1Pk8JsCvnjA5iJKSi+IK3sd4CronabzVmOuEkz663tV7FsRQp1f7SP3zmIaA==} + dependencies: + '@types/imagemin': 7.0.1 + '@types/svgo': 2.6.4 + dev: true + + /@types/imagemin-webp/7.0.0: + resolution: {integrity: sha512-Lb1tjy2vEU7qYwM5iFB9o5k0J3mIpulw6Yftset5LLLugPu7+C16rLYRP1WEwr4QM8AeJZRjC2BGBLd9lGvRhQ==} + dependencies: + '@types/imagemin': 7.0.1 + dev: true + + /@types/imagemin/7.0.1: + resolution: {integrity: sha512-xEn5+M3lDBtI3JxLy6eU3ksoVurygnlG7OYhTqJfGGP4PcvYnfn+IABCmMve7ziM/SneHDm5xgJFKC8hCYPicw==} + dependencies: + '@types/node': 17.0.45 + dev: true + + /@types/json-schema/7.0.14: + resolution: {integrity: sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==} + dev: true + + /@types/json5/0.0.29: + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + dev: true + + /@types/keyv/3.1.4: + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + dependencies: + '@types/node': 17.0.45 + dev: true + + /@types/lodash-es/4.17.7: + resolution: {integrity: sha512-z0ptr6UI10VlU6l5MYhGwS4mC8DZyYer2mCoyysZtSF7p26zOX8UpbrV0YpNYLGS8K4PUFIyEr62IMFFjveSiQ==} + dependencies: + '@types/lodash': 4.14.195 + dev: true + + /@types/lodash/4.14.195: + resolution: {integrity: sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg==} + dev: true + + /@types/mdast/3.0.14: + resolution: {integrity: sha512-gVZ04PGgw1qLZKsnWnyFv4ORnaJ+DXLdHTVSFbU8yX6xZ34Bjg4Q32yPkmveUP1yItXReKfB0Aknlh/3zxTKAw==} + dependencies: + '@types/unist': 2.0.9 + dev: true + + /@types/minimatch/5.1.2: + resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} + dev: true + + /@types/mockjs/1.0.7: + resolution: {integrity: sha512-OCxXz6hEaJOVpRwuJMiVY5a6LtJcih+br9gwB/Q8ooOBikvk5FpBQ31OlNimXo3EqKha1Z7PFBni+q9m+8NCWg==} + dev: true + + /@types/node/17.0.45: + resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} + dev: true + + /@types/normalize-package-data/2.4.3: + resolution: {integrity: sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg==} + dev: true + + /@types/nprogress/0.2.0: + resolution: {integrity: sha512-1cYJrqq9GezNFPsWTZpFut/d4CjpZqA0vhqDUPFWYKF1oIyBz5qnoYMzR+0C/T96t3ebLAC1SSnwrVOm5/j74A==} + dev: true + + /@types/responselike/1.0.0: + resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} + dependencies: + '@types/node': 17.0.45 + dev: true + + /@types/semver/7.5.4: + resolution: {integrity: sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==} + dev: true + + /@types/svgo/2.6.4: + resolution: {integrity: sha512-l4cmyPEckf8moNYHdJ+4wkHvFxjyW6ulm9l4YGaOxeyBWPhBOT0gvni1InpFPdzx1dKf/2s62qGITwxNWnPQng==} + dependencies: + '@types/node': 17.0.45 + dev: true + + /@types/unist/2.0.9: + resolution: {integrity: sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==} + dev: true + + /@types/web-bluetooth/0.0.17: + resolution: {integrity: sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==} + + /@typescript-eslint/eslint-plugin/5.62.0_7h3s4xskjwcsxtkgzluosrla7q: + resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 5.62.0_jdxzchibtvsrhw3ghp5cg3jp34 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/type-utils': 5.62.0_jdxzchibtvsrhw3ghp5cg3jp34 + '@typescript-eslint/utils': 5.62.0_jdxzchibtvsrhw3ghp5cg3jp34 + debug: 4.3.4 + eslint: 8.53.0 + graphemer: 1.4.0 + ignore: 5.2.4 + natural-compare-lite: 1.4.0 + semver: 7.5.4 + tsutils: 3.21.0_typescript@4.5.5 + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/eslint-plugin/6.9.1_5b45qypdhmjrsjaftuvly6lisu: + resolution: {integrity: sha512-w0tiiRc9I4S5XSXXrMHOWgHgxbrBn1Ro+PmiYhSg2ZVdxrAJtQgzU5o2m1BfP6UOn7Vxcc6152vFjQfmZR4xEg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 6.9.1_jdxzchibtvsrhw3ghp5cg3jp34 + '@typescript-eslint/scope-manager': 6.9.1 + '@typescript-eslint/type-utils': 6.9.1_jdxzchibtvsrhw3ghp5cg3jp34 + '@typescript-eslint/utils': 6.9.1_jdxzchibtvsrhw3ghp5cg3jp34 + '@typescript-eslint/visitor-keys': 6.9.1 + debug: 4.3.4 + eslint: 8.53.0 + graphemer: 1.4.0 + ignore: 5.2.4 + natural-compare: 1.4.0 + semver: 7.5.4 + ts-api-utils: 1.0.3_typescript@4.5.5 + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser/5.62.0_jdxzchibtvsrhw3ghp5cg3jp34: + resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0_typescript@4.5.5 + debug: 4.3.4 + eslint: 8.53.0 + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser/6.9.1_jdxzchibtvsrhw3ghp5cg3jp34: + resolution: {integrity: sha512-C7AK2wn43GSaCUZ9do6Ksgi2g3mwFkMO3Cis96kzmgudoVaKyt62yNzJOktP0HDLb/iO2O0n2lBOzJgr6Q/cyg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 6.9.1 + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/typescript-estree': 6.9.1_typescript@4.5.5 + '@typescript-eslint/visitor-keys': 6.9.1 + debug: 4.3.4 + eslint: 8.53.0 + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager/5.62.0: + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + dev: true + + /@typescript-eslint/scope-manager/6.9.1: + resolution: {integrity: sha512-38IxvKB6NAne3g/+MyXMs2Cda/Sz+CEpmm+KLGEM8hx/CvnSRuw51i8ukfwB/B/sESdeTGet1NH1Wj7I0YXswg==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/visitor-keys': 6.9.1 + dev: true + + /@typescript-eslint/type-utils/5.62.0_jdxzchibtvsrhw3ghp5cg3jp34: + resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.62.0_typescript@4.5.5 + '@typescript-eslint/utils': 5.62.0_jdxzchibtvsrhw3ghp5cg3jp34 + debug: 4.3.4 + eslint: 8.53.0 + tsutils: 3.21.0_typescript@4.5.5 + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/type-utils/6.9.1_jdxzchibtvsrhw3ghp5cg3jp34: + resolution: {integrity: sha512-eh2oHaUKCK58qIeYp19F5V5TbpM52680sB4zNSz29VBQPTWIlE/hCj5P5B1AChxECe/fmZlspAWFuRniep1Skg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 6.9.1_typescript@4.5.5 + '@typescript-eslint/utils': 6.9.1_jdxzchibtvsrhw3ghp5cg3jp34 + debug: 4.3.4 + eslint: 8.53.0 + ts-api-utils: 1.0.3_typescript@4.5.5 + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types/5.62.0: + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@typescript-eslint/types/6.9.1: + resolution: {integrity: sha512-BUGslGOb14zUHOUmDB2FfT6SI1CcZEJYfF3qFwBeUrU6srJfzANonwRYHDpLBuzbq3HaoF2XL2hcr01c8f8OaQ==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + + /@typescript-eslint/typescript-estree/5.62.0_typescript@4.5.5: + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: 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.5.4 + tsutils: 3.21.0_typescript@4.5.5 + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/typescript-estree/6.9.1_typescript@4.5.5: + resolution: {integrity: sha512-U+mUylTHfcqeO7mLWVQ5W/tMLXqVpRv61wm9ZtfE5egz7gtnmqVIw9ryh0mgIlkKk9rZLY3UHygsBSdB9/ftyw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/visitor-keys': 6.9.1 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.3_typescript@4.5.5 + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils/5.62.0_jdxzchibtvsrhw3ghp5cg3jp34: + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0_eslint@8.53.0 + '@types/json-schema': 7.0.14 + '@types/semver': 7.5.4 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0_typescript@4.5.5 + eslint: 8.53.0 + eslint-scope: 5.1.1 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/utils/6.9.1_jdxzchibtvsrhw3ghp5cg3jp34: + resolution: {integrity: sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0_eslint@8.53.0 + '@types/json-schema': 7.0.14 + '@types/semver': 7.5.4 + '@typescript-eslint/scope-manager': 6.9.1 + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/typescript-estree': 6.9.1_typescript@4.5.5 + eslint: 8.53.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys/5.62.0: + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@typescript-eslint/visitor-keys/6.9.1: + resolution: {integrity: sha512-MUaPUe/QRLEffARsmNfmpghuQkW436DvESW+h+M52w0coICHRfD6Np9/K6PdACwnrq1HmuLl+cSPZaJmeVPkSw==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.9.1 + eslint-visitor-keys: 3.4.3 + dev: true + + /@ungap/structured-clone/1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + + /@unocss/astro/0.57.7_vite@4.3.9: + resolution: {integrity: sha512-X4KSBdrAADdtS4x7xz02b016xpRDt9mD/d/oq23HyZAZ+sZc4oZs8el9MLSUJgu2okdWzAE62lRRV/oc4HWI1A==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + vite: + optional: true + dependencies: + '@unocss/core': 0.57.7 + '@unocss/reset': 0.57.7 + '@unocss/vite': 0.57.7_vite@4.3.9 + vite: 4.3.9_uakuilq6iygkg5ll5cv37w4i7m + transitivePeerDependencies: + - rollup + dev: true + + /@unocss/cli/0.57.7: + resolution: {integrity: sha512-FZHTTBYyibySpBEPbA/ilDzI4v4Uy/bROItEYogZkpXNoCLzlclX+UcuFBXXLt6VFJk4WjLNFLRSQlVcCUUOLA==} + engines: {node: '>=14'} + hasBin: true + dependencies: + '@ampproject/remapping': 2.2.1 + '@rollup/pluginutils': 5.0.5 + '@unocss/config': 0.57.7 + '@unocss/core': 0.57.7 + '@unocss/preset-uno': 0.57.7 + cac: 6.7.14 + chokidar: 3.5.3 + colorette: 2.0.20 + consola: 3.2.3 + fast-glob: 3.3.2 + magic-string: 0.30.5 + pathe: 1.1.1 + perfect-debounce: 1.0.0 + transitivePeerDependencies: + - rollup + dev: true + + /@unocss/config/0.57.7: + resolution: {integrity: sha512-UG8G9orWEdk/vyDvGUToXYn/RZy/Qjpx66pLsaf5wQK37hkYsBoReAU5v8Ia/6PL1ueJlkcNXLaNpN6/yVoJvg==} + engines: {node: '>=14'} + dependencies: + '@unocss/core': 0.57.7 + unconfig: 0.3.11 + dev: true + + /@unocss/core/0.57.7: + resolution: {integrity: sha512-1d36M0CV3yC80J0pqOa5rH1BX6g2iZdtKmIb3oSBN4AWnMCSrrJEPBrUikyMq2TEQTrYWJIVDzv5A9hBUat3TA==} + dev: true + + /@unocss/extractor-arbitrary-variants/0.57.7: + resolution: {integrity: sha512-JdyhPlsgS0x4zoF8WYXDcusPcpU4ysE6Rkkit4a9+xUZEvg7vy7InH6PQ8dL8B9oY7pbxF7G6eFguUDpv9xx4Q==} + dependencies: + '@unocss/core': 0.57.7 + dev: true + + /@unocss/inspector/0.57.7: + resolution: {integrity: sha512-b9ckqn5aRsmhTdXJ5cPMKDKuNRe+825M+s9NbYcTjENnP6ellUFZo91sYF5S+LeATmU12TcwJZ83NChF4HpBSA==} + dependencies: + '@unocss/core': 0.57.7 + '@unocss/rule-utils': 0.57.7 + gzip-size: 6.0.0 + sirv: 2.0.3 + dev: true + + /@unocss/postcss/0.57.7: + resolution: {integrity: sha512-13c9p5ecTvYa6inDky++8dlVuxQ0JuKaKW5A0NW3XuJ3Uz1t8Pguji+NAUddfTYEFF6GHu47L3Aac7vpI8pMcQ==} + engines: {node: '>=14'} + dependencies: + '@unocss/config': 0.57.7 + '@unocss/core': 0.57.7 + '@unocss/rule-utils': 0.57.7 + css-tree: 2.3.1 + fast-glob: 3.3.2 + magic-string: 0.30.5 + postcss: 8.4.31 + dev: true + + /@unocss/preset-attributify/0.57.7: + resolution: {integrity: sha512-vUqfwUokNHt1FJXIuVyj2Xze9LfJdLAy62h79lNyyEISZmiDF4a4hWTKLBe0d6Kyfr33DyXMmkLp57t5YW0V3A==} + dependencies: + '@unocss/core': 0.57.7 + dev: true + + /@unocss/preset-icons/0.57.7: + resolution: {integrity: sha512-s3AelKCS9CL1ArP1GanYv0XxxPrcFi+XOuQoQCwCRHDo2CiBEq3fLLMIhaUCFEWGtIy7o7wLeL5BRjMvJ2QnMg==} + dependencies: + '@iconify/utils': 2.1.12 + '@unocss/core': 0.57.7 + ofetch: 1.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@unocss/preset-mini/0.57.7: + resolution: {integrity: sha512-YPmmh+ZIg4J7/nPMfvzD1tOfUFD+8KEFXX9ISRteooflYeosn2YytGW66d/sq97AZos9N630FJ//DvPD2wfGwA==} + dependencies: + '@unocss/core': 0.57.7 + '@unocss/extractor-arbitrary-variants': 0.57.7 + '@unocss/rule-utils': 0.57.7 + dev: true + + /@unocss/preset-tagify/0.57.7: + resolution: {integrity: sha512-va25pTJ5OtbqCHFBIj8myVk0PwuSucUqTx840r/YSHka0P9th6UGRS1LU30OUgjgr7FhLaWXtJMN4gkCUtQSoA==} + dependencies: + '@unocss/core': 0.57.7 + dev: true + + /@unocss/preset-typography/0.57.7: + resolution: {integrity: sha512-1QuoLhqHVRs+baaVvfH54JxmJhVuBp5jdVw3HCN/vXs1CSnq2Rm/C/+PahcnQg/KLtoW6MgK5S+/hU9TCxGRVQ==} + dependencies: + '@unocss/core': 0.57.7 + '@unocss/preset-mini': 0.57.7 + dev: true + + /@unocss/preset-uno/0.57.7: + resolution: {integrity: sha512-yRKvRBaPLmDSUZet5WnV1WNb3BV4EFwvB1Zbvlc3lyVp6uCksP/SYlxuUwht7JefOrfiY2sGugoBxZTyGmj/kQ==} + dependencies: + '@unocss/core': 0.57.7 + '@unocss/preset-mini': 0.57.7 + '@unocss/preset-wind': 0.57.7 + '@unocss/rule-utils': 0.57.7 + dev: true + + /@unocss/preset-web-fonts/0.57.7: + resolution: {integrity: sha512-wBPej5GeYb0D/xjMdMmpH6k/3Oe1ujx9DJys2/gtvl/rsBZpSkoWcnl+8Z3bAhooDnwL2gkJCIlpuDiRNtKvGA==} + dependencies: + '@unocss/core': 0.57.7 + ofetch: 1.3.3 + dev: true + + /@unocss/preset-wind/0.57.7: + resolution: {integrity: sha512-olQ6+w0fQ84eEC1t7SF4vJyKcyawkDWSRF5YufOqeQZL3zjqBzMQi+3PUlKCstrDO1DNZ3qdcwg1vPHRmuX9VA==} + dependencies: + '@unocss/core': 0.57.7 + '@unocss/preset-mini': 0.57.7 + '@unocss/rule-utils': 0.57.7 + dev: true + + /@unocss/reset/0.57.7: + resolution: {integrity: sha512-oN9024WVrMewGbornnAPIpzHeKPIfVmZ5IsZGilWR761TnI5jTjHUkswsVoFx7tZdpCN2/bqS3JK/Ah0aot3NQ==} + dev: true + + /@unocss/rule-utils/0.57.7: + resolution: {integrity: sha512-gLqbKTIetvRynLkhonu1znr+bmWnw+Cl3dFVNgZPGjiqGHd78PGS0gXQKvzuyN0iO2ADub1A7GlCWs826iEHjA==} + engines: {node: '>=14'} + dependencies: + '@unocss/core': 0.57.7 + magic-string: 0.30.5 + dev: true + + /@unocss/scope/0.57.7: + resolution: {integrity: sha512-pqWbKXcrTJ2ovVRTYFLnUX5ryEhdSXp7YfyBQT3zLtQb4nQ2XZcLTvGdWo7F+9jZ09yP7NdHscBLkeWgx+mVgw==} + dev: true + + /@unocss/transformer-attributify-jsx-babel/0.57.7: + resolution: {integrity: sha512-CqxTiT5ikOC6R/HNyBcCIVYUfeazqRbsw7X4hYKmGHO7QsnaKQFWZTpj+sSDRh3oHq+IDtcD6KB2anTEffEQNA==} + dependencies: + '@babel/core': 7.23.3 + '@babel/plugin-syntax-jsx': 7.23.3_@babel+core@7.23.3 + '@babel/preset-typescript': 7.23.3_@babel+core@7.23.3 + '@unocss/core': 0.57.7 + transitivePeerDependencies: + - supports-color + dev: true + + /@unocss/transformer-attributify-jsx/0.57.7: + resolution: {integrity: sha512-FpCJM+jDN4Kyp7mMMN41tTWEq6pHKAXAyJoW1GwhYw6lLu9cwyXnne6t7rQ11EPU95Z2cIEMpIJo8reDkDaiPg==} + dependencies: + '@unocss/core': 0.57.7 + dev: true + + /@unocss/transformer-compile-class/0.57.7: + resolution: {integrity: sha512-D+PyD7IOXUm/lzzoCt/yon0Gh1fIK9iKeSBvB6/BREF/ejscNzQ/ia0Pq0pid2cVvOULCSo0z2sO9zljsQtv9A==} + dependencies: + '@unocss/core': 0.57.7 + dev: true + + /@unocss/transformer-directives/0.57.7: + resolution: {integrity: sha512-m0n7WqU3o+1Vyh1uaeU7H4u5gJqakkRqZqTq3MR3xLCSVfORJ/5XO8r+t6VUkJtaLxcIrtYE2geAbwmGV3zSKA==} + dependencies: + '@unocss/core': 0.57.7 + '@unocss/rule-utils': 0.57.7 + css-tree: 2.3.1 + dev: true + + /@unocss/transformer-variant-group/0.57.7: + resolution: {integrity: sha512-O5L5Za0IZtOWd2R66vy0k07pLlB9rCIybmUommUqKWpvd1n/pg8czQ5EkmNDprINvinKObVlGVuY4Uq/JsLM0A==} + dependencies: + '@unocss/core': 0.57.7 + dev: true + + /@unocss/vite/0.57.7_vite@4.3.9: + resolution: {integrity: sha512-SbJrRgfc35MmgMBlHaEK4YpJVD2B0bmxH9PVgHRuDae/hOEOG0VqNP0f2ijJtX9HG3jOpQVlbEoGnUo8jsZtsw==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + dependencies: + '@ampproject/remapping': 2.2.1 + '@rollup/pluginutils': 5.0.5 + '@unocss/config': 0.57.7 + '@unocss/core': 0.57.7 + '@unocss/inspector': 0.57.7 + '@unocss/scope': 0.57.7 + '@unocss/transformer-directives': 0.57.7 + chokidar: 3.5.3 + fast-glob: 3.3.2 + magic-string: 0.30.5 + vite: 4.3.9_uakuilq6iygkg5ll5cv37w4i7m + transitivePeerDependencies: + - rollup + dev: true + + /@vitejs/plugin-vue-jsx/3.0.1_vite@4.3.9+vue@3.3.4: + resolution: {integrity: sha512-+Jb7ggL48FSPS1uhPnJbJwWa9Sr90vQ+d0InW+AhBM22n+cfuYqJZDckBc+W3QSHe1WDvewMZfa4wZOtk5pRgw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.0.0 + vue: ^3.0.0 + dependencies: + '@babel/core': 7.22.1 + '@babel/plugin-transform-typescript': 7.22.3_@babel+core@7.22.1 + '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.22.1 + vite: 4.3.9_uakuilq6iygkg5ll5cv37w4i7m + vue: 3.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@vitejs/plugin-vue/4.2.3_vite@4.3.9+vue@3.3.4: + resolution: {integrity: sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.0.0 + vue: ^3.2.25 + dependencies: + vite: 4.3.9_uakuilq6iygkg5ll5cv37w4i7m + vue: 3.3.4 + dev: true + + /@volar/language-core/1.4.1: + resolution: {integrity: sha512-EIY+Swv+TjsWpxOxujjMf1ZXqOjg9MT2VMXZ+1dKva0wD8W0L6EtptFFcCJdBbcKmGMFkr57Qzz9VNMWhs3jXQ==} + dependencies: + '@volar/source-map': 1.4.1 + dev: true + + /@volar/source-map/1.4.1: + resolution: {integrity: sha512-bZ46ad72dsbzuOWPUtJjBXkzSQzzSejuR3CT81+GvTEI2E994D8JPXzM3tl98zyCNnjgs4OkRyliImL1dvJ5BA==} + dependencies: + muggle-string: 0.2.2 + dev: true + + /@volar/typescript/1.4.1-patch.2_typescript@4.5.5: + resolution: {integrity: sha512-lPFYaGt8OdMEzNGJJChF40uYqMO4Z/7Q9fHPQC/NRVtht43KotSXLrkPandVVMf9aPbiJ059eAT+fwHGX16k4w==} + peerDependencies: + typescript: '*' + dependencies: + '@volar/language-core': 1.4.1 + typescript: 4.5.5 + dev: true + + /@volar/vue-language-core/1.6.5: + resolution: {integrity: sha512-IF2b6hW4QAxfsLd5mePmLgtkXzNi+YnH6ltCd80gb7+cbdpFMjM1I+w+nSg2kfBTyfu+W8useCZvW89kPTBpzg==} + dependencies: + '@volar/language-core': 1.4.1 + '@volar/source-map': 1.4.1 + '@vue/compiler-dom': 3.3.4 + '@vue/compiler-sfc': 3.3.4 + '@vue/reactivity': 3.3.4 + '@vue/shared': 3.3.4 + minimatch: 9.0.3 + muggle-string: 0.2.2 + vue-template-compiler: 2.7.14 + dev: true + + /@volar/vue-typescript/1.6.5_typescript@4.5.5: + resolution: {integrity: sha512-er9rVClS4PHztMUmtPMDTl+7c7JyrxweKSAEe/o/Noeq2bQx6v3/jZHVHBe8ZNUti5ubJL/+Tg8L3bzmlalV8A==} + peerDependencies: + typescript: '*' + dependencies: + '@volar/typescript': 1.4.1-patch.2_typescript@4.5.5 + '@volar/vue-language-core': 1.6.5 + typescript: 4.5.5 + dev: true + + /@vue/babel-helper-vue-transform-on/1.0.2: + resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==} + dev: true + + /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.22.1: + resolution: {integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==} + dependencies: + '@babel/helper-module-imports': 7.16.7 + '@babel/plugin-syntax-jsx': 7.16.7_@babel+core@7.22.1 + '@babel/template': 7.16.7 + '@babel/traverse': 7.17.9 + '@babel/types': 7.17.0 + '@vue/babel-helper-vue-transform-on': 1.0.2 + camelcase: 6.3.0 + html-tags: 3.2.0 + svg-tags: 1.0.0 + transitivePeerDependencies: + - '@babel/core' + - supports-color + dev: true + + /@vue/compiler-core/3.3.4: + resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==} + dependencies: + '@babel/parser': 7.22.4 + '@vue/shared': 3.3.4 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + + /@vue/compiler-dom/3.3.4: + resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==} + dependencies: + '@vue/compiler-core': 3.3.4 + '@vue/shared': 3.3.4 + + /@vue/compiler-sfc/3.3.4: + resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==} + dependencies: + '@babel/parser': 7.22.4 + '@vue/compiler-core': 3.3.4 + '@vue/compiler-dom': 3.3.4 + '@vue/compiler-ssr': 3.3.4 + '@vue/reactivity-transform': 3.3.4 + '@vue/shared': 3.3.4 + estree-walker: 2.0.2 + magic-string: 0.30.5 + postcss: 8.4.24 + source-map-js: 1.0.2 + + /@vue/compiler-ssr/3.3.4: + resolution: {integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==} + dependencies: + '@vue/compiler-dom': 3.3.4 + '@vue/shared': 3.3.4 + + /@vue/devtools-api/6.5.0: + resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} + dev: false + + /@vue/reactivity-transform/3.3.4: + resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==} + dependencies: + '@babel/parser': 7.22.4 + '@vue/compiler-core': 3.3.4 + '@vue/shared': 3.3.4 + estree-walker: 2.0.2 + magic-string: 0.30.5 + + /@vue/reactivity/3.3.4: + resolution: {integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==} + dependencies: + '@vue/shared': 3.3.4 + + /@vue/runtime-core/3.3.4: + resolution: {integrity: sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==} + dependencies: + '@vue/reactivity': 3.3.4 + '@vue/shared': 3.3.4 + + /@vue/runtime-dom/3.3.4: + resolution: {integrity: sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==} + dependencies: + '@vue/runtime-core': 3.3.4 + '@vue/shared': 3.3.4 + csstype: 3.1.2 + + /@vue/server-renderer/3.3.4_vue@3.3.4: + resolution: {integrity: sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==} + peerDependencies: + vue: 3.3.4 + dependencies: + '@vue/compiler-ssr': 3.3.4 + '@vue/shared': 3.3.4 + vue: 3.3.4 + + /@vue/shared/3.3.4: + resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} + + /@vueuse/core/10.1.2_vue@3.3.4: + resolution: {integrity: sha512-roNn8WuerI56A5uiTyF/TEYX0Y+VKlhZAF94unUfdhbDUI+NfwQMn4FUnUscIRUhv3344qvAghopU4bzLPNFlA==} + dependencies: + '@types/web-bluetooth': 0.0.17 + '@vueuse/metadata': 10.1.2 + '@vueuse/shared': 10.1.2_vue@3.3.4 + vue-demi: 0.14.5_vue@3.3.4 + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + /@vueuse/integrations/10.1.2_23gqml44pqxhxonpaprnydcxra: + resolution: {integrity: sha512-wUpG3Wv6LiWerOwCzOAM0iGhNQ4vfFUTkhj/xQy7TLXduh2M3D8N08aS0KqlxsejY6R8NLxydDIM+68QfHZZ8Q==} + peerDependencies: + async-validator: '*' + axios: '*' + change-case: '*' + drauu: '*' + focus-trap: '*' + fuse.js: '*' + idb-keyval: '*' + jwt-decode: '*' + nprogress: '*' + qrcode: '*' + sortablejs: '*' + universal-cookie: '*' + peerDependenciesMeta: + async-validator: + optional: true + axios: + optional: true + change-case: + optional: true + drauu: + optional: true + focus-trap: + optional: true + fuse.js: + optional: true + idb-keyval: + optional: true + jwt-decode: + optional: true + nprogress: + optional: true + qrcode: + optional: true + sortablejs: + optional: true + universal-cookie: + optional: true + dependencies: + '@vueuse/core': 10.1.2_vue@3.3.4 + '@vueuse/shared': 10.1.2_vue@3.3.4 + axios: 1.4.0 + nprogress: 0.2.0 + vue-demi: 0.14.5_vue@3.3.4 + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + + /@vueuse/metadata/10.1.2: + resolution: {integrity: sha512-3mc5BqN9aU2SqBeBuWE7ne4OtXHoHKggNgxZR2K+zIW4YLsy6xoZ4/9vErQs6tvoKDX6QAqm3lvsrv0mczAwIQ==} + + /@vueuse/shared/10.1.2_vue@3.3.4: + resolution: {integrity: sha512-1uoUTPBlgyscK9v6ScGeVYDDzlPSFXBlxuK7SfrDGyUTBiznb3mNceqhwvZHjtDRELZEN79V5uWPTF1VDV8svA==} + dependencies: + vue-demi: 0.14.5_vue@3.3.4 + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + /acorn-jsx/5.3.2_acorn@8.11.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.2 + dev: true + + /acorn/8.11.2: + resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /ajv/6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ansi-regex/2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + dev: true + + /ansi-regex/5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles/2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + dev: true + + /ansi-styles/3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles/4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ant-design-vue/4.0.7_vue@3.3.4: + resolution: {integrity: sha512-oHTtc1GZkfENZTkt2aDvjaD4yoRsowYvCOmxA6+5AGqm5uz/datdJOXsq9nokIhC+vrAMhk6JQVFZ2hh7eU6Pw==} + engines: {node: '>=12.22.0'} + peerDependencies: + vue: '>=3.2.0' + dependencies: + '@ant-design/colors': 6.0.0 + '@ant-design/icons-vue': 7.0.1_vue@3.3.4 + '@babel/runtime': 7.17.9 + '@ctrl/tinycolor': 3.6.0 + '@emotion/hash': 0.9.1 + '@emotion/unitless': 0.8.1 + '@simonwep/pickr': 1.8.2 + array-tree-filter: 2.1.0 + async-validator: 4.0.7 + csstype: 3.1.2 + dayjs: 1.11.9 + dom-align: 1.12.2 + dom-scroll-into-view: 2.0.1 + lodash: 4.17.21 + lodash-es: 4.17.21 + resize-observer-polyfill: 1.5.1 + scroll-into-view-if-needed: 2.2.29 + shallow-equal: 1.2.1 + stylis: 4.3.0 + throttle-debounce: 5.0.0 + vue: 3.3.4 + vue-types: 3.0.2_vue@3.3.4 + warning: 4.0.3 + dev: false + + /anymatch/3.1.2: + resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /arch/2.2.0: + resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} + dev: true + + /archive-type/4.0.0: + resolution: {integrity: sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==} + engines: {node: '>=4'} + dependencies: + file-type: 4.4.0 + dev: true + + /argparse/2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /array-buffer-byte-length/1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + dependencies: + call-bind: 1.0.5 + is-array-buffer: 3.0.2 + dev: true + + /array-find-index/1.0.2: + resolution: {integrity: sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==} + engines: {node: '>=0.10.0'} + dev: true + + /array-includes/3.1.7: + resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + is-string: 1.0.7 + dev: true + + /array-tree-filter/2.1.0: + resolution: {integrity: sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==} + dev: false + + /array-union/2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /array.prototype.findlastindex/1.2.3: + resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 + get-intrinsic: 1.2.2 + dev: true + + /array.prototype.flat/1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 + dev: true + + /array.prototype.flatmap/1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 + dev: true + + /array.prototype.tosorted/1.1.2: + resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 + get-intrinsic: 1.2.2 + dev: true + + /arraybuffer.prototype.slice/1.0.2: + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + is-array-buffer: 3.0.2 + is-shared-array-buffer: 1.0.2 + dev: true + + /async-validator/4.0.7: + resolution: {integrity: sha512-Pj2IR7u8hmUEDOwB++su6baaRi+QvsgajuFB9j95foM1N2gy5HM4z60hfusIO0fBPG5uLAEl6yCJr1jNSVugEQ==} + dev: false + + /asynciterator.prototype/1.0.0: + resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==} + dependencies: + has-symbols: 1.0.3 + dev: true + + /asynckit/0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: false + + /available-typed-arrays/1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + dev: true + + /axios/1.4.0: + resolution: {integrity: sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==} + dependencies: + follow-redirects: 1.15.2 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: false + + /balanced-match/1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /base64-js/1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: true + + /bin-build/3.0.0: + resolution: {integrity: sha512-jcUOof71/TNAI2uM5uoUaDq2ePcVBQ3R/qhxAz1rX7UfvduAL/RXD3jXzvn8cVcDJdGVkiR1shal3OH0ImpuhA==} + engines: {node: '>=4'} + dependencies: + decompress: 4.2.1 + download: 6.2.5 + execa: 0.7.0 + p-map-series: 1.0.0 + tempfile: 2.0.0 + dev: true + + /bin-check/4.1.0: + resolution: {integrity: sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==} + engines: {node: '>=4'} + dependencies: + execa: 0.7.0 + executable: 4.1.1 + dev: true + + /bin-version-check/4.0.0: + resolution: {integrity: sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==} + engines: {node: '>=6'} + dependencies: + bin-version: 3.1.0 + semver: 5.7.1 + semver-truncate: 1.1.2 + dev: true + + /bin-version/3.1.0: + resolution: {integrity: sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==} + engines: {node: '>=6'} + dependencies: + execa: 1.0.0 + find-versions: 3.2.0 + dev: true + + /bin-wrapper/4.1.0: + resolution: {integrity: sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==} + engines: {node: '>=6'} + dependencies: + bin-check: 4.1.0 + bin-version-check: 4.0.0 + download: 7.1.0 + import-lazy: 3.1.0 + os-filter-obj: 2.0.0 + pify: 4.0.1 + dev: true + + /binary-extensions/2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /bl/1.2.3: + resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} + dependencies: + readable-stream: 2.3.8 + safe-buffer: 5.2.1 + dev: true + + /boolbase/1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: true + + /brace-expansion/1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion/2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /braces/3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /browserslist/4.21.7: + resolution: {integrity: sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001489 + electron-to-chromium: 1.4.413 + node-releases: 2.0.12 + update-browserslist-db: 1.0.11_browserslist@4.21.7 + dev: true + + /browserslist/4.22.1: + resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001564 + electron-to-chromium: 1.4.592 + node-releases: 2.0.13 + update-browserslist-db: 1.0.13_browserslist@4.22.1 + dev: true + + /buffer-alloc-unsafe/1.1.0: + resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} + dev: true + + /buffer-alloc/1.2.0: + resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} + dependencies: + buffer-alloc-unsafe: 1.1.0 + buffer-fill: 1.0.0 + dev: true + + /buffer-crc32/0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: true + + /buffer-fill/1.0.0: + resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} + dev: true + + /buffer/5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: true + + /builtin-modules/3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + dev: true + + /builtins/5.0.1: + resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} + dependencies: + semver: 7.5.4 + dev: true + + /cac/6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + + /cacheable-request/2.1.4: + resolution: {integrity: sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==} + dependencies: + clone-response: 1.0.2 + get-stream: 3.0.0 + http-cache-semantics: 3.8.1 + keyv: 3.0.0 + lowercase-keys: 1.0.0 + normalize-url: 2.0.1 + responselike: 1.0.2 + dev: true + + /call-bind/1.0.5: + resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + dependencies: + function-bind: 1.1.2 + get-intrinsic: 1.2.2 + set-function-length: 1.1.1 + dev: true + + /callsites/3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camel-case/4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + dependencies: + pascal-case: 3.1.2 + tslib: 2.3.1 + dev: false + + /camelcase-keys/2.1.0: + resolution: {integrity: sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ==} + engines: {node: '>=0.10.0'} + dependencies: + camelcase: 2.1.1 + map-obj: 1.0.1 + dev: true + + /camelcase/2.1.1: + resolution: {integrity: sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==} + engines: {node: '>=0.10.0'} + dev: true + + /camelcase/6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + + /caniuse-lite/1.0.30001489: + resolution: {integrity: sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==} + dev: true + + /caniuse-lite/1.0.30001564: + resolution: {integrity: sha512-DqAOf+rhof+6GVx1y+xzbFPeOumfQnhYzVnZD6LAXijR77yPtm9mfOcqOnT3mpnJiZVT+kwLAFnRlZcIz+c6bg==} + dev: true + + /caw/2.0.1: + resolution: {integrity: sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==} + engines: {node: '>=4'} + dependencies: + get-proxy: 2.1.0 + isurl: 1.0.0 + tunnel-agent: 0.6.0 + url-to-options: 1.0.1 + dev: true + + /chalk/1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + dev: true + + /chalk/2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk/4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /character-entities-legacy/1.1.4: + resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + dev: true + + /character-entities/1.2.4: + resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + dev: true + + /character-reference-invalid/1.1.4: + resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + dev: true + + /chokidar/3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.2 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /ci-info/3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + dev: true + + /clean-regexp/1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /cliui/8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /clone-response/1.0.2: + resolution: {integrity: sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==} + dependencies: + mimic-response: 1.0.1 + dev: true + + /color-convert/1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert/2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name/1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name/1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /colorette/2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: true + + /combined-stream/1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: false + + /commander/10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + dev: true + + /commander/2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + dev: true + + /commander/7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + dev: true + + /compute-scroll-into-view/1.0.17: + resolution: {integrity: sha512-j4dx+Fb0URmzbwwMUrhqWM2BEWHdFGx+qZ9qqASHRPqvTYdqvWnHg0H1hIbcyLnvgnoNAVMlwkepyqM3DaIFUg==} + dev: false + + /concat-map/0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /config-chain/1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + dev: true + + /consola/3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} + dev: true + + /console-stream/0.1.1: + resolution: {integrity: sha512-QC/8l9e6ofi6nqZ5PawlDgzmMw3OxIXtvolBzap/F4UDBJlDaZRSNbL/lb41C29FcbSJncBFlJFj2WJoNyZRfQ==} + dev: true + + /content-disposition/0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /convert-source-map/1.8.0: + resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} + dependencies: + safe-buffer: 5.1.2 + dev: true + + /convert-source-map/2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + + /copy-anything/2.0.6: + resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} + dependencies: + is-what: 3.14.1 + dev: true + + /core-js/3.22.0: + resolution: {integrity: sha512-8h9jBweRjMiY+ORO7bdWSeWfHhLPO7whobj7Z2Bl0IDo00C228EdGgH7FE4jGumbEjzcFfkfW8bXgdkEDhnwHQ==} + deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. + requiresBuild: true + dev: false + + /core-util-is/1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + dev: true + + /cross-spawn/5.1.0: + resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} + dependencies: + lru-cache: 4.1.5 + shebang-command: 1.2.0 + which: 1.3.1 + dev: true + + /cross-spawn/6.0.5: + resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} + engines: {node: '>=4.8'} + dependencies: + nice-try: 1.0.5 + path-key: 2.0.1 + semver: 5.7.1 + shebang-command: 1.2.0 + which: 1.3.1 + dev: true + + /cross-spawn/7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /css-select/4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + dev: true + + /css-tree/1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + dev: true + + /css-tree/2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.0.2 + dev: true + + /css-what/6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: true + + /cssesc/3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /csso/4.2.0: + resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} + engines: {node: '>=8.0.0'} + dependencies: + css-tree: 1.1.3 + dev: true + + /csstype/3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + + /currently-unhandled/0.4.1: + resolution: {integrity: sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==} + engines: {node: '>=0.10.0'} + dependencies: + array-find-index: 1.0.2 + dev: true + + /cwebp-bin/6.1.2: + resolution: {integrity: sha512-NLEZ/BVAl9g426hwUX/qrQ7b/EfQH7BS1tr+CzPo2EgDQbcdzmUVE+fIfsi64lsL638lWgzTEViMAL4pxV1GOg==} + engines: {node: '>=10'} + hasBin: true + requiresBuild: true + dependencies: + bin-build: 3.0.0 + bin-wrapper: 4.1.0 + dev: true + + /dayjs/1.11.9: + resolution: {integrity: sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==} + dev: false + + /de-indent/1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + dev: true + + /debug/3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: true + + /debug/4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /decamelize/1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + dev: true + + /decode-uri-component/0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + dev: true + + /decompress-response/3.3.0: + resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} + engines: {node: '>=4'} + dependencies: + mimic-response: 1.0.1 + dev: true + + /decompress-tar/4.1.1: + resolution: {integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==} + engines: {node: '>=4'} + dependencies: + file-type: 5.2.0 + is-stream: 1.1.0 + tar-stream: 1.6.2 + dev: true + + /decompress-tarbz2/4.1.1: + resolution: {integrity: sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==} + engines: {node: '>=4'} + dependencies: + decompress-tar: 4.1.1 + file-type: 6.2.0 + is-stream: 1.1.0 + seek-bzip: 1.0.6 + unbzip2-stream: 1.4.3 + dev: true + + /decompress-targz/4.1.1: + resolution: {integrity: sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==} + engines: {node: '>=4'} + dependencies: + decompress-tar: 4.1.1 + file-type: 5.2.0 + is-stream: 1.1.0 + dev: true + + /decompress-unzip/4.0.1: + resolution: {integrity: sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==} + engines: {node: '>=4'} + dependencies: + file-type: 3.9.0 + get-stream: 2.3.1 + pify: 2.3.0 + yauzl: 2.10.0 + dev: true + + /decompress/4.2.1: + resolution: {integrity: sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==} + engines: {node: '>=4'} + dependencies: + decompress-tar: 4.1.1 + decompress-tarbz2: 4.1.1 + decompress-targz: 4.1.1 + decompress-unzip: 4.0.1 + graceful-fs: 4.2.10 + make-dir: 1.3.0 + pify: 2.3.0 + strip-dirs: 2.1.0 + dev: true + + /deep-is/0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /define-data-property/1.1.1: + resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + dev: true + + /define-lazy-prop/2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + dev: true + + /define-properties/1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + has-property-descriptors: 1.0.1 + object-keys: 1.1.1 + dev: true + + /defu/6.1.3: + resolution: {integrity: sha512-Vy2wmG3NTkmHNg/kzpuvHhkqeIx3ODWqasgCRbKtbXEN0G+HpEEv9BtJLp7ZG1CZloFaC41Ah3ZFbq7aqCqMeQ==} + dev: true + + /delayed-stream/1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: false + + /destr/2.0.2: + resolution: {integrity: sha512-65AlobnZMiCET00KaFFjUefxDX0khFA/E4myqZ7a6Sq1yZtR8+FVIvilVX66vF2uobSumxooYZChiRPCKNqhmg==} + dev: true + + /dir-glob/3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /doctrine/2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /doctrine/3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dom-align/1.12.2: + resolution: {integrity: sha512-pHuazgqrsTFrGU2WLDdXxCFabkdQDx72ddkraZNih1KsMcN5qsRSTR9O4VJRlwTPCPb5COYg3LOfiMHHcPInHg==} + dev: false + + /dom-scroll-into-view/2.0.1: + resolution: {integrity: sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w==} + dev: false + + /dom-serializer/1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + dev: true + + /dom-serializer/2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + dev: true + + /domelementtype/2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: true + + /domhandler/4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /domhandler/5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /domutils/2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + dev: true + + /domutils/3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dev: true + + /dot-case/3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dependencies: + no-case: 3.0.4 + tslib: 2.3.1 + dev: false + + /download/6.2.5: + resolution: {integrity: sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==} + engines: {node: '>=4'} + dependencies: + caw: 2.0.1 + content-disposition: 0.5.4 + decompress: 4.2.1 + ext-name: 5.0.0 + file-type: 5.2.0 + filenamify: 2.1.0 + get-stream: 3.0.0 + got: 7.1.0 + make-dir: 1.3.0 + p-event: 1.3.0 + pify: 3.0.0 + dev: true + + /download/7.1.0: + resolution: {integrity: sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==} + engines: {node: '>=6'} + dependencies: + archive-type: 4.0.0 + caw: 2.0.1 + content-disposition: 0.5.4 + decompress: 4.2.1 + ext-name: 5.0.0 + file-type: 8.1.0 + filenamify: 2.1.0 + get-stream: 3.0.0 + got: 8.3.2 + make-dir: 1.3.0 + p-event: 2.3.1 + pify: 3.0.0 + dev: true + + /duplexer/0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: true + + /duplexer3/0.1.5: + resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} + dev: true + + /echarts/5.4.3: + resolution: {integrity: sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==} + dependencies: + tslib: 2.3.0 + zrender: 5.4.4 + dev: false + + /electron-to-chromium/1.4.413: + resolution: {integrity: sha512-Gd+/OAhRca06dkVxIQo/W7dr6Nmk9cx6lQdZ19GvFp51k5B/lUAokm6SJfNkdV8kFLsC3Z4sLTyEHWCnB1Efbw==} + dev: true + + /electron-to-chromium/1.4.592: + resolution: {integrity: sha512-D3NOkROIlF+d5ixnz7pAf3Lu/AuWpd6AYgI9O67GQXMXTcCP1gJQRotOq35eQy5Sb4hez33XH1YdTtILA7Udww==} + dev: true + + /emoji-regex/8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /end-of-stream/1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: true + + /entities/2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + dev: true + + /entities/4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + dev: true + + /errno/0.1.8: + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + hasBin: true + requiresBuild: true + dependencies: + prr: 1.0.1 + dev: true + optional: true + + /error-ex/1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /es-abstract/1.22.3: + resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + arraybuffer.prototype.slice: 1.0.2 + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + es-set-tostringtag: 2.0.2 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.2 + get-symbol-description: 1.0.0 + globalthis: 1.0.3 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.0 + internal-slot: 1.0.6 + is-array-buffer: 3.0.2 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-typed-array: 1.1.12 + is-weakref: 1.0.2 + object-inspect: 1.13.1 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.5.1 + safe-array-concat: 1.0.1 + safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.8 + string.prototype.trimend: 1.0.7 + string.prototype.trimstart: 1.0.7 + typed-array-buffer: 1.0.0 + typed-array-byte-length: 1.0.0 + typed-array-byte-offset: 1.0.0 + typed-array-length: 1.0.4 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.13 + dev: true + + /es-iterator-helpers/1.0.15: + resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} + dependencies: + asynciterator.prototype: 1.0.0 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-set-tostringtag: 2.0.2 + function-bind: 1.1.2 + get-intrinsic: 1.2.2 + globalthis: 1.0.3 + has-property-descriptors: 1.0.1 + has-proto: 1.0.1 + has-symbols: 1.0.3 + internal-slot: 1.0.6 + iterator.prototype: 1.1.2 + safe-array-concat: 1.0.1 + dev: true + + /es-set-tostringtag/2.0.2: + resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + has-tostringtag: 1.0.0 + hasown: 2.0.0 + dev: true + + /es-shim-unscopables/1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + dependencies: + hasown: 2.0.0 + dev: true + + /es-to-primitive/1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true + + /esbuild-android-64/0.14.54: + resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==, tarball: __tarballs/esbuild-android-64/0.14.54/__path/esbuild-android-64/-/esbuild-android-64-0.14.54/505f41832884313bbaffb27704b8bcaa2d8616be.tgz} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-android-arm64/0.14.54: + resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==, tarball: __tarballs/esbuild-android-arm64/0.14.54/__path/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54/8ce69d7caba49646e009968fe5754a21a9871771.tgz} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-64/0.14.54: + resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==, tarball: __tarballs/esbuild-darwin-64/0.14.54/__path/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54/24ba67b9a8cb890a3c08d9018f887cc221cdda25.tgz} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-arm64/0.14.54: + resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==, tarball: __tarballs/esbuild-darwin-arm64/0.14.54/__path/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54/3f7cdb78888ee05e488d250a2bdaab1fa671bf73.tgz} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-64/0.14.54: + resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==, tarball: __tarballs/esbuild-freebsd-64/0.14.54/__path/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54/09250f997a56ed4650f3e1979c905ffc40bbe94d.tgz} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-arm64/0.14.54: + resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==, tarball: __tarballs/esbuild-freebsd-arm64/0.14.54/__path/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54/bafb46ed04fc5f97cbdb016d86947a79579f8e48.tgz} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-32/0.14.54: + resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==, tarball: __tarballs/esbuild-linux-32/0.14.54/__path/esbuild-linux-32/-/esbuild-linux-32-0.14.54/e2a8c4a8efdc355405325033fcebeb941f781fe5.tgz} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-64/0.14.54: + resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==, tarball: __tarballs/esbuild-linux-64/0.14.54/__path/esbuild-linux-64/-/esbuild-linux-64-0.14.54/de5fdba1c95666cf72369f52b40b03be71226652.tgz} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm/0.14.54: + resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==, tarball: __tarballs/esbuild-linux-arm/0.14.54/__path/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54/a2c1dff6d0f21dbe8fc6998a122675533ddfcd59.tgz} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm64/0.14.54: + resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==, tarball: __tarballs/esbuild-linux-arm64/0.14.54/__path/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54/dae4cd42ae9787468b6a5c158da4c84e83b0ce8b.tgz} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-mips64le/0.14.54: + resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==, tarball: __tarballs/esbuild-linux-mips64le/0.14.54/__path/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54/d9918e9e4cb972f8d6dae8e8655bf9ee131eda34.tgz} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-ppc64le/0.14.54: + resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==, tarball: __tarballs/esbuild-linux-ppc64le/0.14.54/__path/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54/3f9a0f6d41073fb1a640680845c7de52995f137e.tgz} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-riscv64/0.14.54: + resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==, tarball: __tarballs/esbuild-linux-riscv64/0.14.54/__path/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54/618853c028178a61837bc799d2013d4695e451c8.tgz} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-s390x/0.14.54: + resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==, tarball: __tarballs/esbuild-linux-s390x/0.14.54/__path/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54/d1885c4c5a76bbb5a0fe182e2c8c60eb9e29f2a6.tgz} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-netbsd-64/0.14.54: + resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==, tarball: __tarballs/esbuild-netbsd-64/0.14.54/__path/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54/69ae917a2ff241b7df1dbf22baf04bd330349e81.tgz} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-openbsd-64/0.14.54: + resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==, tarball: __tarballs/esbuild-openbsd-64/0.14.54/__path/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54/db4c8495287a350a6790de22edea247a57c5d47b.tgz} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-sunos-64/0.14.54: + resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==, tarball: __tarballs/esbuild-sunos-64/0.14.54/__path/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54/54287ee3da73d3844b721c21bc80c1dc7e1bf7da.tgz} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-32/0.14.54: + resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==, tarball: __tarballs/esbuild-windows-32/0.14.54/__path/esbuild-windows-32/-/esbuild-windows-32-0.14.54/f8aaf9a5667630b40f0fb3aa37bf01bbd340ce31.tgz} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-64/0.14.54: + resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==, tarball: __tarballs/esbuild-windows-64/0.14.54/__path/esbuild-windows-64/-/esbuild-windows-64-0.14.54/bf54b51bd3e9b0f1886ffdb224a4176031ea0af4.tgz} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-arm64/0.14.54: + resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==, tarball: __tarballs/esbuild-windows-arm64/0.14.54/__path/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54/937d15675a15e4b0e4fafdbaa3a01a776a2be982.tgz} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild/0.14.54: + resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/linux-loong64': 0.14.54 + esbuild-android-64: 0.14.54 + esbuild-android-arm64: 0.14.54 + esbuild-darwin-64: 0.14.54 + esbuild-darwin-arm64: 0.14.54 + esbuild-freebsd-64: 0.14.54 + esbuild-freebsd-arm64: 0.14.54 + esbuild-linux-32: 0.14.54 + esbuild-linux-64: 0.14.54 + esbuild-linux-arm: 0.14.54 + esbuild-linux-arm64: 0.14.54 + esbuild-linux-mips64le: 0.14.54 + esbuild-linux-ppc64le: 0.14.54 + esbuild-linux-riscv64: 0.14.54 + esbuild-linux-s390x: 0.14.54 + esbuild-netbsd-64: 0.14.54 + esbuild-openbsd-64: 0.14.54 + esbuild-sunos-64: 0.14.54 + esbuild-windows-32: 0.14.54 + esbuild-windows-64: 0.14.54 + esbuild-windows-arm64: 0.14.54 + dev: true + + /esbuild/0.17.19: + resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.17.19 + '@esbuild/android-arm64': 0.17.19 + '@esbuild/android-x64': 0.17.19 + '@esbuild/darwin-arm64': 0.17.19 + '@esbuild/darwin-x64': 0.17.19 + '@esbuild/freebsd-arm64': 0.17.19 + '@esbuild/freebsd-x64': 0.17.19 + '@esbuild/linux-arm': 0.17.19 + '@esbuild/linux-arm64': 0.17.19 + '@esbuild/linux-ia32': 0.17.19 + '@esbuild/linux-loong64': 0.17.19 + '@esbuild/linux-mips64el': 0.17.19 + '@esbuild/linux-ppc64': 0.17.19 + '@esbuild/linux-riscv64': 0.17.19 + '@esbuild/linux-s390x': 0.17.19 + '@esbuild/linux-x64': 0.17.19 + '@esbuild/netbsd-x64': 0.17.19 + '@esbuild/openbsd-x64': 0.17.19 + '@esbuild/sunos-x64': 0.17.19 + '@esbuild/win32-arm64': 0.17.19 + '@esbuild/win32-ia32': 0.17.19 + '@esbuild/win32-x64': 0.17.19 + dev: true + + /escalade/3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp/1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp/4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /escape-string-regexp/5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + dev: true + + /eslint-compat-utils/0.1.2_eslint@8.53.0: + resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + eslint: 8.53.0 + dev: true + + /eslint-config-flat-gitignore/0.1.1: + resolution: {integrity: sha512-ysq0QpN63+uaxE67U0g0HeCweIpv8Ztp7yvm0nYiM2TBalRIG6KQLO5J6lAz2gkA8KVis/QsJppe+BR5VigtWQ==} + dependencies: + parse-gitignore: 2.0.0 + dev: true + + /eslint-define-config/1.24.1: + resolution: {integrity: sha512-o36vBhPSWyIQlHoMqGhhcGmOOm2A2ccBVIdLTG/AWdm9YmjpsLpf+5ntf9LlHR6dduLREgxtGwvwPwSt7vnXJg==} + engines: {node: '>=18.0.0', npm: '>=9.0.0', pnpm: '>= 8.6.0'} + dev: true + + /eslint-import-resolver-node/0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + dependencies: + debug: 3.2.7 + is-core-module: 2.13.1 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-module-utils/2.8.0_egqmcj2nyjz2ar4ggwovopmz2e: + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 5.62.0_jdxzchibtvsrhw3ghp5cg3jp34 + debug: 3.2.7 + eslint: 8.53.0 + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-module-utils/2.8.0_gi55qnnhhjji7jaf7rcm7w73pi: + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 6.9.1_jdxzchibtvsrhw3ghp5cg3jp34 + debug: 3.2.7 + eslint: 8.53.0 + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-es/4.1.0_eslint@8.53.0: + resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} + engines: {node: '>=8.10.0'} + peerDependencies: + eslint: '>=4.19.1' + dependencies: + eslint: 8.53.0 + eslint-utils: 2.1.0 + regexpp: 3.2.0 + dev: true + + /eslint-plugin-eslint-comments/3.2.0_eslint@8.53.0: + resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} + engines: {node: '>=6.5.0'} + peerDependencies: + eslint: '>=4.19.1' + dependencies: + escape-string-regexp: 1.0.5 + eslint: 8.53.0 + ignore: 5.2.0 + dev: true + + /eslint-plugin-html/7.1.0: + resolution: {integrity: sha512-fNLRraV/e6j8e3XYOC9xgND4j+U7b1Rq+OygMlLcMg+wI/IpVbF+ubQa3R78EjKB9njT6TQOlcK5rFKBVVtdfg==} + dependencies: + htmlparser2: 8.0.2 + dev: true + + /eslint-plugin-i/2.29.0_qyezeh56hepd3d42kr7cjulba4: + resolution: {integrity: sha512-slGeTS3GQzx9267wLJnNYNO8X9EHGsc75AKIAFvnvMYEcTJKotPKL1Ru5PIGVHIVet+2DsugePWp8Oxpx8G22w==} + engines: {node: '>=12'} + peerDependencies: + eslint: ^7.2.0 || ^8 + dependencies: + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.53.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0_gi55qnnhhjji7jaf7rcm7w73pi + get-tsconfig: 4.7.2 + is-glob: 4.0.3 + minimatch: 3.1.2 + resolve: 1.22.8 + semver: 7.5.4 + transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-plugin-import/2.29.0_qyezeh56hepd3d42kr7cjulba4: + resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + '@typescript-eslint/parser': 6.9.1_jdxzchibtvsrhw3ghp5cg3jp34 + array-includes: 3.1.7 + array.prototype.findlastindex: 1.2.3 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.53.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0_gi55qnnhhjji7jaf7rcm7w73pi + hasown: 2.0.0 + is-core-module: 2.13.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.7 + object.groupby: 1.0.1 + object.values: 1.1.7 + semver: 6.3.1 + tsconfig-paths: 3.14.2 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-plugin-import/2.29.0_tqoihmuyrferni6bvfj5buhqci: + resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + '@typescript-eslint/parser': 5.62.0_jdxzchibtvsrhw3ghp5cg3jp34 + array-includes: 3.1.7 + array.prototype.findlastindex: 1.2.3 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.53.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0_egqmcj2nyjz2ar4ggwovopmz2e + hasown: 2.0.0 + is-core-module: 2.13.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.7 + object.groupby: 1.0.1 + object.values: 1.1.7 + semver: 6.3.1 + tsconfig-paths: 3.14.2 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-plugin-jsonc/2.10.0_eslint@8.53.0: + resolution: {integrity: sha512-9d//o6Jyh4s1RxC9fNSt1+MMaFN2ruFdXPG9XZcb/mR2KkfjADYiNL/hbU6W0Cyxfg3tS/XSFuhl5LgtMD8hmw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + '@eslint-community/eslint-utils': 4.4.0_eslint@8.53.0 + eslint: 8.53.0 + eslint-compat-utils: 0.1.2_eslint@8.53.0 + jsonc-eslint-parser: 2.4.0 + natural-compare: 1.4.0 + dev: true + + /eslint-plugin-markdown/3.0.1_eslint@8.53.0: + resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + eslint: 8.53.0 + mdast-util-from-markdown: 0.8.5 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-n/15.7.0_eslint@8.53.0: + resolution: {integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==} + engines: {node: '>=12.22.0'} + peerDependencies: + eslint: '>=7.0.0' + dependencies: + builtins: 5.0.1 + eslint: 8.53.0 + eslint-plugin-es: 4.1.0_eslint@8.53.0 + eslint-utils: 3.0.0_eslint@8.53.0 + ignore: 5.2.4 + is-core-module: 2.13.1 + minimatch: 3.1.2 + resolve: 1.22.8 + semver: 7.5.4 + dev: true + + /eslint-plugin-no-only-tests/3.1.0: + resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} + engines: {node: '>=5.0.0'} + dev: true + + /eslint-plugin-promise/6.1.1_eslint@8.53.0: + resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + eslint: 8.53.0 + dev: true + + /eslint-plugin-react-hooks/4.6.0_eslint@8.53.0: + resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + dependencies: + eslint: 8.53.0 + dev: true + + /eslint-plugin-react/7.33.2_eslint@8.53.0: + resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + array-includes: 3.1.7 + array.prototype.flatmap: 1.3.2 + array.prototype.tosorted: 1.1.2 + doctrine: 2.1.0 + es-iterator-helpers: 1.0.15 + eslint: 8.53.0 + estraverse: 5.3.0 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.2 + object.entries: 1.1.7 + object.fromentries: 2.0.7 + object.hasown: 1.1.3 + object.values: 1.1.7 + prop-types: 15.8.1 + resolve: 2.0.0-next.5 + semver: 6.3.1 + string.prototype.matchall: 4.0.10 + dev: true + + /eslint-plugin-unicorn/43.0.2_eslint@8.53.0: + resolution: {integrity: sha512-DtqZ5mf/GMlfWoz1abIjq5jZfaFuHzGBZYIeuJfEoKKGWRHr2JiJR+ea+BF7Wx2N1PPRoT/2fwgiK1NnmNE3Hg==} + engines: {node: '>=14.18'} + peerDependencies: + eslint: '>=8.18.0' + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + ci-info: 3.9.0 + clean-regexp: 1.0.0 + eslint: 8.53.0 + eslint-utils: 3.0.0_eslint@8.53.0 + esquery: 1.5.0 + indent-string: 4.0.0 + is-builtin-module: 3.2.1 + lodash: 4.17.21 + pluralize: 8.0.0 + read-pkg-up: 7.0.1 + regexp-tree: 0.1.27 + safe-regex: 2.1.1 + semver: 7.5.4 + strip-indent: 3.0.0 + dev: true + + /eslint-plugin-unused-imports/3.0.0_62lnk436lm7oz3ascavenqj2jq: + resolution: {integrity: sha512-sduiswLJfZHeeBJ+MQaG+xYzSWdRXoSw61DpU13mzWumCkR0ufD0HmO4kdNokjrkluMHpj/7PJeN35pgbhW3kw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^6.0.0 + eslint: ^8.0.0 + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 6.9.1_5b45qypdhmjrsjaftuvly6lisu + eslint: 8.53.0 + eslint-rule-composer: 0.3.0 + dev: true + + /eslint-plugin-vitest/0.3.9_e42q67ckn3snlbrfk5flegylga: + resolution: {integrity: sha512-ZGrz8dWFlotM5dwrsMLP4VcY5MizwKNV4JTnY0VKdnuCZ+qeEUMHf1qd8kRGQA3tqLvXcV929wt2ANkduq2Pgw==} + engines: {node: 14.x || >= 16} + peerDependencies: + '@typescript-eslint/eslint-plugin': '*' + eslint: '>=8.0.0' + vitest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + vitest: + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 6.9.1_5b45qypdhmjrsjaftuvly6lisu + '@typescript-eslint/utils': 6.9.1_jdxzchibtvsrhw3ghp5cg3jp34 + eslint: 8.53.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /eslint-plugin-vue/9.18.1_eslint@8.53.0: + resolution: {integrity: sha512-7hZFlrEgg9NIzuVik2I9xSnJA5RsmOfueYgsUGUokEDLJ1LHtxO0Pl4duje1BriZ/jDWb+44tcIlC3yi0tdlZg==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0_eslint@8.53.0 + eslint: 8.53.0 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.0.13 + semver: 7.5.4 + vue-eslint-parser: 9.3.2_eslint@8.53.0 + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-yml/1.10.0_eslint@8.53.0: + resolution: {integrity: sha512-53SUwuNDna97lVk38hL/5++WXDuugPM9SUQ1T645R0EHMRCdBIIxGye/oOX2qO3FQ7aImxaUZJU/ju+NMUBrLQ==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + debug: 4.3.4 + eslint: 8.53.0 + eslint-compat-utils: 0.1.2_eslint@8.53.0 + lodash: 4.17.21 + natural-compare: 1.4.0 + yaml-eslint-parser: 1.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-rule-composer/0.3.0: + resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} + engines: {node: '>=4.0.0'} + dev: true + + /eslint-scope/5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + + /eslint-scope/7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-utils/2.1.0: + resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} + engines: {node: '>=6'} + dependencies: + eslint-visitor-keys: 1.3.0 + dev: true + + /eslint-utils/3.0.0_eslint@8.53.0: + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + dependencies: + eslint: 8.53.0 + eslint-visitor-keys: 2.1.0 + dev: true + + /eslint-visitor-keys/1.3.0: + resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} + engines: {node: '>=4'} + dev: true + + /eslint-visitor-keys/2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + dev: true + + /eslint-visitor-keys/3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint/8.53.0: + resolution: {integrity: sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0_eslint@8.53.0 + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.3 + '@eslint/js': 8.53.0 + '@humanwhocodes/config-array': 0.11.13 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + 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.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.23.0 + graphemer: 1.4.0 + ignore: 5.2.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + 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 + transitivePeerDependencies: + - supports-color + dev: true + + /espree/9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.2 + acorn-jsx: 5.3.2_acorn@8.11.2 + eslint-visitor-keys: 3.4.3 + dev: true + + /esquery/1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse/4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse/4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + + /estraverse/5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /estree-walker/2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + /esutils/2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /exec-buffer/3.2.0: + resolution: {integrity: sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA==} + engines: {node: '>=4'} + dependencies: + execa: 0.7.0 + p-finally: 1.0.0 + pify: 3.0.0 + rimraf: 2.7.1 + tempfile: 2.0.0 + dev: true + + /execa/0.7.0: + resolution: {integrity: sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==} + engines: {node: '>=4'} + dependencies: + cross-spawn: 5.1.0 + get-stream: 3.0.0 + is-stream: 1.1.0 + npm-run-path: 2.0.2 + p-finally: 1.0.0 + signal-exit: 3.0.7 + strip-eof: 1.0.0 + dev: true + + /execa/1.0.0: + resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} + engines: {node: '>=6'} + dependencies: + cross-spawn: 6.0.5 + get-stream: 4.1.0 + is-stream: 1.1.0 + npm-run-path: 2.0.2 + p-finally: 1.0.0 + signal-exit: 3.0.7 + strip-eof: 1.0.0 + dev: true + + /execa/4.1.0: + resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /execa/5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /executable/4.1.1: + resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} + engines: {node: '>=4'} + dependencies: + pify: 2.3.0 + dev: true + + /ext-list/2.2.2: + resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==} + engines: {node: '>=0.10.0'} + dependencies: + mime-db: 1.52.0 + dev: true + + /ext-name/5.0.0: + resolution: {integrity: sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==} + engines: {node: '>=4'} + dependencies: + ext-list: 2.2.2 + sort-keys-length: 1.0.1 + dev: true + + /fast-deep-equal/3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-glob/3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fast-json-stable-stringify/2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-levenshtein/2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fast-xml-parser/4.2.2: + resolution: {integrity: sha512-DLzIPtQqmvmdq3VUKR7T6omPK/VCRNqgFlGtbESfyhcH2R4I8EzK1/K6E8PkRCK2EabWrUHK32NjYRbEFnnz0Q==} + hasBin: true + dependencies: + strnum: 1.0.5 + dev: true + + /fastq/1.13.0: + resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} + dependencies: + reusify: 1.0.4 + dev: true + + /fd-slicer/1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + dev: true + + /figures/1.7.0: + resolution: {integrity: sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==} + engines: {node: '>=0.10.0'} + dependencies: + escape-string-regexp: 1.0.5 + object-assign: 4.1.1 + dev: true + + /file-entry-cache/6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.1.1 + dev: true + + /file-type/10.11.0: + resolution: {integrity: sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==} + engines: {node: '>=6'} + dev: true + + /file-type/12.4.2: + resolution: {integrity: sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==} + engines: {node: '>=8'} + dev: true + + /file-type/3.9.0: + resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==} + engines: {node: '>=0.10.0'} + dev: true + + /file-type/4.4.0: + resolution: {integrity: sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==} + engines: {node: '>=4'} + dev: true + + /file-type/5.2.0: + resolution: {integrity: sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==} + engines: {node: '>=4'} + dev: true + + /file-type/6.2.0: + resolution: {integrity: sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==} + engines: {node: '>=4'} + dev: true + + /file-type/8.1.0: + resolution: {integrity: sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==} + engines: {node: '>=6'} + dev: true + + /filename-reserved-regex/2.0.0: + resolution: {integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==} + engines: {node: '>=4'} + dev: true + + /filenamify/2.1.0: + resolution: {integrity: sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==} + engines: {node: '>=4'} + dependencies: + filename-reserved-regex: 2.0.0 + strip-outer: 1.0.1 + trim-repeated: 1.0.0 + dev: true + + /fill-range/7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-up/1.1.2: + resolution: {integrity: sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==} + engines: {node: '>=0.10.0'} + dependencies: + path-exists: 2.1.0 + pinkie-promise: 2.0.1 + dev: true + + /find-up/4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /find-up/5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /find-versions/3.2.0: + resolution: {integrity: sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==} + engines: {node: '>=6'} + dependencies: + semver-regex: 2.0.0 + dev: true + + /flat-cache/3.1.1: + resolution: {integrity: sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==} + engines: {node: '>=12.0.0'} + dependencies: + flatted: 3.2.9 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flatted/3.2.9: + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + dev: true + + /follow-redirects/1.15.2: + resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: false + + /for-each/0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + dev: true + + /form-data/4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: false + + /from2/2.3.0: + resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.8 + dev: true + + /fs-constants/1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + dev: true + + /fs-extra/10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + dependencies: + graceful-fs: 4.2.10 + jsonfile: 6.1.0 + universalify: 2.0.0 + + /fs.realpath/1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind/1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /function.prototype.name/1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + functions-have-names: 1.2.3 + dev: true + + /functions-have-names/1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true + + /gensync/1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true + + /get-caller-file/2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-intrinsic/1.2.2: + resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + dependencies: + function-bind: 1.1.2 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.0 + dev: true + + /get-proxy/2.1.0: + resolution: {integrity: sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==} + engines: {node: '>=4'} + dependencies: + npm-conf: 1.1.3 + dev: true + + /get-stdin/4.0.1: + resolution: {integrity: sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==} + engines: {node: '>=0.10.0'} + dev: true + + /get-stream/2.3.1: + resolution: {integrity: sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==} + engines: {node: '>=0.10.0'} + dependencies: + object-assign: 4.1.1 + pinkie-promise: 2.0.1 + dev: true + + /get-stream/3.0.0: + resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} + engines: {node: '>=4'} + dev: true + + /get-stream/4.1.0: + resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} + engines: {node: '>=6'} + dependencies: + pump: 3.0.0 + dev: true + + /get-stream/5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.0 + dev: true + + /get-stream/6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + + /get-symbol-description/1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + dev: true + + /get-tsconfig/4.7.2: + resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: true + + /gifsicle/5.2.0: + resolution: {integrity: sha512-vOIS3j0XoTCxq9pkGj43gEix82RkI5FveNgaFZutjbaui/HH+4fR8Y56dwXDuxYo8hR4xOo6/j2h1WHoQW6XLw==} + engines: {node: '>=10'} + hasBin: true + requiresBuild: true + dependencies: + bin-build: 3.0.0 + bin-wrapper: 4.1.0 + execa: 5.1.1 + logalot: 2.1.0 + dev: true + + /glob-parent/5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-parent/6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob/7.2.0: + resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /globals/11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true + + /globals/13.23.0: + resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globalthis/1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.1 + dev: true + + /globby/10.0.2: + resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==} + engines: {node: '>=8'} + dependencies: + '@types/glob': 7.2.0 + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + glob: 7.2.0 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /globby/11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /gopd/1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.2 + dev: true + + /got/7.1.0: + resolution: {integrity: sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==} + engines: {node: '>=4'} + dependencies: + '@types/keyv': 3.1.4 + '@types/responselike': 1.0.0 + decompress-response: 3.3.0 + duplexer3: 0.1.5 + get-stream: 3.0.0 + is-plain-obj: 1.1.0 + is-retry-allowed: 1.2.0 + is-stream: 1.1.0 + isurl: 1.0.0 + lowercase-keys: 1.0.1 + p-cancelable: 0.3.0 + p-timeout: 1.2.1 + safe-buffer: 5.2.1 + timed-out: 4.0.1 + url-parse-lax: 1.0.0 + url-to-options: 1.0.1 + dev: true + + /got/8.3.2: + resolution: {integrity: sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==} + engines: {node: '>=4'} + dependencies: + '@sindresorhus/is': 0.7.0 + '@types/keyv': 3.1.4 + '@types/responselike': 1.0.0 + cacheable-request: 2.1.4 + decompress-response: 3.3.0 + duplexer3: 0.1.5 + get-stream: 3.0.0 + into-stream: 3.1.0 + is-retry-allowed: 1.2.0 + isurl: 1.0.0 + lowercase-keys: 1.0.1 + mimic-response: 1.0.1 + p-cancelable: 0.4.1 + p-timeout: 2.0.1 + pify: 3.0.0 + safe-buffer: 5.2.1 + timed-out: 4.0.1 + url-parse-lax: 3.0.0 + url-to-options: 1.0.1 + dev: true + + /graceful-fs/4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + requiresBuild: true + + /graphemer/1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /gzip-size/6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + dependencies: + duplexer: 0.1.2 + dev: true + + /has-ansi/2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: true + + /has-bigints/1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true + + /has-flag/3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag/4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-property-descriptors/1.0.1: + resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + dependencies: + get-intrinsic: 1.2.2 + dev: true + + /has-proto/1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + dev: true + + /has-symbol-support-x/1.4.2: + resolution: {integrity: sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==} + dev: true + + /has-symbols/1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true + + /has-to-string-tag-x/1.4.1: + resolution: {integrity: sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==} + dependencies: + has-symbol-support-x: 1.4.2 + dev: true + + /has-tostringtag/1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /hasown/2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + + /he/1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true + + /hosted-git-info/2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + dev: true + + /html-tags/3.2.0: + resolution: {integrity: sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==} + engines: {node: '>=8'} + dev: true + + /htmlparser2/8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + entities: 4.5.0 + dev: true + + /http-cache-semantics/3.8.1: + resolution: {integrity: sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==} + dev: true + + /human-signals/1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: true + + /human-signals/2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /iconv-lite/0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + optional: true + + /ieee754/1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: true + + /ignore/5.2.0: + resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} + engines: {node: '>= 4'} + dev: true + + /ignore/5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} + dev: true + + /image-size/0.5.5: + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} + engines: {node: '>=0.10.0'} + hasBin: true + requiresBuild: true + dev: true + optional: true + + /imagemin-gifsicle/7.0.0: + resolution: {integrity: sha512-LaP38xhxAwS3W8PFh4y5iQ6feoTSF+dTAXFRUEYQWYst6Xd+9L/iPk34QGgK/VO/objmIlmq9TStGfVY2IcHIA==} + engines: {node: '>=10'} + dependencies: + execa: 1.0.0 + gifsicle: 5.2.0 + is-gif: 3.0.0 + dev: true + + /imagemin-jpegtran/7.0.0: + resolution: {integrity: sha512-MJoyTCW8YjMJf56NorFE41SR/WkaGA3IYk4JgvMlRwguJEEd3PnP9UxA8Y2UWjquz8d+On3Ds/03ZfiiLS8xTQ==} + engines: {node: '>=10'} + dependencies: + exec-buffer: 3.2.0 + is-jpg: 2.0.0 + jpegtran-bin: 5.0.2 + dev: true + + /imagemin-mozjpeg/9.0.0: + resolution: {integrity: sha512-TwOjTzYqCFRgROTWpVSt5UTT0JeCuzF1jswPLKALDd89+PmrJ2PdMMYeDLYZ1fs9cTovI9GJd68mRSnuVt691w==} + engines: {node: '>=10'} + dependencies: + execa: 4.1.0 + is-jpg: 2.0.0 + mozjpeg: 7.1.1 + dev: true + + /imagemin-optipng/8.0.0: + resolution: {integrity: sha512-CUGfhfwqlPjAC0rm8Fy+R2DJDBGjzy2SkfyT09L8rasnF9jSoHFqJ1xxSZWK6HVPZBMhGPMxCTL70OgTHlLF5A==} + engines: {node: '>=10'} + dependencies: + exec-buffer: 3.2.0 + is-png: 2.0.0 + optipng-bin: 7.0.1 + dev: true + + /imagemin-pngquant/9.0.2: + resolution: {integrity: sha512-cj//bKo8+Frd/DM8l6Pg9pws1pnDUjgb7ae++sUX1kUVdv2nrngPykhiUOgFeE0LGY/LmUbCf4egCHC4YUcZSg==} + engines: {node: '>=10'} + dependencies: + execa: 4.1.0 + is-png: 2.0.0 + is-stream: 2.0.1 + ow: 0.17.0 + pngquant-bin: 6.0.1 + dev: true + + /imagemin-svgo/9.0.0: + resolution: {integrity: sha512-uNgXpKHd99C0WODkrJ8OO/3zW3qjgS4pW7hcuII0RcHN3tnKxDjJWcitdVC/TZyfIqSricU8WfrHn26bdSW62g==} + engines: {node: '>=10'} + dependencies: + is-svg: 4.4.0 + svgo: 2.8.0 + dev: true + + /imagemin-webp/6.1.0: + resolution: {integrity: sha512-i8ZluZV1pfQX9aVzmZ/VZh9KBSdPwUlp5VruAa9c30GZnX/nMl5n7h+oUMnI7Mg7+SUpu9mYBsw2nsYGUEllWQ==} + engines: {node: '>=10'} + dependencies: + cwebp-bin: 6.1.2 + exec-buffer: 3.2.0 + is-cwebp-readable: 3.0.0 + dev: true + + /imagemin/7.0.1: + resolution: {integrity: sha512-33AmZ+xjZhg2JMCe+vDf6a9mzWukE7l+wAtesjE7KyteqqKjzxv7aVQeWnul1Ve26mWvEQqyPwl0OctNBfSR9w==} + engines: {node: '>=8'} + dependencies: + file-type: 12.4.2 + globby: 10.0.2 + graceful-fs: 4.2.10 + junk: 3.1.0 + make-dir: 3.1.0 + p-pipe: 3.1.0 + replace-ext: 1.0.1 + dev: true + + /import-fresh/3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-lazy/3.1.0: + resolution: {integrity: sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==} + engines: {node: '>=6'} + dev: true + + /imurmurhash/0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /indent-string/2.1.0: + resolution: {integrity: sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg==} + engines: {node: '>=0.10.0'} + dependencies: + repeating: 2.0.1 + dev: true + + /indent-string/4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true + + /inflight/1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits/2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /ini/1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: true + + /internal-slot/1.0.6: + resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + hasown: 2.0.0 + side-channel: 1.0.4 + dev: true + + /into-stream/3.1.0: + resolution: {integrity: sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==} + engines: {node: '>=4'} + dependencies: + from2: 2.3.0 + p-is-promise: 1.1.0 + dev: true + + /is-alphabetical/1.0.4: + resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} + dev: true + + /is-alphanumerical/1.0.4: + resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + dependencies: + is-alphabetical: 1.0.4 + is-decimal: 1.0.4 + dev: true + + /is-array-buffer/3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + dev: true + + /is-arrayish/0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-async-function/2.0.0: + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-bigint/1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: true + + /is-binary-path/2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-boolean-object/1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: true + + /is-builtin-module/3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + dependencies: + builtin-modules: 3.3.0 + dev: true + + /is-callable/1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: true + + /is-core-module/2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.0 + dev: true + + /is-cwebp-readable/3.0.0: + resolution: {integrity: sha512-bpELc7/Q1/U5MWHn4NdHI44R3jxk0h9ew9ljzabiRl70/UIjL/ZAqRMb52F5+eke/VC8yTiv4Ewryo1fPWidvA==} + dependencies: + file-type: 10.11.0 + dev: true + + /is-date-object/1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-decimal/1.0.4: + resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} + dev: true + + /is-docker/2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: true + + /is-extglob/2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-finalizationregistry/1.0.2: + resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + dependencies: + call-bind: 1.0.5 + dev: true + + /is-finite/1.1.0: + resolution: {integrity: sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point/3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-generator-function/1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-gif/3.0.0: + resolution: {integrity: sha512-IqJ/jlbw5WJSNfwQ/lHEDXF8rxhRgF6ythk2oiEvhpG29F704eX9NO6TvPfMiq9DrbwgcEDnETYNcZDPewQoVw==} + engines: {node: '>=6'} + dependencies: + file-type: 10.11.0 + dev: true + + /is-glob/4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-hexadecimal/1.0.4: + resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} + dev: true + + /is-jpg/2.0.0: + resolution: {integrity: sha512-ODlO0ruzhkzD3sdynIainVP5eoOFNN85rxA1+cwwnPe4dKyX0r5+hxNO5XpCrxlHcmb9vkOit9mhRD2JVuimHg==} + engines: {node: '>=6'} + dev: true + + /is-map/2.0.2: + resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + dev: true + + /is-natural-number/4.0.1: + resolution: {integrity: sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==} + dev: true + + /is-negative-zero/2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + dev: true + + /is-number-object/1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-number/7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-object/1.0.2: + resolution: {integrity: sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==} + dev: true + + /is-path-inside/3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-plain-obj/1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + dev: true + + /is-plain-object/3.0.1: + resolution: {integrity: sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==} + engines: {node: '>=0.10.0'} + dev: false + + /is-png/2.0.0: + resolution: {integrity: sha512-4KPGizaVGj2LK7xwJIz8o5B2ubu1D/vcQsgOGFEDlpcvgZHto4gBnyd0ig7Ws+67ixmwKoNmu0hYnpo6AaKb5g==} + engines: {node: '>=8'} + dev: true + + /is-regex/1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: true + + /is-retry-allowed/1.2.0: + resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} + engines: {node: '>=0.10.0'} + dev: true + + /is-set/2.0.2: + resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + dev: true + + /is-shared-array-buffer/1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.5 + dev: true + + /is-stream/1.1.0: + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-stream/2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /is-string/1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-svg/4.4.0: + resolution: {integrity: sha512-v+AgVwiK5DsGtT9ng+m4mClp6zDAmwrW8nZi6Gg15qzvBnRWWdfWA1TGaXyCDnWq5g5asofIgMVl3PjKxvk1ug==} + engines: {node: '>=6'} + dependencies: + fast-xml-parser: 4.2.2 + dev: true + + /is-symbol/1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /is-typed-array/1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.13 + dev: true + + /is-utf8/0.2.1: + resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} + dev: true + + /is-weakmap/2.0.1: + resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + dev: true + + /is-weakref/1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.5 + dev: true + + /is-weakset/2.0.2: + resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + dev: true + + /is-what/3.14.1: + resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} + dev: true + + /is-wsl/2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: true + + /isarray/1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: true + + /isarray/2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true + + /isexe/2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /isurl/1.0.0: + resolution: {integrity: sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==} + engines: {node: '>= 4'} + dependencies: + has-to-string-tag-x: 1.4.1 + is-object: 1.0.2 + dev: true + + /iterator.prototype/1.1.2: + resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} + dependencies: + define-properties: 1.2.1 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + reflect.getprototypeof: 1.0.4 + set-function-name: 2.0.1 + dev: true + + /jiti/1.21.0: + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + hasBin: true + dev: true + + /jpegtran-bin/5.0.2: + resolution: {integrity: sha512-4FSmgIcr8d5+V6T1+dHbPZjaFH0ogVyP4UVsE+zri7S9YLO4qAT2our4IN3sW3STVgNTbqPermdIgt2XuAJ4EA==} + engines: {node: '>=10'} + hasBin: true + requiresBuild: true + dependencies: + bin-build: 3.0.0 + bin-wrapper: 4.1.0 + logalot: 2.1.0 + dev: true + + /jpegtran-bin/6.0.1: + resolution: {integrity: sha512-WohhhHhqe22de7PU8hXs6Sr5d4BAvkrfA93NR5tGlHyPnFLgvEW/bH+q7fv65JgoiQDsd7SBwwQ/OGRBivU3Mw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + requiresBuild: true + dependencies: + bin-build: 3.0.0 + bin-wrapper: 4.1.0 + dev: true + + /js-tokens/4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + /js-yaml/4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /jsesc/2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /json-buffer/3.0.0: + resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} + dev: true + + /json-buffer/3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + + /json-parse-even-better-errors/2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + + /json-schema-traverse/0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-stable-stringify-without-jsonify/1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /json5/1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /json5/2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /jsonc-eslint-parser/2.4.0: + resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + semver: 7.5.4 + dev: true + + /jsonc-parser/3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: true + + /jsonfile/6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.0 + optionalDependencies: + graceful-fs: 4.2.10 + + /jsx-ast-utils/3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + dependencies: + array-includes: 3.1.7 + array.prototype.flat: 1.3.2 + object.assign: 4.1.4 + object.values: 1.1.7 + dev: true + + /junk/3.1.0: + resolution: {integrity: sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==} + engines: {node: '>=8'} + dev: true + + /keyv/3.0.0: + resolution: {integrity: sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==} + dependencies: + json-buffer: 3.0.0 + dev: true + + /keyv/4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /kolorist/1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + dev: true + + /less/4.1.3: + resolution: {integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==} + engines: {node: '>=6'} + hasBin: true + dependencies: + copy-anything: 2.0.6 + parse-node-version: 1.0.1 + tslib: 2.3.1 + optionalDependencies: + errno: 0.1.8 + graceful-fs: 4.2.10 + image-size: 0.5.5 + make-dir: 2.1.0 + mime: 1.6.0 + needle: 3.2.0 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /levn/0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /lines-and-columns/1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /load-json-file/1.1.0: + resolution: {integrity: sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==} + engines: {node: '>=0.10.0'} + dependencies: + graceful-fs: 4.2.10 + parse-json: 2.2.0 + pify: 2.3.0 + pinkie-promise: 2.0.1 + strip-bom: 2.0.0 + dev: true + + /local-pkg/0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + dev: true + + /local-pkg/0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + dependencies: + mlly: 1.4.2 + pkg-types: 1.0.3 + dev: true + + /locate-path/5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /locate-path/6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash-es/4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + dev: false + + /lodash.merge/4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash/4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + /logalot/2.1.0: + resolution: {integrity: sha512-Ah4CgdSRfeCJagxQhcVNMi9BfGYyEKLa6d7OA6xSbld/Hg3Cf2QiOa1mDpmG7Ve8LOH6DN3mdttzjQAvWTyVkw==} + engines: {node: '>=0.10.0'} + dependencies: + figures: 1.7.0 + squeak: 1.3.0 + dev: true + + /longest/1.0.1: + resolution: {integrity: sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==} + engines: {node: '>=0.10.0'} + dev: true + + /loose-envify/1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + dependencies: + js-tokens: 4.0.0 + + /loud-rejection/1.6.0: + resolution: {integrity: sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==} + engines: {node: '>=0.10.0'} + dependencies: + currently-unhandled: 0.4.1 + signal-exit: 3.0.7 + dev: true + + /lower-case/2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + dependencies: + tslib: 2.3.1 + dev: false + + /lowercase-keys/1.0.0: + resolution: {integrity: sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==} + engines: {node: '>=0.10.0'} + dev: true + + /lowercase-keys/1.0.1: + resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} + engines: {node: '>=0.10.0'} + dev: true + + /lpad-align/1.1.2: + resolution: {integrity: sha512-MMIcFmmR9zlGZtBcFOows6c2COMekHCIFJz3ew/rRpKZ1wR4mXDPzvcVqLarux8M33X4TPSq2Jdw8WJj0q0KbQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + get-stdin: 4.0.1 + indent-string: 2.1.0 + longest: 1.0.1 + meow: 3.7.0 + dev: true + + /lru-cache/4.1.5: + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} + dependencies: + pseudomap: 1.0.2 + yallist: 2.1.2 + dev: true + + /lru-cache/5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: true + + /lru-cache/6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /magic-string/0.30.0: + resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /magic-string/0.30.5: + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + /make-dir/1.3.0: + resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==} + engines: {node: '>=4'} + dependencies: + pify: 3.0.0 + dev: true + + /make-dir/2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} + requiresBuild: true + dependencies: + pify: 4.0.1 + semver: 5.7.1 + dev: true + optional: true + + /make-dir/3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.1 + dev: true + + /map-obj/1.0.1: + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} + dev: true + + /mdast-util-from-markdown/0.8.5: + resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} + dependencies: + '@types/mdast': 3.0.14 + mdast-util-to-string: 2.0.0 + micromark: 2.11.4 + parse-entities: 2.0.0 + unist-util-stringify-position: 2.0.3 + transitivePeerDependencies: + - supports-color + dev: true + + /mdast-util-to-string/2.0.0: + resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} + dev: true + + /mdn-data/2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + dev: true + + /mdn-data/2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + dev: true + + /meow/3.7.0: + resolution: {integrity: sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==} + engines: {node: '>=0.10.0'} + dependencies: + camelcase-keys: 2.1.0 + decamelize: 1.2.0 + loud-rejection: 1.6.0 + map-obj: 1.0.1 + minimist: 1.2.8 + normalize-package-data: 2.5.0 + object-assign: 4.1.1 + read-pkg-up: 1.0.1 + redent: 1.0.0 + trim-newlines: 1.0.0 + dev: true + + /merge-stream/2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2/1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromark/2.11.4: + resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} + dependencies: + debug: 4.3.4 + parse-entities: 2.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /micromatch/4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mime-db/1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + /mime-types/2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: false + + /mime/1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + requiresBuild: true + dev: true + optional: true + + /mimic-fn/2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mimic-response/1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} + dev: true + + /min-indent/1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true + + /minimatch/3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch/9.0.1: + resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch/9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist/1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true + + /mitt/3.0.0: + resolution: {integrity: sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==} + dev: false + + /mlly/1.3.0: + resolution: {integrity: sha512-HT5mcgIQKkOrZecOjOX3DJorTikWXwsBfpcr/MGBkhfWcjiqvnaL/9ppxvIUXfjT6xt4DVIAsN9fMUz1ev4bIw==} + dependencies: + acorn: 8.11.2 + pathe: 1.1.0 + pkg-types: 1.0.3 + ufo: 1.1.2 + dev: true + + /mlly/1.4.2: + resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} + dependencies: + acorn: 8.11.2 + pathe: 1.1.1 + pkg-types: 1.0.3 + ufo: 1.3.1 + dev: true + + /mockjs/1.1.0: + resolution: {integrity: sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==} + hasBin: true + dependencies: + commander: 10.0.1 + dev: true + + /mozjpeg/7.1.1: + resolution: {integrity: sha512-iIDxWvzhWvLC9mcRJ1uSkiKaj4drF58oCqK2bITm5c2Jt6cJ8qQjSSru2PCaysG+hLIinryj8mgz5ZJzOYTv1A==} + engines: {node: '>=10'} + hasBin: true + requiresBuild: true + dependencies: + bin-build: 3.0.0 + bin-wrapper: 4.1.0 + dev: true + + /mrmime/1.0.1: + resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} + engines: {node: '>=10'} + dev: true + + /ms/2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /ms/2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true + + /muggle-string/0.2.2: + resolution: {integrity: sha512-YVE1mIJ4VpUMqZObFndk9CJu6DBJR/GB13p3tXuNbwD4XExaI5EOuRl6BHeIDxIqXZVxSfAC+y6U1Z/IxCfKUg==} + dev: true + + /nanoid/3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + /nanopop/2.1.0: + resolution: {integrity: sha512-jGTwpFRexSH+fxappnGQtN9dspgE2ipa1aOjtR24igG0pv6JCxImIAmrLRHX+zUF5+1wtsFVbKyfP51kIGAVNw==} + dev: false + + /natural-compare-lite/1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + dev: true + + /natural-compare/1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /needle/3.2.0: + resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==} + engines: {node: '>= 4.4.x'} + hasBin: true + requiresBuild: true + dependencies: + debug: 3.2.7 + iconv-lite: 0.6.3 + sax: 1.2.4 + transitivePeerDependencies: + - supports-color + dev: true + optional: true + + /nice-try/1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + dev: true + + /no-case/3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + dependencies: + lower-case: 2.0.2 + tslib: 2.3.1 + dev: false + + /node-fetch-native/1.4.1: + resolution: {integrity: sha512-NsXBU0UgBxo2rQLOeWNZqS3fvflWePMECr8CoSWoSTqCqGbVVsvl9vZu1HfQicYN0g5piV9Gh8RTEvo/uP752w==} + dev: true + + /node-releases/2.0.12: + resolution: {integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==} + dev: true + + /node-releases/2.0.13: + resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} + dev: true + + /normalize-package-data/2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.8 + semver: 5.7.1 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-path/3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /normalize-url/2.0.1: + resolution: {integrity: sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==} + engines: {node: '>=4'} + dependencies: + prepend-http: 2.0.0 + query-string: 5.1.1 + sort-keys: 2.0.0 + dev: true + + /npm-conf/1.1.3: + resolution: {integrity: sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==} + engines: {node: '>=4'} + dependencies: + config-chain: 1.1.13 + pify: 3.0.0 + dev: true + + /npm-run-path/2.0.2: + resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} + engines: {node: '>=4'} + dependencies: + path-key: 2.0.1 + dev: true + + /npm-run-path/4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /nprogress/0.2.0: + resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} + dev: false + + /nth-check/2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: true + + /object-assign/4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: true + + /object-inspect/1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + dev: true + + /object-keys/1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true + + /object.assign/4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + + /object.entries/1.1.7: + resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /object.fromentries/2.0.7: + resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /object.groupby/1.0.1: + resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + dev: true + + /object.hasown/1.1.3: + resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} + dependencies: + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /object.values/1.1.7: + resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /ofetch/1.3.3: + resolution: {integrity: sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==} + dependencies: + destr: 2.0.2 + node-fetch-native: 1.4.1 + ufo: 1.3.1 + dev: true + + /omit.js/2.0.2: + resolution: {integrity: sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==} + dev: false + + /once/1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /onetime/5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /open/8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: true + + /optionator/0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /optipng-bin/7.0.1: + resolution: {integrity: sha512-W99mpdW7Nt2PpFiaO+74pkht7KEqkXkeRomdWXfEz3SALZ6hns81y/pm1dsGZ6ItUIfchiNIP6ORDr1zETU1jA==} + engines: {node: '>=10'} + hasBin: true + requiresBuild: true + dependencies: + bin-build: 3.0.0 + bin-wrapper: 4.1.0 + dev: true + + /os-filter-obj/2.0.0: + resolution: {integrity: sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==} + engines: {node: '>=4'} + dependencies: + arch: 2.2.0 + dev: true + + /ow/0.17.0: + resolution: {integrity: sha512-i3keDzDQP5lWIe4oODyDFey1qVrq2hXKTuTH2VpqwpYtzPiKZt2ziRI4NBQmgW40AnV5Euz17OyWweCb+bNEQA==} + engines: {node: '>=10'} + dependencies: + type-fest: 0.11.0 + dev: true + + /p-cancelable/0.3.0: + resolution: {integrity: sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==} + engines: {node: '>=4'} + dev: true + + /p-cancelable/0.4.1: + resolution: {integrity: sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==} + engines: {node: '>=4'} + dev: true + + /p-event/1.3.0: + resolution: {integrity: sha512-hV1zbA7gwqPVFcapfeATaNjQ3J0NuzorHPyG8GPL9g/Y/TplWVBVoCKCXL6Ej2zscrCEv195QNWJXuBH6XZuzA==} + engines: {node: '>=4'} + dependencies: + p-timeout: 1.2.1 + dev: true + + /p-event/2.3.1: + resolution: {integrity: sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==} + engines: {node: '>=6'} + dependencies: + p-timeout: 2.0.1 + dev: true + + /p-finally/1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + dev: true + + /p-is-promise/1.1.0: + resolution: {integrity: sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==} + engines: {node: '>=4'} + dev: true + + /p-limit/2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-limit/3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-locate/4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-locate/5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /p-map-series/1.0.0: + resolution: {integrity: sha512-4k9LlvY6Bo/1FcIdV33wqZQES0Py+iKISU9Uc8p8AjWoZPnFKMpVIVD3s0EYn4jzLh1I+WeUZkJ0Yoa4Qfw3Kg==} + engines: {node: '>=4'} + dependencies: + p-reduce: 1.0.0 + dev: true + + /p-pipe/3.1.0: + resolution: {integrity: sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==} + engines: {node: '>=8'} + dev: true + + /p-reduce/1.0.0: + resolution: {integrity: sha512-3Tx1T3oM1xO/Y8Gj0sWyE78EIJZ+t+aEmXUdvQgvGmSMri7aPTHoovbXEreWKkL5j21Er60XAWLTzKbAKYOujQ==} + engines: {node: '>=4'} + dev: true + + /p-timeout/1.2.1: + resolution: {integrity: sha512-gb0ryzr+K2qFqFv6qi3khoeqMZF/+ajxQipEF6NteZVnvz9tzdsfAVj3lYtn1gAXvH5lfLwfxEII799gt/mRIA==} + engines: {node: '>=4'} + dependencies: + p-finally: 1.0.0 + dev: true + + /p-timeout/2.0.1: + resolution: {integrity: sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==} + engines: {node: '>=4'} + dependencies: + p-finally: 1.0.0 + dev: true + + /p-try/2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /param-case/3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + dependencies: + dot-case: 3.0.4 + tslib: 2.3.1 + dev: false + + /parent-module/1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /parse-entities/2.0.0: + resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} + dependencies: + character-entities: 1.2.4 + character-entities-legacy: 1.1.4 + character-reference-invalid: 1.1.4 + is-alphanumerical: 1.0.4 + is-decimal: 1.0.4 + is-hexadecimal: 1.0.4 + dev: true + + /parse-gitignore/2.0.0: + resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==} + engines: {node: '>=14'} + dev: true + + /parse-json/2.2.0: + resolution: {integrity: sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==} + engines: {node: '>=0.10.0'} + dependencies: + error-ex: 1.3.2 + dev: true + + /parse-json/5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.21.4 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + + /parse-node-version/1.0.1: + resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} + engines: {node: '>= 0.10'} + dev: true + + /pascal-case/3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + dependencies: + no-case: 3.0.4 + tslib: 2.3.1 + dev: false + + /path-exists/2.1.0: + resolution: {integrity: sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==} + engines: {node: '>=0.10.0'} + dependencies: + pinkie-promise: 2.0.1 + dev: true + + /path-exists/4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute/1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key/2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + dev: true + + /path-key/3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse/1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-type/1.1.0: + resolution: {integrity: sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==} + engines: {node: '>=0.10.0'} + dependencies: + graceful-fs: 4.2.10 + pify: 2.3.0 + pinkie-promise: 2.0.1 + dev: true + + /path-type/4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /pathe/0.2.0: + resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==} + dev: true + + /pathe/1.1.0: + resolution: {integrity: sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==} + dev: true + + /pathe/1.1.1: + resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} + dev: true + + /pend/1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: true + + /perfect-debounce/1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + dev: true + + /picocolors/1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /picomatch/2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pify/2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + dev: true + + /pify/3.0.0: + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} + dev: true + + /pify/4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + dev: true + + /pinia/2.1.3_typescript@4.5.5+vue@3.3.4: + resolution: {integrity: sha512-XNA/z/ye4P5rU1pieVmh0g/hSuDO98/a5UC8oSP0DNdvt6YtetJNHTrXwpwsQuflkGT34qKxAEcp7lSxXNjf/A==} + peerDependencies: + '@vue/composition-api': ^1.4.0 + typescript: '>=4.4.4' + vue: ^2.6.14 || ^3.3.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + typescript: + optional: true + dependencies: + '@vue/devtools-api': 6.5.0 + typescript: 4.5.5 + vue: 3.3.4 + vue-demi: 0.14.5_vue@3.3.4 + dev: false + + /pinkie-promise/2.0.1: + resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} + engines: {node: '>=0.10.0'} + dependencies: + pinkie: 2.0.4 + dev: true + + /pinkie/2.0.4: + resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} + engines: {node: '>=0.10.0'} + dev: true + + /pkg-types/1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + dependencies: + jsonc-parser: 3.2.0 + mlly: 1.4.2 + pathe: 1.1.0 + dev: true + + /pluralize/8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + dev: true + + /pngquant-bin/6.0.1: + resolution: {integrity: sha512-Q3PUyolfktf+hYio6wsg3SanQzEU/v8aICg/WpzxXcuCMRb7H2Q81okfpcEztbMvw25ILjd3a87doj2N9kvbpQ==} + engines: {node: '>=10'} + hasBin: true + requiresBuild: true + dependencies: + bin-build: 3.0.0 + bin-wrapper: 4.1.0 + execa: 4.1.0 + dev: true + + /postcss-selector-parser/6.0.13: + resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss/8.4.24: + resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + + /postcss/8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /prelude-ls/1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prepend-http/1.0.4: + resolution: {integrity: sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==} + engines: {node: '>=0.10.0'} + dev: true + + /prepend-http/2.0.0: + resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} + engines: {node: '>=4'} + dev: true + + /process-nextick-args/2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + dev: true + + /prop-types/15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + dev: true + + /proto-list/1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + dev: true + + /proxy-from-env/1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: false + + /prr/1.0.1: + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + dev: true + optional: true + + /pseudomap/1.0.2: + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + dev: true + + /pump/3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: true + + /punycode/2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + dev: true + + /query-string/5.1.1: + resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==} + engines: {node: '>=0.10.0'} + dependencies: + decode-uri-component: 0.2.2 + object-assign: 4.1.1 + strict-uri-encode: 1.1.0 + dev: true + + /queue-microtask/1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /react-is/16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + dev: true + + /read-pkg-up/1.0.1: + resolution: {integrity: sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==} + engines: {node: '>=0.10.0'} + dependencies: + find-up: 1.1.2 + read-pkg: 1.1.0 + dev: true + + /read-pkg-up/7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + dev: true + + /read-pkg/1.1.0: + resolution: {integrity: sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==} + engines: {node: '>=0.10.0'} + dependencies: + load-json-file: 1.1.0 + normalize-package-data: 2.5.0 + path-type: 1.1.0 + dev: true + + /read-pkg/5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + dependencies: + '@types/normalize-package-data': 2.4.3 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + dev: true + + /readable-stream/2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + dev: true + + /readdirp/3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /redent/1.0.0: + resolution: {integrity: sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==} + engines: {node: '>=0.10.0'} + dependencies: + indent-string: 2.1.0 + strip-indent: 1.0.1 + dev: true + + /reflect.getprototypeof/1.0.4: + resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + globalthis: 1.0.3 + which-builtin-type: 1.1.3 + dev: true + + /regenerator-runtime/0.13.9: + resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} + dev: false + + /regexp-tree/0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + dev: true + + /regexp.prototype.flags/1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + set-function-name: 2.0.1 + dev: true + + /regexpp/3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} + dev: true + + /repeating/2.0.1: + resolution: {integrity: sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==} + engines: {node: '>=0.10.0'} + dependencies: + is-finite: 1.1.0 + dev: true + + /replace-ext/1.0.1: + resolution: {integrity: sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==} + engines: {node: '>= 0.10'} + dev: true + + /require-directory/2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /resize-observer-polyfill/1.5.1: + resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} + dev: false + + /resolve-from/4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-pkg-maps/1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: true + + /resolve/1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /resolve/2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /responselike/1.0.2: + resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} + dependencies: + lowercase-keys: 1.0.1 + dev: true + + /reusify/1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rimraf/2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + hasBin: true + dependencies: + glob: 7.2.0 + dev: true + + /rimraf/3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.0 + dev: true + + /rollup-plugin-visualizer/5.9.0: + resolution: {integrity: sha512-bbDOv47+Bw4C/cgs0czZqfm8L82xOZssk4ayZjG40y9zbXclNk7YikrZTDao6p7+HDiGxrN0b65SgZiVm9k1Cg==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + rollup: 2.x || 3.x + peerDependenciesMeta: + rollup: + optional: true + dependencies: + open: 8.4.2 + picomatch: 2.3.1 + source-map: 0.7.4 + yargs: 17.7.2 + dev: true + + /rollup/3.23.0: + resolution: {integrity: sha512-h31UlwEi7FHihLe1zbk+3Q7z1k/84rb9BSwmBSr/XjOCEaBJ2YyedQDuM0t/kfOS0IxM+vk1/zI9XxYj9V+NJQ==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /run-parallel/1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-array-concat/1.0.1: + resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + isarray: 2.0.5 + dev: true + + /safe-buffer/5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + dev: true + + /safe-buffer/5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true + + /safe-regex-test/1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-regex: 1.1.4 + dev: true + + /safe-regex/2.1.1: + resolution: {integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==} + dependencies: + regexp-tree: 0.1.27 + dev: true + + /safer-buffer/2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true + optional: true + + /sax/1.2.4: + resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + dev: true + optional: true + + /scroll-into-view-if-needed/2.2.29: + resolution: {integrity: sha512-hxpAR6AN+Gh53AdAimHM6C8oTN1ppwVZITihix+WqalywBeFcQ6LdQP5ABNl26nX8GTEL7VT+b8lKpdqq65wXg==} + dependencies: + compute-scroll-into-view: 1.0.17 + dev: false + + /scule/1.0.0: + resolution: {integrity: sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==} + dev: true + + /seek-bzip/1.0.6: + resolution: {integrity: sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==} + hasBin: true + dependencies: + commander: 2.20.3 + dev: true + + /semver-regex/2.0.0: + resolution: {integrity: sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==} + engines: {node: '>=6'} + dev: true + + /semver-truncate/1.1.2: + resolution: {integrity: sha512-V1fGg9i4CL3qesB6U0L6XAm4xOJiHmt4QAacazumuasc03BvtFGIMCduv01JWQ69Nv+JST9TqhSCiJoxoY031w==} + engines: {node: '>=0.10.0'} + dependencies: + semver: 5.7.1 + dev: true + + /semver/5.7.1: + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + hasBin: true + dev: true + + /semver/6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + hasBin: true + dev: true + + /semver/6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + dev: true + + /semver/7.5.1: + resolution: {integrity: sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver/7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /set-function-length/1.1.1: + resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + dev: true + + /set-function-name/2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.1 + dev: true + + /shallow-equal/1.2.1: + resolution: {integrity: sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==} + dev: false + + /shebang-command/1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + dependencies: + shebang-regex: 1.0.0 + dev: true + + /shebang-command/2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex/1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + dev: true + + /shebang-regex/3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /side-channel/1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + object-inspect: 1.13.1 + dev: true + + /signal-exit/3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /sirv/2.0.3: + resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==} + engines: {node: '>= 10'} + dependencies: + '@polka/url': 1.0.0-next.23 + mrmime: 1.0.1 + totalist: 3.0.1 + dev: true + + /slash/3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /sort-keys-length/1.0.1: + resolution: {integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==} + engines: {node: '>=0.10.0'} + dependencies: + sort-keys: 1.1.2 + dev: true + + /sort-keys/1.1.2: + resolution: {integrity: sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==} + engines: {node: '>=0.10.0'} + dependencies: + is-plain-obj: 1.1.0 + dev: true + + /sort-keys/2.0.0: + resolution: {integrity: sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==} + engines: {node: '>=4'} + dependencies: + is-plain-obj: 1.1.0 + dev: true + + /source-map-js/1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + + /source-map/0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map/0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map/0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + dev: true + + /spdx-correct/3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.13 + dev: true + + /spdx-exceptions/2.3.0: + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + dev: true + + /spdx-expression-parse/3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.13 + dev: true + + /spdx-license-ids/3.0.13: + resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} + dev: true + + /squeak/1.3.0: + resolution: {integrity: sha512-YQL1ulInM+ev8nXX7vfXsCsDh6IqXlrremc1hzi77776BtpWgYJUMto3UM05GSAaGzJgWekszjoKDrVNB5XG+A==} + engines: {node: '>=0.10.0'} + dependencies: + chalk: 1.1.3 + console-stream: 0.1.1 + lpad-align: 1.1.2 + dev: true + + /stable/0.1.8: + resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} + deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' + dev: true + + /strict-uri-encode/1.1.0: + resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} + engines: {node: '>=0.10.0'} + dev: true + + /string-width/4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string.prototype.matchall/4.0.10: + resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + internal-slot: 1.0.6 + regexp.prototype.flags: 1.5.1 + set-function-name: 2.0.1 + side-channel: 1.0.4 + dev: true + + /string.prototype.trim/1.2.8: + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /string.prototype.trimend/1.0.7: + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /string.prototype.trimstart/1.0.7: + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /string_decoder/1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + dependencies: + safe-buffer: 5.1.2 + dev: true + + /strip-ansi/3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: true + + /strip-ansi/6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-bom/2.0.0: + resolution: {integrity: sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==} + engines: {node: '>=0.10.0'} + dependencies: + is-utf8: 0.2.1 + dev: true + + /strip-bom/3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true + + /strip-dirs/2.1.0: + resolution: {integrity: sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==} + dependencies: + is-natural-number: 4.0.1 + dev: true + + /strip-eof/1.0.0: + resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} + engines: {node: '>=0.10.0'} + dev: true + + /strip-final-newline/2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-indent/1.0.1: + resolution: {integrity: sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + get-stdin: 4.0.1 + dev: true + + /strip-indent/3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: true + + /strip-json-comments/3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /strip-literal/1.0.1: + resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==} + dependencies: + acorn: 8.11.2 + dev: true + + /strip-outer/1.0.1: + resolution: {integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==} + engines: {node: '>=0.10.0'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /strnum/1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + dev: true + + /stylis/4.3.0: + resolution: {integrity: sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==} + dev: false + + /supports-color/2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + dev: true + + /supports-color/5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color/7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /svg-tags/1.0.0: + resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + dev: true + + /svgo/2.8.0: + resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} + engines: {node: '>=10.13.0'} + hasBin: true + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 4.3.0 + css-tree: 1.1.3 + csso: 4.2.0 + picocolors: 1.0.0 + stable: 0.1.8 + dev: true + + /tar-stream/1.6.2: + resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} + engines: {node: '>= 0.8.0'} + dependencies: + bl: 1.2.3 + buffer-alloc: 1.2.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + readable-stream: 2.3.8 + to-buffer: 1.1.1 + xtend: 4.0.2 + dev: true + + /temp-dir/1.0.0: + resolution: {integrity: sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==} + engines: {node: '>=4'} + dev: true + + /tempfile/2.0.0: + resolution: {integrity: sha512-ZOn6nJUgvgC09+doCEF3oB+r3ag7kUvlsXEGX069QRD60p+P3uP7XG9N2/at+EyIRGSN//ZY3LyEotA1YpmjuA==} + engines: {node: '>=4'} + dependencies: + temp-dir: 1.0.0 + uuid: 3.4.0 + dev: true + + /text-table/0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /throttle-debounce/5.0.0: + resolution: {integrity: sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==} + engines: {node: '>=12.22'} + dev: false + + /through/2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + + /timed-out/4.0.1: + resolution: {integrity: sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==} + engines: {node: '>=0.10.0'} + dev: true + + /to-buffer/1.1.1: + resolution: {integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==} + dev: true + + /to-fast-properties/2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + /to-regex-range/5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /totalist/3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + dev: true + + /trim-newlines/1.0.0: + resolution: {integrity: sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==} + engines: {node: '>=0.10.0'} + dev: true + + /trim-repeated/1.0.0: + resolution: {integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==} + engines: {node: '>=0.10.0'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /ts-api-utils/1.0.3_typescript@4.5.5: + resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} + engines: {node: '>=16.13.0'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 4.5.5 + dev: true + + /tsconfig-paths/3.14.2: + resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: true + + /tslib/1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true + + /tslib/2.3.0: + resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} + dev: false + + /tslib/2.3.1: + resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} + + /tsutils/3.21.0_typescript@4.5.5: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + 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' + dependencies: + tslib: 1.14.1 + typescript: 4.5.5 + dev: true + + /tunnel-agent/0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /type-check/0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-fest/0.11.0: + resolution: {integrity: sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==} + engines: {node: '>=8'} + dev: true + + /type-fest/0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + + /type-fest/0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + dev: true + + /type-fest/0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + dev: true + + /typed-array-buffer/1.0.0: + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-length/1.0.0: + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-offset/1.0.0: + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-length/1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + dependencies: + call-bind: 1.0.5 + for-each: 0.3.3 + is-typed-array: 1.1.12 + dev: true + + /typescript/4.5.5: + resolution: {integrity: sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==} + engines: {node: '>=4.2.0'} + hasBin: true + + /ufo/1.1.2: + resolution: {integrity: sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==} + dev: true + + /ufo/1.3.1: + resolution: {integrity: sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw==} + dev: true + + /unbox-primitive/1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.5 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: true + + /unbzip2-stream/1.4.3: + resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} + dependencies: + buffer: 5.7.1 + through: 2.3.8 + dev: true + + /unconfig/0.3.11: + resolution: {integrity: sha512-bV/nqePAKv71v3HdVUn6UefbsDKQWRX+bJIkiSm0+twIds6WiD2bJLWWT3i214+J/B4edufZpG2w7Y63Vbwxow==} + dependencies: + '@antfu/utils': 0.7.6 + defu: 6.1.3 + jiti: 1.21.0 + mlly: 1.4.2 + dev: true + + /unimport/3.0.7: + resolution: {integrity: sha512-2dVQUxJEGcrSZ0U4qtwJVODrlfyGcwmIOoHVqbAFFUx7kPoEN5JWr1cZFhLwoAwTmZOvqAm3YIkzv1engIQocg==} + dependencies: + '@rollup/pluginutils': 5.0.2 + escape-string-regexp: 5.0.0 + fast-glob: 3.3.2 + local-pkg: 0.4.3 + magic-string: 0.30.5 + mlly: 1.3.0 + pathe: 1.1.0 + pkg-types: 1.0.3 + scule: 1.0.0 + strip-literal: 1.0.1 + unplugin: 1.5.0 + transitivePeerDependencies: + - rollup + dev: true + + /unist-util-stringify-position/2.0.3: + resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + dependencies: + '@types/unist': 2.0.9 + dev: true + + /universalify/2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} + + /unocss/0.57.7_vite@4.3.9: + resolution: {integrity: sha512-Z99ZZPkbkjIUXEM7L+K/7Y5V5yqUS0VigG7ZIFzLf/npieKmXHKlrPyvQWFQaf3OqooMFuKBQivh75TwvSOkcQ==} + engines: {node: '>=14'} + peerDependencies: + '@unocss/webpack': 0.57.7 + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + '@unocss/webpack': + optional: true + vite: + optional: true + dependencies: + '@unocss/astro': 0.57.7_vite@4.3.9 + '@unocss/cli': 0.57.7 + '@unocss/core': 0.57.7 + '@unocss/extractor-arbitrary-variants': 0.57.7 + '@unocss/postcss': 0.57.7 + '@unocss/preset-attributify': 0.57.7 + '@unocss/preset-icons': 0.57.7 + '@unocss/preset-mini': 0.57.7 + '@unocss/preset-tagify': 0.57.7 + '@unocss/preset-typography': 0.57.7 + '@unocss/preset-uno': 0.57.7 + '@unocss/preset-web-fonts': 0.57.7 + '@unocss/preset-wind': 0.57.7 + '@unocss/reset': 0.57.7 + '@unocss/transformer-attributify-jsx': 0.57.7 + '@unocss/transformer-attributify-jsx-babel': 0.57.7 + '@unocss/transformer-compile-class': 0.57.7 + '@unocss/transformer-directives': 0.57.7 + '@unocss/transformer-variant-group': 0.57.7 + '@unocss/vite': 0.57.7_vite@4.3.9 + vite: 4.3.9_uakuilq6iygkg5ll5cv37w4i7m + transitivePeerDependencies: + - rollup + - supports-color + dev: true + + /unplugin-auto-import/0.15.3_@vueuse+core@10.1.2: + resolution: {integrity: sha512-RLT8SqbPn4bT7yBshZId0uPSofKWnwr66RyDaxWaFb/+f7OTDOWAsVNz+hOQLBWSjvbekr2xZY9ccS8TDHJbCQ==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': ^3.2.2 + '@vueuse/core': '*' + peerDependenciesMeta: + '@nuxt/kit': + optional: true + '@vueuse/core': + optional: true + dependencies: + '@antfu/utils': 0.7.2 + '@rollup/pluginutils': 5.0.2 + '@vueuse/core': 10.1.2_vue@3.3.4 + local-pkg: 0.4.3 + magic-string: 0.30.0 + minimatch: 9.0.1 + unimport: 3.0.7 + unplugin: 1.3.1 + transitivePeerDependencies: + - rollup + dev: true + + /unplugin-vue-components/0.25.2_vue@3.3.4: + resolution: {integrity: sha512-OVmLFqILH6w+eM8fyt/d/eoJT9A6WO51NZLf1vC5c1FZ4rmq2bbGxTy8WP2Jm7xwFdukaIdv819+UI7RClPyCA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/parser': ^7.15.8 + '@nuxt/kit': ^3.2.2 + vue: 2 || 3 + peerDependenciesMeta: + '@babel/parser': + optional: true + '@nuxt/kit': + optional: true + dependencies: + '@antfu/utils': 0.7.6 + '@rollup/pluginutils': 5.0.2 + chokidar: 3.5.3 + debug: 4.3.4 + fast-glob: 3.3.2 + local-pkg: 0.4.3 + magic-string: 0.30.5 + minimatch: 9.0.3 + resolve: 1.22.8 + unplugin: 1.5.0 + vue: 3.3.4 + transitivePeerDependencies: + - rollup + - supports-color + dev: true + + /unplugin/1.3.1: + resolution: {integrity: sha512-h4uUTIvFBQRxUKS2Wjys6ivoeofGhxzTe2sRWlooyjHXVttcVfV/JiavNd3d4+jty0SVV0dxGw9AkY9MwiaCEw==} + dependencies: + acorn: 8.11.2 + chokidar: 3.5.3 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.5.0 + dev: true + + /unplugin/1.5.0: + resolution: {integrity: sha512-9ZdRwbh/4gcm1JTOkp9lAkIDrtOyOxgHmY7cjuwI8L/2RTikMcVG25GsZwNAgRuap3iDw2jeq7eoqtAsz5rW3A==} + dependencies: + acorn: 8.11.2 + chokidar: 3.5.3 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.5.0 + dev: true + + /update-browserslist-db/1.0.11_browserslist@4.21.7: + resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.7 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + + /update-browserslist-db/1.0.13_browserslist@4.22.1: + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.22.1 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + + /upper-case/2.0.2: + resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} + dependencies: + tslib: 2.3.1 + dev: false + + /uri-js/4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + dev: true + + /url-parse-lax/1.0.0: + resolution: {integrity: sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==} + engines: {node: '>=0.10.0'} + dependencies: + prepend-http: 1.0.4 + dev: true + + /url-parse-lax/3.0.0: + resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} + engines: {node: '>=4'} + dependencies: + prepend-http: 2.0.0 + dev: true + + /url-to-options/1.0.1: + resolution: {integrity: sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==} + engines: {node: '>= 4'} + dev: true + + /util-deprecate/1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true + + /uuid/3.4.0: + resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: true + + /validate-npm-package-license/3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + dev: true + + /vite-plugin-compression/0.5.1_vite@4.3.9: + resolution: {integrity: sha512-5QJKBDc+gNYVqL/skgFAP81Yuzo9R+EAf19d+EtsMF/i8kFUpNi3J/H01QD3Oo8zBQn+NzoCIFkpPLynoOzaJg==} + peerDependencies: + vite: '>=2.0.0' + dependencies: + chalk: 4.1.2 + debug: 4.3.4 + fs-extra: 10.1.0 + vite: 4.3.9_uakuilq6iygkg5ll5cv37w4i7m + transitivePeerDependencies: + - supports-color + dev: true + + /vite-plugin-imagemin/0.6.1_vite@4.3.9: + resolution: {integrity: sha512-cP7LDn8euPrji7WYtDoNQpJEB9nkMxJHm/A+QZnvMrrCSuyo/clpMy/T1v7suDXPBavsDiDdFdVQB5p7VGD2cg==} + peerDependencies: + vite: '>=2.0.0' + dependencies: + '@types/imagemin': 7.0.1 + '@types/imagemin-gifsicle': 7.0.1 + '@types/imagemin-jpegtran': 5.0.1 + '@types/imagemin-mozjpeg': 8.0.1 + '@types/imagemin-optipng': 5.2.1 + '@types/imagemin-svgo': 10.0.2 + '@types/imagemin-webp': 7.0.0 + '@types/svgo': 2.6.4 + chalk: 4.1.2 + debug: 4.3.4 + esbuild: 0.14.54 + fs-extra: 10.1.0 + gifsicle: 5.2.0 + imagemin: 7.0.1 + imagemin-gifsicle: 7.0.0 + imagemin-jpegtran: 7.0.0 + imagemin-mozjpeg: 9.0.0 + imagemin-optipng: 8.0.0 + imagemin-pngquant: 9.0.2 + imagemin-svgo: 9.0.0 + imagemin-webp: 6.1.0 + jpegtran-bin: 6.0.1 + pathe: 0.2.0 + vite: 4.3.9_uakuilq6iygkg5ll5cv37w4i7m + transitivePeerDependencies: + - supports-color + dev: true + + /vite/4.3.9_uakuilq6iygkg5ll5cv37w4i7m: + resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 17.0.45 + esbuild: 0.17.19 + less: 4.1.3 + postcss: 8.4.24 + rollup: 3.23.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /vue-demi/0.13.11_vue@3.3.4: + resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.3.4 + dev: false + + /vue-demi/0.14.5_vue@3.3.4: + resolution: {integrity: sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.3.4 + + /vue-eslint-parser/9.3.2_eslint@8.53.0: + resolution: {integrity: sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + debug: 4.3.4 + eslint: 8.53.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + lodash: 4.17.21 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: true + + /vue-frag/1.4.3_vue@3.3.4: + resolution: {integrity: sha512-pQZj03f/j9LRhzz9vKaXTCXUHVYHuAXicshFv76VFqwz4MG3bcb+sPZMAbd0wmw7THjkrTPuoM0EG9TbG8CgMQ==} + peerDependencies: + vue: ^2.6.0 + dependencies: + vue: 3.3.4 + dev: false + + /vue-router/4.2.2_vue@3.3.4: + resolution: {integrity: sha512-cChBPPmAflgBGmy3tBsjeoe3f3VOSG6naKyY5pjtrqLGbNEXdzCigFUHgBvp9e3ysAtFtEx7OLqcSDh/1Cq2TQ==} + peerDependencies: + vue: ^3.2.0 + dependencies: + '@vue/devtools-api': 6.5.0 + vue: 3.3.4 + dev: false + + /vue-template-compiler/2.7.14: + resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + dev: true + + /vue-tsc/1.6.5_typescript@4.5.5: + resolution: {integrity: sha512-Wtw3J7CC+JM2OR56huRd5iKlvFWpvDiU+fO1+rqyu4V2nMTotShz4zbOZpW5g9fUOcjnyZYfBo5q5q+D/q27JA==} + hasBin: true + peerDependencies: + typescript: '*' + dependencies: + '@volar/vue-language-core': 1.6.5 + '@volar/vue-typescript': 1.6.5_typescript@4.5.5 + semver: 7.5.1 + typescript: 4.5.5 + dev: true + + /vue-types/3.0.2_vue@3.3.4: + resolution: {integrity: sha512-IwUC0Aq2zwaXqy74h4WCvFCUtoV0iSWr0snWnE9TnU18S66GAQyqQbRf2qfJtUuiFsBf6qp0MEwdonlwznlcrw==} + engines: {node: '>=10.15.0'} + peerDependencies: + vue: ^3.0.0 + dependencies: + is-plain-object: 3.0.1 + vue: 3.3.4 + dev: false + + /vue/3.3.4: + resolution: {integrity: sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==} + dependencies: + '@vue/compiler-dom': 3.3.4 + '@vue/compiler-sfc': 3.3.4 + '@vue/runtime-dom': 3.3.4 + '@vue/server-renderer': 3.3.4_vue@3.3.4 + '@vue/shared': 3.3.4 + + /warning/4.0.3: + resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} + dependencies: + loose-envify: 1.4.0 + dev: false + + /webpack-sources/3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + dev: true + + /webpack-virtual-modules/0.5.0: + resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} + dev: true + + /which-boxed-primitive/1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: true + + /which-builtin-type/1.1.3: + resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} + engines: {node: '>= 0.4'} + dependencies: + function.prototype.name: 1.1.6 + has-tostringtag: 1.0.0 + is-async-function: 2.0.0 + is-date-object: 1.0.5 + is-finalizationregistry: 1.0.2 + is-generator-function: 1.0.10 + is-regex: 1.1.4 + is-weakref: 1.0.2 + isarray: 2.0.5 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.1 + which-typed-array: 1.1.13 + dev: true + + /which-collection/1.0.1: + resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + dependencies: + is-map: 2.0.2 + is-set: 2.0.2 + is-weakmap: 2.0.1 + is-weakset: 2.0.2 + dev: true + + /which-typed-array/1.1.13: + resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + dev: true + + /which/1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /which/2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /wrap-ansi/7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrappy/1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /xml-name-validator/4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + dev: true + + /xtend/4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + dev: true + + /y18n/5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist/2.1.2: + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} + dev: true + + /yallist/3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true + + /yallist/4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yaml-eslint-parser/1.2.2: + resolution: {integrity: sha512-pEwzfsKbTrB8G3xc/sN7aw1v6A6c/pKxLAkjclnAyo5g5qOh6eL9WGu0o3cSDQZKrTNk4KL4lQSwZW+nBkANEg==} + engines: {node: ^14.17.0 || >=16.0.0} + dependencies: + eslint-visitor-keys: 3.4.3 + lodash: 4.17.21 + yaml: 2.3.4 + dev: true + + /yaml/2.3.4: + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + engines: {node: '>= 14'} + dev: true + + /yargs-parser/21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true + + /yargs/17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: true + + /yauzl/2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: true + + /yocto-queue/0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + + /zrender/5.4.4: + resolution: {integrity: sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw==} + dependencies: + tslib: 2.3.0 + dev: false diff --git a/web/public/favicon.ico b/web/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/web/public/favicon.svg b/web/public/favicon.svg new file mode 100644 index 000000000..c0f90bed5 --- /dev/null +++ b/web/public/favicon.svg @@ -0,0 +1,34 @@ + + + Vue Pro Components + Created with Sketch. + + + + + + + + + + + + + + + + + background + + + + Layer 1 + + + + + + + + + \ No newline at end of file diff --git a/web/src/App.vue b/web/src/App.vue new file mode 100644 index 000000000..469d8709d --- /dev/null +++ b/web/src/App.vue @@ -0,0 +1,18 @@ + + + diff --git a/web/src/api/index.ts b/web/src/api/index.ts new file mode 100644 index 000000000..acfd21156 --- /dev/null +++ b/web/src/api/index.ts @@ -0,0 +1,2 @@ +// all api +export * from './user'; diff --git a/web/src/api/user.ts b/web/src/api/user.ts new file mode 100644 index 000000000..466c9085a --- /dev/null +++ b/web/src/api/user.ts @@ -0,0 +1,36 @@ +import axios from 'axios'; +import type { RouteRecordNormalized } from 'vue-router'; +import { UserState } from '@/store/modules/user/types'; + +export interface LoginData { + username: string + password: string +} + +export interface LoginRes { + token: string +} +export function login(data: LoginData) { + return useAxiosApi('/api/user/login', { + method: 'POST', + data, + }); +} + +export function logout() { + return useAxiosApi('/api/user/logout', { + method: 'POST', + }); +} + +export function getUserInfo() { + return useAxiosApi('/api/user/info', { + method: 'POST', + }); +} + +export function getMenuList() { + return useAxiosApi('/api/user/menu', { + method: 'POST', + }); +} diff --git a/web/src/assets/images/cloud_download.svg b/web/src/assets/images/cloud_download.svg new file mode 100644 index 000000000..fe2ef3bcf --- /dev/null +++ b/web/src/assets/images/cloud_download.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/src/assets/images/login-banner.png b/web/src/assets/images/login-banner.png new file mode 100644 index 0000000000000000000000000000000000000000..a3b377603157d64bacfd184e75b889dd5e24071c GIT binary patch literal 63369 zcmc$F_dk{Y8^7dmY#B-7I5rs}L?|;OGkcXycGj_yW0Sqf2vLZv9D5wuE7^NwuVZh% zH}d{`zkk8^hw9OJ-1q%j*Y&)f*YmnwK}rfQ@Nw?rprN7R%ScP8prPHaMngj%0Am8b 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 u7nCgx_BUj+RXNJ|P$d4lvMt8C^+TcQu4F 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 + +export default echarts; diff --git a/web/src/components/base-chart/index.vue b/web/src/components/base-chart/index.vue new file mode 100644 index 000000000..07290c15e --- /dev/null +++ b/web/src/components/base-chart/index.vue @@ -0,0 +1,60 @@ + + + diff --git a/web/src/components/base-table/README.md b/web/src/components/base-table/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/web/src/components/base-table/constants.ts b/web/src/components/base-table/constants.ts new file mode 100644 index 000000000..c830de97d --- /dev/null +++ b/web/src/components/base-table/constants.ts @@ -0,0 +1,7 @@ +import { Input, RangePicker, Select } from 'ant-design-vue'; + +export const componentsMap: Record = { + input: Input, + rangePicker: RangePicker, + select: Select, +}; diff --git a/web/src/components/base-table/index.vue b/web/src/components/base-table/index.vue new file mode 100644 index 000000000..b897abeb8 --- /dev/null +++ b/web/src/components/base-table/index.vue @@ -0,0 +1,242 @@ + + + diff --git a/web/src/components/base-table/types.ts b/web/src/components/base-table/types.ts new file mode 100644 index 000000000..afc43e8a6 --- /dev/null +++ b/web/src/components/base-table/types.ts @@ -0,0 +1,22 @@ +import type { TablePaginationConfig } from 'ant-design-vue'; +import type { FilterValue, SorterResult, TableCurrentDataSource } from 'ant-design-vue/lib/table/interface'; +import type { DefaultRecordType } from 'ant-design-vue/lib/vc-table/interface'; + +export interface ISearchColumn { + name: string + title: string + hide?: boolean + type: string + initialValue?: any + display?: 'visible' | 'hidden' | 'none' + props?: Record + reactions?: [() => void] +} + +export interface IQueryParams { + searchValues: Record + pagination: TablePaginationConfig + filters: Record + sorter: SorterResult | SorterResult[] + source: TableCurrentDataSource +} diff --git a/web/src/components/index.ts b/web/src/components/index.ts new file mode 100644 index 000000000..c9546304e --- /dev/null +++ b/web/src/components/index.ts @@ -0,0 +1,4 @@ +export { default as RightContent } from './right-content/index.vue'; +export { default as TabBar } from './tab-bar/index.vue'; +export { default as BaseTable } from './base-table/index.vue'; +export { default as BaseChart } from './base-chart/index.vue'; diff --git a/web/src/components/right-content/index.vue b/web/src/components/right-content/index.vue new file mode 100644 index 000000000..da0ca6afa --- /dev/null +++ b/web/src/components/right-content/index.vue @@ -0,0 +1,42 @@ + + diff --git a/web/src/components/tab-bar/index.vue b/web/src/components/tab-bar/index.vue new file mode 100644 index 000000000..8d747c18c --- /dev/null +++ b/web/src/components/tab-bar/index.vue @@ -0,0 +1,89 @@ + + + + + diff --git a/web/src/components/tab-bar/tab-item.vue b/web/src/components/tab-bar/tab-item.vue new file mode 100644 index 000000000..4a83330b6 --- /dev/null +++ b/web/src/components/tab-bar/tab-item.vue @@ -0,0 +1,154 @@ + + + diff --git a/web/src/hooks/useLoading.ts b/web/src/hooks/useLoading.ts new file mode 100644 index 000000000..fcb484da8 --- /dev/null +++ b/web/src/hooks/useLoading.ts @@ -0,0 +1,19 @@ +import { ref } from 'vue'; + +export default function useLoading(initValue = false) { + const loading = ref(initValue); + + const setLoading = (value: boolean) => { + loading.value = value; + }; + + const toggle = () => { + loading.value = !loading.value; + }; + + return { + loading, + setLoading, + toggle, + }; +} diff --git a/web/src/hooks/useTheme.ts b/web/src/hooks/useTheme.ts new file mode 100644 index 000000000..d09b9afd4 --- /dev/null +++ b/web/src/hooks/useTheme.ts @@ -0,0 +1,46 @@ +import { onBeforeMount } from 'vue'; +import { ConfigProvider } from 'ant-design-vue'; + +const LOCAL_THEME = 'local_theme'; + +export const colors: string[] = [ + '#f5222d', + '#fa541c', + '#fa8c16', + '#a0d911', + '#13c2c2', + '#1890ff', + '#722ed1', + '#eb2f96', + '#faad14', + '#52c41a', +]; + +export const randomTheme = (): string => { + const i = Math.floor(Math.random() * 10); + return colors[i]; +}; + +export const load = () => { + const color = localStorage.getItem(LOCAL_THEME) || '#1890ff'; + return color; +}; + +export const save = (color: string) => { + localStorage.setItem(LOCAL_THEME, color); +}; + +export const apply = (color: string) => { + ConfigProvider.config({ + theme: { + primaryColor: color, + }, + }); + save(color); +}; + +export const useUserTheme = () => { + onBeforeMount(() => { + apply(load()); + }); +}; diff --git a/web/src/hooks/useUser.ts b/web/src/hooks/useUser.ts new file mode 100644 index 000000000..5b46d545f --- /dev/null +++ b/web/src/hooks/useUser.ts @@ -0,0 +1,21 @@ +import { useUserStore } from '@/store'; + +export default function useUser() { + const router = useRouter(); + const userStore = useUserStore(); + const logout = async (logoutTo?: string) => { + await userStore.logout(); + const currentRoute = router.currentRoute.value; + message.success('登出成功'); + router.push({ + name: logoutTo && typeof logoutTo === 'string' ? logoutTo : 'login', + query: { + ...router.currentRoute.value.query, + redirect: currentRoute.name as string, + }, + }); + }; + return { + logout, + }; +} diff --git a/web/src/layouts/basic-layout.vue b/web/src/layouts/basic-layout.vue new file mode 100644 index 000000000..7c494a9f3 --- /dev/null +++ b/web/src/layouts/basic-layout.vue @@ -0,0 +1,80 @@ + + + diff --git a/web/src/layouts/blank-layout.vue b/web/src/layouts/blank-layout.vue new file mode 100644 index 000000000..98240aef8 --- /dev/null +++ b/web/src/layouts/blank-layout.vue @@ -0,0 +1,3 @@ + diff --git a/web/src/layouts/nested-layout.vue b/web/src/layouts/nested-layout.vue new file mode 100644 index 000000000..aa9792354 --- /dev/null +++ b/web/src/layouts/nested-layout.vue @@ -0,0 +1,129 @@ + + + diff --git a/web/src/main.ts b/web/src/main.ts new file mode 100644 index 000000000..ed9431945 --- /dev/null +++ b/web/src/main.ts @@ -0,0 +1,13 @@ +import './styles/index.less'; +import 'virtual:uno.css'; + +import { createApp } from 'vue'; +import { ConfigProvider } from 'ant-design-vue'; +import ProLayout, { PageContainer } from '@ant-design-vue/pro-layout'; +import router from './router'; +import store from './store'; +import App from './App.vue'; + +import './mock'; + +createApp(App).use(router).use(store).use(ConfigProvider).use(ProLayout).use(PageContainer).mount('#app'); diff --git a/web/src/mock/index.ts b/web/src/mock/index.ts new file mode 100644 index 000000000..d488d819d --- /dev/null +++ b/web/src/mock/index.ts @@ -0,0 +1,5 @@ +import './user'; + +Mock.setup({ + timeout: '600-1000', +}); diff --git a/web/src/mock/user.ts b/web/src/mock/user.ts new file mode 100644 index 000000000..0f037e74c --- /dev/null +++ b/web/src/mock/user.ts @@ -0,0 +1,103 @@ +import setupMock, { + failResponseWrap, + successResponseWrap, +} from '@/utils/setup-mock'; + +import { MockParams } from '@/types/mock'; + +setupMock({ + setup() { + // Mock.XHR.prototype.withCredentials = true; + + // 用户信息 + Mock.mock(new RegExp('.*/api/user/info'), () => { + if (isLogin()) { + const role = window.localStorage.getItem('userRole') || 'admin'; + return successResponseWrap({ + name: '王立群', + avatar: + '//lf1-xgcdn-tos.pstatp.com/obj/vcloud/vadmin/start.8e0e4855ee346a46ccff8ff3e24db27b.png', + email: 'wangliqun@email.com', + job: 'frontend', + jobName: '前端艺术家', + organization: 'Frontend', + organizationName: '前端', + location: 'beijing', + locationName: '北京', + introduction: '人潇洒,性温存', + personalWebsite: 'https://www.arco.design', + phone: '150****0000', + registrationDate: '2013-05-10 12:10:00', + accountId: '15012312300', + certification: 1, + role, + }); + } + return failResponseWrap(null, '未登录', 50008); + }); + + // 登录 + Mock.mock(new RegExp('.*/api/user/login'), (params: MockParams) => { + const { username, password } = JSON.parse(params.body); + if (!username) { + return failResponseWrap(null, '用户名不能为空', 50000); + } + if (!password) { + return failResponseWrap(null, '密码不能为空', 50000); + } + if (username === 'admin' && password === 'admin') { + window.localStorage.setItem('userRole', 'admin'); + return successResponseWrap({ + token: '12345', + }); + } + if (username === 'user' && password === 'user') { + window.localStorage.setItem('userRole', 'user'); + return successResponseWrap({ + token: '54321', + }); + } + return failResponseWrap(null, '账号或者密码错误', 50000); + }); + + // 登出 + Mock.mock(new RegExp('.*/api/user/logout'), () => { + return successResponseWrap(null); + }); + + // 用户的服务端菜单 + Mock.mock(new RegExp('.*/api/user/menu'), () => { + const menuList = [ + { + path: '/dashboard', + name: 'dashboard', + meta: { + locale: 'menu.server.dashboard', + requiresAuth: true, + icon: 'icon-dashboard', + order: 1, + }, + children: [ + { + path: 'workplace', + name: 'Workplace', + meta: { + locale: 'menu.server.workplace', + requiresAuth: true, + }, + }, + { + path: 'https://arco.design', + name: 'arcoWebsite', + meta: { + locale: 'menu.arcoWebsite', + requiresAuth: true, + }, + }, + ], + }, + ]; + return successResponseWrap(menuList); + }); + }, +}); diff --git a/web/src/router/constants.ts b/web/src/router/constants.ts new file mode 100644 index 000000000..1d170c6ca --- /dev/null +++ b/web/src/router/constants.ts @@ -0,0 +1,13 @@ +export const DEFAULT_ROUTE_NAME = 'welcome'; + +export const REDIRECT_ROUTE_NAME = 'Redirect'; + +export const NOT_FOUND_ROUTE_NAME = 'notFound'; + +export const LOGIN_ROUTE_NAME = 'login'; + +export const DEFAULT_ROUTE = { + title: '工作台', + name: DEFAULT_ROUTE_NAME, + fullPath: '/welcome', +}; diff --git a/web/src/router/guard/index.ts b/web/src/router/guard/index.ts new file mode 100644 index 000000000..62175ab99 --- /dev/null +++ b/web/src/router/guard/index.ts @@ -0,0 +1,15 @@ +import setupUserLoginInfoGuard from './userLoginInfo'; +import setupPermissionGuard from './permission'; + +function setupPageGuard(router: Router) { + router.beforeEach(async (to) => { + // emit route change + setRouteEmitter(to); + }); +} + +export default function createRouteGuard(router: Router) { + setupPageGuard(router); + setupUserLoginInfoGuard(router); + setupPermissionGuard(router); +} diff --git a/web/src/router/guard/permission.ts b/web/src/router/guard/permission.ts new file mode 100644 index 000000000..d5614d010 --- /dev/null +++ b/web/src/router/guard/permission.ts @@ -0,0 +1,7 @@ +export default function setupPermissionGuard(router: Router) { + router.beforeEach(async (to, from, next) => { + // TODO: permission logic + next(); + NProgress.done(); + }); +} diff --git a/web/src/router/guard/userLoginInfo.ts b/web/src/router/guard/userLoginInfo.ts new file mode 100644 index 000000000..0d1688294 --- /dev/null +++ b/web/src/router/guard/userLoginInfo.ts @@ -0,0 +1,37 @@ +export default function setupUserLoginInfoGuard(router: Router) { + router.beforeEach(async (to, from, next) => { + NProgress.start(); + const userStore = useUserStore(); + if (isLogin()) { + if (userStore.role) { + next(); + } else { + try { + await userStore.info(); + next(); + } catch (error) { + await userStore.logout(); + next({ + name: 'login', + query: { + redirect: to.name, + ...to.query, + } as LocationQueryRaw, + }); + } + } + } else { + if (to.name === 'login') { + next(); + return; + } + next({ + name: 'login', + query: { + redirect: to.name, + ...to.query, + } as LocationQueryRaw, + }); + } + }); +} diff --git a/web/src/router/index.ts b/web/src/router/index.ts new file mode 100644 index 000000000..462794e2f --- /dev/null +++ b/web/src/router/index.ts @@ -0,0 +1,41 @@ +import { createRouter, createWebHistory } from 'vue-router'; +import { NOT_FOUND_ROUTE, REDIRECT_MAIN } from './routes/base'; +import createRouteGuard from './guard'; +import { appRoutes } from './routes'; +import { DEFAULT_ROUTE_NAME } from './constants'; +import BasicLayout from '@/layouts/basic-layout.vue'; +import 'nprogress/nprogress.css'; + +NProgress.configure({ showSpinner: false }); // NProgress Configuration + +const router = createRouter({ + history: createWebHistory(import.meta.env.BASE_URL), + scrollBehavior() { + return { top: 0 }; + }, + routes: [ + { + path: '/', + name: 'index', + meta: { title: 'Home' }, + component: BasicLayout, + redirect: { + name: DEFAULT_ROUTE_NAME, + }, + children: [ + ...appRoutes, + ], + }, + { + path: '/login', + name: 'login', + component: () => import('@/views/login/index.vue'), + }, + NOT_FOUND_ROUTE, + REDIRECT_MAIN, + ], +}); + +createRouteGuard(router); + +export default router; diff --git a/web/src/router/routes/base.ts b/web/src/router/routes/base.ts new file mode 100644 index 000000000..1a0f7aaff --- /dev/null +++ b/web/src/router/routes/base.ts @@ -0,0 +1,28 @@ +export const DEFAULT_LAYOUT = () => import('@/layouts/basic-layout.vue'); + +export const REDIRECT_MAIN: RouteRecordRaw = { + path: '/redirect', + name: 'redirectWrapper', + component: DEFAULT_LAYOUT, + meta: { + requiresAuth: true, + hideInMenu: true, + }, + children: [ + { + path: '/redirect/:path', + name: 'Redirect', + component: () => import('@/views/redirect/index.vue'), + meta: { + requiresAuth: true, + hideInMenu: true, + }, + }, + ], +}; + +export const NOT_FOUND_ROUTE: RouteRecordRaw = { + path: '/:pathMatch(.*)*', + name: 'notFound', + component: () => import('@/views/not-found/index.vue'), +}; diff --git a/web/src/router/routes/index.ts b/web/src/router/routes/index.ts new file mode 100644 index 000000000..3de0e9cb5 --- /dev/null +++ b/web/src/router/routes/index.ts @@ -0,0 +1,26 @@ +const modules = import.meta.glob('./modules/*.ts', { eager: true }); +const externalModules = import.meta.glob('./externalModules/*.ts', { + eager: true, +}); + +function formatModules(_modules: any, result: RouteRecordNormalized[]) { + Object.keys(_modules).forEach((key) => { + const defaultModule = _modules[key].default; + if (!defaultModule) { + return; + } + + const moduleList = Array.isArray(defaultModule) + ? [...defaultModule] + : [defaultModule]; + result.push(...moduleList); + }); + return result; +} + +export const appRoutes: RouteRecordNormalized[] = formatModules(modules, []); + +export const appExternalRoutes: RouteRecordNormalized[] = formatModules( + externalModules, + [], +); diff --git a/web/src/router/routes/modules/admins.ts b/web/src/router/routes/modules/admins.ts new file mode 100644 index 000000000..bcfe72edd --- /dev/null +++ b/web/src/router/routes/modules/admins.ts @@ -0,0 +1,59 @@ +import BlankLayout from '@/layouts/blank-layout.vue'; + +const admins = [ + { + path: '/welcome', + name: 'welcome', + meta: { title: '我的文件', icon: 'video-camera-out-lined' }, + component: () => import('@/views/admins/result.vue'), + children: [ + { + path: '/result?type=1', + name: 'result', + meta: { title: '视频', icon: 'icon-icon-test' }, + component: () => import('@/views/admins/result.vue'), + }, + { + path: '/result?type=2', + name: 'result', + meta: { title: '图片', icon: 'icon-icon-test' }, + component: () => import('@/views/admins/result.vue'), + }, + { + path: '/result?type=3', + name: 'result', + meta: { title: '音乐', icon: 'icon-icon-test' }, + component: () => import('@/views/admins/result.vue'), + }, + { + path: '/result?type=4', + name: 'result', + meta: { title: '文档', icon: 'icon-icon-test' }, + component: () => import('@/views/admins/result.vue'), + } + ] + }, + // { + // path: '/admins', + // name: 'admins', + // meta: { title: '管理页', icon: 'icon-tuijian', flat: true }, + // component: BlankLayout, + // redirect: () => ({ name: 'page1' }), + // children: [ + // { + // path: 'page-search', + // name: 'page-search', + // meta: { title: '查询表格' }, + // component: () => import('@/views/admins/page-search.vue'), + // }, + // ], + // }, + { + path: '/version', + name: 'version', + meta: { title: 'Version', icon: 'icon-antdesign' }, + component: () => import('@/views/Detail.vue'), + }, +]; + +export default admins; diff --git a/web/src/router/typings.d.ts b/web/src/router/typings.d.ts new file mode 100644 index 000000000..cc9ea190a --- /dev/null +++ b/web/src/router/typings.d.ts @@ -0,0 +1,17 @@ +import 'vue-router'; + +declare module 'vue-router' { + interface RouteMeta { + icon?: string | VNode // 菜单的icon + type?: string // 有 children 的菜单的组件类型 可选值 'group' + title?: string // 自定义菜单的国际化 key,如果没有则返回自身 + authority?: string | string[] // 内建授权信息 + target?: TargetType // 打开目标位置 '_blank' | '_self' | null | undefined + hideChildInMenu?: boolean // 在菜单中隐藏子节点 + hideInMenu?: boolean // 在菜单中隐藏自己和子节点 + disabled?: boolean // disable 菜单选项 + flatMenu?: boolean // 隐藏自己,并且将子节点提升到与自己平级 + ignoreCache?: boolean // 是否忽略 tab cache + noAffix?: boolean // 是否在tab中显示 + } +} diff --git a/web/src/store/index.ts b/web/src/store/index.ts new file mode 100644 index 000000000..1ee0cfa6b --- /dev/null +++ b/web/src/store/index.ts @@ -0,0 +1,8 @@ +import { createPinia } from 'pinia'; +import useUserStore from './modules/user'; +import useTabBarStore from './modules/tab-bar'; + +const pinia = createPinia(); + +export { useUserStore, useTabBarStore }; +export default pinia; diff --git a/web/src/store/modules/tab-bar/index.ts b/web/src/store/modules/tab-bar/index.ts new file mode 100644 index 000000000..76fd62f14 --- /dev/null +++ b/web/src/store/modules/tab-bar/index.ts @@ -0,0 +1,81 @@ +import type { RouteLocationNormalized } from 'vue-router'; +import { defineStore } from 'pinia'; +import { isString } from 'lodash-es'; +import { TabBarState, TagProps } from './types'; +import { + DEFAULT_ROUTE, + DEFAULT_ROUTE_NAME, + LOGIN_ROUTE_NAME, + NOT_FOUND_ROUTE_NAME, + REDIRECT_ROUTE_NAME, +} from '@/router/constants'; + +const formatTag = (route: RouteLocationNormalized): TagProps => { + const { name, meta, fullPath, query, params } = route; + return { + title: meta.title || '', + name: String(name), + fullPath, + query, + params, + ignoreCache: meta.ignoreCache, + }; +}; + +const BAN_LIST = [REDIRECT_ROUTE_NAME, NOT_FOUND_ROUTE_NAME, LOGIN_ROUTE_NAME]; + +const useAppStore = defineStore('tabBar', { + state: (): TabBarState => ({ + cacheTabList: new Set([DEFAULT_ROUTE_NAME]), + tagList: [DEFAULT_ROUTE], + }), + + getters: { + getTabList(): TagProps[] { + return this.tagList; + }, + getCacheList(): string[] { + return Array.from(this.cacheTabList); + }, + }, + + actions: { + updateTabList(route: RouteLocationNormalized) { + if (BAN_LIST.includes(route.name as string)) { + return; + } + this.tagList.push(formatTag(route)); + if (!route.meta.ignoreCache) { + this.cacheTabList.add(route.name as string); + } + }, + deleteTag(idx: number, tag: TagProps) { + this.tagList.splice(idx, 1); + this.cacheTabList.delete(tag.name); + }, + addCache(name: string) { + if (isString(name) && name !== '') { + this.cacheTabList.add(name); + } + }, + deleteCache(tag: TagProps) { + this.cacheTabList.delete(tag.name); + }, + freshTabList(tags: TagProps[]) { + this.tagList = tags; + this.cacheTabList.clear(); + // 要先判断ignoreCache + this.tagList + .filter(el => !el.ignoreCache) + .map(el => el.name) + .forEach(x => this.cacheTabList.add(x)); + }, + resetTabList() { + this.tagList = [DEFAULT_ROUTE]; + this.cacheTabList.clear(); + this.cacheTabList.add(DEFAULT_ROUTE_NAME); + }, + }, +}); + +export default useAppStore; diff --git a/web/src/store/modules/tab-bar/types.ts b/web/src/store/modules/tab-bar/types.ts new file mode 100644 index 000000000..b32c773a3 --- /dev/null +++ b/web/src/store/modules/tab-bar/types.ts @@ -0,0 +1,13 @@ +export interface TagProps { + title: string + name: string + fullPath: string + query?: any + params?: any + ignoreCache?: boolean +} + +export interface TabBarState { + tagList: TagProps[] + cacheTabList: Set +} diff --git a/web/src/store/modules/user/index.ts b/web/src/store/modules/user/index.ts new file mode 100644 index 000000000..77c013651 --- /dev/null +++ b/web/src/store/modules/user/index.ts @@ -0,0 +1,88 @@ +import { defineStore } from 'pinia'; +import { UserState } from './types'; +import { + LoginData, + getUserInfo, + login as userLogin, + logout as userLogout, +} from '@/api/user'; +import { clearToken, setToken } from '@/utils/auth'; +import { removeRouteListener } from '@/utils/route-listener'; + +const useUserStore = defineStore('user', { + state: (): UserState => ({ + name: undefined, + avatar: undefined, + job: undefined, + organization: undefined, + location: undefined, + email: undefined, + introduction: undefined, + personalWebsite: undefined, + jobName: undefined, + organizationName: undefined, + locationName: undefined, + phone: undefined, + registrationDate: undefined, + accountId: undefined, + certification: undefined, + role: '', + }), + + getters: { + userInfo(state: UserState): UserState { + return { ...state }; + }, + }, + + actions: { + switchRoles() { + return new Promise((resolve) => { + this.role = this.role === 'user' ? 'admin' : 'user'; + resolve(this.role); + }); + }, + // Set user's information + setInfo(partial: Partial) { + this.$patch(partial); + }, + + // Reset user's information + resetInfo() { + this.$reset(); + }, + + // Get user's information + async info() { + const res = await getUserInfo(); + + this.setInfo(unref(res.data)!); + }, + + // Login + async login(loginForm: LoginData) { + try { + const res = await userLogin(loginForm); + setToken(unref(res.data)!.token); + } catch (err) { + clearToken(); + throw err; + } + }, + logoutCallBack() { + this.resetInfo(); + clearToken(); + removeRouteListener(); + }, + // Logout + async logout() { + try { + await userLogout(); + } finally { + this.logoutCallBack(); + } + }, + }, +}); + +export default useUserStore; diff --git a/web/src/store/modules/user/types.ts b/web/src/store/modules/user/types.ts new file mode 100644 index 000000000..4f94c7259 --- /dev/null +++ b/web/src/store/modules/user/types.ts @@ -0,0 +1,19 @@ +export type RoleType = '' | '*' | 'admin' | 'user'; +export interface UserState { + name?: string + avatar?: string + job?: string + organization?: string + location?: string + email?: string + introduction?: string + personalWebsite?: string + jobName?: string + organizationName?: string + locationName?: string + phone?: string + registrationDate?: string + accountId?: string + certification?: number + role: RoleType +} diff --git a/web/src/styles/antd.less b/web/src/styles/antd.less new file mode 100644 index 000000000..0c7e8a9b5 --- /dev/null +++ b/web/src/styles/antd.less @@ -0,0 +1,14 @@ +@import '@ant-design-vue/pro-layout/dist/style.css'; + +.ant-pro-sider-logo { + & > a { + width: 100%; + } + + & h1 { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + flex: 1; + } +} \ No newline at end of file diff --git a/web/src/styles/index.less b/web/src/styles/index.less new file mode 100644 index 000000000..06199e3f6 --- /dev/null +++ b/web/src/styles/index.less @@ -0,0 +1,32 @@ +@import './antd.less'; +@import './scroll-bar.less'; + +#app { + height: 100%; +} + +.ant-pro-sider { + z-index: 20; +} + +.slide-left-enter-active, +.slide-left-leave-active, +.slide-right-enter-active, +.slide-right-leave-active { + transition-duration: 0.5s; + transition-property: height, opacity, transform; + transition-timing-function: cubic-bezier(0.55, 0, 0.1, 1); + overflow: hidden; +} + +.slide-left-enter, +.slide-right-leave-active { + opacity: 0; + transform: translate(2em, 0); +} + +.slide-left-leave-active, +.slide-right-enter { + opacity: 0; + transform: translate(-2em, 0); +} \ No newline at end of file diff --git a/web/src/styles/scroll-bar.less b/web/src/styles/scroll-bar.less new file mode 100644 index 000000000..c1566d207 --- /dev/null +++ b/web/src/styles/scroll-bar.less @@ -0,0 +1,13 @@ +::-webkit-scrollbar { + width: 6px; /* 滚动条宽度 */ + height: 150px; +} + +::-webkit-scrollbar-track { + background-color: #f1f1f1; /* 滚动条背景色 */ +} + +::-webkit-scrollbar-thumb { + background-color: #888; /* 滚动条滑块颜色 */ + border-radius: 5px; /* 滑块圆角 */ +} diff --git a/web/src/types/mock.ts b/web/src/types/mock.ts new file mode 100644 index 000000000..fbd0a0423 --- /dev/null +++ b/web/src/types/mock.ts @@ -0,0 +1,5 @@ +export interface MockParams { + url: string + type: string + body: string +} diff --git a/web/src/utils/auth.ts b/web/src/utils/auth.ts new file mode 100644 index 000000000..85ef3fbce --- /dev/null +++ b/web/src/utils/auth.ts @@ -0,0 +1,19 @@ +const TOKEN_KEY = '__SIMPLE_ADMIN_TOKEN__'; + +const isLogin = () => { + return !!localStorage.getItem(TOKEN_KEY); +}; + +const getToken = () => { + return localStorage.getItem(TOKEN_KEY); +}; + +const setToken = (token: string) => { + localStorage.setItem(TOKEN_KEY, token); +}; + +const clearToken = () => { + localStorage.removeItem(TOKEN_KEY); +}; + +export { isLogin, getToken, setToken, clearToken }; diff --git a/web/src/utils/env.ts b/web/src/utils/env.ts new file mode 100644 index 000000000..4147b3538 --- /dev/null +++ b/web/src/utils/env.ts @@ -0,0 +1,3 @@ +const debug = import.meta.env.MODE !== 'production'; + +export default debug; diff --git a/web/src/utils/route-listener.ts b/web/src/utils/route-listener.ts new file mode 100644 index 000000000..9706d2c9b --- /dev/null +++ b/web/src/utils/route-listener.ts @@ -0,0 +1,24 @@ +const emitter = mitt(); + +const key = Symbol('ROUTE_CHANGE'); + +let latestRoute: RouteLocationNormalized; + +export function setRouteEmitter(to: RouteLocationNormalized) { + emitter.emit(key, to); + latestRoute = to; +} + +export function listenerRouteChange( + handler: (route: RouteLocationNormalized) => void, + immediate = true, +) { + emitter.on(key, handler as Handler); + if (immediate && latestRoute) { + handler(latestRoute); + } +} + +export function removeRouteListener() { + emitter.off(key); +} diff --git a/web/src/utils/setup-mock.ts b/web/src/utils/setup-mock.ts new file mode 100644 index 000000000..83fabcd32 --- /dev/null +++ b/web/src/utils/setup-mock.ts @@ -0,0 +1,25 @@ +import debug from './env'; + +export default ({ mock, setup }: { mock?: boolean; setup(): void }) => { + if ((mock !== false && debug) || import.meta.env.VITE_FORCE_MOCK) { + setup(); + } +}; + +export const successResponseWrap = (data: unknown) => { + return { + data, + status: 'ok', + msg: '请求成功', + code: 200, + }; +}; + +export const failResponseWrap = (data: unknown, msg: string, code = 500) => { + return { + data, + status: 'fail', + msg, + code, + }; +}; diff --git a/web/src/utils/useAxiosApi.ts b/web/src/utils/useAxiosApi.ts new file mode 100644 index 000000000..b2d7a46ad --- /dev/null +++ b/web/src/utils/useAxiosApi.ts @@ -0,0 +1,52 @@ +import { useAxios } from '@vueuse/integrations/useAxios'; +import axios from 'axios'; +import { message } from 'ant-design-vue'; + +// create an axios instance +const instance = axios.create({ + withCredentials: false, + timeout: 5000, +}); + +// request interceptor +instance.interceptors.request.use( + (config) => { + // do something before request is sent + return config; + }, + (error) => { + // do something with request error + console.log(error); // for debug + return Promise.reject(error); + }, +); + +// response interceptor +instance.interceptors.response.use( + (response) => { + const res = response.data; + if (res.code !== 200) { + message.error(res.msg); + if (res.code === 412) { + // store.dispatch('user/userLogout'); + } + return Promise.reject(res.msg || 'Error'); + } else { + return res; + } + }, + (error) => { + console.log(`err${error}`); + message.error(error.message); + return Promise.reject(error.message); + }, +); + +/** + * reactive useFetchApi + */ + +export default function useAxiosApi(url: string, config?: RawAxiosRequestConfig) { + const fnConfig = config || {}; + return useAxios(url, fnConfig, instance); +} diff --git a/web/src/views/Detail.vue b/web/src/views/Detail.vue new file mode 100644 index 000000000..2ca21ab3f --- /dev/null +++ b/web/src/views/Detail.vue @@ -0,0 +1,32 @@ + + + diff --git a/web/src/views/Page1.vue b/web/src/views/Page1.vue new file mode 100644 index 000000000..d61b5fdbf --- /dev/null +++ b/web/src/views/Page1.vue @@ -0,0 +1,29 @@ + + + diff --git a/web/src/views/Page2.vue b/web/src/views/Page2.vue new file mode 100644 index 000000000..88331fa3c --- /dev/null +++ b/web/src/views/Page2.vue @@ -0,0 +1,58 @@ + + + + + diff --git a/web/src/views/admins/result.vue b/web/src/views/admins/result.vue new file mode 100644 index 000000000..85d30e34e --- /dev/null +++ b/web/src/views/admins/result.vue @@ -0,0 +1,40 @@ + + + + + \ No newline at end of file diff --git a/web/src/views/login/components/banner.vue b/web/src/views/login/components/banner.vue new file mode 100644 index 000000000..89be576f2 --- /dev/null +++ b/web/src/views/login/components/banner.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/web/src/views/login/components/login-form.vue b/web/src/views/login/components/login-form.vue new file mode 100644 index 000000000..4be4118ff --- /dev/null +++ b/web/src/views/login/components/login-form.vue @@ -0,0 +1,135 @@ + + + + + diff --git a/web/src/views/login/index.vue b/web/src/views/login/index.vue new file mode 100644 index 000000000..bd7214056 --- /dev/null +++ b/web/src/views/login/index.vue @@ -0,0 +1,81 @@ + + + + + + + diff --git a/web/src/views/not-found/index.vue b/web/src/views/not-found/index.vue new file mode 100644 index 000000000..bdfd66950 --- /dev/null +++ b/web/src/views/not-found/index.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/web/src/views/redirect/index.vue b/web/src/views/redirect/index.vue new file mode 100644 index 000000000..0f78e018e --- /dev/null +++ b/web/src/views/redirect/index.vue @@ -0,0 +1,16 @@ + + + + + diff --git a/web/tsconfig.json b/web/tsconfig.json new file mode 100644 index 000000000..1ff526a9a --- /dev/null +++ b/web/tsconfig.json @@ -0,0 +1,20 @@ +{ + "compilerOptions": { + "target": "ESNext", + "jsx": "preserve", + "lib": ["ESNext", "DOM"], + "useDefineForClassFields": true, + "baseUrl": ".", + "module": "ESNext", + "moduleResolution": "Node", + "paths": { + "@/*": ["./src/*"] + }, + "resolveJsonModule": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "isolatedModules": true, + "skipLibCheck": true + } +} diff --git a/web/uno.config.ts b/web/uno.config.ts new file mode 100644 index 000000000..8dee2023b --- /dev/null +++ b/web/uno.config.ts @@ -0,0 +1,19 @@ +import { defineConfig, presetAttributify, presetIcons, presetUno } from 'unocss'; + +const presetIconsConfig = { + extraProperties: { + display: 'inline-block', + }, +}; +export default defineConfig({ + content: { + pipeline: { + exclude: ['node_modules', '.git', '.github', '.husky', '.vscode', 'build', 'config', 'dist', 'public'], + }, + }, + presets: [ + presetUno({ important: true }), + presetAttributify(), + presetIcons(presetIconsConfig), + ], +});