Commit 9e2e220b69d36e89993cfa17daae3f73ff1cdf2b

Authored by xingyu
1 parent ba96eef5

refactor: vue3 axios api ...

Showing 121 changed files with 1027 additions and 9705 deletions

Too many changes.

To preserve performance only 100 of 121 files are displayed.

yudao-ui-admin-vue3/.gitignore
... ... @@ -4,5 +4,5 @@ dist
4 4 dist-ssr
5 5 *.local
6 6 /dist*
  7 +*-lock.*
7 8 pnpm-debug
8   -/frank*
... ...
yudao-ui-admin-vue3/.versionrc deleted
1   -{
2   - "types": [
3   - {"type": "chore", "section":"Others", "hidden": false},
4   - {"type": "revert", "section":"Reverts", "hidden": false},
5   - {"type": "feat", "section": "Features", "hidden": false},
6   - {"type": "fix", "section": "Bug Fixes", "hidden": false},
7   - {"type": "improvement", "section": "Feature Improvements", "hidden": false},
8   - {"type": "docs", "section":"Docs", "hidden": false},
9   - {"type": "style", "section":"Styling", "hidden": false},
10   - {"type": "refactor", "section":"Code Refactoring", "hidden": false},
11   - {"type": "perf", "section":"Performance Improvements", "hidden": false},
12   - {"type": "test", "section":"Tests", "hidden": false},
13   - {"type": "build", "section":"Build System", "hidden": false},
14   - {"type": "ci", "section":"CI", "hidden":false}
15   - ]
16   -}
17 0 \ No newline at end of file
yudao-ui-admin-vue3/LICENSE 0 → 100644
  1 +MIT License
  2 +
  3 +Copyright (c) 2021-present Archer
  4 +
  5 +Permission is hereby granted, free of charge, to any person obtaining a copy
  6 +of this software and associated documentation files (the "Software"), to deal
  7 +in the Software without restriction, including without limitation the rights
  8 +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  9 +copies of the Software, and to permit persons to whom the Software is
  10 +furnished to do so, subject to the following conditions:
  11 +
  12 +The above copyright notice and this permission notice shall be included in all
  13 +copies or substantial portions of the Software.
  14 +
  15 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  16 +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  17 +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  18 +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  19 +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  20 +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  21 +SOFTWARE.
... ...
yudao-ui-admin-vue3/package.json
... ... @@ -10,7 +10,7 @@
10 10 "ts:check": "vue-tsc --noEmit",
11 11 "build:pro": "vite build --mode pro",
12 12 "build:dev": "vite build --mode dev",
13   - "build:test": "npm run ts:check && vite build --mode test",
  13 + "build:test": "pnpm run ts:check && vite build --mode test",
14 14 "serve:pro": "vite preview --mode pro",
15 15 "serve:dev": "vite preview --mode dev",
16 16 "serve:test": "vite preview --mode test",
... ... @@ -37,6 +37,7 @@
37 37 "echarts-wordcloud": "^2.0.0",
38 38 "element-plus": "2.2.9",
39 39 "intro.js": "^6.0.0",
  40 + "jsencrypt": "^3.2.1",
40 41 "lodash-es": "^4.17.21",
41 42 "mitt": "^3.0.0",
42 43 "nprogress": "^0.2.0",
... ... @@ -44,6 +45,7 @@
44 45 "pinia-plugin-persist": "^1.0.0",
45 46 "qrcode": "^1.5.1",
46 47 "qs": "^6.11.0",
  48 + "url": "^0.11.0",
47 49 "vue": "3.2.37",
48 50 "vue-cropper": "^1.0.3",
49 51 "vue-i18n": "9.1.10",
... ... @@ -80,7 +82,6 @@
80 82 "postcss-html": "^1.5.0",
81 83 "postcss-less": "^6.0.0",
82 84 "prettier": "^2.7.1",
83   - "pretty-quick": "^3.1.3",
84 85 "rimraf": "^3.0.2",
85 86 "rollup": "^2.77.0",
86 87 "stylelint": "^14.9.1",
... ...
yudao-ui-admin-vue3/pnpm-lock.yaml deleted
Changes suppressed. Click to show
1   -lockfileVersion: 5.4
2   -
3   -specifiers:
4   - '@commitlint/cli': ^17.0.3
5   - '@commitlint/config-conventional': ^17.0.3
6   - '@iconify/iconify': ^2.2.1
7   - '@iconify/json': ^2.1.79
8   - '@intlify/vite-plugin-vue-i18n': ^5.0.0
9   - '@purge-icons/generated': ^0.8.1
10   - '@types/intro.js': ^5.1.0
11   - '@types/lodash-es': ^4.17.6
12   - '@types/node': ^18.0.6
13   - '@types/nprogress': ^0.2.0
14   - '@types/qrcode': ^1.4.2
15   - '@types/qs': ^6.9.7
16   - '@typescript-eslint/eslint-plugin': ^5.30.6
17   - '@typescript-eslint/parser': ^5.30.6
18   - '@vitejs/plugin-vue': ^3.0.1
19   - '@vitejs/plugin-vue-jsx': ^2.0.0
20   - '@vueuse/core': ^8.9.4
21   - '@wangeditor/editor': ^5.1.11
22   - '@wangeditor/editor-for-vue': ^5.1.10
23   - '@zxcvbn-ts/core': ^2.0.3
24   - animate.css: ^4.1.1
25   - autoprefixer: ^10.4.7
26   - axios: ^0.27.2
27   - dayjs: ^1.11.3
28   - echarts: ^5.3.3
29   - echarts-wordcloud: ^2.0.0
30   - element-plus: 2.2.9
31   - eslint: ^8.20.0
32   - eslint-config-prettier: ^8.5.0
33   - eslint-define-config: ^1.5.1
34   - eslint-plugin-prettier: ^4.2.1
35   - eslint-plugin-vue: ^9.2.0
36   - intro.js: ^6.0.0
37   - less: ^4.1.3
38   - lint-staged: ^13.0.3
39   - lodash-es: ^4.17.21
40   - mitt: ^3.0.0
41   - nprogress: ^0.2.0
42   - pinia: ^2.0.16
43   - pinia-plugin-persist: ^1.0.0
44   - plop: ^3.1.1
45   - postcss: ^8.4.14
46   - postcss-html: ^1.5.0
47   - postcss-less: ^6.0.0
48   - prettier: ^2.7.1
49   - pretty-quick: ^3.1.3
50   - qrcode: ^1.5.1
51   - qs: ^6.11.0
52   - rimraf: ^3.0.2
53   - rollup: ^2.77.0
54   - stylelint: ^14.9.1
55   - stylelint-config-html: ^1.1.0
56   - stylelint-config-prettier: ^9.0.3
57   - stylelint-config-recommended: ^8.0.0
58   - stylelint-config-standard: ^26.0.0
59   - stylelint-order: ^5.0.0
60   - typescript: 4.7.4
61   - unplugin-vue-define-options: ^0.6.2
62   - vite: 3.0.1
63   - vite-plugin-eslint: ^1.6.1
64   - vite-plugin-html: ^3.2.0
65   - vite-plugin-purge-icons: ^0.8.1
66   - vite-plugin-style-import: ^1.4.1
67   - vite-plugin-svg-icons: ^2.0.1
68   - vite-plugin-windicss: ^1.8.7
69   - vue: 3.2.37
70   - vue-cropper: ^1.0.3
71   - vue-i18n: 9.1.10
72   - vue-router: ^4.1.2
73   - vue-tsc: ^0.38.8
74   - vue-types: ^4.1.1
75   - web-storage-cache: ^1.1.1
76   - windicss: ^3.5.6
77   - windicss-analysis: ^0.3.5
78   -
79   -dependencies:
80   - '@iconify/iconify': 2.2.1
81   - '@vueuse/core': 8.9.4_vue@3.2.37
82   - '@wangeditor/editor': 5.1.11
83   - '@wangeditor/editor-for-vue': 5.1.10_wyweaejqxhtklhndhf2ynbwhvm
84   - '@zxcvbn-ts/core': 2.0.3
85   - animate.css: 4.1.1
86   - axios: 0.27.2
87   - dayjs: 1.11.3
88   - echarts: 5.3.3
89   - echarts-wordcloud: 2.0.0_echarts@5.3.3
90   - element-plus: 2.2.9_vue@3.2.37
91   - intro.js: 6.0.0
92   - lodash-es: registry.nlark.com/lodash-es/4.17.21
93   - mitt: 3.0.0
94   - nprogress: 0.2.0
95   - pinia: 2.0.16_j6bzmzd4ujpabbp5objtwxyjp4
96   - pinia-plugin-persist: 1.0.0_pinia@2.0.16+vue@3.2.37
97   - qrcode: 1.5.1
98   - qs: 6.11.0
99   - vue: 3.2.37
100   - vue-cropper: 1.0.3
101   - vue-i18n: 9.1.10_vue@3.2.37
102   - vue-router: 4.1.2_vue@3.2.37
103   - vue-types: 4.1.1_vue@3.2.37
104   - web-storage-cache: 1.1.1
105   -
106   -devDependencies:
107   - '@commitlint/cli': 17.0.3
108   - '@commitlint/config-conventional': 17.0.3
109   - '@iconify/json': 2.1.79
110   - '@intlify/vite-plugin-vue-i18n': 5.0.0_vite@3.0.1+vue-i18n@9.1.10
111   - '@purge-icons/generated': 0.8.1
112   - '@types/intro.js': 5.1.0
113   - '@types/lodash-es': 4.17.6
114   - '@types/node': 18.0.6
115   - '@types/nprogress': 0.2.0
116   - '@types/qrcode': 1.4.2
117   - '@types/qs': 6.9.7
118   - '@typescript-eslint/eslint-plugin': 5.30.6_b7n364ggt6o4xlkgyoaww3ph3q
119   - '@typescript-eslint/parser': 5.30.6_he2ccbldppg44uulnyq4rwocfa
120   - '@vitejs/plugin-vue': 3.0.1_vite@3.0.1+vue@3.2.37
121   - '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.1+vue@3.2.37
122   - autoprefixer: 10.4.7_postcss@8.4.14
123   - eslint: 8.20.0
124   - eslint-config-prettier: 8.5.0_eslint@8.20.0
125   - eslint-define-config: 1.5.1
126   - eslint-plugin-prettier: 4.2.1_g4fztgbwjyq2fvmcscny2sj6fy
127   - eslint-plugin-vue: 9.2.0_eslint@8.20.0
128   - less: 4.1.3
129   - lint-staged: 13.0.3
130   - plop: 3.1.1
131   - postcss: 8.4.14
132   - postcss-html: 1.5.0
133   - postcss-less: 6.0.0_postcss@8.4.14
134   - prettier: 2.7.1
135   - pretty-quick: 3.1.3_prettier@2.7.1
136   - rimraf: 3.0.2
137   - rollup: 2.77.0
138   - stylelint: 14.9.1
139   - stylelint-config-html: 1.1.0_5rxrxgs7sjazj2ve56ds3kmipi
140   - stylelint-config-prettier: 9.0.3_stylelint@14.9.1
141   - stylelint-config-recommended: 8.0.0_stylelint@14.9.1
142   - stylelint-config-standard: 26.0.0_stylelint@14.9.1
143   - stylelint-order: 5.0.0_stylelint@14.9.1
144   - typescript: 4.7.4
145   - unplugin-vue-define-options: 0.6.2_r5lvqzud3cqtmwu636rwgh22ui
146   - vite: 3.0.1_less@4.1.3
147   - vite-plugin-eslint: 1.6.1_eslint@8.20.0+vite@3.0.1
148   - vite-plugin-html: 3.2.0_vite@3.0.1
149   - vite-plugin-purge-icons: 0.8.1_vite@3.0.1
150   - vite-plugin-style-import: 1.4.1_vite@3.0.1
151   - vite-plugin-svg-icons: 2.0.1_vite@3.0.1
152   - vite-plugin-windicss: 1.8.7_vite@3.0.1
153   - vue-tsc: 0.38.8_typescript@4.7.4
154   - windicss: 3.5.6
155   - windicss-analysis: 0.3.5
156   -
157   -packages:
158   -
159   - /@ampproject/remapping/2.1.1:
160   - resolution: {integrity: sha512-Aolwjd7HSC2PyY0fDj/wA/EimQT4HfEnFYNp5s9CQlrdhyvWTtvZ5YzrUPu6R6/1jKiUlxu8bUhkdSnKHNAHMA==}
161   - engines: {node: '>=6.0.0'}
162   - dependencies:
163   - '@jridgewell/trace-mapping': 0.3.4
164   - dev: true
165   -
166   - /@antfu/utils/0.5.2:
167   - resolution: {integrity: sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==}
168   - dev: true
169   -
170   - /@babel/code-frame/7.16.7:
171   - resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==}
172   - engines: {node: '>=6.9.0'}
173   - dependencies:
174   - '@babel/highlight': 7.16.10
175   - dev: true
176   -
177   - /@babel/code-frame/7.18.6:
178   - resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==}
179   - engines: {node: '>=6.9.0'}
180   - dependencies:
181   - '@babel/highlight': 7.18.6
182   - dev: true
183   -
184   - /@babel/compat-data/7.18.8:
185   - resolution: {integrity: sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==}
186   - engines: {node: '>=6.9.0'}
187   - dev: true
188   -
189   - /@babel/core/7.18.9:
190   - resolution: {integrity: sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g==}
191   - engines: {node: '>=6.9.0'}
192   - dependencies:
193   - '@ampproject/remapping': 2.1.1
194   - '@babel/code-frame': 7.18.6
195   - '@babel/generator': 7.18.9
196   - '@babel/helper-compilation-targets': 7.18.9_@babel+core@7.18.9
197   - '@babel/helper-module-transforms': 7.18.9
198   - '@babel/helpers': 7.18.9
199   - '@babel/parser': 7.18.9
200   - '@babel/template': 7.18.6
201   - '@babel/traverse': 7.18.9
202   - '@babel/types': 7.18.9
203   - convert-source-map: 1.8.0
204   - debug: 4.3.4
205   - gensync: 1.0.0-beta.2
206   - json5: 2.2.1
207   - semver: 6.3.0
208   - transitivePeerDependencies:
209   - - supports-color
210   - dev: true
211   -
212   - /@babel/generator/7.18.9:
213   - resolution: {integrity: sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug==}
214   - engines: {node: '>=6.9.0'}
215   - dependencies:
216   - '@babel/types': 7.18.9
217   - '@jridgewell/gen-mapping': 0.3.2
218   - jsesc: 2.5.2
219   - dev: true
220   -
221   - /@babel/helper-annotate-as-pure/7.18.6:
222   - resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==}
223   - engines: {node: '>=6.9.0'}
224   - dependencies:
225   - '@babel/types': 7.18.9
226   - dev: true
227   -
228   - /@babel/helper-compilation-targets/7.18.9_@babel+core@7.18.9:
229   - resolution: {integrity: sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==}
230   - engines: {node: '>=6.9.0'}
231   - peerDependencies:
232   - '@babel/core': ^7.0.0
233   - dependencies:
234   - '@babel/compat-data': 7.18.8
235   - '@babel/core': 7.18.9
236   - '@babel/helper-validator-option': 7.18.6
237   - browserslist: 4.20.3
238   - semver: 6.3.0
239   - dev: true
240   -
241   - /@babel/helper-create-class-features-plugin/7.18.9_@babel+core@7.18.9:
242   - resolution: {integrity: sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==}
243   - engines: {node: '>=6.9.0'}
244   - peerDependencies:
245   - '@babel/core': ^7.0.0
246   - dependencies:
247   - '@babel/core': 7.18.9
248   - '@babel/helper-annotate-as-pure': 7.18.6
249   - '@babel/helper-environment-visitor': 7.18.9
250   - '@babel/helper-function-name': 7.18.9
251   - '@babel/helper-member-expression-to-functions': 7.18.9
252   - '@babel/helper-optimise-call-expression': 7.18.6
253   - '@babel/helper-replace-supers': 7.18.9
254   - '@babel/helper-split-export-declaration': 7.18.6
255   - transitivePeerDependencies:
256   - - supports-color
257   - dev: true
258   -
259   - /@babel/helper-environment-visitor/7.16.7:
260   - resolution: {integrity: sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==}
261   - engines: {node: '>=6.9.0'}
262   - dependencies:
263   - '@babel/types': 7.18.9
264   - dev: true
265   -
266   - /@babel/helper-environment-visitor/7.18.9:
267   - resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==}
268   - engines: {node: '>=6.9.0'}
269   - dev: true
270   -
271   - /@babel/helper-function-name/7.17.9:
272   - resolution: {integrity: sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==}
273   - engines: {node: '>=6.9.0'}
274   - dependencies:
275   - '@babel/template': 7.18.6
276   - '@babel/types': 7.18.9
277   - dev: true
278   -
279   - /@babel/helper-function-name/7.18.9:
280   - resolution: {integrity: sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==}
281   - engines: {node: '>=6.9.0'}
282   - dependencies:
283   - '@babel/template': 7.18.6
284   - '@babel/types': 7.18.9
285   - dev: true
286   -
287   - /@babel/helper-hoist-variables/7.16.7:
288   - resolution: {integrity: sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==}
289   - engines: {node: '>=6.9.0'}
290   - dependencies:
291   - '@babel/types': 7.18.9
292   - dev: true
293   -
294   - /@babel/helper-hoist-variables/7.18.6:
295   - resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==}
296   - engines: {node: '>=6.9.0'}
297   - dependencies:
298   - '@babel/types': 7.18.9
299   - dev: true
300   -
301   - /@babel/helper-member-expression-to-functions/7.18.9:
302   - resolution: {integrity: sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==}
303   - engines: {node: '>=6.9.0'}
304   - dependencies:
305   - '@babel/types': 7.18.9
306   - dev: true
307   -
308   - /@babel/helper-module-imports/7.16.7:
309   - resolution: {integrity: sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==}
310   - engines: {node: '>=6.9.0'}
311   - dependencies:
312   - '@babel/types': 7.18.9
313   - dev: true
314   -
315   - /@babel/helper-module-imports/7.18.6:
316   - resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==}
317   - engines: {node: '>=6.9.0'}
318   - dependencies:
319   - '@babel/types': 7.18.9
320   - dev: true
321   -
322   - /@babel/helper-module-transforms/7.18.9:
323   - resolution: {integrity: sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==}
324   - engines: {node: '>=6.9.0'}
325   - dependencies:
326   - '@babel/helper-environment-visitor': 7.18.9
327   - '@babel/helper-module-imports': 7.18.6
328   - '@babel/helper-simple-access': 7.18.6
329   - '@babel/helper-split-export-declaration': 7.18.6
330   - '@babel/helper-validator-identifier': 7.18.6
331   - '@babel/template': 7.18.6
332   - '@babel/traverse': 7.18.9
333   - '@babel/types': 7.18.9
334   - transitivePeerDependencies:
335   - - supports-color
336   - dev: true
337   -
338   - /@babel/helper-optimise-call-expression/7.18.6:
339   - resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==}
340   - engines: {node: '>=6.9.0'}
341   - dependencies:
342   - '@babel/types': 7.18.9
343   - dev: true
344   -
345   - /@babel/helper-plugin-utils/7.16.7:
346   - resolution: {integrity: sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==}
347   - engines: {node: '>=6.9.0'}
348   - dev: true
349   -
350   - /@babel/helper-plugin-utils/7.18.9:
351   - resolution: {integrity: sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==}
352   - engines: {node: '>=6.9.0'}
353   - dev: true
354   -
355   - /@babel/helper-replace-supers/7.18.9:
356   - resolution: {integrity: sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==}
357   - engines: {node: '>=6.9.0'}
358   - dependencies:
359   - '@babel/helper-environment-visitor': 7.18.9
360   - '@babel/helper-member-expression-to-functions': 7.18.9
361   - '@babel/helper-optimise-call-expression': 7.18.6
362   - '@babel/traverse': 7.18.9
363   - '@babel/types': 7.18.9
364   - transitivePeerDependencies:
365   - - supports-color
366   - dev: true
367   -
368   - /@babel/helper-simple-access/7.18.6:
369   - resolution: {integrity: sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==}
370   - engines: {node: '>=6.9.0'}
371   - dependencies:
372   - '@babel/types': 7.18.9
373   - dev: true
374   -
375   - /@babel/helper-split-export-declaration/7.16.7:
376   - resolution: {integrity: sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==}
377   - engines: {node: '>=6.9.0'}
378   - dependencies:
379   - '@babel/types': 7.18.9
380   - dev: true
381   -
382   - /@babel/helper-split-export-declaration/7.18.6:
383   - resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==}
384   - engines: {node: '>=6.9.0'}
385   - dependencies:
386   - '@babel/types': 7.18.9
387   - dev: true
388   -
389   - /@babel/helper-validator-identifier/7.16.7:
390   - resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==}
391   - engines: {node: '>=6.9.0'}
392   - dev: true
393   -
394   - /@babel/helper-validator-identifier/7.18.6:
395   - resolution: {integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==}
396   - engines: {node: '>=6.9.0'}
397   -
398   - /@babel/helper-validator-option/7.18.6:
399   - resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==}
400   - engines: {node: '>=6.9.0'}
401   - dev: true
402   -
403   - /@babel/helpers/7.18.9:
404   - resolution: {integrity: sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==}
405   - engines: {node: '>=6.9.0'}
406   - dependencies:
407   - '@babel/template': 7.18.6
408   - '@babel/traverse': 7.18.9
409   - '@babel/types': 7.18.9
410   - transitivePeerDependencies:
411   - - supports-color
412   - dev: true
413   -
414   - /@babel/highlight/7.16.10:
415   - resolution: {integrity: sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==}
416   - engines: {node: '>=6.9.0'}
417   - dependencies:
418   - '@babel/helper-validator-identifier': 7.16.7
419   - chalk: 2.4.2
420   - js-tokens: 4.0.0
421   - dev: true
422   -
423   - /@babel/highlight/7.18.6:
424   - resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==}
425   - engines: {node: '>=6.9.0'}
426   - dependencies:
427   - '@babel/helper-validator-identifier': 7.18.6
428   - chalk: 2.4.2
429   - js-tokens: 4.0.0
430   - dev: true
431   -
432   - /@babel/parser/7.17.9:
433   - resolution: {integrity: sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==}
434   - engines: {node: '>=6.0.0'}
435   - hasBin: true
436   - dependencies:
437   - '@babel/types': 7.18.9
438   -
439   - /@babel/parser/7.18.9:
440   - resolution: {integrity: sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==}
441   - engines: {node: '>=6.0.0'}
442   - hasBin: true
443   - dependencies:
444   - '@babel/types': 7.18.9
445   - dev: true
446   -
447   - /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.18.9:
448   - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
449   - peerDependencies:
450   - '@babel/core': ^7.0.0-0
451   - dependencies:
452   - '@babel/core': 7.18.9
453   - '@babel/helper-plugin-utils': 7.16.7
454   - dev: true
455   -
456   - /@babel/plugin-syntax-jsx/7.16.5_@babel+core@7.18.9:
457   - resolution: {integrity: sha512-42OGssv9NPk4QHKVgIHlzeLgPOW5rGgfV5jzG90AhcXXIv6hu/eqj63w4VgvRxdvZY3AlYeDgPiSJ3BqAd1Y6Q==}
458   - engines: {node: '>=6.9.0'}
459   - peerDependencies:
460   - '@babel/core': ^7.0.0-0
461   - dependencies:
462   - '@babel/core': 7.18.9
463   - '@babel/helper-plugin-utils': 7.18.9
464   - dev: true
465   -
466   - /@babel/plugin-syntax-typescript/7.18.6_@babel+core@7.18.9:
467   - resolution: {integrity: sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==}
468   - engines: {node: '>=6.9.0'}
469   - peerDependencies:
470   - '@babel/core': ^7.0.0-0
471   - dependencies:
472   - '@babel/core': 7.18.9
473   - '@babel/helper-plugin-utils': 7.18.9
474   - dev: true
475   -
476   - /@babel/plugin-transform-typescript/7.18.8_@babel+core@7.18.9:
477   - resolution: {integrity: sha512-p2xM8HI83UObjsZGofMV/EdYjamsDm6MoN3hXPYIT0+gxIoopE+B7rPYKAxfrz9K9PK7JafTTjqYC6qipLExYA==}
478   - engines: {node: '>=6.9.0'}
479   - peerDependencies:
480   - '@babel/core': ^7.0.0-0
481   - dependencies:
482   - '@babel/core': 7.18.9
483   - '@babel/helper-create-class-features-plugin': 7.18.9_@babel+core@7.18.9
484   - '@babel/helper-plugin-utils': 7.18.9
485   - '@babel/plugin-syntax-typescript': 7.18.6_@babel+core@7.18.9
486   - transitivePeerDependencies:
487   - - supports-color
488   - dev: true
489   -
490   - /@babel/runtime/7.17.2:
491   - resolution: {integrity: sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw==}
492   - engines: {node: '>=6.9.0'}
493   - dependencies:
494   - regenerator-runtime: 0.13.9
495   - dev: false
496   -
497   - /@babel/template/7.16.7:
498   - resolution: {integrity: sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==}
499   - engines: {node: '>=6.9.0'}
500   - dependencies:
501   - '@babel/code-frame': 7.18.6
502   - '@babel/parser': 7.18.9
503   - '@babel/types': 7.18.9
504   - dev: true
505   -
506   - /@babel/template/7.18.6:
507   - resolution: {integrity: sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==}
508   - engines: {node: '>=6.9.0'}
509   - dependencies:
510   - '@babel/code-frame': 7.18.6
511   - '@babel/parser': 7.18.9
512   - '@babel/types': 7.18.9
513   - dev: true
514   -
515   - /@babel/traverse/7.17.9:
516   - resolution: {integrity: sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==}
517   - engines: {node: '>=6.9.0'}
518   - dependencies:
519   - '@babel/code-frame': 7.18.6
520   - '@babel/generator': 7.18.9
521   - '@babel/helper-environment-visitor': 7.16.7
522   - '@babel/helper-function-name': 7.17.9
523   - '@babel/helper-hoist-variables': 7.16.7
524   - '@babel/helper-split-export-declaration': 7.16.7
525   - '@babel/parser': 7.18.9
526   - '@babel/types': 7.18.9
527   - debug: 4.3.4
528   - globals: 11.12.0
529   - transitivePeerDependencies:
530   - - supports-color
531   - dev: true
532   -
533   - /@babel/traverse/7.18.9:
534   - resolution: {integrity: sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==}
535   - engines: {node: '>=6.9.0'}
536   - dependencies:
537   - '@babel/code-frame': 7.18.6
538   - '@babel/generator': 7.18.9
539   - '@babel/helper-environment-visitor': 7.18.9
540   - '@babel/helper-function-name': 7.18.9
541   - '@babel/helper-hoist-variables': 7.18.6
542   - '@babel/helper-split-export-declaration': 7.18.6
543   - '@babel/parser': 7.18.9
544   - '@babel/types': 7.18.9
545   - debug: 4.3.4
546   - globals: 11.12.0
547   - transitivePeerDependencies:
548   - - supports-color
549   - dev: true
550   -
551   - /@babel/types/7.17.0:
552   - resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==}
553   - engines: {node: '>=6.9.0'}
554   - dependencies:
555   - '@babel/helper-validator-identifier': 7.16.7
556   - to-fast-properties: 2.0.0
557   - dev: true
558   -
559   - /@babel/types/7.18.9:
560   - resolution: {integrity: sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==}
561   - engines: {node: '>=6.9.0'}
562   - dependencies:
563   - '@babel/helper-validator-identifier': 7.18.6
564   - to-fast-properties: 2.0.0
565   -
566   - /@commitlint/cli/17.0.3:
567   - resolution: {integrity: sha512-oAo2vi5d8QZnAbtU5+0cR2j+A7PO8zuccux65R/EycwvsZrDVyW518FFrnJK2UQxbRtHFFIG+NjQ6vOiJV0Q8A==}
568   - engines: {node: '>=v14'}
569   - hasBin: true
570   - dependencies:
571   - '@commitlint/format': 17.0.0
572   - '@commitlint/lint': 17.0.3
573   - '@commitlint/load': 17.0.3
574   - '@commitlint/read': 17.0.0
575   - '@commitlint/types': 17.0.0
576   - execa: 5.1.1
577   - lodash: 4.17.21
578   - resolve-from: 5.0.0
579   - resolve-global: 1.0.0
580   - yargs: 17.3.1
581   - transitivePeerDependencies:
582   - - '@swc/core'
583   - - '@swc/wasm'
584   - dev: true
585   -
586   - /@commitlint/config-conventional/17.0.3:
587   - resolution: {integrity: sha512-HCnzTm5ATwwwzNVq5Y57poS0a1oOOcd5pc1MmBpLbGmSysc4i7F/++JuwtdFPu16sgM3H9J/j2zznRLOSGVO2A==}
588   - engines: {node: '>=v14'}
589   - dependencies:
590   - conventional-changelog-conventionalcommits: 5.0.0
591   - dev: true
592   -
593   - /@commitlint/config-validator/17.0.3:
594   - resolution: {integrity: sha512-3tLRPQJKapksGE7Kee9axv+9z5I2GDHitDH4q63q7NmNA0wkB+DAorJ0RHz2/K00Zb1/MVdHzhCga34FJvDihQ==}
595   - engines: {node: '>=v14'}
596   - dependencies:
597   - '@commitlint/types': 17.0.0
598   - ajv: 8.11.0
599   - dev: true
600   -
601   - /@commitlint/ensure/17.0.0:
602   - resolution: {integrity: sha512-M2hkJnNXvEni59S0QPOnqCKIK52G1XyXBGw51mvh7OXDudCmZ9tZiIPpU882p475Mhx48Ien1MbWjCP1zlyC0A==}
603   - engines: {node: '>=v14'}
604   - dependencies:
605   - '@commitlint/types': 17.0.0
606   - lodash: 4.17.21
607   - dev: true
608   -
609   - /@commitlint/execute-rule/17.0.0:
610   - resolution: {integrity: sha512-nVjL/w/zuqjCqSJm8UfpNaw66V9WzuJtQvEnCrK4jDw6qKTmZB+1JQ8m6BQVZbNBcwfYdDNKnhIhqI0Rk7lgpQ==}
611   - engines: {node: '>=v14'}
612   - dev: true
613   -
614   - /@commitlint/format/17.0.0:
615   - resolution: {integrity: sha512-MZzJv7rBp/r6ZQJDEodoZvdRM0vXu1PfQvMTNWFb8jFraxnISMTnPBWMMjr2G/puoMashwaNM//fl7j8gGV5lA==}
616   - engines: {node: '>=v14'}
617   - dependencies:
618   - '@commitlint/types': 17.0.0
619   - chalk: 4.1.2
620   - dev: true
621   -
622   - /@commitlint/is-ignored/17.0.3:
623   - resolution: {integrity: sha512-/wgCXAvPtFTQZxsVxj7owLeRf5wwzcXLaYmrZPR4a87iD4sCvUIRl1/ogYrtOyUmHwWfQsvjqIB4mWE/SqWSnA==}
624   - engines: {node: '>=v14'}
625   - dependencies:
626   - '@commitlint/types': 17.0.0
627   - semver: 7.3.7
628   - dev: true
629   -
630   - /@commitlint/lint/17.0.3:
631   - resolution: {integrity: sha512-2o1fk7JUdxBUgszyt41sHC/8Nd5PXNpkmuOo9jvGIjDHzOwXyV0PSdbEVTH3xGz9NEmjohFHr5l+N+T9fcxong==}
632   - engines: {node: '>=v14'}
633   - dependencies:
634   - '@commitlint/is-ignored': 17.0.3
635   - '@commitlint/parse': 17.0.0
636   - '@commitlint/rules': 17.0.0
637   - '@commitlint/types': 17.0.0
638   - dev: true
639   -
640   - /@commitlint/load/17.0.3:
641   - resolution: {integrity: sha512-3Dhvr7GcKbKa/ey4QJ5MZH3+J7QFlARohUow6hftQyNjzoXXROm+RwpBes4dDFrXG1xDw9QPXA7uzrOShCd4bw==}
642   - engines: {node: '>=v14'}
643   - dependencies:
644   - '@commitlint/config-validator': 17.0.3
645   - '@commitlint/execute-rule': 17.0.0
646   - '@commitlint/resolve-extends': 17.0.3
647   - '@commitlint/types': 17.0.0
648   - '@types/node': 18.0.6
649   - chalk: 4.1.2
650   - cosmiconfig: 7.0.1
651   - cosmiconfig-typescript-loader: 2.0.0_tdn3ypgnfy6bmey2q4hu5jonwi
652   - lodash: 4.17.21
653   - resolve-from: 5.0.0
654   - typescript: 4.7.4
655   - transitivePeerDependencies:
656   - - '@swc/core'
657   - - '@swc/wasm'
658   - dev: true
659   -
660   - /@commitlint/message/17.0.0:
661   - resolution: {integrity: sha512-LpcwYtN+lBlfZijHUdVr8aNFTVpHjuHI52BnfoV01TF7iSLnia0jttzpLkrLmI8HNQz6Vhr9UrxDWtKZiMGsBw==}
662   - engines: {node: '>=v14'}
663   - dev: true
664   -
665   - /@commitlint/parse/17.0.0:
666   - resolution: {integrity: sha512-cKcpfTIQYDG1ywTIr5AG0RAiLBr1gudqEsmAGCTtj8ffDChbBRxm6xXs2nv7GvmJN7msOt7vOKleLvcMmRa1+A==}
667   - engines: {node: '>=v14'}
668   - dependencies:
669   - '@commitlint/types': 17.0.0
670   - conventional-changelog-angular: 5.0.13
671   - conventional-commits-parser: 3.2.4
672   - dev: true
673   -
674   - /@commitlint/read/17.0.0:
675   - resolution: {integrity: sha512-zkuOdZayKX3J6F6mPnVMzohK3OBrsEdOByIqp4zQjA9VLw1hMsDEFQ18rKgUc2adkZar+4S01QrFreDCfZgbxA==}
676   - engines: {node: '>=v14'}
677   - dependencies:
678   - '@commitlint/top-level': 17.0.0
679   - '@commitlint/types': 17.0.0
680   - fs-extra: 10.0.1
681   - git-raw-commits: 2.0.11
682   - dev: true
683   -
684   - /@commitlint/resolve-extends/17.0.3:
685   - resolution: {integrity: sha512-H/RFMvrcBeJCMdnVC4i8I94108UDccIHrTke2tyQEg9nXQnR5/Hd6MhyNWkREvcrxh9Y+33JLb+PiPiaBxCtBA==}
686   - engines: {node: '>=v14'}
687   - dependencies:
688   - '@commitlint/config-validator': 17.0.3
689   - '@commitlint/types': 17.0.0
690   - import-fresh: 3.3.0
691   - lodash: 4.17.21
692   - resolve-from: 5.0.0
693   - resolve-global: 1.0.0
694   - dev: true
695   -
696   - /@commitlint/rules/17.0.0:
697   - resolution: {integrity: sha512-45nIy3dERKXWpnwX9HeBzK5SepHwlDxdGBfmedXhL30fmFCkJOdxHyOJsh0+B0RaVsLGT01NELpfzJUmtpDwdQ==}
698   - engines: {node: '>=v14'}
699   - dependencies:
700   - '@commitlint/ensure': 17.0.0
701   - '@commitlint/message': 17.0.0
702   - '@commitlint/to-lines': 17.0.0
703   - '@commitlint/types': 17.0.0
704   - execa: 5.1.1
705   - dev: true
706   -
707   - /@commitlint/to-lines/17.0.0:
708   - resolution: {integrity: sha512-nEi4YEz04Rf2upFbpnEorG8iymyH7o9jYIVFBG1QdzebbIFET3ir+8kQvCZuBE5pKCtViE4XBUsRZz139uFrRQ==}
709   - engines: {node: '>=v14'}
710   - dev: true
711   -
712   - /@commitlint/top-level/17.0.0:
713   - resolution: {integrity: sha512-dZrEP1PBJvodNWYPOYiLWf6XZergdksKQaT6i1KSROLdjf5Ai0brLOv5/P+CPxBeoj3vBxK4Ax8H1Pg9t7sHIQ==}
714   - engines: {node: '>=v14'}
715   - dependencies:
716   - find-up: 5.0.0
717   - dev: true
718   -
719   - /@commitlint/types/17.0.0:
720   - resolution: {integrity: sha512-hBAw6U+SkAT5h47zDMeOu3HSiD0SODw4Aq7rRNh1ceUmL7GyLKYhPbUvlRWqZ65XjBLPHZhFyQlRaPNz8qvUyQ==}
721   - engines: {node: '>=v14'}
722   - dependencies:
723   - chalk: 4.1.2
724   - dev: true
725   -
726   - /@cspotcode/source-map-consumer/0.8.0:
727   - resolution: {integrity: sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==}
728   - engines: {node: '>= 12'}
729   - dev: true
730   -
731   - /@cspotcode/source-map-support/0.7.0:
732   - resolution: {integrity: sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==}
733   - engines: {node: '>=12'}
734   - dependencies:
735   - '@cspotcode/source-map-consumer': 0.8.0
736   - dev: true
737   -
738   - /@csstools/selector-specificity/2.0.1_444rcjjorr3kpoqtvoodsr46pu:
739   - resolution: {integrity: sha512-aG20vknL4/YjQF9BSV7ts4EWm/yrjagAN7OWBNmlbEOUiu0llj4OGrFoOKK3g2vey4/p2omKCoHrWtPxSwV3HA==}
740   - engines: {node: ^12 || ^14 || >=16}
741   - peerDependencies:
742   - postcss: ^8.3
743   - postcss-selector-parser: ^6.0.10
744   - dependencies:
745   - postcss: 8.4.14
746   - postcss-selector-parser: 6.0.10
747   - dev: true
748   -
749   - /@ctrl/tinycolor/3.4.1:
750   - resolution: {integrity: sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw==}
751   - engines: {node: '>=10'}
752   - dev: false
753   -
754   - /@element-plus/icons-vue/2.0.6_vue@3.2.37:
755   - resolution: {integrity: sha512-lPpG8hYkjL/Z97DH5Ei6w6o22Z4YdNglWCNYOPcB33JCF2A4wye6HFgSI7hEt9zdLyxlSpiqtgf9XcYU+m5mew==}
756   - peerDependencies:
757   - vue: ^3.2.0
758   - dependencies:
759   - vue: 3.2.37
760   - dev: false
761   -
762   - /@eslint/eslintrc/1.3.0:
763   - resolution: {integrity: sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==}
764   - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
765   - dependencies:
766   - ajv: 6.12.6
767   - debug: 4.3.4
768   - espree: 9.3.2
769   - globals: 13.15.0
770   - ignore: 5.2.0
771   - import-fresh: 3.3.0
772   - js-yaml: 4.1.0
773   - minimatch: 3.1.2
774   - strip-json-comments: 3.1.1
775   - transitivePeerDependencies:
776   - - supports-color
777   - dev: true
778   -
779   - /@floating-ui/core/0.7.3:
780   - resolution: {integrity: sha512-buc8BXHmG9l82+OQXOFU3Kr2XQx9ys01U/Q9HMIrZ300iLc8HLMgh7dcCqgYzAzf4BkoQvDcXf5Y+CuEZ5JBYg==}
781   - dev: false
782   -
783   - /@floating-ui/dom/0.5.4:
784   - resolution: {integrity: sha512-419BMceRLq0RrmTSDxn8hf9R3VCJv2K9PUfugh5JyEFmdjzDo+e8U5EdR8nzKq8Yj1htzLm3b6eQEEam3/rrtg==}
785   - dependencies:
786   - '@floating-ui/core': 0.7.3
787   - dev: false
788   -
789   - /@humanwhocodes/config-array/0.9.2:
790   - resolution: {integrity: sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==}
791   - engines: {node: '>=10.10.0'}
792   - dependencies:
793   - '@humanwhocodes/object-schema': 1.2.1
794   - debug: 4.3.4
795   - minimatch: 3.1.2
796   - transitivePeerDependencies:
797   - - supports-color
798   - dev: true
799   -
800   - /@humanwhocodes/object-schema/1.2.1:
801   - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
802   - dev: true
803   -
804   - /@iconify/iconify/2.1.2:
805   - resolution: {integrity: sha512-QcUzFeEWkE/mW+BVtEGmcWATClcCOIJFiYUD/PiCWuTcdEA297o8D4oN6Ra44WrNOHu1wqNW4J0ioaDIiqaFOQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@iconify/iconify/-/iconify-2.1.2.tgz}
806   - dependencies:
807   - cross-fetch: 3.1.5
808   - transitivePeerDependencies:
809   - - encoding
810   - dev: true
811   -
812   - /@iconify/iconify/2.2.1:
813   - resolution: {integrity: sha512-WJzw+3iicrF/tbjbxxRinSgy5FHdJoz/egTqwi3xCDkNRJPq482RX1iyaWrjNuY2vMNSPkQMuqHvZDXgA+WnwQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@iconify/iconify/-/iconify-2.2.1.tgz}
814   -
815   - /@iconify/json/2.1.79:
816   - resolution: {integrity: sha512-4jCX9hRhZmJqeUQ+gTVH867FYdUvBkIZ4UYwWstHXPMIuCVsfqXy5OZn8wDIkEYfvfNy+s1m28/g4PSrWzdUtg==}
817   - dependencies:
818   - '@iconify/types': 1.1.0
819   - pathe: 0.3.1
820   - dev: true
821   -
822   - /@iconify/types/1.1.0:
823   - resolution: {integrity: sha512-Jh0llaK2LRXQoYsorIH8maClebsnzTcve+7U3rQUSnC11X4jtPnFuyatqFLvMxZ8MLG8dB4zfHsbPfuvxluONw==}
824   - dev: true
825   -
826   - /@intlify/bundle-utils/3.1.0_vue-i18n@9.1.10:
827   - resolution: {integrity: sha512-ghlJ0kR2cCQ8D+poKknC0Xx0ncOt3J3os7CcIAqqIWVF7k6AtGoCDnIru+YzlZcvFRNmP9wEZ7jKliojCdAWNg==}
828   - engines: {node: '>= 12'}
829   - peerDependencies:
830   - petite-vue-i18n: '*'
831   - vue-i18n: '*'
832   - peerDependenciesMeta:
833   - petite-vue-i18n:
834   - optional: true
835   - vue-i18n:
836   - optional: true
837   - dependencies:
838   - '@intlify/message-compiler': 9.2.0-beta.39
839   - '@intlify/shared': 9.2.0-beta.39
840   - jsonc-eslint-parser: 1.4.1
841   - source-map: 0.6.1
842   - vue-i18n: 9.1.10_vue@3.2.37
843   - yaml-eslint-parser: 0.3.2
844   - dev: true
845   -
846   - /@intlify/core-base/9.1.10:
847   - resolution: {integrity: sha512-So9CNUavB/IsZ+zBmk2Cv6McQp6vc2wbGi1S0XQmJ8Vz+UFcNn9MFXAe9gY67PreIHrbLsLxDD0cwo1qsxM1Nw==}
848   - engines: {node: '>= 10'}
849   - dependencies:
850   - '@intlify/devtools-if': 9.1.10
851   - '@intlify/message-compiler': 9.1.10
852   - '@intlify/message-resolver': 9.1.10
853   - '@intlify/runtime': 9.1.10
854   - '@intlify/shared': 9.1.10
855   - '@intlify/vue-devtools': 9.1.10
856   -
857   - /@intlify/devtools-if/9.1.10:
858   - resolution: {integrity: sha512-SHaKoYu6sog3+Q8js1y3oXLywuogbH1sKuc7NSYkN3GElvXSBaMoCzW+we0ZSFqj/6c7vTNLg9nQ6rxhKqYwnQ==}
859   - engines: {node: '>= 10'}
860   - dependencies:
861   - '@intlify/shared': 9.1.10
862   -
863   - /@intlify/message-compiler/9.1.10:
864   - resolution: {integrity: sha512-+JiJpXff/XTb0EadYwdxOyRTB0hXNd4n1HaJ/a4yuV960uRmPXaklJsedW0LNdcptd/hYUZtCkI7Lc9J5C1gxg==}
865   - engines: {node: '>= 10'}
866   - dependencies:
867   - '@intlify/message-resolver': 9.1.10
868   - '@intlify/shared': 9.1.10
869   - source-map: 0.6.1
870   -
871   - /@intlify/message-compiler/9.2.0-beta.39:
872   - resolution: {integrity: sha512-wHb3zzk/H3Wfx9U/SaXVenQ/qq2suqJMl/ppu+IdyGGMZxqC57zFqkgwWxEpqP4DzGeisjHe2myjLZQyV1haEQ==}
873   - engines: {node: '>= 14'}
874   - dependencies:
875   - '@intlify/shared': 9.2.0-beta.39
876   - source-map: 0.6.1
877   - dev: true
878   -
879   - /@intlify/message-resolver/9.1.10:
880   - resolution: {integrity: sha512-5YixMG/M05m0cn9+gOzd4EZQTFRUu8RGhzxJbR1DWN21x/Z3bJ8QpDYj6hC4FwBj5uKsRfKpJQ3Xqg98KWoA+w==}
881   - engines: {node: '>= 10'}
882   -
883   - /@intlify/runtime/9.1.10:
884   - resolution: {integrity: sha512-7QsuByNzpe3Gfmhwq6hzgXcMPpxz8Zxb/XFI6s9lQdPLPe5Lgw4U1ovRPZTOs6Y2hwitR3j/HD8BJNGWpJnOFA==}
885   - engines: {node: '>= 10'}
886   - dependencies:
887   - '@intlify/message-compiler': 9.1.10
888   - '@intlify/message-resolver': 9.1.10
889   - '@intlify/shared': 9.1.10
890   -
891   - /@intlify/shared/9.1.10:
892   - resolution: {integrity: sha512-Om54xJeo1Vw+K1+wHYyXngE8cAbrxZHpWjYzMR9wCkqbhGtRV5VLhVc214Ze2YatPrWlS2WSMOWXR8JktX/IgA==}
893   - engines: {node: '>= 10'}
894   -
895   - /@intlify/shared/9.2.0-beta.39:
896   - resolution: {integrity: sha512-FqzpkZVk/cTsywWc4mVbI2/fDQwYm8oXVwi7yuassiLps3yJK7P0s6grZaaXIX8gMODNLjJtJPd2KEOSj1lUyw==}
897   - engines: {node: '>= 14'}
898   - dev: true
899   -
900   - /@intlify/vite-plugin-vue-i18n/5.0.0_vite@3.0.1+vue-i18n@9.1.10:
901   - resolution: {integrity: sha512-49W7y2b0m6Cg6qGoBkjdNgxyzFx3iOSbnxvDaWcN65raaceJVuwCwxXX1SqJbjHTg32rpTFi4jSlroqAV9Rr0w==}
902   - engines: {node: '>= 14.6'}
903   - peerDependencies:
904   - petite-vue-i18n: '*'
905   - vite: ^2.9.0 || ^3.0.0
906   - vue-i18n: '*'
907   - peerDependenciesMeta:
908   - petite-vue-i18n:
909   - optional: true
910   - vite:
911   - optional: true
912   - vue-i18n:
913   - optional: true
914   - dependencies:
915   - '@intlify/bundle-utils': 3.1.0_vue-i18n@9.1.10
916   - '@intlify/shared': 9.2.0-beta.39
917   - '@rollup/pluginutils': 4.2.1
918   - debug: 4.3.4
919   - fast-glob: 3.2.11
920   - source-map: 0.6.1
921   - vite: 3.0.1_less@4.1.3
922   - vue-i18n: 9.1.10_vue@3.2.37
923   - transitivePeerDependencies:
924   - - supports-color
925   - dev: true
926   -
927   - /@intlify/vue-devtools/9.1.10:
928   - resolution: {integrity: sha512-5l3qYARVbkWAkagLu1XbDUWRJSL8br1Dj60wgMaKB0+HswVsrR6LloYZTg7ozyvM621V6+zsmwzbQxbVQyrytQ==}
929   - engines: {node: '>= 10'}
930   - dependencies:
931   - '@intlify/message-resolver': 9.1.10
932   - '@intlify/runtime': 9.1.10
933   - '@intlify/shared': 9.1.10
934   -
935   - /@jridgewell/gen-mapping/0.3.2:
936   - resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==}
937   - engines: {node: '>=6.0.0'}
938   - dependencies:
939   - '@jridgewell/set-array': 1.1.2
940   - '@jridgewell/sourcemap-codec': 1.4.11
941   - '@jridgewell/trace-mapping': 0.3.14
942   - dev: true
943   -
944   - /@jridgewell/resolve-uri/3.0.5:
945   - resolution: {integrity: sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==}
946   - engines: {node: '>=6.0.0'}
947   - dev: true
948   -
949   - /@jridgewell/set-array/1.1.2:
950   - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
951   - engines: {node: '>=6.0.0'}
952   - dev: true
953   -
954   - /@jridgewell/sourcemap-codec/1.4.11:
955   - resolution: {integrity: sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==}
956   - dev: true
957   -
958   - /@jridgewell/trace-mapping/0.3.14:
959   - resolution: {integrity: sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==}
960   - dependencies:
961   - '@jridgewell/resolve-uri': 3.0.5
962   - '@jridgewell/sourcemap-codec': 1.4.11
963   - dev: true
964   -
965   - /@jridgewell/trace-mapping/0.3.4:
966   - resolution: {integrity: sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==}
967   - dependencies:
968   - '@jridgewell/resolve-uri': 3.0.5
969   - '@jridgewell/sourcemap-codec': 1.4.11
970   - dev: true
971   -
972   - /@nodelib/fs.scandir/2.1.5:
973   - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
974   - engines: {node: '>= 8'}
975   - dependencies:
976   - '@nodelib/fs.stat': 2.0.5
977   - run-parallel: 1.2.0
978   - dev: true
979   -
980   - /@nodelib/fs.stat/2.0.5:
981   - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
982   - engines: {node: '>= 8'}
983   - dev: true
984   -
985   - /@nodelib/fs.walk/1.2.8:
986   - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
987   - engines: {node: '>= 8'}
988   - dependencies:
989   - '@nodelib/fs.scandir': 2.1.5
990   - fastq: 1.13.0
991   - dev: true
992   -
993   - /@polka/url/1.0.0-next.21:
994   - resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==}
995   - dev: true
996   -
997   - /@purge-icons/core/0.8.0:
998   - resolution: {integrity: sha512-8L6hP1U9XQO5B7kvquVJ5N7jzFvO0LZLXhBCjUQzzJzi42i6MAUanVKROApqbBuh21o9tmPwvNUg0xPe/uftRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@purge-icons/core/-/core-0.8.0.tgz}
999   - dependencies:
1000   - '@iconify/iconify': 2.1.2
1001   - axios: 0.26.1_debug@4.3.4
1002   - debug: 4.3.4
1003   - fast-glob: 3.2.11
1004   - fs-extra: 10.0.1
1005   - transitivePeerDependencies:
1006   - - encoding
1007   - - supports-color
1008   - dev: true
1009   -
1010   - /@purge-icons/generated/0.8.1:
1011   - resolution: {integrity: sha512-rIExGA33EGKEToqtc8WfpboaR7or1XRp+KV1Y5v/P0Rq7G5Me95DmP3ow/MpG7ql+XZ9xPzyS2naGRx5358+6Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@purge-icons/generated/-/generated-0.8.1.tgz}
1012   - dependencies:
1013   - '@iconify/iconify': 2.2.1
1014   - dev: true
1015   -
1016   - /@rollup/pluginutils/4.2.0:
1017   - resolution: {integrity: sha512-2WUyJNRkyH5p487pGnn4tWAsxhEFKN/pT8CMgHshd5H+IXkOnKvKZwsz5ZWz+YCXkleZRAU5kwbfgF8CPfDRqA==}
1018   - engines: {node: '>= 8.0.0'}
1019   - dependencies:
1020   - estree-walker: 2.0.2
1021   - picomatch: 2.3.1
1022   - dev: true
1023   -
1024   - /@rollup/pluginutils/4.2.1:
1025   - resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
1026   - engines: {node: '>= 8.0.0'}
1027   - dependencies:
1028   - estree-walker: 2.0.2
1029   - picomatch: 2.3.1
1030   - dev: true
1031   -
1032   - /@sxzz/popperjs-es/2.11.7:
1033   - resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==}
1034   - dev: false
1035   -
1036   - /@transloadit/prettier-bytes/0.0.7:
1037   - resolution: {integrity: sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA==}
1038   - dev: false
1039   -
1040   - /@trysound/sax/0.2.0:
1041   - resolution: {integrity: sha1-zMqrdYr1Z2Hre/N69vA/Mm3XmK0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@trysound/sax/download/@trysound/sax-0.2.0.tgz}
1042   - engines: {node: '>=10.13.0'}
1043   - dev: true
1044   -
1045   - /@tsconfig/node10/1.0.8:
1046   - resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==}
1047   - dev: true
1048   -
1049   - /@tsconfig/node12/1.0.9:
1050   - resolution: {integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==}
1051   - dev: true
1052   -
1053   - /@tsconfig/node14/1.0.1:
1054   - resolution: {integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==}
1055   - dev: true
1056   -
1057   - /@tsconfig/node16/1.0.2:
1058   - resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==}
1059   - dev: true
1060   -
1061   - /@types/eslint/8.4.2:
1062   - resolution: {integrity: sha512-Z1nseZON+GEnFjJc04sv4NSALGjhFwy6K0HXt7qsn5ArfAKtb63dXNJHf+1YW6IpOIYRBGUbu3GwJdj8DGnCjA==}
1063   - dependencies:
1064   - '@types/estree': 0.0.51
1065   - '@types/json-schema': 7.0.9
1066   - dev: true
1067   -
1068   - /@types/estree/0.0.51:
1069   - resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==}
1070   - dev: true
1071   -
1072   - /@types/event-emitter/0.3.3:
1073   - resolution: {integrity: sha512-UfnOK1pIxO7P+EgPRZXD9jMpimd8QEFcEZ5R67R1UhGbv4zghU5+NE7U8M8G9H5Jc8FI51rqDWQs6FtUfq2e/Q==}
1074   - dev: false
1075   -
1076   - /@types/fined/1.1.3:
1077   - resolution: {integrity: sha512-CWYnSRnun3CGbt6taXeVo2lCbuaj4mchVJ4UF/BdU5TSuIn3AmS13pGMwCsBUoehGbhZrBrpNJZSZI5EVilXww==}
1078   - dev: true
1079   -
1080   - /@types/inquirer/8.2.1:
1081   - resolution: {integrity: sha512-wKW3SKIUMmltbykg4I5JzCVzUhkuD9trD6efAmYgN2MrSntY0SMRQzEnD3mkyJ/rv9NLbTC7g3hKKE86YwEDLw==}
1082   - dependencies:
1083   - '@types/through': 0.0.30
1084   - rxjs: 7.5.5
1085   - dev: true
1086   -
1087   - /@types/intro.js/5.1.0:
1088   - resolution: {integrity: sha512-XHkD6t7f3bn8B2//kOlznRzmk15KvsRkFpY6i8em/eDphblQ8QHbCiW+6OPjX7CxI0aVNVJK6Yamb2h2KMmFdA==}
1089   - dev: true
1090   -
1091   - /@types/json-schema/7.0.9:
1092   - resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==}
1093   - dev: true
1094   -
1095   - /@types/liftoff/4.0.0:
1096   - resolution: {integrity: sha512-Ny/PJkO6nxWAQnaet8q/oWz15lrfwvdvBpuY4treB0CSsBO1CG0fVuNLngR3m3bepQLd+E4c3Y3DlC2okpUvPw==}
1097   - dependencies:
1098   - '@types/fined': 1.1.3
1099   - '@types/node': 18.0.6
1100   - dev: true
1101   -
1102   - /@types/lodash-es/4.17.6:
1103   - resolution: {integrity: sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@types/lodash-es/-/lodash-es-4.17.6.tgz}
1104   - dependencies:
1105   - '@types/lodash': 4.14.178
1106   -
1107   - /@types/lodash/4.14.178:
1108   - resolution: {integrity: sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@types/lodash/-/lodash-4.14.178.tgz}
1109   -
1110   - /@types/lodash/4.14.182:
1111   - resolution: {integrity: sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==}
1112   - dev: false
1113   -
1114   - /@types/minimatch/3.0.5:
1115   - resolution: {integrity: sha1-EAHMXmo3BLg8I2An538vWOoBD0A=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.5.tgz}
1116   - dev: true
1117   -
1118   - /@types/minimist/1.2.2:
1119   - resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==}
1120   - dev: true
1121   -
1122   - /@types/node/18.0.6:
1123   - resolution: {integrity: sha512-/xUq6H2aQm261exT6iZTMifUySEt4GR5KX8eYyY+C4MSNPqSh9oNIP7tz2GLKTlFaiBbgZNxffoR3CVRG+cljw==}
1124   - dev: true
1125   -
1126   - /@types/normalize-package-data/2.4.1:
1127   - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==}
1128   - dev: true
1129   -
1130   - /@types/nprogress/0.2.0:
1131   - resolution: {integrity: sha512-1cYJrqq9GezNFPsWTZpFut/d4CjpZqA0vhqDUPFWYKF1oIyBz5qnoYMzR+0C/T96t3ebLAC1SSnwrVOm5/j74A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@types/nprogress/download/@types/nprogress-0.2.0.tgz}
1132   - dev: true
1133   -
1134   - /@types/parse-json/4.0.0:
1135   - resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==}
1136   - dev: true
1137   -
1138   - /@types/qrcode/1.4.2:
1139   - resolution: {integrity: sha512-7uNT9L4WQTNJejHTSTdaJhfBSCN73xtXaHFyBJ8TSwiLhe4PRuTue7Iph0s2nG9R/ifUaSnGhLUOZavlBEqDWQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@types/qrcode/download/@types/qrcode-1.4.2.tgz}
1140   - dependencies:
1141   - '@types/node': 18.0.6
1142   - dev: true
1143   -
1144   - /@types/qs/6.9.7:
1145   - resolution: {integrity: sha1-Y7t9Bn2xB8weRXwwO8JdUR/r9ss=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@types/qs/download/@types/qs-6.9.7.tgz}
1146   - dev: true
1147   -
1148   - /@types/svgo/2.6.1:
1149   - resolution: {integrity: sha512-4BfUnd19L25BD2iRyZTNuG4pfL9HBs+rvF7zp5maKhbX42uOpc5prGdBXXmCdHlVZfTWq8pNP/vxQt9v8ACxqQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@types/svgo/-/svgo-2.6.1.tgz}
1150   - dependencies:
1151   - '@types/node': 18.0.6
1152   - dev: true
1153   -
1154   - /@types/through/0.0.30:
1155   - resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==}
1156   - dependencies:
1157   - '@types/node': 18.0.6
1158   - dev: true
1159   -
1160   - /@types/web-bluetooth/0.0.14:
1161   - resolution: {integrity: sha512-5d2RhCard1nQUC3aHcq/gHzWYO6K0WJmAbjO7mQJgCQKtZpgXxv1rOM6O/dBDhDYYVutk1sciOgNSe+5YyfM8A==}
1162   - dev: false
1163   -
1164   - /@typescript-eslint/eslint-plugin/5.30.6_b7n364ggt6o4xlkgyoaww3ph3q:
1165   - resolution: {integrity: sha512-J4zYMIhgrx4MgnZrSDD7sEnQp7FmhKNOaqaOpaoQ/SfdMfRB/0yvK74hTnvH+VQxndZynqs5/Hn4t+2/j9bADg==}
1166   - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1167   - peerDependencies:
1168   - '@typescript-eslint/parser': ^5.0.0
1169   - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
1170   - typescript: '*'
1171   - peerDependenciesMeta:
1172   - typescript:
1173   - optional: true
1174   - dependencies:
1175   - '@typescript-eslint/parser': 5.30.6_he2ccbldppg44uulnyq4rwocfa
1176   - '@typescript-eslint/scope-manager': 5.30.6
1177   - '@typescript-eslint/type-utils': 5.30.6_he2ccbldppg44uulnyq4rwocfa
1178   - '@typescript-eslint/utils': 5.30.6_he2ccbldppg44uulnyq4rwocfa
1179   - debug: 4.3.4
1180   - eslint: 8.20.0
1181   - functional-red-black-tree: 1.0.1
1182   - ignore: 5.2.0
1183   - regexpp: 3.2.0
1184   - semver: 7.3.7
1185   - tsutils: 3.21.0_typescript@4.7.4
1186   - typescript: 4.7.4
1187   - transitivePeerDependencies:
1188   - - supports-color
1189   - dev: true
1190   -
1191   - /@typescript-eslint/parser/5.30.6_he2ccbldppg44uulnyq4rwocfa:
1192   - resolution: {integrity: sha512-gfF9lZjT0p2ZSdxO70Xbw8w9sPPJGfAdjK7WikEjB3fcUI/yr9maUVEdqigBjKincUYNKOmf7QBMiTf719kbrA==}
1193   - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1194   - peerDependencies:
1195   - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
1196   - typescript: '*'
1197   - peerDependenciesMeta:
1198   - typescript:
1199   - optional: true
1200   - dependencies:
1201   - '@typescript-eslint/scope-manager': 5.30.6
1202   - '@typescript-eslint/types': 5.30.6
1203   - '@typescript-eslint/typescript-estree': 5.30.6_typescript@4.7.4
1204   - debug: 4.3.4
1205   - eslint: 8.20.0
1206   - typescript: 4.7.4
1207   - transitivePeerDependencies:
1208   - - supports-color
1209   - dev: true
1210   -
1211   - /@typescript-eslint/scope-manager/5.30.6:
1212   - resolution: {integrity: sha512-Hkq5PhLgtVoW1obkqYH0i4iELctEKixkhWLPTYs55doGUKCASvkjOXOd/pisVeLdO24ZX9D6yymJ/twqpJiG3g==}
1213   - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1214   - dependencies:
1215   - '@typescript-eslint/types': 5.30.6
1216   - '@typescript-eslint/visitor-keys': 5.30.6
1217   - dev: true
1218   -
1219   - /@typescript-eslint/type-utils/5.30.6_he2ccbldppg44uulnyq4rwocfa:
1220   - resolution: {integrity: sha512-GFVVzs2j0QPpM+NTDMXtNmJKlF842lkZKDSanIxf+ArJsGeZUIaeT4jGg+gAgHt7AcQSFwW7htzF/rbAh2jaVA==}
1221   - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1222   - peerDependencies:
1223   - eslint: '*'
1224   - typescript: '*'
1225   - peerDependenciesMeta:
1226   - typescript:
1227   - optional: true
1228   - dependencies:
1229   - '@typescript-eslint/utils': 5.30.6_he2ccbldppg44uulnyq4rwocfa
1230   - debug: 4.3.4
1231   - eslint: 8.20.0
1232   - tsutils: 3.21.0_typescript@4.7.4
1233   - typescript: 4.7.4
1234   - transitivePeerDependencies:
1235   - - supports-color
1236   - dev: true
1237   -
1238   - /@typescript-eslint/types/5.30.6:
1239   - resolution: {integrity: sha512-HdnP8HioL1F7CwVmT4RaaMX57RrfqsOMclZc08wGMiDYJBsLGBM7JwXM4cZJmbWLzIR/pXg1kkrBBVpxTOwfUg==}
1240   - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1241   - dev: true
1242   -
1243   - /@typescript-eslint/typescript-estree/5.30.6_typescript@4.7.4:
1244   - resolution: {integrity: sha512-Z7TgPoeYUm06smfEfYF0RBkpF8csMyVnqQbLYiGgmUSTaSXTP57bt8f0UFXstbGxKIreTwQCujtaH0LY9w9B+A==}
1245   - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1246   - peerDependencies:
1247   - typescript: '*'
1248   - peerDependenciesMeta:
1249   - typescript:
1250   - optional: true
1251   - dependencies:
1252   - '@typescript-eslint/types': 5.30.6
1253   - '@typescript-eslint/visitor-keys': 5.30.6
1254   - debug: 4.3.4
1255   - globby: 11.1.0
1256   - is-glob: 4.0.3
1257   - semver: 7.3.7
1258   - tsutils: 3.21.0_typescript@4.7.4
1259   - typescript: 4.7.4
1260   - transitivePeerDependencies:
1261   - - supports-color
1262   - dev: true
1263   -
1264   - /@typescript-eslint/utils/5.30.6_he2ccbldppg44uulnyq4rwocfa:
1265   - resolution: {integrity: sha512-xFBLc/esUbLOJLk9jKv0E9gD/OH966M40aY9jJ8GiqpSkP2xOV908cokJqqhVd85WoIvHVHYXxSFE4cCSDzVvA==}
1266   - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1267   - peerDependencies:
1268   - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
1269   - dependencies:
1270   - '@types/json-schema': 7.0.9
1271   - '@typescript-eslint/scope-manager': 5.30.6
1272   - '@typescript-eslint/types': 5.30.6
1273   - '@typescript-eslint/typescript-estree': 5.30.6_typescript@4.7.4
1274   - eslint: 8.20.0
1275   - eslint-scope: 5.1.1
1276   - eslint-utils: 3.0.0_eslint@8.20.0
1277   - transitivePeerDependencies:
1278   - - supports-color
1279   - - typescript
1280   - dev: true
1281   -
1282   - /@typescript-eslint/visitor-keys/5.30.6:
1283   - resolution: {integrity: sha512-41OiCjdL2mCaSDi2SvYbzFLlqqlm5v1ZW9Ym55wXKL/Rx6OOB1IbuFGo71Fj6Xy90gJDFTlgOS+vbmtGHPTQQA==}
1284   - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1285   - dependencies:
1286   - '@typescript-eslint/types': 5.30.6
1287   - eslint-visitor-keys: 3.3.0
1288   - dev: true
1289   -
1290   - /@uppy/companion-client/2.0.4:
1291   - resolution: {integrity: sha512-Uc3bJzgSdvB+wKYoAbmhY7jv5DlziZQdK0w+5Eku2M93xcOictgJPoti94rj/PtZRH3gyszDkwACERs/bfbI7g==}
1292   - dependencies:
1293   - '@uppy/utils': 4.0.5
1294   - namespace-emitter: 2.0.1
1295   - dev: false
1296   -
1297   - /@uppy/core/2.1.4:
1298   - resolution: {integrity: sha512-tVC44D66BbISD3gJaqH3xUrVEP5Pah0cDQV98sI3N6W6yMSOW4m3xuhqhcWvEd4DolKCp0vyvc/pW6rsQbMVRA==}
1299   - dependencies:
1300   - '@transloadit/prettier-bytes': 0.0.7
1301   - '@uppy/store-default': 2.0.3
1302   - '@uppy/utils': 4.0.5
1303   - lodash.throttle: 4.1.1
1304   - mime-match: 1.0.2
1305   - namespace-emitter: 2.0.1
1306   - nanoid: 3.3.4
1307   - preact: 10.6.5
1308   - dev: false
1309   -
1310   - /@uppy/store-default/2.0.3:
1311   - resolution: {integrity: sha512-2BGlN1sW0cFv4rOqTK8dfSg579S984N1HxCJxLFqeW9nWD6zd/O8Omyd85tbxGQ+FLZLTmLOm/feD0YeCBMahg==}
1312   - dev: false
1313   -
1314   - /@uppy/utils/4.0.5:
1315   - resolution: {integrity: sha512-uRv921A69UMjuWCLSC5tKXuIVoMOROVpFstIAQv5CoiCOCXyofcWpvAqELT7qlQJ5VRWha3uF5d/Z94SNnwxew==}
1316   - dependencies:
1317   - lodash.throttle: 4.1.1
1318   - dev: false
1319   -
1320   - /@uppy/xhr-upload/2.0.7_@uppy+core@2.1.4:
1321   - resolution: {integrity: sha512-bzCc654B0HfNmL4BIr7gGTvg2pQBucYgPmAb4ST7jGyWlEJWbSxMXR/19zvISQzpJ6v1uP6q2ppgxGMqNdj/rA==}
1322   - peerDependencies:
1323   - '@uppy/core': ^2.1.4
1324   - dependencies:
1325   - '@uppy/companion-client': 2.0.4
1326   - '@uppy/core': 2.1.4
1327   - '@uppy/utils': 4.0.5
1328   - nanoid: 3.3.4
1329   - dev: false
1330   -
1331   - /@vitejs/plugin-vue-jsx/2.0.0_vite@3.0.1+vue@3.2.37:
1332   - resolution: {integrity: sha512-WF9ApZ/ivyyW3volQfu0Td0KNPhcccYEaRNzNY1NxRLVJQLSX0nFqquv3e2g7MF74p1XZK4bGtDL2y5i5O5+1A==}
1333   - engines: {node: '>=14.18.0'}
1334   - peerDependencies:
1335   - vite: ^3.0.0
1336   - vue: ^3.0.0
1337   - dependencies:
1338   - '@babel/core': 7.18.9
1339   - '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.18.9
1340   - '@babel/plugin-transform-typescript': 7.18.8_@babel+core@7.18.9
1341   - '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.18.9
1342   - vite: 3.0.1_less@4.1.3
1343   - vue: 3.2.37
1344   - transitivePeerDependencies:
1345   - - supports-color
1346   - dev: true
1347   -
1348   - /@vitejs/plugin-vue/3.0.1_vite@3.0.1+vue@3.2.37:
1349   - resolution: {integrity: sha512-Ll9JgxG7ONIz/XZv3dssfoMUDu9qAnlJ+km+pBA0teYSXzwPCIzS/e1bmwNYl5dcQGs677D21amgfYAnzMl17A==}
1350   - engines: {node: ^14.18.0 || >=16.0.0}
1351   - peerDependencies:
1352   - vite: ^3.0.0
1353   - vue: ^3.2.25
1354   - dependencies:
1355   - vite: 3.0.1_less@4.1.3
1356   - vue: 3.2.37
1357   - dev: true
1358   -
1359   - /@volar/code-gen/0.38.8:
1360   - resolution: {integrity: sha512-e37jd+JwNjBpWiBblsdmYMbJ9bELiuj2yZrsXv1IVKpYNSfvS92ZiYjJqVXHUwpzNeZjFG0RCd5nTpbiebwANw==}
1361   - dependencies:
1362   - '@volar/source-map': 0.38.8
1363   - dev: true
1364   -
1365   - /@volar/source-map/0.38.8:
1366   - resolution: {integrity: sha512-JZvpjW/z2U3wq5wvwcTounPrRAZuSl4hlVKr3y7y72bKr++6W05OnX7fl/ddw39G/wLHdI2ag5+4JWsSd/EYhg==}
1367   - dev: true
1368   -
1369   - /@volar/vue-code-gen/0.38.8:
1370   - resolution: {integrity: sha512-iQVNmIu1TqnqTko+l9yeylmZipZ8zNH20XZAK9+48hkv2fEQnnJn5AI2W9Zb2M5DkGMpbYiJk9Fq1vm51YY1+g==}
1371   - dependencies:
1372   - '@volar/code-gen': 0.38.8
1373   - '@volar/source-map': 0.38.8
1374   - '@vue/compiler-core': 3.2.37
1375   - '@vue/compiler-dom': 3.2.37
1376   - '@vue/shared': 3.2.37
1377   - dev: true
1378   -
1379   - /@volar/vue-typescript/0.38.8:
1380   - resolution: {integrity: sha512-7WeFt5piz9I6FKw2cQQCWm+75MxS6xCOGm300iu+hJORlroN2dwWbwj97pQnDGbjQbftCRplUYf0GqmhcOsanQ==}
1381   - dependencies:
1382   - '@volar/code-gen': 0.38.8
1383   - '@volar/source-map': 0.38.8
1384   - '@volar/vue-code-gen': 0.38.8
1385   - '@vue/compiler-sfc': 3.2.37
1386   - '@vue/reactivity': 3.2.37
1387   - dev: true
1388   -
1389   - /@vue/babel-helper-vue-transform-on/1.0.2:
1390   - resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==}
1391   - dev: true
1392   -
1393   - /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.18.9:
1394   - resolution: {integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==}
1395   - dependencies:
1396   - '@babel/helper-module-imports': 7.16.7
1397   - '@babel/plugin-syntax-jsx': 7.16.5_@babel+core@7.18.9
1398   - '@babel/template': 7.16.7
1399   - '@babel/traverse': 7.17.9
1400   - '@babel/types': 7.17.0
1401   - '@vue/babel-helper-vue-transform-on': 1.0.2
1402   - camelcase: 6.2.1
1403   - html-tags: 3.2.0
1404   - svg-tags: 1.0.0
1405   - transitivePeerDependencies:
1406   - - '@babel/core'
1407   - - supports-color
1408   - dev: true
1409   -
1410   - /@vue/compiler-core/3.2.37:
1411   - resolution: {integrity: sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==}
1412   - dependencies:
1413   - '@babel/parser': 7.17.9
1414   - '@vue/shared': 3.2.37
1415   - estree-walker: 2.0.2
1416   - source-map: 0.6.1
1417   -
1418   - /@vue/compiler-dom/3.2.37:
1419   - resolution: {integrity: sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==}
1420   - dependencies:
1421   - '@vue/compiler-core': 3.2.37
1422   - '@vue/shared': 3.2.37
1423   -
1424   - /@vue/compiler-sfc/3.2.37:
1425   - resolution: {integrity: sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==}
1426   - dependencies:
1427   - '@babel/parser': 7.17.9
1428   - '@vue/compiler-core': 3.2.37
1429   - '@vue/compiler-dom': 3.2.37
1430   - '@vue/compiler-ssr': 3.2.37
1431   - '@vue/reactivity-transform': 3.2.37
1432   - '@vue/shared': 3.2.37
1433   - estree-walker: 2.0.2
1434   - magic-string: 0.25.7
1435   - postcss: 8.4.14
1436   - source-map: 0.6.1
1437   -
1438   - /@vue/compiler-ssr/3.2.37:
1439   - resolution: {integrity: sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==}
1440   - dependencies:
1441   - '@vue/compiler-dom': 3.2.37
1442   - '@vue/shared': 3.2.37
1443   -
1444   - /@vue/devtools-api/6.1.4:
1445   - resolution: {integrity: sha512-IiA0SvDrJEgXvVxjNkHPFfDx6SXw0b/TUkqMcDZWNg9fnCAHbTpoo59YfJ9QLFkwa3raau5vSlRVzMSLDnfdtQ==}
1446   -
1447   - /@vue/reactivity-transform/3.2.37:
1448   - resolution: {integrity: sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==}
1449   - dependencies:
1450   - '@babel/parser': 7.17.9
1451   - '@vue/compiler-core': 3.2.37
1452   - '@vue/shared': 3.2.37
1453   - estree-walker: 2.0.2
1454   - magic-string: 0.25.7
1455   -
1456   - /@vue/reactivity/3.2.37:
1457   - resolution: {integrity: sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==}
1458   - dependencies:
1459   - '@vue/shared': 3.2.37
1460   -
1461   - /@vue/runtime-core/3.2.37:
1462   - resolution: {integrity: sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==}
1463   - dependencies:
1464   - '@vue/reactivity': 3.2.37
1465   - '@vue/shared': 3.2.37
1466   -
1467   - /@vue/runtime-dom/3.2.37:
1468   - resolution: {integrity: sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==}
1469   - dependencies:
1470   - '@vue/runtime-core': 3.2.37
1471   - '@vue/shared': 3.2.37
1472   - csstype: 2.6.19
1473   -
1474   - /@vue/server-renderer/3.2.37_vue@3.2.37:
1475   - resolution: {integrity: sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==}
1476   - peerDependencies:
1477   - vue: 3.2.37
1478   - dependencies:
1479   - '@vue/compiler-ssr': 3.2.37
1480   - '@vue/shared': 3.2.37
1481   - vue: 3.2.37
1482   -
1483   - /@vue/shared/3.2.37:
1484   - resolution: {integrity: sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==}
1485   -
1486   - /@vueuse/core/8.9.4_vue@3.2.37:
1487   - resolution: {integrity: sha512-B/Mdj9TK1peFyWaPof+Zf/mP9XuGAngaJZBwPaXBvU3aCTZlx3ltlrFFFyMV4iGBwsjSCeUCgZrtkEj9dS2Y3Q==}
1488   - peerDependencies:
1489   - '@vue/composition-api': ^1.1.0
1490   - vue: ^2.6.0 || ^3.2.0
1491   - peerDependenciesMeta:
1492   - '@vue/composition-api':
1493   - optional: true
1494   - vue:
1495   - optional: true
1496   - dependencies:
1497   - '@types/web-bluetooth': 0.0.14
1498   - '@vueuse/metadata': 8.9.4
1499   - '@vueuse/shared': 8.9.4_vue@3.2.37
1500   - vue: 3.2.37
1501   - vue-demi: 0.12.1_vue@3.2.37
1502   - dev: false
1503   -
1504   - /@vueuse/metadata/8.9.4:
1505   - resolution: {integrity: sha512-IwSfzH80bnJMzqhaapqJl9JRIiyQU0zsRGEgnxN6jhq7992cPUJIRfV+JHRIZXjYqbwt07E1gTEp0R0zPJ1aqw==}
1506   - dev: false
1507   -
1508   - /@vueuse/shared/8.9.4_vue@3.2.37:
1509   - resolution: {integrity: sha512-wt+T30c4K6dGRMVqPddexEVLa28YwxW5OFIPmzUHICjphfAuBFTTdDoyqREZNDOFJZ44ARH1WWQNCUK8koJ+Ag==}
1510   - peerDependencies:
1511   - '@vue/composition-api': ^1.1.0
1512   - vue: ^2.6.0 || ^3.2.0
1513   - peerDependenciesMeta:
1514   - '@vue/composition-api':
1515   - optional: true
1516   - vue:
1517   - optional: true
1518   - dependencies:
1519   - vue: 3.2.37
1520   - vue-demi: 0.12.1_vue@3.2.37
1521   - dev: false
1522   -
1523   - /@wangeditor/basic-modules/1.1.3_wc2s6ucqguq7ye7cv5gs4ie3pa:
1524   - resolution: {integrity: sha512-TGJix4UelO46yAgwI946ctx4lSIJbYBwNvjSJ9Tf8mKr0WMCeLVBV+MV85rXPsfcmWtR4wBNwSg648Z+RbqRUg==}
1525   - peerDependencies:
1526   - '@wangeditor/core': 1.x
1527   - dom7: ^3.0.0
1528   - lodash.throttle: ^4.1.1
1529   - nanoid: ^3.2.0
1530   - slate: ^0.72.0
1531   - snabbdom: ^3.1.0
1532   - dependencies:
1533   - '@wangeditor/core': 1.1.8_bevuzdaogp7zvgcbkum7pdqkgy
1534   - dom7: 3.0.0
1535   - is-url: 1.2.4
1536   - lodash.throttle: 4.1.1
1537   - nanoid: 3.3.4
1538   - slate: 0.72.8
1539   - snabbdom: 3.3.1
1540   - dev: false
1541   -
1542   - /@wangeditor/code-highlight/1.0.2_f4mxrtym3fqiukj5pvowt5wic4:
1543   - resolution: {integrity: sha512-SCtOcUxjKqIso/LSxGSOaYr3G6MC2En0gNTyHIMCG928T0fo0ufaqp/vIXKQzVL2Y+X/CSAOB2EbrFlgGvr0AQ==}
1544   - peerDependencies:
1545   - '@wangeditor/core': 1.x
1546   - dom7: ^3.0.0
1547   - slate: ^0.72.0
1548   - snabbdom: ^3.1.0
1549   - dependencies:
1550   - '@wangeditor/core': 1.1.8_bevuzdaogp7zvgcbkum7pdqkgy
1551   - dom7: 3.0.0
1552   - prismjs: 1.26.0
1553   - slate: 0.72.8
1554   - snabbdom: 3.3.1
1555   - dev: false
1556   -
1557   - /@wangeditor/core/1.1.8_bevuzdaogp7zvgcbkum7pdqkgy:
1558   - resolution: {integrity: sha512-TfCtAXfL/bgmUKQbtLEaboK7wH49G7BQqYoQsylZ7MyD1LhYnVLXp/4RzJbuIr4cV9Bs1Ncz1JoZ9tqDe6WImw==}
1559   - peerDependencies:
1560   - '@uppy/core': ^2.1.1
1561   - '@uppy/xhr-upload': ^2.0.3
1562   - dom7: ^3.0.0
1563   - is-hotkey: ^0.2.0
1564   - lodash.camelcase: ^4.3.0
1565   - lodash.clonedeep: ^4.5.0
1566   - lodash.debounce: ^4.0.8
1567   - lodash.foreach: ^4.5.0
1568   - lodash.isequal: ^4.5.0
1569   - lodash.throttle: ^4.1.1
1570   - lodash.toarray: ^4.4.0
1571   - nanoid: ^3.2.0
1572   - slate: ^0.72.0
1573   - snabbdom: ^3.1.0
1574   - dependencies:
1575   - '@types/event-emitter': 0.3.3
1576   - '@uppy/core': 2.1.4
1577   - '@uppy/xhr-upload': 2.0.7_@uppy+core@2.1.4
1578   - dom7: 3.0.0
1579   - event-emitter: 0.3.5
1580   - html-void-elements: 2.0.1
1581   - i18next: 20.6.1
1582   - is-hotkey: 0.2.0
1583   - lodash.camelcase: 4.3.0
1584   - lodash.clonedeep: 4.5.0
1585   - lodash.debounce: 4.0.8
1586   - lodash.foreach: 4.5.0
1587   - lodash.isequal: 4.5.0
1588   - lodash.throttle: 4.1.1
1589   - lodash.toarray: 4.4.0
1590   - nanoid: 3.3.4
1591   - scroll-into-view-if-needed: 2.2.29
1592   - slate: 0.72.8
1593   - slate-history: 0.66.0_slate@0.72.8
1594   - snabbdom: 3.3.1
1595   - dev: false
1596   -
1597   - /@wangeditor/editor-for-vue/5.1.10_wyweaejqxhtklhndhf2ynbwhvm:
1598   - resolution: {integrity: sha512-OdtMnMt0HpYriY1+Efo3KHviUB5zwlZIaHypNw5MPRn8uFq3MFLET5u8pbB/PiEF5Ff88YAp7T9Xw1dvJzT8sA==}
1599   - peerDependencies:
1600   - '@wangeditor/editor': '>=5.0.0'
1601   - vue: ^3.0.5
1602   - dependencies:
1603   - '@wangeditor/editor': 5.1.11
1604   - vue: 3.2.37
1605   - dev: false
1606   -
1607   - /@wangeditor/editor/5.1.11:
1608   - resolution: {integrity: sha512-jJbY2OirSy16UY9OkOCBw0DhQpOzTIGRLYL724wYSWf9nO6DpO21bemmEoDDF5zULtabEm3w0dvSxTSVd7amLw==}
1609   - dependencies:
1610   - '@uppy/core': 2.1.4
1611   - '@uppy/xhr-upload': 2.0.7_@uppy+core@2.1.4
1612   - '@wangeditor/basic-modules': 1.1.3_wc2s6ucqguq7ye7cv5gs4ie3pa
1613   - '@wangeditor/code-highlight': 1.0.2_f4mxrtym3fqiukj5pvowt5wic4
1614   - '@wangeditor/core': 1.1.8_bevuzdaogp7zvgcbkum7pdqkgy
1615   - '@wangeditor/list-module': 1.0.2_f4mxrtym3fqiukj5pvowt5wic4
1616   - '@wangeditor/table-module': 1.1.1_bvrp5jl242d2qfje6ynmi2zcee
1617   - '@wangeditor/upload-image-module': 1.0.1_ufbnlxopmh6qp74j246va2ubh4
1618   - '@wangeditor/video-module': 1.1.1_gg5oy5micpmd7yyutevooksz6m
1619   - dom7: 3.0.0
1620   - is-hotkey: 0.2.0
1621   - lodash.camelcase: 4.3.0
1622   - lodash.clonedeep: 4.5.0
1623   - lodash.debounce: 4.0.8
1624   - lodash.foreach: 4.5.0
1625   - lodash.isequal: 4.5.0
1626   - lodash.throttle: 4.1.1
1627   - lodash.toarray: 4.4.0
1628   - nanoid: 3.3.4
1629   - slate: 0.72.8
1630   - snabbdom: 3.3.1
1631   - dev: false
1632   -
1633   - /@wangeditor/list-module/1.0.2_f4mxrtym3fqiukj5pvowt5wic4:
1634   - resolution: {integrity: sha512-VfENZEFvsLTiLxN/cj8cibFGy9NVV+/cfATTiLiH9ef+8lgKv8apttXYVlqIAfnlJLLuCk0cIm8c/zH+hbtrZg==}
1635   - peerDependencies:
1636   - '@wangeditor/core': 1.x
1637   - dom7: ^3.0.0
1638   - slate: ^0.72.0
1639   - snabbdom: ^3.1.0
1640   - dependencies:
1641   - '@wangeditor/core': 1.1.8_bevuzdaogp7zvgcbkum7pdqkgy
1642   - dom7: 3.0.0
1643   - slate: 0.72.8
1644   - snabbdom: 3.3.1
1645   - dev: false
1646   -
1647   - /@wangeditor/table-module/1.1.1_bvrp5jl242d2qfje6ynmi2zcee:
1648   - resolution: {integrity: sha512-VPjEWQtncS2DsXYXiHUxPSxn2Xhc8GdhG3la7N5YhvxQde1+4N0SZLXeWsYvbGzOq4um5XToq5pktLLbE8G+EA==}
1649   - peerDependencies:
1650   - '@wangeditor/core': 1.x
1651   - dom7: ^3.0.0
1652   - lodash.isequal: ^4.5.0
1653   - lodash.throttle: ^4.1.1
1654   - nanoid: ^3.2.0
1655   - slate: ^0.72.0
1656   - snabbdom: ^3.1.0
1657   - dependencies:
1658   - '@wangeditor/core': 1.1.8_bevuzdaogp7zvgcbkum7pdqkgy
1659   - dom7: 3.0.0
1660   - lodash.isequal: 4.5.0
1661   - lodash.throttle: 4.1.1
1662   - nanoid: 3.3.4
1663   - slate: 0.72.8
1664   - snabbdom: 3.3.1
1665   - dev: false
1666   -
1667   - /@wangeditor/upload-image-module/1.0.1_ufbnlxopmh6qp74j246va2ubh4:
1668   - resolution: {integrity: sha512-vgUV4ENttTITblqtVuzleIq732OmzmzzgrIvX6b3GRGPSw5u8glJ/87tOEhvHjHECc4oFo18B7xzJ1GpBj79/w==}
1669   - peerDependencies:
1670   - '@uppy/core': ^2.0.3
1671   - '@uppy/xhr-upload': ^2.0.3
1672   - '@wangeditor/basic-modules': 1.x
1673   - '@wangeditor/core': 1.x
1674   - dom7: ^3.0.0
1675   - lodash.foreach: ^4.5.0
1676   - slate: ^0.72.0
1677   - snabbdom: ^3.1.0
1678   - dependencies:
1679   - '@uppy/core': 2.1.4
1680   - '@uppy/xhr-upload': 2.0.7_@uppy+core@2.1.4
1681   - '@wangeditor/basic-modules': 1.1.3_wc2s6ucqguq7ye7cv5gs4ie3pa
1682   - '@wangeditor/core': 1.1.8_bevuzdaogp7zvgcbkum7pdqkgy
1683   - dom7: 3.0.0
1684   - lodash.foreach: 4.5.0
1685   - slate: 0.72.8
1686   - snabbdom: 3.3.1
1687   - dev: false
1688   -
1689   - /@wangeditor/video-module/1.1.1_gg5oy5micpmd7yyutevooksz6m:
1690   - resolution: {integrity: sha512-6gzpS5cnJihW2T0HFjqmbv6v8ouyaeMUjdM2X8BPohwD74p1ov00dCmRt5QekNTyYSmRHK0ASkUMOvRGqaDxMg==}
1691   - peerDependencies:
1692   - '@uppy/core': ^2.1.4
1693   - '@uppy/xhr-upload': ^2.0.7
1694   - '@wangeditor/core': 1.x
1695   - dom7: ^3.0.0
1696   - nanoid: ^3.2.0
1697   - slate: ^0.72.0
1698   - snabbdom: ^3.1.0
1699   - dependencies:
1700   - '@uppy/core': 2.1.4
1701   - '@uppy/xhr-upload': 2.0.7_@uppy+core@2.1.4
1702   - '@wangeditor/core': 1.1.8_bevuzdaogp7zvgcbkum7pdqkgy
1703   - dom7: 3.0.0
1704   - nanoid: 3.3.4
1705   - slate: 0.72.8
1706   - snabbdom: 3.3.1
1707   - dev: false
1708   -
1709   - /@windicss/config/1.8.4:
1710   - resolution: {integrity: sha512-i4fFGFfZoRess6WMkauykHC3PFd9xKYVx7lSuLfMK7sgo6x3+l4dY42GbsWMHyLqH1sTMfyt1LgfXSIKYJozSA==}
1711   - dependencies:
1712   - debug: 4.3.4
1713   - jiti: 1.14.0
1714   - windicss: 3.5.6
1715   - transitivePeerDependencies:
1716   - - supports-color
1717   - dev: true
1718   -
1719   - /@windicss/config/1.8.7:
1720   - resolution: {integrity: sha512-8n+/Y36j5L3rw2tgMdLjeGRuNV7VYfKoHoraLK6Bk9OJ1MTPd5vv7pekof/uOPWVV7WWjVeZ6CTO8SDbDDW3iw==}
1721   - dependencies:
1722   - debug: 4.3.4
1723   - jiti: 1.14.0
1724   - windicss: 3.5.6
1725   - transitivePeerDependencies:
1726   - - supports-color
1727   - dev: true
1728   -
1729   - /@windicss/plugin-utils/1.8.4:
1730   - resolution: {integrity: sha512-DqJVwAfzlgd8nYSNlmhXOey32pI8UwH7QiOWdFS/AR2O/q9oLDGHDn97Its/kZdfoyhi8ylwZNP2Pk0H7cihhQ==}
1731   - dependencies:
1732   - '@antfu/utils': 0.5.2
1733   - '@windicss/config': 1.8.4
1734   - debug: 4.3.4
1735   - fast-glob: 3.2.11
1736   - magic-string: 0.26.2
1737   - micromatch: 4.0.5
1738   - windicss: 3.5.6
1739   - transitivePeerDependencies:
1740   - - supports-color
1741   - dev: true
1742   -
1743   - /@windicss/plugin-utils/1.8.7:
1744   - resolution: {integrity: sha512-dfj95olNZyGFDPFMBvE5oq8hA5f0ooUJZjVdWlthS4ek4W1/xNOHDxB6ygWR8LE9zCOXZykApjt1LOhy9Ky2QA==}
1745   - dependencies:
1746   - '@antfu/utils': 0.5.2
1747   - '@windicss/config': 1.8.7
1748   - debug: 4.3.4
1749   - fast-glob: 3.2.11
1750   - magic-string: 0.26.2
1751   - micromatch: 4.0.5
1752   - windicss: 3.5.6
1753   - transitivePeerDependencies:
1754   - - supports-color
1755   - dev: true
1756   -
1757   - /@zxcvbn-ts/core/2.0.3:
1758   - resolution: {integrity: sha512-lHzjnnTFGquVLpG1IraXlDzZ//h/11Ws7ZuwIeDTIExaLFntEdZh1EirwgRF34S4ceou3zxG15as2Ik5W473hA==}
1759   - dev: false
1760   -
1761   - /JSONStream/1.3.5:
1762   - resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
1763   - hasBin: true
1764   - dependencies:
1765   - jsonparse: 1.3.1
1766   - through: 2.3.8
1767   - dev: true
1768   -
1769   - /acorn-jsx/5.3.2_acorn@7.4.1:
1770   - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
1771   - peerDependencies:
1772   - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
1773   - dependencies:
1774   - acorn: 7.4.1
1775   - dev: true
1776   -
1777   - /acorn-jsx/5.3.2_acorn@8.7.1:
1778   - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
1779   - peerDependencies:
1780   - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
1781   - dependencies:
1782   - acorn: 8.7.1
1783   - dev: true
1784   -
1785   - /acorn-walk/8.2.0:
1786   - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
1787   - engines: {node: '>=0.4.0'}
1788   - dev: true
1789   -
1790   - /acorn/7.4.1:
1791   - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
1792   - engines: {node: '>=0.4.0'}
1793   - hasBin: true
1794   - dev: true
1795   -
1796   - /acorn/8.7.1:
1797   - resolution: {integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==}
1798   - engines: {node: '>=0.4.0'}
1799   - hasBin: true
1800   - dev: true
1801   -
1802   - /aggregate-error/3.1.0:
1803   - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
1804   - engines: {node: '>=8'}
1805   - dependencies:
1806   - clean-stack: 2.2.0
1807   - indent-string: 4.0.0
1808   - dev: true
1809   -
1810   - /ajv/6.12.6:
1811   - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
1812   - dependencies:
1813   - fast-deep-equal: 3.1.3
1814   - fast-json-stable-stringify: 2.1.0
1815   - json-schema-traverse: 0.4.1
1816   - uri-js: 4.4.1
1817   - dev: true
1818   -
1819   - /ajv/8.11.0:
1820   - resolution: {integrity: sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==}
1821   - dependencies:
1822   - fast-deep-equal: 3.1.3
1823   - json-schema-traverse: 1.0.0
1824   - require-from-string: 2.0.2
1825   - uri-js: 4.4.1
1826   - dev: true
1827   -
1828   - /animate.css/4.1.1:
1829   - resolution: {integrity: sha512-+mRmCTv6SbCmtYJCN4faJMNFVNN5EuCTTprDTAo7YzIGji2KADmakjVA3+8mVDkZ2Bf09vayB35lSQIex2+QaQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/animate.css/download/animate.css-4.1.1.tgz}
1830   - dev: false
1831   -
1832   - /ansi-escapes/4.3.2:
1833   - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
1834   - engines: {node: '>=8'}
1835   - dependencies:
1836   - type-fest: 0.21.3
1837   - dev: true
1838   -
1839   - /ansi-regex/2.1.1:
1840   - resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==}
1841   - engines: {node: '>=0.10.0'}
1842   - dev: true
1843   -
1844   - /ansi-regex/5.0.1:
1845   - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
1846   - engines: {node: '>=8'}
1847   -
1848   - /ansi-regex/6.0.1:
1849   - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
1850   - engines: {node: '>=12'}
1851   - dev: true
1852   -
1853   - /ansi-styles/2.2.1:
1854   - resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==}
1855   - engines: {node: '>=0.10.0'}
1856   - dev: true
1857   -
1858   - /ansi-styles/3.2.1:
1859   - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
1860   - engines: {node: '>=4'}
1861   - dependencies:
1862   - color-convert: 1.9.3
1863   - dev: true
1864   -
1865   - /ansi-styles/4.3.0:
1866   - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
1867   - engines: {node: '>=8'}
1868   - dependencies:
1869   - color-convert: 2.0.1
1870   -
1871   - /ansi-styles/6.1.0:
1872   - resolution: {integrity: sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==}
1873   - engines: {node: '>=12'}
1874   - dev: true
1875   -
1876   - /anymatch/3.1.2:
1877   - resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==}
1878   - engines: {node: '>= 8'}
1879   - dependencies:
1880   - normalize-path: 3.0.0
1881   - picomatch: 2.3.1
1882   - dev: true
1883   -
1884   - /arg/4.1.3:
1885   - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
1886   - dev: true
1887   -
1888   - /argparse/2.0.1:
1889   - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
1890   - dev: true
1891   -
1892   - /arr-diff/4.0.0:
1893   - resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/arr-diff/-/arr-diff-4.0.0.tgz}
1894   - engines: {node: '>=0.10.0'}
1895   - dev: true
1896   -
1897   - /arr-flatten/1.1.0:
1898   - resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/arr-flatten/-/arr-flatten-1.1.0.tgz}
1899   - engines: {node: '>=0.10.0'}
1900   - dev: true
1901   -
1902   - /arr-union/3.1.0:
1903   - resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/arr-union/-/arr-union-3.1.0.tgz}
1904   - engines: {node: '>=0.10.0'}
1905   - dev: true
1906   -
1907   - /array-each/1.0.1:
1908   - resolution: {integrity: sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==}
1909   - engines: {node: '>=0.10.0'}
1910   - dev: true
1911   -
1912   - /array-ify/1.0.0:
1913   - resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==}
1914   - dev: true
1915   -
1916   - /array-slice/1.1.0:
1917   - resolution: {integrity: sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==}
1918   - engines: {node: '>=0.10.0'}
1919   - dev: true
1920   -
1921   - /array-union/2.1.0:
1922   - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
1923   - engines: {node: '>=8'}
1924   - dev: true
1925   -
1926   - /array-unique/0.3.2:
1927   - resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/array-unique/-/array-unique-0.3.2.tgz}
1928   - engines: {node: '>=0.10.0'}
1929   - dev: true
1930   -
1931   - /arrify/1.0.1:
1932   - resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==}
1933   - engines: {node: '>=0.10.0'}
1934   - dev: true
1935   -
1936   - /arrify/2.0.1:
1937   - resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/arrify/-/arrify-2.0.1.tgz}
1938   - engines: {node: '>=8'}
1939   - dev: true
1940   -
1941   - /assign-symbols/1.0.0:
1942   - resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/assign-symbols/-/assign-symbols-1.0.0.tgz}
1943   - engines: {node: '>=0.10.0'}
1944   - dev: true
1945   -
1946   - /astral-regex/2.0.0:
1947   - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==}
1948   - engines: {node: '>=8'}
1949   - dev: true
1950   -
1951   - /async-validator/4.2.5:
1952   - resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==}
1953   - dev: false
1954   -
1955   - /async/0.9.2:
1956   - resolution: {integrity: sha512-l6ToIJIotphWahxxHyzK9bnLR6kM4jJIIgLShZeqLY7iboHoGkdgFl7W2/Ivi4SkMJYGKqW8vSuk0uKUj6qsSw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/async/-/async-0.9.2.tgz}
1957   - dev: true
1958   -
1959   - /asynckit/0.4.0:
1960   - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
1961   - dev: false
1962   -
1963   - /atob/2.1.2:
1964   - resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/atob/-/atob-2.1.2.tgz}
1965   - engines: {node: '>= 4.5.0'}
1966   - hasBin: true
1967   - dev: true
1968   -
1969   - /autoprefixer/10.4.7_postcss@8.4.14:
1970   - resolution: {integrity: sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==}
1971   - engines: {node: ^10 || ^12 || >=14}
1972   - hasBin: true
1973   - peerDependencies:
1974   - postcss: ^8.1.0
1975   - dependencies:
1976   - browserslist: 4.20.3
1977   - caniuse-lite: 1.0.30001335
1978   - fraction.js: 4.2.0
1979   - normalize-range: 0.1.2
1980   - picocolors: 1.0.0
1981   - postcss: 8.4.14
1982   - postcss-value-parser: 4.2.0
1983   - dev: true
1984   -
1985   - /axios/0.26.1_debug@4.3.4:
1986   - resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==}
1987   - dependencies:
1988   - follow-redirects: 1.14.9
1989   - transitivePeerDependencies:
1990   - - debug
1991   - dev: true
1992   -
1993   - /axios/0.27.2:
1994   - resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==}
1995   - dependencies:
1996   - follow-redirects: 1.14.9
1997   - form-data: 4.0.0
1998   - transitivePeerDependencies:
1999   - - debug
2000   - dev: false
2001   -
2002   - /balanced-match/1.0.2:
2003   - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
2004   - dev: true
2005   -
2006   - /balanced-match/2.0.0:
2007   - resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==}
2008   - dev: true
2009   -
2010   - /base/0.11.2:
2011   - resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/base/-/base-0.11.2.tgz}
2012   - engines: {node: '>=0.10.0'}
2013   - dependencies:
2014   - cache-base: 1.0.1
2015   - class-utils: 0.3.6
2016   - component-emitter: 1.3.0
2017   - define-property: 1.0.0
2018   - isobject: 3.0.1
2019   - mixin-deep: 1.3.2
2020   - pascalcase: 0.1.1
2021   - dev: true
2022   -
2023   - /base64-js/1.5.1:
2024   - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
2025   - dev: true
2026   -
2027   - /big.js/5.2.2:
2028   - resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz}
2029   - dev: true
2030   -
2031   - /binary-extensions/2.2.0:
2032   - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
2033   - engines: {node: '>=8'}
2034   - dev: true
2035   -
2036   - /bl/4.1.0:
2037   - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
2038   - dependencies:
2039   - buffer: 5.7.1
2040   - inherits: 2.0.4
2041   - readable-stream: 3.6.0
2042   - dev: true
2043   -
2044   - /bl/5.0.0:
2045   - resolution: {integrity: sha512-8vxFNZ0pflFfi0WXA3WQXlj6CaMEwsmh63I1CNp0q+wWv8sD0ARx1KovSQd0l2GkwrMIOyedq0EF1FxI+RCZLQ==}
2046   - dependencies:
2047   - buffer: 6.0.3
2048   - inherits: 2.0.4
2049   - readable-stream: 3.6.0
2050   - dev: true
2051   -
2052   - /bluebird/3.7.2:
2053   - resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/bluebird/-/bluebird-3.7.2.tgz}
2054   - dev: true
2055   -
2056   - /boolbase/1.0.0:
2057   - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
2058   - dev: true
2059   -
2060   - /brace-expansion/1.1.11:
2061   - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
2062   - dependencies:
2063   - balanced-match: 1.0.2
2064   - concat-map: 0.0.1
2065   - dev: true
2066   -
2067   - /braces/2.3.2:
2068   - resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==}
2069   - engines: {node: '>=0.10.0'}
2070   - dependencies:
2071   - arr-flatten: 1.1.0
2072   - array-unique: 0.3.2
2073   - extend-shallow: 2.0.1
2074   - fill-range: 4.0.0
2075   - isobject: 3.0.1
2076   - repeat-element: 1.1.4
2077   - snapdragon: 0.8.2
2078   - snapdragon-node: 2.1.1
2079   - split-string: 3.1.0
2080   - to-regex: 3.0.2
2081   - transitivePeerDependencies:
2082   - - supports-color
2083   - dev: true
2084   -
2085   - /braces/3.0.2:
2086   - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
2087   - engines: {node: '>=8'}
2088   - dependencies:
2089   - fill-range: 7.0.1
2090   - dev: true
2091   -
2092   - /browserslist/4.20.3:
2093   - resolution: {integrity: sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==}
2094   - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
2095   - hasBin: true
2096   - dependencies:
2097   - caniuse-lite: 1.0.30001335
2098   - electron-to-chromium: 1.4.134
2099   - escalade: 3.1.1
2100   - node-releases: 2.0.4
2101   - picocolors: 1.0.0
2102   - dev: true
2103   -
2104   - /buffer-from/1.1.2:
2105   - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/buffer-from/-/buffer-from-1.1.2.tgz}
2106   - dev: true
2107   -
2108   - /buffer/5.7.1:
2109   - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
2110   - dependencies:
2111   - base64-js: 1.5.1
2112   - ieee754: 1.2.1
2113   - dev: true
2114   -
2115   - /buffer/6.0.3:
2116   - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
2117   - dependencies:
2118   - base64-js: 1.5.1
2119   - ieee754: 1.2.1
2120   - dev: true
2121   -
2122   - /cac/6.7.12:
2123   - resolution: {integrity: sha512-rM7E2ygtMkJqD9c7WnFU6fruFcN3xe4FM5yUmgxhZzIKJk4uHl9U/fhwdajGFQbQuv43FAUo1Fe8gX/oIKDeSA==}
2124   - engines: {node: '>=8'}
2125   - dev: true
2126   -
2127   - /cache-base/1.0.1:
2128   - resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/cache-base/-/cache-base-1.0.1.tgz}
2129   - engines: {node: '>=0.10.0'}
2130   - dependencies:
2131   - collection-visit: 1.0.0
2132   - component-emitter: 1.3.0
2133   - get-value: 2.0.6
2134   - has-value: 1.0.0
2135   - isobject: 3.0.1
2136   - set-value: 2.0.1
2137   - to-object-path: 0.3.0
2138   - union-value: 1.0.1
2139   - unset-value: 1.0.0
2140   - dev: true
2141   -
2142   - /call-bind/1.0.2:
2143   - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
2144   - dependencies:
2145   - function-bind: 1.1.1
2146   - get-intrinsic: 1.1.1
2147   - dev: false
2148   -
2149   - /callsites/3.1.0:
2150   - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
2151   - engines: {node: '>=6'}
2152   - dev: true
2153   -
2154   - /camel-case/4.1.2:
2155   - resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
2156   - dependencies:
2157   - pascal-case: 3.1.2
2158   - tslib: 2.3.1
2159   - dev: true
2160   -
2161   - /camelcase-keys/6.2.2:
2162   - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==}
2163   - engines: {node: '>=8'}
2164   - dependencies:
2165   - camelcase: 5.3.1
2166   - map-obj: 4.3.0
2167   - quick-lru: 4.0.1
2168   - dev: true
2169   -
2170   - /camelcase/5.3.1:
2171   - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
2172   - engines: {node: '>=6'}
2173   -
2174   - /camelcase/6.2.1:
2175   - resolution: {integrity: sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==}
2176   - engines: {node: '>=10'}
2177   - dev: true
2178   -
2179   - /caniuse-lite/1.0.30001335:
2180   - resolution: {integrity: sha512-ddP1Tgm7z2iIxu6QTtbZUv6HJxSaV/PZeSrWFZtbY4JZ69tOeNhBCl3HyRQgeNZKE5AOn1kpV7fhljigy0Ty3w==}
2181   - dev: true
2182   -
2183   - /capital-case/1.0.4:
2184   - resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==}
2185   - dependencies:
2186   - no-case: 3.0.4
2187   - tslib: 2.3.1
2188   - upper-case-first: 2.0.2
2189   - dev: true
2190   -
2191   - /chalk/1.1.3:
2192   - resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==}
2193   - engines: {node: '>=0.10.0'}
2194   - dependencies:
2195   - ansi-styles: 2.2.1
2196   - escape-string-regexp: 1.0.5
2197   - has-ansi: 2.0.0
2198   - strip-ansi: 3.0.1
2199   - supports-color: 2.0.0
2200   - dev: true
2201   -
2202   - /chalk/2.4.2:
2203   - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
2204   - engines: {node: '>=4'}
2205   - dependencies:
2206   - ansi-styles: 3.2.1
2207   - escape-string-regexp: 1.0.5
2208   - supports-color: 5.5.0
2209   - dev: true
2210   -
2211   - /chalk/3.0.0:
2212   - resolution: {integrity: sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/chalk/download/chalk-3.0.0.tgz}
2213   - engines: {node: '>=8'}
2214   - dependencies:
2215   - ansi-styles: 4.3.0
2216   - supports-color: 7.2.0
2217   - dev: true
2218   -
2219   - /chalk/4.1.2:
2220   - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
2221   - engines: {node: '>=10'}
2222   - dependencies:
2223   - ansi-styles: 4.3.0
2224   - supports-color: 7.2.0
2225   - dev: true
2226   -
2227   - /chalk/5.0.1:
2228   - resolution: {integrity: sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==}
2229   - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
2230   - dev: true
2231   -
2232   - /change-case/4.1.2:
2233   - resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==}
2234   - dependencies:
2235   - camel-case: 4.1.2
2236   - capital-case: 1.0.4
2237   - constant-case: 3.0.4
2238   - dot-case: 3.0.4
2239   - header-case: 2.0.4
2240   - no-case: 3.0.4
2241   - param-case: 3.0.4
2242   - pascal-case: 3.1.2
2243   - path-case: 3.0.4
2244   - sentence-case: 3.0.4
2245   - snake-case: 3.0.4
2246   - tslib: 2.3.1
2247   - dev: true
2248   -
2249   - /chardet/0.7.0:
2250   - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
2251   - dev: true
2252   -
2253   - /cheerio-select/1.6.0:
2254   - resolution: {integrity: sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==}
2255   - dependencies:
2256   - css-select: 4.3.0
2257   - css-what: 6.1.0
2258   - domelementtype: 2.3.0
2259   - domhandler: 4.3.1
2260   - domutils: 2.8.0
2261   - dev: true
2262   -
2263   - /cheerio/1.0.0-rc.10:
2264   - resolution: {integrity: sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==}
2265   - engines: {node: '>= 6'}
2266   - dependencies:
2267   - cheerio-select: 1.6.0
2268   - dom-serializer: 1.3.2
2269   - domhandler: 4.3.1
2270   - htmlparser2: 6.1.0
2271   - parse5: 6.0.1
2272   - parse5-htmlparser2-tree-adapter: 6.0.1
2273   - tslib: 2.3.1
2274   - dev: true
2275   -
2276   - /chokidar/3.5.3:
2277   - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
2278   - engines: {node: '>= 8.10.0'}
2279   - dependencies:
2280   - anymatch: 3.1.2
2281   - braces: 3.0.2
2282   - glob-parent: 5.1.2
2283   - is-binary-path: 2.1.0
2284   - is-glob: 4.0.3
2285   - normalize-path: 3.0.0
2286   - readdirp: 3.6.0
2287   - optionalDependencies:
2288   - fsevents: 2.3.2
2289   - dev: true
2290   -
2291   - /class-utils/0.3.6:
2292   - resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/class-utils/-/class-utils-0.3.6.tgz}
2293   - engines: {node: '>=0.10.0'}
2294   - dependencies:
2295   - arr-union: 3.1.0
2296   - define-property: 0.2.5
2297   - isobject: 3.0.1
2298   - static-extend: 0.1.2
2299   - dev: true
2300   -
2301   - /clean-css/5.2.4:
2302   - resolution: {integrity: sha512-nKseG8wCzEuji/4yrgM/5cthL9oTDc5UOQyFMvW/Q53oP6gLH690o1NbuTh6Y18nujr7BxlsFuS7gXLnLzKJGg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/clean-css/-/clean-css-5.2.4.tgz}
2303   - engines: {node: '>= 10.0'}
2304   - dependencies:
2305   - source-map: 0.6.1
2306   - dev: true
2307   -
2308   - /clean-stack/2.2.0:
2309   - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
2310   - engines: {node: '>=6'}
2311   - dev: true
2312   -
2313   - /cli-cursor/3.1.0:
2314   - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
2315   - engines: {node: '>=8'}
2316   - dependencies:
2317   - restore-cursor: 3.1.0
2318   - dev: true
2319   -
2320   - /cli-cursor/4.0.0:
2321   - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==}
2322   - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
2323   - dependencies:
2324   - restore-cursor: 4.0.0
2325   - dev: true
2326   -
2327   - /cli-spinners/2.6.1:
2328   - resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==}
2329   - engines: {node: '>=6'}
2330   - dev: true
2331   -
2332   - /cli-truncate/2.1.0:
2333   - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==}
2334   - engines: {node: '>=8'}
2335   - dependencies:
2336   - slice-ansi: 3.0.0
2337   - string-width: 4.2.3
2338   - dev: true
2339   -
2340   - /cli-truncate/3.1.0:
2341   - resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==}
2342   - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
2343   - dependencies:
2344   - slice-ansi: 5.0.0
2345   - string-width: 5.0.1
2346   - dev: true
2347   -
2348   - /cli-width/3.0.0:
2349   - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==}
2350   - engines: {node: '>= 10'}
2351   - dev: true
2352   -
2353   - /cliui/6.0.0:
2354   - resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
2355   - dependencies:
2356   - string-width: 4.2.3
2357   - strip-ansi: 6.0.1
2358   - wrap-ansi: 6.2.0
2359   - dev: false
2360   -
2361   - /cliui/7.0.4:
2362   - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
2363   - dependencies:
2364   - string-width: 4.2.3
2365   - strip-ansi: 6.0.1
2366   - wrap-ansi: 7.0.0
2367   - dev: true
2368   -
2369   - /clone-regexp/2.2.0:
2370   - resolution: {integrity: sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==}
2371   - engines: {node: '>=6'}
2372   - dependencies:
2373   - is-regexp: 2.1.0
2374   - dev: true
2375   -
2376   - /clone/1.0.4:
2377   - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
2378   - engines: {node: '>=0.8'}
2379   - dev: true
2380   -
2381   - /clone/2.1.2:
2382   - resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==}
2383   - engines: {node: '>=0.8'}
2384   - dev: true
2385   -
2386   - /collection-visit/1.0.0:
2387   - resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/collection-visit/-/collection-visit-1.0.0.tgz}
2388   - engines: {node: '>=0.10.0'}
2389   - dependencies:
2390   - map-visit: 1.0.0
2391   - object-visit: 1.0.1
2392   - dev: true
2393   -
2394   - /color-convert/1.9.3:
2395   - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
2396   - dependencies:
2397   - color-name: 1.1.3
2398   - dev: true
2399   -
2400   - /color-convert/2.0.1:
2401   - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
2402   - engines: {node: '>=7.0.0'}
2403   - dependencies:
2404   - color-name: 1.1.4
2405   -
2406   - /color-name/1.1.3:
2407   - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
2408   - dev: true
2409   -
2410   - /color-name/1.1.4:
2411   - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
2412   -
2413   - /colord/2.9.2:
2414   - resolution: {integrity: sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==}
2415   - dev: true
2416   -
2417   - /colorette/2.0.16:
2418   - resolution: {integrity: sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==}
2419   - dev: true
2420   -
2421   - /colorette/2.0.17:
2422   - resolution: {integrity: sha512-hJo+3Bkn0NCHybn9Tu35fIeoOKGOk5OCC32y4Hz2It+qlCO2Q3DeQ1hRn/tDDMQKRYUEzqsl7jbF6dYKjlE60g==}
2423   - dev: true
2424   -
2425   - /combined-stream/1.0.8:
2426   - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
2427   - engines: {node: '>= 0.8'}
2428   - dependencies:
2429   - delayed-stream: 1.0.0
2430   - dev: false
2431   -
2432   - /commander/2.20.3:
2433   - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
2434   - dev: true
2435   -
2436   - /commander/7.2.0:
2437   - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
2438   - engines: {node: '>= 10'}
2439   - dev: true
2440   -
2441   - /commander/8.3.0:
2442   - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
2443   - engines: {node: '>= 12'}
2444   - dev: true
2445   -
2446   - /commander/9.3.0:
2447   - resolution: {integrity: sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw==}
2448   - engines: {node: ^12.20.0 || >=14}
2449   - dev: true
2450   -
2451   - /compare-func/2.0.0:
2452   - resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==}
2453   - dependencies:
2454   - array-ify: 1.0.0
2455   - dot-prop: 5.3.0
2456   - dev: true
2457   -
2458   - /component-emitter/1.3.0:
2459   - resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/component-emitter/-/component-emitter-1.3.0.tgz}
2460   - dev: true
2461   -
2462   - /compute-scroll-into-view/1.0.17:
2463   - resolution: {integrity: sha512-j4dx+Fb0URmzbwwMUrhqWM2BEWHdFGx+qZ9qqASHRPqvTYdqvWnHg0H1hIbcyLnvgnoNAVMlwkepyqM3DaIFUg==}
2464   - dev: false
2465   -
2466   - /concat-map/0.0.1:
2467   - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
2468   - dev: true
2469   -
2470   - /connect-history-api-fallback/1.6.0:
2471   - resolution: {integrity: sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz}
2472   - engines: {node: '>=0.8'}
2473   - dev: true
2474   -
2475   - /connect/3.7.0:
2476   - resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==}
2477   - engines: {node: '>= 0.10.0'}
2478   - dependencies:
2479   - debug: 2.6.9
2480   - finalhandler: 1.1.2
2481   - parseurl: 1.3.3
2482   - utils-merge: 1.0.1
2483   - transitivePeerDependencies:
2484   - - supports-color
2485   - dev: true
2486   -
2487   - /consola/2.15.3:
2488   - resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/consola/-/consola-2.15.3.tgz}
2489   - dev: true
2490   -
2491   - /constant-case/3.0.4:
2492   - resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==}
2493   - dependencies:
2494   - no-case: 3.0.4
2495   - tslib: 2.3.1
2496   - upper-case: 2.0.2
2497   - dev: true
2498   -
2499   - /conventional-changelog-angular/5.0.13:
2500   - resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==}
2501   - engines: {node: '>=10'}
2502   - dependencies:
2503   - compare-func: 2.0.0
2504   - q: 1.5.1
2505   - dev: true
2506   -
2507   - /conventional-changelog-conventionalcommits/5.0.0:
2508   - resolution: {integrity: sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw==}
2509   - engines: {node: '>=10'}
2510   - dependencies:
2511   - compare-func: 2.0.0
2512   - lodash: 4.17.21
2513   - q: 1.5.1
2514   - dev: true
2515   -
2516   - /conventional-commits-parser/3.2.4:
2517   - resolution: {integrity: sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==}
2518   - engines: {node: '>=10'}
2519   - hasBin: true
2520   - dependencies:
2521   - is-text-path: 1.0.1
2522   - JSONStream: 1.3.5
2523   - lodash: 4.17.21
2524   - meow: 8.1.2
2525   - split2: 3.2.2
2526   - through2: 4.0.2
2527   - dev: true
2528   -
2529   - /convert-source-map/1.8.0:
2530   - resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==}
2531   - dependencies:
2532   - safe-buffer: 5.1.2
2533   - dev: true
2534   -
2535   - /copy-anything/2.0.3:
2536   - resolution: {integrity: sha512-GK6QUtisv4fNS+XcI7shX0Gx9ORg7QqIznyfho79JTnX1XhLiyZHfftvGiziqzRiEi/Bjhgpi+D2o7HxJFPnDQ==}
2537   - dependencies:
2538   - is-what: 3.14.1
2539   - dev: true
2540   -
2541   - /copy-descriptor/0.1.1:
2542   - resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz}
2543   - engines: {node: '>=0.10.0'}
2544   - dev: true
2545   -
2546   - /cors/2.8.5:
2547   - resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/cors/-/cors-2.8.5.tgz}
2548   - engines: {node: '>= 0.10'}
2549   - dependencies:
2550   - object-assign: 4.1.1
2551   - vary: 1.1.2
2552   - dev: true
2553   -
2554   - /cosmiconfig-typescript-loader/2.0.0_tdn3ypgnfy6bmey2q4hu5jonwi:
2555   - resolution: {integrity: sha512-2NlGul/E3vTQEANqPziqkA01vfiuUU8vT0jZAuUIjEW8u3eCcnCQWLggapCjhbF76s7KQF0fM0kXSKmzaDaG1g==}
2556   - engines: {node: '>=12', npm: '>=6'}
2557   - peerDependencies:
2558   - '@types/node': '*'
2559   - typescript: '>=3'
2560   - dependencies:
2561   - '@types/node': 18.0.6
2562   - cosmiconfig: 7.0.1
2563   - ts-node: 10.7.0_tdn3ypgnfy6bmey2q4hu5jonwi
2564   - typescript: 4.7.4
2565   - transitivePeerDependencies:
2566   - - '@swc/core'
2567   - - '@swc/wasm'
2568   - dev: true
2569   -
2570   - /cosmiconfig/7.0.1:
2571   - resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==}
2572   - engines: {node: '>=10'}
2573   - dependencies:
2574   - '@types/parse-json': 4.0.0
2575   - import-fresh: 3.3.0
2576   - parse-json: 5.2.0
2577   - path-type: 4.0.0
2578   - yaml: 1.10.2
2579   - dev: true
2580   -
2581   - /create-require/1.1.1:
2582   - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
2583   - dev: true
2584   -
2585   - /cross-fetch/3.1.5:
2586   - resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/cross-fetch/-/cross-fetch-3.1.5.tgz}
2587   - dependencies:
2588   - node-fetch: 2.6.7
2589   - transitivePeerDependencies:
2590   - - encoding
2591   - dev: true
2592   -
2593   - /cross-spawn/7.0.3:
2594   - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
2595   - engines: {node: '>= 8'}
2596   - dependencies:
2597   - path-key: 3.1.1
2598   - shebang-command: 2.0.0
2599   - which: 2.0.2
2600   - dev: true
2601   -
2602   - /css-functions-list/3.1.0:
2603   - resolution: {integrity: sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==}
2604   - engines: {node: '>=12.22'}
2605   - dev: true
2606   -
2607   - /css-select/4.2.1:
2608   - resolution: {integrity: sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/css-select/-/css-select-4.2.1.tgz}
2609   - dependencies:
2610   - boolbase: 1.0.0
2611   - css-what: 5.1.0
2612   - domhandler: 4.3.1
2613   - domutils: 2.8.0
2614   - nth-check: 2.0.1
2615   - dev: true
2616   -
2617   - /css-select/4.3.0:
2618   - resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
2619   - dependencies:
2620   - boolbase: 1.0.0
2621   - css-what: 6.1.0
2622   - domhandler: 4.3.1
2623   - domutils: 2.8.0
2624   - nth-check: 2.0.1
2625   - dev: true
2626   -
2627   - /css-tree/1.1.3:
2628   - resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/css-tree/-/css-tree-1.1.3.tgz}
2629   - engines: {node: '>=8.0.0'}
2630   - dependencies:
2631   - mdn-data: 2.0.14
2632   - source-map: 0.6.1
2633   - dev: true
2634   -
2635   - /css-what/5.1.0:
2636   - resolution: {integrity: sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==}
2637   - engines: {node: '>= 6'}
2638   - dev: true
2639   -
2640   - /css-what/6.1.0:
2641   - resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
2642   - engines: {node: '>= 6'}
2643   - dev: true
2644   -
2645   - /cssesc/3.0.0:
2646   - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
2647   - engines: {node: '>=4'}
2648   - hasBin: true
2649   - dev: true
2650   -
2651   - /csso/4.2.0:
2652   - resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/csso/-/csso-4.2.0.tgz}
2653   - engines: {node: '>=8.0.0'}
2654   - dependencies:
2655   - css-tree: 1.1.3
2656   - dev: true
2657   -
2658   - /csstype/2.6.19:
2659   - resolution: {integrity: sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==}
2660   -
2661   - /d/1.0.1:
2662   - resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==}
2663   - dependencies:
2664   - es5-ext: 0.10.53
2665   - type: 1.2.0
2666   - dev: false
2667   -
2668   - /dargs/7.0.0:
2669   - resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==}
2670   - engines: {node: '>=8'}
2671   - dev: true
2672   -
2673   - /dayjs/1.11.3:
2674   - resolution: {integrity: sha512-xxwlswWOlGhzgQ4TKzASQkUhqERI3egRNqgV4ScR8wlANA/A9tZ7miXa44vTTKEq5l7vWoL5G57bG3zA+Kow0A==}
2675   - dev: false
2676   -
2677   - /debug/2.6.9:
2678   - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
2679   - peerDependencies:
2680   - supports-color: '*'
2681   - peerDependenciesMeta:
2682   - supports-color:
2683   - optional: true
2684   - dependencies:
2685   - ms: 2.0.0
2686   - dev: true
2687   -
2688   - /debug/3.2.7:
2689   - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
2690   - peerDependencies:
2691   - supports-color: '*'
2692   - peerDependenciesMeta:
2693   - supports-color:
2694   - optional: true
2695   - dependencies:
2696   - ms: 2.1.3
2697   - dev: true
2698   - optional: true
2699   -
2700   - /debug/4.3.3:
2701   - resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/debug/-/debug-4.3.3.tgz}
2702   - engines: {node: '>=6.0'}
2703   - peerDependencies:
2704   - supports-color: '*'
2705   - peerDependenciesMeta:
2706   - supports-color:
2707   - optional: true
2708   - dependencies:
2709   - ms: 2.1.2
2710   - dev: true
2711   -
2712   - /debug/4.3.4:
2713   - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
2714   - engines: {node: '>=6.0'}
2715   - peerDependencies:
2716   - supports-color: '*'
2717   - peerDependenciesMeta:
2718   - supports-color:
2719   - optional: true
2720   - dependencies:
2721   - ms: 2.1.2
2722   - dev: true
2723   -
2724   - /decamelize-keys/1.1.0:
2725   - resolution: {integrity: sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==}
2726   - engines: {node: '>=0.10.0'}
2727   - dependencies:
2728   - decamelize: 1.2.0
2729   - map-obj: 1.0.1
2730   - dev: true
2731   -
2732   - /decamelize/1.2.0:
2733   - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
2734   - engines: {node: '>=0.10.0'}
2735   -
2736   - /declass/0.0.1:
2737   - resolution: {integrity: sha512-V1tO9kGH+GLfkeiYCF016HSBcTP5mI+eMusSFgxZv0BzKvUQgI/Xn6FdoFuMwQHEqxKXhaW02s8oZqXPclKPUg==}
2738   - dependencies:
2739   - cheerio: 1.0.0-rc.10
2740   - dev: true
2741   -
2742   - /decode-uri-component/0.2.0:
2743   - resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz}
2744   - engines: {node: '>=0.10'}
2745   - dev: true
2746   -
2747   - /deep-is/0.1.4:
2748   - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
2749   - dev: true
2750   -
2751   - /defaults/1.0.3:
2752   - resolution: {integrity: sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==}
2753   - dependencies:
2754   - clone: 1.0.4
2755   - dev: true
2756   -
2757   - /define-property/0.2.5:
2758   - resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/define-property/-/define-property-0.2.5.tgz}
2759   - engines: {node: '>=0.10.0'}
2760   - dependencies:
2761   - is-descriptor: 0.1.6
2762   - dev: true
2763   -
2764   - /define-property/1.0.0:
2765   - resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/define-property/-/define-property-1.0.0.tgz}
2766   - engines: {node: '>=0.10.0'}
2767   - dependencies:
2768   - is-descriptor: 1.0.2
2769   - dev: true
2770   -
2771   - /define-property/2.0.2:
2772   - resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/define-property/-/define-property-2.0.2.tgz}
2773   - engines: {node: '>=0.10.0'}
2774   - dependencies:
2775   - is-descriptor: 1.0.2
2776   - isobject: 3.0.1
2777   - dev: true
2778   -
2779   - /del/6.0.0:
2780   - resolution: {integrity: sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==}
2781   - engines: {node: '>=10'}
2782   - dependencies:
2783   - globby: 11.1.0
2784   - graceful-fs: 4.2.8
2785   - is-glob: 4.0.3
2786   - is-path-cwd: 2.2.0
2787   - is-path-inside: 3.0.3
2788   - p-map: 4.0.0
2789   - rimraf: 3.0.2
2790   - slash: 3.0.0
2791   - dev: true
2792   -
2793   - /delayed-stream/1.0.0:
2794   - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
2795   - engines: {node: '>=0.4.0'}
2796   - dev: false
2797   -
2798   - /detect-file/1.0.0:
2799   - resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==}
2800   - engines: {node: '>=0.10.0'}
2801   - dev: true
2802   -
2803   - /diff/4.0.2:
2804   - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
2805   - engines: {node: '>=0.3.1'}
2806   - dev: true
2807   -
2808   - /dijkstrajs/1.0.2:
2809   - resolution: {integrity: sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg==}
2810   - dev: false
2811   -
2812   - /dir-glob/3.0.1:
2813   - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
2814   - engines: {node: '>=8'}
2815   - dependencies:
2816   - path-type: 4.0.0
2817   - dev: true
2818   -
2819   - /doctrine/3.0.0:
2820   - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
2821   - engines: {node: '>=6.0.0'}
2822   - dependencies:
2823   - esutils: 2.0.3
2824   - dev: true
2825   -
2826   - /dom-serializer/0.2.2:
2827   - resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==}
2828   - dependencies:
2829   - domelementtype: 2.3.0
2830   - entities: 2.2.0
2831   - dev: true
2832   -
2833   - /dom-serializer/1.3.2:
2834   - resolution: {integrity: sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==}
2835   - dependencies:
2836   - domelementtype: 2.3.0
2837   - domhandler: 4.3.1
2838   - entities: 2.2.0
2839   - dev: true
2840   -
2841   - /dom-serializer/2.0.0:
2842   - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
2843   - dependencies:
2844   - domelementtype: 2.3.0
2845   - domhandler: 5.0.3
2846   - entities: 4.3.1
2847   - dev: true
2848   -
2849   - /dom7/3.0.0:
2850   - resolution: {integrity: sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==}
2851   - dependencies:
2852   - ssr-window: 3.0.0
2853   - dev: false
2854   -
2855   - /domelementtype/1.3.1:
2856   - resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==}
2857   - dev: true
2858   -
2859   - /domelementtype/2.3.0:
2860   - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
2861   - dev: true
2862   -
2863   - /domhandler/2.4.2:
2864   - resolution: {integrity: sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==}
2865   - dependencies:
2866   - domelementtype: 1.3.1
2867   - dev: true
2868   -
2869   - /domhandler/4.3.1:
2870   - resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
2871   - engines: {node: '>= 4'}
2872   - dependencies:
2873   - domelementtype: 2.3.0
2874   - dev: true
2875   -
2876   - /domhandler/5.0.3:
2877   - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
2878   - engines: {node: '>= 4'}
2879   - dependencies:
2880   - domelementtype: 2.3.0
2881   - dev: true
2882   -
2883   - /domutils/1.7.0:
2884   - resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==}
2885   - dependencies:
2886   - dom-serializer: 0.2.2
2887   - domelementtype: 1.3.1
2888   - dev: true
2889   -
2890   - /domutils/2.8.0:
2891   - resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
2892   - dependencies:
2893   - dom-serializer: 1.3.2
2894   - domelementtype: 2.3.0
2895   - domhandler: 4.3.1
2896   - dev: true
2897   -
2898   - /domutils/3.0.1:
2899   - resolution: {integrity: sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==}
2900   - dependencies:
2901   - dom-serializer: 2.0.0
2902   - domelementtype: 2.3.0
2903   - domhandler: 5.0.3
2904   - dev: true
2905   -
2906   - /dot-case/3.0.4:
2907   - resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
2908   - dependencies:
2909   - no-case: 3.0.4
2910   - tslib: 2.3.1
2911   - dev: true
2912   -
2913   - /dot-prop/5.3.0:
2914   - resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==}
2915   - engines: {node: '>=8'}
2916   - dependencies:
2917   - is-obj: 2.0.0
2918   - dev: true
2919   -
2920   - /dotenv-expand/8.0.2:
2921   - resolution: {integrity: sha512-vKKAk+VOzAWOV/dPIeSYqhgC/TQY+6L6Ibkzfsr8xd1stdBsTuGu9asCOXgbYbBeS+f2Y6lqqEuw7riOA+xEUQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/dotenv-expand/-/dotenv-expand-8.0.2.tgz}
2922   - engines: {node: '>=12'}
2923   - dev: true
2924   -
2925   - /dotenv/16.0.0:
2926   - resolution: {integrity: sha512-qD9WU0MPM4SWLPJy/r2Be+2WgQj8plChsyrCNQzW/0WjvcJQiKQJ9mH3ZgB3fxbUUxgc/11ZJ0Fi5KiimWGz2Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/dotenv/-/dotenv-16.0.0.tgz}
2927   - engines: {node: '>=12'}
2928   - dev: true
2929   -
2930   - /echarts-wordcloud/2.0.0_echarts@5.3.3:
2931   - resolution: {integrity: sha512-K7l6pTklqdW7ZWzT/1CS0KhBSINr/cd7c5N1fVMzZMwLQHEwT7x+nivK7g5hkVh7WNcAv4Dn6/ZS5zMKRozC1g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/echarts-wordcloud/download/echarts-wordcloud-2.0.0.tgz}
2932   - peerDependencies:
2933   - echarts: ^5.0.1
2934   - dependencies:
2935   - echarts: 5.3.3
2936   - dev: false
2937   -
2938   - /echarts/5.3.3:
2939   - resolution: {integrity: sha512-BRw2serInRwO5SIwRviZ6Xgm5Lb7irgz+sLiFMmy/HOaf4SQ+7oYqxKzRHAKp4xHQ05AuHw1xvoQWJjDQq/FGw==}
2940   - dependencies:
2941   - tslib: 2.3.0
2942   - zrender: 5.3.2
2943   - dev: false
2944   -
2945   - /ee-first/1.1.1:
2946   - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
2947   - dev: true
2948   -
2949   - /ejs/3.1.6:
2950   - resolution: {integrity: sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/ejs/-/ejs-3.1.6.tgz}
2951   - engines: {node: '>=0.10.0'}
2952   - hasBin: true
2953   - dependencies:
2954   - jake: 10.8.2
2955   - dev: true
2956   -
2957   - /electron-to-chromium/1.4.134:
2958   - resolution: {integrity: sha512-OdD7M2no4Mi8PopfvoOuNcwYDJ2mNFxaBfurA6okG3fLBaMcFah9S+si84FhX+FIWLKkdaiHfl4A+5ep/gOVrg==}
2959   - dev: true
2960   -
2961   - /element-plus/2.2.9_vue@3.2.37:
2962   - resolution: {integrity: sha512-jYbL0JkCdv95rkT6trZJjCAizLPySa0qcd2cgq+57SKQnCZAcNDDq4GbTuFRnNavdoeCJnuM3HIficTIUpsMOQ==}
2963   - peerDependencies:
2964   - vue: ^3.2.0
2965   - dependencies:
2966   - '@ctrl/tinycolor': 3.4.1
2967   - '@element-plus/icons-vue': 2.0.6_vue@3.2.37
2968   - '@floating-ui/dom': 0.5.4
2969   - '@popperjs/core': /@sxzz/popperjs-es/2.11.7
2970   - '@types/lodash': 4.14.182
2971   - '@types/lodash-es': 4.17.6
2972   - '@vueuse/core': 8.9.4_vue@3.2.37
2973   - async-validator: 4.2.5
2974   - dayjs: 1.11.3
2975   - escape-html: 1.0.3
2976   - lodash: 4.17.21
2977   - lodash-es: 4.17.21
2978   - lodash-unified: 1.0.2_3ib2ivapxullxkx3xftsimdk7u
2979   - memoize-one: 6.0.0
2980   - normalize-wheel-es: 1.1.2
2981   - vue: 3.2.37
2982   - transitivePeerDependencies:
2983   - - '@vue/composition-api'
2984   - dev: false
2985   -
2986   - /emoji-regex/8.0.0:
2987   - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
2988   -
2989   - /emoji-regex/9.2.2:
2990   - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
2991   - dev: true
2992   -
2993   - /emojis-list/3.0.0:
2994   - resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/emojis-list/-/emojis-list-3.0.0.tgz}
2995   - engines: {node: '>= 4'}
2996   - dev: true
2997   -
2998   - /encode-utf8/1.0.3:
2999   - resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==}
3000   - dev: false
3001   -
3002   - /encodeurl/1.0.2:
3003   - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
3004   - engines: {node: '>= 0.8'}
3005   - dev: true
3006   -
3007   - /end-of-stream/1.4.4:
3008   - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
3009   - dependencies:
3010   - once: 1.4.0
3011   - dev: true
3012   -
3013   - /entities/1.1.2:
3014   - resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==}
3015   - dev: true
3016   -
3017   - /entities/2.2.0:
3018   - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
3019   - dev: true
3020   -
3021   - /entities/4.3.1:
3022   - resolution: {integrity: sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==}
3023   - engines: {node: '>=0.12'}
3024   - dev: true
3025   -
3026   - /errno/0.1.8:
3027   - resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==}
3028   - hasBin: true
3029   - requiresBuild: true
3030   - dependencies:
3031   - prr: 1.0.1
3032   - dev: true
3033   - optional: true
3034   -
3035   - /error-ex/1.3.2:
3036   - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
3037   - dependencies:
3038   - is-arrayish: 0.2.1
3039   - dev: true
3040   -
3041   - /es-module-lexer/0.9.3:
3042   - resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==}
3043   - dev: true
3044   -
3045   - /es5-ext/0.10.53:
3046   - resolution: {integrity: sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==}
3047   - dependencies:
3048   - es6-iterator: 2.0.3
3049   - es6-symbol: 3.1.3
3050   - next-tick: 1.0.0
3051   - dev: false
3052   -
3053   - /es6-iterator/2.0.3:
3054   - resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
3055   - dependencies:
3056   - d: 1.0.1
3057   - es5-ext: 0.10.53
3058   - es6-symbol: 3.1.3
3059   - dev: false
3060   -
3061   - /es6-symbol/3.1.3:
3062   - resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==}
3063   - dependencies:
3064   - d: 1.0.1
3065   - ext: 1.6.0
3066   - dev: false
3067   -
3068   - /esbuild-android-64/0.14.49:
3069   - resolution: {integrity: sha512-vYsdOTD+yi+kquhBiFWl3tyxnj2qZJsl4tAqwhT90ktUdnyTizgle7TjNx6Ar1bN7wcwWqZ9QInfdk2WVagSww==}
3070   - engines: {node: '>=12'}
3071   - cpu: [x64]
3072   - os: [android]
3073   - requiresBuild: true
3074   - dev: true
3075   - optional: true
3076   -
3077   - /esbuild-android-arm64/0.14.49:
3078   - resolution: {integrity: sha512-g2HGr/hjOXCgSsvQZ1nK4nW/ei8JUx04Li74qub9qWrStlysaVmadRyTVuW32FGIpLQyc5sUjjZopj49eGGM2g==}
3079   - engines: {node: '>=12'}
3080   - cpu: [arm64]
3081   - os: [android]
3082   - requiresBuild: true
3083   - dev: true
3084   - optional: true
3085   -
3086   - /esbuild-darwin-64/0.14.49:
3087   - resolution: {integrity: sha512-3rvqnBCtX9ywso5fCHixt2GBCUsogNp9DjGmvbBohh31Ces34BVzFltMSxJpacNki96+WIcX5s/vum+ckXiLYg==}
3088   - engines: {node: '>=12'}
3089   - cpu: [x64]
3090   - os: [darwin]
3091   - requiresBuild: true
3092   - dev: true
3093   - optional: true
3094   -
3095   - /esbuild-darwin-arm64/0.14.49:
3096   - resolution: {integrity: sha512-XMaqDxO846srnGlUSJnwbijV29MTKUATmOLyQSfswbK/2X5Uv28M9tTLUJcKKxzoo9lnkYPsx2o8EJcTYwCs/A==}
3097   - engines: {node: '>=12'}
3098   - cpu: [arm64]
3099   - os: [darwin]
3100   - requiresBuild: true
3101   - dev: true
3102   - optional: true
3103   -
3104   - /esbuild-freebsd-64/0.14.49:
3105   - resolution: {integrity: sha512-NJ5Q6AjV879mOHFri+5lZLTp5XsO2hQ+KSJYLbfY9DgCu8s6/Zl2prWXVANYTeCDLlrIlNNYw8y34xqyLDKOmQ==}
3106   - engines: {node: '>=12'}
3107   - cpu: [x64]
3108   - os: [freebsd]
3109   - requiresBuild: true
3110   - dev: true
3111   - optional: true
3112   -
3113   - /esbuild-freebsd-arm64/0.14.49:
3114   - resolution: {integrity: sha512-lFLtgXnAc3eXYqj5koPlBZvEbBSOSUbWO3gyY/0+4lBdRqELyz4bAuamHvmvHW5swJYL7kngzIZw6kdu25KGOA==}
3115   - engines: {node: '>=12'}
3116   - cpu: [arm64]
3117   - os: [freebsd]
3118   - requiresBuild: true
3119   - dev: true
3120   - optional: true
3121   -
3122   - /esbuild-linux-32/0.14.49:
3123   - resolution: {integrity: sha512-zTTH4gr2Kb8u4QcOpTDVn7Z8q7QEIvFl/+vHrI3cF6XOJS7iEI1FWslTo3uofB2+mn6sIJEQD9PrNZKoAAMDiA==}
3124   - engines: {node: '>=12'}
3125   - cpu: [ia32]
3126   - os: [linux]
3127   - requiresBuild: true
3128   - dev: true
3129   - optional: true
3130   -
3131   - /esbuild-linux-64/0.14.49:
3132   - resolution: {integrity: sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg==}
3133   - engines: {node: '>=12'}
3134   - cpu: [x64]
3135   - os: [linux]
3136   - requiresBuild: true
3137   - dev: true
3138   - optional: true
3139   -
3140   - /esbuild-linux-arm/0.14.49:
3141   - resolution: {integrity: sha512-iE3e+ZVv1Qz1Sy0gifIsarJMQ89Rpm9mtLSRtG3AH0FPgAzQ5Z5oU6vYzhc/3gSPi2UxdCOfRhw2onXuFw/0lg==}
3142   - engines: {node: '>=12'}
3143   - cpu: [arm]
3144   - os: [linux]
3145   - requiresBuild: true
3146   - dev: true
3147   - optional: true
3148   -
3149   - /esbuild-linux-arm64/0.14.49:
3150   - resolution: {integrity: sha512-KLQ+WpeuY+7bxukxLz5VgkAAVQxUv67Ft4DmHIPIW+2w3ObBPQhqNoeQUHxopoW/aiOn3m99NSmSV+bs4BSsdA==}
3151   - engines: {node: '>=12'}
3152   - cpu: [arm64]
3153   - os: [linux]
3154   - requiresBuild: true
3155   - dev: true
3156   - optional: true
3157   -
3158   - /esbuild-linux-mips64le/0.14.49:
3159   - resolution: {integrity: sha512-n+rGODfm8RSum5pFIqFQVQpYBw+AztL8s6o9kfx7tjfK0yIGF6tm5HlG6aRjodiiKkH2xAiIM+U4xtQVZYU4rA==}
3160   - engines: {node: '>=12'}
3161   - cpu: [mips64el]
3162   - os: [linux]
3163   - requiresBuild: true
3164   - dev: true
3165   - optional: true
3166   -
3167   - /esbuild-linux-ppc64le/0.14.49:
3168   - resolution: {integrity: sha512-WP9zR4HX6iCBmMFH+XHHng2LmdoIeUmBpL4aL2TR8ruzXyT4dWrJ5BSbT8iNo6THN8lod6GOmYDLq/dgZLalGw==}
3169   - engines: {node: '>=12'}
3170   - cpu: [ppc64]
3171   - os: [linux]
3172   - requiresBuild: true
3173   - dev: true
3174   - optional: true
3175   -
3176   - /esbuild-linux-riscv64/0.14.49:
3177   - resolution: {integrity: sha512-h66ORBz+Dg+1KgLvzTVQEA1LX4XBd1SK0Fgbhhw4akpG/YkN8pS6OzYI/7SGENiN6ao5hETRDSkVcvU9NRtkMQ==}
3178   - engines: {node: '>=12'}
3179   - cpu: [riscv64]
3180   - os: [linux]
3181   - requiresBuild: true
3182   - dev: true
3183   - optional: true
3184   -
3185   - /esbuild-linux-s390x/0.14.49:
3186   - resolution: {integrity: sha512-DhrUoFVWD+XmKO1y7e4kNCqQHPs6twz6VV6Uezl/XHYGzM60rBewBF5jlZjG0nCk5W/Xy6y1xWeopkrhFFM0sQ==}
3187   - engines: {node: '>=12'}
3188   - cpu: [s390x]
3189   - os: [linux]
3190   - requiresBuild: true
3191   - dev: true
3192   - optional: true
3193   -
3194   - /esbuild-netbsd-64/0.14.49:
3195   - resolution: {integrity: sha512-BXaUwFOfCy2T+hABtiPUIpWjAeWK9P8O41gR4Pg73hpzoygVGnj0nI3YK4SJhe52ELgtdgWP/ckIkbn2XaTxjQ==}
3196   - engines: {node: '>=12'}
3197   - cpu: [x64]
3198   - os: [netbsd]
3199   - requiresBuild: true
3200   - dev: true
3201   - optional: true
3202   -
3203   - /esbuild-openbsd-64/0.14.49:
3204   - resolution: {integrity: sha512-lP06UQeLDGmVPw9Rg437Btu6J9/BmyhdoefnQ4gDEJTtJvKtQaUcOQrhjTq455ouZN4EHFH1h28WOJVANK41kA==}
3205   - engines: {node: '>=12'}
3206   - cpu: [x64]
3207   - os: [openbsd]
3208   - requiresBuild: true
3209   - dev: true
3210   - optional: true
3211   -
3212   - /esbuild-sunos-64/0.14.49:
3213   - resolution: {integrity: sha512-4c8Zowp+V3zIWje329BeLbGh6XI9c/rqARNaj5yPHdC61pHI9UNdDxT3rePPJeWcEZVKjkiAS6AP6kiITp7FSw==}
3214   - engines: {node: '>=12'}
3215   - cpu: [x64]
3216   - os: [sunos]
3217   - requiresBuild: true
3218   - dev: true
3219   - optional: true
3220   -
3221   - /esbuild-windows-32/0.14.49:
3222   - resolution: {integrity: sha512-q7Rb+J9yHTeKr9QTPDYkqfkEj8/kcKz9lOabDuvEXpXuIcosWCJgo5Z7h/L4r7rbtTH4a8U2FGKb6s1eeOHmJA==}
3223   - engines: {node: '>=12'}
3224   - cpu: [ia32]
3225   - os: [win32]
3226   - requiresBuild: true
3227   - dev: true
3228   - optional: true
3229   -
3230   - /esbuild-windows-64/0.14.49:
3231   - resolution: {integrity: sha512-+Cme7Ongv0UIUTniPqfTX6mJ8Deo7VXw9xN0yJEN1lQMHDppTNmKwAM3oGbD/Vqff+07K2gN0WfNkMohmG+dVw==}
3232   - engines: {node: '>=12'}
3233   - cpu: [x64]
3234   - os: [win32]
3235   - requiresBuild: true
3236   - dev: true
3237   - optional: true
3238   -
3239   - /esbuild-windows-arm64/0.14.49:
3240   - resolution: {integrity: sha512-v+HYNAXzuANrCbbLFJ5nmO3m5y2PGZWLe3uloAkLt87aXiO2mZr3BTmacZdjwNkNEHuH3bNtN8cak+mzVjVPfA==}
3241   - engines: {node: '>=12'}
3242   - cpu: [arm64]
3243   - os: [win32]
3244   - requiresBuild: true
3245   - dev: true
3246   - optional: true
3247   -
3248   - /esbuild/0.14.49:
3249   - resolution: {integrity: sha512-/TlVHhOaq7Yz8N1OJrjqM3Auzo5wjvHFLk+T8pIue+fhnhIMpfAzsG6PLVMbFveVxqD2WOp3QHei+52IMUNmCw==}
3250   - engines: {node: '>=12'}
3251   - hasBin: true
3252   - requiresBuild: true
3253   - optionalDependencies:
3254   - esbuild-android-64: 0.14.49
3255   - esbuild-android-arm64: 0.14.49
3256   - esbuild-darwin-64: 0.14.49
3257   - esbuild-darwin-arm64: 0.14.49
3258   - esbuild-freebsd-64: 0.14.49
3259   - esbuild-freebsd-arm64: 0.14.49
3260   - esbuild-linux-32: 0.14.49
3261   - esbuild-linux-64: 0.14.49
3262   - esbuild-linux-arm: 0.14.49
3263   - esbuild-linux-arm64: 0.14.49
3264   - esbuild-linux-mips64le: 0.14.49
3265   - esbuild-linux-ppc64le: 0.14.49
3266   - esbuild-linux-riscv64: 0.14.49
3267   - esbuild-linux-s390x: 0.14.49
3268   - esbuild-netbsd-64: 0.14.49
3269   - esbuild-openbsd-64: 0.14.49
3270   - esbuild-sunos-64: 0.14.49
3271   - esbuild-windows-32: 0.14.49
3272   - esbuild-windows-64: 0.14.49
3273   - esbuild-windows-arm64: 0.14.49
3274   - dev: true
3275   -
3276   - /escalade/3.1.1:
3277   - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
3278   - engines: {node: '>=6'}
3279   - dev: true
3280   -
3281   - /escape-html/1.0.3:
3282   - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
3283   -
3284   - /escape-string-regexp/1.0.5:
3285   - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
3286   - engines: {node: '>=0.8.0'}
3287   - dev: true
3288   -
3289   - /escape-string-regexp/4.0.0:
3290   - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
3291   - engines: {node: '>=10'}
3292   - dev: true
3293   -
3294   - /eslint-config-prettier/8.5.0_eslint@8.20.0:
3295   - resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz}
3296   - hasBin: true
3297   - peerDependencies:
3298   - eslint: '>=7.0.0'
3299   - dependencies:
3300   - eslint: 8.20.0
3301   - dev: true
3302   -
3303   - /eslint-define-config/1.5.1:
3304   - resolution: {integrity: sha512-6gxrmN7aKGffaO8dCtMMKyo3IxbWymMQ248p4lf8GbaFRcLsqOXHFdUhhM0Hcy1NudvnpwHcfbDf7Nh9pIm1TA==}
3305   - engines: {node: '>= 14.6.0', npm: '>= 6.0.0', pnpm: '>= 7.0.0'}
3306   - dev: true
3307   -
3308   - /eslint-plugin-prettier/4.2.1_g4fztgbwjyq2fvmcscny2sj6fy:
3309   - resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==}
3310   - engines: {node: '>=12.0.0'}
3311   - peerDependencies:
3312   - eslint: '>=7.28.0'
3313   - eslint-config-prettier: '*'
3314   - prettier: '>=2.0.0'
3315   - peerDependenciesMeta:
3316   - eslint-config-prettier:
3317   - optional: true
3318   - dependencies:
3319   - eslint: 8.20.0
3320   - eslint-config-prettier: 8.5.0_eslint@8.20.0
3321   - prettier: 2.7.1
3322   - prettier-linter-helpers: 1.0.0
3323   - dev: true
3324   -
3325   - /eslint-plugin-vue/9.2.0_eslint@8.20.0:
3326   - resolution: {integrity: sha512-W2hc+NUXoce8sZtWgZ45miQTy6jNyuSdub5aZ1IBune4JDeAyzucYX0TzkrQ1jMO52sNUDYlCIHDoaNePe0p5g==}
3327   - engines: {node: ^14.17.0 || >=16.0.0}
3328   - peerDependencies:
3329   - eslint: ^6.2.0 || ^7.0.0 || ^8.0.0
3330   - dependencies:
3331   - eslint: 8.20.0
3332   - eslint-utils: 3.0.0_eslint@8.20.0
3333   - natural-compare: 1.4.0
3334   - nth-check: 2.0.1
3335   - postcss-selector-parser: 6.0.10
3336   - semver: 7.3.7
3337   - vue-eslint-parser: 9.0.2_eslint@8.20.0
3338   - xml-name-validator: 4.0.0
3339   - transitivePeerDependencies:
3340   - - supports-color
3341   - dev: true
3342   -
3343   - /eslint-scope/5.1.1:
3344   - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
3345   - engines: {node: '>=8.0.0'}
3346   - dependencies:
3347   - esrecurse: 4.3.0
3348   - estraverse: 4.3.0
3349   - dev: true
3350   -
3351   - /eslint-scope/7.1.1:
3352   - resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==}
3353   - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
3354   - dependencies:
3355   - esrecurse: 4.3.0
3356   - estraverse: 5.3.0
3357   - dev: true
3358   -
3359   - /eslint-utils/2.1.0:
3360   - resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==}
3361   - engines: {node: '>=6'}
3362   - dependencies:
3363   - eslint-visitor-keys: 1.3.0
3364   - dev: true
3365   -
3366   - /eslint-utils/3.0.0_eslint@8.20.0:
3367   - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
3368   - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
3369   - peerDependencies:
3370   - eslint: '>=5'
3371   - dependencies:
3372   - eslint: 8.20.0
3373   - eslint-visitor-keys: 2.1.0
3374   - dev: true
3375   -
3376   - /eslint-visitor-keys/1.3.0:
3377   - resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==}
3378   - engines: {node: '>=4'}
3379   - dev: true
3380   -
3381   - /eslint-visitor-keys/2.1.0:
3382   - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
3383   - engines: {node: '>=10'}
3384   - dev: true
3385   -
3386   - /eslint-visitor-keys/3.3.0:
3387   - resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==}
3388   - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
3389   - dev: true
3390   -
3391   - /eslint/8.20.0:
3392   - resolution: {integrity: sha512-d4ixhz5SKCa1D6SCPrivP7yYVi7nyD6A4vs6HIAul9ujBzcEmZVM3/0NN/yu5nKhmO1wjp5xQ46iRfmDGlOviA==}
3393   - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
3394   - hasBin: true
3395   - dependencies:
3396   - '@eslint/eslintrc': 1.3.0
3397   - '@humanwhocodes/config-array': 0.9.2
3398   - ajv: 6.12.6
3399   - chalk: 4.1.2
3400   - cross-spawn: 7.0.3
3401   - debug: 4.3.4
3402   - doctrine: 3.0.0
3403   - escape-string-regexp: 4.0.0
3404   - eslint-scope: 7.1.1
3405   - eslint-utils: 3.0.0_eslint@8.20.0
3406   - eslint-visitor-keys: 3.3.0
3407   - espree: 9.3.2
3408   - esquery: 1.4.0
3409   - esutils: 2.0.3
3410   - fast-deep-equal: 3.1.3
3411   - file-entry-cache: 6.0.1
3412   - functional-red-black-tree: 1.0.1
3413   - glob-parent: 6.0.2
3414   - globals: 13.15.0
3415   - ignore: 5.2.0
3416   - import-fresh: 3.3.0
3417   - imurmurhash: 0.1.4
3418   - is-glob: 4.0.3
3419   - js-yaml: 4.1.0
3420   - json-stable-stringify-without-jsonify: 1.0.1
3421   - levn: 0.4.1
3422   - lodash.merge: 4.6.2
3423   - minimatch: 3.1.2
3424   - natural-compare: 1.4.0
3425   - optionator: 0.9.1
3426   - regexpp: 3.2.0
3427   - strip-ansi: 6.0.1
3428   - strip-json-comments: 3.1.1
3429   - text-table: 0.2.0
3430   - v8-compile-cache: 2.3.0
3431   - transitivePeerDependencies:
3432   - - supports-color
3433   - dev: true
3434   -
3435   - /espree/6.2.1:
3436   - resolution: {integrity: sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==}
3437   - engines: {node: '>=6.0.0'}
3438   - dependencies:
3439   - acorn: 7.4.1
3440   - acorn-jsx: 5.3.2_acorn@7.4.1
3441   - eslint-visitor-keys: 1.3.0
3442   - dev: true
3443   -
3444   - /espree/9.3.2:
3445   - resolution: {integrity: sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==}
3446   - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
3447   - dependencies:
3448   - acorn: 8.7.1
3449   - acorn-jsx: 5.3.2_acorn@8.7.1
3450   - eslint-visitor-keys: 3.3.0
3451   - dev: true
3452   -
3453   - /esquery/1.4.0:
3454   - resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==}
3455   - engines: {node: '>=0.10'}
3456   - dependencies:
3457   - estraverse: 5.3.0
3458   - dev: true
3459   -
3460   - /esrecurse/4.3.0:
3461   - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
3462   - engines: {node: '>=4.0'}
3463   - dependencies:
3464   - estraverse: 5.3.0
3465   - dev: true
3466   -
3467   - /estraverse/4.3.0:
3468   - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
3469   - engines: {node: '>=4.0'}
3470   - dev: true
3471   -
3472   - /estraverse/5.3.0:
3473   - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
3474   - engines: {node: '>=4.0'}
3475   - dev: true
3476   -
3477   - /estree-walker/2.0.2:
3478   - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
3479   -
3480   - /esutils/2.0.3:
3481   - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
3482   - engines: {node: '>=0.10.0'}
3483   - dev: true
3484   -
3485   - /etag/1.8.1:
3486   - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/etag/-/etag-1.8.1.tgz}
3487   - engines: {node: '>= 0.6'}
3488   - dev: true
3489   -
3490   - /event-emitter/0.3.5:
3491   - resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
3492   - dependencies:
3493   - d: 1.0.1
3494   - es5-ext: 0.10.53
3495   - dev: false
3496   -
3497   - /execa/4.1.0:
3498   - resolution: {integrity: sha1-TlSRrRVy8vF6d9OIxshXE1sihHo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/execa/download/execa-4.1.0.tgz?cache=0&sync_timestamp=1637148795580&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fexeca%2Fdownload%2Fexeca-4.1.0.tgz}
3499   - engines: {node: '>=10'}
3500   - dependencies:
3501   - cross-spawn: 7.0.3
3502   - get-stream: 5.2.0
3503   - human-signals: 1.1.1
3504   - is-stream: 2.0.1
3505   - merge-stream: 2.0.0
3506   - npm-run-path: 4.0.1
3507   - onetime: 5.1.2
3508   - signal-exit: 3.0.7
3509   - strip-final-newline: 2.0.0
3510   - dev: true
3511   -
3512   - /execa/5.1.1:
3513   - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
3514   - engines: {node: '>=10'}
3515   - dependencies:
3516   - cross-spawn: 7.0.3
3517   - get-stream: 6.0.1
3518   - human-signals: 2.1.0
3519   - is-stream: 2.0.1
3520   - merge-stream: 2.0.0
3521   - npm-run-path: 4.0.1
3522   - onetime: 5.1.2
3523   - signal-exit: 3.0.7
3524   - strip-final-newline: 2.0.0
3525   - dev: true
3526   -
3527   - /execa/6.1.0:
3528   - resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==}
3529   - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
3530   - dependencies:
3531   - cross-spawn: 7.0.3
3532   - get-stream: 6.0.1
3533   - human-signals: 3.0.1
3534   - is-stream: 3.0.0
3535   - merge-stream: 2.0.0
3536   - npm-run-path: 5.1.0
3537   - onetime: 6.0.0
3538   - signal-exit: 3.0.7
3539   - strip-final-newline: 3.0.0
3540   - dev: true
3541   -
3542   - /execall/2.0.0:
3543   - resolution: {integrity: sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==}
3544   - engines: {node: '>=8'}
3545   - dependencies:
3546   - clone-regexp: 2.2.0
3547   - dev: true
3548   -
3549   - /expand-brackets/2.1.4:
3550   - resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/expand-brackets/-/expand-brackets-2.1.4.tgz}
3551   - engines: {node: '>=0.10.0'}
3552   - dependencies:
3553   - debug: 2.6.9
3554   - define-property: 0.2.5
3555   - extend-shallow: 2.0.1
3556   - posix-character-classes: 0.1.1
3557   - regex-not: 1.0.2
3558   - snapdragon: 0.8.2
3559   - to-regex: 3.0.2
3560   - transitivePeerDependencies:
3561   - - supports-color
3562   - dev: true
3563   -
3564   - /expand-tilde/2.0.2:
3565   - resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==}
3566   - engines: {node: '>=0.10.0'}
3567   - dependencies:
3568   - homedir-polyfill: 1.0.3
3569   - dev: true
3570   -
3571   - /ext/1.6.0:
3572   - resolution: {integrity: sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==}
3573   - dependencies:
3574   - type: 2.6.0
3575   - dev: false
3576   -
3577   - /extend-shallow/2.0.1:
3578   - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
3579   - engines: {node: '>=0.10.0'}
3580   - dependencies:
3581   - is-extendable: 0.1.1
3582   - dev: true
3583   -
3584   - /extend-shallow/3.0.2:
3585   - resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==}
3586   - engines: {node: '>=0.10.0'}
3587   - dependencies:
3588   - assign-symbols: 1.0.0
3589   - is-extendable: 1.0.1
3590   - dev: true
3591   -
3592   - /extend/3.0.2:
3593   - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
3594   - dev: true
3595   -
3596   - /external-editor/3.1.0:
3597   - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
3598   - engines: {node: '>=4'}
3599   - dependencies:
3600   - chardet: 0.7.0
3601   - iconv-lite: 0.4.24
3602   - tmp: 0.0.33
3603   - dev: true
3604   -
3605   - /extglob/2.0.4:
3606   - resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/extglob/-/extglob-2.0.4.tgz}
3607   - engines: {node: '>=0.10.0'}
3608   - dependencies:
3609   - array-unique: 0.3.2
3610   - define-property: 1.0.0
3611   - expand-brackets: 2.1.4
3612   - extend-shallow: 2.0.1
3613   - fragment-cache: 0.2.1
3614   - regex-not: 1.0.2
3615   - snapdragon: 0.8.2
3616   - to-regex: 3.0.2
3617   - transitivePeerDependencies:
3618   - - supports-color
3619   - dev: true
3620   -
3621   - /fast-deep-equal/3.1.3:
3622   - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
3623   - dev: true
3624   -
3625   - /fast-diff/1.2.0:
3626   - resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==}
3627   - dev: true
3628   -
3629   - /fast-glob/3.2.11:
3630   - resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==}
3631   - engines: {node: '>=8.6.0'}
3632   - dependencies:
3633   - '@nodelib/fs.stat': 2.0.5
3634   - '@nodelib/fs.walk': 1.2.8
3635   - glob-parent: 5.1.2
3636   - merge2: 1.4.1
3637   - micromatch: 4.0.5
3638   - dev: true
3639   -
3640   - /fast-json-stable-stringify/2.1.0:
3641   - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
3642   - dev: true
3643   -
3644   - /fast-levenshtein/2.0.6:
3645   - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
3646   - dev: true
3647   -
3648   - /fastest-levenshtein/1.0.12:
3649   - resolution: {integrity: sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==}
3650   - dev: true
3651   -
3652   - /fastq/1.13.0:
3653   - resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==}
3654   - dependencies:
3655   - reusify: 1.0.4
3656   - dev: true
3657   -
3658   - /figures/3.2.0:
3659   - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
3660   - engines: {node: '>=8'}
3661   - dependencies:
3662   - escape-string-regexp: 1.0.5
3663   - dev: true
3664   -
3665   - /file-entry-cache/6.0.1:
3666   - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
3667   - engines: {node: ^10.12.0 || >=12.0.0}
3668   - dependencies:
3669   - flat-cache: 3.0.4
3670   - dev: true
3671   -
3672   - /filelist/1.0.2:
3673   - resolution: {integrity: sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/filelist/-/filelist-1.0.2.tgz}
3674   - dependencies:
3675   - minimatch: 3.1.2
3676   - dev: true
3677   -
3678   - /fill-range/4.0.0:
3679   - resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==}
3680   - engines: {node: '>=0.10.0'}
3681   - dependencies:
3682   - extend-shallow: 2.0.1
3683   - is-number: 3.0.0
3684   - repeat-string: 1.6.1
3685   - to-regex-range: 2.1.1
3686   - dev: true
3687   -
3688   - /fill-range/7.0.1:
3689   - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
3690   - engines: {node: '>=8'}
3691   - dependencies:
3692   - to-regex-range: 5.0.1
3693   - dev: true
3694   -
3695   - /finalhandler/1.1.2:
3696   - resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==}
3697   - engines: {node: '>= 0.8'}
3698   - dependencies:
3699   - debug: 2.6.9
3700   - encodeurl: 1.0.2
3701   - escape-html: 1.0.3
3702   - on-finished: 2.3.0
3703   - parseurl: 1.3.3
3704   - statuses: 1.5.0
3705   - unpipe: 1.0.0
3706   - transitivePeerDependencies:
3707   - - supports-color
3708   - dev: true
3709   -
3710   - /find-up/4.1.0:
3711   - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/find-up/-/find-up-4.1.0.tgz}
3712   - engines: {node: '>=8'}
3713   - dependencies:
3714   - locate-path: 5.0.0
3715   - path-exists: 4.0.0
3716   -
3717   - /find-up/5.0.0:
3718   - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
3719   - engines: {node: '>=10'}
3720   - dependencies:
3721   - locate-path: 6.0.0
3722   - path-exists: 4.0.0
3723   - dev: true
3724   -
3725   - /findup-sync/5.0.0:
3726   - resolution: {integrity: sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==}
3727   - engines: {node: '>= 10.13.0'}
3728   - dependencies:
3729   - detect-file: 1.0.0
3730   - is-glob: 4.0.3
3731   - micromatch: 4.0.5
3732   - resolve-dir: 1.0.1
3733   - dev: true
3734   -
3735   - /fined/2.0.0:
3736   - resolution: {integrity: sha512-OFRzsL6ZMHz5s0JrsEr+TpdGNCtrVtnuG3x1yzGNiQHT0yaDnXAj8V/lWcpJVrnoDpcwXcASxAZYbuXda2Y82A==}
3737   - engines: {node: '>= 10.13.0'}
3738   - dependencies:
3739   - expand-tilde: 2.0.2
3740   - is-plain-object: 5.0.0
3741   - object.defaults: 1.1.0
3742   - object.pick: 1.3.0
3743   - parse-filepath: 1.0.2
3744   - dev: true
3745   -
3746   - /flagged-respawn/2.0.0:
3747   - resolution: {integrity: sha512-Gq/a6YCi8zexmGHMuJwahTGzXlAZAOsbCVKduWXC6TlLCjjFRlExMJc4GC2NYPYZ0r/brw9P7CpRgQmlPVeOoA==}
3748   - engines: {node: '>= 10.13.0'}
3749   - dev: true
3750   -
3751   - /flat-cache/3.0.4:
3752   - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
3753   - engines: {node: ^10.12.0 || >=12.0.0}
3754   - dependencies:
3755   - flatted: 3.2.4
3756   - rimraf: 3.0.2
3757   - dev: true
3758   -
3759   - /flatted/3.2.4:
3760   - resolution: {integrity: sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==}
3761   - dev: true
3762   -
3763   - /follow-redirects/1.14.9:
3764   - resolution: {integrity: sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==}
3765   - engines: {node: '>=4.0'}
3766   - peerDependencies:
3767   - debug: '*'
3768   - peerDependenciesMeta:
3769   - debug:
3770   - optional: true
3771   -
3772   - /for-in/1.0.2:
3773   - resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==}
3774   - engines: {node: '>=0.10.0'}
3775   - dev: true
3776   -
3777   - /for-own/1.0.0:
3778   - resolution: {integrity: sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==}
3779   - engines: {node: '>=0.10.0'}
3780   - dependencies:
3781   - for-in: 1.0.2
3782   - dev: true
3783   -
3784   - /form-data/4.0.0:
3785   - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
3786   - engines: {node: '>= 6'}
3787   - dependencies:
3788   - asynckit: 0.4.0
3789   - combined-stream: 1.0.8
3790   - mime-types: 2.1.35
3791   - dev: false
3792   -
3793   - /fraction.js/4.2.0:
3794   - resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
3795   - dev: true
3796   -
3797   - /fragment-cache/0.2.1:
3798   - resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/fragment-cache/-/fragment-cache-0.2.1.tgz}
3799   - engines: {node: '>=0.10.0'}
3800   - dependencies:
3801   - map-cache: 0.2.2
3802   - dev: true
3803   -
3804   - /fs-extra/10.0.0:
3805   - resolution: {integrity: sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/fs-extra/-/fs-extra-10.0.0.tgz}
3806   - engines: {node: '>=12'}
3807   - dependencies:
3808   - graceful-fs: 4.2.8
3809   - jsonfile: 6.1.0
3810   - universalify: 2.0.0
3811   - dev: true
3812   -
3813   - /fs-extra/10.0.1:
3814   - resolution: {integrity: sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==}
3815   - engines: {node: '>=12'}
3816   - dependencies:
3817   - graceful-fs: 4.2.8
3818   - jsonfile: 6.1.0
3819   - universalify: 2.0.0
3820   - dev: true
3821   -
3822   - /fs.realpath/1.0.0:
3823   - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
3824   - dev: true
3825   -
3826   - /fsevents/2.3.2:
3827   - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
3828   - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
3829   - os: [darwin]
3830   - requiresBuild: true
3831   - dev: true
3832   - optional: true
3833   -
3834   - /function-bind/1.1.1:
3835   - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
3836   -
3837   - /functional-red-black-tree/1.0.1:
3838   - resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==}
3839   - dev: true
3840   -
3841   - /gensync/1.0.0-beta.2:
3842   - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
3843   - engines: {node: '>=6.9.0'}
3844   - dev: true
3845   -
3846   - /get-caller-file/2.0.5:
3847   - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
3848   - engines: {node: 6.* || 8.* || >= 10.*}
3849   -
3850   - /get-intrinsic/1.1.1:
3851   - resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==}
3852   - dependencies:
3853   - function-bind: 1.1.1
3854   - has: 1.0.3
3855   - has-symbols: 1.0.2
3856   - dev: false
3857   -
3858   - /get-stdin/8.0.0:
3859   - resolution: {integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==}
3860   - engines: {node: '>=10'}
3861   - dev: true
3862   -
3863   - /get-stream/5.2.0:
3864   - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==}
3865   - engines: {node: '>=8'}
3866   - dependencies:
3867   - pump: 3.0.0
3868   - dev: true
3869   -
3870   - /get-stream/6.0.1:
3871   - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
3872   - engines: {node: '>=10'}
3873   - dev: true
3874   -
3875   - /get-value/2.0.6:
3876   - resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/get-value/-/get-value-2.0.6.tgz}
3877   - engines: {node: '>=0.10.0'}
3878   - dev: true
3879   -
3880   - /git-raw-commits/2.0.11:
3881   - resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==}
3882   - engines: {node: '>=10'}
3883   - hasBin: true
3884   - dependencies:
3885   - dargs: 7.0.0
3886   - lodash: 4.17.21
3887   - meow: 8.1.2
3888   - split2: 3.2.2
3889   - through2: 4.0.2
3890   - dev: true
3891   -
3892   - /glob-parent/5.1.2:
3893   - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
3894   - engines: {node: '>= 6'}
3895   - dependencies:
3896   - is-glob: 4.0.3
3897   - dev: true
3898   -
3899   - /glob-parent/6.0.2:
3900   - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
3901   - engines: {node: '>=10.13.0'}
3902   - dependencies:
3903   - is-glob: 4.0.3
3904   - dev: true
3905   -
3906   - /glob/7.2.0:
3907   - resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==}
3908   - dependencies:
3909   - fs.realpath: 1.0.0
3910   - inflight: 1.0.6
3911   - inherits: 2.0.4
3912   - minimatch: 3.1.2
3913   - once: 1.4.0
3914   - path-is-absolute: 1.0.1
3915   - dev: true
3916   -
3917   - /global-dirs/0.1.1:
3918   - resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==}
3919   - engines: {node: '>=4'}
3920   - dependencies:
3921   - ini: 1.3.8
3922   - dev: true
3923   -
3924   - /global-modules/1.0.0:
3925   - resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==}
3926   - engines: {node: '>=0.10.0'}
3927   - dependencies:
3928   - global-prefix: 1.0.2
3929   - is-windows: 1.0.2
3930   - resolve-dir: 1.0.1
3931   - dev: true
3932   -
3933   - /global-modules/2.0.0:
3934   - resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==}
3935   - engines: {node: '>=6'}
3936   - dependencies:
3937   - global-prefix: 3.0.0
3938   - dev: true
3939   -
3940   - /global-prefix/1.0.2:
3941   - resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==}
3942   - engines: {node: '>=0.10.0'}
3943   - dependencies:
3944   - expand-tilde: 2.0.2
3945   - homedir-polyfill: 1.0.3
3946   - ini: 1.3.8
3947   - is-windows: 1.0.2
3948   - which: 1.3.1
3949   - dev: true
3950   -
3951   - /global-prefix/3.0.0:
3952   - resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==}
3953   - engines: {node: '>=6'}
3954   - dependencies:
3955   - ini: 1.3.8
3956   - kind-of: 6.0.3
3957   - which: 1.3.1
3958   - dev: true
3959   -
3960   - /globals/11.12.0:
3961   - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
3962   - engines: {node: '>=4'}
3963   - dev: true
3964   -
3965   - /globals/13.15.0:
3966   - resolution: {integrity: sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==}
3967   - engines: {node: '>=8'}
3968   - dependencies:
3969   - type-fest: 0.20.2
3970   - dev: true
3971   -
3972   - /globby/11.1.0:
3973   - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
3974   - engines: {node: '>=10'}
3975   - dependencies:
3976   - array-union: 2.1.0
3977   - dir-glob: 3.0.1
3978   - fast-glob: 3.2.11
3979   - ignore: 5.2.0
3980   - merge2: 1.4.1
3981   - slash: 3.0.0
3982   - dev: true
3983   -
3984   - /globby/13.1.1:
3985   - resolution: {integrity: sha512-XMzoDZbGZ37tufiv7g0N4F/zp3zkwdFtVbV3EHsVl1KQr4RPLfNoT068/97RPshz2J5xYNEjLKKBKaGHifBd3Q==}
3986   - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
3987   - dependencies:
3988   - dir-glob: 3.0.1
3989   - fast-glob: 3.2.11
3990   - ignore: 5.2.0
3991   - merge2: 1.4.1
3992   - slash: 4.0.0
3993   - dev: true
3994   -
3995   - /globjoin/0.1.4:
3996   - resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==}
3997   - dev: true
3998   -
3999   - /graceful-fs/4.2.8:
4000   - resolution: {integrity: sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==}
4001   - requiresBuild: true
4002   - dev: true
4003   -
4004   - /handlebars/4.7.7:
4005   - resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==}
4006   - engines: {node: '>=0.4.7'}
4007   - hasBin: true
4008   - dependencies:
4009   - minimist: 1.2.6
4010   - neo-async: 2.6.2
4011   - source-map: 0.6.1
4012   - wordwrap: 1.0.0
4013   - optionalDependencies:
4014   - uglify-js: 3.15.3
4015   - dev: true
4016   -
4017   - /hard-rejection/2.1.0:
4018   - resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==}
4019   - engines: {node: '>=6'}
4020   - dev: true
4021   -
4022   - /has-ansi/2.0.0:
4023   - resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/has-ansi/-/has-ansi-2.0.0.tgz}
4024   - engines: {node: '>=0.10.0'}
4025   - dependencies:
4026   - ansi-regex: 2.1.1
4027   - dev: true
4028   -
4029   - /has-flag/1.0.0:
4030   - resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==}
4031   - engines: {node: '>=0.10.0'}
4032   - dev: true
4033   -
4034   - /has-flag/3.0.0:
4035   - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
4036   - engines: {node: '>=4'}
4037   - dev: true
4038   -
4039   - /has-flag/4.0.0:
4040   - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
4041   - engines: {node: '>=8'}
4042   - dev: true
4043   -
4044   - /has-symbols/1.0.2:
4045   - resolution: {integrity: sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==}
4046   - engines: {node: '>= 0.4'}
4047   - dev: false
4048   -
4049   - /has-value/0.3.1:
4050   - resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/has-value/-/has-value-0.3.1.tgz}
4051   - engines: {node: '>=0.10.0'}
4052   - dependencies:
4053   - get-value: 2.0.6
4054   - has-values: 0.1.4
4055   - isobject: 2.1.0
4056   - dev: true
4057   -
4058   - /has-value/1.0.0:
4059   - resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/has-value/-/has-value-1.0.0.tgz}
4060   - engines: {node: '>=0.10.0'}
4061   - dependencies:
4062   - get-value: 2.0.6
4063   - has-values: 1.0.0
4064   - isobject: 3.0.1
4065   - dev: true
4066   -
4067   - /has-values/0.1.4:
4068   - resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/has-values/-/has-values-0.1.4.tgz}
4069   - engines: {node: '>=0.10.0'}
4070   - dev: true
4071   -
4072   - /has-values/1.0.0:
4073   - resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/has-values/-/has-values-1.0.0.tgz}
4074   - engines: {node: '>=0.10.0'}
4075   - dependencies:
4076   - is-number: 3.0.0
4077   - kind-of: 4.0.0
4078   - dev: true
4079   -
4080   - /has/1.0.3:
4081   - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
4082   - engines: {node: '>= 0.4.0'}
4083   - dependencies:
4084   - function-bind: 1.1.1
4085   -
4086   - /he/1.2.0:
4087   - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/he/-/he-1.2.0.tgz}
4088   - hasBin: true
4089   - dev: true
4090   -
4091   - /header-case/2.0.4:
4092   - resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==}
4093   - dependencies:
4094   - capital-case: 1.0.4
4095   - tslib: 2.3.1
4096   - dev: true
4097   -
4098   - /homedir-polyfill/1.0.3:
4099   - resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==}
4100   - engines: {node: '>=0.10.0'}
4101   - dependencies:
4102   - parse-passwd: 1.0.0
4103   - dev: true
4104   -
4105   - /hosted-git-info/2.8.9:
4106   - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
4107   - dev: true
4108   -
4109   - /hosted-git-info/4.0.2:
4110   - resolution: {integrity: sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==}
4111   - engines: {node: '>=10'}
4112   - dependencies:
4113   - lru-cache: 6.0.0
4114   - dev: true
4115   -
4116   - /html-minifier-terser/6.1.0:
4117   - resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz}
4118   - engines: {node: '>=12'}
4119   - hasBin: true
4120   - dependencies:
4121   - camel-case: 4.1.2
4122   - clean-css: 5.2.4
4123   - commander: 8.3.0
4124   - he: 1.2.0
4125   - param-case: 3.0.4
4126   - relateurl: 0.2.7
4127   - terser: 5.10.0
4128   - dev: true
4129   -
4130   - /html-tags/3.2.0:
4131   - resolution: {integrity: sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==}
4132   - engines: {node: '>=8'}
4133   - dev: true
4134   -
4135   - /html-void-elements/2.0.1:
4136   - resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==}
4137   - dev: false
4138   -
4139   - /htmlparser2/3.10.1:
4140   - resolution: {integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==}
4141   - dependencies:
4142   - domelementtype: 1.3.1
4143   - domhandler: 2.4.2
4144   - domutils: 1.7.0
4145   - entities: 1.1.2
4146   - inherits: 2.0.4
4147   - readable-stream: 3.6.0
4148   - dev: true
4149   -
4150   - /htmlparser2/6.1.0:
4151   - resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==}
4152   - dependencies:
4153   - domelementtype: 2.3.0
4154   - domhandler: 4.3.1
4155   - domutils: 2.8.0
4156   - entities: 2.2.0
4157   - dev: true
4158   -
4159   - /htmlparser2/8.0.1:
4160   - resolution: {integrity: sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==}
4161   - dependencies:
4162   - domelementtype: 2.3.0
4163   - domhandler: 5.0.3
4164   - domutils: 3.0.1
4165   - entities: 4.3.1
4166   - dev: true
4167   -
4168   - /human-signals/1.1.1:
4169   - resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==}
4170   - engines: {node: '>=8.12.0'}
4171   - dev: true
4172   -
4173   - /human-signals/2.1.0:
4174   - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
4175   - engines: {node: '>=10.17.0'}
4176   - dev: true
4177   -
4178   - /human-signals/3.0.1:
4179   - resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==}
4180   - engines: {node: '>=12.20.0'}
4181   - dev: true
4182   -
4183   - /i18next/20.6.1:
4184   - resolution: {integrity: sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==}
4185   - dependencies:
4186   - '@babel/runtime': 7.17.2
4187   - dev: false
4188   -
4189   - /iconv-lite/0.4.24:
4190   - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
4191   - engines: {node: '>=0.10.0'}
4192   - dependencies:
4193   - safer-buffer: 2.1.2
4194   - dev: true
4195   -
4196   - /iconv-lite/0.6.3:
4197   - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
4198   - engines: {node: '>=0.10.0'}
4199   - dependencies:
4200   - safer-buffer: 2.1.2
4201   - dev: true
4202   - optional: true
4203   -
4204   - /ieee754/1.2.1:
4205   - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
4206   - dev: true
4207   -
4208   - /ignore/5.2.0:
4209   - resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==}
4210   - engines: {node: '>= 4'}
4211   - dev: true
4212   -
4213   - /image-size/0.5.5:
4214   - resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==}
4215   - engines: {node: '>=0.10.0'}
4216   - hasBin: true
4217   - requiresBuild: true
4218   - dev: true
4219   -
4220   - /immer/9.0.12:
4221   - resolution: {integrity: sha512-lk7UNmSbAukB5B6dh9fnh5D0bJTOFKxVg2cyJWTYrWRfhLrLMBquONcUs3aFq507hNoIZEDDh8lb8UtOizSMhA==}
4222   - dev: false
4223   -
4224   - /import-fresh/3.3.0:
4225   - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
4226   - engines: {node: '>=6'}
4227   - dependencies:
4228   - parent-module: 1.0.1
4229   - resolve-from: 4.0.0
4230   - dev: true
4231   -
4232   - /import-lazy/4.0.0:
4233   - resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==}
4234   - engines: {node: '>=8'}
4235   - dev: true
4236   -
4237   - /imurmurhash/0.1.4:
4238   - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
4239   - engines: {node: '>=0.8.19'}
4240   - dev: true
4241   -
4242   - /indent-string/4.0.0:
4243   - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
4244   - engines: {node: '>=8'}
4245   - dev: true
4246   -
4247   - /inflight/1.0.6:
4248   - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
4249   - dependencies:
4250   - once: 1.4.0
4251   - wrappy: 1.0.2
4252   - dev: true
4253   -
4254   - /inherits/2.0.4:
4255   - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
4256   - dev: true
4257   -
4258   - /ini/1.3.8:
4259   - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
4260   - dev: true
4261   -
4262   - /inquirer/8.2.2:
4263   - resolution: {integrity: sha512-pG7I/si6K/0X7p1qU+rfWnpTE1UIkTONN1wxtzh0d+dHXtT/JG6qBgLxoyHVsQa8cFABxAPh0pD6uUUHiAoaow==}
4264   - engines: {node: '>=12.0.0'}
4265   - dependencies:
4266   - ansi-escapes: 4.3.2
4267   - chalk: 4.1.2
4268   - cli-cursor: 3.1.0
4269   - cli-width: 3.0.0
4270   - external-editor: 3.1.0
4271   - figures: 3.2.0
4272   - lodash: 4.17.21
4273   - mute-stream: 0.0.8
4274   - ora: 5.4.1
4275   - run-async: 2.4.1
4276   - rxjs: 7.5.5
4277   - string-width: 4.2.3
4278   - strip-ansi: 6.0.1
4279   - through: 2.3.8
4280   - dev: true
4281   -
4282   - /interpret/2.2.0:
4283   - resolution: {integrity: sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==}
4284   - engines: {node: '>= 0.10'}
4285   - dev: true
4286   -
4287   - /intro.js/6.0.0:
4288   - resolution: {integrity: sha512-ZUiR6BoLSvPSlLG0boewnWVgji1fE1gBvP/pyw5pgCKXEDQz1mMeUxarggClPNs71UTq364LwSk9zxz17A9gaQ==}
4289   - dev: false
4290   -
4291   - /is-absolute/1.0.0:
4292   - resolution: {integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==}
4293   - engines: {node: '>=0.10.0'}
4294   - dependencies:
4295   - is-relative: 1.0.0
4296   - is-windows: 1.0.2
4297   - dev: true
4298   -
4299   - /is-accessor-descriptor/0.1.6:
4300   - resolution: {integrity: sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz}
4301   - engines: {node: '>=0.10.0'}
4302   - dependencies:
4303   - kind-of: 3.2.2
4304   - dev: true
4305   -
4306   - /is-accessor-descriptor/1.0.0:
4307   - resolution: {integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz}
4308   - engines: {node: '>=0.10.0'}
4309   - dependencies:
4310   - kind-of: 6.0.3
4311   - dev: true
4312   -
4313   - /is-arrayish/0.2.1:
4314   - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
4315   - dev: true
4316   -
4317   - /is-binary-path/2.1.0:
4318   - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
4319   - engines: {node: '>=8'}
4320   - dependencies:
4321   - binary-extensions: 2.2.0
4322   - dev: true
4323   -
4324   - /is-buffer/1.1.6:
4325   - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/is-buffer/-/is-buffer-1.1.6.tgz}
4326   - dev: true
4327   -
4328   - /is-core-module/2.8.1:
4329   - resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==}
4330   - dependencies:
4331   - has: 1.0.3
4332   - dev: true
4333   -
4334   - /is-core-module/2.9.0:
4335   - resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==}
4336   - dependencies:
4337   - has: 1.0.3
4338   - dev: true
4339   -
4340   - /is-data-descriptor/0.1.4:
4341   - resolution: {integrity: sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz}
4342   - engines: {node: '>=0.10.0'}
4343   - dependencies:
4344   - kind-of: 3.2.2
4345   - dev: true
4346   -
4347   - /is-data-descriptor/1.0.0:
4348   - resolution: {integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz}
4349   - engines: {node: '>=0.10.0'}
4350   - dependencies:
4351   - kind-of: 6.0.3
4352   - dev: true
4353   -
4354   - /is-descriptor/0.1.6:
4355   - resolution: {integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/is-descriptor/-/is-descriptor-0.1.6.tgz}
4356   - engines: {node: '>=0.10.0'}
4357   - dependencies:
4358   - is-accessor-descriptor: 0.1.6
4359   - is-data-descriptor: 0.1.4
4360   - kind-of: 5.1.0
4361   - dev: true
4362   -
4363   - /is-descriptor/1.0.2:
4364   - resolution: {integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/is-descriptor/-/is-descriptor-1.0.2.tgz}
4365   - engines: {node: '>=0.10.0'}
4366   - dependencies:
4367   - is-accessor-descriptor: 1.0.0
4368   - is-data-descriptor: 1.0.0
4369   - kind-of: 6.0.3
4370   - dev: true
4371   -
4372   - /is-extendable/0.1.1:
4373   - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==}
4374   - engines: {node: '>=0.10.0'}
4375   - dev: true
4376   -
4377   - /is-extendable/1.0.1:
4378   - resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==}
4379   - engines: {node: '>=0.10.0'}
4380   - dependencies:
4381   - is-plain-object: 2.0.4
4382   - dev: true
4383   -
4384   - /is-extglob/2.1.1:
4385   - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
4386   - engines: {node: '>=0.10.0'}
4387   - dev: true
4388   -
4389   - /is-fullwidth-code-point/3.0.0:
4390   - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
4391   - engines: {node: '>=8'}
4392   -
4393   - /is-fullwidth-code-point/4.0.0:
4394   - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
4395   - engines: {node: '>=12'}
4396   - dev: true
4397   -
4398   - /is-glob/4.0.3:
4399   - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
4400   - engines: {node: '>=0.10.0'}
4401   - dependencies:
4402   - is-extglob: 2.1.1
4403   - dev: true
4404   -
4405   - /is-hotkey/0.2.0:
4406   - resolution: {integrity: sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==}
4407   - dev: false
4408   -
4409   - /is-interactive/1.0.0:
4410   - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
4411   - engines: {node: '>=8'}
4412   - dev: true
4413   -
4414   - /is-interactive/2.0.0:
4415   - resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==}
4416   - engines: {node: '>=12'}
4417   - dev: true
4418   -
4419   - /is-number/3.0.0:
4420   - resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==}
4421   - engines: {node: '>=0.10.0'}
4422   - dependencies:
4423   - kind-of: 3.2.2
4424   - dev: true
4425   -
4426   - /is-number/7.0.0:
4427   - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
4428   - engines: {node: '>=0.12.0'}
4429   - dev: true
4430   -
4431   - /is-obj/2.0.0:
4432   - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
4433   - engines: {node: '>=8'}
4434   - dev: true
4435   -
4436   - /is-path-cwd/2.2.0:
4437   - resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==}
4438   - engines: {node: '>=6'}
4439   - dev: true
4440   -
4441   - /is-path-inside/3.0.3:
4442   - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
4443   - engines: {node: '>=8'}
4444   - dev: true
4445   -
4446   - /is-plain-obj/1.1.0:
4447   - resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
4448   - engines: {node: '>=0.10.0'}
4449   - dev: true
4450   -
4451   - /is-plain-object/2.0.4:
4452   - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
4453   - engines: {node: '>=0.10.0'}
4454   - dependencies:
4455   - isobject: 3.0.1
4456   - dev: true
4457   -
4458   - /is-plain-object/5.0.0:
4459   - resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
4460   - engines: {node: '>=0.10.0'}
4461   -
4462   - /is-regexp/2.1.0:
4463   - resolution: {integrity: sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==}
4464   - engines: {node: '>=6'}
4465   - dev: true
4466   -
4467   - /is-relative/1.0.0:
4468   - resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==}
4469   - engines: {node: '>=0.10.0'}
4470   - dependencies:
4471   - is-unc-path: 1.0.0
4472   - dev: true
4473   -
4474   - /is-stream/2.0.1:
4475   - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
4476   - engines: {node: '>=8'}
4477   - dev: true
4478   -
4479   - /is-stream/3.0.0:
4480   - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
4481   - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
4482   - dev: true
4483   -
4484   - /is-text-path/1.0.1:
4485   - resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==}
4486   - engines: {node: '>=0.10.0'}
4487   - dependencies:
4488   - text-extensions: 1.9.0
4489   - dev: true
4490   -
4491   - /is-unc-path/1.0.0:
4492   - resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==}
4493   - engines: {node: '>=0.10.0'}
4494   - dependencies:
4495   - unc-path-regex: 0.1.2
4496   - dev: true
4497   -
4498   - /is-unicode-supported/0.1.0:
4499   - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
4500   - engines: {node: '>=10'}
4501   - dev: true
4502   -
4503   - /is-unicode-supported/1.2.0:
4504   - resolution: {integrity: sha512-wH+U77omcRzevfIG8dDhTS0V9zZyweakfD01FULl97+0EHiJTTZtJqxPSkIIo/SDPv/i07k/C9jAPY+jwLLeUQ==}
4505   - engines: {node: '>=12'}
4506   - dev: true
4507   -
4508   - /is-url/1.2.4:
4509   - resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==}
4510   - dev: false
4511   -
4512   - /is-what/3.14.1:
4513   - resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==}
4514   - dev: true
4515   -
4516   - /is-windows/1.0.2:
4517   - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
4518   - engines: {node: '>=0.10.0'}
4519   - dev: true
4520   -
4521   - /isarray/1.0.0:
4522   - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
4523   - dev: true
4524   -
4525   - /isbinaryfile/4.0.10:
4526   - resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==}
4527   - engines: {node: '>= 8.0.0'}
4528   - dev: true
4529   -
4530   - /isexe/2.0.0:
4531   - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
4532   - dev: true
4533   -
4534   - /isobject/2.1.0:
4535   - resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==}
4536   - engines: {node: '>=0.10.0'}
4537   - dependencies:
4538   - isarray: 1.0.0
4539   - dev: true
4540   -
4541   - /isobject/3.0.1:
4542   - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
4543   - engines: {node: '>=0.10.0'}
4544   - dev: true
4545   -
4546   - /jake/10.8.2:
4547   - resolution: {integrity: sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/jake/-/jake-10.8.2.tgz}
4548   - hasBin: true
4549   - dependencies:
4550   - async: 0.9.2
4551   - chalk: 2.4.2
4552   - filelist: 1.0.2
4553   - minimatch: 3.1.2
4554   - dev: true
4555   -
4556   - /jiti/1.14.0:
4557   - resolution: {integrity: sha512-4IwstlaKQc9vCTC+qUXLM1hajy2ImiL9KnLvVYiaHOtS/v3wRjhLlGl121AmgDgx/O43uKmxownJghS5XMya2A==}
4558   - hasBin: true
4559   - dev: true
4560   -
4561   - /js-base64/2.6.4:
4562   - resolution: {integrity: sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==}
4563   - dev: true
4564   -
4565   - /js-tokens/4.0.0:
4566   - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
4567   - dev: true
4568   -
4569   - /js-tokens/8.0.0:
4570   - resolution: {integrity: sha512-PC7MzqInq9OqKyTXfIvQNcjMkODJYC8A17kAaQgeW79yfhqTWSOfjHYQ2mDDcwJ96Iibtwkfh0C7R/OvqPlgVA==}
4571   - dev: true
4572   -
4573   - /js-yaml/4.1.0:
4574   - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
4575   - hasBin: true
4576   - dependencies:
4577   - argparse: 2.0.1
4578   - dev: true
4579   -
4580   - /jsesc/2.5.2:
4581   - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
4582   - engines: {node: '>=4'}
4583   - hasBin: true
4584   - dev: true
4585   -
4586   - /json-parse-even-better-errors/2.3.1:
4587   - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
4588   - dev: true
4589   -
4590   - /json-schema-traverse/0.4.1:
4591   - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
4592   - dev: true
4593   -
4594   - /json-schema-traverse/1.0.0:
4595   - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
4596   - dev: true
4597   -
4598   - /json-stable-stringify-without-jsonify/1.0.1:
4599   - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
4600   - dev: true
4601   -
4602   - /json5/1.0.1:
4603   - resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==}
4604   - hasBin: true
4605   - dependencies:
4606   - minimist: 1.2.6
4607   - dev: true
4608   -
4609   - /json5/2.2.1:
4610   - resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==}
4611   - engines: {node: '>=6'}
4612   - hasBin: true
4613   - dev: true
4614   -
4615   - /jsonc-eslint-parser/1.4.1:
4616   - resolution: {integrity: sha512-hXBrvsR1rdjmB2kQmUjf1rEIa+TqHBGMge8pwi++C+Si1ad7EjZrJcpgwym+QGK/pqTx+K7keFAtLlVNdLRJOg==}
4617   - engines: {node: '>=8.10.0'}
4618   - dependencies:
4619   - acorn: 7.4.1
4620   - eslint-utils: 2.1.0
4621   - eslint-visitor-keys: 1.3.0
4622   - espree: 6.2.1
4623   - semver: 6.3.0
4624   - dev: true
4625   -
4626   - /jsonfile/6.1.0:
4627   - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
4628   - dependencies:
4629   - universalify: 2.0.0
4630   - optionalDependencies:
4631   - graceful-fs: 4.2.8
4632   - dev: true
4633   -
4634   - /jsonparse/1.3.1:
4635   - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==}
4636   - engines: {'0': node >= 0.2.0}
4637   - dev: true
4638   -
4639   - /kind-of/3.2.2:
4640   - resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==}
4641   - engines: {node: '>=0.10.0'}
4642   - dependencies:
4643   - is-buffer: 1.1.6
4644   - dev: true
4645   -
4646   - /kind-of/4.0.0:
4647   - resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==}
4648   - engines: {node: '>=0.10.0'}
4649   - dependencies:
4650   - is-buffer: 1.1.6
4651   - dev: true
4652   -
4653   - /kind-of/5.1.0:
4654   - resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==}
4655   - engines: {node: '>=0.10.0'}
4656   - dev: true
4657   -
4658   - /kind-of/6.0.3:
4659   - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
4660   - engines: {node: '>=0.10.0'}
4661   - dev: true
4662   -
4663   - /known-css-properties/0.25.0:
4664   - resolution: {integrity: sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==}
4665   - dev: true
4666   -
4667   - /kolorist/1.5.1:
4668   - resolution: {integrity: sha512-lxpCM3HTvquGxKGzHeknB/sUjuVoUElLlfYnXZT73K8geR9jQbroGlSCFBax9/0mpGoD3kzcMLnOlGQPJJNyqQ==}
4669   - dev: true
4670   -
4671   - /less/4.1.3:
4672   - resolution: {integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==}
4673   - engines: {node: '>=6'}
4674   - hasBin: true
4675   - dependencies:
4676   - copy-anything: 2.0.3
4677   - parse-node-version: 1.0.1
4678   - tslib: 2.3.1
4679   - optionalDependencies:
4680   - errno: 0.1.8
4681   - graceful-fs: 4.2.8
4682   - image-size: 0.5.5
4683   - make-dir: 2.1.0
4684   - mime: 1.6.0
4685   - needle: 3.1.0
4686   - source-map: 0.6.1
4687   - transitivePeerDependencies:
4688   - - supports-color
4689   - dev: true
4690   -
4691   - /levn/0.4.1:
4692   - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
4693   - engines: {node: '>= 0.8.0'}
4694   - dependencies:
4695   - prelude-ls: 1.2.1
4696   - type-check: 0.4.0
4697   - dev: true
4698   -
4699   - /liftoff/4.0.0:
4700   - resolution: {integrity: sha512-rMGwYF8q7g2XhG2ulBmmJgWv25qBsqRbDn5gH0+wnuyeFt7QBJlHJmtg5qEdn4pN6WVAUMgXnIxytMFRX9c1aA==}
4701   - engines: {node: '>=10.13.0'}
4702   - dependencies:
4703   - extend: 3.0.2
4704   - findup-sync: 5.0.0
4705   - fined: 2.0.0
4706   - flagged-respawn: 2.0.0
4707   - is-plain-object: 5.0.0
4708   - object.map: 1.0.1
4709   - rechoir: 0.8.0
4710   - resolve: 1.22.1
4711   - dev: true
4712   -
4713   - /lilconfig/2.0.5:
4714   - resolution: {integrity: sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==}
4715   - engines: {node: '>=10'}
4716   - dev: true
4717   -
4718   - /lines-and-columns/1.2.4:
4719   - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
4720   - dev: true
4721   -
4722   - /lint-staged/13.0.3:
4723   - resolution: {integrity: sha512-9hmrwSCFroTSYLjflGI8Uk+GWAwMB4OlpU4bMJEAT5d/llQwtYKoim4bLOyLCuWFAhWEupE0vkIFqtw/WIsPug==}
4724   - engines: {node: ^14.13.1 || >=16.0.0}
4725   - hasBin: true
4726   - dependencies:
4727   - cli-truncate: 3.1.0
4728   - colorette: 2.0.17
4729   - commander: 9.3.0
4730   - debug: 4.3.4
4731   - execa: 6.1.0
4732   - lilconfig: 2.0.5
4733   - listr2: 4.0.5
4734   - micromatch: 4.0.5
4735   - normalize-path: 3.0.0
4736   - object-inspect: 1.12.2
4737   - pidtree: 0.6.0
4738   - string-argv: 0.3.1
4739   - yaml: 2.1.1
4740   - transitivePeerDependencies:
4741   - - enquirer
4742   - - supports-color
4743   - dev: true
4744   -
4745   - /listr2/4.0.5:
4746   - resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==}
4747   - engines: {node: '>=12'}
4748   - peerDependencies:
4749   - enquirer: '>= 2.3.0 < 3'
4750   - peerDependenciesMeta:
4751   - enquirer:
4752   - optional: true
4753   - dependencies:
4754   - cli-truncate: 2.1.0
4755   - colorette: 2.0.17
4756   - log-update: 4.0.0
4757   - p-map: 4.0.0
4758   - rfdc: 1.3.0
4759   - rxjs: 7.5.5
4760   - through: 2.3.8
4761   - wrap-ansi: 7.0.0
4762   - dev: true
4763   -
4764   - /loader-utils/1.4.0:
4765   - resolution: {integrity: sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/loader-utils/-/loader-utils-1.4.0.tgz}
4766   - engines: {node: '>=4.0.0'}
4767   - dependencies:
4768   - big.js: 5.2.2
4769   - emojis-list: 3.0.0
4770   - json5: 1.0.1
4771   - dev: true
4772   -
4773   - /locate-path/5.0.0:
4774   - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/locate-path/-/locate-path-5.0.0.tgz}
4775   - engines: {node: '>=8'}
4776   - dependencies:
4777   - p-locate: 4.1.0
4778   -
4779   - /locate-path/6.0.0:
4780   - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
4781   - engines: {node: '>=10'}
4782   - dependencies:
4783   - p-locate: 5.0.0
4784   - dev: true
4785   -
4786   - /lodash-es/4.17.21:
4787   - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
4788   - dev: false
4789   -
4790   - /lodash-unified/1.0.2_3ib2ivapxullxkx3xftsimdk7u:
4791   - resolution: {integrity: sha512-OGbEy+1P+UT26CYi4opY4gebD8cWRDxAT6MAObIVQMiqYdxZr1g3QHWCToVsm31x2NkLS4K3+MC2qInaRMa39g==}
4792   - peerDependencies:
4793   - '@types/lodash-es': '*'
4794   - lodash: '*'
4795   - lodash-es: '*'
4796   - dependencies:
4797   - '@types/lodash-es': 4.17.6
4798   - lodash: 4.17.21
4799   - lodash-es: 4.17.21
4800   - dev: false
4801   -
4802   - /lodash.camelcase/4.3.0:
4803   - resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
4804   - dev: false
4805   -
4806   - /lodash.clonedeep/4.5.0:
4807   - resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==}
4808   - dev: false
4809   -
4810   - /lodash.debounce/4.0.8:
4811   - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
4812   - dev: false
4813   -
4814   - /lodash.foreach/4.5.0:
4815   - resolution: {integrity: sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==}
4816   - dev: false
4817   -
4818   - /lodash.get/4.4.2:
4819   - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==}
4820   - dev: true
4821   -
4822   - /lodash.isequal/4.5.0:
4823   - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==}
4824   - dev: false
4825   -
4826   - /lodash.merge/4.6.2:
4827   - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
4828   - dev: true
4829   -
4830   - /lodash.throttle/4.1.1:
4831   - resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==}
4832   - dev: false
4833   -
4834   - /lodash.toarray/4.4.0:
4835   - resolution: {integrity: sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw==}
4836   - dev: false
4837   -
4838   - /lodash.truncate/4.4.2:
4839   - resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==}
4840   - dev: true
4841   -
4842   - /lodash/4.17.21:
4843   - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
4844   -
4845   - /log-symbols/4.1.0:
4846   - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
4847   - engines: {node: '>=10'}
4848   - dependencies:
4849   - chalk: 4.1.2
4850   - is-unicode-supported: 0.1.0
4851   - dev: true
4852   -
4853   - /log-symbols/5.1.0:
4854   - resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==}
4855   - engines: {node: '>=12'}
4856   - dependencies:
4857   - chalk: 5.0.1
4858   - is-unicode-supported: 1.2.0
4859   - dev: true
4860   -
4861   - /log-update/4.0.0:
4862   - resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==}
4863   - engines: {node: '>=10'}
4864   - dependencies:
4865   - ansi-escapes: 4.3.2
4866   - cli-cursor: 3.1.0
4867   - slice-ansi: 4.0.0
4868   - wrap-ansi: 6.2.0
4869   - dev: true
4870   -
4871   - /lower-case/2.0.2:
4872   - resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
4873   - dependencies:
4874   - tslib: 2.3.1
4875   - dev: true
4876   -
4877   - /lru-cache/6.0.0:
4878   - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
4879   - engines: {node: '>=10'}
4880   - dependencies:
4881   - yallist: 4.0.0
4882   - dev: true
4883   -
4884   - /magic-string/0.25.7:
4885   - resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==}
4886   - dependencies:
4887   - sourcemap-codec: 1.4.8
4888   -
4889   - /magic-string/0.26.2:
4890   - resolution: {integrity: sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==}
4891   - engines: {node: '>=12'}
4892   - dependencies:
4893   - sourcemap-codec: 1.4.8
4894   - dev: true
4895   -
4896   - /make-dir/2.1.0:
4897   - resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
4898   - engines: {node: '>=6'}
4899   - requiresBuild: true
4900   - dependencies:
4901   - pify: 4.0.1
4902   - semver: 5.7.1
4903   - dev: true
4904   - optional: true
4905   -
4906   - /make-error/1.3.6:
4907   - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
4908   - dev: true
4909   -
4910   - /make-iterator/1.0.1:
4911   - resolution: {integrity: sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==}
4912   - engines: {node: '>=0.10.0'}
4913   - dependencies:
4914   - kind-of: 6.0.3
4915   - dev: true
4916   -
4917   - /map-cache/0.2.2:
4918   - resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==}
4919   - engines: {node: '>=0.10.0'}
4920   - dev: true
4921   -
4922   - /map-obj/1.0.1:
4923   - resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==}
4924   - engines: {node: '>=0.10.0'}
4925   - dev: true
4926   -
4927   - /map-obj/4.3.0:
4928   - resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==}
4929   - engines: {node: '>=8'}
4930   - dev: true
4931   -
4932   - /map-visit/1.0.0:
4933   - resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/map-visit/-/map-visit-1.0.0.tgz}
4934   - engines: {node: '>=0.10.0'}
4935   - dependencies:
4936   - object-visit: 1.0.1
4937   - dev: true
4938   -
4939   - /mathml-tag-names/2.1.3:
4940   - resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==}
4941   - dev: true
4942   -
4943   - /mdn-data/2.0.14:
4944   - resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
4945   - dev: true
4946   -
4947   - /memoize-one/6.0.0:
4948   - resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==}
4949   - dev: false
4950   -
4951   - /meow/8.1.2:
4952   - resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==}
4953   - engines: {node: '>=10'}
4954   - dependencies:
4955   - '@types/minimist': 1.2.2
4956   - camelcase-keys: 6.2.2
4957   - decamelize-keys: 1.1.0
4958   - hard-rejection: 2.1.0
4959   - minimist-options: 4.1.0
4960   - normalize-package-data: 3.0.3
4961   - read-pkg-up: 7.0.1
4962   - redent: 3.0.0
4963   - trim-newlines: 3.0.1
4964   - type-fest: 0.18.1
4965   - yargs-parser: 20.2.9
4966   - dev: true
4967   -
4968   - /meow/9.0.0:
4969   - resolution: {integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==}
4970   - engines: {node: '>=10'}
4971   - dependencies:
4972   - '@types/minimist': 1.2.2
4973   - camelcase-keys: 6.2.2
4974   - decamelize: 1.2.0
4975   - decamelize-keys: 1.1.0
4976   - hard-rejection: 2.1.0
4977   - minimist-options: 4.1.0
4978   - normalize-package-data: 3.0.3
4979   - read-pkg-up: 7.0.1
4980   - redent: 3.0.0
4981   - trim-newlines: 3.0.1
4982   - type-fest: 0.18.1
4983   - yargs-parser: 20.2.9
4984   - dev: true
4985   -
4986   - /merge-stream/2.0.0:
4987   - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
4988   - dev: true
4989   -
4990   - /merge2/1.4.1:
4991   - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
4992   - engines: {node: '>= 8'}
4993   - dev: true
4994   -
4995   - /micromatch/3.1.0:
4996   - resolution: {integrity: sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==}
4997   - engines: {node: '>=0.10.0'}
4998   - dependencies:
4999   - arr-diff: 4.0.0
5000   - array-unique: 0.3.2
5001   - braces: 2.3.2
5002   - define-property: 1.0.0
5003   - extend-shallow: 2.0.1
5004   - extglob: 2.0.4
5005   - fragment-cache: 0.2.1
5006   - kind-of: 5.1.0
5007   - nanomatch: 1.2.13
5008   - object.pick: 1.3.0
5009   - regex-not: 1.0.2
5010   - snapdragon: 0.8.2
5011   - to-regex: 3.0.2
5012   - transitivePeerDependencies:
5013   - - supports-color
5014   - dev: true
5015   -
5016   - /micromatch/4.0.5:
5017   - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
5018   - engines: {node: '>=8.6'}
5019   - dependencies:
5020   - braces: 3.0.2
5021   - picomatch: 2.3.1
5022   - dev: true
5023   -
5024   - /mime-db/1.52.0:
5025   - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
5026   - engines: {node: '>= 0.6'}
5027   - dev: false
5028   -
5029   - /mime-match/1.0.2:
5030   - resolution: {integrity: sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==}
5031   - dependencies:
5032   - wildcard: 1.1.2
5033   - dev: false
5034   -
5035   - /mime-types/2.1.35:
5036   - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
5037   - engines: {node: '>= 0.6'}
5038   - dependencies:
5039   - mime-db: 1.52.0
5040   - dev: false
5041   -
5042   - /mime/1.6.0:
5043   - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
5044   - engines: {node: '>=4'}
5045   - hasBin: true
5046   - requiresBuild: true
5047   - dev: true
5048   - optional: true
5049   -
5050   - /mimic-fn/2.1.0:
5051   - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
5052   - engines: {node: '>=6'}
5053   - dev: true
5054   -
5055   - /mimic-fn/4.0.0:
5056   - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
5057   - engines: {node: '>=12'}
5058   - dev: true
5059   -
5060   - /min-indent/1.0.1:
5061   - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
5062   - engines: {node: '>=4'}
5063   - dev: true
5064   -
5065   - /minimatch/3.1.2:
5066   - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
5067   - dependencies:
5068   - brace-expansion: 1.1.11
5069   - dev: true
5070   -
5071   - /minimist-options/4.1.0:
5072   - resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==}
5073   - engines: {node: '>= 6'}
5074   - dependencies:
5075   - arrify: 1.0.1
5076   - is-plain-obj: 1.1.0
5077   - kind-of: 6.0.3
5078   - dev: true
5079   -
5080   - /minimist/1.2.6:
5081   - resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==}
5082   - dev: true
5083   -
5084   - /mitt/3.0.0:
5085   - resolution: {integrity: sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/mitt/-/mitt-3.0.0.tgz}
5086   - dev: false
5087   -
5088   - /mixin-deep/1.3.2:
5089   - resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/mixin-deep/-/mixin-deep-1.3.2.tgz}
5090   - engines: {node: '>=0.10.0'}
5091   - dependencies:
5092   - for-in: 1.0.2
5093   - is-extendable: 1.0.1
5094   - dev: true
5095   -
5096   - /mkdirp/1.0.4:
5097   - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
5098   - engines: {node: '>=10'}
5099   - hasBin: true
5100   - dev: true
5101   -
5102   - /mrmime/1.0.0:
5103   - resolution: {integrity: sha512-a70zx7zFfVO7XpnQ2IX1Myh9yY4UYvfld/dikWRnsXxbyvMcfz+u6UfgNAtH+k2QqtJuzVpv6eLTx1G2+WKZbQ==}
5104   - engines: {node: '>=10'}
5105   - dev: true
5106   -
5107   - /ms/2.0.0:
5108   - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
5109   - dev: true
5110   -
5111   - /ms/2.1.2:
5112   - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
5113   - dev: true
5114   -
5115   - /ms/2.1.3:
5116   - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
5117   - dev: true
5118   - optional: true
5119   -
5120   - /multimatch/4.0.0:
5121   - resolution: {integrity: sha1-jDwPbj6ESa2grz3SnvtJGjdRkbM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/multimatch/download/multimatch-4.0.0.tgz}
5122   - engines: {node: '>=8'}
5123   - dependencies:
5124   - '@types/minimatch': 3.0.5
5125   - array-differ: registry.nlark.com/array-differ/3.0.0
5126   - array-union: 2.1.0
5127   - arrify: 2.0.1
5128   - minimatch: 3.1.2
5129   - dev: true
5130   -
5131   - /mute-stream/0.0.8:
5132   - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
5133   - dev: true
5134   -
5135   - /namespace-emitter/2.0.1:
5136   - resolution: {integrity: sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==}
5137   - dev: false
5138   -
5139   - /nanoid/3.3.4:
5140   - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
5141   - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
5142   - hasBin: true
5143   -
5144   - /nanomatch/1.2.13:
5145   - resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/nanomatch/-/nanomatch-1.2.13.tgz}
5146   - engines: {node: '>=0.10.0'}
5147   - dependencies:
5148   - arr-diff: 4.0.0
5149   - array-unique: 0.3.2
5150   - define-property: 2.0.2
5151   - extend-shallow: 3.0.2
5152   - fragment-cache: 0.2.1
5153   - is-windows: 1.0.2
5154   - kind-of: 6.0.3
5155   - object.pick: 1.3.0
5156   - regex-not: 1.0.2
5157   - snapdragon: 0.8.2
5158   - to-regex: 3.0.2
5159   - transitivePeerDependencies:
5160   - - supports-color
5161   - dev: true
5162   -
5163   - /natural-compare/1.4.0:
5164   - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
5165   - dev: true
5166   -
5167   - /needle/3.1.0:
5168   - resolution: {integrity: sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw==}
5169   - engines: {node: '>= 4.4.x'}
5170   - hasBin: true
5171   - requiresBuild: true
5172   - dependencies:
5173   - debug: 3.2.7
5174   - iconv-lite: 0.6.3
5175   - sax: 1.2.4
5176   - transitivePeerDependencies:
5177   - - supports-color
5178   - dev: true
5179   - optional: true
5180   -
5181   - /neo-async/2.6.2:
5182   - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
5183   - dev: true
5184   -
5185   - /next-tick/1.0.0:
5186   - resolution: {integrity: sha512-mc/caHeUcdjnC/boPWJefDr4KUIWQNv+tlnFnJd38QMou86QtxQzBJfxgGRzvx8jazYRqrVlaHarfO72uNxPOg==}
5187   - dev: false
5188   -
5189   - /no-case/3.0.4:
5190   - resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
5191   - dependencies:
5192   - lower-case: 2.0.2
5193   - tslib: 2.3.1
5194   - dev: true
5195   -
5196   - /node-fetch/2.6.7:
5197   - resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==}
5198   - engines: {node: 4.x || >=6.0.0}
5199   - peerDependencies:
5200   - encoding: ^0.1.0
5201   - peerDependenciesMeta:
5202   - encoding:
5203   - optional: true
5204   - dependencies:
5205   - whatwg-url: 5.0.0
5206   - dev: true
5207   -
5208   - /node-html-parser/5.3.3:
5209   - resolution: {integrity: sha512-ncg1033CaX9UexbyA7e1N0aAoAYRDiV8jkTvzEnfd1GDvzFdrsXLzR4p4ik8mwLgnaKP/jyUFWDy9q3jvRT2Jw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/node-html-parser/-/node-html-parser-5.3.3.tgz}
5210   - dependencies:
5211   - css-select: 4.2.1
5212   - he: 1.2.0
5213   - dev: true
5214   -
5215   - /node-plop/0.31.0:
5216   - resolution: {integrity: sha512-aKLPxiBoFTNUovvtK8j/Whc4PZREkYx6htw2HJPiU8wYquXmN8pkd9B3xlFo6AJ4ZlzFsQSf/NXR5xET8EqRYw==}
5217   - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
5218   - dependencies:
5219   - '@types/inquirer': 8.2.1
5220   - change-case: 4.1.2
5221   - del: 6.0.0
5222   - globby: 13.1.1
5223   - handlebars: 4.7.7
5224   - inquirer: 8.2.2
5225   - isbinaryfile: 4.0.10
5226   - lodash.get: 4.4.2
5227   - lower-case: 2.0.2
5228   - mkdirp: 1.0.4
5229   - resolve: 1.22.1
5230   - title-case: 3.0.3
5231   - upper-case: 2.0.2
5232   - dev: true
5233   -
5234   - /node-releases/2.0.4:
5235   - resolution: {integrity: sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==}
5236   - dev: true
5237   -
5238   - /normalize-package-data/2.5.0:
5239   - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
5240   - dependencies:
5241   - hosted-git-info: 2.8.9
5242   - resolve: 1.22.1
5243   - semver: 5.7.1
5244   - validate-npm-package-license: 3.0.4
5245   - dev: true
5246   -
5247   - /normalize-package-data/3.0.3:
5248   - resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==}
5249   - engines: {node: '>=10'}
5250   - dependencies:
5251   - hosted-git-info: 4.0.2
5252   - is-core-module: 2.8.1
5253   - semver: 7.3.7
5254   - validate-npm-package-license: 3.0.4
5255   - dev: true
5256   -
5257   - /normalize-path/3.0.0:
5258   - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
5259   - engines: {node: '>=0.10.0'}
5260   - dev: true
5261   -
5262   - /normalize-range/0.1.2:
5263   - resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
5264   - engines: {node: '>=0.10.0'}
5265   - dev: true
5266   -
5267   - /normalize-wheel-es/1.1.2:
5268   - resolution: {integrity: sha512-scX83plWJXYH1J4+BhAuIHadROzxX0UBF3+HuZNY2Ks8BciE7tSTQ+5JhTsvzjaO0/EJdm4JBGrfObKxFf3Png==}
5269   - dev: false
5270   -
5271   - /npm-run-path/4.0.1:
5272   - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
5273   - engines: {node: '>=8'}
5274   - dependencies:
5275   - path-key: 3.1.1
5276   - dev: true
5277   -
5278   - /npm-run-path/5.1.0:
5279   - resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==}
5280   - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
5281   - dependencies:
5282   - path-key: 4.0.0
5283   - dev: true
5284   -
5285   - /nprogress/0.2.0:
5286   - resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/nprogress/download/nprogress-0.2.0.tgz}
5287   - requiresBuild: true
5288   - dev: false
5289   -
5290   - /nth-check/2.0.1:
5291   - resolution: {integrity: sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==}
5292   - dependencies:
5293   - boolbase: 1.0.0
5294   - dev: true
5295   -
5296   - /object-assign/4.1.1:
5297   - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
5298   - engines: {node: '>=0.10.0'}
5299   - dev: true
5300   -
5301   - /object-copy/0.1.0:
5302   - resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/object-copy/-/object-copy-0.1.0.tgz}
5303   - engines: {node: '>=0.10.0'}
5304   - dependencies:
5305   - copy-descriptor: 0.1.1
5306   - define-property: 0.2.5
5307   - kind-of: 3.2.2
5308   - dev: true
5309   -
5310   - /object-inspect/1.12.2:
5311   - resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==}
5312   -
5313   - /object-visit/1.0.1:
5314   - resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/object-visit/-/object-visit-1.0.1.tgz}
5315   - engines: {node: '>=0.10.0'}
5316   - dependencies:
5317   - isobject: 3.0.1
5318   - dev: true
5319   -
5320   - /object.defaults/1.1.0:
5321   - resolution: {integrity: sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==}
5322   - engines: {node: '>=0.10.0'}
5323   - dependencies:
5324   - array-each: 1.0.1
5325   - array-slice: 1.1.0
5326   - for-own: 1.0.0
5327   - isobject: 3.0.1
5328   - dev: true
5329   -
5330   - /object.map/1.0.1:
5331   - resolution: {integrity: sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==}
5332   - engines: {node: '>=0.10.0'}
5333   - dependencies:
5334   - for-own: 1.0.0
5335   - make-iterator: 1.0.1
5336   - dev: true
5337   -
5338   - /object.pick/1.3.0:
5339   - resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==}
5340   - engines: {node: '>=0.10.0'}
5341   - dependencies:
5342   - isobject: 3.0.1
5343   - dev: true
5344   -
5345   - /on-finished/2.3.0:
5346   - resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==}
5347   - engines: {node: '>= 0.8'}
5348   - dependencies:
5349   - ee-first: 1.1.1
5350   - dev: true
5351   -
5352   - /once/1.4.0:
5353   - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
5354   - dependencies:
5355   - wrappy: 1.0.2
5356   - dev: true
5357   -
5358   - /onetime/5.1.2:
5359   - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
5360   - engines: {node: '>=6'}
5361   - dependencies:
5362   - mimic-fn: 2.1.0
5363   - dev: true
5364   -
5365   - /onetime/6.0.0:
5366   - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
5367   - engines: {node: '>=12'}
5368   - dependencies:
5369   - mimic-fn: 4.0.0
5370   - dev: true
5371   -
5372   - /optionator/0.9.1:
5373   - resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==}
5374   - engines: {node: '>= 0.8.0'}
5375   - dependencies:
5376   - deep-is: 0.1.4
5377   - fast-levenshtein: 2.0.6
5378   - levn: 0.4.1
5379   - prelude-ls: 1.2.1
5380   - type-check: 0.4.0
5381   - word-wrap: 1.2.3
5382   - dev: true
5383   -
5384   - /ora/5.4.1:
5385   - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
5386   - engines: {node: '>=10'}
5387   - dependencies:
5388   - bl: 4.1.0
5389   - chalk: 4.1.2
5390   - cli-cursor: 3.1.0
5391   - cli-spinners: 2.6.1
5392   - is-interactive: 1.0.0
5393   - is-unicode-supported: 0.1.0
5394   - log-symbols: 4.1.0
5395   - strip-ansi: 6.0.1
5396   - wcwidth: 1.0.1
5397   - dev: true
5398   -
5399   - /ora/6.1.0:
5400   - resolution: {integrity: sha512-CxEP6845hLK+NHFWZ+LplGO4zfw4QSfxTlqMfvlJ988GoiUeZDMzCvqsZkFHv69sPICmJH1MDxZoQFOKXerAVw==}
5401   - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
5402   - dependencies:
5403   - bl: 5.0.0
5404   - chalk: 5.0.1
5405   - cli-cursor: 4.0.0
5406   - cli-spinners: 2.6.1
5407   - is-interactive: 2.0.0
5408   - is-unicode-supported: 1.2.0
5409   - log-symbols: 5.1.0
5410   - strip-ansi: 7.0.1
5411   - wcwidth: 1.0.1
5412   - dev: true
5413   -
5414   - /os-tmpdir/1.0.2:
5415   - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
5416   - engines: {node: '>=0.10.0'}
5417   - dev: true
5418   -
5419   - /p-limit/2.3.0:
5420   - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
5421   - engines: {node: '>=6'}
5422   - dependencies:
5423   - p-try: 2.2.0
5424   -
5425   - /p-limit/3.1.0:
5426   - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
5427   - engines: {node: '>=10'}
5428   - dependencies:
5429   - yocto-queue: 0.1.0
5430   - dev: true
5431   -
5432   - /p-locate/4.1.0:
5433   - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
5434   - engines: {node: '>=8'}
5435   - dependencies:
5436   - p-limit: 2.3.0
5437   -
5438   - /p-locate/5.0.0:
5439   - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
5440   - engines: {node: '>=10'}
5441   - dependencies:
5442   - p-limit: 3.1.0
5443   - dev: true
5444   -
5445   - /p-map/4.0.0:
5446   - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
5447   - engines: {node: '>=10'}
5448   - dependencies:
5449   - aggregate-error: 3.1.0
5450   - dev: true
5451   -
5452   - /p-try/2.2.0:
5453   - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/p-try/-/p-try-2.2.0.tgz}
5454   - engines: {node: '>=6'}
5455   -
5456   - /param-case/3.0.4:
5457   - resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
5458   - dependencies:
5459   - dot-case: 3.0.4
5460   - tslib: 2.3.1
5461   - dev: true
5462   -
5463   - /parent-module/1.0.1:
5464   - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
5465   - engines: {node: '>=6'}
5466   - dependencies:
5467   - callsites: 3.1.0
5468   - dev: true
5469   -
5470   - /parse-filepath/1.0.2:
5471   - resolution: {integrity: sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==}
5472   - engines: {node: '>=0.8'}
5473   - dependencies:
5474   - is-absolute: 1.0.0
5475   - map-cache: 0.2.2
5476   - path-root: 0.1.1
5477   - dev: true
5478   -
5479   - /parse-json/5.2.0:
5480   - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
5481   - engines: {node: '>=8'}
5482   - dependencies:
5483   - '@babel/code-frame': 7.16.7
5484   - error-ex: 1.3.2
5485   - json-parse-even-better-errors: 2.3.1
5486   - lines-and-columns: 1.2.4
5487   - dev: true
5488   -
5489   - /parse-node-version/1.0.1:
5490   - resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==}
5491   - engines: {node: '>= 0.10'}
5492   - dev: true
5493   -
5494   - /parse-passwd/1.0.0:
5495   - resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==}
5496   - engines: {node: '>=0.10.0'}
5497   - dev: true
5498   -
5499   - /parse5-htmlparser2-tree-adapter/6.0.1:
5500   - resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==}
5501   - dependencies:
5502   - parse5: 6.0.1
5503   - dev: true
5504   -
5505   - /parse5/6.0.1:
5506   - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==}
5507   - dev: true
5508   -
5509   - /parseurl/1.3.3:
5510   - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
5511   - engines: {node: '>= 0.8'}
5512   - dev: true
5513   -
5514   - /pascal-case/3.1.2:
5515   - resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
5516   - dependencies:
5517   - no-case: 3.0.4
5518   - tslib: 2.3.1
5519   - dev: true
5520   -
5521   - /pascalcase/0.1.1:
5522   - resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/pascalcase/-/pascalcase-0.1.1.tgz}
5523   - engines: {node: '>=0.10.0'}
5524   - dev: true
5525   -
5526   - /path-case/3.0.4:
5527   - resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==}
5528   - dependencies:
5529   - dot-case: 3.0.4
5530   - tslib: 2.3.1
5531   - dev: true
5532   -
5533   - /path-exists/4.0.0:
5534   - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
5535   - engines: {node: '>=8'}
5536   -
5537   - /path-is-absolute/1.0.1:
5538   - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
5539   - engines: {node: '>=0.10.0'}
5540   - dev: true
5541   -
5542   - /path-key/3.1.1:
5543   - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
5544   - engines: {node: '>=8'}
5545   - dev: true
5546   -
5547   - /path-key/4.0.0:
5548   - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
5549   - engines: {node: '>=12'}
5550   - dev: true
5551   -
5552   - /path-parse/1.0.7:
5553   - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
5554   - dev: true
5555   -
5556   - /path-root-regex/0.1.2:
5557   - resolution: {integrity: sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==}
5558   - engines: {node: '>=0.10.0'}
5559   - dev: true
5560   -
5561   - /path-root/0.1.1:
5562   - resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==}
5563   - engines: {node: '>=0.10.0'}
5564   - dependencies:
5565   - path-root-regex: 0.1.2
5566   - dev: true
5567   -
5568   - /path-type/4.0.0:
5569   - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
5570   - engines: {node: '>=8'}
5571   - dev: true
5572   -
5573   - /pathe/0.2.0:
5574   - resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==}
5575   - dev: true
5576   -
5577   - /pathe/0.3.1:
5578   - resolution: {integrity: sha512-cKMVe/pikPpreoODbjoliSk0cIT66JjEOWN30akc9WTo8kUjxFPYqmXvMBVPMSAJGJlx6v/nYzqSSHkp1cfezQ==}
5579   - dev: true
5580   -
5581   - /picocolors/1.0.0:
5582   - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
5583   -
5584   - /picomatch/2.3.1:
5585   - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
5586   - engines: {node: '>=8.6'}
5587   - dev: true
5588   -
5589   - /pidtree/0.6.0:
5590   - resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
5591   - engines: {node: '>=0.10'}
5592   - hasBin: true
5593   - dev: true
5594   -
5595   - /pify/4.0.1:
5596   - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
5597   - engines: {node: '>=6'}
5598   - dev: true
5599   - optional: true
5600   -
5601   - /pinia-plugin-persist/1.0.0_pinia@2.0.16+vue@3.2.37:
5602   - resolution: {integrity: sha512-M4hBBd8fz/GgNmUPaaUsC29y1M09lqbXrMAHcusVoU8xlQi1TqgkWnnhvMikZwr7Le/hVyMx8KUcumGGrR6GVw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/pinia-plugin-persist/-/pinia-plugin-persist-1.0.0.tgz}
5603   - peerDependencies:
5604   - '@vue/composition-api': ^1.0.0
5605   - pinia: ^2.0.0
5606   - vue: ^2.0.0 || >=3.0.0
5607   - peerDependenciesMeta:
5608   - '@vue/composition-api':
5609   - optional: true
5610   - dependencies:
5611   - pinia: 2.0.16_j6bzmzd4ujpabbp5objtwxyjp4
5612   - vue: 3.2.37
5613   - vue-demi: 0.12.1_vue@3.2.37
5614   - dev: false
5615   -
5616   - /pinia/2.0.16_j6bzmzd4ujpabbp5objtwxyjp4:
5617   - resolution: {integrity: sha512-9/LMVO+/epny1NBfC77vnps4g3JRezxhhoF1xLUk8mZkUIxVnwfEAIRiAX8mYBTD/KCwZqnDMqXc8w3eU0FQGg==}
5618   - peerDependencies:
5619   - '@vue/composition-api': ^1.4.0
5620   - typescript: '>=4.4.4'
5621   - vue: ^2.6.14 || ^3.2.0
5622   - peerDependenciesMeta:
5623   - '@vue/composition-api':
5624   - optional: true
5625   - typescript:
5626   - optional: true
5627   - dependencies:
5628   - '@vue/devtools-api': 6.1.4
5629   - typescript: 4.7.4
5630   - vue: 3.2.37
5631   - vue-demi: 0.12.1_vue@3.2.37
5632   - dev: false
5633   -
5634   - /plop/3.1.1:
5635   - resolution: {integrity: sha512-NuctKmuNUACXBQn25bBr5oj/75nHxdKGwjA/+b7cVoj1sp+gTVqcc8eAr4QcNJgMPsZWRJBN2kMkgmsqbqV9gg==}
5636   - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
5637   - hasBin: true
5638   - dependencies:
5639   - '@types/liftoff': 4.0.0
5640   - chalk: 5.0.1
5641   - interpret: 2.2.0
5642   - liftoff: 4.0.0
5643   - minimist: 1.2.6
5644   - node-plop: 0.31.0
5645   - ora: 6.1.0
5646   - v8flags: 4.0.0
5647   - dev: true
5648   -
5649   - /pngjs/5.0.0:
5650   - resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==}
5651   - engines: {node: '>=10.13.0'}
5652   - dev: false
5653   -
5654   - /posix-character-classes/0.1.1:
5655   - resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz}
5656   - engines: {node: '>=0.10.0'}
5657   - dev: true
5658   -
5659   - /postcss-html/1.5.0:
5660   - resolution: {integrity: sha512-kCMRWJRHKicpA166kc2lAVUGxDZL324bkj/pVOb6RhjB0Z5Krl7mN0AsVkBhVIRZZirY0lyQXG38HCVaoKVNoA==}
5661   - engines: {node: ^12 || >=14}
5662   - dependencies:
5663   - htmlparser2: 8.0.1
5664   - js-tokens: 8.0.0
5665   - postcss: 8.4.14
5666   - postcss-safe-parser: 6.0.0_postcss@8.4.14
5667   - dev: true
5668   -
5669   - /postcss-less/6.0.0_postcss@8.4.14:
5670   - resolution: {integrity: sha512-FPX16mQLyEjLzEuuJtxA8X3ejDLNGGEG503d2YGZR5Ask1SpDN8KmZUMpzCvyalWRywAn1n1VOA5dcqfCLo5rg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/postcss-less/download/postcss-less-6.0.0.tgz}
5671   - engines: {node: '>=12'}
5672   - peerDependencies:
5673   - postcss: ^8.3.5
5674   - dependencies:
5675   - postcss: 8.4.14
5676   - dev: true
5677   -
5678   - /postcss-media-query-parser/0.2.3:
5679   - resolution: {integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==}
5680   - dev: true
5681   -
5682   - /postcss-prefix-selector/1.14.0_postcss@5.2.18:
5683   - resolution: {integrity: sha512-8d5fiBQZWMtGWH/7ewEeo6RnBNyT2kLD5wTIfV2oHYqH4hjiofg/rP5X3SUwnqOINzE4mM/K/UOAiNrIaKzd4w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/postcss-prefix-selector/-/postcss-prefix-selector-1.14.0.tgz}
5684   - peerDependencies:
5685   - postcss: 7.x || 8.x
5686   - dependencies:
5687   - postcss: 5.2.18
5688   - dev: true
5689   -
5690   - /postcss-resolve-nested-selector/0.1.1:
5691   - resolution: {integrity: sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==}
5692   - dev: true
5693   -
5694   - /postcss-safe-parser/6.0.0_postcss@8.4.14:
5695   - resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==}
5696   - engines: {node: '>=12.0'}
5697   - peerDependencies:
5698   - postcss: ^8.3.3
5699   - dependencies:
5700   - postcss: 8.4.14
5701   - dev: true
5702   -
5703   - /postcss-selector-parser/6.0.10:
5704   - resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
5705   - engines: {node: '>=4'}
5706   - dependencies:
5707   - cssesc: 3.0.0
5708   - util-deprecate: 1.0.2
5709   - dev: true
5710   -
5711   - /postcss-sorting/7.0.1_postcss@8.4.14:
5712   - resolution: {integrity: sha1-kjtSaEUc8tk+v4g14XplN3VwSaU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/postcss-sorting/download/postcss-sorting-7.0.1.tgz}
5713   - peerDependencies:
5714   - postcss: ^8.3.9
5715   - dependencies:
5716   - postcss: 8.4.14
5717   - dev: true
5718   -
5719   - /postcss-value-parser/4.2.0:
5720   - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
5721   - dev: true
5722   -
5723   - /postcss/5.2.18:
5724   - resolution: {integrity: sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==}
5725   - engines: {node: '>=0.12'}
5726   - dependencies:
5727   - chalk: 1.1.3
5728   - js-base64: 2.6.4
5729   - source-map: 0.5.7
5730   - supports-color: 3.2.3
5731   - dev: true
5732   -
5733   - /postcss/8.4.14:
5734   - resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==}
5735   - engines: {node: ^10 || ^12 || >=14}
5736   - dependencies:
5737   - nanoid: 3.3.4
5738   - picocolors: 1.0.0
5739   - source-map-js: 1.0.2
5740   -
5741   - /posthtml-parser/0.2.1:
5742   - resolution: {integrity: sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/posthtml-parser/-/posthtml-parser-0.2.1.tgz}
5743   - dependencies:
5744   - htmlparser2: 3.10.1
5745   - isobject: 2.1.0
5746   - dev: true
5747   -
5748   - /posthtml-rename-id/1.0.12:
5749   - resolution: {integrity: sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/posthtml-rename-id/-/posthtml-rename-id-1.0.12.tgz}
5750   - dependencies:
5751   - escape-string-regexp: 1.0.5
5752   - dev: true
5753   -
5754   - /posthtml-render/1.4.0:
5755   - resolution: {integrity: sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/posthtml-render/-/posthtml-render-1.4.0.tgz}
5756   - engines: {node: '>=10'}
5757   - dev: true
5758   -
5759   - /posthtml-svg-mode/1.0.3:
5760   - resolution: {integrity: sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/posthtml-svg-mode/-/posthtml-svg-mode-1.0.3.tgz}
5761   - dependencies:
5762   - merge-options: registry.nlark.com/merge-options/1.0.1
5763   - posthtml: 0.9.2
5764   - posthtml-parser: 0.2.1
5765   - posthtml-render: 1.4.0
5766   - dev: true
5767   -
5768   - /posthtml/0.9.2:
5769   - resolution: {integrity: sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/posthtml/-/posthtml-0.9.2.tgz}
5770   - engines: {node: '>=0.10.0'}
5771   - dependencies:
5772   - posthtml-parser: 0.2.1
5773   - posthtml-render: 1.4.0
5774   - dev: true
5775   -
5776   - /preact/10.6.5:
5777   - resolution: {integrity: sha512-i+LXM6JiVjQXSt2jG2vZZFapGpCuk1fl8o6ii3G84MA3xgj686FKjs4JFDkmUVhtxyq21+4ay74zqPykz9hU6w==}
5778   - dev: false
5779   -
5780   - /prelude-ls/1.2.1:
5781   - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
5782   - engines: {node: '>= 0.8.0'}
5783   - dev: true
5784   -
5785   - /prettier-linter-helpers/1.0.0:
5786   - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==}
5787   - engines: {node: '>=6.0.0'}
5788   - dependencies:
5789   - fast-diff: 1.2.0
5790   - dev: true
5791   -
5792   - /prettier/2.7.1:
5793   - resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==}
5794   - engines: {node: '>=10.13.0'}
5795   - hasBin: true
5796   - dev: true
5797   -
5798   - /pretty-quick/3.1.3_prettier@2.7.1:
5799   - resolution: {integrity: sha512-kOCi2FJabvuh1as9enxYmrnBC6tVMoVOenMaBqRfsvBHB0cbpYHjdQEpSglpASDFEXVwplpcGR4CLEaisYAFcA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/pretty-quick/download/pretty-quick-3.1.3.tgz}
5800   - engines: {node: '>=10.13'}
5801   - hasBin: true
5802   - peerDependencies:
5803   - prettier: '>=2.0.0'
5804   - dependencies:
5805   - chalk: 3.0.0
5806   - execa: 4.1.0
5807   - find-up: 4.1.0
5808   - ignore: 5.2.0
5809   - mri: registry.nlark.com/mri/1.2.0
5810   - multimatch: 4.0.0
5811   - prettier: 2.7.1
5812   - dev: true
5813   -
5814   - /prismjs/1.26.0:
5815   - resolution: {integrity: sha512-HUoH9C5Z3jKkl3UunCyiD5jwk0+Hz0fIgQ2nbwU2Oo/ceuTAQAg+pPVnfdt2TJWRVLcxKh9iuoYDUSc8clb5UQ==}
5816   - engines: {node: '>=6'}
5817   - dev: false
5818   -
5819   - /prr/1.0.1:
5820   - resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==}
5821   - dev: true
5822   - optional: true
5823   -
5824   - /pump/3.0.0:
5825   - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
5826   - dependencies:
5827   - end-of-stream: 1.4.4
5828   - once: 1.4.0
5829   - dev: true
5830   -
5831   - /punycode/2.1.1:
5832   - resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==}
5833   - engines: {node: '>=6'}
5834   - dev: true
5835   -
5836   - /q/1.5.1:
5837   - resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==}
5838   - engines: {node: '>=0.6.0', teleport: '>=0.2.0'}
5839   - dev: true
5840   -
5841   - /qrcode/1.5.1:
5842   - resolution: {integrity: sha512-nS8NJ1Z3md8uTjKtP+SGGhfqmTCs5flU/xR623oI0JX+Wepz9R8UrRVCTBTJm3qGw3rH6jJ6MUHjkDx15cxSSg==}
5843   - engines: {node: '>=10.13.0'}
5844   - hasBin: true
5845   - dependencies:
5846   - dijkstrajs: 1.0.2
5847   - encode-utf8: 1.0.3
5848   - pngjs: 5.0.0
5849   - yargs: 15.4.1
5850   - dev: false
5851   -
5852   - /qs/6.11.0:
5853   - resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
5854   - engines: {node: '>=0.6'}
5855   - dependencies:
5856   - side-channel: 1.0.4
5857   - dev: false
5858   -
5859   - /query-string/4.3.4:
5860   - resolution: {integrity: sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/query-string/-/query-string-4.3.4.tgz}
5861   - engines: {node: '>=0.10.0'}
5862   - dependencies:
5863   - object-assign: 4.1.1
5864   - strict-uri-encode: 1.1.0
5865   - dev: true
5866   -
5867   - /queue-microtask/1.2.3:
5868   - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
5869   - dev: true
5870   -
5871   - /quick-lru/4.0.1:
5872   - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==}
5873   - engines: {node: '>=8'}
5874   - dev: true
5875   -
5876   - /read-pkg-up/7.0.1:
5877   - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
5878   - engines: {node: '>=8'}
5879   - dependencies:
5880   - find-up: 4.1.0
5881   - read-pkg: 5.2.0
5882   - type-fest: 0.8.1
5883   - dev: true
5884   -
5885   - /read-pkg/5.2.0:
5886   - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
5887   - engines: {node: '>=8'}
5888   - dependencies:
5889   - '@types/normalize-package-data': 2.4.1
5890   - normalize-package-data: 2.5.0
5891   - parse-json: 5.2.0
5892   - type-fest: 0.6.0
5893   - dev: true
5894   -
5895   - /readable-stream/3.6.0:
5896   - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==}
5897   - engines: {node: '>= 6'}
5898   - dependencies:
5899   - inherits: 2.0.4
5900   - string_decoder: 1.3.0
5901   - util-deprecate: 1.0.2
5902   - dev: true
5903   -
5904   - /readdirp/3.6.0:
5905   - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
5906   - engines: {node: '>=8.10.0'}
5907   - dependencies:
5908   - picomatch: 2.3.1
5909   - dev: true
5910   -
5911   - /rechoir/0.8.0:
5912   - resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==}
5913   - engines: {node: '>= 10.13.0'}
5914   - dependencies:
5915   - resolve: 1.22.1
5916   - dev: true
5917   -
5918   - /redent/3.0.0:
5919   - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
5920   - engines: {node: '>=8'}
5921   - dependencies:
5922   - indent-string: 4.0.0
5923   - strip-indent: 3.0.0
5924   - dev: true
5925   -
5926   - /regenerator-runtime/0.13.9:
5927   - resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==}
5928   - dev: false
5929   -
5930   - /regex-not/1.0.2:
5931   - resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/regex-not/-/regex-not-1.0.2.tgz}
5932   - engines: {node: '>=0.10.0'}
5933   - dependencies:
5934   - extend-shallow: 3.0.2
5935   - safe-regex: 1.1.0
5936   - dev: true
5937   -
5938   - /regexpp/3.2.0:
5939   - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==}
5940   - engines: {node: '>=8'}
5941   - dev: true
5942   -
5943   - /relateurl/0.2.7:
5944   - resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/relateurl/-/relateurl-0.2.7.tgz}
5945   - engines: {node: '>= 0.10'}
5946   - dev: true
5947   -
5948   - /repeat-element/1.1.4:
5949   - resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/repeat-element/-/repeat-element-1.1.4.tgz}
5950   - engines: {node: '>=0.10.0'}
5951   - dev: true
5952   -
5953   - /repeat-string/1.6.1:
5954   - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/repeat-string/-/repeat-string-1.6.1.tgz}
5955   - engines: {node: '>=0.10'}
5956   - dev: true
5957   -
5958   - /require-directory/2.1.1:
5959   - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
5960   - engines: {node: '>=0.10.0'}
5961   -
5962   - /require-from-string/2.0.2:
5963   - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
5964   - engines: {node: '>=0.10.0'}
5965   - dev: true
5966   -
5967   - /require-main-filename/2.0.0:
5968   - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
5969   - dev: false
5970   -
5971   - /resolve-dir/1.0.1:
5972   - resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==}
5973   - engines: {node: '>=0.10.0'}
5974   - dependencies:
5975   - expand-tilde: 2.0.2
5976   - global-modules: 1.0.0
5977   - dev: true
5978   -
5979   - /resolve-from/4.0.0:
5980   - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
5981   - engines: {node: '>=4'}
5982   - dev: true
5983   -
5984   - /resolve-from/5.0.0:
5985   - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
5986   - engines: {node: '>=8'}
5987   - dev: true
5988   -
5989   - /resolve-global/1.0.0:
5990   - resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==}
5991   - engines: {node: '>=8'}
5992   - dependencies:
5993   - global-dirs: 0.1.1
5994   - dev: true
5995   -
5996   - /resolve-url/0.2.1:
5997   - resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/resolve-url/-/resolve-url-0.2.1.tgz}
5998   - deprecated: https://github.com/lydell/resolve-url#deprecated
5999   - dev: true
6000   -
6001   - /resolve/1.22.1:
6002   - resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
6003   - hasBin: true
6004   - dependencies:
6005   - is-core-module: 2.9.0
6006   - path-parse: 1.0.7
6007   - supports-preserve-symlinks-flag: 1.0.0
6008   - dev: true
6009   -
6010   - /restore-cursor/3.1.0:
6011   - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
6012   - engines: {node: '>=8'}
6013   - dependencies:
6014   - onetime: 5.1.2
6015   - signal-exit: 3.0.7
6016   - dev: true
6017   -
6018   - /restore-cursor/4.0.0:
6019   - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==}
6020   - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
6021   - dependencies:
6022   - onetime: 5.1.2
6023   - signal-exit: 3.0.7
6024   - dev: true
6025   -
6026   - /ret/0.1.15:
6027   - resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/ret/-/ret-0.1.15.tgz}
6028   - engines: {node: '>=0.12'}
6029   - dev: true
6030   -
6031   - /reusify/1.0.4:
6032   - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
6033   - engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
6034   - dev: true
6035   -
6036   - /rfdc/1.3.0:
6037   - resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==}
6038   - dev: true
6039   -
6040   - /rimraf/3.0.2:
6041   - resolution: {integrity: sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/rimraf/download/rimraf-3.0.2.tgz}
6042   - hasBin: true
6043   - dependencies:
6044   - glob: 7.2.0
6045   - dev: true
6046   -
6047   - /rollup-plugin-purge-icons/0.8.1:
6048   - resolution: {integrity: sha512-7ktMV+gWtXAdOIShE8EtTcnpGhozi5H2hKk1MQVGt+7FmlLkjR+XKu1Nyzjocwd6xJvKube2Lh+SfcJ8FYYySw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/rollup-plugin-purge-icons/-/rollup-plugin-purge-icons-0.8.1.tgz}
6049   - engines: {node: '>= 12'}
6050   - dependencies:
6051   - '@purge-icons/core': 0.8.0
6052   - '@purge-icons/generated': 0.8.1
6053   - transitivePeerDependencies:
6054   - - encoding
6055   - - supports-color
6056   - dev: true
6057   -
6058   - /rollup/2.77.0:
6059   - resolution: {integrity: sha512-vL8xjY4yOQEw79DvyXLijhnhh+R/O9zpF/LEgkCebZFtb6ELeN9H3/2T0r8+mp+fFTBHZ5qGpOpW2ela2zRt3g==}
6060   - engines: {node: '>=10.0.0'}
6061   - hasBin: true
6062   - optionalDependencies:
6063   - fsevents: 2.3.2
6064   - dev: true
6065   -
6066   - /run-async/2.4.1:
6067   - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
6068   - engines: {node: '>=0.12.0'}
6069   - dev: true
6070   -
6071   - /run-parallel/1.2.0:
6072   - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
6073   - dependencies:
6074   - queue-microtask: 1.2.3
6075   - dev: true
6076   -
6077   - /rxjs/7.5.5:
6078   - resolution: {integrity: sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==}
6079   - dependencies:
6080   - tslib: 2.3.1
6081   - dev: true
6082   -
6083   - /safe-buffer/5.1.2:
6084   - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
6085   - dev: true
6086   -
6087   - /safe-buffer/5.2.1:
6088   - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
6089   - dev: true
6090   -
6091   - /safe-regex/1.1.0:
6092   - resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/safe-regex/-/safe-regex-1.1.0.tgz}
6093   - dependencies:
6094   - ret: 0.1.15
6095   - dev: true
6096   -
6097   - /safer-buffer/2.1.2:
6098   - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
6099   - dev: true
6100   -
6101   - /sax/1.2.4:
6102   - resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==}
6103   - dev: true
6104   - optional: true
6105   -
6106   - /scroll-into-view-if-needed/2.2.29:
6107   - resolution: {integrity: sha512-hxpAR6AN+Gh53AdAimHM6C8oTN1ppwVZITihix+WqalywBeFcQ6LdQP5ABNl26nX8GTEL7VT+b8lKpdqq65wXg==}
6108   - dependencies:
6109   - compute-scroll-into-view: 1.0.17
6110   - dev: false
6111   -
6112   - /semver/5.7.1:
6113   - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==}
6114   - hasBin: true
6115   - dev: true
6116   -
6117   - /semver/6.3.0:
6118   - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
6119   - hasBin: true
6120   - dev: true
6121   -
6122   - /semver/7.3.7:
6123   - resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==}
6124   - engines: {node: '>=10'}
6125   - hasBin: true
6126   - dependencies:
6127   - lru-cache: 6.0.0
6128   - dev: true
6129   -
6130   - /sentence-case/3.0.4:
6131   - resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==}
6132   - dependencies:
6133   - no-case: 3.0.4
6134   - tslib: 2.3.1
6135   - upper-case-first: 2.0.2
6136   - dev: true
6137   -
6138   - /set-blocking/2.0.0:
6139   - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
6140   - dev: false
6141   -
6142   - /set-value/2.0.1:
6143   - resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/set-value/-/set-value-2.0.1.tgz}
6144   - engines: {node: '>=0.10.0'}
6145   - dependencies:
6146   - extend-shallow: 2.0.1
6147   - is-extendable: 0.1.1
6148   - is-plain-object: 2.0.4
6149   - split-string: 3.1.0
6150   - dev: true
6151   -
6152   - /shebang-command/2.0.0:
6153   - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
6154   - engines: {node: '>=8'}
6155   - dependencies:
6156   - shebang-regex: 3.0.0
6157   - dev: true
6158   -
6159   - /shebang-regex/3.0.0:
6160   - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
6161   - engines: {node: '>=8'}
6162   - dev: true
6163   -
6164   - /side-channel/1.0.4:
6165   - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
6166   - dependencies:
6167   - call-bind: 1.0.2
6168   - get-intrinsic: 1.1.1
6169   - object-inspect: 1.12.2
6170   - dev: false
6171   -
6172   - /signal-exit/3.0.7:
6173   - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
6174   - dev: true
6175   -
6176   - /sirv/1.0.19:
6177   - resolution: {integrity: sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==}
6178   - engines: {node: '>= 10'}
6179   - dependencies:
6180   - '@polka/url': 1.0.0-next.21
6181   - mrmime: 1.0.0
6182   - totalist: 1.1.0
6183   - dev: true
6184   -
6185   - /slash/3.0.0:
6186   - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
6187   - engines: {node: '>=8'}
6188   - dev: true
6189   -
6190   - /slash/4.0.0:
6191   - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
6192   - engines: {node: '>=12'}
6193   - dev: true
6194   -
6195   - /slate-history/0.66.0_slate@0.72.8:
6196   - resolution: {integrity: sha512-6MWpxGQZiMvSINlCbMW43E2YBSVMCMCIwQfBzGssjWw4kb0qfvj0pIdblWNRQZD0hR6WHP+dHHgGSeVdMWzfng==}
6197   - peerDependencies:
6198   - slate: '>=0.65.3'
6199   - dependencies:
6200   - is-plain-object: 5.0.0
6201   - slate: 0.72.8
6202   - dev: false
6203   -
6204   - /slate/0.72.8:
6205   - resolution: {integrity: sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==}
6206   - dependencies:
6207   - immer: 9.0.12
6208   - is-plain-object: 5.0.0
6209   - tiny-warning: 1.0.3
6210   - dev: false
6211   -
6212   - /slice-ansi/3.0.0:
6213   - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==}
6214   - engines: {node: '>=8'}
6215   - dependencies:
6216   - ansi-styles: 4.3.0
6217   - astral-regex: 2.0.0
6218   - is-fullwidth-code-point: 3.0.0
6219   - dev: true
6220   -
6221   - /slice-ansi/4.0.0:
6222   - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==}
6223   - engines: {node: '>=10'}
6224   - dependencies:
6225   - ansi-styles: 4.3.0
6226   - astral-regex: 2.0.0
6227   - is-fullwidth-code-point: 3.0.0
6228   - dev: true
6229   -
6230   - /slice-ansi/5.0.0:
6231   - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
6232   - engines: {node: '>=12'}
6233   - dependencies:
6234   - ansi-styles: 6.1.0
6235   - is-fullwidth-code-point: 4.0.0
6236   - dev: true
6237   -
6238   - /snabbdom/3.3.1:
6239   - resolution: {integrity: sha512-FR9u20dCkktPd+qbedqwYNjMXzYhizhqlKTQzYZimLNeCJY0/5qgs0DtLVSmzIEL1bN3Dyb9sQpiHGCxUjyLnQ==}
6240   - engines: {node: '>=8.3.0'}
6241   - dev: false
6242   -
6243   - /snake-case/3.0.4:
6244   - resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==}
6245   - dependencies:
6246   - dot-case: 3.0.4
6247   - tslib: 2.3.1
6248   - dev: true
6249   -
6250   - /snapdragon-node/2.1.1:
6251   - resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz}
6252   - engines: {node: '>=0.10.0'}
6253   - dependencies:
6254   - define-property: 1.0.0
6255   - isobject: 3.0.1
6256   - snapdragon-util: 3.0.1
6257   - dev: true
6258   -
6259   - /snapdragon-util/3.0.1:
6260   - resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz}
6261   - engines: {node: '>=0.10.0'}
6262   - dependencies:
6263   - kind-of: 3.2.2
6264   - dev: true
6265   -
6266   - /snapdragon/0.8.2:
6267   - resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/snapdragon/-/snapdragon-0.8.2.tgz}
6268   - engines: {node: '>=0.10.0'}
6269   - dependencies:
6270   - base: 0.11.2
6271   - debug: 2.6.9
6272   - define-property: 0.2.5
6273   - extend-shallow: 2.0.1
6274   - map-cache: 0.2.2
6275   - source-map: 0.5.7
6276   - source-map-resolve: 0.5.3
6277   - use: 3.1.1
6278   - transitivePeerDependencies:
6279   - - supports-color
6280   - dev: true
6281   -
6282   - /source-map-js/1.0.2:
6283   - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
6284   - engines: {node: '>=0.10.0'}
6285   -
6286   - /source-map-resolve/0.5.3:
6287   - resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz}
6288   - deprecated: See https://github.com/lydell/source-map-resolve#deprecated
6289   - dependencies:
6290   - atob: 2.1.2
6291   - decode-uri-component: 0.2.0
6292   - resolve-url: 0.2.1
6293   - source-map-url: 0.4.1
6294   - urix: 0.1.0
6295   - dev: true
6296   -
6297   - /source-map-support/0.5.21:
6298   - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/source-map-support/-/source-map-support-0.5.21.tgz}
6299   - dependencies:
6300   - buffer-from: 1.1.2
6301   - source-map: 0.6.1
6302   - dev: true
6303   -
6304   - /source-map-url/0.4.1:
6305   - resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/source-map-url/-/source-map-url-0.4.1.tgz}
6306   - deprecated: See https://github.com/lydell/source-map-url#deprecated
6307   - dev: true
6308   -
6309   - /source-map/0.5.7:
6310   - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
6311   - engines: {node: '>=0.10.0'}
6312   - dev: true
6313   -
6314   - /source-map/0.6.1:
6315   - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
6316   - engines: {node: '>=0.10.0'}
6317   -
6318   - /source-map/0.7.3:
6319   - resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==}
6320   - engines: {node: '>= 8'}
6321   - dev: true
6322   -
6323   - /sourcemap-codec/1.4.8:
6324   - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
6325   -
6326   - /spdx-correct/3.1.1:
6327   - resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==}
6328   - dependencies:
6329   - spdx-expression-parse: 3.0.1
6330   - spdx-license-ids: 3.0.11
6331   - dev: true
6332   -
6333   - /spdx-exceptions/2.3.0:
6334   - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==}
6335   - dev: true
6336   -
6337   - /spdx-expression-parse/3.0.1:
6338   - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
6339   - dependencies:
6340   - spdx-exceptions: 2.3.0
6341   - spdx-license-ids: 3.0.11
6342   - dev: true
6343   -
6344   - /spdx-license-ids/3.0.11:
6345   - resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==}
6346   - dev: true
6347   -
6348   - /split-string/3.1.0:
6349   - resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/split-string/-/split-string-3.1.0.tgz}
6350   - engines: {node: '>=0.10.0'}
6351   - dependencies:
6352   - extend-shallow: 3.0.2
6353   - dev: true
6354   -
6355   - /split2/3.2.2:
6356   - resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==}
6357   - dependencies:
6358   - readable-stream: 3.6.0
6359   - dev: true
6360   -
6361   - /ssr-window/3.0.0:
6362   - resolution: {integrity: sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==}
6363   - dev: false
6364   -
6365   - /stable/0.1.8:
6366   - resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/stable/-/stable-0.1.8.tgz}
6367   - dev: true
6368   -
6369   - /static-extend/0.1.2:
6370   - resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/static-extend/-/static-extend-0.1.2.tgz}
6371   - engines: {node: '>=0.10.0'}
6372   - dependencies:
6373   - define-property: 0.2.5
6374   - object-copy: 0.1.0
6375   - dev: true
6376   -
6377   - /statuses/1.5.0:
6378   - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
6379   - engines: {node: '>= 0.6'}
6380   - dev: true
6381   -
6382   - /strict-uri-encode/1.1.0:
6383   - resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz}
6384   - engines: {node: '>=0.10.0'}
6385   - dev: true
6386   -
6387   - /string-argv/0.3.1:
6388   - resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==}
6389   - engines: {node: '>=0.6.19'}
6390   - dev: true
6391   -
6392   - /string-width/4.2.3:
6393   - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
6394   - engines: {node: '>=8'}
6395   - dependencies:
6396   - emoji-regex: 8.0.0
6397   - is-fullwidth-code-point: 3.0.0
6398   - strip-ansi: 6.0.1
6399   -
6400   - /string-width/5.0.1:
6401   - resolution: {integrity: sha512-5ohWO/M4//8lErlUUtrFy3b11GtNOuMOU0ysKCDXFcfXuuvUXu95akgj/i8ofmaGdN0hCqyl6uu9i8dS/mQp5g==}
6402   - engines: {node: '>=12'}
6403   - dependencies:
6404   - emoji-regex: 9.2.2
6405   - is-fullwidth-code-point: 4.0.0
6406   - strip-ansi: 7.0.1
6407   - dev: true
6408   -
6409   - /string_decoder/1.3.0:
6410   - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
6411   - dependencies:
6412   - safe-buffer: 5.2.1
6413   - dev: true
6414   -
6415   - /strip-ansi/3.0.1:
6416   - resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==}
6417   - engines: {node: '>=0.10.0'}
6418   - dependencies:
6419   - ansi-regex: 2.1.1
6420   - dev: true
6421   -
6422   - /strip-ansi/6.0.1:
6423   - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
6424   - engines: {node: '>=8'}
6425   - dependencies:
6426   - ansi-regex: 5.0.1
6427   -
6428   - /strip-ansi/7.0.1:
6429   - resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==}
6430   - engines: {node: '>=12'}
6431   - dependencies:
6432   - ansi-regex: 6.0.1
6433   - dev: true
6434   -
6435   - /strip-final-newline/2.0.0:
6436   - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
6437   - engines: {node: '>=6'}
6438   - dev: true
6439   -
6440   - /strip-final-newline/3.0.0:
6441   - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
6442   - engines: {node: '>=12'}
6443   - dev: true
6444   -
6445   - /strip-indent/3.0.0:
6446   - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
6447   - engines: {node: '>=8'}
6448   - dependencies:
6449   - min-indent: 1.0.1
6450   - dev: true
6451   -
6452   - /strip-json-comments/3.1.1:
6453   - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
6454   - engines: {node: '>=8'}
6455   - dev: true
6456   -
6457   - /style-search/0.1.0:
6458   - resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==}
6459   - dev: true
6460   -
6461   - /stylelint-config-html/1.1.0_5rxrxgs7sjazj2ve56ds3kmipi:
6462   - resolution: {integrity: sha512-IZv4IVESjKLumUGi+HWeb7skgO6/g4VMuAYrJdlqQFndgbj6WJAXPhaysvBiXefX79upBdQVumgYcdd17gCpjQ==}
6463   - engines: {node: ^12 || >=14}
6464   - peerDependencies:
6465   - postcss-html: ^1.0.0
6466   - stylelint: '>=14.0.0'
6467   - dependencies:
6468   - postcss-html: 1.5.0
6469   - stylelint: 14.9.1
6470   - dev: true
6471   -
6472   - /stylelint-config-prettier/9.0.3_stylelint@14.9.1:
6473   - resolution: {integrity: sha1-Dczr7/NZ3MOTySKRhECLCJZNVhw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/stylelint-config-prettier/download/stylelint-config-prettier-9.0.3.tgz}
6474   - engines: {node: '>= 12'}
6475   - hasBin: true
6476   - peerDependencies:
6477   - stylelint: '>=11.0.0'
6478   - dependencies:
6479   - stylelint: 14.9.1
6480   - dev: true
6481   -
6482   - /stylelint-config-recommended/8.0.0_stylelint@14.9.1:
6483   - resolution: {integrity: sha512-IK6dWvE000+xBv9jbnHOnBq01gt6HGVB2ZTsot+QsMpe82doDQ9hvplxfv4YnpEuUwVGGd9y6nbaAnhrjcxhZQ==}
6484   - peerDependencies:
6485   - stylelint: ^14.8.0
6486   - dependencies:
6487   - stylelint: 14.9.1
6488   - dev: true
6489   -
6490   - /stylelint-config-standard/26.0.0_stylelint@14.9.1:
6491   - resolution: {integrity: sha512-hUuB7LaaqM8abvkOO84wh5oYSkpXgTzHu2Zza6e7mY+aOmpNTjoFBRxSLlzY0uAOMWEFx0OMKzr+reG1BUtcqQ==}
6492   - peerDependencies:
6493   - stylelint: ^14.9.0
6494   - dependencies:
6495   - stylelint: 14.9.1
6496   - stylelint-config-recommended: 8.0.0_stylelint@14.9.1
6497   - dev: true
6498   -
6499   - /stylelint-order/5.0.0_stylelint@14.9.1:
6500   - resolution: {integrity: sha1-q9IPa4WsZAd0y+QOcNP+nG/fRAA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/stylelint-order/download/stylelint-order-5.0.0.tgz}
6501   - peerDependencies:
6502   - stylelint: ^14.0.0
6503   - dependencies:
6504   - postcss: 8.4.14
6505   - postcss-sorting: 7.0.1_postcss@8.4.14
6506   - stylelint: 14.9.1
6507   - dev: true
6508   -
6509   - /stylelint/14.9.1:
6510   - resolution: {integrity: sha512-RdAkJdPiLqHawCSnu21nE27MjNXaVd4WcOHA4vK5GtIGjScfhNnaOuWR2wWdfKFAvcWQPOYe311iveiVKSmwsA==}
6511   - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
6512   - hasBin: true
6513   - dependencies:
6514   - '@csstools/selector-specificity': 2.0.1_444rcjjorr3kpoqtvoodsr46pu
6515   - balanced-match: 2.0.0
6516   - colord: 2.9.2
6517   - cosmiconfig: 7.0.1
6518   - css-functions-list: 3.1.0
6519   - debug: 4.3.4
6520   - execall: 2.0.0
6521   - fast-glob: 3.2.11
6522   - fastest-levenshtein: 1.0.12
6523   - file-entry-cache: 6.0.1
6524   - get-stdin: 8.0.0
6525   - global-modules: 2.0.0
6526   - globby: 11.1.0
6527   - globjoin: 0.1.4
6528   - html-tags: 3.2.0
6529   - ignore: 5.2.0
6530   - import-lazy: 4.0.0
6531   - imurmurhash: 0.1.4
6532   - is-plain-object: 5.0.0
6533   - known-css-properties: 0.25.0
6534   - mathml-tag-names: 2.1.3
6535   - meow: 9.0.0
6536   - micromatch: 4.0.5
6537   - normalize-path: 3.0.0
6538   - picocolors: 1.0.0
6539   - postcss: 8.4.14
6540   - postcss-media-query-parser: 0.2.3
6541   - postcss-resolve-nested-selector: 0.1.1
6542   - postcss-safe-parser: 6.0.0_postcss@8.4.14
6543   - postcss-selector-parser: 6.0.10
6544   - postcss-value-parser: 4.2.0
6545   - resolve-from: 5.0.0
6546   - string-width: 4.2.3
6547   - strip-ansi: 6.0.1
6548   - style-search: 0.1.0
6549   - supports-hyperlinks: 2.2.0
6550   - svg-tags: 1.0.0
6551   - table: 6.8.0
6552   - v8-compile-cache: 2.3.0
6553   - write-file-atomic: 4.0.1
6554   - transitivePeerDependencies:
6555   - - supports-color
6556   - dev: true
6557   -
6558   - /supports-color/2.0.0:
6559   - resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==}
6560   - engines: {node: '>=0.8.0'}
6561   - dev: true
6562   -
6563   - /supports-color/3.2.3:
6564   - resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==}
6565   - engines: {node: '>=0.8.0'}
6566   - dependencies:
6567   - has-flag: 1.0.0
6568   - dev: true
6569   -
6570   - /supports-color/5.5.0:
6571   - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
6572   - engines: {node: '>=4'}
6573   - dependencies:
6574   - has-flag: 3.0.0
6575   - dev: true
6576   -
6577   - /supports-color/7.2.0:
6578   - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
6579   - engines: {node: '>=8'}
6580   - dependencies:
6581   - has-flag: 4.0.0
6582   - dev: true
6583   -
6584   - /supports-hyperlinks/2.2.0:
6585   - resolution: {integrity: sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==}
6586   - engines: {node: '>=8'}
6587   - dependencies:
6588   - has-flag: 4.0.0
6589   - supports-color: 7.2.0
6590   - dev: true
6591   -
6592   - /supports-preserve-symlinks-flag/1.0.0:
6593   - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
6594   - engines: {node: '>= 0.4'}
6595   - dev: true
6596   -
6597   - /svg-tags/1.0.0:
6598   - resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==}
6599   - dev: true
6600   -
6601   - /svgo/2.8.0:
6602   - resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/svgo/-/svgo-2.8.0.tgz}
6603   - engines: {node: '>=10.13.0'}
6604   - hasBin: true
6605   - dependencies:
6606   - '@trysound/sax': 0.2.0
6607   - commander: 7.2.0
6608   - css-select: 4.2.1
6609   - css-tree: 1.1.3
6610   - csso: 4.2.0
6611   - picocolors: 1.0.0
6612   - stable: 0.1.8
6613   - dev: true
6614   -
6615   - /table/6.8.0:
6616   - resolution: {integrity: sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==}
6617   - engines: {node: '>=10.0.0'}
6618   - dependencies:
6619   - ajv: 8.11.0
6620   - lodash.truncate: 4.4.2
6621   - slice-ansi: 4.0.0
6622   - string-width: 4.2.3
6623   - strip-ansi: 6.0.1
6624   - dev: true
6625   -
6626   - /terser/5.10.0:
6627   - resolution: {integrity: sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/terser/-/terser-5.10.0.tgz}
6628   - engines: {node: '>=10'}
6629   - hasBin: true
6630   - peerDependenciesMeta:
6631   - acorn:
6632   - optional: true
6633   - dependencies:
6634   - acorn: 8.7.1
6635   - commander: 2.20.3
6636   - source-map: 0.7.3
6637   - source-map-support: 0.5.21
6638   - dev: true
6639   -
6640   - /text-extensions/1.9.0:
6641   - resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==}
6642   - engines: {node: '>=0.10'}
6643   - dev: true
6644   -
6645   - /text-table/0.2.0:
6646   - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
6647   - dev: true
6648   -
6649   - /through/2.3.8:
6650   - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
6651   - dev: true
6652   -
6653   - /through2/4.0.2:
6654   - resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==}
6655   - dependencies:
6656   - readable-stream: 3.6.0
6657   - dev: true
6658   -
6659   - /tiny-warning/1.0.3:
6660   - resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==}
6661   - dev: false
6662   -
6663   - /title-case/3.0.3:
6664   - resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==}
6665   - dependencies:
6666   - tslib: 2.3.1
6667   - dev: true
6668   -
6669   - /tmp/0.0.33:
6670   - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
6671   - engines: {node: '>=0.6.0'}
6672   - dependencies:
6673   - os-tmpdir: 1.0.2
6674   - dev: true
6675   -
6676   - /to-fast-properties/2.0.0:
6677   - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
6678   - engines: {node: '>=4'}
6679   -
6680   - /to-object-path/0.3.0:
6681   - resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/to-object-path/-/to-object-path-0.3.0.tgz}
6682   - engines: {node: '>=0.10.0'}
6683   - dependencies:
6684   - kind-of: 3.2.2
6685   - dev: true
6686   -
6687   - /to-regex-range/2.1.1:
6688   - resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==}
6689   - engines: {node: '>=0.10.0'}
6690   - dependencies:
6691   - is-number: 3.0.0
6692   - repeat-string: 1.6.1
6693   - dev: true
6694   -
6695   - /to-regex-range/5.0.1:
6696   - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
6697   - engines: {node: '>=8.0'}
6698   - dependencies:
6699   - is-number: 7.0.0
6700   - dev: true
6701   -
6702   - /to-regex/3.0.2:
6703   - resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/to-regex/-/to-regex-3.0.2.tgz}
6704   - engines: {node: '>=0.10.0'}
6705   - dependencies:
6706   - define-property: 2.0.2
6707   - extend-shallow: 3.0.2
6708   - regex-not: 1.0.2
6709   - safe-regex: 1.1.0
6710   - dev: true
6711   -
6712   - /totalist/1.1.0:
6713   - resolution: {integrity: sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==}
6714   - engines: {node: '>=6'}
6715   - dev: true
6716   -
6717   - /tr46/0.0.3:
6718   - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/tr46/-/tr46-0.0.3.tgz}
6719   - dev: true
6720   -
6721   - /traverse/0.6.6:
6722   - resolution: {integrity: sha512-kdf4JKs8lbARxWdp7RKdNzoJBhGUcIalSYibuGyHJbmk40pOysQ0+QPvlkCOICOivDWU2IJo2rkrxyTK2AH4fw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/traverse/-/traverse-0.6.6.tgz}
6723   - dev: true
6724   -
6725   - /trim-newlines/3.0.1:
6726   - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==}
6727   - engines: {node: '>=8'}
6728   - dev: true
6729   -
6730   - /ts-node/10.7.0_tdn3ypgnfy6bmey2q4hu5jonwi:
6731   - resolution: {integrity: sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==}
6732   - hasBin: true
6733   - peerDependencies:
6734   - '@swc/core': '>=1.2.50'
6735   - '@swc/wasm': '>=1.2.50'
6736   - '@types/node': '*'
6737   - typescript: '>=2.7'
6738   - peerDependenciesMeta:
6739   - '@swc/core':
6740   - optional: true
6741   - '@swc/wasm':
6742   - optional: true
6743   - dependencies:
6744   - '@cspotcode/source-map-support': 0.7.0
6745   - '@tsconfig/node10': 1.0.8
6746   - '@tsconfig/node12': 1.0.9
6747   - '@tsconfig/node14': 1.0.1
6748   - '@tsconfig/node16': 1.0.2
6749   - '@types/node': 18.0.6
6750   - acorn: 8.7.1
6751   - acorn-walk: 8.2.0
6752   - arg: 4.1.3
6753   - create-require: 1.1.1
6754   - diff: 4.0.2
6755   - make-error: 1.3.6
6756   - typescript: 4.7.4
6757   - v8-compile-cache-lib: 3.0.1
6758   - yn: 3.1.1
6759   - dev: true
6760   -
6761   - /tslib/1.14.1:
6762   - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
6763   - dev: true
6764   -
6765   - /tslib/2.3.0:
6766   - resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==}
6767   - dev: false
6768   -
6769   - /tslib/2.3.1:
6770   - resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==}
6771   - dev: true
6772   -
6773   - /tsutils/3.21.0_typescript@4.7.4:
6774   - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
6775   - engines: {node: '>= 6'}
6776   - peerDependencies:
6777   - 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'
6778   - dependencies:
6779   - tslib: 1.14.1
6780   - typescript: 4.7.4
6781   - dev: true
6782   -
6783   - /type-check/0.4.0:
6784   - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
6785   - engines: {node: '>= 0.8.0'}
6786   - dependencies:
6787   - prelude-ls: 1.2.1
6788   - dev: true
6789   -
6790   - /type-fest/0.18.1:
6791   - resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==}
6792   - engines: {node: '>=10'}
6793   - dev: true
6794   -
6795   - /type-fest/0.20.2:
6796   - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
6797   - engines: {node: '>=10'}
6798   - dev: true
6799   -
6800   - /type-fest/0.21.3:
6801   - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
6802   - engines: {node: '>=10'}
6803   - dev: true
6804   -
6805   - /type-fest/0.6.0:
6806   - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
6807   - engines: {node: '>=8'}
6808   - dev: true
6809   -
6810   - /type-fest/0.8.1:
6811   - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
6812   - engines: {node: '>=8'}
6813   - dev: true
6814   -
6815   - /type/1.2.0:
6816   - resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==}
6817   - dev: false
6818   -
6819   - /type/2.6.0:
6820   - resolution: {integrity: sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==}
6821   - dev: false
6822   -
6823   - /typescript/4.7.4:
6824   - resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==}
6825   - engines: {node: '>=4.2.0'}
6826   - hasBin: true
6827   -
6828   - /uglify-js/3.15.3:
6829   - resolution: {integrity: sha512-6iCVm2omGJbsu3JWac+p6kUiOpg3wFO2f8lIXjfEb8RrmLjzog1wTPMmwKB7swfzzqxj9YM+sGUM++u1qN4qJg==}
6830   - engines: {node: '>=0.8.0'}
6831   - hasBin: true
6832   - requiresBuild: true
6833   - dev: true
6834   - optional: true
6835   -
6836   - /unc-path-regex/0.1.2:
6837   - resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==}
6838   - engines: {node: '>=0.10.0'}
6839   - dev: true
6840   -
6841   - /union-value/1.0.1:
6842   - resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/union-value/-/union-value-1.0.1.tgz}
6843   - engines: {node: '>=0.10.0'}
6844   - dependencies:
6845   - arr-union: 3.1.0
6846   - get-value: 2.0.6
6847   - is-extendable: 0.1.1
6848   - set-value: 2.0.1
6849   - dev: true
6850   -
6851   - /universalify/2.0.0:
6852   - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
6853   - engines: {node: '>= 10.0.0'}
6854   - dev: true
6855   -
6856   - /unpipe/1.0.0:
6857   - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
6858   - engines: {node: '>= 0.8'}
6859   - dev: true
6860   -
6861   - /unplugin-vue-define-options/0.6.2_r5lvqzud3cqtmwu636rwgh22ui:
6862   - resolution: {integrity: sha512-0YAbugPnN57ZkUM0fygfp43Vm321vOUYy2s81O09SfCM08mSul4vMxOZxLj9VSa3NVPF/IN0FmGyTMB5exOdyQ==}
6863   - engines: {node: '>=14.19.0'}
6864   - peerDependencies:
6865   - vue: ^3.2.25
6866   - dependencies:
6867   - '@rollup/pluginutils': 4.2.1
6868   - '@vue/compiler-sfc': 3.2.37
6869   - unplugin: 0.7.1_rollup@2.77.0+vite@3.0.1
6870   - vue: 3.2.37
6871   - transitivePeerDependencies:
6872   - - esbuild
6873   - - rollup
6874   - - vite
6875   - - webpack
6876   - dev: true
6877   -
6878   - /unplugin/0.7.1_rollup@2.77.0+vite@3.0.1:
6879   - resolution: {integrity: sha512-Z6hNDXDNh9aimMkPU1mEjtk+2ova8gh0y7rJeJdGH1vWZOHwF2lLQiQ/R97rv9ymmzEQXsR2fyMet72T8jy6ew==}
6880   - peerDependencies:
6881   - esbuild: '>=0.13'
6882   - rollup: ^2.50.0
6883   - vite: ^2.3.0 || ^3.0.0-0
6884   - webpack: 4 || 5
6885   - peerDependenciesMeta:
6886   - esbuild:
6887   - optional: true
6888   - rollup:
6889   - optional: true
6890   - vite:
6891   - optional: true
6892   - webpack:
6893   - optional: true
6894   - dependencies:
6895   - acorn: 8.7.1
6896   - chokidar: 3.5.3
6897   - rollup: 2.77.0
6898   - vite: 3.0.1_less@4.1.3
6899   - webpack-sources: 3.2.3
6900   - webpack-virtual-modules: 0.4.4
6901   - dev: true
6902   -
6903   - /unset-value/1.0.0:
6904   - resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/unset-value/-/unset-value-1.0.0.tgz}
6905   - engines: {node: '>=0.10.0'}
6906   - dependencies:
6907   - has-value: 0.3.1
6908   - isobject: 3.0.1
6909   - dev: true
6910   -
6911   - /upper-case-first/2.0.2:
6912   - resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==}
6913   - dependencies:
6914   - tslib: 2.3.1
6915   - dev: true
6916   -
6917   - /upper-case/2.0.2:
6918   - resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==}
6919   - dependencies:
6920   - tslib: 2.3.1
6921   - dev: true
6922   -
6923   - /uri-js/4.4.1:
6924   - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
6925   - dependencies:
6926   - punycode: 2.1.1
6927   - dev: true
6928   -
6929   - /urix/0.1.0:
6930   - resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/urix/-/urix-0.1.0.tgz}
6931   - deprecated: Please see https://github.com/lydell/urix#deprecated
6932   - dev: true
6933   -
6934   - /use/3.1.1:
6935   - resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/use/-/use-3.1.1.tgz}
6936   - engines: {node: '>=0.10.0'}
6937   - dev: true
6938   -
6939   - /util-deprecate/1.0.2:
6940   - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
6941   - dev: true
6942   -
6943   - /utils-merge/1.0.1:
6944   - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
6945   - engines: {node: '>= 0.4.0'}
6946   - dev: true
6947   -
6948   - /v8-compile-cache-lib/3.0.1:
6949   - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
6950   - dev: true
6951   -
6952   - /v8-compile-cache/2.3.0:
6953   - resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==}
6954   - dev: true
6955   -
6956   - /v8flags/4.0.0:
6957   - resolution: {integrity: sha512-83N0OkTbn6gOjJ2awNuzuK4czeGxwEwBoTqlhBZhnp8o0IJ72mXRQKphj/azwRf3acbDJZYZhbOPEJHd884ELg==}
6958   - engines: {node: '>= 10.13.0'}
6959   - dev: true
6960   -
6961   - /validate-npm-package-license/3.0.4:
6962   - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
6963   - dependencies:
6964   - spdx-correct: 3.1.1
6965   - spdx-expression-parse: 3.0.1
6966   - dev: true
6967   -
6968   - /vary/1.1.2:
6969   - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/vary/-/vary-1.1.2.tgz}
6970   - engines: {node: '>= 0.8'}
6971   - dev: true
6972   -
6973   - /vite-plugin-eslint/1.6.1_eslint@8.20.0+vite@3.0.1:
6974   - resolution: {integrity: sha512-wXwGJ222zjlllHmmPXX6oSU8DbmYjnA6HHBYbOLT8WAc73j4/YAtBQHCVSoHOTPiT4TPzsuZSvputWwc86BweQ==}
6975   - peerDependencies:
6976   - eslint: '>=7'
6977   - vite: ^2.0.0
6978   - dependencies:
6979   - '@rollup/pluginutils': 4.2.1
6980   - '@types/eslint': 8.4.2
6981   - eslint: 8.20.0
6982   - rollup: 2.77.0
6983   - vite: 3.0.1_less@4.1.3
6984   - dev: true
6985   -
6986   - /vite-plugin-html/3.2.0_vite@3.0.1:
6987   - resolution: {integrity: sha512-2VLCeDiHmV/BqqNn5h2V+4280KRgQzCFN47cst3WiNK848klESPQnzuC3okH5XHtgwHH/6s1Ho/YV6yIO0pgoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/vite-plugin-html/-/vite-plugin-html-3.2.0.tgz}
6988   - peerDependencies:
6989   - vite: '>=2.0.0'
6990   - dependencies:
6991   - '@rollup/pluginutils': 4.2.0
6992   - colorette: 2.0.16
6993   - connect-history-api-fallback: 1.6.0
6994   - consola: 2.15.3
6995   - dotenv: 16.0.0
6996   - dotenv-expand: 8.0.2
6997   - ejs: 3.1.6
6998   - fast-glob: 3.2.11
6999   - fs-extra: 10.0.1
7000   - html-minifier-terser: 6.1.0
7001   - node-html-parser: 5.3.3
7002   - pathe: 0.2.0
7003   - vite: 3.0.1_less@4.1.3
7004   - dev: true
7005   -
7006   - /vite-plugin-purge-icons/0.8.1_vite@3.0.1:
7007   - resolution: {integrity: sha512-H77YDvECkdzwsgYTu6LR5Nx0wey5Hporw+3/hTYTZh7D7YcarS+RsOvpUEgd2XG5fChgCmMBtMfnr2JmrNanSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/vite-plugin-purge-icons/-/vite-plugin-purge-icons-0.8.1.tgz}
7008   - engines: {node: '>= 12'}
7009   - peerDependencies:
7010   - vite: ^2.0.0-beta.3
7011   - dependencies:
7012   - '@purge-icons/core': 0.8.0
7013   - '@purge-icons/generated': 0.8.1
7014   - rollup-plugin-purge-icons: 0.8.1
7015   - vite: 3.0.1_less@4.1.3
7016   - transitivePeerDependencies:
7017   - - encoding
7018   - - supports-color
7019   - dev: true
7020   -
7021   - /vite-plugin-style-import/1.4.1_vite@3.0.1:
7022   - resolution: {integrity: sha512-lJCRvm7+So0hHdnSJiJPg9gD5mxtL6YY0jmhEph+k7ArpsyvqOh6han2kG5htbWWDZxHkUN9d1BuTFL//yCLLQ==}
7023   - peerDependencies:
7024   - vite: '>=2.0.0'
7025   - dependencies:
7026   - '@rollup/pluginutils': 4.2.0
7027   - change-case: 4.1.2
7028   - debug: 4.3.4
7029   - es-module-lexer: 0.9.3
7030   - fs-extra: 10.0.1
7031   - magic-string: 0.25.7
7032   - vite: 3.0.1_less@4.1.3
7033   - transitivePeerDependencies:
7034   - - supports-color
7035   - dev: true
7036   -
7037   - /vite-plugin-svg-icons/2.0.1_vite@3.0.1:
7038   - resolution: {integrity: sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/vite-plugin-svg-icons/-/vite-plugin-svg-icons-2.0.1.tgz}
7039   - peerDependencies:
7040   - vite: '>=2.0.0'
7041   - dependencies:
7042   - '@types/svgo': 2.6.1
7043   - cors: 2.8.5
7044   - debug: 4.3.3
7045   - etag: 1.8.1
7046   - fs-extra: 10.0.0
7047   - pathe: 0.2.0
7048   - svg-baker: registry.nlark.com/svg-baker/1.7.0
7049   - svgo: 2.8.0
7050   - vite: 3.0.1_less@4.1.3
7051   - transitivePeerDependencies:
7052   - - supports-color
7053   - dev: true
7054   -
7055   - /vite-plugin-windicss/1.8.7_vite@3.0.1:
7056   - resolution: {integrity: sha512-/zwQ8+RV+MSkbG0IGqsEma6r2R01NzN/aNpNjJD7VVAkxAptNznqDXOObFTskkWfZ+9m6KJZCOuCPgAFtQIzEA==}
7057   - peerDependencies:
7058   - vite: ^2.0.1 || ^3.0.0
7059   - dependencies:
7060   - '@windicss/plugin-utils': 1.8.7
7061   - debug: 4.3.4
7062   - kolorist: 1.5.1
7063   - vite: 3.0.1_less@4.1.3
7064   - windicss: 3.5.6
7065   - transitivePeerDependencies:
7066   - - supports-color
7067   - dev: true
7068   -
7069   - /vite/3.0.1_less@4.1.3:
7070   - resolution: {integrity: sha512-nefKSglkoEsDpYUkBuT2++L04ktcP8fz8dxLtmZdDdMyhubFSOLFw6BTh/46Fc6tIX/cibs/NVYWNrsqn0k6pQ==}
7071   - engines: {node: ^14.18.0 || >=16.0.0}
7072   - hasBin: true
7073   - peerDependencies:
7074   - less: '*'
7075   - sass: '*'
7076   - stylus: '*'
7077   - terser: ^5.4.0
7078   - peerDependenciesMeta:
7079   - less:
7080   - optional: true
7081   - sass:
7082   - optional: true
7083   - stylus:
7084   - optional: true
7085   - terser:
7086   - optional: true
7087   - dependencies:
7088   - esbuild: 0.14.49
7089   - less: 4.1.3
7090   - postcss: 8.4.14
7091   - resolve: 1.22.1
7092   - rollup: 2.77.0
7093   - optionalDependencies:
7094   - fsevents: 2.3.2
7095   - dev: true
7096   -
7097   - /vue-cropper/1.0.3:
7098   - resolution: {integrity: sha512-yDrZkE4H5vOiMA9WQHE+6rmXrZ1S9TMZasEPAZPKg/2I/nySHL4ECD1lNxt7+ofTPKT+9+2sQkCwagPqEqiqJg==}
7099   - dev: false
7100   -
7101   - /vue-demi/0.12.1_vue@3.2.37:
7102   - resolution: {integrity: sha512-QL3ny+wX8c6Xm1/EZylbgzdoDolye+VpCXRhI2hug9dJTP3OUJ3lmiKN3CsVV3mOJKwFi0nsstbgob0vG7aoIw==}
7103   - engines: {node: '>=12'}
7104   - hasBin: true
7105   - requiresBuild: true
7106   - peerDependencies:
7107   - '@vue/composition-api': ^1.0.0-rc.1
7108   - vue: ^3.0.0-0 || ^2.6.0
7109   - peerDependenciesMeta:
7110   - '@vue/composition-api':
7111   - optional: true
7112   - dependencies:
7113   - vue: 3.2.37
7114   - dev: false
7115   -
7116   - /vue-eslint-parser/9.0.2_eslint@8.20.0:
7117   - resolution: {integrity: sha512-uCPQwTGjOtAYrwnU+76pYxalhjsh7iFBsHwBqDHiOPTxtICDaraO4Szw54WFTNZTAEsgHHzqFOu1mmnBOBRzDA==}
7118   - engines: {node: ^14.17.0 || >=16.0.0}
7119   - peerDependencies:
7120   - eslint: '>=6.0.0'
7121   - dependencies:
7122   - debug: 4.3.4
7123   - eslint: 8.20.0
7124   - eslint-scope: 7.1.1
7125   - eslint-visitor-keys: 3.3.0
7126   - espree: 9.3.2
7127   - esquery: 1.4.0
7128   - lodash: 4.17.21
7129   - semver: 7.3.7
7130   - transitivePeerDependencies:
7131   - - supports-color
7132   - dev: true
7133   -
7134   - /vue-i18n/9.1.10_vue@3.2.37:
7135   - resolution: {integrity: sha512-jpr7gV5KPk4n+sSPdpZT8Qx3XzTcNDWffRlHV/cT2NUyEf+sEgTTmLvnBAibjOFJ0zsUyZlVTAWH5DDnYep+1g==}
7136   - engines: {node: '>= 10'}
7137   - peerDependencies:
7138   - vue: ^3.0.0
7139   - dependencies:
7140   - '@intlify/core-base': 9.1.10
7141   - '@intlify/shared': 9.1.10
7142   - '@intlify/vue-devtools': 9.1.10
7143   - '@vue/devtools-api': 6.1.4
7144   - vue: 3.2.37
7145   -
7146   - /vue-router/4.1.2_vue@3.2.37:
7147   - resolution: {integrity: sha512-5BP1qXFncVRwgV/XnqzsKApdMjQPqWIpoUBdL1ynz8HyLxIX/UDAx7Ql2BjmA5CXT/p61JfZvkpiFWFpaqcfag==}
7148   - peerDependencies:
7149   - vue: ^3.2.0
7150   - dependencies:
7151   - '@vue/devtools-api': 6.1.4
7152   - vue: 3.2.37
7153   - dev: false
7154   -
7155   - /vue-tsc/0.38.8_typescript@4.7.4:
7156   - resolution: {integrity: sha512-hhyc5SODiekcYNXG08aNg17LogR19o3i14avVejo+Fm45Dqk9Ke6rb0M19HoTKdQGfZBgqg2VUboYxmtAukWeg==}
7157   - hasBin: true
7158   - peerDependencies:
7159   - typescript: '*'
7160   - dependencies:
7161   - '@volar/vue-typescript': 0.38.8
7162   - typescript: 4.7.4
7163   - dev: true
7164   -
7165   - /vue-types/4.1.1_vue@3.2.37:
7166   - resolution: {integrity: sha1-fXpOSgEkmlG22j+qMBJIwupfW5c=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/vue-types/download/vue-types-4.1.1.tgz}
7167   - engines: {node: '>=12.16.0'}
7168   - peerDependencies:
7169   - vue: ^2.0.0 || ^3.0.0
7170   - dependencies:
7171   - is-plain-object: registry.nlark.com/is-plain-object/5.0.0
7172   - vue: 3.2.37
7173   - dev: false
7174   -
7175   - /vue/3.2.37:
7176   - resolution: {integrity: sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==}
7177   - dependencies:
7178   - '@vue/compiler-dom': 3.2.37
7179   - '@vue/compiler-sfc': 3.2.37
7180   - '@vue/runtime-dom': 3.2.37
7181   - '@vue/server-renderer': 3.2.37_vue@3.2.37
7182   - '@vue/shared': 3.2.37
7183   -
7184   - /wcwidth/1.0.1:
7185   - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
7186   - dependencies:
7187   - defaults: 1.0.3
7188   - dev: true
7189   -
7190   - /web-storage-cache/1.1.1:
7191   - resolution: {integrity: sha1-QqwH536oYOiEiVvpupmrHgTrFi4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/web-storage-cache/download/web-storage-cache-1.1.1.tgz}
7192   - dev: false
7193   -
7194   - /webidl-conversions/3.0.1:
7195   - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz}
7196   - dev: true
7197   -
7198   - /webpack-sources/3.2.3:
7199   - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
7200   - engines: {node: '>=10.13.0'}
7201   - dev: true
7202   -
7203   - /webpack-virtual-modules/0.4.4:
7204   - resolution: {integrity: sha512-h9atBP/bsZohWpHnr+2sic8Iecb60GxftXsWNLLLSqewgIsGzByd2gcIID4nXcG+3tNe4GQG3dLcff3kXupdRA==}
7205   - dev: true
7206   -
7207   - /whatwg-url/5.0.0:
7208   - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/whatwg-url/-/whatwg-url-5.0.0.tgz}
7209   - dependencies:
7210   - tr46: 0.0.3
7211   - webidl-conversions: 3.0.1
7212   - dev: true
7213   -
7214   - /which-module/2.0.0:
7215   - resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==}
7216   - dev: false
7217   -
7218   - /which/1.3.1:
7219   - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
7220   - hasBin: true
7221   - dependencies:
7222   - isexe: 2.0.0
7223   - dev: true
7224   -
7225   - /which/2.0.2:
7226   - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
7227   - engines: {node: '>= 8'}
7228   - hasBin: true
7229   - dependencies:
7230   - isexe: 2.0.0
7231   - dev: true
7232   -
7233   - /wildcard/1.1.2:
7234   - resolution: {integrity: sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==}
7235   - dev: false
7236   -
7237   - /windicss-analysis/0.3.5:
7238   - resolution: {integrity: sha512-g7306c47Yc9c0nAhVLwVDVYt+MQmxGfpg1Q06mP4+j5nqCrJgh18Km4HyL8BABv7wo6BdUN7FeVtxb+u5TokxA==}
7239   - hasBin: true
7240   - dependencies:
7241   - '@windicss/plugin-utils': 1.8.4
7242   - cac: 6.7.12
7243   - connect: 3.7.0
7244   - declass: 0.0.1
7245   - fast-glob: 3.2.11
7246   - fs-extra: 10.0.1
7247   - sirv: 1.0.19
7248   - transitivePeerDependencies:
7249   - - supports-color
7250   - dev: true
7251   -
7252   - /windicss/3.5.6:
7253   - resolution: {integrity: sha512-P1mzPEjgFMZLX0ZqfFht4fhV/FX8DTG7ERG1fBLiWvd34pTLVReS5CVsewKn9PApSgXnVfPWwvq+qUsRwpnwFA==}
7254   - engines: {node: '>= 12'}
7255   - hasBin: true
7256   - dev: true
7257   -
7258   - /word-wrap/1.2.3:
7259   - resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
7260   - engines: {node: '>=0.10.0'}
7261   - dev: true
7262   -
7263   - /wordwrap/1.0.0:
7264   - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
7265   - dev: true
7266   -
7267   - /wrap-ansi/6.2.0:
7268   - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
7269   - engines: {node: '>=8'}
7270   - dependencies:
7271   - ansi-styles: 4.3.0
7272   - string-width: 4.2.3
7273   - strip-ansi: 6.0.1
7274   -
7275   - /wrap-ansi/7.0.0:
7276   - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
7277   - engines: {node: '>=10'}
7278   - dependencies:
7279   - ansi-styles: 4.3.0
7280   - string-width: 4.2.3
7281   - strip-ansi: 6.0.1
7282   - dev: true
7283   -
7284   - /wrappy/1.0.2:
7285   - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
7286   - dev: true
7287   -
7288   - /write-file-atomic/4.0.1:
7289   - resolution: {integrity: sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==}
7290   - engines: {node: ^12.13.0 || ^14.15.0 || >=16}
7291   - dependencies:
7292   - imurmurhash: 0.1.4
7293   - signal-exit: 3.0.7
7294   - dev: true
7295   -
7296   - /xml-name-validator/4.0.0:
7297   - resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
7298   - engines: {node: '>=12'}
7299   - dev: true
7300   -
7301   - /y18n/4.0.3:
7302   - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
7303   - dev: false
7304   -
7305   - /y18n/5.0.8:
7306   - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
7307   - engines: {node: '>=10'}
7308   - dev: true
7309   -
7310   - /yallist/4.0.0:
7311   - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
7312   - dev: true
7313   -
7314   - /yaml-eslint-parser/0.3.2:
7315   - resolution: {integrity: sha512-32kYO6kJUuZzqte82t4M/gB6/+11WAuHiEnK7FreMo20xsCKPeFH5tDBU7iWxR7zeJpNnMXfJyXwne48D0hGrg==}
7316   - dependencies:
7317   - eslint-visitor-keys: 1.3.0
7318   - lodash: 4.17.21
7319   - yaml: 1.10.2
7320   - dev: true
7321   -
7322   - /yaml/1.10.2:
7323   - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
7324   - engines: {node: '>= 6'}
7325   - dev: true
7326   -
7327   - /yaml/2.1.1:
7328   - resolution: {integrity: sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==}
7329   - engines: {node: '>= 14'}
7330   - dev: true
7331   -
7332   - /yargs-parser/18.1.3:
7333   - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
7334   - engines: {node: '>=6'}
7335   - dependencies:
7336   - camelcase: 5.3.1
7337   - decamelize: 1.2.0
7338   - dev: false
7339   -
7340   - /yargs-parser/20.2.9:
7341   - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
7342   - engines: {node: '>=10'}
7343   - dev: true
7344   -
7345   - /yargs-parser/21.0.0:
7346   - resolution: {integrity: sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==}
7347   - engines: {node: '>=12'}
7348   - dev: true
7349   -
7350   - /yargs/15.4.1:
7351   - resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
7352   - engines: {node: '>=8'}
7353   - dependencies:
7354   - cliui: 6.0.0
7355   - decamelize: 1.2.0
7356   - find-up: 4.1.0
7357   - get-caller-file: 2.0.5
7358   - require-directory: 2.1.1
7359   - require-main-filename: 2.0.0
7360   - set-blocking: 2.0.0
7361   - string-width: 4.2.3
7362   - which-module: 2.0.0
7363   - y18n: 4.0.3
7364   - yargs-parser: 18.1.3
7365   - dev: false
7366   -
7367   - /yargs/17.3.1:
7368   - resolution: {integrity: sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==}
7369   - engines: {node: '>=12'}
7370   - dependencies:
7371   - cliui: 7.0.4
7372   - escalade: 3.1.1
7373   - get-caller-file: 2.0.5
7374   - require-directory: 2.1.1
7375   - string-width: 4.2.3
7376   - y18n: 5.0.8
7377   - yargs-parser: 21.0.0
7378   - dev: true
7379   -
7380   - /yn/3.1.1:
7381   - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
7382   - engines: {node: '>=6'}
7383   - dev: true
7384   -
7385   - /yocto-queue/0.1.0:
7386   - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
7387   - engines: {node: '>=10'}
7388   - dev: true
7389   -
7390   - /zrender/5.3.2:
7391   - resolution: {integrity: sha512-8IiYdfwHj2rx0UeIGZGGU4WEVSDEdeVCaIg/fomejg1Xu6OifAL1GVzIPHg2D+MyUkbNgPWji90t0a8IDk+39w==}
7392   - dependencies:
7393   - tslib: 2.3.0
7394   - dev: false
7395   -
7396   - registry.nlark.com/array-differ/3.0.0:
7397   - resolution: {integrity: sha1-PLs9DzFoEOr8xHYkc0I31q7krms=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/array-differ/download/array-differ-3.0.0.tgz}
7398   - name: array-differ
7399   - version: 3.0.0
7400   - engines: {node: '>=8'}
7401   - dev: true
7402   -
7403   - registry.nlark.com/is-plain-object/5.0.0:
7404   - resolution: {integrity: sha1-RCf1CrNCnpAl6n1S6QQ6nvQVk0Q=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-plain-object/download/is-plain-object-5.0.0.tgz}
7405   - name: is-plain-object
7406   - version: 5.0.0
7407   - engines: {node: '>=0.10.0'}
7408   - dev: false
7409   -
7410   - registry.nlark.com/lodash-es/4.17.21:
7411   - resolution: {integrity: sha1-Q+YmxG5lkbd1C+srUBFzkMYJ4+4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/lodash-es/download/lodash-es-4.17.21.tgz}
7412   - name: lodash-es
7413   - version: 4.17.21
7414   - dev: false
7415   -
7416   - registry.nlark.com/merge-options/1.0.1:
7417   - resolution: {integrity: sha1-KmSyRFe+zU5NxggoMkfpTOWJqjI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/merge-options/download/merge-options-1.0.1.tgz?cache=0&sync_timestamp=1631523200726&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmerge-options%2Fdownload%2Fmerge-options-1.0.1.tgz}
7418   - name: merge-options
7419   - version: 1.0.1
7420   - engines: {node: '>=4'}
7421   - dependencies:
7422   - is-plain-obj: 1.1.0
7423   - dev: true
7424   -
7425   - registry.nlark.com/mri/1.2.0:
7426   - resolution: {integrity: sha1-ZyFID+wqEaSImGERWki2y+fMjws=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/mri/download/mri-1.2.0.tgz}
7427   - name: mri
7428   - version: 1.2.0
7429   - engines: {node: '>=4'}
7430   - dev: true
7431   -
7432   - registry.nlark.com/svg-baker/1.7.0:
7433   - resolution: {integrity: sha1-g2f3jYdVUMUv5HVvcwPVxdfC6ac=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/svg-baker/download/svg-baker-1.7.0.tgz}
7434   - name: svg-baker
7435   - version: 1.7.0
7436   - dependencies:
7437   - bluebird: 3.7.2
7438   - clone: 2.1.2
7439   - he: 1.2.0
7440   - image-size: 0.5.5
7441   - loader-utils: 1.4.0
7442   - merge-options: registry.nlark.com/merge-options/1.0.1
7443   - micromatch: 3.1.0
7444   - postcss: 5.2.18
7445   - postcss-prefix-selector: 1.14.0_postcss@5.2.18
7446   - posthtml-rename-id: 1.0.12
7447   - posthtml-svg-mode: 1.0.3
7448   - query-string: 4.3.4
7449   - traverse: 0.6.6
7450   - transitivePeerDependencies:
7451   - - supports-color
7452   - dev: true
yudao-ui-admin-vue3/src/api/infra/apiAccessLog/index.ts
1   -import { defHttp } from '@/config/axios'
2   -import { ApiAccessLogVO } from './types'
  1 +import { useAxios } from '@/hooks/web/useAxios'
  2 +
  3 +const request = useAxios()
3 4  
4 5 // 查询列表API 访问日志
5   -export const getApiAccessLogPageApi = ({ params }) => {
6   - return defHttp.get<PageResult<ApiAccessLogVO>>({ url: '/infra/api-access-log/page', params })
  6 +export const getApiAccessLogPageApi = (params) => {
  7 + return request.get({ url: '/infra/api-access-log/page', params })
7 8 }
8 9  
9 10 // 导出API 访问日志
10 11 export const exportApiAccessLogApi = (params) => {
11   - return defHttp.get({ url: '/infra/api-access-log/export-excel', params, responseType: 'blob' })
  12 + return request.get({ url: '/infra/api-access-log/export-excel', params, responseType: 'blob' })
12 13 }
... ...
yudao-ui-admin-vue3/src/api/infra/apiErrorLog/index.ts
1   -import { defHttp } from '@/config/axios'
2   -import { ApiErrorLogVO } from './types'
  1 +import { useAxios } from '@/hooks/web/useAxios'
  2 +
  3 +const request = useAxios()
3 4  
4 5 // 查询列表API 访问日志
5   -export const getApiErrorLogPageApi = ({ params }) => {
6   - return defHttp.get<PageResult<ApiErrorLogVO>>({ url: '/infra/api-error-log/page', params })
  6 +export const getApiErrorLogPageApi = (params) => {
  7 + return request.get({ url: '/infra/api-error-log/page', params })
7 8 }
8 9  
9 10 // 更新 API 错误日志的处理状态
10 11 export const updateApiErrorLogPageApi = (id: number, processStatus: number) => {
11   - return defHttp.put({
  12 + return request.put({
12 13 url: '/infra/api-error-log/update-status?id=' + id + '&processStatus=' + processStatus
13 14 })
14 15 }
15 16  
16 17 // 导出API 访问日志
17   -export const exportApiErrorLogApi = ({ params }) => {
18   - return defHttp.get({ url: '/infra/api-error-log/export-excel', params, responseType: 'blob' })
  18 +export const exportApiErrorLogApi = (params) => {
  19 + return request.get({ url: '/infra/api-error-log/export-excel', params, responseType: 'blob' })
19 20 }
... ...
yudao-ui-admin-vue3/src/api/infra/codegen/index.ts
1   -import { defHttp } from '@/config/axios'
2   -import type { CodegenDetailVO, CodegenPreviewVO, CodegenTableVO, DatabaseTableVO } from './types'
  1 +import { useAxios } from '@/hooks/web/useAxios'
  2 +import type { CodegenTableVO } from './types'
  3 +
  4 +const request = useAxios()
3 5  
4 6 // 查询列表代码生成表定义
5   -export const getCodegenTablePageApi = ({ params }) => {
6   - return defHttp.get<PageResult<CodegenTableVO>>({ url: '/infra/codegen/table/page', params })
  7 +export const getCodegenTablePageApi = (params) => {
  8 + return request.get({ url: '/infra/codegen/table/page', params })
7 9 }
8 10  
9 11 // 查询详情代码生成表定义
10 12 export const getCodegenTableApi = (id: number) => {
11   - return defHttp.get<CodegenDetailVO>({ url: '/infra/codegen/detail?tableId=' + id })
  13 + return request.get({ url: '/infra/codegen/detail?tableId=' + id })
12 14 }
13 15  
14 16 // 新增代码生成表定义
15   -export const createCodegenTableApi = (params: CodegenTableVO) => {
16   - return defHttp.post({ url: '/infra/codegen/create', params })
  17 +export const createCodegenTableApi = (data: CodegenTableVO) => {
  18 + return request.post({ url: '/infra/codegen/create', data })
17 19 }
18 20  
19 21 // 修改代码生成表定义
20   -export const updateCodegenTableApi = (params: CodegenTableVO) => {
21   - return defHttp.put({ url: '/infra/codegen/update', params })
  22 +export const updateCodegenTableApi = (data: CodegenTableVO) => {
  23 + return request.put({ url: '/infra/codegen/update', data })
22 24 }
23 25  
24 26 // 基于数据库的表结构,同步数据库的表和字段定义
25 27 export const syncCodegenFromDBApi = (id: number) => {
26   - return defHttp.put({ url: '/infra/codegen/sync-from-db?tableId=' + id })
  28 + return request.put({ url: '/infra/codegen/sync-from-db?tableId=' + id })
27 29 }
28 30  
29 31 // 基于 SQL 建表语句,同步数据库的表和字段定义
30 32 export const syncCodegenFromSQLApi = (id: number, sql: string) => {
31   - return defHttp.put({
32   - url: '/infra/codegen/sync-from-sql?tableId=' + id + '&sql=' + sql,
33   - headers: {
34   - 'Content-type': 'application/x-www-form-urlencoded'
35   - }
36   - })
  33 + return request.put({ url: '/infra/codegen/sync-from-sql?tableId=' + id + '&sql=' + sql })
37 34 }
38 35  
39 36 // 预览生成代码
40 37 export const previewCodegenApi = (id: number) => {
41   - return defHttp.get<CodegenPreviewVO[]>({ url: '/infra/codegen/preview?tableId=' + id })
  38 + return request.get({ url: '/infra/codegen/preview?tableId=' + id })
42 39 }
43 40  
44 41 // 下载生成代码
45 42 export const downloadCodegenApi = (id: number) => {
46   - return defHttp.get({ url: '/infra/codegen/download?tableId=' + id, responseType: 'blob' })
  43 + return request.get({ url: '/infra/codegen/download?tableId=' + id, responseType: 'blob' })
47 44 }
48 45  
49 46 // 获得表定义
50 47 export const getSchemaTableListApi = (params) => {
51   - return defHttp.get<DatabaseTableVO[]>({ url: '/infra/codegen/db/table/list', params })
  48 + return request.get({ url: '/infra/codegen/db/table/list', params })
52 49 }
53 50  
54 51 // 基于数据库的表结构,创建代码生成器的表定义
55   -export const createCodegenListApi = (params) => {
56   - return defHttp.post({ url: '/infra/codegen/create-list', params })
  52 +export const createCodegenListApi = (data) => {
  53 + return request.post({ url: '/infra/codegen/create-list', data })
57 54 }
58 55  
59 56 // 删除代码生成表定义
60 57 export const deleteCodegenTableApi = (id: number) => {
61   - return defHttp.delete({ url: '/infra/codegen/delete?tableId=' + id })
  58 + return request.delete({ url: '/infra/codegen/delete?tableId=' + id })
62 59 }
... ...
yudao-ui-admin-vue3/src/api/infra/config/index.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import type { ConfigVO } from './types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 查询参数列表
5   -export const getConfigPageApi = ({ params }) => {
6   - return defHttp.get<PageResult<ConfigVO>>({ url: '/infra/config/page', params })
  7 +export const getConfigPageApi = (params) => {
  8 + return request.get({ url: '/infra/config/page', params })
7 9 }
8 10  
9 11 // 查询参数详情
10 12 export const getConfigApi = (id: number) => {
11   - return defHttp.get<ConfigVO>({ url: '/infra/config/get?id=' + id })
  13 + return request.get({ url: '/infra/config/get?id=' + id })
12 14 }
13 15  
14 16 // 根据参数键名查询参数值
15 17 export const getConfigKeyApi = (configKey: string) => {
16   - return defHttp.get<ConfigVO>({ url: '/infra/config/get-value-by-key?key=' + configKey })
  18 + return request.get({ url: '/infra/config/get-value-by-key?key=' + configKey })
17 19 }
18 20  
19 21 // 新增参数
20   -export const createConfigApi = (params: ConfigVO) => {
21   - return defHttp.post({ url: '/infra/config/create', params })
  22 +export const createConfigApi = (data: ConfigVO) => {
  23 + return request.post({ url: '/infra/config/create', data })
22 24 }
23 25  
24 26 // 修改参数
25   -export const updateConfigApi = (params: ConfigVO) => {
26   - return defHttp.put({ url: '/infra/config/update', params })
  27 +export const updateConfigApi = (data: ConfigVO) => {
  28 + return request.put({ url: '/infra/config/update', data })
27 29 }
28 30  
29 31 // 删除参数
30 32 export const deleteConfigApi = (id: number) => {
31   - return defHttp.delete({ url: '/infra/config/delete?id=' + id })
  33 + return request.delete({ url: '/infra/config/delete?id=' + id })
32 34 }
33 35  
34 36 // 导出参数
35   -export const exportConfigApi = ({ params }) => {
36   - return defHttp.get({ url: '/infra/config/export', params, responseType: 'blob' })
  37 +export const exportConfigApi = (params) => {
  38 + return request.get({ url: '/infra/config/export', params, responseType: 'blob' })
37 39 }
... ...
yudao-ui-admin-vue3/src/api/infra/dataSourceConfig/index.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import type { DataSourceConfigVO } from './types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 查询数据源配置列表
5 7 export const getDataSourceConfigListApi = () => {
6   - return defHttp.get<DataSourceConfigVO[]>({ url: '/infra/data-source-config/list' })
  8 + return request.get({ url: '/infra/data-source-config/list' })
7 9 }
8 10  
9 11 // 查询数据源配置详情
10 12 export const getDataSourceConfigApi = (id: number) => {
11   - return defHttp.get<DataSourceConfigVO>({ url: '/infra/data-source-config/get?id=' + id })
  13 + return request.get({ url: '/infra/data-source-config/get?id=' + id })
12 14 }
13 15  
14 16 // 新增数据源配置
15   -export const createDataSourceConfigApi = (params: DataSourceConfigVO) => {
16   - return defHttp.post({ url: '/infra/data-source-config/create', params })
  17 +export const createDataSourceConfigApi = (data: DataSourceConfigVO) => {
  18 + return request.post({ url: '/infra/data-source-config/create', data })
17 19 }
18 20  
19 21 // 修改数据源配置
20   -export const updateDataSourceConfigApi = (params: DataSourceConfigVO) => {
21   - return defHttp.put({ url: '/infra/data-source-config/update', params })
  22 +export const updateDataSourceConfigApi = (data: DataSourceConfigVO) => {
  23 + return request.put({ url: '/infra/data-source-config/update', data })
22 24 }
23 25  
24 26 // 删除数据源配置
25 27 export const deleteDataSourceConfigApi = (id: number) => {
26   - return defHttp.delete({ url: '/infra/data-source-config/delete?id=' + id })
  28 + return request.delete({ url: '/infra/data-source-config/delete?id=' + id })
27 29 }
... ...
yudao-ui-admin-vue3/src/api/infra/dbDoc/index.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
  2 +
  3 +const request = useAxios()
2 4  
3 5 // 导出Html
4 6 export const exportHtmlApi = () => {
5   - return defHttp.get({ url: '/infra/db-doc/export-html', responseType: 'blob' })
  7 + return request.get({ url: '/infra/db-doc/export-html', responseType: 'blob' })
6 8 }
7 9  
8 10 // 导出Word
9 11 export const exportWordApi = () => {
10   - return defHttp.get({ url: '/infra/db-doc/export-word', responseType: 'blob' })
  12 + return request.get({ url: '/infra/db-doc/export-word', responseType: 'blob' })
11 13 }
12 14  
13 15 // 导出Markdown
14 16 export const exportMarkdownApi = () => {
15   - return defHttp.get({ url: '/infra/db-doc/export-markdown', responseType: 'blob' })
  17 + return request.get({ url: '/infra/db-doc/export-markdown', responseType: 'blob' })
16 18 }
... ...
yudao-ui-admin-vue3/src/api/infra/file/index.ts
1   -import { defHttp } from '@/config/axios'
2   -import type { FileVO } from './types'
  1 +import { useAxios } from '@/hooks/web/useAxios'
  2 +
  3 +const request = useAxios()
3 4  
4 5 // 查询文件列表
5   -export const getFilePageApi = ({ params }) => {
6   - return defHttp.get<PageResult<FileVO>>({ url: '/infra/file/page', params })
  6 +export const getFilePageApi = (params) => {
  7 + return request.get({ url: '/infra/file/page', params })
7 8 }
8 9  
9 10 // 删除文件
10 11 export const deleteFileApi = (id: number) => {
11   - return defHttp.delete({ url: '/infra/file/delete?id=' + id })
  12 + return request.delete({ url: '/infra/file/delete?id=' + id })
12 13 }
... ...
yudao-ui-admin-vue3/src/api/infra/fileConfig/index.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import type { FileConfigVO } from './types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 查询文件配置列表
5   -export const getFileConfigPageApi = ({ params }) => {
6   - return defHttp.get<PageResult<FileConfigVO>>({ url: '/infra/file-config/page', params })
  7 +export const getFileConfigPageApi = (params) => {
  8 + return request.get({ url: '/infra/file-config/page', params })
7 9 }
8 10  
9 11 // 查询文件配置详情
10 12 export const getFileConfigApi = (id: number) => {
11   - return defHttp.get<FileConfigVO>({ url: '/infra/file-config/get?id=' + id })
  13 + return request.get({ url: '/infra/file-config/get?id=' + id })
12 14 }
13 15  
14 16 // 更新文件配置为主配置
15 17 export const updateFileConfigMasterApi = (id: number) => {
16   - return defHttp.get<FileConfigVO>({ url: '/infra/file-config/update-master?id=' + id })
  18 + return request.get({ url: '/infra/file-config/update-master?id=' + id })
17 19 }
18 20  
19 21 // 新增文件配置
20   -export const createFileConfigApi = (params: FileConfigVO) => {
21   - return defHttp.post({ url: '/infra/file-config/create', params })
  22 +export const createFileConfigApi = (data: FileConfigVO) => {
  23 + return request.post({ url: '/infra/file-config/create', data })
22 24 }
23 25  
24 26 // 修改文件配置
25   -export const updateFileConfigApi = (params: FileConfigVO) => {
26   - return defHttp.put({ url: '/infra/file-config/update', params })
  27 +export const updateFileConfigApi = (data: FileConfigVO) => {
  28 + return request.put({ url: '/infra/file-config/update', data })
27 29 }
28 30  
29 31 // 删除文件配置
30 32 export const deleteFileConfigApi = (id: number) => {
31   - return defHttp.delete({ url: '/infra/file-config/delete?id=' + id })
  33 + return request.delete({ url: '/infra/file-config/delete?id=' + id })
32 34 }
33 35  
34 36 // 测试文件配置
35 37 export const testFileConfigApi = (id: number) => {
36   - return defHttp.get({ url: '/infra/file-config/test?id=' + id })
  38 + return request.get({ url: '/infra/file-config/test?id=' + id })
37 39 }
... ...
yudao-ui-admin-vue3/src/api/infra/job/index.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import type { JobVO } from './types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 任务列表
5   -export const getJobPageApi = ({ params }) => {
6   - return defHttp.get<PageResult<JobVO>>({ url: '/infra/job/page', params })
  7 +export const getJobPageApi = (params) => {
  8 + return request.get({ url: '/infra/job/page', params })
7 9 }
8 10  
9 11 // 任务详情
10 12 export const getJobApi = (id: number) => {
11   - return defHttp.get<JobVO>({ url: '/infra/job/get?id=' + id })
  13 + return request.get({ url: '/infra/job/get?id=' + id })
12 14 }
13 15  
14 16 // 新增任务
15   -export const createJobApi = (params: JobVO) => {
16   - return defHttp.post({ url: '/infra/job/create', params })
  17 +export const createJobApi = (data: JobVO) => {
  18 + return request.post({ url: '/infra/job/create', data })
17 19 }
18 20  
19 21 // 修改定时任务调度
20 22 export const updateJobApi = (params: JobVO) => {
21   - return defHttp.put({ url: '/infra/job/update', params })
  23 + return request.put({ url: '/infra/job/update', params })
22 24 }
23 25  
24 26 // 删除定时任务调度
25 27 export const deleteJobApi = (id: number) => {
26   - return defHttp.delete({ url: '/infra/job/delete?id=' + id })
  28 + return request.delete({ url: '/infra/job/delete?id=' + id })
27 29 }
28 30  
29 31 // 导出定时任务调度
30 32 export const exportJobApi = (params) => {
31   - return defHttp.get({
32   - url: '/infra/job/export-excel',
33   - params,
34   - responseType: 'blob'
35   - })
  33 + return request.get({ url: '/infra/job/export-excel', params, responseType: 'blob' })
36 34 }
37 35  
38 36 // 任务状态修改
... ... @@ -41,15 +39,15 @@ export const updateJobStatusApi = (id: number, status: number) =&gt; {
41 39 id,
42 40 status
43 41 }
44   - return defHttp.put({ url: '/infra/job/update-status', data: data })
  42 + return request.put({ url: '/infra/job/update-status', data: data })
45 43 }
46 44  
47 45 // 定时任务立即执行一次
48 46 export const runJobApi = (id: number) => {
49   - return defHttp.put({ url: '/infra/job/trigger?id=' + id })
  47 + return request.put({ url: '/infra/job/trigger?id=' + id })
50 48 }
51 49  
52 50 // 获得定时任务的下 n 次执行时间
53 51 export const getJobNextTimesApi = (id: number) => {
54   - return defHttp.get({ url: '/infra/job/get_next_times?id=' + id })
  52 + return request.get({ url: '/infra/job/get_next_times?id=' + id })
55 53 }
... ...
yudao-ui-admin-vue3/src/api/infra/jobLog/index.ts
1   -import { defHttp } from '@/config/axios'
2   -import type { JobLogVO } from './types'
  1 +import { useAxios } from '@/hooks/web/useAxios'
  2 +
  3 +const request = useAxios()
3 4  
4 5 // 任务日志列表
5   -export const getJobLogPageApi = ({ params }) => {
6   - return defHttp.get<PageResult<JobLogVO>>({ url: '/infra/job-log/page', params })
  6 +export const getJobLogPageApi = (params) => {
  7 + return request.get({ url: '/infra/job-log/page', params })
7 8 }
8 9  
9 10 // 任务日志详情
10 11 export const getJobLogApi = (id: number) => {
11   - return defHttp.get<JobLogVO>({ url: '/infra/job-log/get?id=' + id })
  12 + return request.get({ url: '/infra/job-log/get?id=' + id })
12 13 }
13 14  
14 15 // 导出定时任务日志
15 16 export const exportJobLogApi = (params) => {
16   - return defHttp.get({
  17 + return request.get({
17 18 url: '/infra/job-log/export-excel',
18 19 params,
19 20 responseType: 'blob'
... ...
yudao-ui-admin-vue3/src/api/infra/redis/index.ts
1   -import { defHttp } from '@/config/axios'
2   -import { RedisKeyInfo, RedisMonitorInfoVO } from '@/api/infra/redis/types'
  1 +import { useAxios } from '@/hooks/web/useAxios'
  2 +
  3 +const request = useAxios()
3 4  
4 5 /**
5 6 * 获取redis 监控信息
6 7 */
7   -export const redisMonitorInfo = () => {
8   - return defHttp.get<RedisMonitorInfoVO>({ url: '/infra/redis/get-monitor-info' })
  8 +export const getCacheApi = () => {
  9 + return request.get({ url: '/infra/redis/get-monitor-info' })
  10 +}
  11 +// 获取模块
  12 +export const getKeyDefineListApi = () => {
  13 + return request.get({ url: '/infra/redis/get-key-define-list' })
9 14 }
10   -
11 15 /**
12 16 * 获取redis key列表
13 17 */
14   -export const redisKeysInfo = () => {
15   - return defHttp.get<RedisKeyInfo[]>({ url: '/infra/redis/get-key-list' })
  18 +export const getKeyListApi = (keyTemplate: string) => {
  19 + return request.get({
  20 + url: '/infra/redis/get-key-list',
  21 + params: {
  22 + keyTemplate
  23 + }
  24 + })
16 25 }
... ...
yudao-ui-admin-vue3/src/api/login/index.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import { getRefreshToken } from '@/utils/auth'
3   -import type { UserLoginVO, TokenType, UserInfoVO } from './types'
  3 +import type { UserLoginVO } from './types'
  4 +
  5 +const request = useAxios()
4 6  
5 7 export interface CodeImgResult {
6 8 captchaOnOff: boolean
... ... @@ -18,45 +20,45 @@ export interface SmsLoginVO {
18 20  
19 21 // 获取验证码
20 22 export const getCodeImgApi = () => {
21   - return defHttp.get<CodeImgResult>({ url: '/system/captcha/get-image' })
  23 + return request.get({ url: '/system/captcha/get-image' })
22 24 }
23 25  
24 26 // 登录
25   -export const loginApi = (params: UserLoginVO) => {
26   - return defHttp.post<TokenType>({ url: '/system/auth/login', params })
  27 +export const loginApi = (data: UserLoginVO) => {
  28 + return request.post({ url: '/system/auth/login', data })
27 29 }
28 30  
29 31 // 刷新访问令牌
30 32 export const refreshToken = () => {
31   - return defHttp.post({ url: '/system/auth/refresh-token?refreshToken=' + getRefreshToken() })
  33 + return request.post({ url: '/system/auth/refresh-token?refreshToken=' + getRefreshToken() })
32 34 }
33 35  
34 36 // 使用租户名,获得租户编号
35 37 export const getTenantIdByNameApi = (name: string) => {
36   - return defHttp.get({ url: '/system/tenant/get-id-by-name?name=' + name })
  38 + return request.get({ url: '/system/tenant/get-id-by-name?name=' + name })
37 39 }
38 40  
39 41 // 登出
40 42 export const loginOutApi = () => {
41   - return defHttp.delete({ url: '/system/auth/logout' })
  43 + return request.delete({ url: '/system/auth/logout' })
42 44 }
43 45  
44 46 // 获取用户权限信息
45 47 export const getInfoApi = () => {
46   - return defHttp.get<UserInfoVO>({ url: '/system/auth/get-permission-info' })
  48 + return request.get({ url: '/system/auth/get-permission-info' })
47 49 }
48 50  
49 51 // 路由
50 52 export const getAsyncRoutesApi = () => {
51   - return defHttp.get({ url: '/system/auth/list-menus' })
  53 + return request.get({ url: '/system/auth/list-menus' })
52 54 }
53 55  
54 56 //获取登录验证码
55   -export const sendSmsCodeApi = (params: SmsCodeVO) => {
56   - return defHttp.post({ url: '/system/auth/send-sms-code', params })
  57 +export const sendSmsCodeApi = (data: SmsCodeVO) => {
  58 + return request.post({ url: '/system/auth/send-sms-code', data })
57 59 }
58 60  
59 61 // 短信验证码登录
60   -export const smsLoginApi = (params: SmsLoginVO) => {
61   - return defHttp.post({ url: '/system/auth/sms-login', params })
  62 +export const smsLoginApi = (data: SmsLoginVO) => {
  63 + return request.post({ url: '/system/auth/sms-login', data })
62 64 }
... ...
yudao-ui-admin-vue3/src/api/pay/app/index.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import type { AppVO } from './types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 查询列表支付应用
5   -export const getAppPageApi = ({ params }) => {
6   - return defHttp.get<PageResult<AppVO>>({ url: '/pay/app/page', params })
  7 +export const getAppPageApi = (params) => {
  8 + return request.get({ url: '/pay/app/page', params })
7 9 }
8 10  
9 11 // 查询详情支付应用
10 12 export const getAppApi = (id: number) => {
11   - return defHttp.get<AppVO>({ url: '/pay/app/get?id=' + id })
  13 + return request.get({ url: '/pay/app/get?id=' + id })
12 14 }
13 15  
14 16 // 新增支付应用
15   -export const createAppApi = (params: AppVO) => {
16   - return defHttp.post({ url: '/pay/app/create', params })
  17 +export const createAppApi = (data: AppVO) => {
  18 + return request.post({ url: '/pay/app/create', data })
17 19 }
18 20  
19 21 // 修改支付应用
20   -export const updateAppApi = (params: AppVO) => {
21   - return defHttp.put({ url: '/pay/app/update', params })
  22 +export const updateAppApi = (data: AppVO) => {
  23 + return request.put({ url: '/pay/app/update', data })
22 24 }
23 25  
24 26 // 支付应用信息状态修改
... ... @@ -27,20 +29,20 @@ export const changeAppStatusApi = (id: number, status: number) =&gt; {
27 29 id,
28 30 status
29 31 }
30   - return defHttp.put({ url: '/pay/app/update-status', data: data })
  32 + return request.put({ url: '/pay/app/update-status', data: data })
31 33 }
32 34  
33 35 // 删除支付应用
34 36 export const deleteAppApi = (id: number) => {
35   - return defHttp.delete({ url: '/pay/app/delete?id=' + id })
  37 + return request.delete({ url: '/pay/app/delete?id=' + id })
36 38 }
37 39  
38 40 // 导出支付应用
39 41 export const exportAppApi = (params) => {
40   - return defHttp.get({ url: '/pay/app/export-excel', params, responseType: 'blob' })
  42 + return request.get({ url: '/pay/app/export-excel', params, responseType: 'blob' })
41 43 }
42 44  
43 45 // 根据商ID称搜索应用列表
44 46 export const getAppListByMerchantIdApi = (merchantId: number) => {
45   - return defHttp.get({ url: '/pay/app/list-merchant-id', params: { merchantId: merchantId } })
  47 + return request.get({ url: '/pay/app/list-merchant-id', params: { merchantId: merchantId } })
46 48 }
... ...
yudao-ui-admin-vue3/src/api/pay/channel/index.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import type { ChannelVO } from './types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 查询列表支付渠道
5   -export const getChannelPageApi = ({ params }) => {
6   - return defHttp.get<PageResult<ChannelVO>>({ url: '/pay/channel/page', params })
  7 +export const getChannelPageApi = (params) => {
  8 + return request.get({ url: '/pay/channel/page', params })
7 9 }
8 10  
9 11 // 查询详情支付渠道
... ... @@ -13,25 +15,25 @@ export const getChannelApi = (merchantId: number, appId: string, code: string) =
13 15 appId: appId,
14 16 code: code
15 17 }
16   - return defHttp.get<ChannelVO>({ url: '/pay/channel/get-channel', params: params })
  18 + return request.get({ url: '/pay/channel/get-channel', params: params })
17 19 }
18 20  
19 21 // 新增支付渠道
20   -export const createChannelApi = (params: ChannelVO) => {
21   - return defHttp.post({ url: '/pay/channel/create', params })
  22 +export const createChannelApi = (data: ChannelVO) => {
  23 + return request.post({ url: '/pay/channel/create', data })
22 24 }
23 25  
24 26 // 修改支付渠道
25   -export const updateChannelApi = (params: ChannelVO) => {
26   - return defHttp.put({ url: '/pay/channel/update', params })
  27 +export const updateChannelApi = (data: ChannelVO) => {
  28 + return request.put({ url: '/pay/channel/update', data })
27 29 }
28 30  
29 31 // 删除支付渠道
30 32 export const deleteChannelApi = (id: number) => {
31   - return defHttp.delete({ url: '/pay/channel/delete?id=' + id })
  33 + return request.delete({ url: '/pay/channel/delete?id=' + id })
32 34 }
33 35  
34 36 // 导出支付渠道
35 37 export const exportChannelApi = (params) => {
36   - return defHttp.get({ url: '/pay/channel/export-excel', params, responseType: 'blob' })
  38 + return request.get({ url: '/pay/channel/export-excel', params, responseType: 'blob' })
37 39 }
... ...
yudao-ui-admin-vue3/src/api/pay/merchant/index.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import type { MerchantVO } from './types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 查询列表支付商户
5   -export const getMerchantPageApi = ({ params }) => {
6   - return defHttp.get<PageResult<MerchantVO>>({ url: '/pay/merchant/page', params })
  7 +export const getMerchantPageApi = (params) => {
  8 + return request.get({ url: '/pay/merchant/page', params })
7 9 }
8 10  
9 11 // 查询详情支付商户
10 12 export const getMerchantApi = (id: number) => {
11   - return defHttp.get<MerchantVO>({ url: '/pay/merchant/get?id=' + id })
  13 + return request.get({ url: '/pay/merchant/get?id=' + id })
12 14 }
13 15  
14 16 // 根据商户名称搜索商户列表
15 17 export const getMerchantListByNameApi = (name: string) => {
16   - return defHttp.get<MerchantVO>({
  18 + return request.get({
17 19 url: '/pay/merchant/list-by-name?id=',
18 20 params: {
19 21 name: name
... ... @@ -22,23 +24,23 @@ export const getMerchantListByNameApi = (name: string) =&gt; {
22 24 }
23 25  
24 26 // 新增支付商户
25   -export const createMerchantApi = (params: MerchantVO) => {
26   - return defHttp.post({ url: '/pay/merchant/create', params })
  27 +export const createMerchantApi = (data: MerchantVO) => {
  28 + return request.post({ url: '/pay/merchant/create', data })
27 29 }
28 30  
29 31 // 修改支付商户
30   -export const updateMerchantApi = (params: MerchantVO) => {
31   - return defHttp.put({ url: '/pay/merchant/update', params })
  32 +export const updateMerchantApi = (data: MerchantVO) => {
  33 + return request.put({ url: '/pay/merchant/update', data })
32 34 }
33 35  
34 36 // 删除支付商户
35 37 export const deleteMerchantApi = (id: number) => {
36   - return defHttp.delete({ url: '/pay/merchant/delete?id=' + id })
  38 + return request.delete({ url: '/pay/merchant/delete?id=' + id })
37 39 }
38 40  
39 41 // 导出支付商户
40 42 export const exportMerchantApi = (params) => {
41   - return defHttp.get({ url: '/pay/merchant/export-excel', params, responseType: 'blob' })
  43 + return request.get({ url: '/pay/merchant/export-excel', params, responseType: 'blob' })
42 44 }
43 45 // 支付商户状态修改
44 46 export const changeMerchantStatusApi = (id: number, status: number) => {
... ... @@ -46,5 +48,5 @@ export const changeMerchantStatusApi = (id: number, status: number) =&gt; {
46 48 id,
47 49 status
48 50 }
49   - return defHttp.put({ url: '/pay/merchant/update-status', data: data })
  51 + return request.put({ url: '/pay/merchant/update-status', data: data })
50 52 }
... ...
yudao-ui-admin-vue3/src/api/pay/order/index.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import type { OrderVO } from './types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 查询列表支付订单
5   -export const getOrderPageApi = ({ params }) => {
6   - return defHttp.get<PageResult<OrderVO>>({ url: '/pay/order/page', params })
  7 +export const getOrderPageApi = async (params) => {
  8 + return await request.get({ url: '/pay/order/page', params })
7 9 }
8 10  
9 11 // 查询详情支付订单
10   -export const getOrderApi = (id: number) => {
11   - return defHttp.get<OrderVO>({ url: '/pay/order/get?id=' + id })
  12 +export const getOrderApi = async (id: number) => {
  13 + return await request.get({ url: '/pay/order/get?id=' + id })
12 14 }
13 15  
14 16 // 新增支付订单
15   -export const createOrderApi = (params: OrderVO) => {
16   - return defHttp.post({ url: '/pay/order/create', params })
  17 +export const createOrderApi = async (data: OrderVO) => {
  18 + return await request.post({ url: '/pay/order/create', data })
17 19 }
18 20  
19 21 // 修改支付订单
20   -export const updateOrderApi = (params: OrderVO) => {
21   - return defHttp.put({ url: '/pay/order/update', params })
  22 +export const updateOrderApi = async (data: OrderVO) => {
  23 + return await request.put({ url: '/pay/order/update', data })
22 24 }
23 25  
24 26 // 删除支付订单
25   -export const deleteOrderApi = (id: number) => {
26   - return defHttp.delete({ url: '/pay/order/delete?id=' + id })
  27 +export const deleteOrderApi = async (id: number) => {
  28 + return await request.delete({ url: '/pay/order/delete?id=' + id })
27 29 }
28 30  
29 31 // 导出支付订单
30   -export const exportOrderApi = (params) => {
31   - return defHttp.get({ url: '/pay/order/export-excel', params, responseType: 'blob' })
  32 +export const exportOrderApi = async (params) => {
  33 + return await request.get({ url: '/pay/order/export-excel', params, responseType: 'blob' })
32 34 }
... ...
yudao-ui-admin-vue3/src/api/pay/refund/index.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import type { RefundVO } from './types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 查询列表退款订单
5   -export const getRefundPageApi = ({ params }) => {
6   - return defHttp.get<PageResult<RefundVO>>({ url: '/pay/refund/page', params })
  7 +export const getRefundPageApi = (params) => {
  8 + return request.get({ url: '/pay/refund/page', params })
7 9 }
8 10  
9 11 // 查询详情退款订单
10 12 export const getRefundApi = (id: number) => {
11   - return defHttp.get<RefundVO>({ url: '/pay/refund/get?id=' + id })
  13 + return request.get({ url: '/pay/refund/get?id=' + id })
12 14 }
13 15  
14 16 // 新增退款订单
15   -export const createRefundApi = (params: RefundVO) => {
16   - return defHttp.post({ url: '/pay/refund/create', params })
  17 +export const createRefundApi = (data: RefundVO) => {
  18 + return request.post({ url: '/pay/refund/create', data })
17 19 }
18 20  
19 21 // 修改退款订单
20   -export const updateRefundApi = (params: RefundVO) => {
21   - return defHttp.put({ url: '/pay/refund/update', params })
  22 +export const updateRefundApi = (data: RefundVO) => {
  23 + return request.put({ url: '/pay/refund/update', data })
22 24 }
23 25  
24 26 // 删除退款订单
25 27 export const deleteRefundApi = (id: number) => {
26   - return defHttp.delete({ url: '/pay/refund/delete?id=' + id })
  28 + return request.delete({ url: '/pay/refund/delete?id=' + id })
27 29 }
28 30  
29 31 // 导出退款订单
30 32 export const exportRefundApi = (params) => {
31   - return defHttp.get({ url: '/pay/refund/export-excel', params, responseType: 'blob' })
  33 + return request.get({ url: '/pay/refund/export-excel', params, responseType: 'blob' })
32 34 }
... ...
yudao-ui-admin-vue3/src/api/system/dept/index.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import type { DeptVO } from './types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 查询部门(精简)列表
5 7 export const listSimpleDeptApi = () => {
6   - return defHttp.get({ url: '/system/dept/list-all-simple' })
  8 + return request.get({ url: '/system/dept/list-all-simple' })
7 9 }
8 10  
9 11 // 查询部门列表
10   -export const getDeptPageApi = ({ params }) => {
11   - return defHttp.get<PageResult<DeptVO>>({ url: '/system/dept/list', params })
  12 +export const getDeptPageApi = (params) => {
  13 + return request.get({ url: '/system/dept/list', params })
12 14 }
13 15  
14 16 // 查询部门详情
15 17 export const getDeptApi = (id: number) => {
16   - return defHttp.get<DeptVO>({ url: '/system/dept/get?id=' + id })
  18 + return request.get({ url: '/system/dept/get?id=' + id })
17 19 }
18 20  
19 21 // 新增部门
20   -export const createDeptApi = (params: DeptVO) => {
21   - return defHttp.post({ url: '/system/dept/create', data: params })
  22 +export const createDeptApi = (data: DeptVO) => {
  23 + return request.post({ url: '/system/dept/create', data: data })
22 24 }
23 25  
24 26 // 修改部门
25 27 export const updateDeptApi = (params: DeptVO) => {
26   - return defHttp.put({ url: '/system/dept/update', data: params })
  28 + return request.put({ url: '/system/dept/update', data: params })
27 29 }
28 30  
29 31 // 删除部门
30 32 export const deleteDeptApi = (id: number) => {
31   - return defHttp.delete({ url: '/system/dept/delete?id=' + id })
  33 + return request.delete({ url: '/system/dept/delete?id=' + id })
32 34 }
... ...
yudao-ui-admin-vue3/src/api/system/dict/dict.data.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import type { DictDataVO } from './types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 查询字典数据(精简)列表
5 7 export const listSimpleDictDataApi = () => {
6   - return defHttp.get({ url: '/system/dict-data/list-all-simple' })
  8 + return request.get({ url: '/system/dict-data/list-all-simple' })
7 9 }
8 10  
9 11 // 查询字典数据列表
10   -export const getDictDataPageApi = ({ params }) => {
11   - return defHttp.get<PageResult<DictDataVO>>({ url: '/system/dict-data/page', params })
  12 +export const getDictDataPageApi = (params) => {
  13 + return request.get({ url: '/system/dict-data/page', params })
12 14 }
13 15  
14 16 // 查询字典数据详情
15 17 export const getDictDataApi = (id: number) => {
16   - return defHttp.get({ url: '/system/dict-data/get?id=' + id })
  18 + return request.get({ url: '/system/dict-data/get?id=' + id })
17 19 }
18 20  
19 21 // 新增字典数据
20   -export const createDictDataApi = (params: DictDataVO) => {
21   - return defHttp.post({ url: '/system/dict-data/create', params })
  22 +export const createDictDataApi = (data: DictDataVO) => {
  23 + return request.post({ url: '/system/dict-data/create', data })
22 24 }
23 25  
24 26 // 修改字典数据
25   -export const updateDictDataApi = (params: DictDataVO) => {
26   - return defHttp.put({ url: '/system/dict-data/update', params })
  27 +export const updateDictDataApi = (data: DictDataVO) => {
  28 + return request.put({ url: '/system/dict-data/update', data })
27 29 }
28 30  
29 31 // 删除字典数据
30 32 export const deleteDictDataApi = (id: number) => {
31   - return defHttp.delete({ url: '/system/dict-data/delete?id=' + id })
  33 + return request.delete({ url: '/system/dict-data/delete?id=' + id })
32 34 }
33 35 // 导出字典类型数据
34 36 export const exportDictDataApi = (params: DictDataVO) => {
35   - return defHttp.get({ url: '/system/dict-data/export', params })
  37 + return request.get({ url: '/system/dict-data/export', params })
36 38 }
... ...
yudao-ui-admin-vue3/src/api/system/dict/dict.type.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import type { DictTypeVO } from './types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 查询字典(精简)列表
5 7 export const listSimpleDictTypeApi = () => {
6   - return defHttp.get({ url: '/system/dict-type/list-all-simple' })
  8 + return request.get({ url: '/system/dict-type/list-all-simple' })
7 9 }
8 10  
9 11 // 查询字典列表
10   -export const getDictTypePageApi = ({ params }) => {
11   - return defHttp.get<PageResult<DictTypeVO>>({ url: '/system/dict-type/page', params })
  12 +export const getDictTypePageApi = (params) => {
  13 + return request.get({ url: '/system/dict-type/page', params })
12 14 }
13 15  
14 16 // 查询字典详情
15 17 export const getDictTypeApi = (id: number) => {
16   - return defHttp.get({ url: '/system/dict-type/get?id=' + id })
  18 + return request.get({ url: '/system/dict-type/get?id=' + id })
17 19 }
18 20  
19 21 // 新增字典
20   -export const createDictTypeApi = (params: DictTypeVO) => {
21   - return defHttp.post({ url: '/system/dict-type/create', params })
  22 +export const createDictTypeApi = (data: DictTypeVO) => {
  23 + return request.post({ url: '/system/dict-type/create', data })
22 24 }
23 25  
24 26 // 修改字典
25   -export const updateDictTypeApi = (params: DictTypeVO) => {
26   - return defHttp.put({ url: '/system/dict-type/update', params })
  27 +export const updateDictTypeApi = (data: DictTypeVO) => {
  28 + return request.put({ url: '/system/dict-type/update', data })
27 29 }
28 30  
29 31 // 删除字典
30 32 export const deleteDictTypeApi = (id: number) => {
31   - return defHttp.delete({ url: '/system/dict-type/delete?id=' + id })
  33 + return request.delete({ url: '/system/dict-type/delete?id=' + id })
32 34 }
33 35 // 导出字典类型
34 36 export const exportDictTypeApi = (params: DictTypeVO) => {
35   - return defHttp.get({ url: '/system/dict-type/export', params })
  37 + return request.get({ url: '/system/dict-type/export', params })
36 38 }
... ...
yudao-ui-admin-vue3/src/api/system/errorCode/index.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import type { ErrorCodeVO } from './types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 查询错误码列表
5   -export const getErrorCodePageApi = ({ params }) => {
6   - return defHttp.get<PageResult<ErrorCodeVO>>({ url: '/system/error-code/page', params })
  7 +export const getErrorCodePageApi = (params) => {
  8 + return request.get({ url: '/system/error-code/page', params })
7 9 }
8 10  
9 11 // 查询错误码详情
10 12 export const getErrorCodeApi = (id: number) => {
11   - return defHttp.get<ErrorCodeVO>({ url: '/system/error-code/get?id=' + id })
  13 + return request.get({ url: '/system/error-code/get?id=' + id })
12 14 }
13 15  
14 16 // 新增错误码
15   -export const createErrorCodeApi = (params: ErrorCodeVO) => {
16   - return defHttp.post({ url: '/system/error-code/create', params })
  17 +export const createErrorCodeApi = (data: ErrorCodeVO) => {
  18 + return request.post({ url: '/system/error-code/create', data })
17 19 }
18 20  
19 21 // 修改错误码
20   -export const updateErrorCodeApi = (params: ErrorCodeVO) => {
21   - return defHttp.put({ url: '/system/error-code/update', params })
  22 +export const updateErrorCodeApi = (data: ErrorCodeVO) => {
  23 + return request.put({ url: '/system/error-code/update', data })
22 24 }
23 25  
24 26 // 删除错误码
25 27 export const deleteErrorCodeApi = (id: number) => {
26   - return defHttp.delete({ url: '/system/error-code/delete?id=' + id })
  28 + return request.delete({ url: '/system/error-code/delete?id=' + id })
27 29 }
28 30 // 导出错误码
29 31 export const excelErrorCodeApi = (params) => {
30   - return defHttp.get({ url: '/system/error-code/export-excel', params, responseType: 'blob' })
  32 + return request.get({ url: '/system/error-code/export-excel', params, responseType: 'blob' })
31 33 }
... ...
yudao-ui-admin-vue3/src/api/system/loginLog/index.ts
1   -import { defHttp } from '@/config/axios'
2   -import type { LoginLogVO } from './types'
  1 +import { useAxios } from '@/hooks/web/useAxios'
  2 +
  3 +const request = useAxios()
3 4  
4 5 // 查询登录日志列表
5   -export const getLoginLogPageApi = ({ params }) => {
6   - return defHttp.get<PageResult<LoginLogVO>>({ url: '/system/login-log/page', params })
  6 +export const getLoginLogPageApi = (params) => {
  7 + return request.get({ url: '/system/login-log/page', params })
7 8 }
8 9 // 导出登录日志
9 10 export const exportLoginLogApi = (params) => {
10   - return defHttp.get({ url: '/system/login-log/export', params, responseType: 'blob' })
  11 + return request.get({ url: '/system/login-log/export', params, responseType: 'blob' })
11 12 }
... ...
yudao-ui-admin-vue3/src/api/system/menu/index.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import type { MenuVO } from './types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 查询菜单(精简)列表
5 7 export const listSimpleMenusApi = () => {
6   - return defHttp.get({ url: '/system/menu/list-all-simple' })
  8 + return request.get({ url: '/system/menu/list-all-simple' })
7 9 }
8 10 // 查询菜单列表
9 11 export const getMenuListApi = (params) => {
10   - return defHttp.get({ url: '/system/menu/list', params })
  12 + return request.get({ url: '/system/menu/list', params })
11 13 }
12 14  
13 15 // 获取菜单详情
14 16 export const getMenuApi = (id: number) => {
15   - return defHttp.get<MenuVO>({ url: '/system/menu/get?id=' + id })
  17 + return request.get({ url: '/system/menu/get?id=' + id })
16 18 }
17 19  
18 20 // 新增菜单
19   -export const createMenuApi = (params: MenuVO) => {
20   - return defHttp.post({ url: '/system/menu/create', params })
  21 +export const createMenuApi = (data: MenuVO) => {
  22 + return request.post({ url: '/system/menu/create', data })
21 23 }
22 24  
23 25 // 修改菜单
24   -export const updateMenuApi = (params: MenuVO) => {
25   - return defHttp.put({ url: '/system/menu/update', params })
  26 +export const updateMenuApi = (data: MenuVO) => {
  27 + return request.put({ url: '/system/menu/update', data })
26 28 }
27 29  
28 30 // 删除菜单
29 31 export const deleteMenuApi = (id: number) => {
30   - return defHttp.delete({ url: '/system/menu/delete?id=' + id })
  32 + return request.delete({ url: '/system/menu/delete?id=' + id })
31 33 }
... ...
yudao-ui-admin-vue3/src/api/system/notice/index.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import type { NoticeVO } from './types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 查询公告列表
5   -export const getNoticePageApi = ({ params }) => {
6   - return defHttp.get<PageResult<NoticeVO>>({ url: '/system/notice/page', params })
  7 +export const getNoticePageApi = (params) => {
  8 + return request.get({ url: '/system/notice/page', params })
7 9 }
8 10  
9 11 // 查询公告详情
10 12 export const getNoticeApi = (id: number) => {
11   - return defHttp.get<NoticeVO>({ url: '/system/notice/get?id=' + id })
  13 + return request.get({ url: '/system/notice/get?id=' + id })
12 14 }
13 15  
14 16 // 新增公告
15   -export const createNoticeApi = (params: NoticeVO) => {
16   - return defHttp.post({ url: '/system/notice/create', params })
  17 +export const createNoticeApi = (data: NoticeVO) => {
  18 + return request.post({ url: '/system/notice/create', data })
17 19 }
18 20  
19 21 // 修改公告
20   -export const updateNoticeApi = (params: NoticeVO) => {
21   - return defHttp.put({ url: '/system/notice/update', params })
  22 +export const updateNoticeApi = (data: NoticeVO) => {
  23 + return request.put({ url: '/system/notice/update', data })
22 24 }
23 25  
24 26 // 删除公告
25 27 export const deleteNoticeApi = (id: number) => {
26   - return defHttp.delete({ url: '/system/notice/delete?id=' + id })
  28 + return request.delete({ url: '/system/notice/delete?id=' + id })
27 29 }
... ...
yudao-ui-admin-vue3/src/api/system/oauth2/client.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import { OAuth2ClientVo } from './client.types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 查询 OAuth2列表
5   -export const getOAuth2ClientPageApi = ({ params }) => {
6   - return defHttp.get<PageResult<OAuth2ClientVo>>({ url: '/system/oauth2-client/page', params })
  7 +export const getOAuth2ClientPageApi = (params) => {
  8 + return request.get({ url: '/system/oauth2-client/page', params })
7 9 }
8 10  
9 11 // 查询 OAuth2详情
10 12 export const getOAuth2ClientApi = (id: number) => {
11   - return defHttp.get<OAuth2ClientVo>({ url: '/system/oauth2-client/get?id=' + id })
  13 + return request.get({ url: '/system/oauth2-client/get?id=' + id })
12 14 }
13 15  
14 16 // 新增 OAuth2
15   -export const createOAuth2ClientApi = (params: OAuth2ClientVo) => {
16   - return defHttp.post({ url: '/system/oauth2-client/create', params })
  17 +export const createOAuth2ClientApi = (data: OAuth2ClientVo) => {
  18 + return request.post({ url: '/system/oauth2-client/create', data })
17 19 }
18 20  
19 21 // 修改 OAuth2
20   -export const updateOAuth2ClientApi = (params: OAuth2ClientVo) => {
21   - return defHttp.put({ url: '/system/oauth2-client/update', params })
  22 +export const updateOAuth2ClientApi = (data: OAuth2ClientVo) => {
  23 + return request.put({ url: '/system/oauth2-client/update', data })
22 24 }
23 25  
24 26 // 删除 OAuth2
25 27 export const deleteOAuth2ClientApi = (id: number) => {
26   - return defHttp.delete({ url: '/system/oauth2-client/delete?id=' + id })
  28 + return request.delete({ url: '/system/oauth2-client/delete?id=' + id })
27 29 }
... ...
yudao-ui-admin-vue3/src/api/system/oauth2/token.ts
1   -import { defHttp } from '@/config/axios'
2   -import { OAuth2TokenVo } from './token.types'
  1 +import { useAxios } from '@/hooks/web/useAxios'
  2 +
  3 +const request = useAxios()
3 4  
4 5 // 查询 token列表
5   -export const getAccessTokenPageApi = ({ params }) => {
6   - return defHttp.get<PageResult<OAuth2TokenVo>>({ url: '/system/oauth2-token/page', params })
  6 +export const getAccessTokenPageApi = (params) => {
  7 + return request.get({ url: '/system/oauth2-token/page', params })
7 8 }
8 9  
9 10 // 删除 token
10 11 export const deleteAccessTokenApi = (accessToken: number) => {
11   - return defHttp.delete({ url: '/system/oauth2-token/delete?accessToken=' + accessToken })
  12 + return request.delete({ url: '/system/oauth2-token/delete?accessToken=' + accessToken })
12 13 }
... ...
yudao-ui-admin-vue3/src/api/system/operatelog/index.ts
1   -import { defHttp } from '@/config/axios'
2   -import type { OperateLogVO } from './types'
  1 +import { useAxios } from '@/hooks/web/useAxios'
  2 +
  3 +const request = useAxios()
3 4  
4 5 // 查询操作日志列表
5   -export const getOperateLogPageApi = ({ params }) => {
6   - return defHttp.get<PageResult<OperateLogVO>>({ url: '/system/operate-log/page', params })
  6 +export const getOperateLogPageApi = (params) => {
  7 + return request.get({ url: '/system/operate-log/page', params })
7 8 }
8 9 // 导出操作日志
9 10 export const exportOperateLogApi = (params) => {
10   - return defHttp.get({ url: '/system/operate-log/export', params, responseType: 'blob' })
  11 + return request.get({ url: '/system/operate-log/export', params, responseType: 'blob' })
11 12 }
... ...
yudao-ui-admin-vue3/src/api/system/post/index.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import type { PostVO } from './types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 查询岗位列表
5   -export const getPostPageApi = ({ params }) => {
6   - return defHttp.get<PageResult<PostVO>>({ url: '/system/post/page', params })
  7 +export const getPostPageApi = async (params) => {
  8 + return await request.get({ url: '/system/post/page', params })
7 9 }
8 10  
9 11 // 获取岗位精简信息列表
10   -export const listSimplePostsApi = () => {
11   - return defHttp.get<PostVO[]>({ url: '/system/post/list-all-simple' })
  12 +export const listSimplePostsApi = async () => {
  13 + return await request.get({ url: '/system/post/list-all-simple' })
12 14 }
13 15 // 查询岗位详情
14   -export const getPostApi = (id: number) => {
15   - return defHttp.get<PostVO>({ url: '/system/post/get?id=' + id })
  16 +export const getPostApi = async (id: number) => {
  17 + return await request.get({ url: '/system/post/get?id=' + id })
16 18 }
17 19  
18 20 // 新增岗位
19   -export const createPostApi = (params: PostVO) => {
20   - return defHttp.post({ url: '/system/post/create', params })
  21 +export const createPostApi = async (data: PostVO) => {
  22 + return await request.post({ url: '/system/post/create', data })
21 23 }
22 24  
23 25 // 修改岗位
24   -export const updatePostApi = (params: PostVO) => {
25   - return defHttp.put({ url: '/system/post/update', params })
  26 +export const updatePostApi = async (data: PostVO) => {
  27 + return await request.put({ url: '/system/post/update', data })
26 28 }
27 29  
28 30 // 删除岗位
29   -export const deletePostApi = (id: number) => {
30   - return defHttp.delete({ url: '/system/post/delete?id=' + id })
  31 +export const deletePostApi = async (id: number) => {
  32 + return await request.delete({ url: '/system/post/delete?id=' + id })
31 33 }
32 34  
33 35 // 导出岗位
34   -export const exportPostApi = (params) => {
35   - return defHttp.get({ url: '/system/post/export', params, responseType: 'blob' })
  36 +export const exportPostApi = async (params) => {
  37 + return await request.get({ url: '/system/post/export', params, responseType: 'blob' })
36 38 }
... ...
yudao-ui-admin-vue3/src/api/system/role/index.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import type { RoleVO } from './types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 查询角色列表
5   -export const getRolePageApi = ({ params }) => {
6   - return defHttp.get<PageResult<RoleVO>>({ url: '/system/role/page', params })
  7 +export const getRolePageApi = (params) => {
  8 + return request.get({ url: '/system/role/page', params })
7 9 }
8 10  
9 11 // 查询角色详情
10 12 export const getRoleApi = (id: number) => {
11   - return defHttp.get<RoleVO>({ url: '/system/role/get?id=' + id })
  13 + return request.get({ url: '/system/role/get?id=' + id })
12 14 }
13 15  
14 16 // 新增角色
15   -export const createRoleApi = (params: RoleVO) => {
16   - return defHttp.post({ url: '/system/role/create', params })
  17 +export const createRoleApi = (data: RoleVO) => {
  18 + return request.post({ url: '/system/role/create', data })
17 19 }
18 20  
19 21 // 修改角色
20   -export const updateRoleApi = (params: RoleVO) => {
21   - return defHttp.put({ url: '/system/role/update', params })
  22 +export const updateRoleApi = (data: RoleVO) => {
  23 + return request.put({ url: '/system/role/update', data })
22 24 }
23 25  
24 26 // 修改角色状态
25   -export const updateRoleStatusApi = (params: RoleVO) => {
26   - return defHttp.put({ url: '/system/role/update-status', params })
  27 +export const updateRoleStatusApi = (data: RoleVO) => {
  28 + return request.put({ url: '/system/role/update-status', data })
27 29 }
28 30  
29 31 // 删除角色
30 32 export const deleteRoleApi = (id: number) => {
31   - return defHttp.delete({ url: '/system/role/delete?id=' + id })
  33 + return request.delete({ url: '/system/role/delete?id=' + id })
32 34 }
... ...
yudao-ui-admin-vue3/src/api/system/sensitiveWord/index.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import type { SensitiveWordVO } from './types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 查询敏感词列表
5   -export const getSensitiveWordPageApi = ({ params }) => {
6   - return defHttp.get<PageResult<SensitiveWordVO>>({ url: '/system/sensitive-word/page', params })
  7 +export const getSensitiveWordPageApi = (params) => {
  8 + return request.get({ url: '/system/sensitive-word/page', params })
7 9 }
8 10  
9 11 // 查询敏感词详情
10 12 export const getSensitiveWordApi = (id: number) => {
11   - return defHttp.get<SensitiveWordVO>({ url: '/system/sensitive-word/get?id=' + id })
  13 + return request.get({ url: '/system/sensitive-word/get?id=' + id })
12 14 }
13 15  
14 16 // 新增敏感词
15   -export const createSensitiveWordApi = (params: SensitiveWordVO) => {
16   - return defHttp.post({ url: '/system/sensitive-word/create', params })
  17 +export const createSensitiveWordApi = (data: SensitiveWordVO) => {
  18 + return request.post({ url: '/system/sensitive-word/create', data })
17 19 }
18 20  
19 21 // 修改敏感词
20   -export const updateSensitiveWordApi = (params: SensitiveWordVO) => {
21   - return defHttp.put({ url: '/system/sensitive-word/update', params })
  22 +export const updateSensitiveWordApi = (data: SensitiveWordVO) => {
  23 + return request.put({ url: '/system/sensitive-word/update', data })
22 24 }
23 25  
24 26 // 删除敏感词
25 27 export const deleteSensitiveWordApi = (id: number) => {
26   - return defHttp.delete({ url: '/system/sensitive-word/delete?id=' + id })
  28 + return request.delete({ url: '/system/sensitive-word/delete?id=' + id })
27 29 }
28 30  
29 31 // 导出敏感词
30 32 export const exportSensitiveWordApi = (params) => {
31   - return defHttp.get({ url: '/system/sensitive-word/export', params, responseType: 'blob' })
  33 + return request.get({ url: '/system/sensitive-word/export', params, responseType: 'blob' })
32 34 }
33 35  
34 36 // 获取所有敏感词的标签数组
35 37 export const getSensitiveWordTagsApi = () => {
36   - return defHttp.get<SensitiveWordVO>({ url: '/system/sensitive-word/get-tags' })
  38 + return request.get({ url: '/system/sensitive-word/get-tags' })
37 39 }
38 40  
39 41 // 获得文本所包含的不合法的敏感词数组
40 42 export const validateTextApi = (id: number) => {
41   - return defHttp.get<SensitiveWordVO>({ url: '/system/sensitive-word/validate-text?' + id })
  43 + return request.get({ url: '/system/sensitive-word/validate-text?' + id })
42 44 }
... ...
yudao-ui-admin-vue3/src/api/system/sms/smsChannel/index.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import type { SmsChannelVO } from './types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 查询短信渠道列表
5   -export const getSmsChannelPageApi = ({ params }) => {
6   - return defHttp.get<PageResult<SmsChannelVO>>({ url: '/system/sms-channel/page', params })
  7 +export const getSmsChannelPageApi = (params) => {
  8 + return request.get({ url: '/system/sms-channel/page', params })
7 9 }
8 10  
9 11 // 获得短信渠道精简列表
10 12 export function getSimpleSmsChannels() {
11   - return defHttp.get({ url: '/system/sms-channel/list-all-simple' })
  13 + return request.get({ url: '/system/sms-channel/list-all-simple' })
12 14 }
13 15  
14 16 // 查询短信渠道详情
15 17 export const getSmsChannelApi = (id: number) => {
16   - return defHttp.get<SmsChannelVO>({ url: '/system/sms-channel/get?id=' + id })
  18 + return request.get({ url: '/system/sms-channel/get?id=' + id })
17 19 }
18 20  
19 21 // 新增短信渠道
20   -export const createSmsChannelApi = (params: SmsChannelVO) => {
21   - return defHttp.post({ url: '/system/sms-channel/create', params })
  22 +export const createSmsChannelApi = (data: SmsChannelVO) => {
  23 + return request.post({ url: '/system/sms-channel/create', data })
22 24 }
23 25  
24 26 // 修改短信渠道
25   -export const updateSmsChannelApi = (params: SmsChannelVO) => {
26   - return defHttp.put({ url: '/system/sms-channel/update', params })
  27 +export const updateSmsChannelApi = (data: SmsChannelVO) => {
  28 + return request.put({ url: '/system/sms-channel/update', data })
27 29 }
28 30  
29 31 // 删除短信渠道
30 32 export const deleteSmsChannelApi = (id: number) => {
31   - return defHttp.delete({ url: '/system/sms-channel/delete?id=' + id })
  33 + return request.delete({ url: '/system/sms-channel/delete?id=' + id })
32 34 }
... ...
yudao-ui-admin-vue3/src/api/system/sms/smsLog/index.ts
1   -import { defHttp } from '@/config/axios'
2   -import type { SmsLogVO } from './types'
  1 +import { useAxios } from '@/hooks/web/useAxios'
  2 +
  3 +const request = useAxios()
3 4  
4 5 // 查询短信日志列表
5   -export const getSmsLogPageApi = ({ params }) => {
6   - return defHttp.get<PageResult<SmsLogVO>>({ url: '/system/sms-log/page', params })
  6 +export const getSmsLogPageApi = (params) => {
  7 + return request.get({ url: '/system/sms-log/page', params })
7 8 }
8 9  
9 10 // 导出短信日志
10 11 export const exportSmsLogApi = (params) => {
11   - return defHttp.get({ url: '/system/sms-log/export', params, responseType: 'blob' })
  12 + return request.get({ url: '/system/sms-log/export', params, responseType: 'blob' })
12 13 }
... ...
yudao-ui-admin-vue3/src/api/system/sms/smsTemplate/index.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import type { SmsTemplateVO, SmsSendVO } from './types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 查询短信模板列表
5   -export const getSmsTemplatePageApi = ({ params }) => {
6   - return defHttp.get<PageResult<SmsTemplateVO>>({ url: '/system/sms-template/page', params })
  7 +export const getSmsTemplatePageApi = (params) => {
  8 + return request.get({ url: '/system/sms-template/page', params })
7 9 }
8 10  
9 11 // 查询短信模板详情
10 12 export const getSmsTemplateApi = (id: number) => {
11   - return defHttp.get<SmsTemplateVO>({ url: '/system/sms-template/get?id=' + id })
  13 + return request.get({ url: '/system/sms-template/get?id=' + id })
12 14 }
13 15  
14 16 // 新增短信模板
15   -export const createSmsTemplateApi = (params: SmsTemplateVO) => {
16   - return defHttp.post({ url: '/system/sms-template/create', params })
  17 +export const createSmsTemplateApi = (data: SmsTemplateVO) => {
  18 + return request.post({ url: '/system/sms-template/create', data })
17 19 }
18 20  
19 21 // 修改短信模板
20   -export const updateSmsTemplateApi = (params: SmsTemplateVO) => {
21   - return defHttp.put({ url: '/system/sms-template/update', params })
  22 +export const updateSmsTemplateApi = (data: SmsTemplateVO) => {
  23 + return request.put({ url: '/system/sms-template/update', data })
22 24 }
23 25  
24 26 // 删除短信模板
25 27 export const deleteSmsTemplateApi = (id: number) => {
26   - return defHttp.delete({ url: '/system/sms-template/delete?id=' + id })
  28 + return request.delete({ url: '/system/sms-template/delete?id=' + id })
27 29 }
28 30  
29 31 // 发送短信
30   -export function sendSms(params: SmsSendVO) {
31   - return defHttp.post({ url: '/system/sms-template/send-sms', params })
  32 +export function sendSms(data: SmsSendVO) {
  33 + return request.post({ url: '/system/sms-template/send-sms', data })
32 34 }
33 35  
34 36 // 导出短信模板
35 37 export const exportPostApi = (params) => {
36   - return defHttp.get({ url: '/system/sms-template/export-excel', params, responseType: 'blob' })
  38 + return request.get({ url: '/system/sms-template/export-excel', params, responseType: 'blob' })
37 39 }
... ...
yudao-ui-admin-vue3/src/api/system/tenant/index.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import type { TenantVO } from './types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 查询租户列表
5   -export const getTenantPageApi = ({ params }) => {
6   - return defHttp.get<PageResult<TenantVO>>({ url: '/system/tenant/page', params })
  7 +export const getTenantPageApi = (params) => {
  8 + return request.get({ url: '/system/tenant/page', params })
7 9 }
8 10  
9 11 // 查询租户详情
10 12 export const getTenantApi = (id: number) => {
11   - return defHttp.get<TenantVO>({ url: '/system/tenant/get?id=' + id })
  13 + return request.get({ url: '/system/tenant/get?id=' + id })
12 14 }
13 15  
14 16 // 新增租户
15   -export const createTenantApi = (params: TenantVO) => {
16   - return defHttp.post({ url: '/system/tenant/create', params })
  17 +export const createTenantApi = (data: TenantVO) => {
  18 + return request.post({ url: '/system/tenant/create', data })
17 19 }
18 20  
19 21 // 修改租户
20   -export const updateTenantApi = (params: TenantVO) => {
21   - return defHttp.put({ url: '/system/tenant/update', params })
  22 +export const updateTenantApi = (data: TenantVO) => {
  23 + return request.put({ url: '/system/tenant/update', data })
22 24 }
23 25  
24 26 // 删除租户
25 27 export const deleteTenantApi = (id: number) => {
26   - return defHttp.delete({ url: '/system/tenant/delete?id=' + id })
  28 + return request.delete({ url: '/system/tenant/delete?id=' + id })
27 29 }
28 30  
29 31 // 导出租户
30 32 export const exportTenantApi = (params) => {
31   - return defHttp.get({ url: '/system/tenant/export-excel', params, responseType: 'blob' })
  33 + return request.get({ url: '/system/tenant/export-excel', params, responseType: 'blob' })
32 34 }
... ...
yudao-ui-admin-vue3/src/api/system/tenantPackage/index.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import type { TenantPackageVO } from './types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 查询租户套餐列表
5   -export const getTenantPackageTypePageApi = ({ params }) => {
6   - return defHttp.get<PageResult<TenantPackageVO>>({ url: '/system/tenant-package/page', params })
  7 +export const getTenantPackageTypePageApi = (params) => {
  8 + return request.get({ url: '/system/tenant-package/page', params })
7 9 }
8 10  
9 11 // 获得租户
10 12 export const getTenantPackageApi = (id: number) => {
11   - return defHttp.get<TenantPackageVO>({ url: '/system/tenant-package/get?id=' + id })
  13 + return request.get({ url: '/system/tenant-package/get?id=' + id })
12 14 }
13 15  
14 16 // 新增租户套餐
15   -export const createTenantPackageTypeApi = (params: TenantPackageVO) => {
16   - return defHttp.post({ url: '/system/tenant-package/create', params })
  17 +export const createTenantPackageTypeApi = (data: TenantPackageVO) => {
  18 + return request.post({ url: '/system/tenant-package/create', data })
17 19 }
18 20  
19 21 // 修改租户套餐
20   -export const updateTenantPackageTypeApi = (params: TenantPackageVO) => {
21   - return defHttp.put({ url: '/system/tenant-package/update', params })
  22 +export const updateTenantPackageTypeApi = (data: TenantPackageVO) => {
  23 + return request.put({ url: '/system/tenant-package/update', data })
22 24 }
23 25  
24 26 // 删除租户套餐
25 27 export const deleteTenantPackageTypeApi = (id: number) => {
26   - return defHttp.delete({ url: '/system/tenant-package/delete?id=' + id })
  28 + return request.delete({ url: '/system/tenant-package/delete?id=' + id })
27 29 }
28 30 // // 获取租户套餐精简信息列表
29 31 export const getTenantPackageList = () => {
30   - return defHttp.get({
31   - url: '/system/tenant-package/get-simple-list'
32   - })
  32 + return request.get({ url: '/system/tenant-package/get-simple-list' })
33 33 }
... ...
yudao-ui-admin-vue3/src/api/system/user/index.ts
1   -import { defHttp } from '@/config/axios'
  1 +import { useAxios } from '@/hooks/web/useAxios'
2 2 import type { UserVO } from './types'
3 3  
  4 +const request = useAxios()
  5 +
4 6 // 查询用户管理列表
5   -export const getUserPageApi = ({ params }) => {
6   - return defHttp.get<PageResult<UserVO>>({ url: '/system/user/page', params })
  7 +export const getUserPageApi = (params) => {
  8 + return request.get({ url: '/system/user/page', params })
7 9 }
8 10  
9 11 // 查询用户详情
10 12 export const getUserApi = (id: number) => {
11   - return defHttp.get<UserVO>({ url: '/system/user/get?id=' + id })
  13 + return request.get({ url: '/system/user/get?id=' + id })
12 14 }
13 15  
14 16 // 新增用户
15   -export const createUserApi = (params: UserVO) => {
16   - return defHttp.post({ url: '/system/user/create', params })
  17 +export const createUserApi = (data: UserVO) => {
  18 + return request.post({ url: '/system/user/create', data })
17 19 }
18 20  
19 21 // 修改用户
20   -export const updateUserApi = (params: UserVO) => {
21   - return defHttp.put({ url: '/system/user/update', params })
  22 +export const updateUserApi = (data: UserVO) => {
  23 + return request.put({ url: '/system/user/update', data })
22 24 }
23 25  
24 26 // 删除用户
25 27 export const deleteUserApi = (id: number) => {
26   - return defHttp.delete({ url: '/system/user/delete?id=' + id })
  28 + return request.delete({ url: '/system/user/delete?id=' + id })
27 29 }
28 30  
29 31 // 导出用户
30 32 export const exportUserApi = (params) => {
31   - return defHttp.get({ url: '/system/user/export', params, responseType: 'blob' })
  33 + return request.get({ url: '/system/user/export', params, responseType: 'blob' })
32 34 }
33 35  
34 36 // 下载用户导入模板
35 37 export const importUserTemplateApi = () => {
36   - return defHttp.get({ url: '/system/user/get-import-template', responseType: 'blob' })
  38 + return request.get({ url: '/system/user/get-import-template', responseType: 'blob' })
37 39 }
38 40  
39 41 // 用户密码重置
40   -export const resetUserPwdApi = (userId: number, password: number) => {
  42 +export const resetUserPwdApi = (id: number, password: string) => {
41 43 const data = {
42   - userId,
  44 + id,
43 45 password
44 46 }
45   - return defHttp.put({
46   - url: '/system/user/resetPwd',
47   - data: data
48   - })
  47 + return request.put({ url: '/system/user/update-password', data: data })
49 48 }
50 49  
51 50 // 用户状态修改
... ... @@ -54,15 +53,5 @@ export const updateUserStatusApi = (id: number, status: number) =&gt; {
54 53 id,
55 54 status
56 55 }
57   - return defHttp.put({ url: '/system/user/update-status', data: data })
58   -}
59   -
60   -// 查询授权角色
61   -export const getAuthRoleApi = (userId: string) => {
62   - return defHttp.get({ url: '/system/user/authRole/' + userId })
63   -}
64   -
65   -// 保存授权角色
66   -export const updateAuthRoleApi = (data: any) => {
67   - return defHttp.put({ url: '/system/user/authRole', params: data })
  56 + return request.put({ url: '/system/user/update-status', data: data })
68 57 }
... ...
yudao-ui-admin-vue3/src/api/system/user/profile/index.ts
1   -import { defHttp } from '@/config/axios'
2   -import { ProfileVO } from './types'
  1 +import { useAxios } from '@/hooks/web/useAxios'
  2 +
  3 +const request = useAxios()
3 4  
4 5 // 查询用户个人信息
5 6 export const getUserProfileApi = () => {
6   - return defHttp.get<ProfileVO>({ url: '/system/user/profile/get' })
  7 + return request.get({ url: '/system/user/profile/get' })
7 8 }
8 9  
9 10 // 修改用户个人信息
10   -export const updateUserProfileApi = ({ params }) => {
11   - return defHttp.put({ url: '/system/user/profile/update', params })
  11 +export const updateUserProfileApi = (params) => {
  12 + return request.put({ url: '/system/user/profile/update', params })
12 13 }
13 14  
14 15 // 用户密码重置
15 16 export const updateUserPwdApi = (oldPassword: string, newPassword: string) => {
16   - return defHttp.put({
  17 + return request.put({
17 18 url: '/system/user/profile/update-password',
18 19 params: {
19 20 oldPassword: oldPassword,
... ... @@ -24,5 +25,5 @@ export const updateUserPwdApi = (oldPassword: string, newPassword: string) =&gt; {
24 25  
25 26 // 用户头像上传
26 27 export const uploadAvatarApi = (data) => {
27   - return defHttp.put({ url: '/system/user/profile/update-avatar', data: data })
  28 + return request.put({ url: '/system/user/profile/update-avatar', data: data })
28 29 }
... ...
yudao-ui-admin-vue3/src/assets/imgs/avatar.jpg 0 → 100644

6.12 KB

yudao-ui-admin-vue3/src/assets/svgs/icon.svg
1   -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M115.147.062a13 13 0 0 1 4.94.945c1.55.63 2.907 1.526 4.069 2.688a13.148 13.148 0 0 1 2.761 4.069c.678 1.55 1.017 3.245 1.017 5.086v102.3c0 3.681-1.187 6.733-3.56 9.155-2.373 2.422-5.352 3.633-8.937 3.633H12.992c-3.875 0-7-1.26-9.373-3.779-2.373-2.518-3.56-5.667-3.56-9.445V12.704c0-3.39 1.163-6.345 3.488-8.863C5.872 1.32 8.972.062 12.847.062h102.3zM81.434 109.047c1.744 0 3.003-.412 3.778-1.235.775-.824 1.163-1.914 1.163-3.27 0-1.26-.388-2.325-1.163-3.197-.775-.872-2.034-1.307-3.778-1.307H72.57c.097-.194.145-.485.145-.872V27.09h9.01c1.743 0 2.954-.436 3.633-1.308.678-.872 1.017-1.938 1.017-3.197 0-1.26-.34-2.325-1.017-3.197-.679-.872-1.89-1.308-3.633-1.308H46.268c-1.743 0-2.954.436-3.632 1.308-.678.872-1.018 1.938-1.018 3.197 0 1.26.34 2.325 1.018 3.197.678.872 1.889 1.308 3.632 1.308h8.138v72.075c0 .193.024.339.073.436.048.096.072.242.072.436H46.56c-1.744 0-3.003.435-3.778 1.307-.775.872-1.163 1.938-1.163 3.197 0 1.356.388 2.446 1.163 3.27.775.823 2.034 1.235 3.778 1.235h34.875z"/></svg>
2 1 \ No newline at end of file
  2 +<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M115.147.062a13 13 0 014.94.945c1.55.63 2.907 1.526 4.069 2.688a13.148 13.148 0 012.761 4.069c.678 1.55 1.017 3.245 1.017 5.086v102.3c0 3.681-1.187 6.733-3.56 9.155-2.373 2.422-5.352 3.633-8.937 3.633H12.992c-3.875 0-7-1.26-9.373-3.779-2.373-2.518-3.56-5.667-3.56-9.445V12.704c0-3.39 1.163-6.345 3.488-8.863C5.872 1.32 8.972.062 12.847.062h102.3zM81.434 109.047c1.744 0 3.003-.412 3.778-1.235.775-.824 1.163-1.914 1.163-3.27 0-1.26-.388-2.325-1.163-3.197-.775-.872-2.034-1.307-3.778-1.307H72.57c.097-.194.145-.485.145-.872V27.09h9.01c1.743 0 2.954-.436 3.633-1.308.678-.872 1.017-1.938 1.017-3.197 0-1.26-.34-2.325-1.017-3.197-.679-.872-1.89-1.308-3.633-1.308H46.268c-1.743 0-2.954.436-3.632 1.308-.678.872-1.018 1.938-1.018 3.197 0 1.26.34 2.325 1.018 3.197.678.872 1.889 1.308 3.632 1.308h8.138v72.075c0 .193.024.339.073.436.048.096.072.242.072.436H46.56c-1.744 0-3.003.435-3.778 1.307-.775.872-1.163 1.938-1.163 3.197 0 1.356.388 2.446 1.163 3.27.775.823 2.034 1.235 3.778 1.235h34.875z"/></svg>
3 3 \ No newline at end of file
... ...
yudao-ui-admin-vue3/src/assets/svgs/login-box-bg.svg
1   -<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 700 700" xml:space="preserve"><style>.st0{fill:#e5e6eb}.st1{fill:#fff}.st2{fill:#84a9ff}.st3{fill:#050f64}.st4{fill:#155bcd}.st5{fill:#ffbd00}.st6{fill:#ff654f}.st9{fill:#f5bdc8}.st10{fill:#ea8096}.st11{opacity:0}.st13{fill:#dca000}</style><path class="st0" d="M101.8 176.7c21.4-19.8 48.8-33.2 77.8-37.2 92.4-12.6 158.2 78.1 240.3 104.9 40.8 13.3 85.4 12.6 125.4 28 68.5 26.2 131.4 117.8 101 191.6-23.7 57.5-79.6 71.8-134.6 54-33.5-10.9-64.1-29.4-97.6-40.5-38.1-12.6-78.7-15.1-118.9-16.7s-80.6-2.4-119.6-12-77-28.9-101.2-60.9C40.8 343.4 48 260.8 73.1 213.7c7.4-13.9 17.2-26.3 28.7-37z"/><path class="st1" d="M82 257.1c5.7-23.2 18.9-44.7 37.3-60.4l1.7-1.5 1.8-1.4 1.8-1.4 1.8-1.3c.6-.4 1.2-.9 1.8-1.3l1.9-1.3c.6-.4 1.2-.9 1.9-1.3l1.9-1.2c5.1-3.2 10.5-6 16.1-8.4 11.1-4.7 23-7.8 35.1-9 12.1-1.1 24.3-.5 36.1 1.5 5.9 1 11.8 2.4 17.6 4 .7.2 1.5.4 2.2.6l2.2.7 2.2.7 2.1.7 2.1.7 2.1.8 2.1.8 2.1.8c5.6 2.2 11.1 4.6 16.5 7.2 5.4 2.6 10.7 5.4 15.9 8.3 10.4 5.9 20.6 12.2 30.5 18.8-10.4-5.9-20.7-11.8-31.4-17.2-5.3-2.7-10.7-5.3-16.1-7.7-5.4-2.4-10.9-4.7-16.5-6.7l-2.1-.8-2.1-.7-2.1-.7-2.1-.7-2.1-.7-2.1-.6-2.1-.6-2.1-.6c-5.7-1.5-11.5-2.8-17.3-3.7-11.6-1.9-23.5-2.5-35.2-1.3-11.7 1.1-23.2 4-34.1 8.5-5.4 2.2-10.7 4.9-15.8 7.9l-1.9 1.1c-.6.4-1.2.8-1.9 1.2l-1.8 1.2c-.6.4-1.2.8-1.8 1.3l-1.8 1.3-1.8 1.3-1.8 1.3-1.7 1.4c-18.2 15.2-32 35.7-39.1 58.4z"/><path class="st2" d="M183.1 543.2c-.3 1.2-.5 1.8-.5 1.8-.7-.5-1.4-.9-2.1-1.4-120.8-82.8-72.6-232.2-72.6-232.2 115.7 67.3 80.1 213.8 75.2 231.8z"/><path class="st3" d="M183.1 543.2c-.3 1.2-.5 1.8-.5 1.8-.7-.5-1.4-.9-2.1-1.4-10.1-29.9-20.1-59.8-29.8-89.8-5-15.5-10-31.1-14.8-46.7l-3.6-11.7-3.5-11.7c-1.2-3.9-2.2-7.8-3.4-11.8-.6-2-1.1-3.9-1.6-5.9l-1.6-5.9 1.6 5.9c.5 2 1.1 3.9 1.7 5.9 1.2 3.9 2.3 7.8 3.5 11.7l3.6 11.7 3.7 11.7c5 15.5 10.2 31 15.4 46.5 10.4 30 20.8 59.9 31.4 89.7zm-45.2-158.3c-.1 0-.2 0-.4-.1-.3-.1-.4-.5-.2-.8 3.7-7.2 6-15.3 6.7-23.4 0-.3.3-.5.6-.5s.5.3.5.6c-.7 8.2-3.1 16.5-6.9 23.8 0 .3-.2.4-.3.4zm16.1 45.6h-.3c-.3-.1-.4-.5-.3-.7 3.4-8.3 7.6-16.4 12.3-24.1.2-.3.5-.3.8-.2.3.2.3.5.2.8-4.7 7.6-8.8 15.6-12.2 23.9-.1.1-.3.3-.5.3zm-16.6 9.8h-.3c-9.5-3.9-18.3-9.3-26.1-16.1-.2-.2-.3-.6-.1-.8.2-.2.6-.3.8-.1 7.7 6.7 16.3 12 25.7 15.9.3.1.4.5.3.7 0 .2-.1.3-.3.4zm-11.5-49.8c-.2.1-.4.1-.6-.1l-19.2-15c-.2-.2-.3-.6-.1-.8.2-.2.6-.3.8-.1l19.2 15c.2.2.3.6.1.8 0 .1-.1.2-.2.2zm44.8 87.9h-.3c-.3-.1-.4-.5-.3-.7l10.1-23.5c.1-.3.5-.4.7-.3.3.1.4.5.3.7l-10.1 23.5c0 .1-.2.3-.4.3zm-19.1 3.2h-.3l-24.3-10c-.3-.1-.4-.5-.3-.7.1-.3.5-.4.7-.3l24.3 10c.3.1.4.5.3.7-.1.1-.3.3-.4.3z"/><path class="st4" d="M182.3 543.2c.3 1.2.4 1.9.4 1.9-.8-.1-1.7-.2-2.5-.3C35 525 11 369.8 11 369.8c133.5 8.2 167.5 155.1 171.3 173.4z"/><path class="st1" d="M182.3 543.2c.3 1.2.4 1.9.4 1.9-.8-.1-1.7-.2-2.5-.3-22.5-22.1-44.8-44.4-66.9-66.8-11.5-11.6-22.9-23.3-34.2-35.1l-8.5-8.8-8.4-8.9c-2.8-3-5.5-6-8.3-9-1.4-1.5-2.7-3-4.1-4.6l-4-4.6 4.1 4.5c1.4 1.5 2.7 3 4.1 4.5 2.8 3 5.6 6 8.4 8.9l8.5 8.8 8.6 8.7c11.5 11.6 23 23.1 34.7 34.6 22.5 22.2 45.2 44.3 68.1 66.2zM70.7 422.1c-.1.1-.2.1-.3.1-.3 0-.6-.3-.6-.6.1-8.1-1.5-16.4-4.5-23.9-.1-.3 0-.6.3-.7.3-.1.6 0 .7.3 3 7.7 4.6 16.1 4.6 24.4 0 .1-.1.3-.2.4zm34.9 33.4c-.1.1-.2.1-.3.1-.3 0-.6-.2-.6-.5-.7-9-.6-18.1.2-27 0-.3.3-.5.6-.5s.5.3.5.6c-.8 8.9-.9 17.9-.2 26.8.1.2 0 .4-.2.5zm-10.4 16.2c-.1.1-.2.1-.3.1-10.3.8-20.5-.1-30.5-2.7-.3-.1-.5-.4-.4-.7.1-.3.4-.5.7-.4 9.9 2.5 20 3.4 30.1 2.6.3 0 .6.2.6.5 0 .4-.1.5-.2.6zm-32.6-39.3c-.1.1-.3.2-.5.2l-23.9-4.8c-.3-.1-.5-.4-.4-.7.1-.3.4-.5.7-.4l23.9 4.8c.3.1.5.4.4.7-.1.1-.1.2-.2.2zm79.5 58.4c-.1.1-.2.1-.3.1-.3 0-.6-.2-.6-.5l-1.5-25.5c0-.3.2-.6.5-.6s.6.2.6.5l1.5 25.5c0 .2-.1.4-.2.5zm-15.7 11.5c-.1.1-.2.1-.3.1l-26.2 2c-.3 0-.6-.2-.6-.5s.2-.6.5-.6l26.2-2c.3 0 .6.2.6.5 0 .2-.1.4-.2.5z"/><path class="st5" d="M259.6 503.3c1.2.5 1.8.7 1.8.7-.5.7-1.1 1.3-1.7 1.9C164 616.8 20.9 552.3 20.9 552.3c79.7-107.4 221.4-55.9 238.7-49z"/><path class="st1" d="M259.6 503.3c1.2.5 1.8.7 1.8.7-.5.7-1.1 1.3-1.7 1.9-30.8 6.8-61.6 13.3-92.5 19.7-16 3.3-32 6.5-48 9.6l-12 2.3-12 2.2c-4 .7-8 1.4-12.1 2-2 .4-4 .6-6 .9l-6.1.9 6-1c2-.3 4-.6 6-1 4-.7 8-1.4 12-2.2l12-2.3 12-2.4c16-3.3 31.9-6.7 47.9-10.2 31-6.9 61.9-13.9 92.7-21.1zM97.3 530.8c0 .1 0 .2-.1.3-.2.3-.5.3-.8.2-6.8-4.5-14.6-7.7-22.5-9.3-.3-.1-.5-.4-.4-.7.1-.3.4-.5.7-.4 8.1 1.6 16 4.9 22.9 9.5.1 0 .1.2.2.4zm47-11.1c0 .1 0 .2-.1.3-.2.3-.5.4-.8.2-7.9-4.3-15.5-9.4-22.5-14.9-.2-.2-.3-.6-.1-.8.2-.2.6-.3.8-.1 7 5.5 14.6 10.5 22.4 14.8.2.1.3.3.3.5zm7.9 17.6c0 .1 0 .2-.1.3-4.9 9-11.3 17.2-18.8 24.1-.2.2-.6.2-.8 0-.2-.2-.2-.6 0-.8 7.5-6.9 13.7-14.9 18.6-23.8.2-.3.5-.4.8-.2.2.1.3.3.3.4zm-50.7 5.9c.1.2 0 .4-.1.6l-17 17.5c-.2.2-.6.2-.8 0-.2-.2-.2-.6 0-.8l17-17.5c.2-.2.6-.2.8 0 .1 0 .1.1.1.2zm92.3-34.8c0 .1 0 .2-.1.3-.2.3-.5.4-.8.2l-22.2-12.7c-.3-.2-.4-.5-.2-.8.2-.3.5-.4.8-.2l22.2 12.7c.2.2.3.3.3.5zm1.1 19.4c0 .1 0 .2-.1.3l-12.7 23.1c-.2.3-.5.4-.8.2-.3-.2-.4-.5-.2-.8l12.7-23.1c.2-.3.5-.4.8-.2.1.2.3.3.3.5z"/><path class="st2" d="M608.8 430.3c-1 .2-2.4-.3-4.4-1.4-3.2-1.9-8.3-4.9-10.2-6.1 3 6.3 5.8 12.7 8.3 19.2 4.5-1 7.9-.1 10.1 1.4 2.2 1.5 3.3 3.6 3.3 4.6-.1 2-1.8 2.4-4.9.3-1.6-1.1-3.7-2.6-5.5-3.9-1.3-.9-2.3-1.7-2.8-2 .8 2 1.5 4 2.2 6h.2c1.3.2 3.1 3.1 3.9 4.1 1.7 2.3 3 4.9 3.2 7.8.1 1.2-.1 2.6-1.2 3.2-1.2.6-2.6-.3-3.5-1.3-2.5-2.8-4-6.5-4.1-10.2 0-1-.1-3.3 1.2-3.5-.8-2-1.5-3.9-2.3-5.9-.1.6-.4 1.9-.7 3.4-.5 2.1-1.1 4.7-1.7 6.4-1.1 3.5-2.7 4.1-4 2.8-.7-.7-1.1-2.7-.3-5.2.8-2.4 2.6-5.3 6.6-7.7-2.7-6.4-5.6-12.7-8.8-18.9-.1.8-.3 2.2-.5 3.7-.3 2.6-.9 5.7-1.4 7.8-.5 2.1-1.2 3.4-2 4-.8.6-1.7.4-2.5-.3-.9-.7-1.6-3.1-.9-6.2.6-2.9 2.6-6.5 7-9.6-3.5-6.6-7.2-13.1-11.2-19.4v.3c0 1 0 2.5-.1 4.1-.1 1.6-.2 3.4-.3 5-.1 1.7-.4 3.3-.5 4.6-.8 5.3-3 6.6-5.2 5-1.2-.8-2.1-3.7-1.7-7.4.2-1.9.9-4 2.2-6.2 1.1-2 2.8-4.2 5.2-6.3-3.8-5.8-7.8-11.5-12-17 .1 1.2.2 2.8.2 4.6.1 1.8.1 3.9.1 5.8v2.8c0 .9-.1 1.8-.1 2.5-.4 6.1-2.8 7.8-5.5 6.2-.7-.4-1.4-1.4-1.9-2.8s-.8-3.3-.7-5.4c.1-2.2.7-4.6 1.9-7.3 1.1-2.4 2.8-5 5.2-7.6-4.2-5.4-8.5-10.5-13.1-15.5l2-1.8c4.5 5.2 8.8 10.5 12.9 16 3.1-1.6 6.1-2.5 8.8-2.7 3-.3 5.6.1 7.8.9s4 1.9 5.3 3.1c1.2 1.2 2 2.4 2.2 3.3.7 3.5-2 4.7-8 2.5-3.1-1.2-7.3-2.8-10.7-4.2-1.7-.6-3.3-1.2-4.4-1.6 4.1 5.6 8 11.5 11.6 17.4 2.9-1.2 5.6-1.7 8-1.8 2.6 0 4.8.5 6.7 1.4 3.8 1.7 5.8 4.5 6 6 .3 3.1-2 4-7.1 1.6-2.6-1.3-6.1-3-9-4.4-1.4-.7-2.8-1.3-3.7-1.8-.1 0-.1-.1-.2-.1 3.9 6.4 7.5 13 10.8 19.8 5.1-1.6 9.2-.9 12 .7 2.8 1.6 4.3 4 4.4 5.2-.7 1.1-1.2 1.8-2.2 2zM552.1 373.7c-.5 1.1-.8 1.7-.8 1.7l-1.8-1.8c-105.3-101.8-32.8-241.1-32.8-241.1 102.7 85.7 43.2 224.2 35.4 241.2z"/><path class="st1" d="M552.1 373.7c-.5 1.1-.8 1.7-.8 1.7l-1.8-1.8c-5-31.1-9.8-62.3-14.4-93.5-2.4-16.1-4.7-32.3-6.8-48.5l-1.6-12.1-1.5-12.2c-.5-4.1-.9-8.1-1.4-12.2-.2-2-.4-4.1-.6-6.1l-.5-6.1.6 6.1c.2 2 .4 4.1.7 6.1.5 4 1 8.1 1.5 12.1l1.6 12.1 1.7 12.1c2.4 16.1 4.9 32.3 7.5 48.4 5.1 31.4 10.3 62.7 15.8 93.9zM533.9 210c-.1 0-.2 0-.3-.1-.3-.2-.3-.5-.1-.8 4.9-6.5 8.5-14.1 10.6-21.9.1-.3.4-.5.7-.4.3.1.5.4.4.7-2.1 8-5.8 15.7-10.7 22.3-.3.1-.5.2-.6.2zm8.3 47.6c-.1 0-.2 0-.3-.1-.3-.2-.3-.5-.2-.8 4.8-7.6 10.2-14.9 16.2-21.7.2-.2.6-.3.8-.1.2.2.3.6.1.8-5.9 6.7-11.3 13.9-16.1 21.5-.1.3-.3.4-.5.4zm-18 6.9c-.1 0-.2 0-.3-.1-8.7-5.4-16.5-12.2-23-20.2-.2-.2-.2-.6.1-.8.2-.2.6-.2.8.1 6.4 7.9 14.1 14.6 22.7 19.9.3.2.3.5.2.8-.2.2-.4.3-.5.3zm-3-51c-.2 0-.4 0-.5-.2l-16.5-18c-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0l16.5 18c.2.2.2.6 0 .8-.1.2-.2.2-.3.2zm29.5 94.2c-.1 0-.2 0-.3-.1-.3-.2-.3-.5-.2-.8l13.9-21.5c.2-.3.5-.3.8-.2.3.2.3.5.2.8l-13.9 21.5c-.1.2-.3.3-.5.3zm-19.5-.1c-.1 0-.2 0-.3-.1l-22.3-13.9c-.3-.2-.3-.5-.2-.8.2-.3.5-.3.8-.2l22.3 13.9c.3.2.3.5.2.8-.1.2-.3.3-.5.3z"/><path class="st4" d="M526.6 382.8c-1 .7-1.6 1-1.6 1-.2-.8-.4-1.6-.6-2.5-35-142.2 100.5-221.5 100.5-221.5 41.5 127.2-82.7 212.8-98.3 223z"/><path class="st3" d="M526.6 382.8c-1 .7-1.6 1-1.6 1-.2-.8-.4-1.6-.6-2.5 12.3-29 24.8-58 37.5-86.8 6.6-14.9 13.3-29.8 20-44.7l5.1-11.1 5.2-11.1c1.7-3.7 3.6-7.3 5.3-11 .9-1.8 1.8-3.6 2.7-5.5l2.8-5.4-2.7 5.5c-.9 1.8-1.8 3.6-2.7 5.5-1.7 3.7-3.5 7.4-5.2 11.1l-5.1 11.1-5 11.2c-6.6 14.9-13 29.9-19.4 44.9-12.2 29.2-24.3 58.5-36.3 87.8zm71.6-148.3c-.1-.1-.2-.2-.2-.3-.1-.3 0-.6.3-.7 7.6-2.9 14.7-7.4 20.6-13 .2-.2.6-.2.8 0 .2.2.2.6 0 .8-6 5.7-13.3 10.2-21 13.2-.1.1-.3.1-.5 0zM580 279.3c-.1-.1-.2-.1-.2-.2-.1-.3 0-.6.3-.8 8.1-3.9 16.6-7.2 25.2-9.7.3-.1.6.1.7.4.1.3-.1.6-.4.7-8.6 2.5-17 5.8-25 9.7-.3 0-.5 0-.6-.1zm-19-3.8c-.1-.1-.2-.1-.2-.3-4.5-9.3-7.4-19.1-8.7-29.3 0-.3.2-.6.5-.6s.6.2.6.5c1.3 10.1 4.2 19.8 8.6 29 .1.3 0 .6-.3.8-.1 0-.3 0-.5-.1zm24.6-44.7c-.2-.1-.3-.2-.4-.4l-4.4-24c-.1-.3.1-.6.5-.7.3-.1.6.1.7.5l4.4 24c.1.3-.1.6-.5.7-.1-.1-.2-.1-.3-.1zm-25.1 95.4c-.1-.1-.2-.1-.2-.2-.1-.3 0-.6.3-.8l23.2-10.8c.3-.1.6 0 .8.3.1.3 0 .6-.3.8l-23.2 10.8c-.2 0-.4 0-.6-.1zm-16.4-10.4c-.1-.1-.2-.1-.2-.2l-11.5-23.7c-.1-.3 0-.6.3-.8.3-.1.6 0 .8.3l11.5 23.7c.1.3 0 .6-.3.8-.2 0-.5 0-.6-.1z"/><path class="st5" d="M482.2 415.1c-1.2 0-1.9-.1-1.9-.1l.9-2.4C532.4 275.4 689 286.2 689 286.2c-37.4 128.5-188.2 129.3-206.8 128.9z"/><path class="st1" d="M482.2 415.1c-1.2 0-1.9-.1-1.9-.1l.9-2.4c26.5-17 53.2-33.9 79.9-50.6 13.9-8.6 27.8-17.2 41.7-25.6l10.5-6.3 10.5-6.2c3.5-2.1 7.1-4.1 10.6-6.1 1.8-1 3.6-2 5.3-3l5.4-2.9-5.3 3c-1.8 1-3.6 2-5.3 3-3.5 2.1-7 4.1-10.5 6.2l-10.5 6.4-10.4 6.4c-13.8 8.6-27.6 17.4-41.4 26.2-26.6 17.2-53.1 34.5-79.5 52zM624.9 333c0-.1-.1-.2 0-.4.1-.3.4-.5.7-.4 7.9 1.8 16.3 2.2 24.3.9.3 0 .6.2.7.5 0 .3-.2.6-.5.7-8.2 1.3-16.7 1-24.8-.9l-.4-.4zm-40.3 26.7c0-.1-.1-.2 0-.3 0-.3.3-.5.6-.5 8.9 1.3 17.8 3.4 26.3 6.2.3.1.5.4.4.7-.1.3-.4.5-.7.4-8.5-2.7-17.3-4.8-26.1-6.1-.3-.1-.4-.3-.5-.4zm-13.5-13.8c-.1-.1-.1-.2-.1-.3 1.5-10.2 4.6-20 9.3-29.2.1-.3.5-.4.8-.2.3.1.4.5.2.8-4.6 9.1-7.7 18.7-9.2 28.8 0 .3-.3.5-.6.5-.2-.2-.4-.3-.4-.4zm45.5-23.1c-.1-.2-.1-.4-.1-.6l9.9-22.3c.1-.3.5-.4.8-.3.3.1.4.5.3.8l-9.9 22.3c-.1.3-.5.4-.8.3l-.2-.2zm-74.5 64.6c0-.1-.1-.2 0-.3.1-.3.3-.5.7-.5l25.2 4.2c.3.1.5.3.5.7-.1.3-.3.5-.7.5l-25.2-4.2c-.3-.1-.4-.2-.5-.4zm-7.7-17.8c0-.1-.1-.2 0-.3l3.9-26c0-.3.3-.5.6-.5s.5.3.5.6l-3.9 26c0 .3-.3.5-.6.5s-.4-.2-.5-.3z"/><path class="st2" d="M445 229c-.1 1 .4 2.4 1.6 4.3 2.1 3.1 5.4 8 6.6 9.9-6.4-2.7-13-5.1-19.6-7.3.8-4.5-.3-7.9-1.9-10-1.6-2.2-3.7-3.1-4.8-3-2 .2-2.3 1.9 0 4.9 1.1 1.5 2.8 3.5 4.2 5.3 1 1.2 1.8 2.2 2.2 2.7-2-.7-4.1-1.3-6.1-1.9v-.2c-.3-1.3-3.3-3-4.3-3.7-2.4-1.6-5.1-2.7-7.9-2.8-1.2 0-2.6.3-3.1 1.4-.5 1.2.5 2.6 1.5 3.4 2.9 2.4 6.7 3.6 10.4 3.5 1 0 3.3 0 3.5-1.4 2 .7 4 1.3 6 2-.6.2-1.9.5-3.4.9-2.1.6-4.6 1.4-6.3 2-3.4 1.3-4 2.9-2.6 4.2.7.6 2.8 1 5.2 0 2.4-.9 5.2-2.9 7.3-7 6.6 2.3 13 4.9 19.3 7.7-.8.1-2.2.4-3.7.7-2.5.5-5.6 1.2-7.7 1.8-2.1.6-3.3 1.4-3.9 2.2-.5.8-.4 1.7.4 2.5s3.2 1.4 6.2.5c2.9-.8 6.3-2.9 9.3-7.5 6.8 3.1 13.5 6.5 20 10.2h-.3c-1 .1-2.5.2-4.1.4-1.6.2-3.3.4-5 .6-1.7.2-3.3.5-4.6.8-5.2 1.1-6.4 3.3-4.7 5.5.9 1.1 3.8 1.9 7.5 1.3 1.9-.3 4-1.1 6.1-2.5 2-1.3 4-3 6-5.5 6 3.4 11.9 7.1 17.7 11.1h-4.6c-1.8 0-3.9.1-5.8.2-1 .1-1.9.1-2.8.2-.9.1-1.7.2-2.5.3-6.1.8-7.6 3.2-5.9 5.8.4.7 1.5 1.3 2.9 1.7 1.5.4 3.3.7 5.5.4 2.2-.3 4.6-.9 7.2-2.3 2.3-1.2 4.8-3 7.3-5.6 5.6 3.9 11 8 16.2 12.3l1.7-2.1c-5.4-4.2-11-8.2-16.7-12 1.4-3.2 2.1-6.2 2.2-8.9.1-3-.4-5.6-1.3-7.7-.9-2.1-2.1-3.9-3.4-5.1-1.3-1.2-2.5-1.9-3.4-2-3.5-.5-4.6 2.2-2 8.1 1.4 3 3.2 7.1 4.8 10.5.7 1.7 1.4 3.2 1.9 4.3-5.9-3.8-11.9-7.4-18-10.7 1-3 1.4-5.7 1.3-8.1-.1-2.6-.8-4.8-1.7-6.6-1.9-3.7-4.8-5.5-6.3-5.6-3.1-.2-3.9 2.3-1.2 7.2 1.4 2.5 3.3 5.9 4.9 8.8.8 1.4 1.5 2.7 2 3.6 0 .1.1.1.1.2-6.6-3.5-13.4-6.8-20.3-9.7 1.3-5.2.4-9.2-1.3-11.9-1.8-2.8-4.2-4.1-5.4-4.1-1.6.3-2.3.8-2.4 1.8zM100.2 255.8c1-.1 2.4.5 4.3 1.8 3 2.2 7.8 5.7 9.6 7-2.4-6.5-4.6-13.2-6.4-19.9-4.6.6-7.9-.6-9.9-2.3-2.1-1.7-3-3.9-2.8-4.9.3-2 2-2.2 4.9.2 1.5 1.2 3.4 3 5.1 4.4 1.2 1 2.2 1.9 2.6 2.3-.6-2.1-1.1-4.1-1.6-6.2h-.2c-1.3-.3-2.8-3.4-3.5-4.5-1.5-2.4-2.5-5.2-2.5-8 0-1.2.4-2.6 1.5-3 1.3-.5 2.6.6 3.4 1.6 2.3 3 3.3 6.8 3.1 10.5-.1 1-.2 3.3-1.5 3.4.6 2 1.2 4.1 1.8 6.1.2-.6.6-1.9 1-3.4.7-2.1 1.6-4.5 2.3-6.2 1.4-3.4 3.1-3.9 4.3-2.4.6.7.8 2.8-.2 5.2-1 2.4-3.1 5-7.3 7 2 6.6 4.4 13.2 6.9 19.6.2-.8.5-2.2.8-3.7.6-2.5 1.4-5.6 2.1-7.6.7-2.1 1.5-3.3 2.4-3.8.9-.5 1.7-.3 2.5.5s1.2 3.3.3 6.2c-.9 2.8-3.2 6.2-7.8 8.9 2.8 6.9 5.9 13.8 9.3 20.4v-.3c.1-1 .3-2.4.5-4s.5-3.3.8-5c.3-1.7.7-3.3 1-4.6 1.3-5.2 3.6-6.3 5.7-4.5 1.1.9 1.8 3.9 1 7.5-.4 1.8-1.3 3.9-2.8 6-1.3 1.9-3.2 3.9-5.8 5.8 3.2 6.2 6.6 12.2 10.3 18.1 0-1.2.1-2.8.2-4.6.1-1.8.3-3.9.5-5.8.1-1 .2-1.9.3-2.8.1-.9.3-1.7.4-2.5 1-6 3.5-7.5 6.1-5.6.6.5 1.2 1.5 1.6 3 .3 1.5.5 3.3.2 5.5s-1.1 4.5-2.6 7.1c-1.3 2.3-3.2 4.7-5.9 7 3.6 5.7 7.5 11.3 11.6 16.7l-2.2 1.6c-4-5.6-7.8-11.3-11.3-17.2-3.3 1.3-6.3 1.9-9 1.9-3 0-5.6-.6-7.7-1.6-2.1-1-3.8-2.3-4.9-3.6-1.1-1.3-1.8-2.6-1.8-3.4-.3-3.5 2.4-4.5 8.2-1.7 2.9 1.5 7 3.5 10.3 5.2 1.7.8 3.1 1.5 4.2 2-3.6-6-6.9-12.2-9.9-18.5-3 .9-5.7 1.2-8.1 1-2.6-.2-4.7-1-6.5-2-3.6-2-5.3-5-5.4-6.6 0-3.1 2.4-3.8 7.2-.9 2.4 1.5 5.8 3.5 8.6 5.2 1.4.9 2.6 1.6 3.5 2.1.1 0 .1.1.2.1-3.3-6.8-6.2-13.7-8.8-20.7-5.3 1.1-9.2 0-11.9-1.8-2.7-1.9-3.9-4.4-3.8-5.6-.1-.9.5-1.6 1.5-1.7z"/><path class="st4" d="M106.8 558.3c0 13.1 8.1 23.7 18.2 23.7h455c10.1 0 18.2-10.6 18.2-23.7H106.8z"/><path class="st2" d="M155.4 290.9h394.2v247.6H155.4z"/><path class="st3" d="M556.6 264.8h-408c-7.6 0-13.8 6.2-13.8 13.8V540c0 7.6 6.2 13.8 13.8 13.8h408c7.6 0 13.8-6.2 13.8-13.8V278.6c0-7.7-6.2-13.8-13.8-13.8z"/><path class="st1" d="M155.4 285.5h394.2v247.6H155.4z"/><path class="st0" d="M295.7 558.3h-99.1l.3-4.4.4-5.5h97.6zm212.9 0h-99.2l.4-4.4.4-5.5h97.6z"/><g><path class="st0" d="M188 451.7h34.4v3.9H188zm47 0h34.4v3.9H235zm93.6 0h24.9v3.9h-24.9zm46.2 0h38.7v3.9h-38.7zm-32.5 13.4h17.6v3.9h-17.6zm0 10.2h17.6v3.9h-17.6zm0 10.3h17.6v3.9h-17.6zm0 10.2h17.6v3.9h-17.6z"/><path class="st6" d="M209.7 465.1h12.7v3.9h-12.7z"/><path class="st2" d="M209.7 475.3h12.7v3.9h-12.7z"/><path class="st4" d="M209.7 485.6h12.7v3.9h-12.7z"/><path class="st5" d="M209.7 495.8h12.7v3.9h-12.7z"/><path class="st0" d="M399.7 465.1h17.6v3.9h-17.6zm0 10.2h17.6v3.9h-17.6zm0 10.3h17.6v3.9h-17.6zm0 10.2h17.6v3.9h-17.6zm-165.1-30.7h17.6v3.9h-17.6zm0 10.2h26.1v3.9h-26.1zm0 10.3h32.9v3.9h-32.9zm0 10.2h15.1v3.9h-15.1zm-54.2-181.2H306v6.9H180.4z"/><path class="st4" d="M180.4 340.4h17.8v7.5h-17.8zm35.7 0h17.8v7.5h-17.8zm35.7 0h17.8v7.5h-17.8zm35.7 0h17.8v7.5h-17.8zm35.8 0h17.8v7.5h-17.8zm35.7 0h17.8v7.5H359zm35.7 0h17.8v7.5h-17.8z"/><path class="st0" d="M180.4 355.7h249.8v2.3H180.4z"/><path class="st0" d="M427.7 446.2H181v-90.4h-2v92.5h250.7v-92.5h-2v90.4z"/><path class="st0" d="M405.1 355.7h2v91.5h-2zm-22.7 0h2.1v91.5h-2.1zm-22.6 0h2v91.5h-2zm-22.6 0h2v91.5h-2zm-22.6 0h2v91.5h-2zm-22.6 0h2v91.5h-2zm-22.6 0h2v91.5h-2zm-22.6 0h2v91.5h-2zm-22.6 0h2v91.5h-2zm-22.6 0h2.1v91.5h-2.1z"/><path class="st0" d="M179 355.7h250.7v2H179zm1 22.7h248.7v2H180zm0 22.6h248.7v2H180zm0 22.6h248.7v2H180z"/><path class="st2" d="M203.6 396.2h16.2v50.1h-16.2zm45.2-10.4H265v60.5h-16.2zm45.3 24.7h16.2v35.8h-16.2zm45.2-36.8h16.2v72.6h-16.2zm45.2 19.6h16.2v53h-16.2z"/><path class="st6" d="M201.6 396.2h16.2v50.1h-16.2zm45.2-10.4H263v60.5h-16.2zm45.2 24.7h16.2v35.8H292zm45.2-36.8h16.2v72.6h-16.2zm45.3 19.6h16.2v53h-16.2z"/><path class="st0" d="M179 471.1h250.7v2.1H179zM179 481.3h250.7v2.1H179z"/><g><path class="st0" d="M179 491.6h250.7v2.1H179z"/></g><g><path class="st0" d="M179 501.8h250.7v2.1H179z"/></g><g><path class="st6" d="M473.5 352.4c.9-5.5 5.4-9.8 10.9-10.6l-.2-5.1-.5-12.6c-14.7 1.2-26.4 12.7-27.9 27.2l12.6.8 5.1.3z"/><path class="st5" d="M491.1 366.7c-1.5.6-3.1.9-4.8.9-2.9 0-5.6-.9-7.7-2.5l-3.5 3.8-8.5 9.2c5.3 4.5 12.2 7.2 19.7 7.2 4.7 0 9.1-1 13-2.9l-5.9-11.1-2.3-4.6zm25.2-5.4l-12.4-2.1c-1.2 4.6-4 8.4-7.9 10.9l5.9 11.1 2.7 5.2c8.8-5.1 15.3-13.8 17.5-24.1l-5.8-1z"/><path class="st6" d="M468.2 354.9l-12.6-.8-5.9-.4v.9c0 10.1 4.1 19.3 10.7 25.9l4-4.3 8.5-9.2c-2.8-3.2-4.6-7.4-4.7-12.1z"/><path class="st4" d="M495.9 339.3l-2.4 4.6c3.5 2.3 5.7 6.3 5.7 10.8v.8l5.1.9 12.4 2.1c.2-1.3.2-2.5.2-3.8 0-11.3-6.1-21.2-15.2-26.5l-5.8 11.1zm-8.9-2.7c2.3.1 4.4.6 6.4 1.4l5.8-11.2 2.7-5.2c-4.7-2.3-10-3.5-15.7-3.5l.2 5.9.6 12.6z"/></g><g><path class="st0" d="M446.7 407.2h78.4v3.9h-78.4zm0 34.3h3.9v3.9h-3.9zm7.7 0h70.7v3.9h-70.7z"/><path class="st4" d="M446.7 456.1h3.9v3.9h-3.9z"/><path class="st0" d="M454.4 456.1h70.7v3.9h-70.7z"/><path d="M446.7 470.8h3.9v3.9h-3.9z" fill="#6292ff"/><path class="st0" d="M454.4 470.8h70.7v3.9h-70.7z"/><path d="M446.7 485.4h3.9v3.9h-3.9z" fill="#da5544"/><path class="st0" d="M454.4 485.4h70.7v3.9h-70.7z"/><path class="st5" d="M446.7 500h3.9v3.9h-3.9z"/><path class="st0" d="M454.4 500h70.7v3.9h-70.7zm-7.7-82.3h78.4v13h-78.4z"/></g></g><g><path class="st3" d="M522.8 556.7c.3-.3.7-.5 1.1-.6.4-.1.8-.1 1.3-.1 1-.1 2-.3 2.9-.8.5-.3.9-.6 1.4-.8l2.9.1c.4.4.7 1 .8 1.6.1.5.1 1.1.1 1.6v.6h-10.8v-.6c0-.4 0-.8.3-1z"/><path class="st9" d="M532.7 551.2l-.3 3.3-3-.1-.2-3z"/><path class="st3" d="M494 555.5c.3-.3.7-.4 1.1-.5.4 0 .8 0 1.3.1 1 .1 2.1-.1 3-.5.5-.2 1-.5 1.5-.6l2.9.4c.4.5.5 1.1.6 1.7.1.5 0 1.1-.1 1.6l-.1.6-10.7-1.2.1-.6c0-.4.1-.8.4-1z"/><path class="st4" d="M535.3 503.7c.6-11.4.5-27.5-2.6-36.6 0-.2-23.9 2-23.9 2l-5.6 22.9c-2 8.1-2.9 16.3-2.8 24.6l.3 34.4 4 .3 7.5-45.5c2.8-5.4 5.8-11.6 8.1-17.7l8.7 63.4 4-.2c0-.1 2.3-47.6 2.3-47.6z"/><path class="st9" d="M504.5 551.2l-.7 3.2-2.9-.4.1-3z"/><path class="st10" d="M481.6 394.3c.7-.3 1.6 0 1.9.7 2 4 4.2 7.8 6.6 11.5 2.4 3.7 5 7.2 7.8 10.5s5.8 6.4 9.1 9.1c1.6 1.4 3.3 2.7 5 3.9.4.3.9.6 1.3.9l1.3.9c.9.6 1.8 1.1 2.7 1.7.3.2.5.4.8.6.2.2.4.5.6.7.3.5.6 1.1.7 1.8.3 1.3.1 2.7-.7 4-.8 1.3-2 2.1-3.3 2.3-.7.1-1.4.1-2.1 0-.3-.1-.7-.2-1-.3l-.9-.6c-.9-.7-1.8-1.5-2.7-2.3l-1.3-1.2c-.4-.4-.9-.8-1.3-1.2-1.7-1.6-3.4-3.4-4.9-5.1-3.1-3.5-6-7.3-8.5-11.2-2.5-3.9-4.7-8-6.6-12.2-1.9-4.2-3.6-8.4-5.1-12.7-.5-.7-.1-1.5.6-1.8z"/><path class="st2" d="M500.2 434.6l9.4 7.3c2.8 2.2 6.8 1.9 9-.9s1.8-7.2-1.1-9.4l-9.4-7.3-7.9 10.3z"/><path class="st2" d="M521.8 428.5c-9-.1-16 7.9-14.8 16.8l1.8 23.7c10 3.6 17.5 1.6 23.9-2l1.1-25.2c.7-7.1-4.9-13.2-12-13.3z"/><path class="st1" d="M531.8 433.5l-.2.2c1 1.4 1.7 3 2 4.7h.3c-.3-1.7-1-3.4-2.1-4.9zm-9.9 37.3v.3c2.2-.2 4.4-.8 6.6-1.7l-.1-.2c-2.1.8-4.2 1.3-6.5 1.6zm5.1-41.3c-1.6-.8-3.4-1.2-5.2-1.2h-.2c-4.3 0-8.5 1.9-11.3 5.2-1.7 1.9-2.8 4.2-3.3 6.6l.3.1c1.5-6.6 7.4-11.6 14.5-11.5 1.9 0 3.6.5 5.2 1.2v-.4zM508.6 466c-.1 0-.2.1-.3.1l.2 3 .2.1c2.2.8 4.5 1.4 6.6 1.7v-.3c-2.1-.3-4.2-.8-6.5-1.7l-.2-2.9zm-1.8-20.6l.9 12h.3l-.9-12h-.3z"/><path class="st3" d="M524 412.1s6.2 1.5 4.7 8.4c-1 4.6-4.4 7-9.2 7.8l4.5-16.2z"/><path class="st9" d="M517.5 423.7l.5 7.1c2 1.2 4 1.1 5.9-.3l-.5-7.1-5.9.3z"/><path class="st10" d="M517.6 424.6l.1 2.2c.9.5 1.9.7 3 .7h.2c1-.1 2-.5 2.7-1.2l-.1-2.1-5.9.4z"/><path class="st9" d="M514.6 415.4l.4 5.3.1 1.2c.3 2.9 2.7 5.1 5.6 5.1.3 0 .6 0 .9-.1.1 0 .2-.1.3-.1h.1c.4-.2.8-.4 1.1-.8.7-.8 1.1-1.6 1.5-2.5.3-.7.6-1.5.8-2.2.2-.9.4-1.8.2-2.8l-.4-4.6-9-.7-1.6 2.2z"/><path class="st3" d="M523.9 414s-10.3.6-8.2 9.7c0 0-3.2-6.5.1-10.9 3.6-4.8 8.5-3.2 10.2-.9 1.7 2.3 3 6.1-1.8 8.9-.1-.1 1.5-3.5-.3-6.8z"/><path class="st9" d="M523.7 419.5c.1 1.2 1.1 2.1 2.3 2 1.2-.1 2.1-1.1 2-2.3-.1-1.2-1.1-2.1-2.3-2-1.2.1-2.1 1.1-2 2.3z"/><path class="st3" d="M503.8 450.8l-7.4-8c4.5-4.2 6.9-9.8 6.9-15.9h10.9c0 9.1-3.8 17.8-10.4 23.9z"/><path class="st4" d="M514.2 427h-10.9c0-12-9.7-21.7-21.7-21.7-2.6 0-5.1.4-7.5 1.3l-3.8-10.2c3.6-1.3 7.4-2 11.3-2 18-.1 32.6 14.6 32.6 32.6z"/><path class="st2" d="M481.6 459.6c-18 0-32.6-14.6-32.6-32.6 0-13.6 8.6-25.9 21.4-30.6l3.8 10.2c-8.5 3.1-14.2 11.3-14.2 20.4 0 12 9.7 21.7 21.7 21.7 5.5 0 10.8-2.1 14.8-5.8l7.4 8c-6.1 5.6-14 8.7-22.3 8.7z"/><g><path class="st9" d="M471.1 455.3c0-.8.5-1.5 1.3-1.5 4.4-.5 8.8-1.1 13.1-2.1 4.3-.9 8.5-2.1 12.6-3.5 4.1-1.5 8-3.2 11.8-5.2 1.9-1 3.7-2.1 5.5-3.3.4-.3.9-.6 1.3-.9l1.3-.9c.8-.6 1.7-1.2 2.5-1.9.3-.2.6-.4.8-.5l.9-.3c.6-.1 1.3-.1 1.9 0 1.3.2 2.6.9 3.5 2.1.9 1.2 1.2 2.6 1 3.9-.1.7-.4 1.3-.8 1.9-.2.3-.4.6-.7.8-.3.3-.6.5-.9.7-1 .6-2.1 1.2-3.1 1.7l-1.6.8c-.5.3-1.1.5-1.6.8-2.1 1-4.3 2-6.5 2.8-4.4 1.7-9 3-13.5 3.9-4.6.9-9.2 1.5-13.7 1.9-4.6.3-9.1.4-13.7.3-.8 0-1.4-.7-1.4-1.5z"/><path class="st2" d="M515.5 452.5l10.1-6.2c3.1-1.9 4.3-5.7 2.4-8.8-1.9-3.1-6.1-4.2-9.1-2.3l-10.1 6.2 6.7 11.1z"/><path class="st1" d="M529.1 439.4c-.1-.7-.4-1.4-.8-2-.9-1.5-2.5-2.7-4.3-3.1-.3-.1-.6-.1-.9-.2v.3c2 .3 3.9 1.4 4.9 3.2 1.4 2.3 1.1 5-.5 7l.2.1c1.3-1.5 1.8-3.4 1.4-5.3zm-3.3 7.1s.1 0 .1-.1l-.3-.1-3 1.8.2.2 3-1.8zm-4.2 2.6l-.2-.2-2.9 1.7.2.2 2.9-1.7zm-4.4 2.6l-.2-.2-1.5.9-5.2-8.5-.2.1 5.3 8.8 1.8-1.1zm.2-15.9l-7.4 4.5.1.2 7.4-4.5-.1-.2z"/></g></g><g><path class="st10" d="M234.4 464c0-.8-.5-1.5-1.3-1.6-2.3-.3-4.6-.6-6.9-1-2.3-.4-4.5-.8-6.7-1.3s-4.3-1.2-6.2-2c-1.9-.8-3.7-1.9-5.3-3.1-3.2-2.5-5.7-6-8-9.7-.3-.5-.6-.9-.9-1.4l-.8-1.4c-.6-1-1.1-2-1.7-3-1.1-2-2.2-4-3.2-6.1-1.4-2.6-4.7-3.5-7.2-2s-3.3 4.8-1.7 7.3c1.4 1.9 2.7 3.9 4.1 5.8.7 1 1.4 1.9 2.2 2.9l1.1 1.4c.4.5.8.9 1.1 1.4 1.6 1.9 3.2 3.7 5 5.5 1.8 1.8 3.9 3.4 6.1 4.8 2.3 1.3 4.7 2.3 7.2 3 2.5.7 4.9 1.1 7.3 1.3 2.4.2 4.8.4 7.1.4 2.4.1 4.7.1 7 .1 1 0 1.7-.6 1.7-1.3z"/><path class="st3" d="M190.5 450.4l-6.3-10c-1.9-3-1.3-7 1.8-8.9 3-1.9 7.3-1.1 9.2 2l6.3 10-11 6.9z"/><path class="st9" d="M181.4 505.2l8.3 49.2 2.9-.5.8-49.1z"/><path class="st4" d="M194.2 504.7l-13.6.5c-3.7-9-6.9-28.9-3.1-38.1l15.2 3.4 1.5 34.2z"/><circle transform="rotate(-16.739 184.847 470.406)" class="st4" cx="184.8" cy="470.4" r="7.9"/><g class="st11"><path class="st4" d="M184.8 470.4v-.1z"/></g><path class="st9" d="M165.9 503.2l-4.8 50.2 3 .2 13.5-47.8z"/><path class="st4" d="M180.4 462.7c-3.2-1-6.5.2-8.5 2.7-.1.2-.3.4-.4.6-5.7 8.3-7.5 27.6-6.3 37l13.2 3 7.3-33.4c1.3-4.2-1.1-8.6-5.3-9.9z"/><path class="st2" d="M180.4 497.1l-1.9 8.9-2.2-.5v.3l2.4.5 2-9.1-.3-.1zm-11.9-25.8c-1.3 3.5-2.4 7.8-3.1 12.8v.3h.3c.6-4.6 1.7-9.1 3.1-12.9l-.3-.2zm-3.9 23.7h.3c0-2.2.2-4.5.4-6.8h-.3c-.3 2.3-.4 4.6-.4 6.8zm.6 8c-.2-1.3-.3-2.8-.3-4.4h-.3c.1 1.6.2 3.1.3 4.4v.2l8 1.8.1-.2-7.8-1.8zm18.6-21.8l-1.7 7.9h.3l1.7-7.9h-.3z"/><path class="st3" d="M170.4 556.6c-.2-.4-.6-.6-1-.7-.4-.1-.8-.1-1.2-.2-1-.2-2-.6-2.8-1.2-.4-.3-.8-.7-1.3-.9l-2.9-.3c-.4.4-.8.9-1 1.5-.2.5-.2 1.1-.3 1.6l-.1.6 10.7 1.2.1-.6c.1-.3 0-.7-.2-1zm29.1-1.5c-.3-.3-.7-.4-1.2-.4-.4 0-.8.1-1.3.1-1 .1-2.1 0-3-.4l-1.5-.6-2.9.5c-.3.5-.5 1.1-.5 1.7 0 .5 0 1.1.1 1.6l.1.6 10.7-1.6-.1-.6c0-.3-.1-.6-.4-.9zM182 428.8c9 .1 15.8 8.2 14.4 17.1l-3.6 24c-6.5 2.3-15.6 1.5-23.1-.7v-27.4c-.5-7.1 5.2-13.1 12.3-13z"/><path class="st1" d="M169.4 457.4v10.4h.3v-10.4h-.3zm12.6-28.8h-.1c-.4 0-.8 0-1.2.1v.3c.4 0 .8-.1 1.3-.1 2.1 0 4 .5 5.8 1.2l.1-.2c-1.8-.9-3.8-1.3-5.9-1.3zm11.3 5.3c-.8-.9-1.7-1.8-2.7-2.5l-.2.2c3.7 2.7 6.1 7.1 6.1 11.9 0 .8-.1 1.6-.2 2.4l-.8 5.3.3.1.8-5.3c.7-4.4-.5-8.8-3.3-12.1zm-.6 36c-5.9 2.1-13.9 1.6-20.9-.1v.3c4 1 8.1 1.5 11.8 1.5 3.5 0 6.6-.5 9.2-1.4l.1-.1 2.1-13.8h-.3l-2 13.6zm-16.9-39.5l-.1-.3c-1.1.6-2.1 1.4-2.9 2.3-2.4 2.5-3.6 5.9-3.3 9.3v6.4h.3v-6.4c-.4-4.7 2.1-9 6-11.3z"/><path class="st9" d="M186.2 424.7l-.4 7.3c-2.1 1.1-4 1-5.9-.4l.4-7.3 5.9.4z"/><path class="st10" d="M186.1 426.9v.8c-.9.5-2 .7-3.1.7h-.2c-1-.1-1.9-.5-2.6-1.2l.1-2.1 5.8 1.8z"/><path class="st9" d="M189.3 416.4l-.5 5.2-.1 1.2c-.3 2.9-2.8 5.1-5.7 5-.3 0-.6-.1-.9-.1-.1 0-.2-.1-.3-.1h-.1c-.4-.2-.8-.5-1.1-.8-.6-.8-1-1.6-1.4-2.5-.3-.8-.6-1.5-.8-2.3-.2-.9-.3-1.8-.2-2.8l.2-3.6 9.3-1.5 1.6 2.3z"/><path class="st3" d="M189 424.6s0-3.1-.1-4.6c-.1-1.4-.4-2.8-1.5-2.6-2.1.4-2.9-1.4-2.9-1.4-.6 0-1.2.1-1.9.3-3.1.8-3.6 0-4-.5-.8 2.4-.5 5.5-.5 5.8 0 .1.1.3.1.4.2.8.5 1.5.8 2.3.3.7.6 1.4 1 2v.5c-2.2-.4-4.9-2.8-5.6-4.7-2.3-7.2 1.6-11.5 7.1-12.6 4.8-.9 7.4 3.5 8.4 7.5.8 2.3-.3 7-.9 7.6z"/><path class="st9" d="M180.2 420.3c-.1 1.2-1.1 2.1-2.3 2-1.2-.1-2.1-1.1-2-2.3.1-1.2 1.1-2.1 2.3-2 1.2.1 2 1.1 2 2.3z"/><g><path transform="rotate(-180 274.437 454.01)" class="st2" d="M269 446.1h10.8V462H269z"/><path transform="rotate(-180 260.511 447.387)" class="st2" d="M255.1 432.8h10.8v29.1h-10.8z"/><path transform="rotate(-180 246.585 443.424)" class="st4" d="M241.2 424.9H252v37h-10.8z"/><path transform="rotate(-180 232.659 439.712)" class="st4" d="M227.2 417.5H238v44.4h-10.8z"/><path transform="rotate(-180 218.732 441.217)" class="st4" d="M213.3 420.5h10.8v41.4h-10.8z"/><path transform="rotate(-180 204.806 443.424)" class="st2" d="M199.4 424.9h10.8v37h-10.8z"/><path transform="rotate(-180 190.88 447.387)" class="st4" d="M185.5 432.8h10.8v29.1h-10.8z"/><path transform="rotate(-180 232.659 462.663)" class="st3" d="M183.1 461.9h99.2v1.5h-99.2z"/></g><g><path class="st9" d="M227.5 461.9c-.1-.8-.7-1.4-1.5-1.4h-6.9c-2.3-.1-4.6-.2-6.8-.4s-4.4-.6-6.4-1.1c-2-.6-3.9-1.3-5.7-2.4-3.5-2.1-6.5-5.1-9.3-8.5-.4-.4-.7-.8-1.1-1.3l-1-1.3c-.7-.9-1.4-1.8-2-2.7-1.4-1.8-2.7-3.7-4-5.6-1.7-2.3-5.1-2.8-7.4-.9-2.3 1.8-2.6 5.3-.6 7.5 1.6 1.7 3.2 3.4 4.9 5.2.8.9 1.7 1.7 2.5 2.6l1.3 1.3c.4.4.9.8 1.3 1.2 1.8 1.7 3.7 3.3 5.8 4.8 2.1 1.5 4.3 2.8 6.7 3.9 2.4 1 5 1.7 7.5 2 2.5.3 5 .4 7.4.3 2.4-.1 4.8-.3 7.1-.6s4.7-.6 7-.9c.7-.3 1.2-1 1.2-1.7z"/><path class="st3" d="M181.9 454.2l-7.7-9c-2.3-2.7-2.2-6.7.5-9.1 2.7-2.3 7.1-2.1 9.4.7l7.7 9-9.9 8.4z"/><path class="st1" d="M179.6 434.3c-1.2-.1-2.3.1-3.4.6l.1.2c2.6-1.2 5.9-.6 7.8 1.7l.7.8.2-.2-.7-.8c-1.1-1.3-2.8-2.2-4.7-2.3zm12.2 11.6l-8.1 6.8.2.2 8.3-7-4.4-5.2-.2.2 4.2 5zm-18-9.1c-1.8 2.1-1.9 5.2-.4 7.7l.2-.1c-1.4-2.3-1.4-5.3.3-7.4l-.1-.2zm7.4 17l.2-.2-3.7-4.4-.2.2 3.7 4.4z"/></g></g><g><path class="st3" d="M630.9 587.7H74.2c-1.6 0-2.9-1.3-2.9-2.9 0-1.6 1.3-2.9 2.9-2.9H631c1.6 0 2.9 1.3 2.9 2.9-.1 1.6-1.4 2.9-3 2.9z"/></g><g><path transform="rotate(-40.957 194.403 297.627)" class="st2" d="M179.5 288.7h29.7v17.7h-29.7z"/><path transform="rotate(-40.957 148.955 337.083)" class="st4" d="M103.6 323.8h90.6v26.6h-90.6z"/><path class="st4" d="M294.2 300.4c28.1-24.4 31.2-67.2 6.7-95.3-24.4-28.1-67.2-31.2-95.3-6.7-25.9 22.5-30.5 60.4-12.1 88.2 1.6 2.4 3.4 4.8 5.4 7.1 2 2.3 4.1 4.4 6.2 6.3 25 22.1 63.3 22.9 89.1.4zm-76.9-88.6c20.7-18 52.3-15.8 70.3 5s15.8 52.3-5 70.3-52.3 15.8-70.3-5-15.8-52.3 5-70.3z"/><path class="st2" d="M212.3 282.1c-18-20.8-15.8-52.3 5-70.3 20.7-18 52.3-15.8 70.3 5s15.8 52.3-5 70.3c-20.7 17.9-52.3 15.7-70.3-5z"/><path class="st1" d="M263.6 217c.2-.4.4-.7.8-1 1-.8 2.5-.5 3.2.5l20.8 28.3c.8 1 .5 2.5-.5 3.2-1 .8-2.5.5-3.2-.5l-20.8-28.3c-.5-.6-.6-1.5-.3-2.2zm-11.1 8.2c.2-.4.4-.7.8-1 1-.8 2.5-.5 3.2.5l20.8 28.3c.8 1 .5 2.5-.5 3.2-1 .8-2.5.5-3.2-.5l-20.8-28.3c-.5-.6-.6-1.5-.3-2.2z"/></g><g><path class="st3" d="M410 551.8l-12.9 6.5c-.2-.4-.3-.9-.2-1.4.1-.6.5-1 .9-1.3.5-.3 1-.6 1.5-.8 1.2-.7 2.2-1.6 3-2.8.4-.6.7-1.2 1.2-1.8l3.6-1.7c.7.3 1.4.8 1.9 1.4.4.5.7 1.2 1 1.9zm12.6 4.6l-14.4 1.9c-.1-.5 0-1 .2-1.4.3-.5.8-.8 1.3-1 .5-.2 1.1-.2 1.7-.3 1.4-.2 2.6-.8 3.7-1.6.6-.4 1.1-.9 1.7-1.3l3.9-.4c.6.5 1.1 1.2 1.3 2 .4.7.5 1.4.6 2.1zm-6.1-47.8z"/><g class="st11"/><path class="st3" d="M416.5 508.6zm0 0z"/><path class="st2" d="M384.1 510.1l18.8 40.3 4.7-1.9-12-37.6 9.7-15.3 11 57.2 5.1-.3.1-73.2c.1-.7-30.9-2.6-30.9-2.6l-6.8 30.4c-.1 1.1 0 2 .3 3zm32.4-1.5z"/><g class="st11"/><path class="st10" d="M352.8 484.7c1.5-1.5 3-2.8 4.5-4.2.4-.3.7-.7 1.1-1 .4-.4.7-.7 1.1-1l1-1.1.5-.5.5-.5c2.7-2.9 5.1-6 7.3-9.3 1-1.7 2.1-3.3 3.1-5l.7-1.3c.1-.2.2-.4.4-.6l.3-.7 1.3-2.6c.1-.2.2-.4.3-.7l.3-.7.6-1.3.6-1.3.3-.7.2-.3.1-.3 1.1-2.7c.4-.9.7-1.8 1.1-2.8.4-1.2 1.4-2 2.6-2.4 1.2-.4 2.6-.4 3.9.2 1.3.6 2.3 1.6 2.8 2.7.5 1.2.5 2.5-.1 3.7-.5.9-1 1.8-1.6 2.8l-1.6 2.7-.2.3-.2.3-.4.7-.9 1.3-.9 1.3-.4.7c-.1.2-.3.4-.5.7l-1.8 2.6-.5.6c-.2.2-.3.4-.5.6l-1 1.3c-1.3 1.7-2.7 3.3-4.1 4.9-2.9 3.1-6 6.1-9.2 8.7l-.6.5-.6.5-1.3.9c-.4.3-.8.6-1.3.9-.4.3-.8.6-1.3.9-1.7 1.2-3.4 2.3-5 3.4-.5.4-1.3.3-1.9-.3-.3-.6-.3-1.4.2-1.9z"/><path class="st4" d="M383.8 465.5l5.6-12.2c1.7-3.7.4-8-3.3-9.7-3.7-1.7-8.4-.1-10 3.6l-5.6 12.2 13.3 6.1z"/><path class="st4" d="M389.8 435.7c-7.7 1.9-12.2 9.9-9.6 17.5l11.9 36.1c13.9 1.7 20.3-2.7 29.7-9.7l-12.4-33.5c-3-7.9-11.4-12.4-19.6-10.4z"/><path class="st1" d="M403.3 438.2c1.4 1 2.7 2.2 3.8 3.7l.3-.3c-1.1-1.4-2.4-2.7-3.8-3.7l-.3.3zm16 43.1l.2.3c.8-.6 1.5-1.1 2.3-1.7l.2-.2-3.2-8.7-.4.1 3.1 8.5c-.6.5-1.4 1.1-2.2 1.7zm-27.6 8.3h.3c2.7.3 5.1.5 7.3.4l-.1-.4c-2.2.1-4.5 0-7.2-.3l-7-21.2-.4.1 7.1 21.4zm20.6-3.7c-1 .5-1.9 1-3 1.4l.2.4c1.1-.5 2.1-1 3.1-1.5l-.3-.3zm2.1-26l.4-.2-3-8-.4.2 3 8zm-32.6-.2l.4-.1-2.1-6.5c-2.3-6.8 1.2-14.1 7.6-16.8.3-.1.6-.3 1-.4l-.2-.4-.9.3c-6.8 2.8-10.3 10.4-7.9 17.4l2.1 6.5z"/><path class="st4" d="M353.2 491.4c8.2 7.9 20.6 10.6 31.7 6l-11.3-26.9-20.4 20.9z"/><path class="st3" d="M373.6 470.4l29.2-1.4c-.2-3.3-.9-6.7-2.3-9.9-2.7-6.4-7.4-11.3-13.1-14.4l-13.8 25.7zm-11.4-26.9l11.3 26.9 13.9-25.7c-7.4-4-16.7-4.8-25.2-1.2z"/><path class="st3" d="M373.6 470.4l11.3 26.9c11.6-4.9 18.4-16.4 17.8-28.3l-29.1 1.4z"/><path class="st4" d="M346.7 481.8c1.6 3.7 3.8 7 6.6 9.6l20.4-21-29-3.4c-.7 4.9-.1 9.9 2 14.8z"/><g><path class="st9" d="M371.3 467.3c.5-.6 1.3-.7 1.9-.3 1.8 1.2 3.7 2.4 5.6 3.4.9.5 1.9 1 2.9 1.4 1 .4 1.9.8 2.9 1.1 1 .3 1.9.5 2.8.5h1.2c.4 0 .8-.1 1.1-.2.3-.1.6-.3.9-.4.3-.2.5-.4.8-.6.2-.2.5-.5.7-.8.2-.3.4-.6.6-1 .4-.7.7-1.6 1-2.5.3-.9.5-1.8.7-2.8.4-2 .6-4 .7-6.1.1-2.1.2-4.2.2-6.4 0-2.1-.1-4.3-.2-6.5 0-1.4.5-2.6 1.5-3.6.9-.9 2.2-1.5 3.7-1.5 1.4 0 2.7.6 3.7 1.6.9 1 1.4 2.3 1.3 3.7-.2 2.3-.4 4.6-.8 6.8-.3 2.3-.7 4.6-1.1 6.9-.5 2.3-1 4.6-1.8 7-.4 1.2-.8 2.3-1.4 3.5-.6 1.2-1.2 2.3-2 3.4-.4.6-.9 1.1-1.4 1.6-.5.5-1.1 1-1.7 1.4-.6.4-1.3.8-2.1 1.1-.7.3-1.5.5-2.2.6-.7.1-1.5.1-2.2.1h-.6l-.5-.1c-.3-.1-.7-.1-1-.2-1.3-.3-2.5-.7-3.6-1.2s-2.2-1.1-3.2-1.7c-1-.6-2-1.3-2.9-2-1.9-1.4-3.6-2.8-5.3-4.3-.6-.5-.7-1.3-.2-1.9z"/><path class="st4" d="M406.8 461.8l.4-13.4c.1-4.1-2.8-7.6-6.8-7.7-4.1-.1-7.7 3.2-7.9 7.2l-.4 13.4 14.7.5z"/><path class="st1" d="M392.2 449.3h.4V448c0-.5.1-.9.2-1.4l-.4-.1c-.1.5-.2 1-.2 1.5v1.3zm11.3 12.8l3.7.1.1-4.1-.4-.1-.1 3.8-3.3-.1v.4zm3.7-11.4l-.2 4.9h.4l.2-5-.4.1zm-12.7-7.9l.4.1c1.5-1.4 3.4-2.2 5.5-2.2 1.7.1 3.3.7 4.4 1.8l.2-.3c-1.3-1.2-2.9-1.8-4.6-1.9-1.1 0-2.2.2-3.3.6-1 .5-1.9 1.1-2.6 1.9zm-2.6 15.2l.4.1.1-3.4h-.4l-.1 3.3zm4.5 3.9l3.4.1v-.4l-3.3-.1-.1.4z"/></g><g><path class="st9" d="M383 434.5l4.8 8.4c2.5.2 4.3-.9 5.5-3.1l-4.8-8.4-5.5 3.1z"/><path class="st10" d="M383 434.5l2.2 3.8c.5-.1.9-.2 1.4-.4.1-.1.3-.1.4-.2 1.5-.9 2.5-2.4 2.8-4l-1.3-2.3-5.5 3.1z"/><path class="st9" d="M377.6 430.8l2.1 3.5.9 1.4c1.2 1.9 3.7 2.7 5.7 1.7.7-.3 1.3-.8 1.7-1.3.1-.1.2-.3.3-.4.1-.1.1-.2.2-.3.5-.9.8-1.8.7-2.9-.1-.9-.2-1.8-.3-2.8-.1-.6-.2-1.1-.3-1.7-.5-2.5-2.3-4.6-4.7-5.3-2.1-.6-4-.1-5.6 1.6-1.7 1.8-2 4.4-.7 6.5z"/><path class="st3" d="M385.7 429.1h-.8s0-3.2-.8-3.9c-1.2-1-4.5.3-5.9 1.4-.4.4-.7.7-.7 1.3.1 1.2.5 3.5 1.7 5.5 0 0-5-5.2-4.5-9.4.3-2.8.8-4.8 4.3-4.8 5.5 0 9.6 2.7 11.2 8.4l-3.5.2-1 1.3z"/><path class="st9" d="M385.9 429.5c.6 1 2 1.3 3.1.7s1.6-2 1-3c-.6-1-2-1.3-3.1-.7-1.2.6-1.6 2-1 3z"/></g></g><g><path class="st5" d="M305 499.7h70.1v58.6H305z"/><path class="st13" d="M281.2 499.7H305v58.6h-23.8z"/><path class="st13" d="M305 499.7l-9.4 17.9h-26.2l11.8-17.9zm81 19.9l-70 4.5-11-24.4 70.1 4.5z"/><path class="st5" d="M386 519.6h-70l-11-19.9h70.1zm-81-19.9l-5.3 20-30.3-2.1h26.2z"/></g><g><path class="st0" d="M38.9 241.8c3.5-18.6 10.8-36.5 20.7-52.7 5-8.1 10.7-15.8 17.1-22.9 3.2-3.6 6.5-7 10-10.3 3.5-3.3 7.1-6.4 10.8-9.4 15-11.9 32.3-20.9 50.6-26.7 9.2-2.9 18.6-4.9 28.1-6.1 2.4-.3 4.8-.5 7.1-.8l3.6-.3c1.2-.1 2.4-.1 3.6-.2 4.8-.2 9.6-.2 14.4 0 4.8.2 9.6.7 14.3 1.3 4.8.6 9.5 1.5 14.2 2.5 2.3.5 4.7 1.1 7 1.7l3.5 1c1.2.3 2.3.7 3.4 1.1.6.2 1.1.4 1.7.5l1.7.6c1.1.4 2.3.8 3.4 1.2 1.1.4 2.2.8 3.4 1.3l3.3 1.4c.6.2 1.1.5 1.7.7l1.6.7 3.3 1.5 3.2 1.6 1.6.8 1.6.8 3.2 1.7 3.1 1.7 1.6.9 1.5.9 3.1 1.8c4.1 2.4 8.1 4.9 12.1 7.5 4 2.6 7.9 5.2 11.9 7.9 7.8 5.3 15.6 10.7 23.5 15.9 3.9 2.6 7.9 5.1 11.9 7.6 4 2.4 8.1 4.8 12.2 7.1 2 1.2 4.1 2.2 6.2 3.3 1 .6 2.1 1 3.2 1.6 1.1.5 2.1 1.1 3.2 1.5 2.1 1 4.3 2 6.5 2.8 1.1.4 2.2.9 3.3 1.3l3.3 1.2 3.3 1.2c1.1.4 2.2.8 3.4 1.1l3.4 1c.6.2 1.1.3 1.7.5l1.7.4c1.1.3 2.3.6 3.4.8l3.5.7c.6.1 1.2.2 1.7.3l1.7.3 3.5.5c-9.4-.8-18.8-2.7-27.8-5.6-9-2.9-17.8-6.7-26.3-11-4.3-2.1-8.4-4.4-12.5-6.8-4.1-2.4-8.2-4.8-12.2-7.3s-8-5.1-12-7.6l-11.9-7.7c-4-2.6-7.9-5.1-11.9-7.6s-8-4.9-12.1-7.3l-3.1-1.7-1.5-.9-1.5-.8-3.1-1.7-3.1-1.6-1.6-.8-1.6-.8-3.2-1.5-3.2-1.4-1.6-.7c-.5-.2-1.1-.4-1.6-.7-17.2-7.2-35.7-11.2-54.3-11.9-18.6-.8-37.4 1.5-55.2 6.9-4.5 1.3-8.9 2.9-13.2 4.6-4.3 1.7-8.6 3.7-12.7 5.8-8.3 4.2-16.2 9.2-23.7 14.8-7.4 5.7-14.4 11.9-20.8 18.8-6.4 6.8-12.2 14.2-17.4 22-10.6 15.9-18.3 33.3-22.9 51.7z"/></g><g><path class="st0" d="M658 370.2c6.5 13.9 10.3 29.1 11.5 44.5 1.1 15.4-.4 31.1-4.6 46.1-4.2 14.9-11.2 29.1-20.3 41.6-9.1 12.5-20.3 23.5-33.2 31.9 11.9-9.7 22.3-21 30.7-33.6 8.4-12.6 14.9-26.4 19-41 4.1-14.5 5.9-29.7 5.3-44.9-.4-15.1-3.3-30.2-8.4-44.6z"/></g><g><path class="st1" d="M639.8 422.2c.4 9.5-.9 19.2-3.6 28.3-1.4 4.6-3.1 9.1-5.2 13.4-2.1 4.3-4.6 8.5-7.3 12.4-2.8 3.9-5.9 7.6-9.2 11.1-3.4 3.4-7 6.6-10.9 9.4-7.7 5.7-16.4 10.1-25.5 12.9 8.8-3.5 17.1-8.3 24.6-14.1 3.7-2.9 7.2-6.1 10.5-9.5 3.3-3.4 6.3-7 9-10.9 2.7-3.8 5.1-7.9 7.3-12.1 2.1-4.2 3.9-8.6 5.4-13.1 2.9-8.8 4.5-18.2 4.9-27.8z"/></g></svg>
2 1 \ No newline at end of file
  2 +<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 700 700" xml:space="preserve" enable-background="new 0 0 700 700"><style>.st0{fill:#e5e6eb}.st1{fill:#fff}.st2{fill:#84a9ff}.st3{fill:#050f64}.st4{fill:#155bcd}.st5{fill:#ffbd00}.st6{fill:#ff654f}.st9{fill:#f5bdc8}.st10{fill:#ea8096}.st11{opacity:0}.st13{fill:#dca000}</style><path class="st0" d="M101.8 176.7c21.4-19.8 48.8-33.2 77.8-37.2 92.4-12.6 158.2 78.1 240.3 104.9 40.8 13.3 85.4 12.6 125.4 28 68.5 26.2 131.4 117.8 101 191.6-23.7 57.5-79.6 71.8-134.6 54-33.5-10.9-64.1-29.4-97.6-40.5-38.1-12.6-78.7-15.1-118.9-16.7s-80.6-2.4-119.6-12-77-28.9-101.2-60.9C40.8 343.4 48 260.8 73.1 213.7c7.4-13.9 17.2-26.3 28.7-37z"/><path class="st1" d="M82 257.1c5.7-23.2 18.9-44.7 37.3-60.4l1.7-1.5 1.8-1.4 1.8-1.4 1.8-1.3c.6-.4 1.2-.9 1.8-1.3l1.9-1.3c.6-.4 1.2-.9 1.9-1.3l1.9-1.2c5.1-3.2 10.5-6 16.1-8.4 11.1-4.7 23-7.8 35.1-9 12.1-1.1 24.3-.5 36.1 1.5 5.9 1 11.8 2.4 17.6 4 .7.2 1.5.4 2.2.6l2.2.7 2.2.7 2.1.7 2.1.7 2.1.8 2.1.8 2.1.8c5.6 2.2 11.1 4.6 16.5 7.2 5.4 2.6 10.7 5.4 15.9 8.3 10.4 5.9 20.6 12.2 30.5 18.8-10.4-5.9-20.7-11.8-31.4-17.2-5.3-2.7-10.7-5.3-16.1-7.7-5.4-2.4-10.9-4.7-16.5-6.7l-2.1-.8-2.1-.7-2.1-.7-2.1-.7-2.1-.7-2.1-.6-2.1-.6-2.1-.6c-5.7-1.5-11.5-2.8-17.3-3.7-11.6-1.9-23.5-2.5-35.2-1.3-11.7 1.1-23.2 4-34.1 8.5-5.4 2.2-10.7 4.9-15.8 7.9l-1.9 1.1c-.6.4-1.2.8-1.9 1.2l-1.8 1.2c-.6.4-1.2.8-1.8 1.3l-1.8 1.3-1.8 1.3-1.8 1.3-1.7 1.4c-18.2 15.2-32 35.7-39.1 58.4z"/><path class="st2" d="M183.1 543.2c-.3 1.2-.5 1.8-.5 1.8-.7-.5-1.4-.9-2.1-1.4-120.8-82.8-72.6-232.2-72.6-232.2 115.7 67.3 80.1 213.8 75.2 231.8z"/><path class="st3" d="M183.1 543.2c-.3 1.2-.5 1.8-.5 1.8-.7-.5-1.4-.9-2.1-1.4-10.1-29.9-20.1-59.8-29.8-89.8-5-15.5-10-31.1-14.8-46.7l-3.6-11.7-3.5-11.7c-1.2-3.9-2.2-7.8-3.4-11.8-.6-2-1.1-3.9-1.6-5.9l-1.6-5.9 1.6 5.9c.5 2 1.1 3.9 1.7 5.9 1.2 3.9 2.3 7.8 3.5 11.7l3.6 11.7 3.7 11.7c5 15.5 10.2 31 15.4 46.5 10.4 30 20.8 59.9 31.4 89.7zM137.9 384.9c-.1 0-.2 0-.4-.1-.3-.1-.4-.5-.2-.8 3.7-7.2 6-15.3 6.7-23.4 0-.3.3-.5.6-.5s.5.3.5.6c-.7 8.2-3.1 16.5-6.9 23.8 0 .3-.2.4-.3.4zM154 430.5h-.3c-.3-.1-.4-.5-.3-.7 3.4-8.3 7.6-16.4 12.3-24.1.2-.3.5-.3.8-.2.3.2.3.5.2.8-4.7 7.6-8.8 15.6-12.2 23.9-.1.1-.3.3-.5.3zM137.4 440.3h-.3c-9.5-3.9-18.3-9.3-26.1-16.1-.2-.2-.3-.6-.1-.8.2-.2.6-.3.8-.1 7.7 6.7 16.3 12 25.7 15.9.3.1.4.5.3.7 0 .2-.1.3-.3.4zM125.9 390.5c-.2.1-.4.1-.6-.1l-19.2-15c-.2-.2-.3-.6-.1-.8.2-.2.6-.3.8-.1l19.2 15c.2.2.3.6.1.8 0 .1-.1.2-.2.2zM170.7 478.4h-.3c-.3-.1-.4-.5-.3-.7l10.1-23.5c.1-.3.5-.4.7-.3.3.1.4.5.3.7l-10.1 23.5c0 .1-.2.3-.4.3zM151.6 481.6h-.3l-24.3-10c-.3-.1-.4-.5-.3-.7.1-.3.5-.4.7-.3l24.3 10c.3.1.4.5.3.7-.1.1-.3.3-.4.3z"/><path class="st4" d="M182.3 543.2c.3 1.2.4 1.9.4 1.9-.8-.1-1.7-.2-2.5-.3C35 525 11 369.8 11 369.8c133.5 8.2 167.5 155.1 171.3 173.4z"/><path class="st1" d="M182.3 543.2c.3 1.2.4 1.9.4 1.9-.8-.1-1.7-.2-2.5-.3-22.5-22.1-44.8-44.4-66.9-66.8-11.5-11.6-22.9-23.3-34.2-35.1l-8.5-8.8-8.4-8.9c-2.8-3-5.5-6-8.3-9-1.4-1.5-2.7-3-4.1-4.6l-4-4.6 4.1 4.5c1.4 1.5 2.7 3 4.1 4.5 2.8 3 5.6 6 8.4 8.9l8.5 8.8 8.6 8.7c11.5 11.6 23 23.1 34.7 34.6 22.5 22.2 45.2 44.3 68.1 66.2zM70.7 422.1c-.1.1-.2.1-.3.1-.3 0-.6-.3-.6-.6.1-8.1-1.5-16.4-4.5-23.9-.1-.3 0-.6.3-.7.3-.1.6 0 .7.3 3 7.7 4.6 16.1 4.6 24.4 0 .1-.1.3-.2.4zM105.6 455.5c-.1.1-.2.1-.3.1-.3 0-.6-.2-.6-.5-.7-9-.6-18.1.2-27 0-.3.3-.5.6-.5s.5.3.5.6c-.8 8.9-.9 17.9-.2 26.8.1.2 0 .4-.2.5zM95.2 471.7c-.1.1-.2.1-.3.1-10.3.8-20.5-.1-30.5-2.7-.3-.1-.5-.4-.4-.7.1-.3.4-.5.7-.4 9.9 2.5 20 3.4 30.1 2.6.3 0 .6.2.6.5 0 .4-.1.5-.2.6zM62.6 432.4c-.1.1-.3.2-.5.2l-23.9-4.8c-.3-.1-.5-.4-.4-.7.1-.3.4-.5.7-.4l23.9 4.8c.3.1.5.4.4.7-.1.1-.1.2-.2.2zM142.1 490.8c-.1.1-.2.1-.3.1-.3 0-.6-.2-.6-.5l-1.5-25.5c0-.3.2-.6.5-.6s.6.2.6.5l1.5 25.5c0 .2-.1.4-.2.5zM126.4 502.3c-.1.1-.2.1-.3.1l-26.2 2c-.3 0-.6-.2-.6-.5s.2-.6.5-.6l26.2-2c.3 0 .6.2.6.5 0 .2-.1.4-.2.5z"/><g><path class="st5" d="M259.6 503.3c1.2.5 1.8.7 1.8.7-.5.7-1.1 1.3-1.7 1.9C164 616.8 20.9 552.3 20.9 552.3c79.7-107.4 221.4-55.9 238.7-49z"/><path class="st1" d="M259.6 503.3c1.2.5 1.8.7 1.8.7-.5.7-1.1 1.3-1.7 1.9-30.8 6.8-61.6 13.3-92.5 19.7-16 3.3-32 6.5-48 9.6l-12 2.3-12 2.2c-4 .7-8 1.4-12.1 2-2 .4-4 .6-6 .9l-6.1.9 6-1c2-.3 4-.6 6-1 4-.7 8-1.4 12-2.2l12-2.3 12-2.4c16-3.3 31.9-6.7 47.9-10.2 31-6.9 61.9-13.9 92.7-21.1zM97.3 530.8c0 .1 0 .2-.1.3-.2.3-.5.3-.8.2-6.8-4.5-14.6-7.7-22.5-9.3-.3-.1-.5-.4-.4-.7.1-.3.4-.5.7-.4 8.1 1.6 16 4.9 22.9 9.5.1 0 .1.2.2.4zM144.3 519.7c0 .1 0 .2-.1.3-.2.3-.5.4-.8.2-7.9-4.3-15.5-9.4-22.5-14.9-.2-.2-.3-.6-.1-.8.2-.2.6-.3.8-.1 7 5.5 14.6 10.5 22.4 14.8.2.1.3.3.3.5zM152.2 537.3c0 .1 0 .2-.1.3-4.9 9-11.3 17.2-18.8 24.1-.2.2-.6.2-.8 0-.2-.2-.2-.6 0-.8 7.5-6.9 13.7-14.9 18.6-23.8.2-.3.5-.4.8-.2.2.1.3.3.3.4zM101.5 543.2c.1.2 0 .4-.1.6l-17 17.5c-.2.2-.6.2-.8 0-.2-.2-.2-.6 0-.8l17-17.5c.2-.2.6-.2.8 0 .1 0 .1.1.1.2zM193.8 508.4c0 .1 0 .2-.1.3-.2.3-.5.4-.8.2l-22.2-12.7c-.3-.2-.4-.5-.2-.8.2-.3.5-.4.8-.2l22.2 12.7c.2.2.3.3.3.5zM194.9 527.8c0 .1 0 .2-.1.3l-12.7 23.1c-.2.3-.5.4-.8.2-.3-.2-.4-.5-.2-.8l12.7-23.1c.2-.3.5-.4.8-.2.1.2.3.3.3.5z"/></g><g><path class="st2" d="M608.8 430.3c-1 .2-2.4-.3-4.4-1.4-3.2-1.9-8.3-4.9-10.2-6.1 3 6.3 5.8 12.7 8.3 19.2 4.5-1 7.9-.1 10.1 1.4 2.2 1.5 3.3 3.6 3.3 4.6-.1 2-1.8 2.4-4.9.3-1.6-1.1-3.7-2.6-5.5-3.9-1.3-.9-2.3-1.7-2.8-2 .8 2 1.5 4 2.2 6h.2c1.3.2 3.1 3.1 3.9 4.1 1.7 2.3 3 4.9 3.2 7.8.1 1.2-.1 2.6-1.2 3.2-1.2.6-2.6-.3-3.5-1.3-2.5-2.8-4-6.5-4.1-10.2 0-1-.1-3.3 1.2-3.5-.8-2-1.5-3.9-2.3-5.9-.1.6-.4 1.9-.7 3.4-.5 2.1-1.1 4.7-1.7 6.4-1.1 3.5-2.7 4.1-4 2.8-.7-.7-1.1-2.7-.3-5.2.8-2.4 2.6-5.3 6.6-7.7-2.7-6.4-5.6-12.7-8.8-18.9-.1.8-.3 2.2-.5 3.7-.3 2.6-.9 5.7-1.4 7.8-.5 2.1-1.2 3.4-2 4-.8.6-1.7.4-2.5-.3-.9-.7-1.6-3.1-.9-6.2.6-2.9 2.6-6.5 7-9.6-3.5-6.6-7.2-13.1-11.2-19.4v.3c0 1 0 2.5-.1 4.1-.1 1.6-.2 3.4-.3 5-.1 1.7-.4 3.3-.5 4.6-.8 5.3-3 6.6-5.2 5-1.2-.8-2.1-3.7-1.7-7.4.2-1.9.9-4 2.2-6.2 1.1-2 2.8-4.2 5.2-6.3-3.8-5.8-7.8-11.5-12-17 .1 1.2.2 2.8.2 4.6.1 1.8.1 3.9.1 5.8v2.8c0 .9-.1 1.8-.1 2.5-.4 6.1-2.8 7.8-5.5 6.2-.7-.4-1.4-1.4-1.9-2.8s-.8-3.3-.7-5.4c.1-2.2.7-4.6 1.9-7.3 1.1-2.4 2.8-5 5.2-7.6-4.2-5.4-8.5-10.5-13.1-15.5l2-1.8c4.5 5.2 8.8 10.5 12.9 16 3.1-1.6 6.1-2.5 8.8-2.7 3-.3 5.6.1 7.8.9s4 1.9 5.3 3.1c1.2 1.2 2 2.4 2.2 3.3.7 3.5-2 4.7-8 2.5-3.1-1.2-7.3-2.8-10.7-4.2-1.7-.6-3.3-1.2-4.4-1.6 4.1 5.6 8 11.5 11.6 17.4 2.9-1.2 5.6-1.7 8-1.8 2.6 0 4.8.5 6.7 1.4 3.8 1.7 5.8 4.5 6 6 .3 3.1-2 4-7.1 1.6-2.6-1.3-6.1-3-9-4.4-1.4-.7-2.8-1.3-3.7-1.8-.1 0-.1-.1-.2-.1 3.9 6.4 7.5 13 10.8 19.8 5.1-1.6 9.2-.9 12 .7 2.8 1.6 4.3 4 4.4 5.2-.7 1.1-1.2 1.8-2.2 2z"/></g><g><path class="st2" d="M552.1 373.7c-.5 1.1-.8 1.7-.8 1.7l-1.8-1.8c-105.3-101.8-32.8-241.1-32.8-241.1 102.7 85.7 43.2 224.2 35.4 241.2z"/><path class="st1" d="M552.1 373.7c-.5 1.1-.8 1.7-.8 1.7l-1.8-1.8c-5-31.1-9.8-62.3-14.4-93.5-2.4-16.1-4.7-32.3-6.8-48.5l-1.6-12.1-1.5-12.2c-.5-4.1-.9-8.1-1.4-12.2-.2-2-.4-4.1-.6-6.1l-.5-6.1.6 6.1c.2 2 .4 4.1.7 6.1.5 4 1 8.1 1.5 12.1l1.6 12.1 1.7 12.1c2.4 16.1 4.9 32.3 7.5 48.4 5.1 31.4 10.3 62.7 15.8 93.9zM533.9 210c-.1 0-.2 0-.3-.1-.3-.2-.3-.5-.1-.8 4.9-6.5 8.5-14.1 10.6-21.9.1-.3.4-.5.7-.4.3.1.5.4.4.7-2.1 8-5.8 15.7-10.7 22.3-.3.1-.5.2-.6.2zM542.2 257.6c-.1 0-.2 0-.3-.1-.3-.2-.3-.5-.2-.8 4.8-7.6 10.2-14.9 16.2-21.7.2-.2.6-.3.8-.1.2.2.3.6.1.8-5.9 6.7-11.3 13.9-16.1 21.5-.1.3-.3.4-.5.4zM524.2 264.5c-.1 0-.2 0-.3-.1-8.7-5.4-16.5-12.2-23-20.2-.2-.2-.2-.6.1-.8.2-.2.6-.2.8.1 6.4 7.9 14.1 14.6 22.7 19.9.3.2.3.5.2.8-.2.2-.4.3-.5.3zM521.2 213.5c-.2 0-.4 0-.5-.2l-16.5-18c-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0l16.5 18c.2.2.2.6 0 .8-.1.2-.2.2-.3.2zM550.7 307.7c-.1 0-.2 0-.3-.1-.3-.2-.3-.5-.2-.8l13.9-21.5c.2-.3.5-.3.8-.2.3.2.3.5.2.8l-13.9 21.5c-.1.2-.3.3-.5.3zM531.2 307.6c-.1 0-.2 0-.3-.1l-22.3-13.9c-.3-.2-.3-.5-.2-.8.2-.3.5-.3.8-.2l22.3 13.9c.3.2.3.5.2.8-.1.2-.3.3-.5.3z"/><g><path class="st4" d="M526.6 382.8c-1 .7-1.6 1-1.6 1-.2-.8-.4-1.6-.6-2.5-35-142.2 100.5-221.5 100.5-221.5 41.5 127.2-82.7 212.8-98.3 223z"/><path class="st3" d="M526.6 382.8c-1 .7-1.6 1-1.6 1-.2-.8-.4-1.6-.6-2.5 12.3-29 24.8-58 37.5-86.8 6.6-14.9 13.3-29.8 20-44.7l5.1-11.1 5.2-11.1c1.7-3.7 3.6-7.3 5.3-11 .9-1.8 1.8-3.6 2.7-5.5l2.8-5.4-2.7 5.5c-.9 1.8-1.8 3.6-2.7 5.5-1.7 3.7-3.5 7.4-5.2 11.1l-5.1 11.1-5 11.2c-6.6 14.9-13 29.9-19.4 44.9-12.2 29.2-24.3 58.5-36.3 87.8zM598.2 234.5c-.1-.1-.2-.2-.2-.3-.1-.3 0-.6.3-.7 7.6-2.9 14.7-7.4 20.6-13 .2-.2.6-.2.8 0 .2.2.2.6 0 .8-6 5.7-13.3 10.2-21 13.2-.1.1-.3.1-.5 0zM580 279.3c-.1-.1-.2-.1-.2-.2-.1-.3 0-.6.3-.8 8.1-3.9 16.6-7.2 25.2-9.7.3-.1.6.1.7.4.1.3-.1.6-.4.7-8.6 2.5-17 5.8-25 9.7-.3 0-.5 0-.6-.1zM561 275.5c-.1-.1-.2-.1-.2-.3-4.5-9.3-7.4-19.1-8.7-29.3 0-.3.2-.6.5-.6s.6.2.6.5c1.3 10.1 4.2 19.8 8.6 29 .1.3 0 .6-.3.8-.1 0-.3 0-.5-.1zM585.6 230.8c-.2-.1-.3-.2-.4-.4l-4.4-24c-.1-.3.1-.6.5-.7.3-.1.6.1.7.5l4.4 24c.1.3-.1.6-.5.7-.1-.1-.2-.1-.3-.1zM560.5 326.2c-.1-.1-.2-.1-.2-.2-.1-.3 0-.6.3-.8l23.2-10.8c.3-.1.6 0 .8.3.1.3 0 .6-.3.8l-23.2 10.8c-.2 0-.4 0-.6-.1zM544.1 315.8c-.1-.1-.2-.1-.2-.2l-11.5-23.7c-.1-.3 0-.6.3-.8.3-.1.6 0 .8.3l11.5 23.7c.1.3 0 .6-.3.8-.2 0-.5 0-.6-.1z"/></g><g><path class="st5" d="M482.2 415.1c-1.2 0-1.9-.1-1.9-.1l.9-2.4C532.4 275.4 689 286.2 689 286.2c-37.4 128.5-188.2 129.3-206.8 128.9z"/><path class="st1" d="M482.2 415.1c-1.2 0-1.9-.1-1.9-.1l.9-2.4c26.5-17 53.2-33.9 79.9-50.6 13.9-8.6 27.8-17.2 41.7-25.6l10.5-6.3 10.5-6.2c3.5-2.1 7.1-4.1 10.6-6.1 1.8-1 3.6-2 5.3-3l5.4-2.9-5.3 3c-1.8 1-3.6 2-5.3 3-3.5 2.1-7 4.1-10.5 6.2l-10.5 6.4-10.4 6.4c-13.8 8.6-27.6 17.4-41.4 26.2-26.6 17.2-53.1 34.5-79.5 52zM624.9 333c0-.1-.1-.2 0-.4.1-.3.4-.5.7-.4 7.9 1.8 16.3 2.2 24.3.9.3 0 .6.2.7.5 0 .3-.2.6-.5.7-8.2 1.3-16.7 1-24.8-.9l-.4-.4zM584.6 359.7c0-.1-.1-.2 0-.3 0-.3.3-.5.6-.5 8.9 1.3 17.8 3.4 26.3 6.2.3.1.5.4.4.7-.1.3-.4.5-.7.4-8.5-2.7-17.3-4.8-26.1-6.1-.3-.1-.4-.3-.5-.4zM571.1 345.9c-.1-.1-.1-.2-.1-.3 1.5-10.2 4.6-20 9.3-29.2.1-.3.5-.4.8-.2.3.1.4.5.2.8-4.6 9.1-7.7 18.7-9.2 28.8 0 .3-.3.5-.6.5-.2-.2-.4-.3-.4-.4zM616.6 322.8c-.1-.2-.1-.4-.1-.6l9.9-22.3c.1-.3.5-.4.8-.3.3.1.4.5.3.8l-9.9 22.3c-.1.3-.5.4-.8.3l-.2-.2zM542.1 387.4c0-.1-.1-.2 0-.3.1-.3.3-.5.7-.5l25.2 4.2c.3.1.5.3.5.7-.1.3-.3.5-.7.5l-25.2-4.2c-.3-.1-.4-.2-.5-.4zM534.4 369.6c0-.1-.1-.2 0-.3l3.9-26c0-.3.3-.5.6-.5s.5.3.5.6l-3.9 26c0 .3-.3.5-.6.5s-.4-.2-.5-.3z"/></g></g><g><path class="st2" d="M445 229c-.1 1 .4 2.4 1.6 4.3 2.1 3.1 5.4 8 6.6 9.9-6.4-2.7-13-5.1-19.6-7.3.8-4.5-.3-7.9-1.9-10-1.6-2.2-3.7-3.1-4.8-3-2 .2-2.3 1.9 0 4.9 1.1 1.5 2.8 3.5 4.2 5.3 1 1.2 1.8 2.2 2.2 2.7-2-.7-4.1-1.3-6.1-1.9v-.2c-.3-1.3-3.3-3-4.3-3.7-2.4-1.6-5.1-2.7-7.9-2.8-1.2 0-2.6.3-3.1 1.4-.5 1.2.5 2.6 1.5 3.4 2.9 2.4 6.7 3.6 10.4 3.5 1 0 3.3 0 3.5-1.4 2 .7 4 1.3 6 2-.6.2-1.9.5-3.4.9-2.1.6-4.6 1.4-6.3 2-3.4 1.3-4 2.9-2.6 4.2.7.6 2.8 1 5.2 0 2.4-.9 5.2-2.9 7.3-7 6.6 2.3 13 4.9 19.3 7.7-.8.1-2.2.4-3.7.7-2.5.5-5.6 1.2-7.7 1.8-2.1.6-3.3 1.4-3.9 2.2-.5.8-.4 1.7.4 2.5s3.2 1.4 6.2.5c2.9-.8 6.3-2.9 9.3-7.5 6.8 3.1 13.5 6.5 20 10.2h-.3c-1 .1-2.5.2-4.1.4-1.6.2-3.3.4-5 .6-1.7.2-3.3.5-4.6.8-5.2 1.1-6.4 3.3-4.7 5.5.9 1.1 3.8 1.9 7.5 1.3 1.9-.3 4-1.1 6.1-2.5 2-1.3 4-3 6-5.5 6 3.4 11.9 7.1 17.7 11.1h-4.6c-1.8 0-3.9.1-5.8.2-1 .1-1.9.1-2.8.2-.9.1-1.7.2-2.5.3-6.1.8-7.6 3.2-5.9 5.8.4.7 1.5 1.3 2.9 1.7 1.5.4 3.3.7 5.5.4 2.2-.3 4.6-.9 7.2-2.3 2.3-1.2 4.8-3 7.3-5.6 5.6 3.9 11 8 16.2 12.3l1.7-2.1c-5.4-4.2-11-8.2-16.7-12 1.4-3.2 2.1-6.2 2.2-8.9.1-3-.4-5.6-1.3-7.7-.9-2.1-2.1-3.9-3.4-5.1-1.3-1.2-2.5-1.9-3.4-2-3.5-.5-4.6 2.2-2 8.1 1.4 3 3.2 7.1 4.8 10.5.7 1.7 1.4 3.2 1.9 4.3-5.9-3.8-11.9-7.4-18-10.7 1-3 1.4-5.7 1.3-8.1-.1-2.6-.8-4.8-1.7-6.6-1.9-3.7-4.8-5.5-6.3-5.6-3.1-.2-3.9 2.3-1.2 7.2 1.4 2.5 3.3 5.9 4.9 8.8.8 1.4 1.5 2.7 2 3.6 0 .1.1.1.1.2-6.6-3.5-13.4-6.8-20.3-9.7 1.3-5.2.4-9.2-1.3-11.9-1.8-2.8-4.2-4.1-5.4-4.1-1.6.3-2.3.8-2.4 1.8z"/></g><g><path class="st2" d="M100.2 255.8c1-.1 2.4.5 4.3 1.8 3 2.2 7.8 5.7 9.6 7-2.4-6.5-4.6-13.2-6.4-19.9-4.6.6-7.9-.6-9.9-2.3-2.1-1.7-3-3.9-2.8-4.9.3-2 2-2.2 4.9.2 1.5 1.2 3.4 3 5.1 4.4 1.2 1 2.2 1.9 2.6 2.3-.6-2.1-1.1-4.1-1.6-6.2h-.2c-1.3-.3-2.8-3.4-3.5-4.5-1.5-2.4-2.5-5.2-2.5-8 0-1.2.4-2.6 1.5-3 1.3-.5 2.6.6 3.4 1.6 2.3 3 3.3 6.8 3.1 10.5-.1 1-.2 3.3-1.5 3.4.6 2 1.2 4.1 1.8 6.1.2-.6.6-1.9 1-3.4.7-2.1 1.6-4.5 2.3-6.2 1.4-3.4 3.1-3.9 4.3-2.4.6.7.8 2.8-.2 5.2-1 2.4-3.1 5-7.3 7 2 6.6 4.4 13.2 6.9 19.6.2-.8.5-2.2.8-3.7.6-2.5 1.4-5.6 2.1-7.6.7-2.1 1.5-3.3 2.4-3.8.9-.5 1.7-.3 2.5.5s1.2 3.3.3 6.2c-.9 2.8-3.2 6.2-7.8 8.9 2.8 6.9 5.9 13.8 9.3 20.4v-.3c.1-1 .3-2.4.5-4s.5-3.3.8-5c.3-1.7.7-3.3 1-4.6 1.3-5.2 3.6-6.3 5.7-4.5 1.1.9 1.8 3.9 1 7.5-.4 1.8-1.3 3.9-2.8 6-1.3 1.9-3.2 3.9-5.8 5.8 3.2 6.2 6.6 12.2 10.3 18.1 0-1.2.1-2.8.2-4.6.1-1.8.3-3.9.5-5.8.1-1 .2-1.9.3-2.8.1-.9.3-1.7.4-2.5 1-6 3.5-7.5 6.1-5.6.6.5 1.2 1.5 1.6 3 .3 1.5.5 3.3.2 5.5s-1.1 4.5-2.6 7.1c-1.3 2.3-3.2 4.7-5.9 7 3.6 5.7 7.5 11.3 11.6 16.7l-2.2 1.6c-4-5.6-7.8-11.3-11.3-17.2-3.3 1.3-6.3 1.9-9 1.9-3 0-5.6-.6-7.7-1.6-2.1-1-3.8-2.3-4.9-3.6-1.1-1.3-1.8-2.6-1.8-3.4-.3-3.5 2.4-4.5 8.2-1.7 2.9 1.5 7 3.5 10.3 5.2 1.7.8 3.1 1.5 4.2 2-3.6-6-6.9-12.2-9.9-18.5-3 .9-5.7 1.2-8.1 1-2.6-.2-4.7-1-6.5-2-3.6-2-5.3-5-5.4-6.6 0-3.1 2.4-3.8 7.2-.9 2.4 1.5 5.8 3.5 8.6 5.2 1.4.9 2.6 1.6 3.5 2.1.1 0 .1.1.2.1-3.3-6.8-6.2-13.7-8.8-20.7-5.3 1.1-9.2 0-11.9-1.8-2.7-1.9-3.9-4.4-3.8-5.6-.1-.9.5-1.6 1.5-1.7z"/></g><g><path class="st4" d="M106.8 558.3c0 13.1 8.1 23.7 18.2 23.7h455c10.1 0 18.2-10.6 18.2-23.7H106.8z"/><path class="st2" d="M155.4 290.9H549.6V538.5H155.4z"/><path class="st3" d="M556.6 264.8h-408c-7.6 0-13.8 6.2-13.8 13.8V540c0 7.6 6.2 13.8 13.8 13.8h408c7.6 0 13.8-6.2 13.8-13.8V278.6c0-7.7-6.2-13.8-13.8-13.8z"/><path class="st1" d="M155.4 285.5H549.6V533.1H155.4z"/><path class="st0" d="M295.7 558.3L196.6 558.3 196.9 553.9 197.3 548.4 294.9 548.4zM508.6 558.3L409.4 558.3 409.8 553.9 410.2 548.4 507.8 548.4z"/></g><g><path class="st0" d="M188 451.7H222.4V455.59999999999997H188zM235 451.7H269.4V455.59999999999997H235zM328.6 451.7H353.5V455.59999999999997H328.6zM374.8 451.7H413.5V455.59999999999997H374.8zM342.3 465.1H359.90000000000003V469H342.3zM342.3 475.3H359.90000000000003V479.2H342.3zM342.3 485.6H359.90000000000003V489.5H342.3zM342.3 495.8H359.90000000000003V499.7H342.3z"/><path class="st6" d="M209.7 465.1H222.39999999999998V469H209.7z"/><path class="st2" d="M209.7 475.3H222.39999999999998V479.2H209.7z"/><path class="st4" d="M209.7 485.6H222.39999999999998V489.5H209.7z"/><path class="st5" d="M209.7 495.8H222.39999999999998V499.7H209.7z"/><path class="st0" d="M399.7 465.1H417.3V469H399.7zM399.7 475.3H417.3V479.2H399.7zM399.7 485.6H417.3V489.5H399.7zM399.7 495.8H417.3V499.7H399.7zM234.6 465.1H252.2V469H234.6zM234.6 475.3H260.7V479.2H234.6zM234.6 485.6H267.5V489.5H234.6zM234.6 495.8H249.7V499.7H234.6zM180.4 314.6H306V321.5H180.4z"/><path class="st4" d="M180.4 340.4H198.20000000000002V347.9H180.4zM216.1 340.4H233.9V347.9H216.1zM251.8 340.4H269.6V347.9H251.8zM287.5 340.4H305.3V347.9H287.5zM323.3 340.4H341.1V347.9H323.3zM359 340.4H376.8V347.9H359zM394.7 340.4H412.5V347.9H394.7z"/><g><path class="st0" d="M180.4 355.7H430.20000000000005V358H180.4z"/></g><g><path class="st0" d="M427.7 446.2H181v-90.4h-2v92.5h250.7v-92.5h-2v90.4z"/><path class="st0" d="M405.1 355.7H407.1V447.2H405.1zM382.4 355.7H384.5V447.2H382.4zM359.8 355.7H361.8V447.2H359.8zM337.2 355.7H339.2V447.2H337.2zM314.6 355.7H316.6V447.2H314.6zM292 355.7H294V447.2H292zM269.4 355.7H271.4V447.2H269.4zM246.8 355.7H248.8V447.2H246.8zM224.2 355.7H226.2V447.2H224.2zM201.6 355.7H203.7V447.2H201.6z"/><path class="st0" d="M179 355.7H429.7V357.7H179zM180 378.4H428.7V380.4H180zM180 401H428.7V403H180zM180 423.6H428.7V425.6H180z"/><g><path class="st2" d="M203.6 396.2H219.79999999999998V446.3H203.6zM248.8 385.8H265V446.3H248.8zM294.1 410.5H310.3V446.3H294.1zM339.3 373.7H355.5V446.29999999999995H339.3zM384.5 393.3H400.7V446.3H384.5z"/></g><g><path class="st6" d="M201.6 396.2H217.79999999999998V446.3H201.6zM246.8 385.8H263V446.3H246.8zM292 410.5H308.2V446.3H292zM337.2 373.7H353.4V446.29999999999995H337.2zM382.5 393.3H398.7V446.3H382.5z"/></g></g><g><path class="st0" d="M179 471.1H429.7V473.20000000000005H179z"/></g><g><path class="st0" d="M179 481.3H429.7V483.40000000000003H179z"/></g><g><path class="st0" d="M179 491.6H429.7V493.70000000000005H179z"/></g><g><path class="st0" d="M179 501.8H429.7V503.90000000000003H179z"/></g><g><path class="st6" d="M473.5 352.4c.9-5.5 5.4-9.8 10.9-10.6l-.2-5.1-.5-12.6c-14.7 1.2-26.4 12.7-27.9 27.2l12.6.8 5.1.3z"/><path class="st5" d="M491.1 366.7c-1.5.6-3.1.9-4.8.9-2.9 0-5.6-.9-7.7-2.5l-3.5 3.8-8.5 9.2c5.3 4.5 12.2 7.2 19.7 7.2 4.7 0 9.1-1 13-2.9l-5.9-11.1-2.3-4.6zM516.3 361.3l-12.4-2.1c-1.2 4.6-4 8.4-7.9 10.9l5.9 11.1 2.7 5.2c8.8-5.1 15.3-13.8 17.5-24.1l-5.8-1z"/><path class="st6" d="M468.2 354.9l-12.6-.8-5.9-.4v.9c0 10.1 4.1 19.3 10.7 25.9l4-4.3 8.5-9.2c-2.8-3.2-4.6-7.4-4.7-12.1z"/><path class="st4" d="M495.9 339.3l-2.4 4.6c3.5 2.3 5.7 6.3 5.7 10.8v.8l5.1.9 12.4 2.1c.2-1.3.2-2.5.2-3.8 0-11.3-6.1-21.2-15.2-26.5l-5.8 11.1zM487 336.6c2.3.1 4.4.6 6.4 1.4l5.8-11.2 2.7-5.2c-4.7-2.3-10-3.5-15.7-3.5l.2 5.9.6 12.6z"/></g><g><path class="st0" d="M446.7 407.2H525.1V411.09999999999997H446.7zM446.7 441.5H450.59999999999997V445.4H446.7zM454.4 441.5H525.1V445.4H454.4z"/><path class="st4" d="M446.7 456.1H450.59999999999997V460H446.7z"/><path class="st0" d="M454.4 456.1H525.1V460H454.4z"/><path d="M446.7 470.8H450.59999999999997V474.7H446.7z" style="fill:#6292ff"/><path class="st0" d="M454.4 470.8H525.1V474.7H454.4z"/><path d="M446.7 485.4H450.59999999999997V489.29999999999995H446.7z" style="fill:#da5544"/><path class="st0" d="M454.4 485.4H525.1V489.29999999999995H454.4z"/><path class="st5" d="M446.7 500H450.59999999999997V503.9H446.7z"/><path class="st0" d="M454.4 500H525.1V503.9H454.4zM446.7 417.7H525.1V430.7H446.7z"/></g></g><g><path class="st3" d="M522.8 556.7c.3-.3.7-.5 1.1-.6.4-.1.8-.1 1.3-.1 1-.1 2-.3 2.9-.8.5-.3.9-.6 1.4-.8l2.9.1c.4.4.7 1 .8 1.6.1.5.1 1.1.1 1.6v.6h-10.8v-.6c0-.4 0-.8.3-1z"/><path class="st9" d="M532.7 551.2L532.4 554.5 529.4 554.4 529.2 551.4z"/><path class="st3" d="M494 555.5c.3-.3.7-.4 1.1-.5.4 0 .8 0 1.3.1 1 .1 2.1-.1 3-.5.5-.2 1-.5 1.5-.6l2.9.4c.4.5.5 1.1.6 1.7.1.5 0 1.1-.1 1.6l-.1.6-10.7-1.2.1-.6c0-.4.1-.8.4-1z"/><path class="st4" d="M535.3 503.7c.6-11.4.5-27.5-2.6-36.6 0-.2-23.9 2-23.9 2l-5.6 22.9c-2 8.1-2.9 16.3-2.8 24.6l.3 34.4 4 .3 7.5-45.5c2.8-5.4 5.8-11.6 8.1-17.7l8.7 63.4 4-.2c0-.1 2.3-47.6 2.3-47.6z"/><path class="st9" d="M504.5 551.2L503.8 554.4 500.9 554 501 551z"/><path class="st10" d="M481.6 394.3c.7-.3 1.6 0 1.9.7 2 4 4.2 7.8 6.6 11.5 2.4 3.7 5 7.2 7.8 10.5s5.8 6.4 9.1 9.1c1.6 1.4 3.3 2.7 5 3.9.4.3.9.6 1.3.9l1.3.9c.9.6 1.8 1.1 2.7 1.7.3.2.5.4.8.6.2.2.4.5.6.7.3.5.6 1.1.7 1.8.3 1.3.1 2.7-.7 4-.8 1.3-2 2.1-3.3 2.3-.7.1-1.4.1-2.1 0-.3-.1-.7-.2-1-.3l-.9-.6c-.9-.7-1.8-1.5-2.7-2.3l-1.3-1.2c-.4-.4-.9-.8-1.3-1.2-1.7-1.6-3.4-3.4-4.9-5.1-3.1-3.5-6-7.3-8.5-11.2-2.5-3.9-4.7-8-6.6-12.2-1.9-4.2-3.6-8.4-5.1-12.7-.5-.7-.1-1.5.6-1.8z"/><path class="st2" d="M500.2 434.6l9.4 7.3c2.8 2.2 6.8 1.9 9-.9s1.8-7.2-1.1-9.4l-9.4-7.3-7.9 10.3z"/><path class="st2" d="M521.8 428.5c-9-.1-16 7.9-14.8 16.8l1.8 23.7c10 3.6 17.5 1.6 23.9-2l1.1-25.2c.7-7.1-4.9-13.2-12-13.3z"/><path class="st1" d="M531.8 433.5l-.2.2c1 1.4 1.7 3 2 4.7h.3c-.3-1.7-1-3.4-2.1-4.9zm-9.9 37.3v.3c2.2-.2 4.4-.8 6.6-1.7l-.1-.2c-2.1.8-4.2 1.3-6.5 1.6zm5.1-41.3c-1.6-.8-3.4-1.2-5.2-1.2h-.2c-4.3 0-8.5 1.9-11.3 5.2-1.7 1.9-2.8 4.2-3.3 6.6l.3.1c1.5-6.6 7.4-11.6 14.5-11.5 1.9 0 3.6.5 5.2 1.2v-.4zM508.6 466c-.1 0-.2.1-.3.1l.2 3 .2.1c2.2.8 4.5 1.4 6.6 1.7v-.3c-2.1-.3-4.2-.8-6.5-1.7l-.2-2.9zm-1.8-20.6l.9 12h.3l-.9-12h-.3z"/><path class="st3" d="M524 412.1s6.2 1.5 4.7 8.4c-1 4.6-4.4 7-9.2 7.8l4.5-16.2z"/><path class="st9" d="M517.5 423.7l.5 7.1c2 1.2 4 1.1 5.9-.3l-.5-7.1-5.9.3z"/><path class="st10" d="M517.6 424.6l.1 2.2c.9.5 1.9.7 3 .7h.2c1-.1 2-.5 2.7-1.2l-.1-2.1-5.9.4z"/><path class="st9" d="M514.6 415.4l.4 5.3.1 1.2c.3 2.9 2.7 5.1 5.6 5.1.3 0 .6 0 .9-.1.1 0 .2-.1.3-.1h.1c.4-.2.8-.4 1.1-.8.7-.8 1.1-1.6 1.5-2.5.3-.7.6-1.5.8-2.2.2-.9.4-1.8.2-2.8l-.4-4.6-9-.7-1.6 2.2z"/><path class="st3" d="M523.9 414s-10.3.6-8.2 9.7c0 0-3.2-6.5.1-10.9 3.6-4.8 8.5-3.2 10.2-.9 1.7 2.3 3 6.1-1.8 8.9-.1-.1 1.5-3.5-.3-6.8z"/><path class="st9" d="M523.7 419.5c.1 1.2 1.1 2.1 2.3 2 1.2-.1 2.1-1.1 2-2.3-.1-1.2-1.1-2.1-2.3-2-1.2.1-2.1 1.1-2 2.3z"/><g><path class="st3" d="M503.8 450.8l-7.4-8c4.5-4.2 6.9-9.8 6.9-15.9h10.9c0 9.1-3.8 17.8-10.4 23.9z"/><path class="st4" d="M514.2 427h-10.9c0-12-9.7-21.7-21.7-21.7-2.6 0-5.1.4-7.5 1.3l-3.8-10.2c3.6-1.3 7.4-2 11.3-2 18-.1 32.6 14.6 32.6 32.6z"/><path class="st2" d="M481.6 459.6c-18 0-32.6-14.6-32.6-32.6 0-13.6 8.6-25.9 21.4-30.6l3.8 10.2c-8.5 3.1-14.2 11.3-14.2 20.4 0 12 9.7 21.7 21.7 21.7 5.5 0 10.8-2.1 14.8-5.8l7.4 8c-6.1 5.6-14 8.7-22.3 8.7z"/></g><g><path class="st9" d="M471.1 455.3c0-.8.5-1.5 1.3-1.5 4.4-.5 8.8-1.1 13.1-2.1 4.3-.9 8.5-2.1 12.6-3.5 4.1-1.5 8-3.2 11.8-5.2 1.9-1 3.7-2.1 5.5-3.3.4-.3.9-.6 1.3-.9l1.3-.9c.8-.6 1.7-1.2 2.5-1.9.3-.2.6-.4.8-.5l.9-.3c.6-.1 1.3-.1 1.9 0 1.3.2 2.6.9 3.5 2.1.9 1.2 1.2 2.6 1 3.9-.1.7-.4 1.3-.8 1.9-.2.3-.4.6-.7.8-.3.3-.6.5-.9.7-1 .6-2.1 1.2-3.1 1.7l-1.6.8c-.5.3-1.1.5-1.6.8-2.1 1-4.3 2-6.5 2.8-4.4 1.7-9 3-13.5 3.9-4.6.9-9.2 1.5-13.7 1.9-4.6.3-9.1.4-13.7.3-.8 0-1.4-.7-1.4-1.5z"/><path class="st2" d="M515.5 452.5l10.1-6.2c3.1-1.9 4.3-5.7 2.4-8.8-1.9-3.1-6.1-4.2-9.1-2.3l-10.1 6.2 6.7 11.1z"/><path class="st1" d="M529.1 439.4c-.1-.7-.4-1.4-.8-2-.9-1.5-2.5-2.7-4.3-3.1-.3-.1-.6-.1-.9-.2v.3c2 .3 3.9 1.4 4.9 3.2 1.4 2.3 1.1 5-.5 7l.2.1c1.3-1.5 1.8-3.4 1.4-5.3zm-3.3 7.1s.1 0 .1-.1l-.3-.1-3 1.8.2.2 3-1.8zm-4.2 2.6l-.2-.2-2.9 1.7.2.2 2.9-1.7zm-4.4 2.6l-.2-.2-1.5.9-5.2-8.5-.2.1 5.3 8.8 1.8-1.1zm.2-15.9l-7.4 4.5.1.2 7.4-4.5-.1-.2z"/></g></g><g><path class="st10" d="M234.4 464c0-.8-.5-1.5-1.3-1.6-2.3-.3-4.6-.6-6.9-1-2.3-.4-4.5-.8-6.7-1.3s-4.3-1.2-6.2-2c-1.9-.8-3.7-1.9-5.3-3.1-3.2-2.5-5.7-6-8-9.7-.3-.5-.6-.9-.9-1.4l-.8-1.4c-.6-1-1.1-2-1.7-3-1.1-2-2.2-4-3.2-6.1-1.4-2.6-4.7-3.5-7.2-2s-3.3 4.8-1.7 7.3c1.4 1.9 2.7 3.9 4.1 5.8.7 1 1.4 1.9 2.2 2.9l1.1 1.4c.4.5.8.9 1.1 1.4 1.6 1.9 3.2 3.7 5 5.5 1.8 1.8 3.9 3.4 6.1 4.8 2.3 1.3 4.7 2.3 7.2 3 2.5.7 4.9 1.1 7.3 1.3 2.4.2 4.8.4 7.1.4 2.4.1 4.7.1 7 .1 1 0 1.7-.6 1.7-1.3z"/><path class="st3" d="M190.5 450.4l-6.3-10c-1.9-3-1.3-7 1.8-8.9 3-1.9 7.3-1.1 9.2 2l6.3 10-11 6.9z"/><path class="st9" d="M181.4 505.2L189.7 554.4 192.6 553.9 193.4 504.8z"/><path class="st4" d="M194.2 504.7l-13.6.5c-3.7-9-6.9-28.9-3.1-38.1l15.2 3.4 1.5 34.2z"/><circle transform="rotate(-16.739 184.847 470.406)" class="st4" cx="184.8" cy="470.4" r="7.9"/><g class="st11"><path class="st4" d="M184.8 470.4L184.8 470.4 184.8 470.4 184.8 470.3z"/></g><path class="st9" d="M165.9 503.2L161.1 553.4 164.1 553.6 177.6 505.8z"/><path class="st4" d="M180.4 462.7c-3.2-1-6.5.2-8.5 2.7-.1.2-.3.4-.4.6-5.7 8.3-7.5 27.6-6.3 37l13.2 3 7.3-33.4c1.3-4.2-1.1-8.6-5.3-9.9z"/><path class="st2" d="M180.4 497.1l-1.9 8.9-2.2-.5v.3l2.4.5 2-9.1-.3-.1zm-11.9-25.8c-1.3 3.5-2.4 7.8-3.1 12.8v.3h.3c.6-4.6 1.7-9.1 3.1-12.9l-.3-.2zm-3.9 23.7h.3c0-2.2.2-4.5.4-6.8h-.3c-.3 2.3-.4 4.6-.4 6.8zm.6 8c-.2-1.3-.3-2.8-.3-4.4h-.3c.1 1.6.2 3.1.3 4.4v.2l8 1.8.1-.2-7.8-1.8zm18.6-21.8l-1.7 7.9h.3l1.7-7.9h-.3z"/><path class="st3" d="M170.4 556.6c-.2-.4-.6-.6-1-.7-.4-.1-.8-.1-1.2-.2-1-.2-2-.6-2.8-1.2-.4-.3-.8-.7-1.3-.9l-2.9-.3c-.4.4-.8.9-1 1.5-.2.5-.2 1.1-.3 1.6l-.1.6 10.7 1.2.1-.6c.1-.3 0-.7-.2-1zM199.5 555.1c-.3-.3-.7-.4-1.2-.4-.4 0-.8.1-1.3.1-1 .1-2.1 0-3-.4l-1.5-.6-2.9.5c-.3.5-.5 1.1-.5 1.7 0 .5 0 1.1.1 1.6l.1.6 10.7-1.6-.1-.6c0-.3-.1-.6-.4-.9zM182 428.8c9 .1 15.8 8.2 14.4 17.1l-3.6 24c-6.5 2.3-15.6 1.5-23.1-.7v-27.4c-.5-7.1 5.2-13.1 12.3-13z"/><path class="st1" d="M169.4 457.4v10.4h.3v-10.4h-.3zm12.6-28.8h-.1c-.4 0-.8 0-1.2.1v.3c.4 0 .8-.1 1.3-.1 2.1 0 4 .5 5.8 1.2l.1-.2c-1.8-.9-3.8-1.3-5.9-1.3zm11.3 5.3c-.8-.9-1.7-1.8-2.7-2.5l-.2.2c3.7 2.7 6.1 7.1 6.1 11.9 0 .8-.1 1.6-.2 2.4l-.8 5.3.3.1.8-5.3c.7-4.4-.5-8.8-3.3-12.1zm-.6 36c-5.9 2.1-13.9 1.6-20.9-.1v.3c4 1 8.1 1.5 11.8 1.5 3.5 0 6.6-.5 9.2-1.4l.1-.1 2.1-13.8h-.3l-2 13.6zm-16.9-39.5l-.1-.3c-1.1.6-2.1 1.4-2.9 2.3-2.4 2.5-3.6 5.9-3.3 9.3v6.4h.3v-6.4c-.4-4.7 2.1-9 6-11.3z"/><g><path class="st9" d="M186.2 424.7l-.4 7.3c-2.1 1.1-4 1-5.9-.4l.4-7.3 5.9.4z"/><path class="st10" d="M186.1 426.9v.8c-.9.5-2 .7-3.1.7h-.2c-1-.1-1.9-.5-2.6-1.2l.1-2.1 5.8 1.8z"/><path class="st9" d="M189.3 416.4l-.5 5.2-.1 1.2c-.3 2.9-2.8 5.1-5.7 5-.3 0-.6-.1-.9-.1-.1 0-.2-.1-.3-.1h-.1c-.4-.2-.8-.5-1.1-.8-.6-.8-1-1.6-1.4-2.5-.3-.8-.6-1.5-.8-2.3-.2-.9-.3-1.8-.2-2.8l.2-3.6 9.3-1.5 1.6 2.3z"/><path class="st3" d="M189 424.6s0-3.1-.1-4.6c-.1-1.4-.4-2.8-1.5-2.6-2.1.4-2.9-1.4-2.9-1.4-.6 0-1.2.1-1.9.3-3.1.8-3.6 0-4-.5-.8 2.4-.5 5.5-.5 5.8 0 .1.1.3.1.4.2.8.5 1.5.8 2.3.3.7.6 1.4 1 2v.5c-2.2-.4-4.9-2.8-5.6-4.7-2.3-7.2 1.6-11.5 7.1-12.6 4.8-.9 7.4 3.5 8.4 7.5.8 2.3-.3 7-.9 7.6z"/><path class="st9" d="M180.2 420.3c-.1 1.2-1.1 2.1-2.3 2-1.2-.1-2.1-1.1-2-2.3.1-1.2 1.1-2.1 2.3-2 1.2.1 2 1.1 2 2.3z"/></g><g><path transform="rotate(-180 274.437 454.01)" class="st2" d="M269 446.1H279.8V462H269z"/><path transform="rotate(-180 260.511 447.387)" class="st2" d="M255.1 432.8H265.9V461.90000000000003H255.1z"/><path transform="rotate(-180 246.585 443.424)" class="st4" d="M241.2 424.9H252V461.9H241.2z"/><path transform="rotate(-180 232.659 439.712)" class="st4" d="M227.2 417.5H238V461.9H227.2z"/><path transform="rotate(-180 218.732 441.217)" class="st4" d="M213.3 420.5H224.10000000000002V461.9H213.3z"/><path transform="rotate(-180 204.806 443.424)" class="st2" d="M199.4 424.9H210.20000000000002V461.9H199.4z"/><path transform="rotate(-180 190.88 447.387)" class="st4" d="M185.5 432.8H196.3V461.90000000000003H185.5z"/><g><path transform="rotate(-180 232.659 462.663)" class="st3" d="M183.1 461.9H282.3V463.4H183.1z"/></g></g><g><path class="st9" d="M227.5 461.9c-.1-.8-.7-1.4-1.5-1.4h-6.9c-2.3-.1-4.6-.2-6.8-.4s-4.4-.6-6.4-1.1c-2-.6-3.9-1.3-5.7-2.4-3.5-2.1-6.5-5.1-9.3-8.5-.4-.4-.7-.8-1.1-1.3l-1-1.3c-.7-.9-1.4-1.8-2-2.7-1.4-1.8-2.7-3.7-4-5.6-1.7-2.3-5.1-2.8-7.4-.9-2.3 1.8-2.6 5.3-.6 7.5 1.6 1.7 3.2 3.4 4.9 5.2.8.9 1.7 1.7 2.5 2.6l1.3 1.3c.4.4.9.8 1.3 1.2 1.8 1.7 3.7 3.3 5.8 4.8 2.1 1.5 4.3 2.8 6.7 3.9 2.4 1 5 1.7 7.5 2 2.5.3 5 .4 7.4.3 2.4-.1 4.8-.3 7.1-.6s4.7-.6 7-.9c.7-.3 1.2-1 1.2-1.7z"/><path class="st3" d="M181.9 454.2l-7.7-9c-2.3-2.7-2.2-6.7.5-9.1 2.7-2.3 7.1-2.1 9.4.7l7.7 9-9.9 8.4z"/><path class="st1" d="M179.6 434.3c-1.2-.1-2.3.1-3.4.6l.1.2c2.6-1.2 5.9-.6 7.8 1.7l.7.8.2-.2-.7-.8c-1.1-1.3-2.8-2.2-4.7-2.3zm12.2 11.6l-8.1 6.8.2.2 8.3-7-4.4-5.2-.2.2 4.2 5zm-18-9.1c-1.8 2.1-1.9 5.2-.4 7.7l.2-.1c-1.4-2.3-1.4-5.3.3-7.4l-.1-.2zm7.4 17l.2-.2-3.7-4.4-.2.2 3.7 4.4z"/></g></g><g><path class="st3" d="M630.9 587.7H74.2c-1.6 0-2.9-1.3-2.9-2.9 0-1.6 1.3-2.9 2.9-2.9H631c1.6 0 2.9 1.3 2.9 2.9-.1 1.6-1.4 2.9-3 2.9z"/></g><g><path transform="rotate(-40.957 194.403 297.627)" class="st2" d="M179.5 288.7H209.2V306.4H179.5z"/><path transform="rotate(-40.957 148.955 337.083)" class="st4" d="M103.6 323.8H194.2V350.40000000000003H103.6z"/><path class="st4" d="M294.2 300.4c28.1-24.4 31.2-67.2 6.7-95.3-24.4-28.1-67.2-31.2-95.3-6.7-25.9 22.5-30.5 60.4-12.1 88.2 1.6 2.4 3.4 4.8 5.4 7.1 2 2.3 4.1 4.4 6.2 6.3 25 22.1 63.3 22.9 89.1.4zm-76.9-88.6c20.7-18 52.3-15.8 70.3 5s15.8 52.3-5 70.3-52.3 15.8-70.3-5-15.8-52.3 5-70.3z"/><g style="opacity:.5"><path class="st2" d="M212.3 282.1c-18-20.8-15.8-52.3 5-70.3 20.7-18 52.3-15.8 70.3 5s15.8 52.3-5 70.3c-20.7 17.9-52.3 15.7-70.3-5z"/></g><g><path class="st1" d="M263.6 217c.2-.4.4-.7.8-1 1-.8 2.5-.5 3.2.5l20.8 28.3c.8 1 .5 2.5-.5 3.2-1 .8-2.5.5-3.2-.5l-20.8-28.3c-.5-.6-.6-1.5-.3-2.2zM252.5 225.2c.2-.4.4-.7.8-1 1-.8 2.5-.5 3.2.5l20.8 28.3c.8 1 .5 2.5-.5 3.2-1 .8-2.5.5-3.2-.5l-20.8-28.3c-.5-.6-.6-1.5-.3-2.2z"/></g></g><g><path class="st3" d="M410 551.8l-12.9 6.5c-.2-.4-.3-.9-.2-1.4.1-.6.5-1 .9-1.3.5-.3 1-.6 1.5-.8 1.2-.7 2.2-1.6 3-2.8.4-.6.7-1.2 1.2-1.8l3.6-1.7c.7.3 1.4.8 1.9 1.4.4.5.7 1.2 1 1.9zM422.6 556.4l-14.4 1.9c-.1-.5 0-1 .2-1.4.3-.5.8-.8 1.3-1 .5-.2 1.1-.2 1.7-.3 1.4-.2 2.6-.8 3.7-1.6.6-.4 1.1-.9 1.7-1.3l3.9-.4c.6.5 1.1 1.2 1.3 2 .4.7.5 1.4.6 2.1zM416.5 508.6L416.5 508.6 416.5 508.6z"/><g class="st11"><path class="st3" d="M414.6 478.3L414.6 478.3 414.6 478.3 414.6 478.3z"/></g><path class="st3" d="M416.5 508.6L416.5 508.6 416.5 508.6zM416.5 508.6L416.5 508.6 416.5 508.6z"/><path class="st2" d="M384.1 510.1l18.8 40.3 4.7-1.9-12-37.6 9.7-15.3 11 57.2 5.1-.3.1-73.2c.1-.7-30.9-2.6-30.9-2.6l-6.8 30.4c-.1 1.1 0 2 .3 3zm32.4-1.5z"/><g class="st11"><path class="st3" d="M416.5 508.6L416.5 508.6 416.5 508.6z"/></g><path class="st10" d="M352.8 484.7c1.5-1.5 3-2.8 4.5-4.2.4-.3.7-.7 1.1-1 .4-.4.7-.7 1.1-1l1-1.1.5-.5.5-.5c2.7-2.9 5.1-6 7.3-9.3 1-1.7 2.1-3.3 3.1-5l.7-1.3c.1-.2.2-.4.4-.6l.3-.7 1.3-2.6c.1-.2.2-.4.3-.7l.3-.7.6-1.3.6-1.3.3-.7.2-.3.1-.3 1.1-2.7c.4-.9.7-1.8 1.1-2.8.4-1.2 1.4-2 2.6-2.4 1.2-.4 2.6-.4 3.9.2 1.3.6 2.3 1.6 2.8 2.7.5 1.2.5 2.5-.1 3.7-.5.9-1 1.8-1.6 2.8l-1.6 2.7-.2.3-.2.3-.4.7-.9 1.3-.9 1.3-.4.7c-.1.2-.3.4-.5.7l-1.8 2.6-.5.6c-.2.2-.3.4-.5.6l-1 1.3c-1.3 1.7-2.7 3.3-4.1 4.9-2.9 3.1-6 6.1-9.2 8.7l-.6.5-.6.5-1.3.9c-.4.3-.8.6-1.3.9-.4.3-.8.6-1.3.9-1.7 1.2-3.4 2.3-5 3.4-.5.4-1.3.3-1.9-.3-.3-.6-.3-1.4.2-1.9z"/><path class="st4" d="M383.8 465.5l5.6-12.2c1.7-3.7.4-8-3.3-9.7-3.7-1.7-8.4-.1-10 3.6l-5.6 12.2 13.3 6.1z"/><g><path class="st4" d="M389.8 435.7c-7.7 1.9-12.2 9.9-9.6 17.5l11.9 36.1c13.9 1.7 20.3-2.7 29.7-9.7l-12.4-33.5c-3-7.9-11.4-12.4-19.6-10.4z"/></g><g><path class="st1" d="M403.3 438.2c1.4 1 2.7 2.2 3.8 3.7l.3-.3c-1.1-1.4-2.4-2.7-3.8-3.7l-.3.3zm16 43.1l.2.3c.8-.6 1.5-1.1 2.3-1.7l.2-.2-3.2-8.7-.4.1 3.1 8.5c-.6.5-1.4 1.1-2.2 1.7zm-27.6 8.3h.3c2.7.3 5.1.5 7.3.4l-.1-.4c-2.2.1-4.5 0-7.2-.3l-7-21.2-.4.1 7.1 21.4zm20.6-3.7c-1 .5-1.9 1-3 1.4l.2.4c1.1-.5 2.1-1 3.1-1.5l-.3-.3zm2.1-26l.4-.2-3-8-.4.2 3 8zm-32.6-.2l.4-.1-2.1-6.5c-2.3-6.8 1.2-14.1 7.6-16.8.3-.1.6-.3 1-.4l-.2-.4-.9.3c-6.8 2.8-10.3 10.4-7.9 17.4l2.1 6.5z"/></g><g><path class="st4" d="M353.2 491.4c8.2 7.9 20.6 10.6 31.7 6l-11.3-26.9-20.4 20.9z"/><path class="st3" d="M373.6 470.4l29.2-1.4c-.2-3.3-.9-6.7-2.3-9.9-2.7-6.4-7.4-11.3-13.1-14.4l-13.8 25.7zM362.2 443.5l11.3 26.9 13.9-25.7c-7.4-4-16.7-4.8-25.2-1.2z"/><path class="st3" d="M373.6 470.4l11.3 26.9c11.6-4.9 18.4-16.4 17.8-28.3l-29.1 1.4z"/><path class="st4" d="M346.7 481.8c1.6 3.7 3.8 7 6.6 9.6l20.4-21-29-3.4c-.7 4.9-.1 9.9 2 14.8z"/></g><g><path class="st9" d="M371.3 467.3c.5-.6 1.3-.7 1.9-.3 1.8 1.2 3.7 2.4 5.6 3.4.9.5 1.9 1 2.9 1.4 1 .4 1.9.8 2.9 1.1 1 .3 1.9.5 2.8.5h1.2c.4 0 .8-.1 1.1-.2.3-.1.6-.3.9-.4.3-.2.5-.4.8-.6.2-.2.5-.5.7-.8.2-.3.4-.6.6-1 .4-.7.7-1.6 1-2.5.3-.9.5-1.8.7-2.8.4-2 .6-4 .7-6.1.1-2.1.2-4.2.2-6.4 0-2.1-.1-4.3-.2-6.5 0-1.4.5-2.6 1.5-3.6.9-.9 2.2-1.5 3.7-1.5 1.4 0 2.7.6 3.7 1.6.9 1 1.4 2.3 1.3 3.7-.2 2.3-.4 4.6-.8 6.8-.3 2.3-.7 4.6-1.1 6.9-.5 2.3-1 4.6-1.8 7-.4 1.2-.8 2.3-1.4 3.5-.6 1.2-1.2 2.3-2 3.4-.4.6-.9 1.1-1.4 1.6-.5.5-1.1 1-1.7 1.4-.6.4-1.3.8-2.1 1.1-.7.3-1.5.5-2.2.6-.7.1-1.5.1-2.2.1h-.6l-.5-.1c-.3-.1-.7-.1-1-.2-1.3-.3-2.5-.7-3.6-1.2s-2.2-1.1-3.2-1.7c-1-.6-2-1.3-2.9-2-1.9-1.4-3.6-2.8-5.3-4.3-.6-.5-.7-1.3-.2-1.9z"/><path class="st4" d="M406.8 461.8l.4-13.4c.1-4.1-2.8-7.6-6.8-7.7-4.1-.1-7.7 3.2-7.9 7.2l-.4 13.4 14.7.5z"/><path class="st1" d="M392.2 449.3h.4V448c0-.5.1-.9.2-1.4l-.4-.1c-.1.5-.2 1-.2 1.5v1.3zm11.3 12.8l3.7.1.1-4.1-.4-.1-.1 3.8-3.3-.1v.4zm3.7-11.4l-.2 4.9h.4l.2-5-.4.1zm-12.7-7.9l.4.1c1.5-1.4 3.4-2.2 5.5-2.2 1.7.1 3.3.7 4.4 1.8l.2-.3c-1.3-1.2-2.9-1.8-4.6-1.9-1.1 0-2.2.2-3.3.6-1 .5-1.9 1.1-2.6 1.9zm-2.6 15.2l.4.1.1-3.4h-.4l-.1 3.3zm4.5 3.9l3.4.1v-.4l-3.3-.1-.1.4z"/></g><g><path class="st9" d="M383 434.5l4.8 8.4c2.5.2 4.3-.9 5.5-3.1l-4.8-8.4-5.5 3.1z"/><path class="st10" d="M383 434.5l2.2 3.8c.5-.1.9-.2 1.4-.4.1-.1.3-.1.4-.2 1.5-.9 2.5-2.4 2.8-4l-1.3-2.3-5.5 3.1z"/><path class="st9" d="M377.6 430.8l2.1 3.5.9 1.4c1.2 1.9 3.7 2.7 5.7 1.7.7-.3 1.3-.8 1.7-1.3.1-.1.2-.3.3-.4.1-.1.1-.2.2-.3.5-.9.8-1.8.7-2.9-.1-.9-.2-1.8-.3-2.8-.1-.6-.2-1.1-.3-1.7-.5-2.5-2.3-4.6-4.7-5.3-2.1-.6-4-.1-5.6 1.6-1.7 1.8-2 4.4-.7 6.5z"/><path class="st3" d="M385.7 429.1h-.8s0-3.2-.8-3.9c-1.2-1-4.5.3-5.9 1.4-.4.4-.7.7-.7 1.3.1 1.2.5 3.5 1.7 5.5 0 0-5-5.2-4.5-9.4.3-2.8.8-4.8 4.3-4.8 5.5 0 9.6 2.7 11.2 8.4l-3.5.2-1 1.3z"/><g><path class="st9" d="M385.9 429.5c.6 1 2 1.3 3.1.7s1.6-2 1-3c-.6-1-2-1.3-3.1-.7-1.2.6-1.6 2-1 3z"/></g></g></g><g><path class="st5" d="M305 499.7H375.1V558.3H305z"/><path class="st13" d="M281.2 499.7H305V558.3H281.2z"/><path class="st13" d="M305 499.7L295.6 517.6 269.4 517.6 281.2 499.7zM386 519.6L316 524.1 305 499.7 375.1 504.2z"/><path class="st5" d="M386 519.6L316 519.6 305 499.7 375.1 499.7zM305 499.7L299.7 519.7 269.4 517.6 295.6 517.6z"/></g><g><path class="st0" d="M38.9 241.8c3.5-18.6 10.8-36.5 20.7-52.7 5-8.1 10.7-15.8 17.1-22.9 3.2-3.6 6.5-7 10-10.3 3.5-3.3 7.1-6.4 10.8-9.4 15-11.9 32.3-20.9 50.6-26.7 9.2-2.9 18.6-4.9 28.1-6.1 2.4-.3 4.8-.5 7.1-.8l3.6-.3c1.2-.1 2.4-.1 3.6-.2 4.8-.2 9.6-.2 14.4 0 4.8.2 9.6.7 14.3 1.3 4.8.6 9.5 1.5 14.2 2.5 2.3.5 4.7 1.1 7 1.7l3.5 1c1.2.3 2.3.7 3.4 1.1.6.2 1.1.4 1.7.5l1.7.6c1.1.4 2.3.8 3.4 1.2 1.1.4 2.2.8 3.4 1.3l3.3 1.4c.6.2 1.1.5 1.7.7l1.6.7 3.3 1.5 3.2 1.6 1.6.8 1.6.8 3.2 1.7 3.1 1.7 1.6.9 1.5.9 3.1 1.8c4.1 2.4 8.1 4.9 12.1 7.5 4 2.6 7.9 5.2 11.9 7.9 7.8 5.3 15.6 10.7 23.5 15.9 3.9 2.6 7.9 5.1 11.9 7.6 4 2.4 8.1 4.8 12.2 7.1 2 1.2 4.1 2.2 6.2 3.3 1 .6 2.1 1 3.2 1.6 1.1.5 2.1 1.1 3.2 1.5 2.1 1 4.3 2 6.5 2.8 1.1.4 2.2.9 3.3 1.3l3.3 1.2 3.3 1.2c1.1.4 2.2.8 3.4 1.1l3.4 1c.6.2 1.1.3 1.7.5l1.7.4c1.1.3 2.3.6 3.4.8l3.5.7c.6.1 1.2.2 1.7.3l1.7.3 3.5.5c-9.4-.8-18.8-2.7-27.8-5.6-9-2.9-17.8-6.7-26.3-11-4.3-2.1-8.4-4.4-12.5-6.8-4.1-2.4-8.2-4.8-12.2-7.3s-8-5.1-12-7.6l-11.9-7.7c-4-2.6-7.9-5.1-11.9-7.6s-8-4.9-12.1-7.3l-3.1-1.7-1.5-.9-1.5-.8-3.1-1.7-3.1-1.6-1.6-.8-1.6-.8-3.2-1.5-3.2-1.4-1.6-.7c-.5-.2-1.1-.4-1.6-.7-17.2-7.2-35.7-11.2-54.3-11.9-18.6-.8-37.4 1.5-55.2 6.9-4.5 1.3-8.9 2.9-13.2 4.6-4.3 1.7-8.6 3.7-12.7 5.8-8.3 4.2-16.2 9.2-23.7 14.8-7.4 5.7-14.4 11.9-20.8 18.8-6.4 6.8-12.2 14.2-17.4 22-10.6 15.9-18.3 33.3-22.9 51.7z"/></g><g><path class="st0" d="M658 370.2c6.5 13.9 10.3 29.1 11.5 44.5 1.1 15.4-.4 31.1-4.6 46.1-4.2 14.9-11.2 29.1-20.3 41.6-9.1 12.5-20.3 23.5-33.2 31.9 11.9-9.7 22.3-21 30.7-33.6 8.4-12.6 14.9-26.4 19-41 4.1-14.5 5.9-29.7 5.3-44.9-.4-15.1-3.3-30.2-8.4-44.6z"/></g><g><path class="st1" d="M639.8 422.2c.4 9.5-.9 19.2-3.6 28.3-1.4 4.6-3.1 9.1-5.2 13.4-2.1 4.3-4.6 8.5-7.3 12.4-2.8 3.9-5.9 7.6-9.2 11.1-3.4 3.4-7 6.6-10.9 9.4-7.7 5.7-16.4 10.1-25.5 12.9 8.8-3.5 17.1-8.3 24.6-14.1 3.7-2.9 7.2-6.1 10.5-9.5 3.3-3.4 6.3-7 9-10.9 2.7-3.8 5.1-7.9 7.3-12.1 2.1-4.2 3.9-8.6 5.4-13.1 2.9-8.8 4.5-18.2 4.9-27.8z"/></g></svg>
3 3 \ No newline at end of file
... ...
yudao-ui-admin-vue3/src/assets/svgs/shopping.svg
1   -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M42.913 101.36c1.642 0 3.198.332 4.667.996a12.28 12.28 0 0 1 3.89 2.772c1.123 1.184 1.987 2.582 2.592 4.193.605 1.612.908 3.318.908 5.118 0 1.8-.303 3.507-.908 5.118-.605 1.611-1.469 3.01-2.593 4.194a13.3 13.3 0 0 1-3.889 2.843 10.582 10.582 0 0 1-4.667 1.066c-1.729 0-3.306-.355-4.732-1.066a13.604 13.604 0 0 1-3.825-2.843c-1.123-1.185-1.988-2.583-2.593-4.194a14.437 14.437 0 0 1-.907-5.118c0-1.8.302-3.506.907-5.118.605-1.61 1.47-3.009 2.593-4.193a12.515 12.515 0 0 1 3.825-2.772c1.426-.664 3.003-.996 4.732-.996zm53.932.285c1.643 0 3.22.331 4.733.995a11.386 11.386 0 0 1 3.889 2.772c1.08 1.185 1.945 2.583 2.593 4.194.648 1.61.972 3.317.972 5.118 0 1.8-.324 3.506-.972 5.117-.648 1.611-1.513 3.01-2.593 4.194a12.253 12.253 0 0 1-3.89 2.843 11 11 0 0 1-4.732 1.066 10.58 10.58 0 0 1-4.667-1.066 12.478 12.478 0 0 1-3.824-2.843c-1.08-1.185-1.945-2.583-2.593-4.194a13.581 13.581 0 0 1-.973-5.117c0-1.801.325-3.507.973-5.118.648-1.611 1.512-3.01 2.593-4.194a11.559 11.559 0 0 1 3.824-2.772 11.212 11.212 0 0 1 4.667-.995zm21.781-80.747c2.42 0 4.3.355 5.64 1.066 1.34.71 2.29 1.587 2.852 2.63a6.427 6.427 0 0 1 .778 3.34c-.044 1.185-.195 2.204-.454 3.057-.26.853-.8 2.606-1.62 5.26a589.268 589.268 0 0 1-2.788 8.743 1236.373 1236.373 0 0 0-3.047 9.453c-.994 3.128-1.75 5.592-2.269 7.393-1.123 3.79-2.55 6.42-4.278 7.89-1.728 1.469-3.846 2.203-6.352 2.203H39.023l1.945 12.795h65.342c4.148 0 6.223 1.943 6.223 5.828 0 1.896-.41 3.53-1.232 4.905-.821 1.374-2.442 2.061-4.862 2.061H38.505c-1.729 0-3.176-.426-4.343-1.28-1.167-.852-2.14-1.966-2.917-3.34a21.277 21.277 0 0 1-1.88-4.478 44.128 44.128 0 0 1-1.102-4.55c-.087-.568-.324-1.942-.713-4.122-.39-2.18-.865-4.904-1.426-8.174l-1.88-10.947c-.692-4.027-1.383-8.079-2.075-12.154-1.642-9.572-3.5-20.234-5.574-31.986H6.87c-1.296 0-2.377-.356-3.24-1.067a9.024 9.024 0 0 1-2.14-2.558 10.416 10.416 0 0 1-1.167-3.2C.108 8.53 0 7.488 0 6.54c0-1.896.583-3.46 1.75-4.69C2.917.615 4.494 0 6.482 0h13.095c1.728 0 3.111.284 4.148.853 1.037.569 1.858 1.28 2.463 2.132a8.548 8.548 0 0 1 1.297 2.701c.26.948.475 1.754.648 2.417.173.758.346 1.825.519 3.199.173 1.374.345 2.772.518 4.193.26 1.706.519 3.507.778 5.403h88.678z"/></svg>
2 1 \ No newline at end of file
  2 +<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M42.913 101.36c1.642 0 3.198.332 4.667.996a12.28 12.28 0 013.89 2.772c1.123 1.184 1.987 2.582 2.592 4.193.605 1.612.908 3.318.908 5.118 0 1.8-.303 3.507-.908 5.118-.605 1.611-1.469 3.01-2.593 4.194a13.3 13.3 0 01-3.889 2.843 10.582 10.582 0 01-4.667 1.066c-1.729 0-3.306-.355-4.732-1.066a13.604 13.604 0 01-3.825-2.843c-1.123-1.185-1.988-2.583-2.593-4.194a14.437 14.437 0 01-.907-5.118c0-1.8.302-3.506.907-5.118.605-1.61 1.47-3.009 2.593-4.193a12.515 12.515 0 013.825-2.772c1.426-.664 3.003-.996 4.732-.996zm53.932.285c1.643 0 3.22.331 4.733.995a11.386 11.386 0 013.889 2.772c1.08 1.185 1.945 2.583 2.593 4.194.648 1.61.972 3.317.972 5.118 0 1.8-.324 3.506-.972 5.117-.648 1.611-1.513 3.01-2.593 4.194a12.253 12.253 0 01-3.89 2.843 11 11 0 01-4.732 1.066 10.58 10.58 0 01-4.667-1.066 12.478 12.478 0 01-3.824-2.843c-1.08-1.185-1.945-2.583-2.593-4.194a13.581 13.581 0 01-.973-5.117c0-1.801.325-3.507.973-5.118.648-1.611 1.512-3.01 2.593-4.194a11.559 11.559 0 013.824-2.772 11.212 11.212 0 014.667-.995zm21.781-80.747c2.42 0 4.3.355 5.64 1.066 1.34.71 2.29 1.587 2.852 2.63a6.427 6.427 0 01.778 3.34c-.044 1.185-.195 2.204-.454 3.057-.26.853-.8 2.606-1.62 5.26a589.268 589.268 0 01-2.788 8.743 1236.373 1236.373 0 00-3.047 9.453c-.994 3.128-1.75 5.592-2.269 7.393-1.123 3.79-2.55 6.42-4.278 7.89-1.728 1.469-3.846 2.203-6.352 2.203H39.023l1.945 12.795h65.342c4.148 0 6.223 1.943 6.223 5.828 0 1.896-.41 3.53-1.232 4.905-.821 1.374-2.442 2.061-4.862 2.061H38.505c-1.729 0-3.176-.426-4.343-1.28-1.167-.852-2.14-1.966-2.917-3.34a21.277 21.277 0 01-1.88-4.478 44.128 44.128 0 01-1.102-4.55c-.087-.568-.324-1.942-.713-4.122-.39-2.18-.865-4.904-1.426-8.174l-1.88-10.947c-.692-4.027-1.383-8.079-2.075-12.154-1.642-9.572-3.5-20.234-5.574-31.986H6.87c-1.296 0-2.377-.356-3.24-1.067a9.024 9.024 0 01-2.14-2.558 10.416 10.416 0 01-1.167-3.2C.108 8.53 0 7.488 0 6.54c0-1.896.583-3.46 1.75-4.69C2.917.615 4.494 0 6.482 0h13.095c1.728 0 3.111.284 4.148.853 1.037.569 1.858 1.28 2.463 2.132a8.548 8.548 0 011.297 2.701c.26.948.475 1.754.648 2.417.173.758.346 1.825.519 3.199.173 1.374.345 2.772.518 4.193.26 1.706.519 3.507.778 5.403h88.678z"/></svg>
3 3 \ No newline at end of file
... ...
yudao-ui-admin-vue3/src/components/Dialog/src/Dialog.vue
... ... @@ -94,8 +94,8 @@ const dialogStyle = computed(() =&gt; {
94 94  
95 95 <style lang="less">
96 96 .@{elNamespace}-dialog__header {
97   - border-bottom: 1px solid var(--tags-view-border-color);
98 97 margin-right: 0 !important;
  98 + border-bottom: 1px solid var(--tags-view-border-color);
99 99 }
100 100  
101 101 .@{elNamespace}-dialog__footer {
... ...
yudao-ui-admin-vue3/src/components/Form/src/Form.vue
... ... @@ -293,7 +293,7 @@ export default defineComponent({
293 293  
294 294 <style lang="less" scoped>
295 295 .@{elNamespace}-form.@{namespace}-form .@{elNamespace}-row {
296   - margin-left: 0 !important;
297 296 margin-right: 0 !important;
  297 + margin-left: 0 !important;
298 298 }
299 299 </style>
... ...
yudao-ui-admin-vue3/src/components/Logo/src/Logo.vue
... ... @@ -55,34 +55,31 @@ watch(
55 55 </script>
56 56  
57 57 <template>
58   - <div>
59   - <router-link
  58 + <router-link
  59 + :class="[
  60 + prefixCls,
  61 + layout !== 'classic' ? `${prefixCls}__Top` : '',
  62 + 'flex !h-[var(--logo-height)] items-center cursor-pointer pl-8px relative',
  63 + 'dark:bg-[var(--el-bg-color)]'
  64 + ]"
  65 + to="/"
  66 + >
  67 + <img
  68 + src="@/assets/imgs/logo.png"
  69 + class="w-[calc(var(--logo-height)-10px)] h-[calc(var(--logo-height)-10px)]"
  70 + />
  71 + <div
  72 + v-if="show"
60 73 :class="[
61   - prefixCls,
62   - layout !== 'classic' ? `${prefixCls}__Top` : '',
63   - 'flex !h-[var(--logo-height)] items-center cursor-pointer pl-8px relative',
64   - 'dark:bg-[var(--el-bg-color)]'
  74 + 'ml-10px text-16px font-700',
  75 + {
  76 + 'text-[var(--logo-title-text-color)]': layout === 'classic',
  77 + 'text-[var(--top-header-text-color)]':
  78 + layout === 'topLeft' || layout === 'top' || layout === 'cutMenu'
  79 + }
65 80 ]"
66   - to="/"
67 81 >
68   - <img
69   - src="@/assets/imgs/logo.png"
70   - class="w-[calc(var(--logo-height)-10px)] h-[calc(var(--logo-height)-10px)]"
71   - alt=""
72   - />
73   - <div
74   - v-if="show"
75   - :class="[
76   - 'ml-10px text-16px font-700',
77   - {
78   - 'text-[var(--logo-title-text-color)]': layout === 'classic',
79   - 'text-[var(--top-header-text-color)]':
80   - layout === 'topLeft' || layout === 'top' || layout === 'cutMenu'
81   - }
82   - ]"
83   - >
84   - {{ title }}
85   - </div>
86   - </router-link>
87   - </div>
  82 + {{ title }}
  83 + </div>
  84 + </router-link>
88 85 </template>
... ...
yudao-ui-admin-vue3/src/components/Table/src/Table.vue
... ... @@ -13,7 +13,7 @@ export default defineComponent({
13 13 pageSize: propTypes.number.def(10),
14 14 currentPage: propTypes.number.def(1),
15 15 // 是否多选
16   - selection: propTypes.bool.def(true),
  16 + selection: propTypes.bool.def(false),
17 17 // 是否所有的超出隐藏,优先级低于schema中的showOverflowTooltip,
18 18 showOverflowTooltip: propTypes.bool.def(true),
19 19 // 表头
... ... @@ -294,9 +294,3 @@ export default defineComponent({
294 294 }
295 295 })
296 296 </script>
297   -<style lang="less" scoped>
298   -:deep(.el-button.is-text) {
299   - margin-left: 0;
300   - padding: 8px 10px;
301   -}
302   -</style>
... ...
yudao-ui-admin-vue3/src/components/TagsView/src/TagsView.vue
... ... @@ -84,7 +84,7 @@ const refreshSelectedTag = async (view?: RouteLocationNormalizedLoaded) =&gt; {
84 84 tagsViewStore.delCachedView()
85 85 const { path, query } = view
86 86 await nextTick()
87   - await replace({
  87 + replace({
88 88 path: '/redirect' + path,
89 89 query: query
90 90 })
... ... @@ -107,7 +107,15 @@ const toLastView = () =&gt; {
107 107 if (latestView) {
108 108 push(latestView)
109 109 } else {
110   - push('/')
  110 + if (
  111 + unref(currentRoute).path === permissionStore.getAddRouters[0].path ||
  112 + unref(currentRoute).path === permissionStore.getAddRouters[0].redirect
  113 + ) {
  114 + addTags()
  115 + return
  116 + }
  117 + // You can set another route
  118 + push(permissionStore.getAddRouters[0].path)
111 119 }
112 120 }
113 121  
... ...
yudao-ui-admin-vue3/src/components/UserInfo/src/UserInfo.vue
... ... @@ -22,9 +22,9 @@ const { push, replace } = useRouter()
22 22  
23 23 const user = wsCache.get('user')
24 24  
25   -const avatar = user ? user.user.avatar : '@/assets/imgs/avatar.gif'
  25 +const avatar = user?.user?.avatar ? user.user.avatar : '@/assets/imgs/avatar.gif'
26 26  
27   -const userName = user ? user.user.nickname : 'Admin'
  27 +const userName = user?.user?.nickname ? user.user.nickname : 'Admin'
28 28  
29 29 const loginOut = () => {
30 30 ElMessageBox.confirm(t('common.loginOutMessage'), t('common.reminder'), {
... ... @@ -38,7 +38,6 @@ const loginOut = () =&gt; {
38 38 removeToken()
39 39 tagsViewStore.delAllViews()
40 40 replace('/login')
41   - // }
42 41 })
43 42 .catch(() => {})
44 43 }
... ...
yudao-ui-admin-vue3/src/config/axios/Axios.ts deleted
1   -import type { AxiosRequestConfig, AxiosInstance, AxiosResponse, AxiosError } from 'axios'
2   -import type { RequestOptions, RequestResult, UploadFileParams } from 'types/axios'
3   -import type { CreateAxiosOptions } from './axiosTransform'
4   -import axios from 'axios'
5   -import qs from 'qs'
6   -import { AxiosCanceler } from './axiosCancel'
7   -import { isFunction } from '@/utils/is'
8   -import { cloneDeep } from 'lodash-es'
9   -import { ContentTypeEnum } from '@/enums/http.enum'
10   -import { RequestEnum } from '@/enums/http.enum'
11   -import { downloadByData } from '@/utils/filt'
12   -
13   -export * from './axiosTransform'
14   -
15   -/**
16   - * @description: axios module
17   - */
18   -export class VAxios {
19   - private axiosInstance: AxiosInstance
20   - private readonly options: CreateAxiosOptions
21   -
22   - constructor(options: CreateAxiosOptions) {
23   - this.options = options
24   - this.axiosInstance = axios.create(options)
25   - this.setupInterceptors()
26   - }
27   -
28   - /**
29   - * @description: Create axios instance
30   - */
31   - private createAxios(config: CreateAxiosOptions): void {
32   - this.axiosInstance = axios.create(config)
33   - }
34   -
35   - private getTransform() {
36   - const { transform } = this.options
37   - return transform
38   - }
39   -
40   - getAxios(): AxiosInstance {
41   - return this.axiosInstance
42   - }
43   -
44   - /**
45   - * @description: Reconfigure axios
46   - */
47   - configAxios(config: CreateAxiosOptions) {
48   - if (!this.axiosInstance) {
49   - return
50   - }
51   - this.createAxios(config)
52   - }
53   -
54   - /**
55   - * @description: Set general header
56   - */
57   - setHeader(headers: any): void {
58   - if (!this.axiosInstance) {
59   - return
60   - }
61   - Object.assign(this.axiosInstance.defaults.headers, headers)
62   - }
63   -
64   - /**
65   - * @description: Interceptor configuration
66   - */
67   - private setupInterceptors() {
68   - const transform = this.getTransform()
69   - if (!transform) {
70   - return
71   - }
72   - const {
73   - requestInterceptors,
74   - requestInterceptorsCatch,
75   - responseInterceptors,
76   - responseInterceptorsCatch
77   - } = transform
78   -
79   - const axiosCanceler = new AxiosCanceler()
80   -
81   - // Request interceptor configuration processing
82   - this.axiosInstance.interceptors.request.use((config: AxiosRequestConfig) => {
83   - // If cancel repeat request is turned on, then cancel repeat request is prohibited
84   - const {
85   - // @ts-ignore
86   - headers: { ignoreCancelToken }
87   - } = config
88   -
89   - const ignoreCancel =
90   - ignoreCancelToken !== undefined
91   - ? ignoreCancelToken
92   - : this.options.requestOptions?.ignoreCancelToken
93   -
94   - !ignoreCancel && axiosCanceler.addPending(config)
95   - if (requestInterceptors && isFunction(requestInterceptors)) {
96   - config = requestInterceptors(config, this.options)
97   - }
98   - return config
99   - }, undefined)
100   -
101   - // Request interceptor error capture
102   - requestInterceptorsCatch &&
103   - isFunction(requestInterceptorsCatch) &&
104   - this.axiosInstance.interceptors.request.use(undefined, requestInterceptorsCatch)
105   -
106   - // Response result interceptor processing
107   - this.axiosInstance.interceptors.response.use((res: AxiosResponse<any>) => {
108   - res && axiosCanceler.removePending(res.config)
109   - if (responseInterceptors && isFunction(responseInterceptors)) {
110   - res = responseInterceptors(res)
111   - }
112   - return res
113   - }, undefined)
114   -
115   - // Response result interceptor error capture
116   - responseInterceptorsCatch &&
117   - isFunction(responseInterceptorsCatch) &&
118   - this.axiosInstance.interceptors.response.use(undefined, responseInterceptorsCatch)
119   - }
120   -
121   - /**
122   - * @description: File Upload
123   - */
124   - uploadFile<T = any>(config: AxiosRequestConfig, params: UploadFileParams) {
125   - const formData = new window.FormData()
126   - const customFilename = params.name || 'file'
127   -
128   - if (params.filename) {
129   - formData.append(customFilename, params.file, params.filename)
130   - } else {
131   - formData.append(customFilename, params.file)
132   - }
133   -
134   - if (params.data) {
135   - Object.keys(params.data).forEach((key) => {
136   - const value = params.data![key]
137   - if (Array.isArray(value)) {
138   - value.forEach((item) => {
139   - formData.append(`${key}[]`, item)
140   - })
141   - return
142   - }
143   -
144   - formData.append(key, params.data![key])
145   - })
146   - }
147   - return this.axiosInstance.request<T>({
148   - ...config,
149   - method: 'POST',
150   - data: {
151   - file: formData
152   - },
153   - headers: {
154   - 'Content-type': ContentTypeEnum.FORM_DATA,
155   - // @ts-ignore
156   - ignoreCancelToken: true
157   - }
158   - })
159   - }
160   -
161   - // support form-data
162   - supportFormData(config: AxiosRequestConfig) {
163   - const headers = config.headers || this.options.headers
164   - const contentType = headers?.['Content-Type'] || headers?.['content-type']
165   -
166   - if (
167   - contentType !== ContentTypeEnum.FORM_URLENCODED ||
168   - !Reflect.has(config, 'data') ||
169   - config.method?.toUpperCase() === RequestEnum.GET
170   - ) {
171   - return config
172   - }
173   -
174   - return {
175   - ...config,
176   - data: qs.stringify(config.data, { arrayFormat: 'brackets' })
177   - }
178   - }
179   -
180   - get<T = any>(config: AxiosRequestConfig, options?: RequestOptions): Promise<T> {
181   - return this.request({ ...config, method: 'GET' }, options)
182   - }
183   -
184   - post<T = any>(config: AxiosRequestConfig, options?: RequestOptions): Promise<T> {
185   - return this.request({ ...config, method: 'POST' }, options)
186   - }
187   -
188   - put<T = any>(config: AxiosRequestConfig, options?: RequestOptions): Promise<T> {
189   - return this.request({ ...config, method: 'PUT' }, options)
190   - }
191   -
192   - delete<T = any>(config: AxiosRequestConfig, options?: RequestOptions): Promise<T> {
193   - return this.request({ ...config, method: 'DELETE' }, options)
194   - }
195   -
196   - download<T = any>(
197   - config: AxiosRequestConfig,
198   - title: string,
199   - options?: RequestOptions
200   - ): Promise<T> {
201   - let conf: CreateAxiosOptions = cloneDeep({
202   - ...config,
203   - method: 'GET',
204   - responseType: 'blob'
205   - })
206   - const transform = this.getTransform()
207   -
208   - const { requestOptions } = this.options
209   -
210   - const opt: RequestOptions = Object.assign({}, requestOptions, options)
211   -
212   - const { beforeRequestHook, requestCatchHook } = transform || {}
213   -
214   - if (beforeRequestHook && isFunction(beforeRequestHook)) {
215   - conf = beforeRequestHook(conf, opt)
216   - }
217   - conf.requestOptions = opt
218   -
219   - conf = this.supportFormData(conf)
220   -
221   - return new Promise((resolve, reject) => {
222   - this.axiosInstance
223   - .request<any, AxiosResponse<RequestResult>>(conf)
224   - .then((res: AxiosResponse<RequestResult>) => {
225   - resolve(res as unknown as Promise<T>)
226   - // download file
227   - if (typeof res != undefined) {
228   - downloadByData(res?.data as unknown as BlobPart, title)
229   - }
230   - })
231   - .catch((e: Error | AxiosError) => {
232   - if (requestCatchHook && isFunction(requestCatchHook)) {
233   - reject(requestCatchHook(e, opt))
234   - return
235   - }
236   - if (axios.isAxiosError(e)) {
237   - // rewrite error message from axios in here
238   - }
239   - reject(e)
240   - })
241   - })
242   - }
243   -
244   - request<T = any>(config: AxiosRequestConfig, options?: RequestOptions): Promise<T> {
245   - let conf: CreateAxiosOptions = cloneDeep(config)
246   - const transform = this.getTransform()
247   -
248   - const { requestOptions } = this.options
249   -
250   - const opt: RequestOptions = Object.assign({}, requestOptions, options)
251   -
252   - const { beforeRequestHook, requestCatchHook, transformRequestHook } = transform || {}
253   - if (beforeRequestHook && isFunction(beforeRequestHook)) {
254   - conf = beforeRequestHook(conf, opt)
255   - }
256   - conf.requestOptions = opt
257   -
258   - conf = this.supportFormData(conf)
259   -
260   - return new Promise((resolve, reject) => {
261   - this.axiosInstance
262   - .request<any, AxiosResponse<RequestResult>>(conf)
263   - .then((res: AxiosResponse<RequestResult>) => {
264   - if (transformRequestHook && isFunction(transformRequestHook)) {
265   - try {
266   - const ret = transformRequestHook(res, opt)
267   - resolve(ret)
268   - } catch (err) {
269   - reject(err || new Error('request error!'))
270   - }
271   - return
272   - }
273   - resolve(res as unknown as Promise<T>)
274   - })
275   - .catch((e: Error | AxiosError) => {
276   - if (requestCatchHook && isFunction(requestCatchHook)) {
277   - reject(requestCatchHook(e, opt))
278   - return
279   - }
280   - if (axios.isAxiosError(e)) {
281   - // rewrite error message from axios in here
282   - }
283   - reject(e)
284   - })
285   - })
286   - }
287   -}
yudao-ui-admin-vue3/src/config/axios/axiosCancel.ts deleted
1   -import type { AxiosRequestConfig, Canceler } from 'axios'
2   -import axios from 'axios'
3   -import { isFunction } from '@/utils/is'
4   -
5   -// 用于存储每个请求的标识和取消功能
6   -let pendingMap = new Map<string, Canceler>()
7   -
8   -export const getPendingUrl = (config: AxiosRequestConfig) => [config.method, config.url].join('&')
9   -
10   -export class AxiosCanceler {
11   - /**
12   - * 添加请求
13   - * @param {Object} config
14   - */
15   - addPending(config: AxiosRequestConfig) {
16   - this.removePending(config)
17   - const url = getPendingUrl(config)
18   - config.cancelToken =
19   - config.cancelToken ||
20   - new axios.CancelToken((cancel) => {
21   - if (!pendingMap.has(url)) {
22   - // If there is no current request in pending, add it
23   - pendingMap.set(url, cancel)
24   - }
25   - })
26   - }
27   -
28   - /**
29   - * @description: 清除所有待处理的
30   - */
31   - removeAllPending() {
32   - pendingMap.forEach((cancel) => {
33   - cancel && isFunction(cancel) && cancel()
34   - })
35   - pendingMap.clear()
36   - }
37   -
38   - /**
39   - * 删除请求
40   - * @param {Object} config
41   - */
42   - removePending(config: AxiosRequestConfig) {
43   - const url = getPendingUrl(config)
44   -
45   - if (pendingMap.has(url)) {
46   - // 如果挂起中有当前请求标识符,则需要取消并删除当前请求
47   - const cancel = pendingMap.get(url)
48   - cancel && cancel(url)
49   - pendingMap.delete(url)
50   - }
51   - }
52   -
53   - /** 重置 */
54   - reset(): void {
55   - pendingMap = new Map<string, Canceler>()
56   - }
57   -}
yudao-ui-admin-vue3/src/config/axios/axiosTransform.ts deleted
1   -/** 数据处理类,可根据项目配置 */
2   -import type { AxiosRequestConfig, AxiosResponse } from 'axios'
3   -import type { RequestOptions, RequestResult } from 'types/axios'
4   -
5   -export interface CreateAxiosOptions extends AxiosRequestConfig {
6   - authenticationScheme?: string
7   - transform?: AxiosTransform
8   - requestOptions?: RequestOptions
9   -}
10   -
11   -export abstract class AxiosTransform {
12   - /** 请求前的流程配置 */
13   - beforeRequestHook?: (config: AxiosRequestConfig, options: RequestOptions) => AxiosRequestConfig
14   -
15   - /** 请求成功处理 */
16   - transformRequestHook?: (res: AxiosResponse<RequestResult>, options: RequestOptions) => any
17   -
18   - /** 请求失败处理 */
19   - requestCatchHook?: (e: Error, options: RequestOptions) => Promise<any>
20   -
21   - /** 请求之前的拦截器 */
22   - requestInterceptors?: (
23   - config: AxiosRequestConfig,
24   - options: CreateAxiosOptions
25   - ) => AxiosRequestConfig
26   -
27   - /** 请求之后的拦截器 */
28   - responseInterceptors?: (res: AxiosResponse<any>) => AxiosResponse<any>
29   -
30   - /** 请求之前的拦截器错误处理 */
31   - requestInterceptorsCatch?: (error: Error) => void
32   -
33   - /** 请求之后的拦截器错误处理 */
34   - responseInterceptorsCatch?: (error: Error) => void
35   -}
yudao-ui-admin-vue3/src/config/axios/checkStatus.ts deleted
1   -import type { ErrorMessageMode } from 'types/axios'
2   -import { ElMessage, ElMessageBox } from 'element-plus'
3   -import { useI18n } from '@/hooks/web/useI18n'
4   -import { useCache } from '@/hooks/web/useCache'
5   -
6   -const { wsCache } = useCache()
7   -
8   -export function checkStatus(
9   - status: number,
10   - msg: string,
11   - errorMessageMode: ErrorMessageMode = 'message'
12   -): void {
13   - const { t } = useI18n()
14   - let errMessage = ''
15   -
16   - switch (status) {
17   - case 400:
18   - errMessage = `${msg}`
19   - break
20   - // 401: Not logged in
21   - // 如果未登录,跳转到登录页面,并携带当前页面的路径
22   - // 成功登录后返回当前页面。此步骤需要在登录页面上操作。
23   - case 401:
24   - wsCache.clear()
25   - errMessage = msg || t('sys.api.errMsg401')
26   - break
27   - case 403:
28   - errMessage = t('sys.api.errMsg403')
29   - break
30   - // 404请求不存在
31   - case 404:
32   - errMessage = t('sys.api.errMsg404')
33   - break
34   - case 405:
35   - errMessage = t('sys.api.errMsg405')
36   - break
37   - case 408:
38   - errMessage = t('sys.api.errMsg408')
39   - break
40   - case 500:
41   - errMessage = t('sys.api.errMsg500')
42   - break
43   - case 501:
44   - errMessage = t('sys.api.errMsg501')
45   - break
46   - case 502:
47   - errMessage = t('sys.api.errMsg502')
48   - break
49   - case 503:
50   - errMessage = t('sys.api.errMsg503')
51   - break
52   - case 504:
53   - errMessage = t('sys.api.errMsg504')
54   - break
55   - case 505:
56   - errMessage = t('sys.api.errMsg505')
57   - break
58   - case 901:
59   - errMessage = t('sys.api.errMsg505')
60   - break
61   - default:
62   - }
63   -
64   - if (errMessage) {
65   - if (errorMessageMode === 'modal') {
66   - ElMessageBox.confirm(errMessage, {
67   - cancelButtonText: t('common.cancel'),
68   - type: 'warning'
69   - })
70   - } else if (errorMessageMode === 'message') {
71   - ElMessage.error(errMessage)
72   - }
73   - }
74   -}
yudao-ui-admin-vue3/src/config/axios/config.ts 0 → 100644
  1 +const config: {
  2 + base_url: {
  3 + base: string
  4 + dev: string
  5 + pro: string
  6 + test: string
  7 + }
  8 + result_code: number | string
  9 + default_headers: AxiosHeaders
  10 + request_timeout: number
  11 +} = {
  12 + /**
  13 + * api请求基础路径
  14 + */
  15 + base_url: {
  16 + // 开发环境接口前缀
  17 + base: '',
  18 +
  19 + // 打包开发环境接口前缀
  20 + dev: '',
  21 +
  22 + // 打包生产环境接口前缀
  23 + pro: '',
  24 +
  25 + // 打包测试环境接口前缀
  26 + test: ''
  27 + },
  28 +
  29 + /**
  30 + * 接口成功返回状态码
  31 + */
  32 + result_code: 200,
  33 +
  34 + /**
  35 + * 接口请求超时时间
  36 + */
  37 + request_timeout: 30000,
  38 +
  39 + /**
  40 + * 默认接口请求类型
  41 + * 可选值:application/x-www-form-urlencoded multipart/form-data
  42 + */
  43 + default_headers: 'application/json'
  44 +}
  45 +
  46 +export { config }
... ...
yudao-ui-admin-vue3/src/config/axios/errorCode.ts 0 → 100644
  1 +export default {
  2 + '401': '认证失败,无法访问系统资源',
  3 + '403': '当前操作没有权限',
  4 + '404': '访问资源不存在',
  5 + default: '系统未知错误,请反馈给管理员'
  6 +}
... ...
yudao-ui-admin-vue3/src/config/axios/helper.ts deleted
1   -import { isObject, isString } from '@/utils/is'
2   -
3   -const DATE_TIME_FORMAT = 'YYYY-MM-DD HH:mm:ss'
4   -
5   -export function joinTimestamp<T extends boolean>(
6   - join: boolean,
7   - restful: T
8   -): T extends true ? string : object
9   -
10   -export function joinTimestamp(join: boolean, restful = false): string | object {
11   - if (!join) {
12   - return restful ? '' : {}
13   - }
14   - const now = new Date().getTime()
15   - if (restful) {
16   - return `?_t=${now}`
17   - }
18   - return { _t: now }
19   -}
20   -
21   -/** 格式化请求参数中的时间 */
22   -export function formatRequestDate(params: Recordable) {
23   - if (Object.prototype.toString.call(params) !== '[object Object]') {
24   - return
25   - }
26   -
27   - for (const key in params) {
28   - if (params[key] && params[key]._isAMomentObject) {
29   - params[key] = params[key].format(DATE_TIME_FORMAT)
30   - }
31   - if (isString(key)) {
32   - const value = params[key]
33   - if (value) {
34   - try {
35   - params[key] = isString(value) ? value.trim() : value
36   - } catch (error: any) {
37   - throw new Error(error)
38   - }
39   - }
40   - }
41   - if (isObject(params[key])) {
42   - formatRequestDate(params[key])
43   - }
44   - }
45   -}
yudao-ui-admin-vue3/src/config/axios/index.ts
1   -// axios配置 可自行根据项目进行更改,只需更改该文件即可,其他文件可以不动
2   -// The axios configuration can be changed according to the project, just change the file, other files can be left unchanged
  1 +import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse, AxiosError } from 'axios'
  2 +import { ElMessage, ElMessageBox, ElNotification } from 'element-plus'
  3 +import qs from 'qs'
  4 +import { config } from '@/config/axios/config'
  5 +import { getAccessToken, getRefreshToken, getTenantId } from '@/utils/auth'
  6 +import errorCode from './errorCode'
3 7  
4   -import type { AxiosResponse } from 'axios'
5   -import type { RequestOptions, RequestResult } from 'types/axios'
6   -import type { AxiosTransform, CreateAxiosOptions } from './axiosTransform'
7   -import { VAxios } from './Axios'
8   -import { checkStatus } from './checkStatus'
9   -import { RequestEnum, ResultEnum, ContentTypeEnum } from '@/enums/http.enum'
10   -import { useCache } from '@/hooks/web/useCache'
11   -import { isString } from '@/utils/is'
12   -import { getAccessToken, setToken } from '@/utils/auth'
13   -import { setObjToUrlParams, deepMerge } from './utils'
14   -import { useI18n } from '@/hooks/web/useI18n'
15   -import { joinTimestamp, formatRequestDate } from './helper'
16   -import { ElMessage, ElMessageBox } from 'element-plus'
17   -import { refreshToken } from '@/api/login'
18   -
19   -const { t } = useI18n()
20   -const { wsCache } = useCache()
21 8 const tenantEnable = import.meta.env.VITE_APP_TENANT_ENABLE
22 9 const BASE_URL = import.meta.env.VITE_BASE_URL
23 10 const BASE_API = import.meta.env.VITE_API_URL
24   -const apiUrl = BASE_URL + BASE_API
  11 +const { result_code, base_url } = config
  12 +
  13 +// 需要忽略的提示。忽略后,自动 Promise.reject('error')
  14 +const ignoreMsgs = [
  15 + '无效的刷新令牌', // 刷新令牌被删除时,不用提示
  16 + '刷新令牌已过期' // 使用刷新令牌,刷新获取新的访问令牌时,结果因为过期失败,此时需要忽略。否则,会导致继续 401,无法跳转到登出界面
  17 +]
25 18 // 是否显示重新登录
26   -// export let isRelogin = { show: false }
27   -// TODO 请求队列
28   -// let requestList = []
  19 +export const isRelogin = { show: false }
  20 +// Axios 无感知刷新令牌,参考 https://www.dashingdog.cn/article/11 与 https://segmentfault.com/a/1190000020210980 实现
29 21 // 是否正在刷新中
30 22 let isRefreshToken = false
31   -/**
32   - * @description: 数据处理,方便区分多种处理方式
33   - */
34   -const transform: AxiosTransform = {
35   - /**
36   - * @description: 处理请求数据。如果数据不是预期格式,可直接抛出错误
37   - */
38   - transformRequestHook: async (res: AxiosResponse<RequestResult>, options: RequestOptions) => {
39   - const { isTransformResponse, isReturnNativeResponse } = options
40   - // 是否返回原生响应头 比如:需要获取响应头时使用该属性
41   - if (isReturnNativeResponse) {
42   - return res
43   - }
44   - // 不进行任何处理,直接返回
45   - // 用于页面代码可能需要直接获取code,data,message这些信息时开启
46   - if (!isTransformResponse) {
47   - return res.data
48   - }
49   - // 错误的时候返回
50   -
51   - const { data } = res
52   - if (!data) {
53   - // 返回“[HTTP]请求没有返回值”;
54   - throw new Error(t('sys.api.apiRequestFailed'))
55   - }
56   - // 这里 code,result,message为 后台统一的字段,需要在 types.ts内修改为项目自己的接口返回格式
57   - const { code, msg } = data
58   - const result = data.data
59   - // TODO 芋艿:文件下载,需要特殊处理
60   - if (code === undefined) {
61   - console.log(res)
62   - return res.data
  23 +export const PATH_URL = base_url[import.meta.env.VITE_API_BASEPATH]
  24 +
  25 +// 创建axios实例
  26 +const service: AxiosInstance = axios.create({
  27 + baseURL: BASE_URL + BASE_API, // api 的 base_url
  28 + timeout: config.request_timeout // 请求超时时间
  29 +})
  30 +
  31 +// request拦截器
  32 +service.interceptors.request.use(
  33 + (config: AxiosRequestConfig) => {
  34 + // 是否需要设置 token
  35 + const isToken = (config!.headers || {}).isToken === false
  36 + if (getAccessToken() && !isToken) {
  37 + ;(config as Recordable).headers.Authorization = 'Bearer ' + getAccessToken() // 让每个请求携带自定义token
63 38 }
64   -
65   - // 这里逻辑可以根据项目进行修改
66   - const hasSuccess = data && Reflect.has(data, 'code') && code === ResultEnum.SUCCESS
67   - if (hasSuccess) {
68   - return result
69   - }
70   -
71   - // 在此处根据自己项目的实际情况对不同的code执行不同的操作
72   - // 如果不希望中断当前请求,请return数据,否则直接抛出异常即可
73   - let timeoutMsg = ''
74   - switch (code) {
75   - case ResultEnum.TIMEOUT:
76   - // TODO 未完成
77   - // 如果未认证,并且未进行刷新令牌,说明可能是访问令牌过期了
78   - if (!isRefreshToken) {
79   - isRefreshToken = true
80   - const refreshTokenRes = await refreshToken()
81   - // 1. 如果获取不到刷新令牌,则只能执行登出操作
82   - if (!refreshTokenRes) {
83   - timeoutMsg = t('sys.api.timeoutMessage')
84   - wsCache.clear() // 清除浏览器全部临时缓存
85   - ElMessageBox.confirm(timeoutMsg, {
86   - confirmButtonText: t('login.relogin'),
87   - cancelButtonText: t('common.cancel'),
88   - type: 'warning'
89   - })
90   - .then(() => {})
91   - .catch(() => {})
92   - break
93   - } else {
94   - // 2. 进行刷新访问令牌
95   - // 2.1 刷新成功,则回放队列的请求 + 当前请求
96   - setToken(refreshTokenRes.data)
97   - }
98   - }
99   - default:
100   - if (msg) {
101   - timeoutMsg = msg
102   - }
103   - }
104   -
105   - // errorMessageMode=‘modal’的时候会显示modal错误弹窗,而不是消息提示,用于一些比较重要的错误
106   - // errorMessageMode='none' 一般是调用时明确表示不希望自动弹出错误提示
107   - if (options.errorMessageMode === 'modal') {
108   - await ElMessageBox.confirm(timeoutMsg, {
109   - type: 'error'
110   - })
111   - } else if (options.errorMessageMode === 'message') {
112   - ElMessage.error(timeoutMsg)
  39 + // 设置租户
  40 + if (tenantEnable) {
  41 + const tenantId = getTenantId()
  42 + if (tenantId) (config as Recordable).headers.common['tenant-id'] = tenantId
113 43 }
114   -
115   - throw new Error(timeoutMsg || t('sys.api.apiRequestFailed'))
116   - },
117   -
118   - // 请求之前处理config
119   - beforeRequestHook: (config, options) => {
120   - const { apiUrl, joinParamsToUrl, formatDate, joinTime = true } = options
121   -
122   - if (apiUrl && isString(apiUrl)) {
123   - config.url = `${apiUrl}${config.url}`
  44 + if (
  45 + config.method === 'post' &&
  46 + config!.headers!['Content-Type'] === 'application/x-www-form-urlencoded'
  47 + ) {
  48 + config.data = qs.stringify(config.data)
124 49 }
125   - const params = config.params || {}
126   - const data = config.data || false
127   - formatDate && data && !isString(data) && formatRequestDate(data)
128   - if (config.method?.toUpperCase() === RequestEnum.GET) {
129   - if (!isString(params)) {
130   - // 给 get 请求加上时间戳参数,避免从缓存中拿数据。
131   - config.params = Object.assign(params || {}, joinTimestamp(joinTime, false))
132   - } else {
133   - // 兼容restful风格
134   - config.url = config.url + params + `${joinTimestamp(joinTime, true)}`
135   - config.params = undefined
136   - }
137   - } else {
138   - if (!isString(params)) {
139   - formatDate && formatRequestDate(params)
140   - if (Reflect.has(config, 'data') && config.data && Object.keys(config.data).length > 0) {
141   - config.data = data
142   - config.params = params
143   - } else {
144   - // 非GET请求如果没有提供data,则将params视为data
145   - config.data = params
146   - config.params = undefined
  50 + // get参数编码
  51 + if (config.method === 'get' && config.params) {
  52 + let url = config.url as string
  53 + url += '?'
  54 + const keys = Object.keys(config.params)
  55 + for (const key of keys) {
  56 + if (config.params[key] !== void 0 && config.params[key] !== null) {
  57 + url += `${key}=${encodeURIComponent(config.params[key])}&`
147 58 }
148   - if (joinParamsToUrl) {
149   - config.url = setObjToUrlParams(
150   - config.url as string,
151   - Object.assign({}, config.params, config.data)
152   - )
153   - }
154   - } else {
155   - // 兼容restful风格
156   - config.url = config.url + params
157   - config.params = undefined
158 59 }
  60 + // 给 get 请求加上时间戳参数,避免从缓存中拿数据
  61 + // const now = new Date().getTime()
  62 + // url = url.substring(0, url.length - 1) + `?_t=${now}`
  63 + config.params = {}
  64 + config.url = url
159 65 }
160 66 return config
161 67 },
  68 + (error: AxiosError) => {
  69 + // Do something with request error
  70 + console.log(error) // for debug
  71 + Promise.reject(error)
  72 + }
  73 +)
162 74  
163   - /**
164   - * @description: 请求拦截器处理
165   - */
166   - requestInterceptors: (config, options) => {
167   - // 请求之前处理config
168   - const token = getAccessToken()
169   - if (token && (config as Recordable)?.requestOptions?.withToken !== false) {
170   - // jwt token
171   - ;(config as Recordable).headers.Authorization = options.authenticationScheme
172   - ? `${options.authenticationScheme} ${token}`
173   - : token
174   - }
175   - // 设置租户
176   - if (tenantEnable) {
177   - const tenantId = wsCache.get('tenantId')
178   - if (tenantId) (config as Recordable).headers.common['tenant-id'] = tenantId
  75 +// response 拦截器
  76 +service.interceptors.response.use(
  77 + async (response: AxiosResponse<Recordable>) => {
  78 + const { data } = response
  79 + if (!data) {
  80 + // 返回“[HTTP]请求没有返回值”;
  81 + throw new Error()
179 82 }
180   - return config
181   - },
182   -
183   - /**
184   - * @description: 响应拦截器处理
185   - */
186   - responseInterceptors: (res: AxiosResponse<any>) => {
187   - return res
188   - },
189   -
190   - /**
191   - * @description: 响应错误处理
192   - */
193   - responseInterceptorsCatch: (error: any) => {
194   - const { response, code, message, config } = error || {}
195   - const errorMessageMode = config?.requestOptions?.errorMessageMode || 'none'
196   - const msg: string = response?.data?.msg ?? ''
197   - const err: string = error?.toString?.() ?? ''
198   - let errMessage = ''
199   -
200   - try {
201   - if (code === 'ECONNABORTED' && message.indexOf('timeout') !== -1) {
202   - errMessage = t('sys.api.apiTimeoutMessage')
203   - }
204   - if (err?.includes('Network Error')) {
205   - errMessage = t('sys.api.networkExceptionMsg')
206   - }
207   -
208   - if (errMessage) {
209   - if (errorMessageMode === 'modal') {
210   - ElMessageBox.confirm(errMessage, {
211   - type: 'error'
212   - })
213   - } else if (errorMessageMode === 'message') {
214   - ElMessage.error(errMessage)
  83 + // 未设置状态码则默认成功状态
  84 + const code = data.code || result_code
  85 + // 获取错误信息
  86 + const msg = data.msg || errorCode[code] || errorCode['default']
  87 + if (ignoreMsgs.indexOf(msg) !== -1) {
  88 + // 如果是忽略的错误码,直接返回 msg 异常
  89 + return Promise.reject(msg)
  90 + } else if (code === 401) {
  91 + // 如果未认证,并且未进行刷新令牌,说明可能是访问令牌过期了
  92 + if (!isRefreshToken) {
  93 + isRefreshToken = true
  94 + // 1. 如果获取不到刷新令牌,则只能执行登出操作
  95 + if (!getRefreshToken()) {
  96 + return handleAuthorized()
215 97 }
216   - return Promise.reject(error)
217 98 }
218   - } catch (error) {
219   - throw new Error(error as unknown as string)
  99 + } else if (code === 500) {
  100 + ElMessage.error(msg)
  101 + return Promise.reject(new Error(msg))
  102 + } else if (code === 901) {
  103 + ElMessage.error(
  104 + '<div>演示模式,无法进行写操作</div>' +
  105 + '<div> &nbsp; </div>' +
  106 + '<div>参考 https://doc.iocoder.cn/ 教程</div>' +
  107 + '<div> &nbsp; </div>' +
  108 + '<div>5 分钟搭建本地环境</div>'
  109 + )
  110 + return Promise.reject(new Error(msg))
  111 + } else if (code !== 200) {
  112 + if (msg === '无效的刷新令牌') {
  113 + // hard coding:忽略这个提示,直接登出
  114 + console.log(msg)
  115 + } else {
  116 + ElNotification.error({
  117 + title: msg
  118 + })
  119 + }
  120 + return Promise.reject('error')
  121 + } else {
  122 + return data
220 123 }
221   -
222   - checkStatus(error?.response?.status, msg, errorMessageMode)
  124 + },
  125 + (error: AxiosError) => {
  126 + console.log('err' + error) // for debug
  127 + ElMessage.error(error.message)
223 128 return Promise.reject(error)
224 129 }
  130 +)
  131 +function handleAuthorized() {
  132 + if (!isRelogin.show) {
  133 + isRelogin.show = true
  134 + ElMessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', {
  135 + confirmButtonText: '重新登录',
  136 + cancelButtonText: '取消',
  137 + type: 'warning'
  138 + })
  139 + .then(() => {
  140 + isRelogin.show = false
  141 + })
  142 + .catch(() => {
  143 + isRelogin.show = false
  144 + })
  145 + }
  146 + return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
225 147 }
226   -
227   -function createAxios(opt?: Partial<CreateAxiosOptions>) {
228   - return new VAxios(
229   - deepMerge(
230   - {
231   - // See https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication#authentication_schemes
232   - // authentication schemes,e.g: Bearer
233   - // authenticationScheme: 'Bearer',
234   - authenticationScheme: 'Bearer',
235   - timeout: 10 * 1000,
236   - // 基础接口地址
237   - // baseURL: globSetting.apiUrl,
238   -
239   - headers: { 'Content-Type': ContentTypeEnum.JSON },
240   - // 如果是form-data格式
241   - // headers: { 'Content-Type': ContentTypeEnum.FORM_URLENCODED },
242   - // 数据处理方式
243   - transform,
244   - // 配置项,下面的选项都可以在独立的接口请求中覆盖
245   - requestOptions: {
246   - // 默认将prefix 添加到url
247   - joinPrefix: true,
248   - // 是否返回原生响应头 比如:需要获取响应头时使用该属性
249   - isReturnNativeResponse: false,
250   - // 需要对返回数据进行处理
251   - isTransformResponse: true,
252   - // post请求的时候添加参数到url
253   - joinParamsToUrl: false,
254   - // 格式化提交参数时间
255   - formatDate: true,
256   - // 消息提示类型
257   - errorMessageMode: 'message',
258   - // 接口地址
259   - apiUrl: apiUrl,
260   - // 是否加入时间戳
261   - joinTime: true,
262   - // 忽略重复请求
263   - ignoreCancelToken: true,
264   - // 是否携带token
265   - withToken: true
266   - }
267   - },
268   - opt || {}
269   - )
270   - )
271   -}
272   -export const defHttp = createAxios()
273   -
274   -// other api url
275   -// export const otherHttp = createAxios({
276   -// requestOptions: {
277   -// apiUrl: 'xxx',
278   -// urlPrefix: 'xxx',
279   -// },
280   -// });
  148 +export { service }
... ...
yudao-ui-admin-vue3/src/config/axios/utils.ts deleted
1   -import { unref } from 'vue'
2   -import { isObject } from '@/utils/is'
3   -// dynamic use hook props
4   -export const getDynamicProps = <T, U>(props: T): Partial<U> => {
5   - const ret: Recordable = {}
6   -
7   - Object.keys(props).map((key) => {
8   - ret[key] = unref((props as Recordable)[key])
9   - })
10   -
11   - return ret as Partial<U>
12   -}
13   -
14   -export const openWindow = (
15   - url: string,
16   - opt?: {
17   - target?: '_self' | '_blank' | string
18   - noopener?: boolean
19   - noreferrer?: boolean
20   - }
21   -) => {
22   - const { target = '__blank', noopener = true, noreferrer = true } = opt || {}
23   - const feature: string[] = []
24   -
25   - noopener && feature.push('noopener=yes')
26   - noreferrer && feature.push('noreferrer=yes')
27   -
28   - window.open(url, target, feature.join(','))
29   -}
30   -
31   -/**
32   - * Add the object as a parameter to the URL
33   - * @param baseUrl url
34   - * @param obj
35   - * @returns {string}
36   - * eg:
37   - * let obj = {a: '3', b: '4'}
38   - * setObjToUrlParams('www.baidu.com', obj)
39   - * ==>www.baidu.com?a=3&b=4
40   - */
41   -export const setObjToUrlParams = (baseUrl: string, obj: any): string => {
42   - let parameters = ''
43   - for (const key in obj) {
44   - parameters += key + '=' + encodeURIComponent(obj[key]) + '&'
45   - }
46   - parameters = parameters.replace(/&$/, '')
47   - return /\?$/.test(baseUrl) ? baseUrl + parameters : baseUrl.replace(/\/?$/, '?') + parameters
48   -}
49   -
50   -/**
51   - * @description: Set ui mount node
52   - */
53   -export const getPopupContainer = (node?: HTMLElement): HTMLElement => {
54   - return (node?.parentNode as HTMLElement) ?? document.body
55   -}
56   -
57   -export function deepMerge<T = any>(src: any = {}, target: any = {}): T {
58   - let key: string
59   - for (key in target) {
60   - src[key] = isObject(src[key]) ? deepMerge(src[key], target[key]) : (src[key] = target[key])
61   - }
62   - return src
63   -}
yudao-ui-admin-vue3/src/directive/index.ts renamed to yudao-ui-admin-vue3/src/directives/index.ts
yudao-ui-admin-vue3/src/directive/permission/hasPermi.ts renamed to yudao-ui-admin-vue3/src/directives/permission/hasPermi.ts
yudao-ui-admin-vue3/src/directive/permission/hasRole.ts renamed to yudao-ui-admin-vue3/src/directives/permission/hasRole.ts
yudao-ui-admin-vue3/src/enums/http.enum.ts deleted
1   -/**
2   - * @description: Request result set
3   - */
4   -export enum ResultEnum {
5   - SUCCESS = 0,
6   - ERROR = 500,
7   - TIMEOUT = 401,
8   - TYPE = 'success'
9   -}
10   -
11   -/**
12   - * @description: request method
13   - */
14   -export enum RequestEnum {
15   - GET = 'GET',
16   - POST = 'POST',
17   - PUT = 'PUT',
18   - DELETE = 'DELETE'
19   -}
20   -
21   -/**
22   - * @description: contentType
23   - */
24   -export enum ContentTypeEnum {
25   - // json
26   - JSON = 'application/json;charset=UTF-8',
27   - // form-data qs
28   - FORM_URLENCODED = 'application/x-www-form-urlencoded;charset=UTF-8',
29   - // form-data upload
30   - FORM_DATA = 'multipart/form-data;charset=UTF-8'
31   -}
32   -
33   -/**
34   - * Exception related enumeration
35   - */
36   -export enum ExceptionEnum {
37   - // page not access
38   - PAGE_NOT_ACCESS = 403,
39   -
40   - // page not found
41   - PAGE_NOT_FOUND = 404,
42   -
43   - // error
44   - ERROR = 500,
45   -
46   - // net work error
47   - NET_WORK_ERROR = 10000,
48   -
49   - // No data on the page. In fact, it is not an exception page
50   - PAGE_NOT_DATA = 10100
51   -}
yudao-ui-admin-vue3/src/hooks/web/useAxios.ts
1   -// import { service } from '@/config/axios'
2   -
3   -// import { AxiosPromise } from 'axios'
4   -
5   -// import { config } from '@/config/axios/config'
6   -
7   -// const { default_headers } = config
8   -
9   -// const request = <T>(option: AxiosConfig): AxiosPromise<T> => {
10   -// const { url, method, params, data, headersType, responseType } = option
11   -// return service({
12   -// url: url,
13   -// method,
14   -// params,
15   -// data,
16   -// responseType: responseType,
17   -// headers: {
18   -// 'Content-Type': headersType || default_headers
19   -// }
20   -// })
21   -// }
22   -
23   -// function getFn<T = any>(option: AxiosConfig): AxiosPromise<T> {
24   -// return request<T>({ method: 'get', ...option })
25   -// }
26   -
27   -// function postFn<T = any>(option: AxiosConfig): AxiosPromise<T> {
28   -// return request<T>({ method: 'post', ...option })
29   -// }
30   -
31   -// function deleteFn<T = any>(option: AxiosConfig): AxiosPromise<T> {
32   -// return request<T>({ method: 'delete', ...option })
33   -// }
34   -
35   -// function putFn<T = any>(option: AxiosConfig): AxiosPromise<T> {
36   -// return request<T>({ method: 'put', ...option })
37   -// }
38   -
39   -// export const useAxios = () => {
40   -// return {
41   -// get: getFn,
42   -// post: postFn,
43   -// delete: deleteFn,
44   -// put: putFn
45   -// }
46   -// }
  1 +import { service } from '@/config/axios'
  2 +
  3 +import { config } from '@/config/axios/config'
  4 +
  5 +const { default_headers } = config
  6 +
  7 +const request = (option: AxiosConfig) => {
  8 + const { url, method, params, data, headersType, responseType } = option
  9 + return service({
  10 + url: url,
  11 + method,
  12 + params,
  13 + data,
  14 + responseType: responseType,
  15 + headers: {
  16 + 'Content-Type': headersType || default_headers
  17 + }
  18 + })
  19 +}
  20 +
  21 +async function getFn<T = any>(option: AxiosConfig): Promise<T> {
  22 + const res = await request({ method: 'GET', ...option })
  23 + return res.data
  24 +}
  25 +
  26 +async function postFn<T = any>(option: AxiosConfig): Promise<T> {
  27 + const res = await request({ method: 'POST', ...option })
  28 + return res.data
  29 +}
  30 +
  31 +async function deleteFn<T = any>(option: AxiosConfig): Promise<T> {
  32 + const res = await request({ method: 'DELETE', ...option })
  33 + return res.data
  34 +}
  35 +
  36 +async function putFn<T = any>(option: AxiosConfig): Promise<T> {
  37 + const res = await request({ method: 'PUT', ...option })
  38 + return res.data
  39 +}
  40 +
  41 +export const useAxios = () => {
  42 + return {
  43 + get: getFn,
  44 + post: postFn,
  45 + delete: deleteFn,
  46 + put: putFn
  47 + }
  48 +}
... ...
yudao-ui-admin-vue3/src/hooks/web/useTable.ts
1 1 import download from '@/utils/download'
2   -import { useI18n } from '@/hooks/web/useI18n'
3 2 import { Table, TableExpose } from '@/components/Table'
4   -import { ElMessage, ElMessageBox, ElTable } from 'element-plus'
5   -import { computed, nextTick, reactive, ref, unref, watch } from 'vue'
  3 +import { ElTable, ElMessageBox, ElMessage } from 'element-plus'
  4 +import { ref, reactive, watch, computed, unref, nextTick } from 'vue'
6 5 import type { TableProps } from '@/components/Table/src/types'
  6 +import { useI18n } from '@/hooks/web/useI18n'
  7 +
7 8 const { t } = useI18n()
  9 +interface ResponseType<T = any> {
  10 + list: T[]
  11 + total?: string
  12 +}
8 13  
9   -interface UseTableConfig<T, L> {
10   - getListApi: (option: L) => Promise<T>
11   - delListApi?: (ids: string | number) => Promise<unknown>
12   - exportListApi?: (option: L) => Promise<T>
  14 +interface UseTableConfig<T = any> {
  15 + getListApi: (option: any) => Promise<T>
  16 + delListApi?: (option: any) => Promise<T>
  17 + exportListApi?: (option: any) => Promise<T>
  18 + // 返回数据格式配置
  19 + response?: ResponseType
13 20 props?: TableProps
14 21 }
15 22  
16   -interface TableObject<K, L> {
  23 +interface TableObject<T = any> {
17 24 pageSize: number
18 25 currentPage: number
19 26 total: number
20   - tableList: K[]
21   - paramsObj: L
  27 + tableList: T[]
  28 + params: any
22 29 loading: boolean
23 30 exportLoading: boolean
24   - currentRow: Nullable<K>
  31 + currentRow: Nullable<T>
25 32 }
26 33  
27   -export const useTable = <T, K, L extends AxiosConfig = AxiosConfig>(
28   - config?: UseTableConfig<T, L>
29   -) => {
30   - const tableObject = reactive<TableObject<K, L>>({
  34 +export const useTable = <T = any>(config?: UseTableConfig<T>) => {
  35 + const tableObject = reactive<TableObject<T>>({
31 36 // 页数
32 37 pageSize: 10,
33 38 // 当前页
... ... @@ -37,7 +42,7 @@ export const useTable = &lt;T, K, L extends AxiosConfig = AxiosConfig&gt;(
37 42 // 表格数据
38 43 tableList: [],
39 44 // AxiosConfig 配置
40   - paramsObj: {} as L,
  45 + params: {},
41 46 // 加载中
42 47 loading: true,
43 48 // 导出加载中
... ... @@ -48,11 +53,9 @@ export const useTable = &lt;T, K, L extends AxiosConfig = AxiosConfig&gt;(
48 53  
49 54 const paramsObj = computed(() => {
50 55 return {
51   - params: {
52   - ...tableObject.paramsObj.params,
53   - pageSize: tableObject.pageSize,
54   - pageNo: tableObject.currentPage
55   - }
  56 + ...tableObject.params,
  57 + pageSize: tableObject.pageSize,
  58 + pageNo: tableObject.currentPage
56 59 }
57 60 })
58 61  
... ... @@ -109,33 +112,25 @@ export const useTable = &lt;T, K, L extends AxiosConfig = AxiosConfig&gt;(
109 112 await (config?.delListApi && config?.delListApi(ids))
110 113 }
111 114 ElMessage.success(t('common.delSuccess'))
  115 +
112 116 // 计算出临界点
113   - tableObject.currentPage =
  117 + const currentPage =
114 118 tableObject.total % tableObject.pageSize === idsLength || tableObject.pageSize === 1
115 119 ? tableObject.currentPage > 1
116 120 ? tableObject.currentPage - 1
117 121 : tableObject.currentPage
118 122 : tableObject.currentPage
  123 +
  124 + tableObject.currentPage = currentPage
119 125 methods.getList()
120 126 }
121 127  
122   - const methods: {
123   - setProps: (props: Recordable) => void
124   - getList: () => Promise<void>
125   - setColumn: (columnProps: TableSetPropsType[]) => void
126   - setSearchParams: (data: Recordable) => void
127   - getSelections: () => Promise<K[]>
128   - delList: (ids: string | number | string[] | number[], multiple: boolean) => Promise<void>
129   - exportList: (fileName: string) => Promise<void>
130   - } = {
  128 + const methods = {
131 129 getList: async () => {
132 130 tableObject.loading = true
133   - const res = await config
134   - ?.getListApi(unref(paramsObj) as unknown as L)
135   - .catch(() => {})
136   - .finally(() => {
137   - tableObject.loading = false
138   - })
  131 + const res = await config?.getListApi(unref(paramsObj)).finally(() => {
  132 + tableObject.loading = false
  133 + })
139 134 if (res) {
140 135 tableObject.tableList = res?.list
141 136 tableObject.total = res?.total
... ... @@ -151,41 +146,42 @@ export const useTable = &lt;T, K, L extends AxiosConfig = AxiosConfig&gt;(
151 146 },
152 147 getSelections: async () => {
153 148 const table = await getTable()
154   - return (table?.selections || []) as K[]
  149 + return (table?.selections || []) as T[]
155 150 },
156 151 // 与Search组件结合
157 152 setSearchParams: (data: Recordable) => {
158 153 tableObject.currentPage = 1
159   - tableObject.paramsObj = Object.assign(tableObject.paramsObj, {
160   - params: {
161   - pageSize: tableObject.pageSize,
162   - pageNo: tableObject.currentPage,
163   - ...data
164   - }
  154 + tableObject.params = Object.assign(tableObject.params, {
  155 + pageSize: tableObject.pageSize,
  156 + pageNo: tableObject.currentPage,
  157 + ...data
165 158 })
166 159 methods.getList()
167 160 },
168 161 // 删除数据
169   - delList: async (ids: string | number | string[] | number[], multiple: boolean) => {
  162 + delList: async (
  163 + ids: string | number | string[] | number[],
  164 + multiple: boolean,
  165 + message = true
  166 + ) => {
170 167 const tableRef = await getTable()
171   - let message = 'common.delDataMessage'
172 168 if (multiple) {
173 169 if (!tableRef?.selections.length) {
174 170 ElMessage.warning(t('common.delNoData'))
175 171 return
176   - } else {
177   - message = 'common.delMessage'
178 172 }
179 173 }
180   - ElMessageBox.confirm(t(message), t('common.confirmTitle'), {
181   - confirmButtonText: t('common.ok'),
182   - cancelButtonText: t('common.cancel'),
183   - type: 'warning'
184   - })
185   - .then(async () => {
  174 + if (message) {
  175 + ElMessageBox.confirm(t('common.delMessage'), t('common.confirmTitle'), {
  176 + confirmButtonText: t('common.ok'),
  177 + cancelButtonText: t('common.cancel'),
  178 + type: 'warning'
  179 + }).then(async () => {
186 180 await delData(ids)
187 181 })
188   - .catch(() => {})
  182 + } else {
  183 + await delData(ids)
  184 + }
189 185 },
190 186 // 导出列表
191 187 exportList: async (fileName: string) => {
... ... @@ -196,14 +192,11 @@ export const useTable = &lt;T, K, L extends AxiosConfig = AxiosConfig&gt;(
196 192 type: 'warning'
197 193 })
198 194 .then(async () => {
199   - const res = await config
200   - ?.exportListApi?.(unref(paramsObj) as unknown as L)
201   - .catch(() => {})
  195 + const res = await config?.exportListApi?.(unref(paramsObj) as unknown as T)
202 196 if (res) {
203 197 download.excel(res, fileName)
204 198 }
205 199 })
206   - .catch(() => {})
207 200 .finally(() => {
208 201 tableObject.exportLoading = false
209 202 })
... ...
yudao-ui-admin-vue3/src/hooks/web/useValidator.ts
... ... @@ -27,8 +27,8 @@ export const useValidator = () =&gt; {
27 27 }
28 28 }
29 29  
30   - // 不能有空格
31 30 const notSpace = (val: any, callback: Callback, message: string) => {
  31 + // 用户名不能有空格
32 32 if (val.indexOf(' ') !== -1) {
33 33 callback(new Error(message))
34 34 } else {
... ... @@ -36,8 +36,8 @@ export const useValidator = () =&gt; {
36 36 }
37 37 }
38 38  
39   - // 不能是特殊字符
40 39 const notSpecialCharacters = (val: any, callback: Callback, message: string) => {
  40 + // 密码不能是特殊字符
41 41 if (/[`~!@#$%^&*()_+<>?:"{},.\/;'[\]]/gi.test(val)) {
42 42 callback(new Error(message))
43 43 } else {
... ...
yudao-ui-admin-vue3/src/main.ts
1 1 // 引入windi css
2 2 import '@/plugins/windi.css'
  3 +
3 4 // 导入全局的svg图标
4 5 import '@/plugins/svgIcon'
  6 +
5 7 // 初始化多语言
6 8 import { setupI18n } from '@/plugins/vueI18n'
  9 +
7 10 // 引入状态管理
8 11 import { setupStore } from '@/store'
  12 +
9 13 // 全局组件
10 14 import { setupGlobCom } from '@/components'
  15 +
11 16 // 引入element-plus
12 17 import { setupElementPlus } from '@/plugins/elementPlus'
  18 +
13 19 // 引入全局样式
14 20 import '@/styles/index.less'
  21 +
15 22 // 引入动画
16 23 import '@/plugins/animate.css'
  24 +
17 25 // 路由
18 26 import { setupRouter } from './router'
  27 +
19 28 // 权限
20   -import { setupAuth } from './directive'
  29 +import { setupAuth } from './directives'
  30 +
21 31 import { createApp } from 'vue'
  32 +
22 33 import App from './App.vue'
  34 +
23 35 // 创建实例
24 36 const setupAll = async () => {
25 37 const app = createApp(App)
... ...
yudao-ui-admin-vue3/src/plugins/elementPlus/message.ts deleted
1   -import { ElMessage, ElMessageBox, ElNotification } from 'element-plus'
2   -import { useI18n } from '@/hooks/web/useI18n'
3   -const { t } = useI18n() // 国际化
4   -
5   -const message = {
6   - // 消息提示
7   - msg(content: string) {
8   - ElMessage.info(content)
9   - },
10   - // 错误消息
11   - msgError(content: string) {
12   - ElMessage.error(content)
13   - },
14   - // 成功消息
15   - msgSuccess(content: string) {
16   - ElMessage.success(content)
17   - },
18   - // 警告消息
19   - msgWarning(content: string) {
20   - ElMessage.warning(content)
21   - },
22   - // 弹出提示
23   - alert(content: string) {
24   - ElMessageBox.alert(content, t('common.confirmTitle'))
25   - },
26   - // 错误提示
27   - alertError(content: string) {
28   - ElMessageBox.alert(content, t('common.confirmTitle'), { type: 'error' })
29   - },
30   - // 成功提示
31   - alertSuccess(content: string) {
32   - ElMessageBox.alert(content, t('common.confirmTitle'), { type: 'success' })
33   - },
34   - // 警告提示
35   - alertWarning(content: string) {
36   - ElMessageBox.alert(content, t('common.confirmTitle'), { type: 'warning' })
37   - },
38   - // 通知提示
39   - notify(content: string) {
40   - ElNotification.info(content)
41   - },
42   - // 错误通知
43   - notifyError(content: string) {
44   - ElNotification.error(content)
45   - },
46   - // 成功通知
47   - notifySuccess(content: string) {
48   - ElNotification.success(content)
49   - },
50   - // 警告通知
51   - notifyWarning(content: string) {
52   - ElNotification.warning(content)
53   - },
54   - // 确认窗体
55   - confirm(content: string) {
56   - return ElMessageBox.confirm(content, t('common.confirmTitle'), {
57   - confirmButtonText: t('common.ok'),
58   - cancelButtonText: t('common.cancel'),
59   - type: 'warning'
60   - })
61   - },
62   - // 提交内容
63   - prompt(content: string) {
64   - return ElMessageBox.prompt(content, t('common.confirmTitle'), {
65   - confirmButtonText: t('common.ok'),
66   - cancelButtonText: t('common.cancel'),
67   - type: 'warning'
68   - })
69   - }
70   -}
71   -
72   -export default message
yudao-ui-admin-vue3/src/router/index.ts
... ... @@ -26,7 +26,6 @@ const router = createRouter({
26 26 history: createWebHashHistory(),
27 27 strict: true,
28 28 routes: remainingRouter as RouteRecordRaw[],
29   - // routes: constantRoutes.concat(...remainingRouter),
30 29 scrollBehavior: () => ({ left: 0, top: 0 })
31 30 })
32 31  
... ...
yudao-ui-admin-vue3/src/store/modules/user.ts
1 1 import { store } from '../index'
2 2 import { defineStore } from 'pinia'
3   -import { getInfoApi } from '@/api/login'
4 3 import { getAccessToken } from '@/utils/auth'
5 4 import { useCache } from '@/hooks/web/useCache'
6 5  
  6 +const { wsCache } = useCache()
  7 +
7 8 interface UserInfoVO {
8 9 permissions: []
9 10 roles: []
... ... @@ -13,7 +14,6 @@ interface UserInfoVO {
13 14 nickname: string
14 15 }
15 16 }
16   -const { wsCache } = useCache()
17 17  
18 18 export const useUserStore = defineStore({
19 19 id: 'admin-user',
... ... @@ -27,16 +27,15 @@ export const useUserStore = defineStore({
27 27 }
28 28 }),
29 29 actions: {
30   - async getUserInfoAction() {
  30 + async getUserInfoAction(userInfo: UserInfoVO) {
31 31 if (!getAccessToken()) {
32 32 this.resetState()
33 33 return null
34 34 }
35   - const res = await getInfoApi()
36   - this.permissions = res.permissions
37   - this.roles = res.roles
38   - this.user = res.user
39   - wsCache.set('user', res)
  35 + this.permissions = userInfo.permissions
  36 + this.roles = userInfo.roles
  37 + this.user = userInfo.user
  38 + wsCache.set('user', userInfo)
40 39 },
41 40 resetState() {
42 41 this.permissions = []
... ...
yudao-ui-admin-vue3/src/styles/index.less
1 1 @import './var.css';
2   -@import 'element-plus/theme-chalk/dark/css-vars.css';
3 2 \ No newline at end of file
  3 +@import 'element-plus/theme-chalk/dark/css-vars.css';
... ...
yudao-ui-admin-vue3/src/utils/auth.ts
1 1 import { useCache } from '@/hooks/web/useCache'
2 2 import { TokenType } from '@/api/login/types'
  3 +import { decrypt, encrypt } from '@/utils/jsencrypt'
3 4  
4 5 const { wsCache } = useCache()
5 6 const AccessTokenKey = 'ACCESS_TOKEN'
6 7 const RefreshTokenKey = 'REFRESH_TOKEN'
7 8  
8 9 // 获取token
9   -export function getAccessToken() {
  10 +export const getAccessToken = () => {
10 11 // 此处与TokenKey相同,此写法解决初始化时Cookies中不存在TokenKey报错
11 12 return wsCache.get('ACCESS_TOKEN')
12 13 }
13 14  
14 15 // 刷新token
15   -export function getRefreshToken() {
  16 +export const getRefreshToken = () => {
16 17 return wsCache.get(RefreshTokenKey)
17 18 }
18 19  
19 20 // 设置token
20   -export function setToken(token: TokenType) {
  21 +export const setToken = (token: TokenType) => {
21 22 wsCache.set(RefreshTokenKey, token.refreshToken, { exp: token.expiresTime })
22 23 wsCache.set(AccessTokenKey, token.accessToken)
23 24 }
24 25  
25 26 // 删除token
26   -export function removeToken() {
  27 +export const removeToken = () => {
27 28 wsCache.delete(AccessTokenKey)
28 29 wsCache.delete(RefreshTokenKey)
29 30 }
  31 +// ========== 账号相关 ==========
  32 +
  33 +const UsernameKey = 'USERNAME'
  34 +const PasswordKey = 'PASSWORD'
  35 +const RememberMeKey = 'REMEMBER_ME'
  36 +
  37 +export const getUsername = () => {
  38 + return wsCache.get(UsernameKey)
  39 +}
  40 +
  41 +export const setUsername = (username: string) => {
  42 + wsCache.set(UsernameKey, username)
  43 +}
  44 +
  45 +export const removeUsername = () => {
  46 + wsCache.delete(UsernameKey)
  47 +}
  48 +
  49 +export const getPassword = () => {
  50 + const password = wsCache.get(PasswordKey)
  51 + return password ? decrypt(password) : undefined
  52 +}
  53 +
  54 +export const setPassword = (password: string) => {
  55 + wsCache.set(PasswordKey, encrypt(password))
  56 +}
  57 +
  58 +export const removePassword = () => {
  59 + wsCache.delete(PasswordKey)
  60 +}
  61 +
  62 +export const getRememberMe = () => {
  63 + return wsCache.get(RememberMeKey) === 'true'
  64 +}
  65 +
  66 +export const setRememberMe = (rememberMe: string) => {
  67 + wsCache.set(RememberMeKey, rememberMe)
  68 +}
  69 +
  70 +export const removeRememberMe = () => {
  71 + wsCache.delete(RememberMeKey)
  72 +}
  73 +
  74 +// ========== 租户相关 ==========
  75 +
  76 +const TenantIdKey = 'TENANT_ID'
  77 +const TenantNameKey = 'TENANT_NAME'
  78 +
  79 +export const getTenantName = () => {
  80 + return wsCache.get(TenantNameKey)
  81 +}
  82 +
  83 +export const setTenantName = (username: string) => {
  84 + wsCache.set(TenantNameKey, username)
  85 +}
  86 +
  87 +export const removeTenantName = () => {
  88 + wsCache.delete(TenantNameKey)
  89 +}
  90 +
  91 +export const getTenantId = () => {
  92 + return wsCache.get(TenantIdKey)
  93 +}
  94 +
  95 +export const setTenantId = (username: string) => {
  96 + wsCache.set(TenantIdKey, username)
  97 +}
  98 +
  99 +export const removeTenantId = () => {
  100 + wsCache.delete(TenantIdKey)
  101 +}
... ...
yudao-ui-admin-vue3/src/utils/builder.ts deleted
1   -import { required as requiredRule } from '@/utils/formRules'
2   -import dayjs from 'dayjs'
3   -import { useI18n } from '@/hooks/web/useI18n'
4   -const { t } = useI18n() // 国际化
5   -
6   -export class FormSchemaBuilder {
7   - static input(label: string, field: string, required: Boolean = false): FormSchema {
8   - return {
9   - label,
10   - field,
11   - component: 'Input',
12   - formItemProps: {
13   - rules: required ? [requiredRule] : []
14   - }
15   - }
16   - }
17   - static inputNumber(
18   - label: string,
19   - field: string,
20   - value: number,
21   - required: Boolean = false
22   - ): FormSchema {
23   - return {
24   - label,
25   - field,
26   - value,
27   - component: 'InputNumber',
28   - formItemProps: {
29   - rules: required ? [requiredRule] : []
30   - }
31   - }
32   - }
33   - static radioButton(
34   - label: string,
35   - field: string,
36   - value: number,
37   - options: ComponentOptions[],
38   - required: Boolean = false
39   - ): FormSchema {
40   - return {
41   - label,
42   - field,
43   - component: 'RadioButton',
44   - value,
45   - formItemProps: {
46   - rules: required ? [requiredRule] : []
47   - },
48   - componentProps: {
49   - options
50   - }
51   - }
52   - }
53   - static select(
54   - label: string,
55   - field: string,
56   - value: number | null,
57   - options: ComponentOptions[],
58   - required: Boolean = false
59   - ): FormSchema {
60   - return {
61   - label,
62   - field,
63   - component: 'Select',
64   - value,
65   - formItemProps: {
66   - rules: required ? [requiredRule] : []
67   - },
68   - componentProps: {
69   - options
70   - }
71   - }
72   - }
73   - static textarea(
74   - label: string,
75   - field: string,
76   - rows: number,
77   - span: number,
78   - required: Boolean = false
79   - ): FormSchema {
80   - return {
81   - label,
82   - field,
83   - component: 'Input',
84   - componentProps: {
85   - type: 'textarea',
86   - rows: rows
87   - },
88   - formItemProps: {
89   - rules: required ? [requiredRule] : []
90   - },
91   - colProps: {
92   - span: span
93   - }
94   - }
95   - }
96   -}
97   -
98   -export class TableColumnBuilder {
99   - static column(label: string, field: string): TableColumn {
100   - return {
101   - label,
102   - field
103   - }
104   - }
105   - static date(label: string, field: string, template?: string): TableColumn {
106   - return {
107   - label,
108   - field,
109   - formatter: (_: Recordable, __: TableColumn, cellValue: string) => {
110   - return dayjs(cellValue).format(template || 'YYYY-MM-DD HH:mm:ss')
111   - }
112   - }
113   - }
114   - static action(width: number): TableColumn {
115   - return {
116   - label: t('table.action'),
117   - field: 'action',
118   - width: width + 'px'
119   - }
120   - }
121   -}
122   -
123   -export class ComponentOptionsBuilder {
124   - static option(label: string, value: number): ComponentOptions {
125   - return {
126   - label,
127   - value
128   - }
129   - }
130   -}
yudao-ui-admin-vue3/src/utils/jsencrypt.ts 0 → 100644
  1 +import { JSEncrypt } from 'jsencrypt/bin/jsencrypt.min'
  2 +
  3 +// 密钥对生成 http://web.chacuo.net/netrsakeypair
  4 +
  5 +const publicKey =
  6 + 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdH\n' +
  7 + 'nzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ=='
  8 +
  9 +const privateKey =
  10 + 'MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAqhHyZfSsYourNxaY\n' +
  11 + '7Nt+PrgrxkiA50efORdI5U5lsW79MmFnusUA355oaSXcLhu5xxB38SMSyP2KvuKN\n' +
  12 + 'PuH3owIDAQABAkAfoiLyL+Z4lf4Myxk6xUDgLaWGximj20CUf+5BKKnlrK+Ed8gA\n' +
  13 + 'kM0HqoTt2UZwA5E2MzS4EI2gjfQhz5X28uqxAiEA3wNFxfrCZlSZHb0gn2zDpWow\n' +
  14 + 'cSxQAgiCstxGUoOqlW8CIQDDOerGKH5OmCJ4Z21v+F25WaHYPxCFMvwxpcw99Ecv\n' +
  15 + 'DQIgIdhDTIqD2jfYjPTY8Jj3EDGPbH2HHuffvflECt3Ek60CIQCFRlCkHpi7hthh\n' +
  16 + 'YhovyloRYsM+IS9h/0BzlEAuO0ktMQIgSPT3aFAgJYwKpqRYKlLDVcflZFCKY7u3\n' +
  17 + 'UP8iWi1Qw0Y='
  18 +
  19 +// 加密
  20 +export const encrypt = (txt: string) => {
  21 + const encryptor = new JSEncrypt()
  22 + encryptor.setPublicKey(publicKey) // 设置公钥
  23 + return encryptor.encrypt(txt) // 对数据进行加密
  24 +}
  25 +
  26 +// 解密
  27 +export const decrypt = (txt: string) => {
  28 + const encryptor = new JSEncrypt()
  29 + encryptor.setPrivateKey(privateKey) // 设置私钥
  30 + return encryptor.decrypt(txt) // 对数据进行解密
  31 +}
... ...
yudao-ui-admin-vue3/src/utils/routerHelper.ts
... ... @@ -94,13 +94,13 @@ export const generateRoutes = (routes: AppCustomRouteRecordRaw[]): AppRouteRecor
94 94 }
95 95 return res
96 96 }
97   -export const getRedirect = (parentPath: string, children: Array<Object>) => {
  97 +export const getRedirect = (parentPath: string, children: AppCustomRouteRecordRaw[]) => {
98 98 if (!children || children.length == 0) {
99 99 return parentPath
100 100 }
101   - const path = generateRoutePath(parentPath, children[0]?.path)
  101 + const path = generateRoutePath(parentPath, children[0].path)
102 102 // 递归子节点
103   - return getRedirect(path, children[0]?.children)
  103 + if (children[0].children) return getRedirect(path, children[0].children)
104 104 }
105 105 const generateRoutePath = (parentPath: string, path: string) => {
106 106 if (parentPath.endsWith('/')) {
... ...
yudao-ui-admin-vue3/src/views/Login/components/LoginForm.vue
... ... @@ -12,8 +12,8 @@ import {
12 12 ElDivider
13 13 } from 'element-plus'
14 14 import { reactive, ref, unref, onMounted, computed, watch } from 'vue'
15   -import { getCodeImgApi, getTenantIdByNameApi, loginApi, getAsyncRoutesApi } from '@/api/login'
16   -import { setToken } from '@/utils/auth'
  15 +import * as LoginApi from '@/api/login'
  16 +import { setToken, setTenantId } from '@/utils/auth'
17 17 import { useUserStoreWithOut } from '@/store/modules/user'
18 18 import { useCache } from '@/hooks/web/useCache'
19 19 import { usePermissionStore } from '@/store/modules/permission'
... ... @@ -68,14 +68,14 @@ const loginData = reactive({
68 68  
69 69 // 获取验证码
70 70 const getCode = async () => {
71   - const res = await getCodeImgApi()
  71 + const res = await LoginApi.getCodeImgApi()
72 72 loginData.codeImg = 'data:image/gif;base64,' + res.img
73 73 loginData.loginForm.uuid = res.uuid
74 74 }
75 75 //获取租户ID
76 76 const getTenantId = async () => {
77   - const res = await getTenantIdByNameApi(loginData.loginForm.tenantName)
78   - wsCache.set('tenantId', res)
  77 + const res = await LoginApi.getTenantIdByNameApi(loginData.loginForm.tenantName)
  78 + setTenantId(res)
79 79 }
80 80 // 登录
81 81 const handleLogin = async () => {
... ... @@ -83,10 +83,11 @@ const handleLogin = async () =&gt; {
83 83 const data = await validForm()
84 84 if (!data) return
85 85 loginLoading.value = true
86   - await loginApi(loginData.loginForm)
  86 + await LoginApi.loginApi(loginData.loginForm)
87 87 .then(async (res) => {
88 88 setToken(res)
89   - await userStore.getUserInfoAction()
  89 + const userInfo = await LoginApi.getInfoApi()
  90 + await userStore.getUserInfoAction(userInfo)
90 91 await getRoutes()
91 92 })
92 93 .catch(() => {
... ... @@ -100,9 +101,9 @@ const handleLogin = async () =&gt; {
100 101 // 获取路由
101 102 const getRoutes = async () => {
102 103 // 后端过滤菜单
103   - const routers = await getAsyncRoutesApi()
104   - wsCache.set('roleRouters', routers)
105   - await permissionStore.generateRoutes(routers).catch(() => {})
  104 + const res = await LoginApi.getAsyncRoutesApi()
  105 + wsCache.set('roleRouters', res)
  106 + await permissionStore.generateRoutes(res).catch(() => {})
106 107 permissionStore.getAddRouters.forEach((route) => {
107 108 addRoute(route as RouteRecordRaw) // 动态添加可访问路由表
108 109 })
... ...
yudao-ui-admin-vue3/src/views/Login/components/MobileForm.vue
1 1 <script setup lang="ts">
2 2 import { useIcon } from '@/hooks/web/useIcon'
3   -import { reactive, ref, unref, watch, onMounted, computed } from 'vue'
  3 +import { reactive, ref, unref, watch, computed } from 'vue'
4 4 import LoginFormTitle from './LoginFormTitle.vue'
5 5 import { ElForm, ElFormItem, ElInput, ElRow, ElCol, ElMessage } from 'element-plus'
6 6 import { useI18n } from '@/hooks/web/useI18n'
7 7 import { required } from '@/utils/formRules'
8 8 import {
9 9 getTenantIdByNameApi,
10   - getCodeImgApi,
11 10 getAsyncRoutesApi,
12 11 sendSmsCodeApi,
13   - smsLoginApi
  12 + smsLoginApi,
  13 + getInfoApi
14 14 } from '@/api/login'
15 15 import { useCache } from '@/hooks/web/useCache'
16 16 import { usePermissionStore } from '@/store/modules/permission'
... ... @@ -98,12 +98,6 @@ watch(
98 98 immediate: true
99 99 }
100 100 )
101   -// 获取验证码 TODO @jinz:是不是可以去掉?手机这里暂时不用验证码
102   -const getCode = async () => {
103   - const res = await getCodeImgApi()
104   - loginData.codeImg = 'data:image/gif;base64,' + res.img
105   - loginData.loginForm.uuid = res.uuid
106   -}
107 101 // 获取租户 ID
108 102 const getTenantId = async () => {
109 103 const res = await getTenantIdByNameApi(loginData.loginForm.tenantName)
... ... @@ -120,7 +114,8 @@ const signIn = async () =&gt; {
120 114 await smsLoginApi(smsVO.loginSms)
121 115 .then(async (res) => {
122 116 setToken(res?.token)
123   - await userStore.getUserInfoAction()
  117 + const userInfo = await getInfoApi()
  118 + await userStore.getUserInfoAction(userInfo)
124 119 getRoutes()
125 120 })
126 121 .catch(() => {})
... ... @@ -141,9 +136,6 @@ const getRoutes = async () =&gt; {
141 136 permissionStore.setIsAddRouters(true)
142 137 push({ path: redirect.value || permissionStore.addRouters[0].path })
143 138 }
144   -onMounted(() => {
145   - getCode()
146   -})
147 139 </script>
148 140 <template>
149 141 <el-form
... ...
yudao-ui-admin-vue3/src/views/Login/components/index.ts
... ... @@ -2,4 +2,4 @@ import LoginForm from &#39;./LoginForm.vue&#39;
2 2 import MobileForm from './MobileForm.vue'
3 3 import LoginFormTitle from './LoginFormTitle.vue'
4 4  
5   -export {LoginForm, MobileForm, LoginFormTitle}
  5 +export { LoginForm, MobileForm, LoginFormTitle }
... ...
yudao-ui-admin-vue3/src/views/Login/components/useLogin.ts
1 1 import { ref, computed, unref, Ref } from 'vue'
2   -import { useI18n } from '@/hooks/web/useI18n'
3 2  
4 3 export enum LoginStateEnum {
5 4 LOGIN,
... ... @@ -40,72 +39,3 @@ export function useFormValid&lt;T extends Object = any&gt;(formRef: Ref&lt;any&gt;) {
40 39 validForm
41 40 }
42 41 }
43   -
44   - const getFormRules = computed(
45   - (): {
46   - [k: string]: ValidationRule | ValidationRule[]
47   - } => {
48   - const accountFormRule = unref(getAccountFormRule)
49   - const passwordFormRule = unref(getPasswordFormRule)
50   - const smsFormRule = unref(getSmsFormRule)
51   - const mobileFormRule = unref(getMobileFormRule)
52   -
53   - const mobileRule = {
54   - sms: smsFormRule,
55   - mobile: mobileFormRule
56   - }
57   - switch (unref(currentState)) {
58   - // register form rules
59   - case LoginStateEnum.REGISTER:
60   - return {
61   - account: accountFormRule,
62   - password: passwordFormRule,
63   - confirmPassword: [
64   - {
65   - validator: validateConfirmPassword(formData?.password),
66   - trigger: 'change'
67   - }
68   - ],
69   - policy: [
70   - {
71   - validator: validatePolicy,
72   - trigger: 'change'
73   - }
74   - ],
75   - ...mobileRule
76   - }
77   -
78   - // reset password form rules
79   - case LoginStateEnum.RESET_PASSWORD:
80   - return {
81   - account: accountFormRule,
82   - ...mobileRule
83   - }
84   -
85   - // mobile form rules
86   - case LoginStateEnum.MOBILE:
87   - return mobileRule
88   -
89   - // login form rules
90   - default:
91   - return {
92   - account: accountFormRule,
93   - password: passwordFormRule
94   - }
95   - }
96   - }
97   - )
98   - return {
99   - getFormRules
100   - }
101   -}
102   -
103   -function createRule(message: string) {
104   - return [
105   - {
106   - required: true,
107   - message,
108   - trigger: 'change'
109   - }
110   - ]
111   -}
... ...
yudao-ui-admin-vue3/src/views/Profile/components/UserAvatar.vue
... ... @@ -53,7 +53,9 @@ const beforeUpload = (file: Blob) =&gt; {
53 53 const reader = new FileReader()
54 54 reader.readAsDataURL(file)
55 55 reader.onload = () => {
56   - state.options.img = reader.result
  56 + if (reader.result) {
  57 + state.options.img = reader.result as string
  58 + }
57 59 }
58 60 }
59 61 }
... ...
yudao-ui-admin-vue3/src/views/infra/apiAccessLog/index.vue
... ... @@ -10,7 +10,7 @@ import * as ApiAccessLogApi from &#39;@/api/infra/apiAccessLog&#39;
10 10 const { t } = useI18n() // 国际化
11 11  
12 12 // ========== 列表相关 ==========
13   -const { register, tableObject, methods } = useTable<PageResult<ApiAccessLogVO>, ApiAccessLogVO>({
  13 +const { register, tableObject, methods } = useTable<ApiAccessLogVO>({
14 14 getListApi: ApiAccessLogApi.getApiAccessLogPageApi
15 15 })
16 16 const { getList, setSearchParams } = methods
... ...
yudao-ui-admin-vue3/src/views/infra/apiErrorLog/index.vue
... ... @@ -12,7 +12,7 @@ import { ElMessage, ElMessageBox } from &#39;element-plus&#39;
12 12 const { t } = useI18n() // 国际化
13 13  
14 14 // ========== 列表相关 ==========
15   -const { register, tableObject, methods } = useTable<PageResult<ApiErrorLogVO>, ApiErrorLogVO>({
  15 +const { register, tableObject, methods } = useTable<ApiErrorLogVO>({
16 16 getListApi: ApiErrorLogApi.getApiErrorLogPageApi,
17 17 exportListApi: ApiErrorLogApi.exportApiErrorLogApi
18 18 })
... ...
yudao-ui-admin-vue3/src/views/infra/codegen/index.vue
... ... @@ -14,7 +14,7 @@ import { ElMessage, ElMessageBox } from &#39;element-plus&#39;
14 14 const { t } = useI18n() // 国际化
15 15 const { push } = useRouter()
16 16 // ========== 列表相关 ==========
17   -const { register, tableObject, methods } = useTable<PageResult<CodegenTableVO>, CodegenTableVO>({
  17 +const { register, tableObject, methods } = useTable<CodegenTableVO>({
18 18 getListApi: CodegenApi.getCodegenTablePageApi,
19 19 delListApi: CodegenApi.deleteCodegenTableApi
20 20 })
... ... @@ -71,7 +71,7 @@ getList()
71 71 <!-- 操作工具栏 -->
72 72 <div class="mb-10px">
73 73 <el-button type="primary" v-hasPermi="['infra:codegen:create']" @click="openImportTable">
74   - <Icon icon="el:zoom-in" class="mr-5px" /> {{ t('action.import') }}
  74 + <Icon icon="ep:zoom-in" class="mr-5px" /> {{ t('action.import') }}
75 75 </el-button>
76 76 </div>
77 77 <!-- 列表 -->
... ...
yudao-ui-admin-vue3/src/views/infra/config/index.vue
... ... @@ -12,7 +12,7 @@ import * as ConfigApi from &#39;@/api/infra/config&#39;
12 12 const { t } = useI18n() // 国际化
13 13  
14 14 // ========== 列表相关 ==========
15   -const { register, tableObject, methods } = useTable<PageResult<ConfigVO>, ConfigVO>({
  15 +const { register, tableObject, methods } = useTable<ConfigVO>({
16 16 getListApi: ConfigApi.getConfigPageApi,
17 17 delListApi: ConfigApi.deleteConfigApi,
18 18 exportListApi: ConfigApi.exportConfigApi
... ... @@ -102,7 +102,7 @@ getList()
102 102 <!-- 操作工具栏 -->
103 103 <div class="mb-10px">
104 104 <el-button type="primary" v-hasPermi="['infra:config:create']" @click="handleCreate">
105   - <Icon icon="el:zoom-in" class="mr-5px" /> {{ t('action.add') }}
  105 + <Icon icon="ep:zoom-in" class="mr-5px" /> {{ t('action.add') }}
106 106 </el-button>
107 107 <el-button
108 108 type="warning"
... ...
yudao-ui-admin-vue3/src/views/infra/dataSourceConfig/index.vue
... ... @@ -92,7 +92,7 @@ onMounted(async () =&gt; {
92 92 type="primary"
93 93 @click="handleCreate"
94 94 >
95   - <Icon icon="el:zoom-in" class="mr-5px" /> {{ t('action.add') }}
  95 + <Icon icon="ep:zoom-in" class="mr-5px" /> {{ t('action.add') }}
96 96 </el-button>
97 97 </div>
98 98 <Table :columns="allSchemas.tableColumns" :data="tableData">
... ...
yudao-ui-admin-vue3/src/views/infra/file/index.vue
... ... @@ -12,7 +12,7 @@ const { wsCache } = useCache()
12 12 const { t } = useI18n() // 国际化
13 13  
14 14 // ========== 列表相关 ==========
15   -const { register, tableObject, methods } = useTable<PageResult<FileVO>, FileVO>({
  15 +const { register, tableObject, methods } = useTable<FileVO>({
16 16 getListApi: FileApi.getFilePageApi,
17 17 delListApi: FileApi.deleteFileApi
18 18 })
... ...
yudao-ui-admin-vue3/src/views/infra/fileConfig/index.vue
... ... @@ -12,7 +12,7 @@ import * as FileConfigApi from &#39;@/api/infra/fileConfig&#39;
12 12 const { t } = useI18n() // 国际化
13 13  
14 14 // ========== 列表相关 ==========
15   -const { register, tableObject, methods } = useTable<PageResult<FileConfigVO>, FileConfigVO>({
  15 +const { register, tableObject, methods } = useTable<FileConfigVO>({
16 16 getListApi: FileConfigApi.getFileConfigPageApi,
17 17 delListApi: FileConfigApi.deleteFileConfigApi
18 18 })
... ... @@ -110,7 +110,7 @@ getList()
110 110 <!-- 操作工具栏 -->
111 111 <div class="mb-10px">
112 112 <el-button type="primary" v-hasPermi="['infra:file-config:create']" @click="handleCreate">
113   - <Icon icon="el:zoom-in" class="mr-5px" /> {{ t('action.add') }}
  113 + <Icon icon="ep:zoom-in" class="mr-5px" /> {{ t('action.add') }}
114 114 </el-button>
115 115 </div>
116 116 <!-- 列表 -->
... ...
yudao-ui-admin-vue3/src/views/infra/job/JobLog.vue
... ... @@ -13,14 +13,14 @@ import { allSchemas } from &#39;./jobLog.data&#39;
13 13 const { t } = useI18n() // 国际化
14 14 const { query } = useRoute()
15 15 // ========== 列表相关 ==========
16   -const { register, tableObject, methods } = useTable<PageResult<JobLogVO>, JobLogVO>({
  16 +const { register, tableObject, methods } = useTable<JobLogVO>({
17 17 getListApi: JobLogApi.getJobLogPageApi,
18 18 exportListApi: JobLogApi.exportJobLogApi
19 19 })
20 20 const { getList, setSearchParams, exportList } = methods
21 21 const getTableList = async () => {
22 22 const id = (query.id as unknown as number) && (query.jobId as unknown as number)
23   - tableObject.paramsObj.params = {
  23 + tableObject.params = {
24 24 jobId: id
25 25 }
26 26 await getList()
... ...
yudao-ui-admin-vue3/src/views/infra/job/index.vue
... ... @@ -14,7 +14,7 @@ import { useRouter } from &#39;vue-router&#39;
14 14 const { t } = useI18n() // 国际化
15 15 const { push } = useRouter()
16 16 // ========== 列表相关 ==========
17   -const { register, tableObject, methods } = useTable<PageResult<JobVO>, JobVO>({
  17 +const { register, tableObject, methods } = useTable<JobVO>({
18 18 getListApi: JobApi.getJobPageApi,
19 19 delListApi: JobApi.deleteJobApi,
20 20 exportListApi: JobApi.exportJobApi
... ... @@ -126,7 +126,7 @@ getList()
126 126 <!-- 操作工具栏 -->
127 127 <div class="mb-10px">
128 128 <el-button type="primary" v-hasPermi="['infra:job:create']" @click="handleCreate">
129   - <Icon icon="el:zoom-in" class="mr-5px" /> {{ t('action.add') }}
  129 + <Icon icon="ep:zoom-in" class="mr-5px" /> {{ t('action.add') }}
130 130 </el-button>
131 131 <el-button
132 132 type="warning"
... ... @@ -137,7 +137,7 @@ getList()
137 137 <Icon icon="ep:download" class="mr-5px" /> {{ t('action.export') }}
138 138 </el-button>
139 139 <el-button type="info" v-hasPermi="['infra:job:query']" @click="handleJobLog">
140   - <Icon icon="el:zoom-in" class="mr-5px" /> 执行日志
  140 + <Icon icon="ep:zoom-in" class="mr-5px" /> 执行日志
141 141 </el-button>
142 142 </div>
143 143 <!-- 列表 -->
... ...
yudao-ui-admin-vue3/src/views/infra/redis/index.vue
... ... @@ -20,10 +20,10 @@ const keyListLoad = ref(true)
20 20 const keyList = ref<RedisKeyInfo[]>([])
21 21 // 基本信息
22 22 const readRedisInfo = async () => {
23   - const data = await RedisApi.redisMonitorInfo()
  23 + const data = await RedisApi.getCacheApi()
24 24 cache.value = data
25   - loadEchartOptions(cache.value.commandStats)
26   - const redisKeysInfo = await RedisApi.redisKeysInfo()
  25 + loadEchartOptions(data.commandStats)
  26 + const redisKeysInfo = await RedisApi.getKeyDefineListApi()
27 27 keyList.value = redisKeysInfo
28 28 keyListLoad.value = false //加载完成
29 29 }
... ...
yudao-ui-admin-vue3/src/views/pay/app/index.vue
... ... @@ -12,7 +12,7 @@ import * as AppApi from &#39;@/api/pay/app&#39;
12 12 const { t } = useI18n() // 国际化
13 13  
14 14 // ========== 列表相关 ==========
15   -const { register, tableObject, methods } = useTable<PageResult<AppVO>, AppVO>({
  15 +const { register, tableObject, methods } = useTable<AppVO>({
16 16 getListApi: AppApi.getAppPageApi,
17 17 delListApi: AppApi.deleteAppApi,
18 18 exportListApi: AppApi.exportAppApi
... ... @@ -102,7 +102,7 @@ getList()
102 102 <!-- 操作工具栏 -->
103 103 <div class="mb-10px">
104 104 <el-button type="primary" v-hasPermi="['system:post:create']" @click="handleCreate">
105   - <Icon icon="el:zoom-in" class="mr-5px" /> {{ t('action.add') }}
  105 + <Icon icon="ep:zoom-in" class="mr-5px" /> {{ t('action.add') }}
106 106 </el-button>
107 107 <el-button
108 108 type="warning"
... ...
yudao-ui-admin-vue3/src/views/pay/merchant/index.vue
... ... @@ -12,7 +12,7 @@ import * as MerchantApi from &#39;@/api/pay/merchant&#39;
12 12 const { t } = useI18n() // 国际化
13 13  
14 14 // ========== 列表相关 ==========
15   -const { register, tableObject, methods } = useTable<PageResult<MerchantVO>, MerchantVO>({
  15 +const { register, tableObject, methods } = useTable<MerchantVO>({
16 16 getListApi: MerchantApi.getMerchantPageApi,
17 17 delListApi: MerchantApi.deleteMerchantApi,
18 18 exportListApi: MerchantApi.exportMerchantApi
... ... @@ -102,7 +102,7 @@ getList()
102 102 <!-- 操作工具栏 -->
103 103 <div class="mb-10px">
104 104 <el-button type="primary" v-hasPermi="['system:post:create']" @click="handleCreate">
105   - <Icon icon="el:zoom-in" class="mr-5px" /> {{ t('action.add') }}
  105 + <Icon icon="ep:zoom-in" class="mr-5px" /> {{ t('action.add') }}
106 106 </el-button>
107 107 <el-button
108 108 type="warning"
... ...
yudao-ui-admin-vue3/src/views/pay/order/index.vue
... ... @@ -11,7 +11,7 @@ import { rules, allSchemas } from &#39;./order.data&#39;
11 11 import * as OrderApi from '@/api/pay/order'
12 12 const { t } = useI18n() // 国际化
13 13 // ========== 列表相关 ==========
14   -const { register, tableObject, methods } = useTable<PageResult<OrderVO>, OrderVO>({
  14 +const { register, tableObject, methods } = useTable<OrderVO>({
15 15 getListApi: OrderApi.getOrderPageApi,
16 16 delListApi: OrderApi.deleteOrderApi,
17 17 exportListApi: OrderApi.exportOrderApi
... ... @@ -99,7 +99,7 @@ getList()
99 99 <!-- 操作工具栏 -->
100 100 <div class="mb-10px">
101 101 <el-button type="primary" v-hasPermi="['pay:order:create']" @click="handleCreate">
102   - <Icon icon="el:zoom-in" class="mr-5px" /> {{ t('action.add') }}
  102 + <Icon icon="ep:zoom-in" class="mr-5px" /> {{ t('action.add') }}
103 103 </el-button>
104 104 <el-button
105 105 type="warning"
... ...
yudao-ui-admin-vue3/src/views/pay/refund/index.vue
... ... @@ -10,7 +10,7 @@ import * as RefundApi from &#39;@/api/pay/refund&#39;
10 10 const { t } = useI18n() // 国际化
11 11  
12 12 // ========== 列表相关 ==========
13   -const { register, tableObject, methods } = useTable<PageResult<RefundVO>, RefundVO>({
  13 +const { register, tableObject, methods } = useTable<RefundVO>({
14 14 getListApi: RefundApi.getRefundPageApi,
15 15 delListApi: RefundApi.deleteRefundApi,
16 16 exportListApi: RefundApi.exportRefundApi
... ...
yudao-ui-admin-vue3/src/views/system/dict/index.vue
... ... @@ -16,7 +16,7 @@ const {
16 16 register: typeRegister,
17 17 tableObject: typeTableObject,
18 18 methods: typeMethods
19   -} = useTable<PageResult<DictTypeVO>, DictTypeVO>({
  19 +} = useTable<DictTypeVO>({
20 20 getListApi: DictTypeApi.getDictTypePageApi,
21 21 delListApi: DictTypeApi.deleteDictTypeApi
22 22 })
... ... @@ -49,7 +49,7 @@ const {
49 49 register: dataRegister,
50 50 tableObject: dataTableObject,
51 51 methods: dataMethods
52   -} = useTable<PageResult<DictDataVO>, DictDataVO>({
  52 +} = useTable<DictDataVO>({
53 53 getListApi: DictDataApi.getDictDataPageApi,
54 54 delListApi: DictDataApi.deleteDictDataApi
55 55 })
... ... @@ -79,7 +79,7 @@ const handleDataDelete = async (row: DictTypeVO) =&gt; {
79 79 const parentType = ref('')
80 80 const onClickType = async (data: { [key: string]: any }) => {
81 81 tableTypeSelect.value = true
82   - dataTableObject.paramsObj.params = {
  82 + dataTableObject.params = {
83 83 dictType: data.type
84 84 }
85 85 getDataList()
... ... @@ -161,7 +161,7 @@ onMounted(async () =&gt; {
161 161 <!-- 操作工具栏 -->
162 162 <div class="mb-10px">
163 163 <el-button type="primary" v-hasPermi="['system:dict:create']" @click="handleTypeCreate">
164   - <Icon icon="el:zoom-in" class="mr-5px" /> {{ t('action.add') }}
  164 + <Icon icon="ep:zoom-in" class="mr-5px" /> {{ t('action.add') }}
165 165 </el-button>
166 166 </div>
167 167 <!-- 列表 -->
... ... @@ -221,7 +221,7 @@ onMounted(async () =&gt; {
221 221 <!-- 操作工具栏 -->
222 222 <div class="mb-10px">
223 223 <el-button type="primary" v-hasPermi="['system:dict:create']" @click="handleDataCreate">
224   - <Icon icon="el:zoom-in" class="mr-5px" /> {{ t('action.add') }}
  224 + <Icon icon="ep:zoom-in" class="mr-5px" /> {{ t('action.add') }}
225 225 </el-button>
226 226 </div>
227 227 <Table
... ...
yudao-ui-admin-vue3/src/views/system/errorCode/index.vue
... ... @@ -12,7 +12,7 @@ import * as ErrorCodeApi from &#39;@/api/system/errorCode&#39;
12 12 const { t } = useI18n() // 国际化
13 13  
14 14 // ========== 列表相关 ==========
15   -const { register, tableObject, methods } = useTable<PageResult<ErrorCodeVO>, ErrorCodeVO>({
  15 +const { register, tableObject, methods } = useTable<ErrorCodeVO>({
16 16 getListApi: ErrorCodeApi.getErrorCodePageApi,
17 17 delListApi: ErrorCodeApi.deleteErrorCodeApi
18 18 })
... ... @@ -96,7 +96,7 @@ getList()
96 96 <!-- 操作工具栏 -->
97 97 <div class="mb-10px">
98 98 <el-button v-hasPermi="['system:error-code:create']" type="primary" @click="handleCreate">
99   - <Icon icon="el:zoom-in" class="mr-5px" /> {{ t('action.add') }}
  99 + <Icon icon="ep:zoom-in" class="mr-5px" /> {{ t('action.add') }}
100 100 </el-button>
101 101 </div>
102 102 <!-- 列表 -->
... ...
yudao-ui-admin-vue3/src/views/system/loginlog/index.vue
... ... @@ -10,7 +10,7 @@ import { useI18n } from &#39;@/hooks/web/useI18n&#39;
10 10  
11 11 const { t } = useI18n() // 国际化
12 12 // ========== 列表相关 ==========
13   -const { register, tableObject, methods } = useTable<PageResult<LoginLogVO>, LoginLogVO>({
  13 +const { register, tableObject, methods } = useTable<LoginLogVO>({
14 14 getListApi: getLoginLogPageApi,
15 15 exportListApi: exportLoginLogApi
16 16 })
... ...
yudao-ui-admin-vue3/src/views/system/loginlog/loginLog.data.ts
... ... @@ -80,7 +80,7 @@ const crudSchemas = reactive&lt;CrudSchema[]&gt;([
80 80 {
81 81 label: t('table.action'),
82 82 field: 'action',
83   - width: '80px',
  83 + width: '120px',
84 84 form: {
85 85 show: false
86 86 },
... ...