提交 0611fee6 authored 作者: 王鹏飞's avatar 王鹏飞

feat: 页面响应式设计

上级 130196c4
...@@ -1682,7 +1682,6 @@ ...@@ -1682,7 +1682,6 @@
"resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz",
"integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==",
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"@types/lodash": "*" "@types/lodash": "*"
} }
...@@ -1693,7 +1692,6 @@ ...@@ -1693,7 +1692,6 @@
"integrity": "sha512-FE5u0ezmi6y9OZEzlJfg37mqqf6ZDSF2V/NLjUyGrR9uTZ7Sb9F7bLNZ03S4XVUNRWGA7Ck4c1kK+YnuWjl+DA==", "integrity": "sha512-FE5u0ezmi6y9OZEzlJfg37mqqf6ZDSF2V/NLjUyGrR9uTZ7Sb9F7bLNZ03S4XVUNRWGA7Ck4c1kK+YnuWjl+DA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"undici-types": "~6.21.0" "undici-types": "~6.21.0"
} }
...@@ -1749,7 +1747,6 @@ ...@@ -1749,7 +1747,6 @@
"integrity": "sha512-w0xp+xGg8u/nONcGw1UXAr6cjCPU1w0XVyBs6Zqaj5eLmxkKQAByTdV/uGgNN5tVvN/kKpoQlP2cL7R+ajZZIQ==", "integrity": "sha512-w0xp+xGg8u/nONcGw1UXAr6cjCPU1w0XVyBs6Zqaj5eLmxkKQAByTdV/uGgNN5tVvN/kKpoQlP2cL7R+ajZZIQ==",
"dev": true, "dev": true,
"license": "BSD-2-Clause", "license": "BSD-2-Clause",
"peer": true,
"dependencies": { "dependencies": {
"@typescript-eslint/scope-manager": "8.13.0", "@typescript-eslint/scope-manager": "8.13.0",
"@typescript-eslint/types": "8.13.0", "@typescript-eslint/types": "8.13.0",
...@@ -1986,7 +1983,6 @@ ...@@ -1986,7 +1983,6 @@
"resolved": "https://registry.npmjs.org/@vue-flow/core/-/core-1.39.0.tgz", "resolved": "https://registry.npmjs.org/@vue-flow/core/-/core-1.39.0.tgz",
"integrity": "sha512-QBcKFrLV5a6f+DmTALQQtNRKKF7q6HRd2KOVx0ygoHOUK0vwcawoOPd3KNpKVDOVjbf/D/L9zM5hrqruW6JjmQ==", "integrity": "sha512-QBcKFrLV5a6f+DmTALQQtNRKKF7q6HRd2KOVx0ygoHOUK0vwcawoOPd3KNpKVDOVjbf/D/L9zM5hrqruW6JjmQ==",
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"@vueuse/core": "^10.5.0", "@vueuse/core": "^10.5.0",
"d3-drag": "^3.0.0", "d3-drag": "^3.0.0",
...@@ -2303,7 +2299,6 @@ ...@@ -2303,7 +2299,6 @@
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.25.tgz", "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.25.tgz",
"integrity": "sha512-Z751v203YWwYzy460bzsYQISDfPjHTl+6Zzwo/a3CsAf+0ccEjQ8c+0CdX1WsumRTHeywvyUFtW6KvNukT/smA==", "integrity": "sha512-Z751v203YWwYzy460bzsYQISDfPjHTl+6Zzwo/a3CsAf+0ccEjQ8c+0CdX1WsumRTHeywvyUFtW6KvNukT/smA==",
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"@vue/reactivity": "3.5.25", "@vue/reactivity": "3.5.25",
"@vue/shared": "3.5.25" "@vue/shared": "3.5.25"
...@@ -2407,6 +2402,7 @@ ...@@ -2407,6 +2402,7 @@
"version": "1.9.0", "version": "1.9.0",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
"integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==",
"peer": true,
"dependencies": { "dependencies": {
"@webassemblyjs/helper-module-context": "1.9.0", "@webassemblyjs/helper-module-context": "1.9.0",
"@webassemblyjs/helper-wasm-bytecode": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
...@@ -2416,22 +2412,26 @@ ...@@ -2416,22 +2412,26 @@
"node_modules/@webassemblyjs/floating-point-hex-parser": { "node_modules/@webassemblyjs/floating-point-hex-parser": {
"version": "1.9.0", "version": "1.9.0",
"resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz",
"integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==" "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==",
"peer": true
}, },
"node_modules/@webassemblyjs/helper-api-error": { "node_modules/@webassemblyjs/helper-api-error": {
"version": "1.9.0", "version": "1.9.0",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz",
"integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==",
"peer": true
}, },
"node_modules/@webassemblyjs/helper-buffer": { "node_modules/@webassemblyjs/helper-buffer": {
"version": "1.9.0", "version": "1.9.0",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz",
"integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==" "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==",
"peer": true
}, },
"node_modules/@webassemblyjs/helper-code-frame": { "node_modules/@webassemblyjs/helper-code-frame": {
"version": "1.9.0", "version": "1.9.0",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz",
"integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==",
"peer": true,
"dependencies": { "dependencies": {
"@webassemblyjs/wast-printer": "1.9.0" "@webassemblyjs/wast-printer": "1.9.0"
} }
...@@ -2439,12 +2439,14 @@ ...@@ -2439,12 +2439,14 @@
"node_modules/@webassemblyjs/helper-fsm": { "node_modules/@webassemblyjs/helper-fsm": {
"version": "1.9.0", "version": "1.9.0",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz",
"integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==" "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==",
"peer": true
}, },
"node_modules/@webassemblyjs/helper-module-context": { "node_modules/@webassemblyjs/helper-module-context": {
"version": "1.9.0", "version": "1.9.0",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz",
"integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==",
"peer": true,
"dependencies": { "dependencies": {
"@webassemblyjs/ast": "1.9.0" "@webassemblyjs/ast": "1.9.0"
} }
...@@ -2452,12 +2454,14 @@ ...@@ -2452,12 +2454,14 @@
"node_modules/@webassemblyjs/helper-wasm-bytecode": { "node_modules/@webassemblyjs/helper-wasm-bytecode": {
"version": "1.9.0", "version": "1.9.0",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz",
"integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==",
"peer": true
}, },
"node_modules/@webassemblyjs/helper-wasm-section": { "node_modules/@webassemblyjs/helper-wasm-section": {
"version": "1.9.0", "version": "1.9.0",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz",
"integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==",
"peer": true,
"dependencies": { "dependencies": {
"@webassemblyjs/ast": "1.9.0", "@webassemblyjs/ast": "1.9.0",
"@webassemblyjs/helper-buffer": "1.9.0", "@webassemblyjs/helper-buffer": "1.9.0",
...@@ -2469,6 +2473,7 @@ ...@@ -2469,6 +2473,7 @@
"version": "1.9.0", "version": "1.9.0",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz",
"integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==",
"peer": true,
"dependencies": { "dependencies": {
"@xtuc/ieee754": "^1.2.0" "@xtuc/ieee754": "^1.2.0"
} }
...@@ -2477,6 +2482,7 @@ ...@@ -2477,6 +2482,7 @@
"version": "1.9.0", "version": "1.9.0",
"resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz",
"integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==",
"peer": true,
"dependencies": { "dependencies": {
"@xtuc/long": "4.2.2" "@xtuc/long": "4.2.2"
} }
...@@ -2484,12 +2490,14 @@ ...@@ -2484,12 +2490,14 @@
"node_modules/@webassemblyjs/utf8": { "node_modules/@webassemblyjs/utf8": {
"version": "1.9.0", "version": "1.9.0",
"resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz",
"integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==" "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==",
"peer": true
}, },
"node_modules/@webassemblyjs/wasm-edit": { "node_modules/@webassemblyjs/wasm-edit": {
"version": "1.9.0", "version": "1.9.0",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz",
"integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==",
"peer": true,
"dependencies": { "dependencies": {
"@webassemblyjs/ast": "1.9.0", "@webassemblyjs/ast": "1.9.0",
"@webassemblyjs/helper-buffer": "1.9.0", "@webassemblyjs/helper-buffer": "1.9.0",
...@@ -2505,6 +2513,7 @@ ...@@ -2505,6 +2513,7 @@
"version": "1.9.0", "version": "1.9.0",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz",
"integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==",
"peer": true,
"dependencies": { "dependencies": {
"@webassemblyjs/ast": "1.9.0", "@webassemblyjs/ast": "1.9.0",
"@webassemblyjs/helper-wasm-bytecode": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
...@@ -2517,6 +2526,7 @@ ...@@ -2517,6 +2526,7 @@
"version": "1.9.0", "version": "1.9.0",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz",
"integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==",
"peer": true,
"dependencies": { "dependencies": {
"@webassemblyjs/ast": "1.9.0", "@webassemblyjs/ast": "1.9.0",
"@webassemblyjs/helper-buffer": "1.9.0", "@webassemblyjs/helper-buffer": "1.9.0",
...@@ -2528,6 +2538,7 @@ ...@@ -2528,6 +2538,7 @@
"version": "1.9.0", "version": "1.9.0",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz",
"integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==",
"peer": true,
"dependencies": { "dependencies": {
"@webassemblyjs/ast": "1.9.0", "@webassemblyjs/ast": "1.9.0",
"@webassemblyjs/helper-api-error": "1.9.0", "@webassemblyjs/helper-api-error": "1.9.0",
...@@ -2541,6 +2552,7 @@ ...@@ -2541,6 +2552,7 @@
"version": "1.9.0", "version": "1.9.0",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz",
"integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==",
"peer": true,
"dependencies": { "dependencies": {
"@webassemblyjs/ast": "1.9.0", "@webassemblyjs/ast": "1.9.0",
"@webassemblyjs/floating-point-hex-parser": "1.9.0", "@webassemblyjs/floating-point-hex-parser": "1.9.0",
...@@ -2554,6 +2566,7 @@ ...@@ -2554,6 +2566,7 @@
"version": "1.9.0", "version": "1.9.0",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz",
"integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==",
"peer": true,
"dependencies": { "dependencies": {
"@webassemblyjs/ast": "1.9.0", "@webassemblyjs/ast": "1.9.0",
"@webassemblyjs/wast-parser": "1.9.0", "@webassemblyjs/wast-parser": "1.9.0",
...@@ -2563,12 +2576,14 @@ ...@@ -2563,12 +2576,14 @@
"node_modules/@xtuc/ieee754": { "node_modules/@xtuc/ieee754": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
"integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
"peer": true
}, },
"node_modules/@xtuc/long": { "node_modules/@xtuc/long": {
"version": "4.2.2", "version": "4.2.2",
"resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
"integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
"peer": true
}, },
"node_modules/acorn": { "node_modules/acorn": {
"version": "8.15.0", "version": "8.15.0",
...@@ -2576,7 +2591,6 @@ ...@@ -2576,7 +2591,6 @@
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"bin": { "bin": {
"acorn": "bin/acorn" "acorn": "bin/acorn"
}, },
...@@ -2619,7 +2633,6 @@ ...@@ -2619,7 +2633,6 @@
"version": "6.12.6", "version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"peer": true,
"dependencies": { "dependencies": {
"fast-deep-equal": "^3.1.1", "fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0", "fast-json-stable-stringify": "^2.0.0",
...@@ -2717,6 +2730,7 @@ ...@@ -2717,6 +2730,7 @@
"resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"normalize-path": "^3.0.0", "normalize-path": "^3.0.0",
"picomatch": "^2.0.4" "picomatch": "^2.0.4"
...@@ -2740,6 +2754,7 @@ ...@@ -2740,6 +2754,7 @@
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
"integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==",
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -2748,6 +2763,7 @@ ...@@ -2748,6 +2763,7 @@
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
"integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -2756,6 +2772,7 @@ ...@@ -2756,6 +2772,7 @@
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
"integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==",
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -2764,6 +2781,7 @@ ...@@ -2764,6 +2781,7 @@
"version": "0.3.2", "version": "0.3.2",
"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
"integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==",
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -2772,6 +2790,7 @@ ...@@ -2772,6 +2790,7 @@
"version": "4.10.1", "version": "4.10.1",
"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
"integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
"peer": true,
"dependencies": { "dependencies": {
"bn.js": "^4.0.0", "bn.js": "^4.0.0",
"inherits": "^2.0.1", "inherits": "^2.0.1",
...@@ -2781,12 +2800,14 @@ ...@@ -2781,12 +2800,14 @@
"node_modules/asn1.js/node_modules/bn.js": { "node_modules/asn1.js/node_modules/bn.js": {
"version": "4.12.0", "version": "4.12.0",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
"peer": true
}, },
"node_modules/assert": { "node_modules/assert": {
"version": "1.5.1", "version": "1.5.1",
"resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz",
"integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==",
"peer": true,
"dependencies": { "dependencies": {
"object.assign": "^4.1.4", "object.assign": "^4.1.4",
"util": "^0.10.4" "util": "^0.10.4"
...@@ -2795,12 +2816,14 @@ ...@@ -2795,12 +2816,14 @@
"node_modules/assert/node_modules/inherits": { "node_modules/assert/node_modules/inherits": {
"version": "2.0.3", "version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==",
"peer": true
}, },
"node_modules/assert/node_modules/util": { "node_modules/assert/node_modules/util": {
"version": "0.10.4", "version": "0.10.4",
"resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
"integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
"peer": true,
"dependencies": { "dependencies": {
"inherits": "2.0.3" "inherits": "2.0.3"
} }
...@@ -2809,6 +2832,7 @@ ...@@ -2809,6 +2832,7 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
"integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==",
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -2840,7 +2864,8 @@ ...@@ -2840,7 +2864,8 @@
"url": "https://paulmillr.com/funding/" "url": "https://paulmillr.com/funding/"
} }
], ],
"optional": true "optional": true,
"peer": true
}, },
"node_modules/async-validator": { "node_modules/async-validator": {
"version": "4.2.5", "version": "4.2.5",
...@@ -2884,6 +2909,7 @@ ...@@ -2884,6 +2909,7 @@
"version": "0.11.2", "version": "0.11.2",
"resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
"integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
"peer": true,
"dependencies": { "dependencies": {
"cache-base": "^1.0.1", "cache-base": "^1.0.1",
"class-utils": "^0.3.5", "class-utils": "^0.3.5",
...@@ -2901,6 +2927,7 @@ ...@@ -2901,6 +2927,7 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
"peer": true,
"dependencies": { "dependencies": {
"is-descriptor": "^1.0.0" "is-descriptor": "^1.0.0"
}, },
...@@ -2912,6 +2939,7 @@ ...@@ -2912,6 +2939,7 @@
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
"integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
"peer": true,
"dependencies": { "dependencies": {
"is-accessor-descriptor": "^1.0.1", "is-accessor-descriptor": "^1.0.1",
"is-data-descriptor": "^1.0.1" "is-data-descriptor": "^1.0.1"
...@@ -2946,7 +2974,8 @@ ...@@ -2946,7 +2974,8 @@
"type": "consulting", "type": "consulting",
"url": "https://feross.org/support" "url": "https://feross.org/support"
} }
] ],
"peer": true
}, },
"node_modules/big.js": { "node_modules/big.js": {
"version": "5.2.2", "version": "5.2.2",
...@@ -2961,6 +2990,7 @@ ...@@ -2961,6 +2990,7 @@
"resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz", "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz",
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
"optional": true, "optional": true,
"peer": true,
"engines": { "engines": {
"node": ">=8" "node": ">=8"
} }
...@@ -2970,6 +3000,7 @@ ...@@ -2970,6 +3000,7 @@
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
"integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"file-uri-to-path": "1.0.0" "file-uri-to-path": "1.0.0"
} }
...@@ -2987,7 +3018,8 @@ ...@@ -2987,7 +3018,8 @@
"node_modules/bn.js": { "node_modules/bn.js": {
"version": "5.2.1", "version": "5.2.1",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
"integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==",
"peer": true
}, },
"node_modules/boolbase": { "node_modules/boolbase": {
"version": "1.0.0", "version": "1.0.0",
...@@ -3026,12 +3058,14 @@ ...@@ -3026,12 +3058,14 @@
"node_modules/brorand": { "node_modules/brorand": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
"integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==",
"peer": true
}, },
"node_modules/browserify-aes": { "node_modules/browserify-aes": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
"integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
"peer": true,
"dependencies": { "dependencies": {
"buffer-xor": "^1.0.3", "buffer-xor": "^1.0.3",
"cipher-base": "^1.0.0", "cipher-base": "^1.0.0",
...@@ -3045,6 +3079,7 @@ ...@@ -3045,6 +3079,7 @@
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
"integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
"peer": true,
"dependencies": { "dependencies": {
"browserify-aes": "^1.0.4", "browserify-aes": "^1.0.4",
"browserify-des": "^1.0.0", "browserify-des": "^1.0.0",
...@@ -3055,6 +3090,7 @@ ...@@ -3055,6 +3090,7 @@
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
"integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
"peer": true,
"dependencies": { "dependencies": {
"cipher-base": "^1.0.1", "cipher-base": "^1.0.1",
"des.js": "^1.0.0", "des.js": "^1.0.0",
...@@ -3066,6 +3102,7 @@ ...@@ -3066,6 +3102,7 @@
"version": "4.1.0", "version": "4.1.0",
"resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
"integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
"peer": true,
"dependencies": { "dependencies": {
"bn.js": "^5.0.0", "bn.js": "^5.0.0",
"randombytes": "^2.0.1" "randombytes": "^2.0.1"
...@@ -3075,6 +3112,7 @@ ...@@ -3075,6 +3112,7 @@
"version": "4.2.3", "version": "4.2.3",
"resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz", "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz",
"integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==", "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==",
"peer": true,
"dependencies": { "dependencies": {
"bn.js": "^5.2.1", "bn.js": "^5.2.1",
"browserify-rsa": "^4.1.0", "browserify-rsa": "^4.1.0",
...@@ -3108,12 +3146,14 @@ ...@@ -3108,12 +3146,14 @@
"type": "consulting", "type": "consulting",
"url": "https://feross.org/support" "url": "https://feross.org/support"
} }
] ],
"peer": true
}, },
"node_modules/browserify-zlib": { "node_modules/browserify-zlib": {
"version": "0.2.0", "version": "0.2.0",
"resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
"integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
"peer": true,
"dependencies": { "dependencies": {
"pako": "~1.0.5" "pako": "~1.0.5"
} }
...@@ -3133,6 +3173,7 @@ ...@@ -3133,6 +3173,7 @@
"version": "4.9.2", "version": "4.9.2",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
"integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
"peer": true,
"dependencies": { "dependencies": {
"base64-js": "^1.0.2", "base64-js": "^1.0.2",
"ieee754": "^1.1.4", "ieee754": "^1.1.4",
...@@ -3154,7 +3195,8 @@ ...@@ -3154,7 +3195,8 @@
"node_modules/buffer-xor": { "node_modules/buffer-xor": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
"integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==",
"peer": true
}, },
"node_modules/builtin-status-codes": { "node_modules/builtin-status-codes": {
"version": "3.0.0", "version": "3.0.0",
...@@ -3203,6 +3245,7 @@ ...@@ -3203,6 +3245,7 @@
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
"integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
"peer": true,
"dependencies": { "dependencies": {
"collection-visit": "^1.0.0", "collection-visit": "^1.0.0",
"component-emitter": "^1.2.1", "component-emitter": "^1.2.1",
...@@ -3222,6 +3265,7 @@ ...@@ -3222,6 +3265,7 @@
"version": "1.0.7", "version": "1.0.7",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
"integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
"peer": true,
"dependencies": { "dependencies": {
"es-define-property": "^1.0.0", "es-define-property": "^1.0.0",
"es-errors": "^1.3.0", "es-errors": "^1.3.0",
...@@ -3318,6 +3362,7 @@ ...@@ -3318,6 +3362,7 @@
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
"integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"anymatch": "~3.1.2", "anymatch": "~3.1.2",
"braces": "~3.0.2", "braces": "~3.0.2",
...@@ -3342,6 +3387,7 @@ ...@@ -3342,6 +3387,7 @@
"resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"is-glob": "^4.0.1" "is-glob": "^4.0.1"
}, },
...@@ -3353,6 +3399,7 @@ ...@@ -3353,6 +3399,7 @@
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
"integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
"peer": true,
"engines": { "engines": {
"node": ">=6.0" "node": ">=6.0"
} }
...@@ -3361,6 +3408,7 @@ ...@@ -3361,6 +3408,7 @@
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
"integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
"peer": true,
"dependencies": { "dependencies": {
"inherits": "^2.0.1", "inherits": "^2.0.1",
"safe-buffer": "^5.0.1" "safe-buffer": "^5.0.1"
...@@ -3370,6 +3418,7 @@ ...@@ -3370,6 +3418,7 @@
"version": "0.3.6", "version": "0.3.6",
"resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
"integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
"peer": true,
"dependencies": { "dependencies": {
"arr-union": "^3.1.0", "arr-union": "^3.1.0",
"define-property": "^0.2.5", "define-property": "^0.2.5",
...@@ -3384,6 +3433,7 @@ ...@@ -3384,6 +3433,7 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
"integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==",
"peer": true,
"dependencies": { "dependencies": {
"map-visit": "^1.0.0", "map-visit": "^1.0.0",
"object-visit": "^1.0.0" "object-visit": "^1.0.0"
...@@ -3445,6 +3495,7 @@ ...@@ -3445,6 +3495,7 @@
"version": "1.3.1", "version": "1.3.1",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz",
"integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==",
"peer": true,
"funding": { "funding": {
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
} }
...@@ -3483,12 +3534,14 @@ ...@@ -3483,12 +3534,14 @@
"node_modules/console-browserify": { "node_modules/console-browserify": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
"integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
"peer": true
}, },
"node_modules/constants-browserify": { "node_modules/constants-browserify": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
"integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==" "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==",
"peer": true
}, },
"node_modules/content-type": { "node_modules/content-type": {
"version": "1.0.5", "version": "1.0.5",
...@@ -3527,6 +3580,7 @@ ...@@ -3527,6 +3580,7 @@
"version": "0.1.1", "version": "0.1.1",
"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
"integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==",
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -3557,6 +3611,7 @@ ...@@ -3557,6 +3611,7 @@
"version": "4.0.4", "version": "4.0.4",
"resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
"integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
"peer": true,
"dependencies": { "dependencies": {
"bn.js": "^4.1.0", "bn.js": "^4.1.0",
"elliptic": "^6.5.3" "elliptic": "^6.5.3"
...@@ -3565,12 +3620,14 @@ ...@@ -3565,12 +3620,14 @@
"node_modules/create-ecdh/node_modules/bn.js": { "node_modules/create-ecdh/node_modules/bn.js": {
"version": "4.12.0", "version": "4.12.0",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
"peer": true
}, },
"node_modules/create-hash": { "node_modules/create-hash": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
"integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
"peer": true,
"dependencies": { "dependencies": {
"cipher-base": "^1.0.1", "cipher-base": "^1.0.1",
"inherits": "^2.0.1", "inherits": "^2.0.1",
...@@ -3583,6 +3640,7 @@ ...@@ -3583,6 +3640,7 @@
"version": "1.1.7", "version": "1.1.7",
"resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
"integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
"peer": true,
"dependencies": { "dependencies": {
"cipher-base": "^1.0.3", "cipher-base": "^1.0.3",
"create-hash": "^1.1.0", "create-hash": "^1.1.0",
...@@ -3611,6 +3669,7 @@ ...@@ -3611,6 +3669,7 @@
"version": "3.12.0", "version": "3.12.0",
"resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
"integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
"peer": true,
"dependencies": { "dependencies": {
"browserify-cipher": "^1.0.0", "browserify-cipher": "^1.0.0",
"browserify-sign": "^4.0.0", "browserify-sign": "^4.0.0",
...@@ -3723,7 +3782,6 @@ ...@@ -3723,7 +3782,6 @@
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz",
"integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==",
"peer": true,
"engines": { "engines": {
"node": ">=12" "node": ">=12"
} }
...@@ -3812,6 +3870,7 @@ ...@@ -3812,6 +3870,7 @@
"version": "0.2.2", "version": "0.2.2",
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
"integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==",
"peer": true,
"engines": { "engines": {
"node": ">=0.10" "node": ">=0.10"
} }
...@@ -3839,6 +3898,7 @@ ...@@ -3839,6 +3898,7 @@
"version": "1.1.4", "version": "1.1.4",
"resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
"integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
"peer": true,
"dependencies": { "dependencies": {
"es-define-property": "^1.0.0", "es-define-property": "^1.0.0",
"es-errors": "^1.3.0", "es-errors": "^1.3.0",
...@@ -3855,6 +3915,7 @@ ...@@ -3855,6 +3915,7 @@
"version": "1.2.1", "version": "1.2.1",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
"integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
"peer": true,
"dependencies": { "dependencies": {
"define-data-property": "^1.0.1", "define-data-property": "^1.0.1",
"has-property-descriptors": "^1.0.0", "has-property-descriptors": "^1.0.0",
...@@ -3871,6 +3932,7 @@ ...@@ -3871,6 +3932,7 @@
"version": "0.2.5", "version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
"peer": true,
"dependencies": { "dependencies": {
"is-descriptor": "^0.1.0" "is-descriptor": "^0.1.0"
}, },
...@@ -3891,6 +3953,7 @@ ...@@ -3891,6 +3953,7 @@
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz",
"integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==",
"peer": true,
"dependencies": { "dependencies": {
"inherits": "^2.0.1", "inherits": "^2.0.1",
"minimalistic-assert": "^1.0.0" "minimalistic-assert": "^1.0.0"
...@@ -3924,6 +3987,7 @@ ...@@ -3924,6 +3987,7 @@
"version": "5.0.3", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
"integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
"peer": true,
"dependencies": { "dependencies": {
"bn.js": "^4.1.0", "bn.js": "^4.1.0",
"miller-rabin": "^4.0.0", "miller-rabin": "^4.0.0",
...@@ -3933,7 +3997,8 @@ ...@@ -3933,7 +3997,8 @@
"node_modules/diffie-hellman/node_modules/bn.js": { "node_modules/diffie-hellman/node_modules/bn.js": {
"version": "4.12.0", "version": "4.12.0",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
"peer": true
}, },
"node_modules/digest-header": { "node_modules/digest-header": {
"version": "1.1.0", "version": "1.1.0",
...@@ -3948,6 +4013,7 @@ ...@@ -3948,6 +4013,7 @@
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
"integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
"peer": true,
"engines": { "engines": {
"node": ">=0.4", "node": ">=0.4",
"npm": ">=1.2" "npm": ">=1.2"
...@@ -3988,7 +4054,6 @@ ...@@ -3988,7 +4054,6 @@
"version": "5.5.0", "version": "5.5.0",
"resolved": "https://registry.npmjs.org/echarts/-/echarts-5.5.0.tgz", "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.5.0.tgz",
"integrity": "sha512-rNYnNCzqDAPCr4m/fqyUFv7fD9qIsd50S6GDFgO1DxZhncCsNsG7IfUlAlvZe5oSEQxtsjnHiUuppzccry93Xw==", "integrity": "sha512-rNYnNCzqDAPCr4m/fqyUFv7fD9qIsd50S6GDFgO1DxZhncCsNsG7IfUlAlvZe5oSEQxtsjnHiUuppzccry93Xw==",
"peer": true,
"dependencies": { "dependencies": {
"tslib": "2.3.0", "tslib": "2.3.0",
"zrender": "5.5.0" "zrender": "5.5.0"
...@@ -4125,6 +4190,7 @@ ...@@ -4125,6 +4190,7 @@
"version": "6.5.5", "version": "6.5.5",
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.5.tgz", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.5.tgz",
"integrity": "sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==", "integrity": "sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==",
"peer": true,
"dependencies": { "dependencies": {
"bn.js": "^4.11.9", "bn.js": "^4.11.9",
"brorand": "^1.1.0", "brorand": "^1.1.0",
...@@ -4138,7 +4204,8 @@ ...@@ -4138,7 +4204,8 @@
"node_modules/elliptic/node_modules/bn.js": { "node_modules/elliptic/node_modules/bn.js": {
"version": "4.12.0", "version": "4.12.0",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
"peer": true
}, },
"node_modules/emojis-list": { "node_modules/emojis-list": {
"version": "3.0.0", "version": "3.0.0",
...@@ -4169,6 +4236,7 @@ ...@@ -4169,6 +4236,7 @@
"version": "4.5.0", "version": "4.5.0",
"resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
"integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
"peer": true,
"dependencies": { "dependencies": {
"graceful-fs": "^4.1.2", "graceful-fs": "^4.1.2",
"memory-fs": "^0.5.0", "memory-fs": "^0.5.0",
...@@ -4310,7 +4378,6 @@ ...@@ -4310,7 +4378,6 @@
"integrity": "sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g==", "integrity": "sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.12.1", "@eslint-community/regexpp": "^4.12.1",
...@@ -4372,7 +4439,6 @@ ...@@ -4372,7 +4439,6 @@
"integrity": "sha512-CyqlRgShvljFkOeYK8wN5frh/OGTvkj1S7wlr2Q2pUvwq+X5VYiLd6ZjujpgSgLnys2W8qrBLkXQ41SUYaoPIQ==", "integrity": "sha512-CyqlRgShvljFkOeYK8wN5frh/OGTvkj1S7wlr2Q2pUvwq+X5VYiLd6ZjujpgSgLnys2W8qrBLkXQ41SUYaoPIQ==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"@eslint-community/eslint-utils": "^4.4.0", "@eslint-community/eslint-utils": "^4.4.0",
"globals": "^13.24.0", "globals": "^13.24.0",
...@@ -4548,6 +4614,7 @@ ...@@ -4548,6 +4614,7 @@
"version": "3.3.0", "version": "3.3.0",
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
"peer": true,
"engines": { "engines": {
"node": ">=0.8.x" "node": ">=0.8.x"
} }
...@@ -4565,6 +4632,7 @@ ...@@ -4565,6 +4632,7 @@
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
"integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
"peer": true,
"dependencies": { "dependencies": {
"md5.js": "^1.3.4", "md5.js": "^1.3.4",
"safe-buffer": "^5.1.1" "safe-buffer": "^5.1.1"
...@@ -4574,6 +4642,7 @@ ...@@ -4574,6 +4642,7 @@
"version": "2.1.4", "version": "2.1.4",
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
"integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==",
"peer": true,
"dependencies": { "dependencies": {
"debug": "^2.3.3", "debug": "^2.3.3",
"define-property": "^0.2.5", "define-property": "^0.2.5",
...@@ -4591,6 +4660,7 @@ ...@@ -4591,6 +4660,7 @@
"version": "2.6.9", "version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"peer": true,
"dependencies": { "dependencies": {
"ms": "2.0.0" "ms": "2.0.0"
} }
...@@ -4598,7 +4668,8 @@ ...@@ -4598,7 +4668,8 @@
"node_modules/expand-brackets/node_modules/ms": { "node_modules/expand-brackets/node_modules/ms": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"peer": true
}, },
"node_modules/exsolve": { "node_modules/exsolve": {
"version": "1.0.7", "version": "1.0.7",
...@@ -4622,6 +4693,7 @@ ...@@ -4622,6 +4693,7 @@
"version": "2.0.4", "version": "2.0.4",
"resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
"integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
"peer": true,
"dependencies": { "dependencies": {
"array-unique": "^0.3.2", "array-unique": "^0.3.2",
"define-property": "^1.0.0", "define-property": "^1.0.0",
...@@ -4640,6 +4712,7 @@ ...@@ -4640,6 +4712,7 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
"peer": true,
"dependencies": { "dependencies": {
"is-descriptor": "^1.0.0" "is-descriptor": "^1.0.0"
}, },
...@@ -4651,6 +4724,7 @@ ...@@ -4651,6 +4724,7 @@
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
"integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
"peer": true,
"dependencies": { "dependencies": {
"is-accessor-descriptor": "^1.0.1", "is-accessor-descriptor": "^1.0.1",
"is-data-descriptor": "^1.0.1" "is-data-descriptor": "^1.0.1"
...@@ -4783,7 +4857,8 @@ ...@@ -4783,7 +4857,8 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
"integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
"optional": true "optional": true,
"peer": true
}, },
"node_modules/fill-range": { "node_modules/fill-range": {
"version": "7.0.1", "version": "7.0.1",
...@@ -4880,6 +4955,7 @@ ...@@ -4880,6 +4955,7 @@
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
"integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==",
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -4916,6 +4992,7 @@ ...@@ -4916,6 +4992,7 @@
"version": "0.2.1", "version": "0.2.1",
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
"integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==",
"peer": true,
"dependencies": { "dependencies": {
"map-cache": "^0.2.2" "map-cache": "^0.2.2"
}, },
...@@ -5016,6 +5093,7 @@ ...@@ -5016,6 +5093,7 @@
"version": "2.0.6", "version": "2.0.6",
"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
"integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==",
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -5100,6 +5178,7 @@ ...@@ -5100,6 +5178,7 @@
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
"integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
"peer": true,
"dependencies": { "dependencies": {
"es-define-property": "^1.0.0" "es-define-property": "^1.0.0"
}, },
...@@ -5138,6 +5217,7 @@ ...@@ -5138,6 +5217,7 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
"integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==",
"peer": true,
"dependencies": { "dependencies": {
"get-value": "^2.0.6", "get-value": "^2.0.6",
"has-values": "^1.0.0", "has-values": "^1.0.0",
...@@ -5151,6 +5231,7 @@ ...@@ -5151,6 +5231,7 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
"integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==",
"peer": true,
"dependencies": { "dependencies": {
"is-number": "^3.0.0", "is-number": "^3.0.0",
"kind-of": "^4.0.0" "kind-of": "^4.0.0"
...@@ -5163,6 +5244,7 @@ ...@@ -5163,6 +5244,7 @@
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
"integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
"peer": true,
"dependencies": { "dependencies": {
"kind-of": "^3.0.2" "kind-of": "^3.0.2"
}, },
...@@ -5174,6 +5256,7 @@ ...@@ -5174,6 +5256,7 @@
"version": "3.2.2", "version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
"peer": true,
"dependencies": { "dependencies": {
"is-buffer": "^1.1.5" "is-buffer": "^1.1.5"
}, },
...@@ -5185,6 +5268,7 @@ ...@@ -5185,6 +5268,7 @@
"version": "3.0.4", "version": "3.0.4",
"resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
"integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==",
"peer": true,
"dependencies": { "dependencies": {
"inherits": "^2.0.1", "inherits": "^2.0.1",
"safe-buffer": "^5.0.1" "safe-buffer": "^5.0.1"
...@@ -5197,6 +5281,7 @@ ...@@ -5197,6 +5281,7 @@
"version": "1.1.7", "version": "1.1.7",
"resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
"integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
"peer": true,
"dependencies": { "dependencies": {
"inherits": "^2.0.3", "inherits": "^2.0.3",
"minimalistic-assert": "^1.0.1" "minimalistic-assert": "^1.0.1"
...@@ -5227,6 +5312,7 @@ ...@@ -5227,6 +5312,7 @@
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
"integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==",
"peer": true,
"dependencies": { "dependencies": {
"hash.js": "^1.0.3", "hash.js": "^1.0.3",
"minimalistic-assert": "^1.0.0", "minimalistic-assert": "^1.0.0",
...@@ -5254,7 +5340,8 @@ ...@@ -5254,7 +5340,8 @@
"node_modules/https-browserify": { "node_modules/https-browserify": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
"integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==",
"peer": true
}, },
"node_modules/humanize-ms": { "node_modules/humanize-ms": {
"version": "1.2.1", "version": "1.2.1",
...@@ -5365,6 +5452,7 @@ ...@@ -5365,6 +5452,7 @@
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz",
"integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==",
"peer": true,
"dependencies": { "dependencies": {
"hasown": "^2.0.0" "hasown": "^2.0.0"
}, },
...@@ -5377,6 +5465,7 @@ ...@@ -5377,6 +5465,7 @@
"resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"binary-extensions": "^2.0.0" "binary-extensions": "^2.0.0"
}, },
...@@ -5387,7 +5476,8 @@ ...@@ -5387,7 +5476,8 @@
"node_modules/is-buffer": { "node_modules/is-buffer": {
"version": "1.1.6", "version": "1.1.6",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"peer": true
}, },
"node_modules/is-class-hotfix": { "node_modules/is-class-hotfix": {
"version": "0.0.6", "version": "0.0.6",
...@@ -5399,6 +5489,7 @@ ...@@ -5399,6 +5489,7 @@
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz",
"integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==",
"peer": true,
"dependencies": { "dependencies": {
"hasown": "^2.0.0" "hasown": "^2.0.0"
}, },
...@@ -5410,6 +5501,7 @@ ...@@ -5410,6 +5501,7 @@
"version": "0.1.7", "version": "0.1.7",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz",
"integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==",
"peer": true,
"dependencies": { "dependencies": {
"is-accessor-descriptor": "^1.0.1", "is-accessor-descriptor": "^1.0.1",
"is-data-descriptor": "^1.0.1" "is-data-descriptor": "^1.0.1"
...@@ -5460,6 +5552,7 @@ ...@@ -5460,6 +5552,7 @@
"version": "2.0.4", "version": "2.0.4",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
"integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
"peer": true,
"dependencies": { "dependencies": {
"isobject": "^3.0.1" "isobject": "^3.0.1"
}, },
...@@ -5482,6 +5575,7 @@ ...@@ -5482,6 +5575,7 @@
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
"integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -5510,6 +5604,7 @@ ...@@ -5510,6 +5604,7 @@
"version": "3.0.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
"integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -5556,7 +5651,8 @@ ...@@ -5556,7 +5651,8 @@
"node_modules/json-parse-better-errors": { "node_modules/json-parse-better-errors": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
"integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
"peer": true
}, },
"node_modules/json-schema-traverse": { "node_modules/json-schema-traverse": {
"version": "0.4.1", "version": "0.4.1",
...@@ -5618,6 +5714,7 @@ ...@@ -5618,6 +5714,7 @@
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
"integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==",
"peer": true,
"dependencies": { "dependencies": {
"is-buffer": "^1.1.5" "is-buffer": "^1.1.5"
}, },
...@@ -5652,6 +5749,7 @@ ...@@ -5652,6 +5749,7 @@
"version": "2.4.0", "version": "2.4.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
"integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
"peer": true,
"engines": { "engines": {
"node": ">=4.3.0 <5.0.0 || >=5.10" "node": ">=4.3.0 <5.0.0 || >=5.10"
} }
...@@ -5706,14 +5804,12 @@ ...@@ -5706,14 +5804,12 @@
"node_modules/lodash": { "node_modules/lodash": {
"version": "4.17.21", "version": "4.17.21",
"resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
"peer": true
}, },
"node_modules/lodash-es": { "node_modules/lodash-es": {
"version": "4.17.21", "version": "4.17.21",
"resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz",
"integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
"peer": true
}, },
"node_modules/lodash-unified": { "node_modules/lodash-unified": {
"version": "1.0.3", "version": "1.0.3",
...@@ -5796,6 +5892,7 @@ ...@@ -5796,6 +5892,7 @@
"version": "0.2.2", "version": "0.2.2",
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
"integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==",
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -5804,6 +5901,7 @@ ...@@ -5804,6 +5901,7 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
"integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==",
"peer": true,
"dependencies": { "dependencies": {
"object-visit": "^1.0.0" "object-visit": "^1.0.0"
}, },
...@@ -5852,6 +5950,7 @@ ...@@ -5852,6 +5950,7 @@
"version": "1.3.5", "version": "1.3.5",
"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
"integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
"peer": true,
"dependencies": { "dependencies": {
"hash-base": "^3.0.0", "hash-base": "^3.0.0",
"inherits": "^2.0.1", "inherits": "^2.0.1",
...@@ -5873,6 +5972,7 @@ ...@@ -5873,6 +5972,7 @@
"version": "0.5.0", "version": "0.5.0",
"resolved": "https://registry.npmmirror.com/memory-fs/-/memory-fs-0.5.0.tgz", "resolved": "https://registry.npmmirror.com/memory-fs/-/memory-fs-0.5.0.tgz",
"integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
"peer": true,
"dependencies": { "dependencies": {
"errno": "^0.1.3", "errno": "^0.1.3",
"readable-stream": "^2.0.1" "readable-stream": "^2.0.1"
...@@ -5916,6 +6016,7 @@ ...@@ -5916,6 +6016,7 @@
"version": "4.0.1", "version": "4.0.1",
"resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
"integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
"peer": true,
"dependencies": { "dependencies": {
"bn.js": "^4.0.0", "bn.js": "^4.0.0",
"brorand": "^1.0.1" "brorand": "^1.0.1"
...@@ -5927,7 +6028,8 @@ ...@@ -5927,7 +6028,8 @@
"node_modules/miller-rabin/node_modules/bn.js": { "node_modules/miller-rabin/node_modules/bn.js": {
"version": "4.12.0", "version": "4.12.0",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
"peer": true
}, },
"node_modules/mime": { "node_modules/mime": {
"version": "2.6.0", "version": "2.6.0",
...@@ -5965,12 +6067,14 @@ ...@@ -5965,12 +6067,14 @@
"node_modules/minimalistic-assert": { "node_modules/minimalistic-assert": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
"integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
"peer": true
}, },
"node_modules/minimalistic-crypto-utils": { "node_modules/minimalistic-crypto-utils": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
"integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==",
"peer": true
}, },
"node_modules/minimatch": { "node_modules/minimatch": {
"version": "3.1.2", "version": "3.1.2",
...@@ -6015,6 +6119,7 @@ ...@@ -6015,6 +6119,7 @@
"version": "1.3.2", "version": "1.3.2",
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
"integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
"peer": true,
"dependencies": { "dependencies": {
"for-in": "^1.0.2", "for-in": "^1.0.2",
"is-extendable": "^1.0.1" "is-extendable": "^1.0.1"
...@@ -6027,6 +6132,7 @@ ...@@ -6027,6 +6132,7 @@
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"peer": true,
"dependencies": { "dependencies": {
"is-plain-object": "^2.0.4" "is-plain-object": "^2.0.4"
}, },
...@@ -6129,7 +6235,8 @@ ...@@ -6129,7 +6235,8 @@
"version": "2.19.0", "version": "2.19.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.19.0.tgz", "resolved": "https://registry.npmjs.org/nan/-/nan-2.19.0.tgz",
"integrity": "sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==", "integrity": "sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==",
"optional": true "optional": true,
"peer": true
}, },
"node_modules/nanoid": { "node_modules/nanoid": {
"version": "5.0.7", "version": "5.0.7",
...@@ -6152,6 +6259,7 @@ ...@@ -6152,6 +6259,7 @@
"version": "1.2.13", "version": "1.2.13",
"resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
"integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
"peer": true,
"dependencies": { "dependencies": {
"arr-diff": "^4.0.0", "arr-diff": "^4.0.0",
"array-unique": "^0.3.2", "array-unique": "^0.3.2",
...@@ -6173,6 +6281,7 @@ ...@@ -6173,6 +6281,7 @@
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
"integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
"peer": true,
"dependencies": { "dependencies": {
"is-descriptor": "^1.0.2", "is-descriptor": "^1.0.2",
"isobject": "^3.0.1" "isobject": "^3.0.1"
...@@ -6185,6 +6294,7 @@ ...@@ -6185,6 +6294,7 @@
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
"integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
"peer": true,
"dependencies": { "dependencies": {
"assign-symbols": "^1.0.0", "assign-symbols": "^1.0.0",
"is-extendable": "^1.0.1" "is-extendable": "^1.0.1"
...@@ -6197,6 +6307,7 @@ ...@@ -6197,6 +6307,7 @@
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
"integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
"peer": true,
"dependencies": { "dependencies": {
"is-accessor-descriptor": "^1.0.1", "is-accessor-descriptor": "^1.0.1",
"is-data-descriptor": "^1.0.1" "is-data-descriptor": "^1.0.1"
...@@ -6209,6 +6320,7 @@ ...@@ -6209,6 +6320,7 @@
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"peer": true,
"dependencies": { "dependencies": {
"is-plain-object": "^2.0.4" "is-plain-object": "^2.0.4"
}, },
...@@ -6220,6 +6332,7 @@ ...@@ -6220,6 +6332,7 @@
"version": "6.0.3", "version": "6.0.3",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -6234,7 +6347,8 @@ ...@@ -6234,7 +6347,8 @@
"node_modules/neo-async": { "node_modules/neo-async": {
"version": "2.6.2", "version": "2.6.2",
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
"peer": true
}, },
"node_modules/node-addon-api": { "node_modules/node-addon-api": {
"version": "7.1.1", "version": "7.1.1",
...@@ -6257,6 +6371,7 @@ ...@@ -6257,6 +6371,7 @@
"version": "2.2.1", "version": "2.2.1",
"resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
"integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
"peer": true,
"dependencies": { "dependencies": {
"assert": "^1.1.1", "assert": "^1.1.1",
"browserify-zlib": "^0.2.0", "browserify-zlib": "^0.2.0",
...@@ -6286,18 +6401,21 @@ ...@@ -6286,18 +6401,21 @@
"node_modules/node-libs-browser/node_modules/path-browserify": { "node_modules/node-libs-browser/node_modules/path-browserify": {
"version": "0.0.1", "version": "0.0.1",
"resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
"integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
"peer": true
}, },
"node_modules/node-libs-browser/node_modules/punycode": { "node_modules/node-libs-browser/node_modules/punycode": {
"version": "1.4.1", "version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
"integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==",
"peer": true
}, },
"node_modules/normalize-path": { "node_modules/normalize-path": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"optional": true, "optional": true,
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -6363,6 +6481,7 @@ ...@@ -6363,6 +6481,7 @@
"version": "0.1.0", "version": "0.1.0",
"resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
"integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==",
"peer": true,
"dependencies": { "dependencies": {
"copy-descriptor": "^0.1.0", "copy-descriptor": "^0.1.0",
"define-property": "^0.2.5", "define-property": "^0.2.5",
...@@ -6376,6 +6495,7 @@ ...@@ -6376,6 +6495,7 @@
"version": "3.2.2", "version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
"peer": true,
"dependencies": { "dependencies": {
"is-buffer": "^1.1.5" "is-buffer": "^1.1.5"
}, },
...@@ -6399,6 +6519,7 @@ ...@@ -6399,6 +6519,7 @@
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
"peer": true,
"engines": { "engines": {
"node": ">= 0.4" "node": ">= 0.4"
} }
...@@ -6407,6 +6528,7 @@ ...@@ -6407,6 +6528,7 @@
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
"integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==",
"peer": true,
"dependencies": { "dependencies": {
"isobject": "^3.0.0" "isobject": "^3.0.0"
}, },
...@@ -6418,6 +6540,7 @@ ...@@ -6418,6 +6540,7 @@
"version": "4.1.5", "version": "4.1.5",
"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
"integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==",
"peer": true,
"dependencies": { "dependencies": {
"call-bind": "^1.0.5", "call-bind": "^1.0.5",
"define-properties": "^1.2.1", "define-properties": "^1.2.1",
...@@ -6435,6 +6558,7 @@ ...@@ -6435,6 +6558,7 @@
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
"integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==",
"peer": true,
"dependencies": { "dependencies": {
"isobject": "^3.0.1" "isobject": "^3.0.1"
}, },
...@@ -6471,7 +6595,8 @@ ...@@ -6471,7 +6595,8 @@
"node_modules/os-browserify": { "node_modules/os-browserify": {
"version": "0.3.0", "version": "0.3.0",
"resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
"integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==" "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==",
"peer": true
}, },
"node_modules/os-name": { "node_modules/os-name": {
"version": "1.0.3", "version": "1.0.3",
...@@ -6547,7 +6672,8 @@ ...@@ -6547,7 +6672,8 @@
"node_modules/pako": { "node_modules/pako": {
"version": "1.0.11", "version": "1.0.11",
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
"integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
"peer": true
}, },
"node_modules/parallel-transform": { "node_modules/parallel-transform": {
"version": "1.2.0", "version": "1.2.0",
...@@ -6576,6 +6702,7 @@ ...@@ -6576,6 +6702,7 @@
"version": "5.1.7", "version": "5.1.7",
"resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz",
"integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==", "integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==",
"peer": true,
"dependencies": { "dependencies": {
"asn1.js": "^4.10.1", "asn1.js": "^4.10.1",
"browserify-aes": "^1.2.0", "browserify-aes": "^1.2.0",
...@@ -6605,12 +6732,14 @@ ...@@ -6605,12 +6732,14 @@
"type": "consulting", "type": "consulting",
"url": "https://feross.org/support" "url": "https://feross.org/support"
} }
] ],
"peer": true
}, },
"node_modules/pascalcase": { "node_modules/pascalcase": {
"version": "0.1.1", "version": "0.1.1",
"resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
"integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==",
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -6626,7 +6755,8 @@ ...@@ -6626,7 +6755,8 @@
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
"integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==",
"optional": true "optional": true,
"peer": true
}, },
"node_modules/path-exists": { "node_modules/path-exists": {
"version": "4.0.0", "version": "4.0.0",
...@@ -6679,6 +6809,7 @@ ...@@ -6679,6 +6809,7 @@
"version": "3.1.2", "version": "3.1.2",
"resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
"integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
"peer": true,
"dependencies": { "dependencies": {
"create-hash": "^1.1.2", "create-hash": "^1.1.2",
"create-hmac": "^1.1.4", "create-hmac": "^1.1.4",
...@@ -6860,6 +6991,7 @@ ...@@ -6860,6 +6991,7 @@
"version": "0.1.1", "version": "0.1.1",
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
"integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==",
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -6938,6 +7070,7 @@ ...@@ -6938,6 +7070,7 @@
"version": "0.11.10", "version": "0.11.10",
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
"integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
"peer": true,
"engines": { "engines": {
"node": ">= 0.6.0" "node": ">= 0.6.0"
} }
...@@ -6966,6 +7099,7 @@ ...@@ -6966,6 +7099,7 @@
"version": "4.0.3", "version": "4.0.3",
"resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
"integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
"peer": true,
"dependencies": { "dependencies": {
"bn.js": "^4.1.0", "bn.js": "^4.1.0",
"browserify-rsa": "^4.0.0", "browserify-rsa": "^4.0.0",
...@@ -6978,7 +7112,8 @@ ...@@ -6978,7 +7112,8 @@
"node_modules/public-encrypt/node_modules/bn.js": { "node_modules/public-encrypt/node_modules/bn.js": {
"version": "4.12.0", "version": "4.12.0",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
"peer": true
}, },
"node_modules/pump": { "node_modules/pump": {
"version": "3.0.0", "version": "3.0.0",
...@@ -7052,6 +7187,7 @@ ...@@ -7052,6 +7187,7 @@
"version": "0.2.1", "version": "0.2.1",
"resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
"integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==",
"peer": true,
"engines": { "engines": {
"node": ">=0.4.x" "node": ">=0.4.x"
} }
...@@ -7075,6 +7211,7 @@ ...@@ -7075,6 +7211,7 @@
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
"integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
"peer": true,
"dependencies": { "dependencies": {
"safe-buffer": "^5.1.0" "safe-buffer": "^5.1.0"
} }
...@@ -7083,6 +7220,7 @@ ...@@ -7083,6 +7220,7 @@
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
"integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
"peer": true,
"dependencies": { "dependencies": {
"randombytes": "^2.0.5", "randombytes": "^2.0.5",
"safe-buffer": "^5.1.0" "safe-buffer": "^5.1.0"
...@@ -7107,6 +7245,7 @@ ...@@ -7107,6 +7245,7 @@
"resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"picomatch": "^2.2.1" "picomatch": "^2.2.1"
}, },
...@@ -7123,6 +7262,7 @@ ...@@ -7123,6 +7262,7 @@
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
"integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
"peer": true,
"dependencies": { "dependencies": {
"extend-shallow": "^3.0.2", "extend-shallow": "^3.0.2",
"safe-regex": "^1.1.0" "safe-regex": "^1.1.0"
...@@ -7135,6 +7275,7 @@ ...@@ -7135,6 +7275,7 @@
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
"integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
"peer": true,
"dependencies": { "dependencies": {
"assign-symbols": "^1.0.0", "assign-symbols": "^1.0.0",
"is-extendable": "^1.0.1" "is-extendable": "^1.0.1"
...@@ -7147,6 +7288,7 @@ ...@@ -7147,6 +7288,7 @@
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"peer": true,
"dependencies": { "dependencies": {
"is-plain-object": "^2.0.4" "is-plain-object": "^2.0.4"
}, },
...@@ -7158,12 +7300,14 @@ ...@@ -7158,12 +7300,14 @@
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
"integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==",
"optional": true "optional": true,
"peer": true
}, },
"node_modules/repeat-element": { "node_modules/repeat-element": {
"version": "1.1.4", "version": "1.1.4",
"resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz",
"integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==",
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -7172,6 +7316,7 @@ ...@@ -7172,6 +7316,7 @@
"version": "1.6.1", "version": "1.6.1",
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
"integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==",
"peer": true,
"engines": { "engines": {
"node": ">=0.10" "node": ">=0.10"
} }
...@@ -7195,12 +7340,14 @@ ...@@ -7195,12 +7340,14 @@
"version": "0.2.1", "version": "0.2.1",
"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
"integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==",
"deprecated": "https://github.com/lydell/resolve-url#deprecated" "deprecated": "https://github.com/lydell/resolve-url#deprecated",
"peer": true
}, },
"node_modules/ret": { "node_modules/ret": {
"version": "0.1.15", "version": "0.1.15",
"resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
"integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
"peer": true,
"engines": { "engines": {
"node": ">=0.12" "node": ">=0.12"
} }
...@@ -7228,6 +7375,7 @@ ...@@ -7228,6 +7375,7 @@
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
"integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
"peer": true,
"dependencies": { "dependencies": {
"hash-base": "^3.0.0", "hash-base": "^3.0.0",
"inherits": "^2.0.1" "inherits": "^2.0.1"
...@@ -7311,6 +7459,7 @@ ...@@ -7311,6 +7459,7 @@
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
"integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==",
"peer": true,
"dependencies": { "dependencies": {
"ret": "~0.1.10" "ret": "~0.1.10"
} }
...@@ -7809,6 +7958,7 @@ ...@@ -7809,6 +7958,7 @@
"version": "1.2.2", "version": "1.2.2",
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
"integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
"peer": true,
"dependencies": { "dependencies": {
"define-data-property": "^1.1.4", "define-data-property": "^1.1.4",
"es-errors": "^1.3.0", "es-errors": "^1.3.0",
...@@ -7825,6 +7975,7 @@ ...@@ -7825,6 +7975,7 @@
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
"integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
"peer": true,
"dependencies": { "dependencies": {
"extend-shallow": "^2.0.1", "extend-shallow": "^2.0.1",
"is-extendable": "^0.1.1", "is-extendable": "^0.1.1",
...@@ -7838,12 +7989,14 @@ ...@@ -7838,12 +7989,14 @@
"node_modules/setimmediate": { "node_modules/setimmediate": {
"version": "1.0.5", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
"integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
"peer": true
}, },
"node_modules/sha.js": { "node_modules/sha.js": {
"version": "2.4.11", "version": "2.4.11",
"resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
"integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
"peer": true,
"dependencies": { "dependencies": {
"inherits": "^2.0.1", "inherits": "^2.0.1",
"safe-buffer": "^5.0.1" "safe-buffer": "^5.0.1"
...@@ -7951,6 +8104,7 @@ ...@@ -7951,6 +8104,7 @@
"version": "0.8.2", "version": "0.8.2",
"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
"integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
"peer": true,
"dependencies": { "dependencies": {
"base": "^0.11.1", "base": "^0.11.1",
"debug": "^2.2.0", "debug": "^2.2.0",
...@@ -7969,6 +8123,7 @@ ...@@ -7969,6 +8123,7 @@
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
"integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
"peer": true,
"dependencies": { "dependencies": {
"define-property": "^1.0.0", "define-property": "^1.0.0",
"isobject": "^3.0.0", "isobject": "^3.0.0",
...@@ -7982,6 +8137,7 @@ ...@@ -7982,6 +8137,7 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
"peer": true,
"dependencies": { "dependencies": {
"is-descriptor": "^1.0.0" "is-descriptor": "^1.0.0"
}, },
...@@ -7993,6 +8149,7 @@ ...@@ -7993,6 +8149,7 @@
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
"integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
"peer": true,
"dependencies": { "dependencies": {
"is-accessor-descriptor": "^1.0.1", "is-accessor-descriptor": "^1.0.1",
"is-data-descriptor": "^1.0.1" "is-data-descriptor": "^1.0.1"
...@@ -8005,6 +8162,7 @@ ...@@ -8005,6 +8162,7 @@
"version": "3.0.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
"integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
"peer": true,
"dependencies": { "dependencies": {
"kind-of": "^3.2.0" "kind-of": "^3.2.0"
}, },
...@@ -8016,6 +8174,7 @@ ...@@ -8016,6 +8174,7 @@
"version": "3.2.2", "version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
"peer": true,
"dependencies": { "dependencies": {
"is-buffer": "^1.1.5" "is-buffer": "^1.1.5"
}, },
...@@ -8027,6 +8186,7 @@ ...@@ -8027,6 +8186,7 @@
"version": "2.6.9", "version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"peer": true,
"dependencies": { "dependencies": {
"ms": "2.0.0" "ms": "2.0.0"
} }
...@@ -8034,12 +8194,14 @@ ...@@ -8034,12 +8194,14 @@
"node_modules/snapdragon/node_modules/ms": { "node_modules/snapdragon/node_modules/ms": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"peer": true
}, },
"node_modules/snapdragon/node_modules/source-map": { "node_modules/snapdragon/node_modules/source-map": {
"version": "0.5.7", "version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -8071,6 +8233,7 @@ ...@@ -8071,6 +8233,7 @@
"resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
"integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
"deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated",
"peer": true,
"dependencies": { "dependencies": {
"atob": "^2.1.2", "atob": "^2.1.2",
"decode-uri-component": "^0.2.0", "decode-uri-component": "^0.2.0",
...@@ -8083,6 +8246,7 @@ ...@@ -8083,6 +8246,7 @@
"version": "0.5.21", "version": "0.5.21",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
"integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
"peer": true,
"dependencies": { "dependencies": {
"buffer-from": "^1.0.0", "buffer-from": "^1.0.0",
"source-map": "^0.6.0" "source-map": "^0.6.0"
...@@ -8092,12 +8256,14 @@ ...@@ -8092,12 +8256,14 @@
"version": "0.4.1", "version": "0.4.1",
"resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
"integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
"deprecated": "See https://github.com/lydell/source-map-url#deprecated" "deprecated": "See https://github.com/lydell/source-map-url#deprecated",
"peer": true
}, },
"node_modules/split-string": { "node_modules/split-string": {
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
"integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
"peer": true,
"dependencies": { "dependencies": {
"extend-shallow": "^3.0.0" "extend-shallow": "^3.0.0"
}, },
...@@ -8109,6 +8275,7 @@ ...@@ -8109,6 +8275,7 @@
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
"integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
"peer": true,
"dependencies": { "dependencies": {
"assign-symbols": "^1.0.0", "assign-symbols": "^1.0.0",
"is-extendable": "^1.0.1" "is-extendable": "^1.0.1"
...@@ -8121,6 +8288,7 @@ ...@@ -8121,6 +8288,7 @@
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"peer": true,
"dependencies": { "dependencies": {
"is-plain-object": "^2.0.4" "is-plain-object": "^2.0.4"
}, },
...@@ -8149,6 +8317,7 @@ ...@@ -8149,6 +8317,7 @@
"version": "0.1.2", "version": "0.1.2",
"resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
"integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==",
"peer": true,
"dependencies": { "dependencies": {
"define-property": "^0.2.5", "define-property": "^0.2.5",
"object-copy": "^0.1.0" "object-copy": "^0.1.0"
...@@ -8170,6 +8339,7 @@ ...@@ -8170,6 +8339,7 @@
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
"integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
"peer": true,
"dependencies": { "dependencies": {
"inherits": "~2.0.1", "inherits": "~2.0.1",
"readable-stream": "^2.0.2" "readable-stream": "^2.0.2"
...@@ -8316,6 +8486,7 @@ ...@@ -8316,6 +8486,7 @@
"version": "1.1.3", "version": "1.1.3",
"resolved": "https://registry.npmmirror.com/tapable/-/tapable-1.1.3.tgz", "resolved": "https://registry.npmmirror.com/tapable/-/tapable-1.1.3.tgz",
"integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
"peer": true,
"engines": { "engines": {
"node": ">=6" "node": ">=6"
} }
...@@ -8324,6 +8495,7 @@ ...@@ -8324,6 +8495,7 @@
"version": "1.4.5", "version": "1.4.5",
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
"integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
"peer": true,
"dependencies": { "dependencies": {
"cacache": "^12.0.2", "cacache": "^12.0.2",
"find-cache-dir": "^2.1.0", "find-cache-dir": "^2.1.0",
...@@ -8346,6 +8518,7 @@ ...@@ -8346,6 +8518,7 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
"integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
"peer": true,
"dependencies": { "dependencies": {
"ajv": "^6.1.0", "ajv": "^6.1.0",
"ajv-errors": "^1.0.0", "ajv-errors": "^1.0.0",
...@@ -8359,6 +8532,7 @@ ...@@ -8359,6 +8532,7 @@
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
"integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
"peer": true,
"dependencies": { "dependencies": {
"randombytes": "^2.1.0" "randombytes": "^2.1.0"
} }
...@@ -8367,6 +8541,7 @@ ...@@ -8367,6 +8541,7 @@
"version": "4.8.1", "version": "4.8.1",
"resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz",
"integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==",
"peer": true,
"dependencies": { "dependencies": {
"commander": "^2.20.0", "commander": "^2.20.0",
"source-map": "~0.6.1", "source-map": "~0.6.1",
...@@ -8383,6 +8558,7 @@ ...@@ -8383,6 +8558,7 @@
"version": "1.4.3", "version": "1.4.3",
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
"integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
"peer": true,
"dependencies": { "dependencies": {
"source-list-map": "^2.0.0", "source-list-map": "^2.0.0",
"source-map": "~0.6.1" "source-map": "~0.6.1"
...@@ -8444,6 +8620,7 @@ ...@@ -8444,6 +8620,7 @@
"version": "2.0.12", "version": "2.0.12",
"resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
"integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
"peer": true,
"dependencies": { "dependencies": {
"setimmediate": "^1.0.4" "setimmediate": "^1.0.4"
}, },
...@@ -8499,7 +8676,6 @@ ...@@ -8499,7 +8676,6 @@
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"engines": { "engines": {
"node": ">=12" "node": ">=12"
}, },
...@@ -8521,6 +8697,7 @@ ...@@ -8521,6 +8697,7 @@
"version": "0.3.0", "version": "0.3.0",
"resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
"integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==",
"peer": true,
"dependencies": { "dependencies": {
"kind-of": "^3.0.2" "kind-of": "^3.0.2"
}, },
...@@ -8532,6 +8709,7 @@ ...@@ -8532,6 +8709,7 @@
"version": "3.2.2", "version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
"peer": true,
"dependencies": { "dependencies": {
"is-buffer": "^1.1.5" "is-buffer": "^1.1.5"
}, },
...@@ -8543,6 +8721,7 @@ ...@@ -8543,6 +8721,7 @@
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
"integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
"peer": true,
"dependencies": { "dependencies": {
"define-property": "^2.0.2", "define-property": "^2.0.2",
"extend-shallow": "^3.0.2", "extend-shallow": "^3.0.2",
...@@ -8569,6 +8748,7 @@ ...@@ -8569,6 +8748,7 @@
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
"integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
"peer": true,
"dependencies": { "dependencies": {
"is-descriptor": "^1.0.2", "is-descriptor": "^1.0.2",
"isobject": "^3.0.1" "isobject": "^3.0.1"
...@@ -8581,6 +8761,7 @@ ...@@ -8581,6 +8761,7 @@
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
"integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
"peer": true,
"dependencies": { "dependencies": {
"assign-symbols": "^1.0.0", "assign-symbols": "^1.0.0",
"is-extendable": "^1.0.1" "is-extendable": "^1.0.1"
...@@ -8593,6 +8774,7 @@ ...@@ -8593,6 +8774,7 @@
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
"integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
"peer": true,
"dependencies": { "dependencies": {
"is-accessor-descriptor": "^1.0.1", "is-accessor-descriptor": "^1.0.1",
"is-data-descriptor": "^1.0.1" "is-data-descriptor": "^1.0.1"
...@@ -8605,6 +8787,7 @@ ...@@ -8605,6 +8787,7 @@
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"peer": true,
"dependencies": { "dependencies": {
"is-plain-object": "^2.0.4" "is-plain-object": "^2.0.4"
}, },
...@@ -8651,7 +8834,8 @@ ...@@ -8651,7 +8834,8 @@
"node_modules/tty-browserify": { "node_modules/tty-browserify": {
"version": "0.0.0", "version": "0.0.0",
"resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
"integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==" "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==",
"peer": true
}, },
"node_modules/type-check": { "node_modules/type-check": {
"version": "0.4.0", "version": "0.4.0",
...@@ -8690,7 +8874,6 @@ ...@@ -8690,7 +8874,6 @@
"integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==",
"devOptional": true, "devOptional": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"peer": true,
"bin": { "bin": {
"tsc": "bin/tsc", "tsc": "bin/tsc",
"tsserver": "bin/tsserver" "tsserver": "bin/tsserver"
...@@ -8917,6 +9100,7 @@ ...@@ -8917,6 +9100,7 @@
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
"integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
"peer": true,
"dependencies": { "dependencies": {
"arr-union": "^3.1.0", "arr-union": "^3.1.0",
"get-value": "^2.0.6", "get-value": "^2.0.6",
...@@ -9053,6 +9237,7 @@ ...@@ -9053,6 +9237,7 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
"integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==",
"peer": true,
"dependencies": { "dependencies": {
"has-value": "^0.3.1", "has-value": "^0.3.1",
"isobject": "^3.0.0" "isobject": "^3.0.0"
...@@ -9065,6 +9250,7 @@ ...@@ -9065,6 +9250,7 @@
"version": "0.3.1", "version": "0.3.1",
"resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
"integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==",
"peer": true,
"dependencies": { "dependencies": {
"get-value": "^2.0.3", "get-value": "^2.0.3",
"has-values": "^0.1.4", "has-values": "^0.1.4",
...@@ -9078,6 +9264,7 @@ ...@@ -9078,6 +9264,7 @@
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
"integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==",
"peer": true,
"dependencies": { "dependencies": {
"isarray": "1.0.0" "isarray": "1.0.0"
}, },
...@@ -9089,6 +9276,7 @@ ...@@ -9089,6 +9276,7 @@
"version": "0.1.4", "version": "0.1.4",
"resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
"integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==",
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -9098,6 +9286,7 @@ ...@@ -9098,6 +9286,7 @@
"resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
"integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
"optional": true, "optional": true,
"peer": true,
"engines": { "engines": {
"node": ">=4", "node": ">=4",
"yarn": "*" "yarn": "*"
...@@ -9115,12 +9304,14 @@ ...@@ -9115,12 +9304,14 @@
"version": "0.1.0", "version": "0.1.0",
"resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
"integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==",
"deprecated": "Please see https://github.com/lydell/urix#deprecated" "deprecated": "Please see https://github.com/lydell/urix#deprecated",
"peer": true
}, },
"node_modules/url": { "node_modules/url": {
"version": "0.11.3", "version": "0.11.3",
"resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz",
"integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==",
"peer": true,
"dependencies": { "dependencies": {
"punycode": "^1.4.1", "punycode": "^1.4.1",
"qs": "^6.11.2" "qs": "^6.11.2"
...@@ -9129,7 +9320,8 @@ ...@@ -9129,7 +9320,8 @@
"node_modules/url/node_modules/punycode": { "node_modules/url/node_modules/punycode": {
"version": "1.4.1", "version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
"integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==",
"peer": true
}, },
"node_modules/urllib": { "node_modules/urllib": {
"version": "2.44.0", "version": "2.44.0",
...@@ -9166,6 +9358,7 @@ ...@@ -9166,6 +9358,7 @@
"version": "3.1.1", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
"integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -9174,6 +9367,7 @@ ...@@ -9174,6 +9367,7 @@
"version": "0.11.1", "version": "0.11.1",
"resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
"integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
"peer": true,
"dependencies": { "dependencies": {
"inherits": "2.0.3" "inherits": "2.0.3"
} }
...@@ -9186,7 +9380,8 @@ ...@@ -9186,7 +9380,8 @@
"node_modules/util/node_modules/inherits": { "node_modules/util/node_modules/inherits": {
"version": "2.0.3", "version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==",
"peer": true
}, },
"node_modules/utility": { "node_modules/utility": {
"version": "1.18.0", "version": "1.18.0",
...@@ -9239,7 +9434,6 @@ ...@@ -9239,7 +9434,6 @@
"integrity": "sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==", "integrity": "sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"esbuild": "^0.25.0", "esbuild": "^0.25.0",
"fdir": "^6.5.0", "fdir": "^6.5.0",
...@@ -9459,7 +9653,6 @@ ...@@ -9459,7 +9653,6 @@
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"engines": { "engines": {
"node": ">=12" "node": ">=12"
}, },
...@@ -9470,7 +9663,8 @@ ...@@ -9470,7 +9663,8 @@
"node_modules/vm-browserify": { "node_modules/vm-browserify": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
"integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
"peer": true
}, },
"node_modules/vscode-uri": { "node_modules/vscode-uri": {
"version": "3.1.0", "version": "3.1.0",
...@@ -9484,7 +9678,6 @@ ...@@ -9484,7 +9678,6 @@
"resolved": "https://registry.npmjs.org/vue/-/vue-3.5.25.tgz", "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.25.tgz",
"integrity": "sha512-YLVdgv2K13WJ6n+kD5owehKtEXwdwXuj2TTyJMsO7pSeKw2bfRNZGjhB7YzrpbMYj5b5QsUebHpOqR3R3ziy/g==", "integrity": "sha512-YLVdgv2K13WJ6n+kD5owehKtEXwdwXuj2TTyJMsO7pSeKw2bfRNZGjhB7YzrpbMYj5b5QsUebHpOqR3R3ziy/g==",
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"@vue/compiler-dom": "3.5.25", "@vue/compiler-dom": "3.5.25",
"@vue/compiler-sfc": "3.5.25", "@vue/compiler-sfc": "3.5.25",
...@@ -9643,7 +9836,6 @@ ...@@ -9643,7 +9836,6 @@
"integrity": "sha512-P7OP77b2h/Pmk+lZdJ0YWs+5tJ6J2+uOQPo7tlBnY44QqQSPYvS0qVT4wqDJgwrZaLe47etJLLQRFia71GYITw==", "integrity": "sha512-P7OP77b2h/Pmk+lZdJ0YWs+5tJ6J2+uOQPo7tlBnY44QqQSPYvS0qVT4wqDJgwrZaLe47etJLLQRFia71GYITw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"@volar/typescript": "2.4.15", "@volar/typescript": "2.4.15",
"@vue/language-core": "2.2.12" "@vue/language-core": "2.2.12"
...@@ -9659,6 +9851,7 @@ ...@@ -9659,6 +9851,7 @@
"version": "1.7.5", "version": "1.7.5",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz",
"integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==",
"peer": true,
"dependencies": { "dependencies": {
"graceful-fs": "^4.1.2", "graceful-fs": "^4.1.2",
"neo-async": "^2.5.0" "neo-async": "^2.5.0"
...@@ -9673,6 +9866,7 @@ ...@@ -9673,6 +9866,7 @@
"resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz",
"integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"chokidar": "^2.1.8" "chokidar": "^2.1.8"
} }
...@@ -9682,6 +9876,7 @@ ...@@ -9682,6 +9876,7 @@
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
"integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"micromatch": "^3.1.4", "micromatch": "^3.1.4",
"normalize-path": "^2.1.1" "normalize-path": "^2.1.1"
...@@ -9692,6 +9887,7 @@ ...@@ -9692,6 +9887,7 @@
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
"integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"remove-trailing-separator": "^1.0.1" "remove-trailing-separator": "^1.0.1"
}, },
...@@ -9704,6 +9900,7 @@ ...@@ -9704,6 +9900,7 @@
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
"integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
"optional": true, "optional": true,
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -9713,6 +9910,7 @@ ...@@ -9713,6 +9910,7 @@
"resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
"integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"arr-flatten": "^1.1.0", "arr-flatten": "^1.1.0",
"array-unique": "^0.3.2", "array-unique": "^0.3.2",
...@@ -9735,6 +9933,7 @@ ...@@ -9735,6 +9933,7 @@
"integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
"deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"anymatch": "^2.0.0", "anymatch": "^2.0.0",
"async-each": "^1.0.1", "async-each": "^1.0.1",
...@@ -9757,6 +9956,7 @@ ...@@ -9757,6 +9956,7 @@
"resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
"integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"is-descriptor": "^1.0.2", "is-descriptor": "^1.0.2",
"isobject": "^3.0.1" "isobject": "^3.0.1"
...@@ -9770,6 +9970,7 @@ ...@@ -9770,6 +9970,7 @@
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
"integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"extend-shallow": "^2.0.1", "extend-shallow": "^2.0.1",
"is-number": "^3.0.0", "is-number": "^3.0.0",
...@@ -9790,6 +9991,7 @@ ...@@ -9790,6 +9991,7 @@
"os": [ "os": [
"darwin" "darwin"
], ],
"peer": true,
"dependencies": { "dependencies": {
"bindings": "^1.5.0", "bindings": "^1.5.0",
"nan": "^2.12.1" "nan": "^2.12.1"
...@@ -9803,6 +10005,7 @@ ...@@ -9803,6 +10005,7 @@
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
"integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"is-glob": "^3.1.0", "is-glob": "^3.1.0",
"path-dirname": "^1.0.0" "path-dirname": "^1.0.0"
...@@ -9813,6 +10016,7 @@ ...@@ -9813,6 +10016,7 @@
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
"integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"is-extglob": "^2.1.0" "is-extglob": "^2.1.0"
}, },
...@@ -9825,6 +10029,7 @@ ...@@ -9825,6 +10029,7 @@
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
"integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"binary-extensions": "^1.0.0" "binary-extensions": "^1.0.0"
}, },
...@@ -9837,6 +10042,7 @@ ...@@ -9837,6 +10042,7 @@
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
"integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"is-accessor-descriptor": "^1.0.1", "is-accessor-descriptor": "^1.0.1",
"is-data-descriptor": "^1.0.1" "is-data-descriptor": "^1.0.1"
...@@ -9850,6 +10056,7 @@ ...@@ -9850,6 +10056,7 @@
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"is-plain-object": "^2.0.4" "is-plain-object": "^2.0.4"
}, },
...@@ -9862,6 +10069,7 @@ ...@@ -9862,6 +10069,7 @@
"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
"integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"kind-of": "^3.0.2" "kind-of": "^3.0.2"
}, },
...@@ -9874,6 +10082,7 @@ ...@@ -9874,6 +10082,7 @@
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"is-buffer": "^1.1.5" "is-buffer": "^1.1.5"
}, },
...@@ -9886,6 +10095,7 @@ ...@@ -9886,6 +10095,7 @@
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
"integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"arr-diff": "^4.0.0", "arr-diff": "^4.0.0",
"array-unique": "^0.3.2", "array-unique": "^0.3.2",
...@@ -9910,6 +10120,7 @@ ...@@ -9910,6 +10120,7 @@
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
"integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"assign-symbols": "^1.0.0", "assign-symbols": "^1.0.0",
"is-extendable": "^1.0.1" "is-extendable": "^1.0.1"
...@@ -9923,6 +10134,7 @@ ...@@ -9923,6 +10134,7 @@
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"optional": true, "optional": true,
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -9932,6 +10144,7 @@ ...@@ -9932,6 +10144,7 @@
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
"integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"graceful-fs": "^4.1.11", "graceful-fs": "^4.1.11",
"micromatch": "^3.1.10", "micromatch": "^3.1.10",
...@@ -9946,6 +10159,7 @@ ...@@ -9946,6 +10159,7 @@
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
"integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==",
"optional": true, "optional": true,
"peer": true,
"dependencies": { "dependencies": {
"is-number": "^3.0.0", "is-number": "^3.0.0",
"repeat-string": "^1.6.1" "repeat-string": "^1.6.1"
...@@ -10014,6 +10228,7 @@ ...@@ -10014,6 +10228,7 @@
"version": "6.4.2", "version": "6.4.2",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
"integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
"peer": true,
"bin": { "bin": {
"acorn": "bin/acorn" "acorn": "bin/acorn"
}, },
...@@ -10025,6 +10240,7 @@ ...@@ -10025,6 +10240,7 @@
"version": "2.3.2", "version": "2.3.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
"integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
"peer": true,
"dependencies": { "dependencies": {
"arr-flatten": "^1.1.0", "arr-flatten": "^1.1.0",
"array-unique": "^0.3.2", "array-unique": "^0.3.2",
...@@ -10045,6 +10261,7 @@ ...@@ -10045,6 +10261,7 @@
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
"integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
"peer": true,
"dependencies": { "dependencies": {
"is-descriptor": "^1.0.2", "is-descriptor": "^1.0.2",
"isobject": "^3.0.1" "isobject": "^3.0.1"
...@@ -10057,6 +10274,7 @@ ...@@ -10057,6 +10274,7 @@
"version": "4.0.3", "version": "4.0.3",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
"integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
"peer": true,
"dependencies": { "dependencies": {
"esrecurse": "^4.1.0", "esrecurse": "^4.1.0",
"estraverse": "^4.1.1" "estraverse": "^4.1.1"
...@@ -10069,6 +10287,7 @@ ...@@ -10069,6 +10287,7 @@
"version": "4.3.0", "version": "4.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
"peer": true,
"engines": { "engines": {
"node": ">=4.0" "node": ">=4.0"
} }
...@@ -10077,6 +10296,7 @@ ...@@ -10077,6 +10296,7 @@
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
"integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==",
"peer": true,
"dependencies": { "dependencies": {
"extend-shallow": "^2.0.1", "extend-shallow": "^2.0.1",
"is-number": "^3.0.0", "is-number": "^3.0.0",
...@@ -10091,6 +10311,7 @@ ...@@ -10091,6 +10311,7 @@
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
"integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
"peer": true,
"dependencies": { "dependencies": {
"is-accessor-descriptor": "^1.0.1", "is-accessor-descriptor": "^1.0.1",
"is-data-descriptor": "^1.0.1" "is-data-descriptor": "^1.0.1"
...@@ -10103,6 +10324,7 @@ ...@@ -10103,6 +10324,7 @@
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"peer": true,
"dependencies": { "dependencies": {
"is-plain-object": "^2.0.4" "is-plain-object": "^2.0.4"
}, },
...@@ -10114,6 +10336,7 @@ ...@@ -10114,6 +10336,7 @@
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
"integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
"peer": true,
"dependencies": { "dependencies": {
"kind-of": "^3.0.2" "kind-of": "^3.0.2"
}, },
...@@ -10125,6 +10348,7 @@ ...@@ -10125,6 +10348,7 @@
"version": "3.2.2", "version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
"peer": true,
"dependencies": { "dependencies": {
"is-buffer": "^1.1.5" "is-buffer": "^1.1.5"
}, },
...@@ -10136,6 +10360,7 @@ ...@@ -10136,6 +10360,7 @@
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
"peer": true,
"dependencies": { "dependencies": {
"minimist": "^1.2.0" "minimist": "^1.2.0"
}, },
...@@ -10147,6 +10372,7 @@ ...@@ -10147,6 +10372,7 @@
"version": "6.0.3", "version": "6.0.3",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
...@@ -10155,6 +10381,7 @@ ...@@ -10155,6 +10381,7 @@
"version": "1.4.2", "version": "1.4.2",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz",
"integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
"peer": true,
"dependencies": { "dependencies": {
"big.js": "^5.2.2", "big.js": "^5.2.2",
"emojis-list": "^3.0.0", "emojis-list": "^3.0.0",
...@@ -10168,6 +10395,7 @@ ...@@ -10168,6 +10395,7 @@
"version": "0.4.1", "version": "0.4.1",
"resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
"integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==",
"peer": true,
"dependencies": { "dependencies": {
"errno": "^0.1.3", "errno": "^0.1.3",
"readable-stream": "^2.0.1" "readable-stream": "^2.0.1"
...@@ -10177,6 +10405,7 @@ ...@@ -10177,6 +10405,7 @@
"version": "3.1.10", "version": "3.1.10",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
"integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
"peer": true,
"dependencies": { "dependencies": {
"arr-diff": "^4.0.0", "arr-diff": "^4.0.0",
"array-unique": "^0.3.2", "array-unique": "^0.3.2",
...@@ -10200,6 +10429,7 @@ ...@@ -10200,6 +10429,7 @@
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
"integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
"peer": true,
"dependencies": { "dependencies": {
"assign-symbols": "^1.0.0", "assign-symbols": "^1.0.0",
"is-extendable": "^1.0.1" "is-extendable": "^1.0.1"
...@@ -10212,6 +10442,7 @@ ...@@ -10212,6 +10442,7 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
"integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
"peer": true,
"dependencies": { "dependencies": {
"ajv": "^6.1.0", "ajv": "^6.1.0",
"ajv-errors": "^1.0.0", "ajv-errors": "^1.0.0",
...@@ -10225,6 +10456,7 @@ ...@@ -10225,6 +10456,7 @@
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
"integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==",
"peer": true,
"dependencies": { "dependencies": {
"is-number": "^3.0.0", "is-number": "^3.0.0",
"repeat-string": "^1.6.1" "repeat-string": "^1.6.1"
...@@ -10237,6 +10469,7 @@ ...@@ -10237,6 +10469,7 @@
"version": "1.4.3", "version": "1.4.3",
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
"integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
"peer": true,
"dependencies": { "dependencies": {
"source-list-map": "^2.0.0", "source-list-map": "^2.0.0",
"source-map": "~0.6.1" "source-map": "~0.6.1"
......
...@@ -85,6 +85,13 @@ textarea:focus { ...@@ -85,6 +85,13 @@ textarea:focus {
margin: 0 -16px 30px; margin: 0 -16px 30px;
padding: 0 16px; padding: 0 16px;
} }
/* 移动端弹框宽度 90% */
@media (max-width: 767px) {
.el-overlay-dialog .el-dialog {
width: 90% !important;
}
}
.info .el-form-item { .info .el-form-item {
margin-bottom: 0; margin-bottom: 0;
} }
...@@ -119,3 +126,100 @@ textarea:focus { ...@@ -119,3 +126,100 @@ textarea:focus {
padding: 8px 16px; padding: 8px 16px;
border: 1px solid #e6e6e6; border: 1px solid #e6e6e6;
} }
/* ============ 系统级响应式 ============ */
/* 移动端弹框宽度 90% */
@media (max-width: 767px) {
.el-overlay-dialog .el-dialog {
width: 90% !important;
}
}
@media (max-width: 767px) {
/* AppCard 移动端内边距缩减 */
.app-card {
padding: 12px !important;
}
.app-card + .app-card {
margin-top: 12px !important;
}
.app-card-hd__title {
font-size: 16px;
margin-bottom: 16px;
}
/* 全局 el-table 横向滚动 */
.el-table {
width: 100%;
}
.el-table__body-wrapper {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
/* el-pagination 移动端简化 */
.el-pagination {
flex-wrap: wrap;
justify-content: center;
gap: 4px;
font-size: 12px;
}
.el-pagination__total,
.el-pagination__sizes,
.el-pagination__jump {
display: none !important;
}
.el-pager .number {
min-width: 28px;
height: 28px;
line-height: 28px;
}
.btn-prev,
.btn-next {
height: 28px;
min-width: 28px;
}
/* el-steps 移动端垂直 */
.el-steps--horizontal {
flex-direction: column;
}
/* 弹框底部按钮组换行 */
.el-dialog__footer {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 8px;
.el-button {
margin-left: 0 !important;
}
}
/* 弹框按钮选中不独占一行,保持自然间距 */
.el-dialog__footer .el-button + .el-button {
margin-left: 0;
}
/* 固定宽度容器防溢出 */
[style*="width: 200px"],
[style*="width: 220px"],
[style*="width: 300px"],
[style*="width: 340px"],
[style*="width: 400px"],
[style*="width: 150px"] {
max-width: 100% !important;
}
/* hover 显示的元素在触摸设备上常显 */
.connect-item__remove,
.connect-item__edit,
.hover-show {
display: block !important;
}
[class*="remove"]:hover,
[class*="delete"]:hover {
opacity: 1;
}
}
...@@ -107,4 +107,17 @@ const color = ['#af1c40', '#c17933', '#8f0034', '#d45548', '#ab3259', '#dec34c', ...@@ -107,4 +107,17 @@ const color = ['#af1c40', '#c17933', '#8f0034', '#d45548', '#ab3259', '#dec34c',
height: 290px; height: 290px;
} }
} }
@media (max-width: 767px) {
.chart-hd {
padding: 8px 12px;
height: auto;
flex-wrap: wrap;
gap: 4px;
h3 { font-size: 14px; }
}
.chart-bd {
margin: 0 12px 12px;
.chart { height: 220px; }
}
}
</style> </style>
<script setup lang="ts"> <script setup lang="ts">
import { getCategoryList } from '@/api/base' import { getCategoryList } from '@/api/base'
withDefaults(defineProps<{ placeholder?: string }>(), { placeholder: '请选择' })
const options = ref([]) const options = ref([])
async function fetchList() { async function fetchList() {
const res = await getCategoryList() const res = await getCategoryList()
...@@ -14,7 +16,7 @@ watchEffect(() => { ...@@ -14,7 +16,7 @@ watchEffect(() => {
<template> <template>
<el-cascader <el-cascader
clearable clearable
placeholder="请选择" :placeholder="placeholder"
style="width: 100%" style="width: 100%"
:options="options" :options="options"
:props="{ :props="{
......
<script setup lang="ts"> <script setup lang="ts">
import { Search, RefreshLeft } from '@element-plus/icons-vue' import { Search, RefreshLeft } from '@element-plus/icons-vue'
import { useMediaQuery } from '@vueuse/core'
const isMobile = useMediaQuery('(max-width: 767px)')
// 移动端卡片列(过滤序号、操作等 slot 列留给卡片底部渲染)
const cardColumns = computed(() => props.columns.filter((c) => c.type !== 'index' && c.slots !== 'table-x'))
const hasActionsColumn = computed(() => props.columns.some((c) => c.slots === 'table-x'))
interface IRemoteProps { interface IRemoteProps {
params?: any params?: any
...@@ -17,6 +24,7 @@ interface Props { ...@@ -17,6 +24,7 @@ interface Props {
hasPagination?: boolean hasPagination?: boolean
limit?: number limit?: number
hasLoading?: boolean hasLoading?: boolean
mobileCards?: boolean
} }
const props = withDefaults(defineProps<Props>(), { const props = withDefaults(defineProps<Props>(), {
hasPagination: true, hasPagination: true,
...@@ -25,6 +33,7 @@ const props = withDefaults(defineProps<Props>(), { ...@@ -25,6 +33,7 @@ const props = withDefaults(defineProps<Props>(), {
filters: () => [], filters: () => [],
columns: () => [], columns: () => [],
data: () => [], data: () => [],
mobileCards: true,
}) })
const filterFormRef = ref() const filterFormRef = ref()
...@@ -170,7 +179,9 @@ defineExpose({ refetch, tableRef }) ...@@ -170,7 +179,9 @@ defineExpose({ refetch, tableRef })
<!-- 主体 --> <!-- 主体 -->
<div class="table-list-bd"> <div class="table-list-bd">
<slot name="body" v-bind="{ data: dataList }"> <slot name="body" v-bind="{ data: dataList }">
<!-- 桌面端 / 禁用移动端卡片时:表格 -->
<el-table <el-table
v-if="!isMobile || !mobileCards"
:header-cell-style="{ background: '#ededed' }" :header-cell-style="{ background: '#ededed' }"
:data="dataList" :data="dataList"
v-loading="loading && hasLoading" v-loading="loading && hasLoading"
...@@ -183,6 +194,27 @@ defineExpose({ refetch, tableRef }) ...@@ -183,6 +194,27 @@ defineExpose({ refetch, tableRef })
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 移动端:卡片列表 -->
<div v-if="isMobile && mobileCards" class="mobile-card-list" v-loading="loading && hasLoading">
<div class="mobile-card" v-for="(row, rowIndex) in dataList" :key="rowIndex">
<div class="mobile-card-body">
<div class="mobile-card-row" v-for="col in cardColumns" :key="col.prop || col.label">
<span class="mobile-card-label">{{ col.label }}</span>
<span class="mobile-card-colon">:</span>
<span class="mobile-card-value">
<slot v-if="col.slots && $slots[col.slots]" :name="col.slots" v-bind="{ row, $index: rowIndex }"></slot>
<div v-html="col.computed({ row, $index: rowIndex })" v-else-if="col.computed"></div>
<template v-else>{{ row[col.prop] ?? '-' }}</template>
</span>
</div>
</div>
<!-- 操作栏:如果有 slot 列,提取渲染 -->
<div class="mobile-card-ft" v-if="hasActionsColumn">
<slot name="table-x" v-bind="{ row, $index: rowIndex }"></slot>
</div>
</div>
<el-empty v-if="!dataList.length && !loading" description="暂无数据" />
</div>
</slot> </slot>
</div> </div>
<!-- 底部 --> <!-- 底部 -->
...@@ -254,4 +286,96 @@ defineExpose({ refetch, tableRef }) ...@@ -254,4 +286,96 @@ defineExpose({ refetch, tableRef })
} }
} }
} }
// 移动端卡片列表
.mobile-card-list {
min-height: 120px;
}
.mobile-card {
background: #fff; border-radius: 8px; border: 1px solid #eee;
margin-bottom: 12px; overflow: hidden; display: flex; flex-direction: column;
}
.mobile-card-body { flex: 1; padding: 14px 16px; }
.mobile-card-row {
display: flex; padding: 5px 0; border-bottom: 1px solid #f5f5f5; line-height: 1.6;
&:last-child { border-bottom: none; }
}
.mobile-card-label { flex-shrink: 0; color: #999; font-size: 14px; }
.mobile-card-colon { color: #999; font-size: 14px; margin-right: 6px; }
.mobile-card-value { flex: 1; font-size: 14px; color: #333; min-width: 0; word-break: break-all; }
.mobile-card-ft {
padding: 6px 12px; display: flex; flex-wrap: wrap;
gap: 6px; row-gap: 4px;
background: #fafafa; border-top: 1px solid #f0f0f0;
.el-button {
padding: 5px 10px;
font-size: 12px;
min-width: 44px;
text-align: center;
+ .el-button { margin-left: 0; }
}
}
// 移动端筛选表单
@media (max-width: 767px) {
.table-list-hd .el-form-item__label {
display: none;
}
.table-list-filter {
width: 100%;
.el-form,
.el-form--inline {
width: 100%;
}
.el-form-item {
width: 100%;
margin-right: 0;
margin-bottom: 8px;
}
.el-form-item__content {
width: 100%;
}
.el-input,
.el-select,
.el-cascader {
width: 100% !important;
}
.filter-buttons {
width: auto;
}
}
// 移动端分页
.table-list-ft {
flex-direction: column;
gap: 8px;
padding: 8px 0;
}
.table-list-pagination {
.el-pagination {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 2px;
}
.el-pagination__total,
.el-pagination__sizes,
.el-pagination__jump {
display: none;
}
.el-pager {
.number {
min-width: 28px;
height: 28px;
line-height: 28px;
font-size: 12px;
}
}
.btn-prev,
.btn-next {
height: 28px;
min-width: 28px;
}
}
}
</style> </style>
...@@ -5,12 +5,16 @@ export default { name: 'AppAside' } ...@@ -5,12 +5,16 @@ export default { name: 'AppAside' }
<script setup lang="ts"> <script setup lang="ts">
import type { IMenuItem } from '@/types' import type { IMenuItem } from '@/types'
import { useMenuStore } from '@/stores/menu' import { useMenuStore } from '@/stores/menu'
import { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'
const menus = useMenuStore().menus const menus = useMenuStore().menus
const route = useRoute() const route = useRoute()
const collapsed = ref(false)
const currentMenu = computed(() => { const currentMenu = computed(() => {
return findMenu(route.path, menus) return findMenu(route.fullPath, menus)
}) })
const currentSubmenu = computed(() => { const currentSubmenu = computed(() => {
...@@ -21,21 +25,43 @@ function findMenu(path: string, menus: IMenuItem[]) { ...@@ -21,21 +25,43 @@ function findMenu(path: string, menus: IMenuItem[]) {
return menus.find((item) => { return menus.find((item) => {
if ( if (
item.children && item.children &&
item.children.find((item) => { item.children.find((child) => {
const regExp = new RegExp(`^${item.path.replaceAll('?', '\\?')}`) // 匹配 path + query,不要求 query 参数顺序(如 /material?type=2 应匹配 /material?experiment_id=xxx&type=2)
return regExp.test(path) const [p, qs] = child.path.split('?')
if (!path.startsWith(p)) return false
if (!qs) return true
return qs.split('&').every((param) => path.includes(param))
}) })
) { ) {
return item return item
} }
const regExp = new RegExp(`^${item.path.replaceAll('?', '\\?')}`) const [p, qs] = item.path.split('?')
return regExp.test(path) if (!path.startsWith(p)) return false
if (!qs) return true
return qs.split('&').every((param) => path.includes(param))
}) })
} }
function toggleCollapse() {
collapsed.value = !collapsed.value
}
// 处理菜单路径中的 query 参数(如 /material?type=1),与 experiment_id 合并
function menuLinkTo(item: { path: string }) {
const baseQuery: Record<string, any> = { experiment_id: route.query.experiment_id }
const idx = item.path.indexOf('?')
if (idx === -1) return { path: item.path, query: baseQuery }
const path = item.path.slice(0, idx)
const params = new URLSearchParams(item.path.slice(idx + 1))
for (const [key, value] of params) {
baseQuery[key] = value
}
return { path, query: baseQuery }
}
</script> </script>
<template> <template>
<aside class="app-aside"> <aside class="app-aside" :class="{ 'is-collapsed': collapsed }">
<nav class="menu"> <nav class="menu">
<ul> <ul>
<li <li
...@@ -45,12 +71,12 @@ function findMenu(path: string, menus: IMenuItem[]) { ...@@ -45,12 +71,12 @@ function findMenu(path: string, menus: IMenuItem[]) {
v-permission="item.tag"> v-permission="item.tag">
<div class="menu-item"> <div class="menu-item">
<template v-if="item.children"> <template v-if="item.children">
<RouterLink :to="{ path: item.path, query: { experiment_id: $route.query.experiment_id } }"> <RouterLink :to="menuLinkTo(item)">
<component :is="item.icon" class="menu-icon"></component> <component :is="item.icon" class="menu-icon"></component>
</RouterLink> </RouterLink>
</template> </template>
<el-tooltip :content="item.name" placement="right" v-else> <el-tooltip :content="item.name" placement="right" v-else>
<RouterLink :to="{ path: item.path, query: { experiment_id: $route.query.experiment_id } }"> <RouterLink :to="menuLinkTo(item)">
<component :is="item.icon" class="menu-icon"></component> <component :is="item.icon" class="menu-icon"></component>
</RouterLink> </RouterLink>
</el-tooltip> </el-tooltip>
...@@ -63,7 +89,7 @@ function findMenu(path: string, menus: IMenuItem[]) { ...@@ -63,7 +89,7 @@ function findMenu(path: string, menus: IMenuItem[]) {
:key="submenu.path" :key="submenu.path"
:class="{ 'is-active': submenu.path === currentSubmenu?.path }" :class="{ 'is-active': submenu.path === currentSubmenu?.path }"
v-permission="submenu.tag"> v-permission="submenu.tag">
<RouterLink :to="{ path: submenu.path, query: { experiment_id: $route.query.experiment_id } }"> <RouterLink :to="menuLinkTo(submenu)">
<component :is="submenu.icon" class="submenu-icon" v-if="submenu.icon"></component> <component :is="submenu.icon" class="submenu-icon" v-if="submenu.icon"></component>
{{ submenu.name }} {{ submenu.name }}
</RouterLink> </RouterLink>
...@@ -72,7 +98,15 @@ function findMenu(path: string, menus: IMenuItem[]) { ...@@ -72,7 +98,15 @@ function findMenu(path: string, menus: IMenuItem[]) {
</nav> </nav>
</li> </li>
</ul> </ul>
<!-- 展开时的收起按钮 -->
<div class="menu-toggle" @click="toggleCollapse" v-if="!collapsed">
<el-icon><ArrowLeft /></el-icon>
</div>
</nav> </nav>
<!-- 收起后的展开胶囊按钮 -->
<div class="aside-float-btn" @click="toggleCollapse" v-if="collapsed">
<el-icon><ArrowRight /></el-icon>
</div>
</aside> </aside>
</template> </template>
...@@ -82,15 +116,19 @@ function findMenu(path: string, menus: IMenuItem[]) { ...@@ -82,15 +116,19 @@ function findMenu(path: string, menus: IMenuItem[]) {
top: 0; top: 0;
display: flex; display: flex;
height: 100vh; height: 100vh;
// overflow-x: hidden;
// overflow-y: auto;
box-sizing: content-box; box-sizing: content-box;
z-index: 2001; z-index: 2001;
transition: width 0.25s ease;
.menu { .menu {
width: 60px; width: 60px;
flex-shrink: 0;
height: 100%; height: 100%;
background: #fff; background: #fff;
box-sizing: border-box; box-sizing: border-box;
position: relative;
z-index: 1;
.menu-item { .menu-item {
height: 44px; height: 44px;
text-align: center; text-align: center;
...@@ -106,19 +144,18 @@ function findMenu(path: string, menus: IMenuItem[]) { ...@@ -106,19 +144,18 @@ function findMenu(path: string, menus: IMenuItem[]) {
} }
} }
} }
> ul > li { > ul {
padding-bottom: 80px;
> li {
padding: 8px; padding: 8px;
&.is-active { &.is-active {
.menu-item { .menu-item {
background-color: var(--main-color); background-color: var(--main-color);
svg { svg { fill: #fff; }
fill: #fff;
}
} }
} }
&:hover { &:hover {
.submenu { .submenu { display: block; }
display: block;
} }
} }
} }
...@@ -165,5 +202,67 @@ function findMenu(path: string, menus: IMenuItem[]) { ...@@ -165,5 +202,67 @@ function findMenu(path: string, menus: IMenuItem[]) {
line-height: 1; line-height: 1;
color: var(--main-color); color: var(--main-color);
} }
// 底部收起按钮
.menu-toggle {
position: absolute;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
width: 28px;
height: 56px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
color: #999;
font-size: 14px;
background: #fff;
border: 1px solid #e0e0e0;
border-radius: 28px;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
z-index: 10;
&:hover {
background: var(--main-color);
color: #fff;
border-color: var(--main-color);
}
}
// 收起状态
&.is-collapsed {
width: 0;
overflow: hidden;
.menu {
transform: translateX(-60px);
}
}
}
// 悬浮胶囊按钮
.aside-float-btn {
position: fixed;
left: 0;
bottom: 20px;
width: 28px;
height: 56px;
background: #fff;
border: 1px solid #e0e0e0;
border-left: none;
border-radius: 0 28px 28px 0;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
z-index: 2000;
box-shadow: 2px 0 6px rgba(0, 0, 0, 0.08);
color: #666;
font-size: 14px;
transition: all 0.2s;
&:hover {
background: var(--main-color);
color: #fff;
border-color: var(--main-color);
}
} }
</style> </style>
...@@ -5,7 +5,7 @@ export default { name: 'AppFooter' } ...@@ -5,7 +5,7 @@ export default { name: 'AppFooter' }
<template> <template>
<footer class="app-footer"> <footer class="app-footer">
<p>实验室版本:V2.1.0</p> <p>实验室版本:V2.1.0</p>
<p>Copyright © 2017 Zijing Education. All rights reserved. 清控紫荆(北京)教育科技股份有限公司</p> <p>Copyright © 2026 Zijing Education. All rights reserved. 清控紫荆(北京)教育科技股份有限公司</p>
</footer> </footer>
</template> </template>
......
...@@ -5,16 +5,13 @@ export default { name: 'AppLayout' } ...@@ -5,16 +5,13 @@ export default { name: 'AppLayout' }
<script setup lang="ts"> <script setup lang="ts">
import AppAside from './Aside.vue' import AppAside from './Aside.vue'
import AppMain from './Main.vue' import AppMain from './Main.vue'
import AppFooter from './Footer.vue'
interface Props { interface Props {
sidebar?: boolean sidebar?: boolean
footer?: boolean
} }
withDefaults(defineProps<Props>(), { withDefaults(defineProps<Props>(), {
sidebar: true, sidebar: true,
footer: true
}) })
</script> </script>
...@@ -23,7 +20,6 @@ withDefaults(defineProps<Props>(), { ...@@ -23,7 +20,6 @@ withDefaults(defineProps<Props>(), {
<AppAside v-if="sidebar"></AppAside> <AppAside v-if="sidebar"></AppAside>
<div class="app-layout-container"> <div class="app-layout-container">
<AppMain></AppMain> <AppMain></AppMain>
<AppFooter v-if="footer"></AppFooter>
</div> </div>
</div> </div>
</template> </template>
......
...@@ -4,7 +4,9 @@ const isIframe = computed(() => { ...@@ -4,7 +4,9 @@ const isIframe = computed(() => {
}) })
const padding = computed(() => { const padding = computed(() => {
return isIframe.value ? '0 10px' : '10px' if (isIframe.value) return '0 10px'
if (typeof window !== 'undefined' && window.innerWidth < 768) return '6px'
return '10px'
}) })
</script> </script>
......
...@@ -242,4 +242,9 @@ const eventTimeOption = computed(() => { ...@@ -242,4 +242,9 @@ const eventTimeOption = computed(() => {
margin-top: 20px; margin-top: 20px;
} }
} }
@media (max-width: 767px) {
.row {
flex-direction: column;
}
}
</style> </style>
...@@ -315,4 +315,9 @@ const groupMemberTopOption = computed(() => { ...@@ -315,4 +315,9 @@ const groupMemberTopOption = computed(() => {
margin-top: 20px; margin-top: 20px;
} }
} }
@media (max-width: 767px) {
.row {
flex-direction: column;
}
}
</style> </style>
...@@ -39,7 +39,12 @@ async function fetchEventAction() { ...@@ -39,7 +39,12 @@ async function fetchEventAction() {
if (!userValue.value || !eventValue.value || !startDate || !endDate) return if (!userValue.value || !eventValue.value || !startDate || !endDate) return
loading1.value = true loading1.value = true
try { try {
const res = await api.getEventAction({ sso_id: userValue.value, start_date: startDate, end_date: endDate, event_id: eventValue.value }) const res = await api.getEventAction({
sso_id: userValue.value,
start_date: startDate,
end_date: endDate,
event_id: eventValue.value,
})
eventAction.value = res.data eventAction.value = res.data
} finally { } finally {
loading1.value = false loading1.value = false
...@@ -52,14 +57,14 @@ const eventActionOption = computed(() => { ...@@ -52,14 +57,14 @@ const eventActionOption = computed(() => {
tooltip: { trigger: 'axis' }, tooltip: { trigger: 'axis' },
legend: { legend: {
bottom: '10', bottom: '10',
data: ['行为数量', '用户数量'] data: ['行为数量', '用户数量'],
}, },
xAxis: { xAxis: {
type: 'category', type: 'category',
boundaryGap: ['20%', '20%'], boundaryGap: ['20%', '20%'],
data: eventAction.value.event_action_items.map(item => { data: eventAction.value.event_action_items.map((item) => {
return item.group_name return item.group_name
}) }),
}, },
yAxis: { type: 'value' }, yAxis: { type: 'value' },
series: [ series: [
...@@ -68,16 +73,16 @@ const eventActionOption = computed(() => { ...@@ -68,16 +73,16 @@ const eventActionOption = computed(() => {
type: 'line', type: 'line',
smooth: true, smooth: true,
label: { show: true, position: 'top' }, label: { show: true, position: 'top' },
data: eventAction.value.event_action_items.map(item => item.total) data: eventAction.value.event_action_items.map((item) => item.total),
}, },
{ {
name: '用户数量', name: '用户数量',
type: 'line', type: 'line',
smooth: true, smooth: true,
label: { show: true, position: 'top' }, label: { show: true, position: 'top' },
data: eventAction.value.event_member_items.map(item => item.total) data: eventAction.value.event_member_items.map((item) => item.total),
} },
] ],
} }
}) })
...@@ -123,7 +128,11 @@ async function fetchUser() { ...@@ -123,7 +128,11 @@ async function fetchUser() {
if (!userValue.value || !userStartDate.value || !userEndDate.value) return if (!userValue.value || !userStartDate.value || !userEndDate.value) return
loading3.value = true loading3.value = true
try { try {
const res = await api.getMemberList({ sso_id: userValue.value, start_date: userStartDate.value, end_date: userEndDate.value }) const res = await api.getMemberList({
sso_id: userValue.value,
start_date: userStartDate.value,
end_date: userEndDate.value,
})
user.value = res.data.items user.value = res.data.items
} finally { } finally {
loading3.value = false loading3.value = false
...@@ -149,7 +158,7 @@ function format(date) { ...@@ -149,7 +158,7 @@ function format(date) {
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-divider /> <el-divider />
<el-row :gutter="20"> <el-row :gutter="20" class="main-row">
<el-col :span="16"> <el-col :span="16">
<ChartCard title="事件行为分析" :options="eventActionOption" :loading="loading1"> <ChartCard title="事件行为分析" :options="eventActionOption" :loading="loading1">
<template #tools> <template #tools>
...@@ -326,3 +335,28 @@ function format(date) { ...@@ -326,3 +335,28 @@ function format(date) {
color: var(--main-color); color: var(--main-color);
} }
</style> </style>
<style lang="scss">
@media (max-width: 767px) {
.main-row .el-col {
max-width: 100% !important;
width: 100% !important;
flex: 0 0 100% !important;
}
.el-form--inline .el-form-item {
width: 100%;
margin-right: 0;
}
.chart-card .tools {
flex-wrap: wrap;
gap: 6px;
}
.chart-card .el-date-editor,
.chart-card .el-select {
width: 100% !important;
}
.el-table {
min-width: 600px;
}
}
</style>
...@@ -236,4 +236,9 @@ const statusOption = computed(() => { ...@@ -236,4 +236,9 @@ const statusOption = computed(() => {
margin-top: 20px; margin-top: 20px;
} }
} }
@media (max-width: 767px) {
.row {
flex-direction: column;
}
}
</style> </style>
...@@ -63,4 +63,10 @@ function handleChange(item: PlatformItem) { ...@@ -63,4 +63,10 @@ function handleChange(item: PlatformItem) {
box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.2); box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.2);
} }
} }
@media (max-width: 767px) {
.connect-from_icon__box {
grid-template-columns: repeat(2, 1fr);
row-gap: 12px;
}
}
</style> </style>
...@@ -302,4 +302,9 @@ const sendChat = function () { ...@@ -302,4 +302,9 @@ const sendChat = function () {
} }
} }
} }
@media (max-width: 767px) {
.step1-btn {
padding: 20px 0 !important;
}
}
</style> </style>
...@@ -170,9 +170,11 @@ const handleStudentFollow = function (experimentId: string, id: string, type: st ...@@ -170,9 +170,11 @@ const handleStudentFollow = function (experimentId: string, id: string, type: st
grid-template-columns: repeat(5, 1fr); grid-template-columns: repeat(5, 1fr);
gap: 20px; gap: 20px;
padding: 20px; padding: 20px;
// background-color: #efefef;
border-radius: 5px; border-radius: 5px;
} }
@media (max-width: 1200px) { .connect-list { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 992px) { .connect-list { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) { .connect-list { grid-template-columns: repeat(2, 1fr); gap: 12px; padding: 12px; } }
.connect-add-button { .connect-add-button {
display: flex; display: flex;
align-items: center; align-items: center;
......
...@@ -679,4 +679,20 @@ const surveyKingDialogVisible = ref<boolean>(false) ...@@ -679,4 +679,20 @@ const surveyKingDialogVisible = ref<boolean>(false)
.tabs-box { .tabs-box {
margin-bottom: 20px; margin-bottom: 20px;
} }
@media (max-width: 767px) {
.view-info {
flex-direction: column;
align-items: center;
text-align: center;
.view-info_content {
margin-left: 0;
margin-top: 12px;
flex-direction: column;
p { margin-right: 0; margin-bottom: 6px; }
}
}
.tag, .tag-null {
width: 100%;
}
}
</style> </style>
...@@ -364,6 +364,7 @@ onMounted(() => { ...@@ -364,6 +364,7 @@ onMounted(() => {
flex-direction: column; flex-direction: column;
.row { .row {
flex: 1; flex: 1;
gap: 10px;
} }
} }
.card { .card {
...@@ -381,6 +382,28 @@ onMounted(() => { ...@@ -381,6 +382,28 @@ onMounted(() => {
::v-deep(.chart-card) { ::v-deep(.chart-card) {
background-color: #fff; background-color: #fff;
} }
@media (max-width: 767px) {
> .row {
flex-direction: column;
}
.row {
flex-wrap: wrap;
.col {
width: 100%;
.row {
flex-wrap: wrap;
.card {
flex: 0 0 calc(50% - 5px);
p {
line-height: 60px;
font-size: 20px;
}
}
}
}
}
}
} }
.content-user { .content-user {
background: #efefef; background: #efefef;
......
...@@ -112,4 +112,9 @@ function handleUpdate() { ...@@ -112,4 +112,9 @@ function handleUpdate() {
box-shadow: rgb(0 0 0 / 40%) 0px 2px 6px 0px; box-shadow: rgb(0 0 0 / 40%) 0px 2px 6px 0px;
} }
} }
@media (max-width: 767px) {
.label-type-icon-list {
grid-template-columns: repeat(4, 50px);
}
}
</style> </style>
...@@ -237,4 +237,21 @@ const handleRemoves = async function () { ...@@ -237,4 +237,21 @@ const handleRemoves = async function () {
overflow-x: hidden; overflow-x: hidden;
overflow-y: auto; overflow-y: auto;
} }
@media (max-width: 767px) {
.label-wrap {
flex-direction: column;
height: auto;
min-height: calc(100vh - 130px);
}
.label-left {
flex: none;
width: 100%;
padding-right: 0;
margin-right: 0;
border-right: none;
border-bottom: 1px solid rgb(187, 187, 187);
padding-bottom: 12px;
margin-bottom: 12px;
}
}
</style> </style>
...@@ -23,7 +23,7 @@ const listOptions = computed(() => { ...@@ -23,7 +23,7 @@ const listOptions = computed(() => {
}, },
filters: [ filters: [
{ label: '直播主题品类', prop: 'live_commodity_type_id', slots: 'filter-category' }, { label: '直播主题品类', prop: 'live_commodity_type_id', slots: 'filter-category' },
{ label: '直播主题名称', prop: 'live_commodity_title', type: 'input' }, { label: '直播主题名称', prop: 'live_commodity_title', type: 'input', placeholder: '请输入直播主题名称' },
], ],
columns: [ columns: [
{ label: '序号', type: 'index', width: 60 }, { label: '序号', type: 'index', width: 60 },
...@@ -35,18 +35,17 @@ const listOptions = computed(() => { ...@@ -35,18 +35,17 @@ const listOptions = computed(() => {
try { try {
const info = JSON.parse(row.commodity_info) const info = JSON.parse(row.commodity_info)
const [picture] = JSON.parse(info.picture_addreses) || [] const [picture] = JSON.parse(info.picture_addreses) || []
return `<div style="display: flex; align-items: center; gap: 10px;"><img src="${picture.url}" width="100" />${info.title}</div>` return `<div style="display:flex;align-items:center;gap:10px"><img src="${picture.url}" width="80" style="border-radius:4px"/>${info.title}</div>`
} catch (e) { } catch {
console.log(e)
}
return '--' return '--'
}
}, },
}, },
{ {
label: '单价/数量', label: '单价/数量',
prop: 'num', prop: 'num',
computed({ row }) { computed({ row }) {
return `¥${row.price}<br/>x${row.num}` return `¥${row.price} × ${row.num}`
}, },
}, },
{ label: '订单编号', prop: 'id' }, { label: '订单编号', prop: 'id' },
...@@ -67,7 +66,10 @@ const listOptions = computed(() => { ...@@ -67,7 +66,10 @@ const listOptions = computed(() => {
<AppCard title="订单管理"> <AppCard title="订单管理">
<AppList v-bind="listOptions" ref="appList"> <AppList v-bind="listOptions" ref="appList">
<template #filter-category> <template #filter-category>
<LiveProductCategory v-model="listParams.live_commodity_type_id" @change="handleRefresh"></LiveProductCategory> <LiveProductCategory
v-model="listParams.live_commodity_type_id"
@change="handleRefresh"
placeholder="请选择直播主题品类"></LiveProductCategory>
</template> </template>
</AppList> </AppList>
</AppCard> </AppCard>
......
...@@ -37,26 +37,14 @@ const listOptions = computed(() => { ...@@ -37,26 +37,14 @@ const listOptions = computed(() => {
{ label: '序号', type: 'index', width: 60 }, { label: '序号', type: 'index', width: 60 },
{ label: '商品属性名称', prop: 'name' }, { label: '商品属性名称', prop: 'name' },
{ label: '所属商品品类', prop: 'live_commodity_type_full_name' }, { label: '所属商品品类', prop: 'live_commodity_type_full_name' },
{ { label: '重要性', prop: 'is_importance', computed: ({ row }) => getNameByValue(row.is_importance, importType) },
label: '重要性', { label: '必要性', prop: 'is_essential', computed: ({ row }) => getNameByValue(row.is_essential, requiredType) },
prop: 'is_importance',
computed({ row }) {
return getNameByValue(row.is_importance, importType)
},
},
{
label: '必要性',
prop: 'is_essential',
computed({ row }) {
return getNameByValue(row.is_essential, requiredType)
},
},
{ {
label: '状态', label: '状态',
prop: 'status', prop: 'status',
computed({ row }) { computed: ({ row }) => {
const color = row.status === '1' ? 'var(--main-success-color)' : 'var(--main-color)' const color = row.status === '1' ? 'var(--main-success-color)' : 'var(--main-color)'
return `<span style="color: ${color}">${getNameByValue(row.status, statusList)}</span>` return `<span style="color:${color}">${getNameByValue(row.status, statusList)}</span>`
}, },
}, },
{ label: '创建人', prop: 'created_operator', computed: ({ row }) => getOperatorName(row.created_operator) }, { label: '创建人', prop: 'created_operator', computed: ({ row }) => getOperatorName(row.created_operator) },
...@@ -65,6 +53,7 @@ const listOptions = computed(() => { ...@@ -65,6 +53,7 @@ const listOptions = computed(() => {
], ],
} }
}) })
const action = ref(null) const action = ref(null)
const formVisible = ref(false) const formVisible = ref(false)
const currentRow = ref(null) const currentRow = ref(null)
...@@ -99,11 +88,12 @@ const handleRemove = async (row) => { ...@@ -99,11 +88,12 @@ const handleRemove = async (row) => {
<template> <template>
<AppCard title="商品属性管理"> <AppCard title="商品属性管理">
<AppList v-bind="listOptions" ref="appList"> <AppList v-bind="listOptions" ref="appList">
<template #header-buttons> <template #header-buttons><el-button type="primary" @click="handleAdd">新增商品属性</el-button></template>
<el-button type="primary" @click="handleAdd">新增商品属性</el-button>
</template>
<template #filter-category> <template #filter-category>
<LiveProductCategory v-model="listParams.live_commodity_type_id" @change="handleRefresh"></LiveProductCategory> <LiveProductCategory
v-model="listParams.live_commodity_type_id"
@change="handleRefresh"
placeholder="请选择商品品类"></LiveProductCategory>
</template> </template>
<template #table-x="{ row }"> <template #table-x="{ row }">
<el-button text type="primary" @click="handleView(row)">查看</el-button> <el-button text type="primary" @click="handleView(row)">查看</el-button>
...@@ -112,6 +102,5 @@ const handleRemove = async (row) => { ...@@ -112,6 +102,5 @@ const handleRemove = async (row) => {
</template> </template>
</AppList> </AppList>
</AppCard> </AppCard>
<!-- 新建/修改 -->
<FormDialog v-model="formVisible" :action="action" :data="currentRow" @update="handleRefresh" v-if="formVisible" /> <FormDialog v-model="formVisible" :action="action" :data="currentRow" @update="handleRefresh" v-if="formVisible" />
</template> </template>
...@@ -67,7 +67,7 @@ const handleRemove = async (row) => { ...@@ -67,7 +67,7 @@ const handleRemove = async (row) => {
<template> <template>
<AppCard title="商品品类管理"> <AppCard title="商品品类管理">
<AppList v-bind="listOptions" row-key="id" ref="appList"> <AppList v-bind="listOptions" row-key="id" ref="appList" :mobile-cards="false">
<template #header-buttons> <template #header-buttons>
<el-button type="primary" @click="handleAdd()">新增类别</el-button> <el-button type="primary" @click="handleAdd()">新增类别</el-button>
</template> </template>
......
...@@ -105,7 +105,7 @@ const unimportanceTotal = computed(() => { ...@@ -105,7 +105,7 @@ const unimportanceTotal = computed(() => {
<div> <div>
<el-form-item label="商品标题" prop="title" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]"> <el-form-item label="商品标题" prop="title" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<div class="form-tips">标题不规范会有可能引起商品下架,影响您的正常销售,请点击学习商品发布规范认真填写</div> <div class="form-tips">标题不规范会有可能引起商品下架,影响您的正常销售,请点击学习商品发布规范认真填写</div>
<div style="display: flex; width: 100%; align-items: center; gap: 20px"> <div class="form-inline-row">
<el-input <el-input
placeholder="至少输入8个字(16个字符)以上,30个字(60个字符)以下" placeholder="至少输入8个字(16个字符)以上,30个字(60个字符)以下"
size="large" size="large"
...@@ -115,12 +115,11 @@ const unimportanceTotal = computed(() => { ...@@ -115,12 +115,11 @@ const unimportanceTotal = computed(() => {
</el-form-item> </el-form-item>
<el-form-item label="导购短标题" prop="shopping_guide_short_title"> <el-form-item label="导购短标题" prop="shopping_guide_short_title">
<div class="form-tips">短标题可用于商品搜索、首页推荐、物流单等场景,请提炼商品关键信息,客观准确填写</div> <div class="form-tips">短标题可用于商品搜索、首页推荐、物流单等场景,请提炼商品关键信息,客观准确填写</div>
<div style="display: flex; width: 100%; align-items: center; gap: 20px"> <div class="form-inline-row">
<el-input <el-input
placeholder="建议填写简明准确的标题内容,避免重复表达" placeholder="建议填写简明准确的标题内容,避免重复表达"
size="large" size="large"
v-model="form.shopping_guide_short_title" v-model="form.shopping_guide_short_title" />
style="flex: 1" />
<el-button type="primary" plain @click="handleAIGenerate" :loading="descLoading">一键智能推荐</el-button> <el-button type="primary" plain @click="handleAIGenerate" :loading="descLoading">一键智能推荐</el-button>
</div> </div>
</el-form-item> </el-form-item>
...@@ -129,14 +128,11 @@ const unimportanceTotal = computed(() => { ...@@ -129,14 +128,11 @@ const unimportanceTotal = computed(() => {
prop="live_commodity_attrs.importance_attrs"> prop="live_commodity_attrs.importance_attrs">
<div class="form-tips">错误填写属性,会引起商品下架,请认真准确填写。</div> <div class="form-tips">错误填写属性,会引起商品下架,请认真准确填写。</div>
<div style="display: flex; flex-direction: column; gap: 16px"> <div style="display: flex; flex-direction: column; gap: 16px">
<div <div v-for="(item, index) in form.live_commodity_attrs.importance_attrs" :key="index" class="attr-row">
v-for="(item, index) in form.live_commodity_attrs.importance_attrs"
:key="index"
style="display: flex; align-items: flex-start; gap: 12px">
<el-select <el-select
v-model="item.id" v-model="item.id"
placeholder="请选择属性" placeholder="请选择属性"
style="width: 200px" class="attr-select"
@change="(value) => handleAttrSelect(value, item, 'importance_attrs')"> @change="(value) => handleAttrSelect(value, item, 'importance_attrs')">
<el-option <el-option
v-for="attr in getAvailableAttrs('importance_attrs', item.id)" v-for="attr in getAvailableAttrs('importance_attrs', item.id)"
...@@ -145,7 +141,7 @@ const unimportanceTotal = computed(() => { ...@@ -145,7 +141,7 @@ const unimportanceTotal = computed(() => {
:value="attr.id"> :value="attr.id">
</el-option> </el-option>
</el-select> </el-select>
<el-input v-model="item.value" placeholder="请输入属性值" style="flex: 1; max-width: 300px"> </el-input> <el-input v-model="item.value" placeholder="请输入属性值" class="attr-value"></el-input>
<el-button type="danger" plain :icon="Delete" circle @click="removeAttrItem('importance_attrs', index)"> <el-button type="danger" plain :icon="Delete" circle @click="removeAttrItem('importance_attrs', index)">
</el-button> </el-button>
</div> </div>
...@@ -156,14 +152,11 @@ const unimportanceTotal = computed(() => { ...@@ -156,14 +152,11 @@ const unimportanceTotal = computed(() => {
:label="`非重要属性 ${unimportanceTotal}/${attrs.unimportance_attrs.total}`" :label="`非重要属性 ${unimportanceTotal}/${attrs.unimportance_attrs.total}`"
prop="live_commodity_attrs.unimportance_attrs"> prop="live_commodity_attrs.unimportance_attrs">
<div style="display: flex; flex-direction: column; gap: 16px"> <div style="display: flex; flex-direction: column; gap: 16px">
<div <div v-for="(item, index) in form.live_commodity_attrs.unimportance_attrs" :key="index" class="attr-row">
v-for="(item, index) in form.live_commodity_attrs.unimportance_attrs"
:key="index"
style="display: flex; align-items: flex-start; gap: 12px">
<el-select <el-select
v-model="item.id" v-model="item.id"
placeholder="请选择属性" placeholder="请选择属性"
style="width: 200px" class="attr-select"
@change="(value) => handleAttrSelect(value, item, 'unimportance_attrs')"> @change="(value) => handleAttrSelect(value, item, 'unimportance_attrs')">
<el-option <el-option
v-for="attr in getAvailableAttrs('unimportance_attrs', item.id)" v-for="attr in getAvailableAttrs('unimportance_attrs', item.id)"
...@@ -172,7 +165,7 @@ const unimportanceTotal = computed(() => { ...@@ -172,7 +165,7 @@ const unimportanceTotal = computed(() => {
:value="attr.id"> :value="attr.id">
</el-option> </el-option>
</el-select> </el-select>
<el-input v-model="item.value" placeholder="请输入属性值" style="flex: 1; max-width: 300px"> </el-input> <el-input v-model="item.value" placeholder="请输入属性值" class="attr-value"></el-input>
<el-button type="danger" plain :icon="Delete" circle @click="removeAttrItem('unimportance_attrs', index)"> <el-button type="danger" plain :icon="Delete" circle @click="removeAttrItem('unimportance_attrs', index)">
</el-button> </el-button>
</div> </div>
...@@ -181,3 +174,36 @@ const unimportanceTotal = computed(() => { ...@@ -181,3 +174,36 @@ const unimportanceTotal = computed(() => {
</el-form-item> </el-form-item>
</div> </div>
</template> </template>
<style scoped>
.form-inline-row {
display: flex;
width: 100%;
align-items: center;
gap: 12px;
.el-input { flex: 1; }
}
.attr-row {
display: flex;
align-items: flex-start;
gap: 12px;
}
.attr-select {
width: 200px;
flex-shrink: 0;
}
.attr-value { flex: 1; }
@media (max-width: 767px) {
.form-inline-row {
flex-direction: column;
align-items: stretch;
.el-button { width: 100%; }
}
.attr-row {
flex-direction: column;
align-items: stretch;
}
.attr-select { width: 100%; }
.attr-value { max-width: none; }
}
</style>
...@@ -57,6 +57,7 @@ const handleSelect = (item) => { ...@@ -57,6 +57,7 @@ const handleSelect = (item) => {
<span @click="form.live_commodity_type_id = item.id">{{ item.name }}</span> <span @click="form.live_commodity_type_id = item.id">{{ item.name }}</span>
</template> </template>
</p> </p>
<div class="cascader-wrap">
<el-cascader-panel <el-cascader-panel
v-model="form.live_commodity_type_id" v-model="form.live_commodity_type_id"
filterable filterable
...@@ -68,12 +69,12 @@ const handleSelect = (item) => { ...@@ -68,12 +69,12 @@ const handleSelect = (item) => {
label: 'name', label: 'name',
value: 'id', value: 'id',
emitPath: false, emitPath: false,
expandTrigger: 'hover', expandTrigger: 'click',
checkStrictly: true, checkStrictly: true,
checkOnClickNode: true, checkOnClickNode: true,
showPrefix: false, showPrefix: false,
}" }" />
style="width: 100%" /> </div>
</el-form-item> </el-form-item>
</div> </div>
</template> </template>
...@@ -90,4 +91,12 @@ const handleSelect = (item) => { ...@@ -90,4 +91,12 @@ const handleSelect = (item) => {
} }
} }
} }
.cascader-wrap {
width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
.el-cascader-panel {
display: inline-flex;
}
}
</style> </style>
...@@ -28,7 +28,7 @@ const handleCopy = () => { ...@@ -28,7 +28,7 @@ const handleCopy = () => {
<el-form-item label=""> <el-form-item label="">
<template #label> <template #label>
<span>主图3:4</span> <span>主图3:4</span>
<el-button type="primary" plain size="small" style="margin-left: 430px" @click="handleCopy" <el-button type="primary" plain size="small" class="copy-btn" @click="handleCopy"
>从主图一键填入</el-button >从主图一键填入</el-button
> >
</template> </template>
...@@ -68,4 +68,14 @@ const handleCopy = () => { ...@@ -68,4 +68,14 @@ const handleCopy = () => {
color: #999; color: #999;
line-height: 24px; line-height: 24px;
} }
.copy-btn {
margin-left: 430px;
}
@media (max-width: 767px) {
.copy-btn {
margin-left: 0;
margin-top: 8px;
width: 100%;
}
}
</style> </style>
...@@ -313,6 +313,7 @@ function batchSetReferencePrice() { ...@@ -313,6 +313,7 @@ function batchSetReferencePrice() {
</el-button> </el-button>
</div> </div>
</div> </div>
<div class="sku-table">
<el-table :data="form.info.sku" border :header-cell-style="{ backgroundColor: '#f5f7fa' }" style="width: 100%" :row-key="Date.now() + Math.random()"> <el-table :data="form.info.sku" border :header-cell-style="{ backgroundColor: '#f5f7fa' }" style="width: 100%" :row-key="Date.now() + Math.random()">
<el-table-column v-if="hasSpecs" label="规格组合" align="center" width="200" column-key="specs"> <el-table-column v-if="hasSpecs" label="规格组合" align="center" width="200" column-key="specs">
<template #default="{ row }"> <template #default="{ row }">
...@@ -341,6 +342,7 @@ function batchSetReferencePrice() { ...@@ -341,6 +342,7 @@ function batchSetReferencePrice() {
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div>
</el-form-item> </el-form-item>
<el-form-item label="参考价" prop="info.reference_price" v-if="false"> <el-form-item label="参考价" prop="info.reference_price" v-if="false">
<template #label> <template #label>
...@@ -362,7 +364,7 @@ function batchSetReferencePrice() { ...@@ -362,7 +364,7 @@ function batchSetReferencePrice() {
</div> </div>
</template> </template>
<style scoped> <style lang="scss" scoped>
.spec-list { .spec-list {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
...@@ -433,5 +435,20 @@ function batchSetReferencePrice() { ...@@ -433,5 +435,20 @@ function batchSetReferencePrice() {
.batch-set-item .el-input { .batch-set-item .el-input {
flex: 1; flex: 1;
} }
// SKU 表格横向滚动
.sku-table {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
.el-table {
min-width: 600px;
}
}
// 参考价区域
.reference-price-row {
flex-direction: column;
align-items: stretch !important;
}
} }
</style> </style>
...@@ -6,12 +6,12 @@ const form = inject('form') ...@@ -6,12 +6,12 @@ const form = inject('form')
<template> <template>
<div> <div>
<el-form-item label="运费模板" prop="info.shipping_template" :rules="[{ required: true, message: '请选择' }]"> <el-form-item label="运费模板" prop="info.shipping_template" :rules="[{ required: true, message: '请选择' }]">
<el-select v-model="form.info.shipping_template" style="width: 300px"> <el-select v-model="form.info.shipping_template" style="width: 300px; max-width: 100%">
<el-option v-for="item in shippingTemplate" :key="item.value" v-bind="item"></el-option> <el-option v-for="item in shippingTemplate" :key="item.value" v-bind="item"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="售后政策" prop="info.after_sales_policy" :rules="[{ required: true, message: '请选择' }]"> <el-form-item label="售后政策" prop="info.after_sales_policy" :rules="[{ required: true, message: '请选择' }]">
<el-select v-model="form.info.after_sales_policy" style="width: 300px" multiple> <el-select v-model="form.info.after_sales_policy" style="width: 300px; max-width: 100%" multiple>
<el-option v-for="item in afterSalesPolicy" :key="item.value" v-bind="item"></el-option> <el-option v-for="item in afterSalesPolicy" :key="item.value" v-bind="item"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
......
...@@ -2,6 +2,9 @@ ...@@ -2,6 +2,9 @@
import { getChuanKitDesignList } from '../api' import { getChuanKitDesignList } from '../api'
import { useUserStore } from '@/stores/user' import { useUserStore } from '@/stores/user'
import { uploadFileByUrl } from '@/utils/upload' import { uploadFileByUrl } from '@/utils/upload'
import { useMediaQuery } from '@vueuse/core'
const isMobile = useMediaQuery('(max-width: 767px)')
const ChuangKitDesign = defineAsyncComponent(() => import('@/components/ChuangKitDesign.vue')) const ChuangKitDesign = defineAsyncComponent(() => import('@/components/ChuangKitDesign.vue'))
...@@ -71,7 +74,7 @@ async function handleSubmit() { ...@@ -71,7 +74,7 @@ async function handleSubmit() {
</script> </script>
<template> <template>
<el-dialog title="图库选择" :close-on-click-modal="false" @closed="$emit('update:modelValue', false)" width="860px"> <el-dialog title="图库选择" :close-on-click-modal="false" @closed="$emit('update:modelValue', false)" :width="isMobile ? '95%' : '860px'" destroy-on-close>
<div class="image-design"> <div class="image-design">
<el-button type="primary" @click="designVisible = true" v-if="false">打开编辑器</el-button> <el-button type="primary" @click="designVisible = true" v-if="false">打开编辑器</el-button>
<ul> <ul>
...@@ -97,10 +100,10 @@ async function handleSubmit() { ...@@ -97,10 +100,10 @@ async function handleSubmit() {
<style lang="scss"> <style lang="scss">
.image-design { .image-design {
ul { ul {
margin: 30px auto; margin: 20px auto;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
gap: 30px; gap: 16px;
} }
li { li {
width: 140px; width: 140px;
...@@ -117,5 +120,17 @@ async function handleSubmit() { ...@@ -117,5 +120,17 @@ async function handleSubmit() {
height: 100%; height: 100%;
object-fit: cover; object-fit: cover;
} }
@media (max-width: 767px) {
ul {
justify-content: space-around;
gap: 12px;
}
li {
width: calc(33.33% - 12px);
min-width: 80px;
border-radius: 12px;
}
}
} }
</style> </style>
...@@ -92,9 +92,9 @@ const handleRemove = (i) => { ...@@ -92,9 +92,9 @@ const handleRemove = (i) => {
<div class="upload-wrapper"> <div class="upload-wrapper">
<template v-if="Array.isArray(props.modelValue)"> <template v-if="Array.isArray(props.modelValue)">
<div v-for="(item, i) in props.limit" :key="i"> <div v-for="(item, i) in props.limit" :key="i">
<el-popover placement="top" width="220px" trigger="hover"> <el-popover placement="top" width="220px" trigger="click">
<ul class="upload-popover"> <ul class="upload-popover">
<li @click="handleOpen(i)" v-if="false"> <li @click="handleOpen(i)">
<i class="el-icon"><UploadFilled /></i>本地上传 <i class="el-icon"><UploadFilled /></i>本地上传
</li> </li>
<li @click="handleOpenDesign(i)" v-if="!isVideo"> <li @click="handleOpenDesign(i)" v-if="!isVideo">
...@@ -113,7 +113,7 @@ const handleRemove = (i) => { ...@@ -113,7 +113,7 @@ const handleRemove = (i) => {
<i class="el-icon delete-icon" @click.stop="handleRemove(i)"><CircleClose /></i> <i class="el-icon delete-icon" @click.stop="handleRemove(i)"><CircleClose /></i>
</template> </template>
<template v-else> <template v-else>
<div class="upload-item-uploader" @click="handleOpen(i)"> <div class="upload-item-uploader">
<div class="upload-item__title">{{ getTitle(i) }}</div> <div class="upload-item__title">{{ getTitle(i) }}</div>
<i class="el-icon"><Plus /></i> <i class="el-icon"><Plus /></i>
<div class="upload-item__tips">{{ getTips(i) }}</div> <div class="upload-item__tips">{{ getTips(i) }}</div>
...@@ -126,9 +126,9 @@ const handleRemove = (i) => { ...@@ -126,9 +126,9 @@ const handleRemove = (i) => {
</template> </template>
<template v-else> <template v-else>
<el-popover placement="top" width="160px" trigger="hover"> <el-popover placement="top" width="160px" trigger="click">
<ul class="upload-popover"> <ul class="upload-popover">
<li @click="handleOpen" v-if="false"> <li @click="handleOpen">
<i class="el-icon"><UploadFilled /></i>本地上传 <i class="el-icon"><UploadFilled /></i>本地上传
</li> </li>
<li @click="handleOpenDesign" v-if="!isVideo"> <li @click="handleOpenDesign" v-if="!isVideo">
...@@ -148,7 +148,7 @@ const handleRemove = (i) => { ...@@ -148,7 +148,7 @@ const handleRemove = (i) => {
<i class="el-icon delete-icon" @click.stop="handleRemove()"><CircleClose /></i> <i class="el-icon delete-icon" @click.stop="handleRemove()"><CircleClose /></i>
</template> </template>
<template v-else> <template v-else>
<div class="upload-item-uploader" @click="handleOpen"> <div class="upload-item-uploader">
<div class="upload-item__title">{{ props.firstTitle || props.title }}</div> <div class="upload-item__title">{{ props.firstTitle || props.title }}</div>
<i class="el-icon"><Plus /></i> <i class="el-icon"><Plus /></i>
<div class="upload-item__tips">{{ props.firstTips || props.tips }}</div> <div class="upload-item__tips">{{ props.firstTips || props.tips }}</div>
...@@ -168,6 +168,10 @@ const handleRemove = (i) => { ...@@ -168,6 +168,10 @@ const handleRemove = (i) => {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
gap: 20px; gap: 20px;
@media (max-width: 767px) {
gap: 12px;
justify-content: center;
}
} }
.upload-popover { .upload-popover {
display: flex; display: flex;
......
...@@ -35,7 +35,7 @@ const listOptions = computed(() => { ...@@ -35,7 +35,7 @@ const listOptions = computed(() => {
}, },
filters: [ filters: [
{ label: '商品品类', prop: 'live_commodity_type_id', slots: 'filter-category' }, { label: '商品品类', prop: 'live_commodity_type_id', slots: 'filter-category' },
{ label: '商品名称', prop: 'title', type: 'input' }, { label: '商品名称', prop: 'title', type: 'input', placeholder: '请输入商品名称' },
], ],
columns: [ columns: [
{ label: '序号', type: 'index', width: 60 }, { label: '序号', type: 'index', width: 60 },
...@@ -49,6 +49,7 @@ const listOptions = computed(() => { ...@@ -49,6 +49,7 @@ const listOptions = computed(() => {
} }
}) })
// 删除
const handleRemove = async (row) => { const handleRemove = async (row) => {
await ElMessageBox.confirm('此操作将永久删除该数据, 是否继续?', '提示') await ElMessageBox.confirm('此操作将永久删除该数据, 是否继续?', '提示')
await deleteProduct({ id: row.id }) await deleteProduct({ id: row.id })
...@@ -61,30 +62,22 @@ const handleRemove = async (row) => { ...@@ -61,30 +62,22 @@ const handleRemove = async (row) => {
<AppCard title="商品管理"> <AppCard title="商品管理">
<AppList v-bind="listOptions" ref="appList"> <AppList v-bind="listOptions" ref="appList">
<template #header-buttons> <template #header-buttons>
<el-button type="primary"> <el-button type="primary"><router-link to="management/add">添加商品</router-link></el-button>
<router-link to="management/add">添加商品</router-link>
</el-button>
</template> </template>
<template #filter-category> <template #filter-category>
<LiveProductCategory v-model="listParams.live_commodity_type_id" @change="handleRefresh"></LiveProductCategory> <LiveProductCategory v-model="listParams.live_commodity_type_id" @change="handleRefresh" placeholder="请选择商品品类"></LiveProductCategory>
</template> </template>
<template #table-picture="{ row }"> <template #table-picture="{ row }">
<el-image <el-image fit="cover" preview-teleported :src="row.picture_url" :previewSrcList="row.picture_url_list" style="width:100px;height:100px"></el-image>
fit="cover"
preview-teleported
:src="row.picture_url"
:previewSrcList="row.picture_url_list"
style="width: 100px; height: 100px"></el-image>
</template> </template>
<template #table-x="{ row }"> <template #table-x="{ row }">
<el-button text type="primary"> <el-button text type="primary"><router-link :to="{ path: 'management/view', query: { id: row.id } }">查看</router-link></el-button>
<router-link :to="{ path: 'management/view', query: { id: row.id } }">查看</router-link> <el-button text type="primary"><router-link :to="{ path: 'management/update', query: { id: row.id } }">编辑</router-link></el-button>
</el-button>
<el-button text type="primary">
<router-link :to="{ path: 'management/update', query: { id: row.id } }">编辑</router-link>
</el-button>
<el-button text type="primary" @click="handleRemove(row)">删除</el-button> <el-button text type="primary" @click="handleRemove(row)">删除</el-button>
</template> </template>
</AppList> </AppList>
</AppCard> </AppCard>
</template> </template>
<style scoped>
</style>
...@@ -149,6 +149,26 @@ async function handleUpdate(params) { ...@@ -149,6 +149,26 @@ async function handleUpdate(params) {
.el-tabs__nav-wrap::after { .el-tabs__nav-wrap::after {
display: none; display: none;
} }
// 移动端 tab 横向滚动
@media (max-width: 767px) {
.el-tabs__header {
width: 100%;
}
.el-tabs__nav-wrap,
.el-tabs__nav-scroll {
overflow-x: auto;
overflow-y: hidden;
}
.el-tabs__nav {
display: inline-flex;
flex-wrap: nowrap;
}
.el-tabs__item {
flex-shrink: 0;
font-size: 13px;
padding: 0 8px;
}
}
} }
.product { .product {
.el-card { .el-card {
...@@ -163,5 +183,24 @@ async function handleUpdate(params) { ...@@ -163,5 +183,24 @@ async function handleUpdate(params) {
line-height: 22px; line-height: 22px;
color: #92939a; color: #92939a;
} }
@media (max-width: 767px) {
.form-tips {
position: static;
margin-bottom: 8px;
}
.el-row[style*="margin: 100px"] {
margin: 24px 0 16px !important;
flex-direction: column;
gap: 8px;
.el-button {
width: 100%;
margin-left: 0 !important;
}
}
.el-row[style*="min-height: 400px"] {
min-height: auto !important;
}
}
} }
</style> </style>
...@@ -2,6 +2,9 @@ ...@@ -2,6 +2,9 @@
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { createReport, getReport, getTestList } from '../api' import { createReport, getReport, getTestList } from '../api'
import AppUpload from '@/components/base/AppUpload.vue' import AppUpload from '@/components/base/AppUpload.vue'
import { useMediaQuery } from '@vueuse/core'
const isMobile = useMediaQuery('(max-width: 767px)')
const props = defineProps(['data', 'action']) const props = defineProps(['data', 'action'])
...@@ -73,13 +76,18 @@ function handleSuccess(file) { ...@@ -73,13 +76,18 @@ function handleSuccess(file) {
</script> </script>
<template> <template>
<el-dialog :title="title" :close-on-click-modal="false" @closed="$emit('update:modelValue', false)" width="500px"> <el-dialog
:title="title"
:close-on-click-modal="false"
@closed="$emit('update:modelValue', false)"
:width="isMobile ? '95%' : '500px'"
destroy-on-close>
<el-form <el-form
ref="formRef" ref="formRef"
:model="form" :model="form"
:rules="rules" :rules="rules"
label-position="right" :label-position="isMobile ? 'top' : 'right'"
label-width="110px" :label-width="isMobile ? undefined : '110px'"
:disabled="action === 'view'"> :disabled="action === 'view'">
<el-form-item label="关联直播" prop="live_practice_id"> <el-form-item label="关联直播" prop="live_practice_id">
<el-select v-model="form.live_practice_id" style="width: 100%" placeholder="请选择" filterable> <el-select v-model="form.live_practice_id" style="width: 100%" placeholder="请选择" filterable>
......
...@@ -26,7 +26,7 @@ const listOptions = computed(() => { ...@@ -26,7 +26,7 @@ const listOptions = computed(() => {
}, },
filters: [ filters: [
{ label: '直播主题品类', prop: 'live_commodity_type_id', slots: 'filter-category' }, { label: '直播主题品类', prop: 'live_commodity_type_id', slots: 'filter-category' },
{ label: '直播主题名称', prop: 'live_commodity_title', type: 'input' }, { label: '直播主题名称', prop: 'live_commodity_title', type: 'input', placeholder: '请输入直播主题名称' },
], ],
columns: [ columns: [
{ label: '序号', type: 'index', width: 60 }, { label: '序号', type: 'index', width: 60 },
...@@ -58,6 +58,7 @@ const handleView = (row) => { ...@@ -58,6 +58,7 @@ const handleView = (row) => {
currentRow.value = row currentRow.value = row
formVisible.value = true formVisible.value = true
} }
// 删除 // 删除
const handleRemove = async (row) => { const handleRemove = async (row) => {
await ElMessageBox.confirm('此操作将永久删除该数据, 是否继续?', '提示') await ElMessageBox.confirm('此操作将永久删除该数据, 是否继续?', '提示')
...@@ -74,7 +75,7 @@ const handleRemove = async (row) => { ...@@ -74,7 +75,7 @@ const handleRemove = async (row) => {
<el-button type="primary" @click="handleAdd">上传总结报告</el-button> <el-button type="primary" @click="handleAdd">上传总结报告</el-button>
</template> </template>
<template #filter-category> <template #filter-category>
<LiveProductCategory v-model="listParams.live_commodity_type_id" @change="handleRefresh"></LiveProductCategory> <LiveProductCategory v-model="listParams.live_commodity_type_id" @change="handleRefresh" placeholder="请选择直播主题品类"></LiveProductCategory>
</template> </template>
<template #table-x="{ row }"> <template #table-x="{ row }">
<el-button text type="primary" @click="handleView(row)">查看</el-button> <el-button text type="primary" @click="handleView(row)">查看</el-button>
...@@ -82,6 +83,8 @@ const handleRemove = async (row) => { ...@@ -82,6 +83,8 @@ const handleRemove = async (row) => {
</template> </template>
</AppList> </AppList>
</AppCard> </AppCard>
<!-- 新建/修改 -->
<FormDialog v-model="formVisible" :action="action" :data="currentRow" @update="handleRefresh" v-if="formVisible" /> <FormDialog v-model="formVisible" :action="action" :data="currentRow" @update="handleRefresh" v-if="formVisible" />
</template> </template>
<style scoped>
</style>
...@@ -5,6 +5,10 @@ import { createTalk, updateTalk, getTalk, getProduct } from '../api' ...@@ -5,6 +5,10 @@ import { createTalk, updateTalk, getTalk, getProduct } from '../api'
import { useChat } from '@/composables/useChat' import { useChat } from '@/composables/useChat'
import Editor from '@tinymce/tinymce-vue' import Editor from '@tinymce/tinymce-vue'
import { useMapStore } from '@/stores/map' import { useMapStore } from '@/stores/map'
import { useMediaQuery } from '@vueuse/core'
const isMobile = useMediaQuery('(max-width: 767px)')
const editorHeight = computed(() => (isMobile.value ? 250 : 420))
const props = defineProps(['data', 'action']) const props = defineProps(['data', 'action'])
...@@ -200,8 +204,13 @@ function handleAIGenerate(index) { ...@@ -200,8 +204,13 @@ function handleAIGenerate(index) {
</script> </script>
<template> <template>
<el-dialog :title="title" :close-on-click-modal="false" @closed="$emit('update:modelValue', false)" width="1000px"> <el-dialog
<el-row justify="center" :gutter="40"> :title="title"
:close-on-click-modal="false"
@closed="$emit('update:modelValue', false)"
:width="isMobile ? '95%' : '1000px'"
destroy-on-close>
<el-row justify="center" :gutter="40" class="talk-dialog-row">
<el-col :sm="24" :md="12"> <el-col :sm="24" :md="12">
<el-form ref="formRef" :model="form" :rules="rules" label-position="top" :disabled="action === 'view'"> <el-form ref="formRef" :model="form" :rules="rules" label-position="top" :disabled="action === 'view'">
<el-form-item label="直播话术名称" prop="name"> <el-form-item label="直播话术名称" prop="name">
...@@ -257,7 +266,7 @@ function handleAIGenerate(index) { ...@@ -257,7 +266,7 @@ function handleAIGenerate(index) {
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-col> </el-col>
<el-col :sm="24" :md="12" style="border-left: 1px solid #dcdfe6"> <el-col :sm="24" :md="12" class="talk-dialog-right">
<div style="text-align: center; margin-bottom: 20px"> <div style="text-align: center; margin-bottom: 20px">
<h2 style="margin-bottom: 20px">直播话术</h2> <h2 style="margin-bottom: 20px">直播话术</h2>
<el-button <el-button
...@@ -276,7 +285,7 @@ function handleAIGenerate(index) { ...@@ -276,7 +285,7 @@ function handleAIGenerate(index) {
quickbars_insert_toolbar: false, quickbars_insert_toolbar: false,
menubar: false, menubar: false,
statusbar: false, statusbar: false,
height: 420, height: editorHeight,
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:13px }', content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:13px }',
}" /> }" />
</el-col> </el-col>
...@@ -307,4 +316,19 @@ function handleAIGenerate(index) { ...@@ -307,4 +316,19 @@ function handleAIGenerate(index) {
line-height: 22px; line-height: 22px;
color: #92939a; color: #92939a;
} }
@media (max-width: 767px) {
.talk-dialog-row {
flex-direction: column;
}
.talk-dialog-right {
border-left: none !important;
border-bottom: 1px solid #dcdfe6;
padding-bottom: 16px;
margin-bottom: 16px;
}
.form-tips {
position: static;
margin-bottom: 8px;
}
}
</style> </style>
...@@ -32,8 +32,13 @@ const listOptions = computed(() => { ...@@ -32,8 +32,13 @@ const listOptions = computed(() => {
}, },
filters: [ filters: [
{ label: '直播主题品类', prop: 'live_commodity_type_id', slots: 'filter-category' }, { label: '直播主题品类', prop: 'live_commodity_type_id', slots: 'filter-category' },
{ label: '直播主题名称', prop: 'live_commodity_title', type: 'input' }, {
{ label: '话术名称', prop: 'name', type: 'input' }, label: '直播主题名称',
prop: 'live_commodity_title',
type: 'input',
placeholder: '请输入直播主题名称',
},
{ label: '话术名称', prop: 'name', type: 'input', placeholder: '请输入话术名称' },
], ],
columns: [ columns: [
{ label: '序号', type: 'index', width: 60 }, { label: '序号', type: 'index', width: 60 },
...@@ -82,10 +87,13 @@ const handleRemove = async (row) => { ...@@ -82,10 +87,13 @@ const handleRemove = async (row) => {
<AppCard title="直播话术管理"> <AppCard title="直播话术管理">
<AppList v-bind="listOptions" ref="appList"> <AppList v-bind="listOptions" ref="appList">
<template #header-buttons> <template #header-buttons>
<el-button type="primary" @click="handleAdd" v-if="!listLength">添加话术</el-button> <el-button type="primary" @click="handleAdd">添加话术</el-button>
</template> </template>
<template #filter-category> <template #filter-category>
<LiveProductCategory v-model="listParams.live_commodity_type_id" @change="handleRefresh"></LiveProductCategory> <LiveProductCategory
v-model="listParams.live_commodity_type_id"
@change="handleRefresh"
placeholder="请选择直播主题品类"></LiveProductCategory>
</template> </template>
<template #table-x="{ row }"> <template #table-x="{ row }">
<el-button text type="primary" @click="handleView(row)">查看</el-button> <el-button text type="primary" @click="handleView(row)">查看</el-button>
...@@ -97,3 +105,5 @@ const handleRemove = async (row) => { ...@@ -97,3 +105,5 @@ const handleRemove = async (row) => {
<!-- 新建/修改 --> <!-- 新建/修改 -->
<FormDialog v-model="formVisible" :action="action" :data="currentRow" @update="handleRefresh" v-if="formVisible" /> <FormDialog v-model="formVisible" :action="action" :data="currentRow" @update="handleRefresh" v-if="formVisible" />
</template> </template>
<style scoped></style>
...@@ -263,4 +263,34 @@ const onStatsChange = (stats) => { ...@@ -263,4 +263,34 @@ const onStatsChange = (stats) => {
overflow-y: auto; overflow-y: auto;
line-height: 24px; line-height: 24px;
} }
@media (max-width: 767px) {
.live-row {
flex-direction: column;
gap: 12px;
height: auto;
}
.live-col {
width: 100% !important;
padding: 12px;
border-radius: 0;
border-left: none;
border-right: none;
}
.live-time {
height: auto;
font-size: 42px;
margin: 8px 0;
}
.live-data2 dd {
font-size: 32px;
}
.live-tag {
margin: 12px 0;
padding: 12px;
}
.live-talk-content {
max-height: none;
}
}
</style> </style>
...@@ -3,6 +3,9 @@ import { ElMessage } from 'element-plus' ...@@ -3,6 +3,9 @@ import { ElMessage } from 'element-plus'
import LiveProductSelect from '@/components/LiveProductSelect.vue' import LiveProductSelect from '@/components/LiveProductSelect.vue'
import { createTest, updateTest, getTalkList } from '../api' import { createTest, updateTest, getTalkList } from '../api'
import { useMapStore } from '@/stores/map' import { useMapStore } from '@/stores/map'
import { useMediaQuery } from '@vueuse/core'
const isMobile = useMediaQuery('(max-width: 767px)')
const props = defineProps(['data']) const props = defineProps(['data'])
...@@ -62,7 +65,7 @@ async function handleUpdate() { ...@@ -62,7 +65,7 @@ async function handleUpdate() {
</script> </script>
<template> <template>
<el-dialog :title="title" :close-on-click-modal="false" @closed="$emit('update:modelValue', false)"> <el-dialog :title="title" :close-on-click-modal="false" @closed="$emit('update:modelValue', false)" :width="isMobile ? '90%' : undefined">
<el-row justify="center"> <el-row justify="center">
<el-col :sm="24" :md="16"> <el-col :sm="24" :md="16">
<el-form ref="formRef" :model="form" :rules="rules" label-position="top"> <el-form ref="formRef" :model="form" :rules="rules" label-position="top">
......
...@@ -80,6 +80,8 @@ const { ...@@ -80,6 +80,8 @@ const {
endTime, endTime,
duration, duration,
currentTime: currentLiveTime, currentTime: currentLiveTime,
switchCamera,
isMobile,
} = useLive({ } = useLive({
onStart: () => { onStart: () => {
console.log('开始直播') console.log('开始直播')
...@@ -215,15 +217,28 @@ defineExpose({ enabled, start, stop }) ...@@ -215,15 +217,28 @@ defineExpose({ enabled, start, stop })
<img :src="enabled ? '/live/live2.png' : '/live/live1.png'" alt="直播状态" class="live-icon" /> <img :src="enabled ? '/live/live2.png' : '/live/live1.png'" alt="直播状态" class="live-icon" />
</div> </div>
<div class="live-bd"> <div class="live-bd">
<video muted autoplay ref="video"></video> <video muted autoplay ref="video" playsinline></video>
<LiveCover :messages="messages" :stats="stats" :viewers="viewers" v-if="enabled" /> <LiveCover :messages="messages" :stats="stats" :viewers="viewers" v-if="enabled" />
<!-- 移动端摄像头切换按钮 -->
<el-button
class="camera-switch-btn"
circle
size="small"
@click="switchCamera"
v-if="isMobile && !enabled && !recordId">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"/>
<circle cx="12" cy="13" r="4"/>
</svg>
</el-button>
</div> </div>
<div class="live-ft"> <div class="live-ft">
<div class="live-ft-row">
<el-button <el-button
type="primary" :type="enabled ? 'danger' : 'primary'"
size="large" size="large"
round round
style="width: 80%" class="live-ft-btn"
@click="enabled ? stop() : start()" @click="enabled ? stop() : start()"
v-if="!recordId"> v-if="!recordId">
{{ enabled ? '结束直播' : '开始直播' }} {{ enabled ? '结束直播' : '开始直播' }}
...@@ -232,7 +247,7 @@ defineExpose({ enabled, start, stop }) ...@@ -232,7 +247,7 @@ defineExpose({ enabled, start, stop })
type="primary" type="primary"
size="large" size="large"
round round
style="width: 80%; margin: 10px 0 0 0" class="live-ft-btn"
:loading="uploading" :loading="uploading"
@click="handleUpload" @click="handleUpload"
v-if="isLocalUpload && recordId" v-if="isLocalUpload && recordId"
...@@ -240,6 +255,7 @@ defineExpose({ enabled, start, stop }) ...@@ -240,6 +255,7 @@ defineExpose({ enabled, start, stop })
> >
</div> </div>
</div> </div>
</div>
<el-dialog title="提示" :model-value="dialogVisible" :showClose="false" width="500px"> <el-dialog title="提示" :model-value="dialogVisible" :showClose="false" width="500px">
<div class="modal-content"> <div class="modal-content">
<template v-if="isPolling"> <template v-if="isPolling">
...@@ -271,6 +287,7 @@ defineExpose({ enabled, start, stop }) ...@@ -271,6 +287,7 @@ defineExpose({ enabled, start, stop })
<style lang="scss"> <style lang="scss">
.live { .live {
width: 375px; width: 375px;
max-width: 100%;
&-hd { &-hd {
display: flex; display: flex;
...@@ -285,6 +302,7 @@ defineExpose({ enabled, start, stop }) ...@@ -285,6 +302,7 @@ defineExpose({ enabled, start, stop })
&-bd { &-bd {
position: relative; position: relative;
height: 667px; height: 667px;
max-height: 70vh;
border-radius: 8px; border-radius: 8px;
overflow: hidden; overflow: hidden;
background-color: #000; background-color: #000;
...@@ -298,6 +316,60 @@ defineExpose({ enabled, start, stop }) ...@@ -298,6 +316,60 @@ defineExpose({ enabled, start, stop })
&-ft { &-ft {
margin-top: 10px; margin-top: 10px;
text-align: center; text-align: center;
&-row {
display: flex;
justify-content: center;
gap: 10px;
}
&-btn {
min-width: 160px;
}
}
// 摄像头切换按钮
.camera-switch-btn {
position: absolute;
top: 10px;
right: 10px;
z-index: 130;
background: rgba(0, 0, 0, 0.4);
color: #fff;
border: 1px solid rgba(255, 255, 255, 0.3);
&:hover {
background: rgba(0, 0, 0, 0.6);
}
}
// 移动端适配
@media (max-width: 768px) {
width: 100%;
&-bd {
height: 50vh;
max-height: 50vh;
border-radius: 0;
}
&-hd {
padding: 0 4px;
font-size: 14px;
}
&-ft {
&-btn {
width: 80%;
min-width: auto;
}
}
}
@media (max-width: 480px) {
&-bd {
height: 40vh;
max-height: 40vh;
}
} }
} }
.modal-content { .modal-content {
......
...@@ -110,7 +110,7 @@ const handleInput = (value) => { ...@@ -110,7 +110,7 @@ const handleInput = (value) => {
</defs> </defs>
</svg> </svg>
</div> </div>
<div class="live-slider" v-show="hover"> <div class="live-slider" :class="{ 'is-visible': hover }">
<el-slider <el-slider
v-model="currentTime" v-model="currentTime"
:step="0.1" :step="0.1"
...@@ -127,6 +127,7 @@ const handleInput = (value) => { ...@@ -127,6 +127,7 @@ const handleInput = (value) => {
<style lang="scss"> <style lang="scss">
.live { .live {
width: 375px; width: 375px;
max-width: 100%;
&-hd { &-hd {
display: flex; display: flex;
...@@ -141,6 +142,7 @@ const handleInput = (value) => { ...@@ -141,6 +142,7 @@ const handleInput = (value) => {
&-bd { &-bd {
position: relative; position: relative;
height: 667px; height: 667px;
max-height: 70vh;
border-radius: 8px; border-radius: 8px;
overflow: hidden; overflow: hidden;
background-color: #000; background-color: #000;
...@@ -155,6 +157,38 @@ const handleInput = (value) => { ...@@ -155,6 +157,38 @@ const handleInput = (value) => {
margin-top: 10px; margin-top: 10px;
text-align: center; text-align: center;
} }
@media (max-width: 768px) {
width: 100%;
&-bd {
height: 50vh;
max-height: 50vh;
border-radius: 0;
}
&-hd {
padding: 0 4px;
font-size: 14px;
}
.live-play-button {
display: flex;
}
.live-slider {
display: block;
}
.live-slider.is-visible {
display: block;
}
}
@media (max-width: 480px) {
&-bd {
height: 40vh;
max-height: 40vh;
}
}
} }
.live-play-button { .live-play-button {
position: absolute; position: absolute;
......
...@@ -4,6 +4,7 @@ import Demo from '../components/Demo.vue' ...@@ -4,6 +4,7 @@ import Demo from '../components/Demo.vue'
import ImprovementPlan from '../components/ImprovementPlan.vue' import ImprovementPlan from '../components/ImprovementPlan.vue'
import RecordViewText from './RecordViewText.vue' import RecordViewText from './RecordViewText.vue'
import { useLiveRecord } from '../composables/useLiveRecord' import { useLiveRecord } from '../composables/useLiveRecord'
import { useMediaQuery } from '@vueuse/core'
const props = defineProps({ const props = defineProps({
isView: { type: Boolean, default: true }, isView: { type: Boolean, default: true },
...@@ -12,6 +13,8 @@ const props = defineProps({ ...@@ -12,6 +13,8 @@ const props = defineProps({
const { liveRecord: detail, handleAIScore, isLoading } = useLiveRecord({ id: props.recordId, immediate: true }) const { liveRecord: detail, handleAIScore, isLoading } = useLiveRecord({ id: props.recordId, immediate: true })
const isMobile = useMediaQuery('(max-width: 767px)')
const timelines = computed(() => { const timelines = computed(() => {
return detail.value ? JSON.parse(detail.value.subtitle)?.Result?.Sentences || [] : [] return detail.value ? JSON.parse(detail.value.subtitle)?.Result?.Sentences || [] : []
}) })
...@@ -225,8 +228,8 @@ function formatDuration(seconds) { ...@@ -225,8 +228,8 @@ function formatDuration(seconds) {
</el-step> </el-step>
</el-steps> </el-steps>
</AppCard> </AppCard>
<el-dialog v-model="dialogVisible" title="直播回放" width="1200px"> <el-dialog v-model="dialogVisible" title="直播回放" :width="isMobile ? '95%' : '1200px'" destroy-on-close>
<div style="height: 740px"> <div :style="{ height: isMobile ? 'auto' : '740px', maxHeight: isMobile ? '80vh' : 'none', overflowY: isMobile ? 'auto' : 'hidden' }">
<Demo :id="id" :recordId="recordId" :isView="true" /> <Demo :id="id" :recordId="recordId" :isView="true" />
</div> </div>
</el-dialog> </el-dialog>
...@@ -272,6 +275,38 @@ function formatDuration(seconds) { ...@@ -272,6 +275,38 @@ function formatDuration(seconds) {
width: 200px; width: 200px;
} }
} }
@media (max-width: 767px) {
flex-direction: column;
.live-info-header {
border-right: none;
border-bottom: 1px solid #e5e5e5;
padding-right: 0;
padding-bottom: 12px;
h2 {
font-size: 20px;
}
h6 {
font-size: 16px;
}
}
.live-info-item {
div {
width: calc(50% - 12px);
min-width: 120px;
}
}
}
@media (max-width: 480px) {
.live-info-item {
div {
width: 100%;
}
}
}
} }
.live-title { .live-title {
font-size: 14px; font-size: 14px;
......
...@@ -36,10 +36,25 @@ export function useLive({ enabledUserMedia = true, onStart, onRecord, onStop }: ...@@ -36,10 +36,25 @@ export function useLive({ enabledUserMedia = true, onStart, onRecord, onStop }:
const currentCamera = computed(() => cameras.value[0]?.deviceId) const currentCamera = computed(() => cameras.value[0]?.deviceId)
const currentMicrophone = computed(() => microphones.value[0]?.deviceId) const currentMicrophone = computed(() => microphones.value[0]?.deviceId)
// 移动端摄像头切换
const facingMode = ref<'user' | 'environment'>('user')
const isFrontCamera = computed(() => facingMode.value === 'user')
// 检测移动端
const isMobile = /Android|iPhone|iPad|iPod/i.test(navigator.userAgent) || window.innerWidth < 768
// 响应式媒体约束:移动端使用 facingMode,桌面端使用 deviceId
const constraints = computed(() => {
if (isMobile) {
return { video: { facingMode: { ideal: facingMode.value } }, audio: true }
}
return { video: { deviceId: currentCamera.value as any }, audio: { deviceId: currentMicrophone.value as any } }
})
// 创建媒体流 // 创建媒体流
const { stream } = useUserMedia({ const { stream } = useUserMedia({
enabled: enabledUserMedia, enabled: enabledUserMedia,
constraints: { video: { deviceId: currentCamera as any }, audio: { deviceId: currentMicrophone as any } }, constraints: constraints as any,
}) })
// 录像设置 // 录像设置
...@@ -102,5 +117,13 @@ export function useLive({ enabledUserMedia = true, onStart, onRecord, onStop }: ...@@ -102,5 +117,13 @@ export function useLive({ enabledUserMedia = true, onStart, onRecord, onStop }:
if (mediaRecorder) mediaRecorder.stop() if (mediaRecorder) mediaRecorder.stop()
} }
return { stream, start, stop, startTime, endTime, duration, currentTime } // 切换摄像头(移动端前置/后置)
const switchCamera = () => {
if (mediaRecorder?.state === 'recording') return
facingMode.value = facingMode.value === 'user' ? 'environment' : 'user'
// 流自动更新后重新初始化 MediaRecorder
nextTick(() => initializeMediaRecorder())
}
return { stream, start, stop, startTime, endTime, duration, currentTime, switchCamera, facingMode, isFrontCamera, isMobile }
} }
...@@ -34,7 +34,7 @@ const listOptions = computed(() => { ...@@ -34,7 +34,7 @@ const listOptions = computed(() => {
}, },
filters: [ filters: [
{ label: '直播主题品类', prop: 'live_commodity_type_id', slots: 'filter-category' }, { label: '直播主题品类', prop: 'live_commodity_type_id', slots: 'filter-category' },
{ label: '直播主题标题', prop: 'live_commodity_title', type: 'input' }, { label: '直播主题标题', prop: 'live_commodity_title', type: 'input', placeholder: '请输入直播主题标题' },
], ],
columns: [ columns: [
{ label: '序号', type: 'index', width: 60 }, { label: '序号', type: 'index', width: 60 },
...@@ -42,13 +42,7 @@ const listOptions = computed(() => { ...@@ -42,13 +42,7 @@ const listOptions = computed(() => {
{ label: '直播主题标题', prop: 'live_commodity_title' }, { label: '直播主题标题', prop: 'live_commodity_title' },
{ label: '直播话术', prop: 'live_commodity_speeches_name' }, { label: '直播话术', prop: 'live_commodity_speeches_name' },
{ label: '所属直播主题品类', prop: 'live_commodity_type_full_name' }, { label: '所属直播主题品类', prop: 'live_commodity_type_full_name' },
{ { label: '上传方式', prop: 'upload_way', computed: ({ row }) => getNameByValue(row.upload_way, liveUploadWay) },
label: '上传方式',
prop: 'upload_way',
computed({ row }) {
return getNameByValue(row.upload_way, liveUploadWay)
},
},
{ label: '创建人', prop: 'created_operator', computed: ({ row }) => getOperatorName(row.created_operator) }, { label: '创建人', prop: 'created_operator', computed: ({ row }) => getOperatorName(row.created_operator) },
{ label: '更新时间', prop: 'updated_time' }, { label: '更新时间', prop: 'updated_time' },
{ label: '操作', slots: 'table-x', width: 200 }, { label: '操作', slots: 'table-x', width: 200 },
...@@ -60,6 +54,7 @@ const formVisible = ref(false) ...@@ -60,6 +54,7 @@ const formVisible = ref(false)
const recordVisible = ref(false) const recordVisible = ref(false)
const currentRow = ref(null) const currentRow = ref(null)
// 查看
const handelView = (row) => { const handelView = (row) => {
recordVisible.value = true recordVisible.value = true
currentRow.value = row currentRow.value = row
...@@ -88,7 +83,10 @@ const handleStart = async (row) => { ...@@ -88,7 +83,10 @@ const handleStart = async (row) => {
<el-button type="primary" @click="formVisible = true">添加直播</el-button> <el-button type="primary" @click="formVisible = true">添加直播</el-button>
</template> </template>
<template #filter-category> <template #filter-category>
<LiveProductCategory v-model="listParams.live_commodity_type_id" @change="handleRefresh"></LiveProductCategory> <LiveProductCategory
v-model="listParams.live_commodity_type_id"
@change="handleRefresh"
placeholder="请选择直播主题品类"></LiveProductCategory>
</template> </template>
<template #table-x="{ row }"> <template #table-x="{ row }">
<el-button text type="primary" @click="handleStart(row)" v-if="row.practice_count == 0">开始直播</el-button> <el-button text type="primary" @click="handleStart(row)" v-if="row.practice_count == 0">开始直播</el-button>
...@@ -97,8 +95,6 @@ const handleStart = async (row) => { ...@@ -97,8 +95,6 @@ const handleStart = async (row) => {
</template> </template>
</AppList> </AppList>
</AppCard> </AppCard>
<!-- 新建/修改 -->
<FormDialog v-model="formVisible" @update="handleRefresh" v-if="formVisible" /> <FormDialog v-model="formVisible" @update="handleRefresh" v-if="formVisible" />
<!-- 查看 -->
<RecordDialog v-model="recordVisible" :data="currentRow" v-if="recordVisible"></RecordDialog> <RecordDialog v-model="recordVisible" :data="currentRow" v-if="recordVisible"></RecordDialog>
</template> </template>
...@@ -135,4 +135,9 @@ async function handleNext() { ...@@ -135,4 +135,9 @@ async function handleNext() {
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
} }
@media (max-width: 767px) {
.remove {
display: block !important;
}
}
</style> </style>
...@@ -77,4 +77,5 @@ const handleView = row => { ...@@ -77,4 +77,5 @@ const handleView = row => {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} }
@media (max-width: 767px) { .info { flex-direction: column; gap: 8px; } }
</style> </style>
...@@ -114,4 +114,10 @@ async function handleNext(data, isCheck = false) { ...@@ -114,4 +114,10 @@ async function handleNext(data, isCheck = false) {
margin: 0; margin: 0;
} }
} }
@media (max-width: 767px) {
.el-row[style*="padding: 60px"] {
padding: 24px 0 !important;
gap: 20px !important;
}
}
</style> </style>
...@@ -139,4 +139,7 @@ function isComplete(is: boolean) { ...@@ -139,4 +139,7 @@ function isComplete(is: boolean) {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} }
@media (max-width: 767px) {
.info { flex-direction: column; gap: 8px; }
}
</style> </style>
...@@ -112,4 +112,5 @@ const handleSubmit = function () { ...@@ -112,4 +112,5 @@ const handleSubmit = function () {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} }
@media (max-width: 767px) { .info { flex-direction: column; gap: 8px; } }
</style> </style>
...@@ -50,4 +50,5 @@ const data = $computed(() => { ...@@ -50,4 +50,5 @@ const data = $computed(() => {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} }
@media (max-width: 767px) { .info { flex-direction: column; gap: 8px; } }
</style> </style>
...@@ -171,7 +171,7 @@ const popoverText = function (row: any) { ...@@ -171,7 +171,7 @@ const popoverText = function (row: any) {
</el-table-column> </el-table-column>
<el-table-column width="30"> <el-table-column width="30">
<template #default="{ row }"> <template #default="{ row }">
<el-popover placement="top-start" :width="300" trigger="hover" :title="row.type_name"> <el-popover placement="top-start" :width="300" trigger="click" :title="row.type_name">
<template #reference> <template #reference>
<div style="display: flex; justify-content: center; cursor: pointer"> <div style="display: flex; justify-content: center; cursor: pointer">
<el-icon size="20"><QuestionFilled /></el-icon> <el-icon size="20"><QuestionFilled /></el-icon>
......
...@@ -169,7 +169,7 @@ const popoverText = function (type: any) { ...@@ -169,7 +169,7 @@ const popoverText = function (type: any) {
v-else v-else
v-model="form.format" v-model="form.format"
:placeholder="formatPlaceholder" /> :placeholder="formatPlaceholder" />
<el-popover placement="top-start" :width="300" trigger="hover" :title="form.type_name"> <el-popover placement="top-start" :width="300" trigger="click" :title="form.type_name">
<template #reference> <template #reference>
<div style="display: flex; justify-content: center; cursor: pointer"> <div style="display: flex; justify-content: center; cursor: pointer">
<el-icon size="20"><QuestionFilled /></el-icon> <el-icon size="20"><QuestionFilled /></el-icon>
......
...@@ -161,4 +161,46 @@ const handleDelete = (url) => { ...@@ -161,4 +161,46 @@ const handleDelete = (url) => {
color: #000; color: #000;
line-height: 30px; line-height: 30px;
} }
@media (max-width: 767px) {
li .el-icon {
display: block !important;
}
.operations-tabs :deep(.el-tabs__header) {
width: 100%;
overflow-x: auto;
}
.operations-tabs :deep(.el-tabs__nav-wrap),
.operations-tabs :deep(.el-tabs__nav-scroll) {
overflow-x: auto;
overflow-y: hidden;
}
.operations-tabs :deep(.el-tabs__nav) {
display: inline-flex;
flex-wrap: nowrap;
}
.operations-tabs :deep(.el-tabs__item) {
flex-shrink: 0;
font-size: 13px;
padding: 0 8px;
}
:deep(.el-card__body) > div[style*="padding: 40px"] {
padding: 16px !important;
min-height: auto !important;
}
.image-list {
gap: 12px;
li {
width: calc(50% - 6px);
height: 160px;
}
}
.el-row {
flex-wrap: wrap;
justify-content: center;
gap: 8px;
.el-button {
margin-left: 0 !important;
}
}
}
</style> </style>
...@@ -244,7 +244,7 @@ const handleNext = () => { ...@@ -244,7 +244,7 @@ const handleNext = () => {
<div class="table-expand-box"> <div class="table-expand-box">
<el-form label-position="top"> <el-form label-position="top">
<el-row> <el-row>
<el-col :span="12"> <el-col :xs="24" :sm="12">
<el-form-item label="主图"> <el-form-item label="主图">
<el-image <el-image
:src="item.url" :src="item.url"
...@@ -266,7 +266,7 @@ const handleNext = () => { ...@@ -266,7 +266,7 @@ const handleNext = () => {
style="width: 100px; height: 134px; margin-right: 10px"></el-image> style="width: 100px; height: 134px; margin-right: 10px"></el-image>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :xs="24" :sm="12">
<el-form-item label="主图视频"> <el-form-item label="主图视频">
<video <video
:src="row.video_url" :src="row.video_url"
...@@ -385,6 +385,25 @@ const handleNext = () => { ...@@ -385,6 +385,25 @@ const handleNext = () => {
:deep(.el-tabs__nav-wrap::after) { :deep(.el-tabs__nav-wrap::after) {
display: none; display: none;
} }
@media (max-width: 767px) {
:deep(.el-tabs__header) {
width: 100%;
}
:deep(.el-tabs__nav-wrap),
:deep(.el-tabs__nav-scroll) {
overflow-x: auto;
overflow-y: hidden;
}
:deep(.el-tabs__nav) {
display: inline-flex;
flex-wrap: nowrap;
}
:deep(.el-tabs__item) {
flex-shrink: 0;
font-size: 13px;
padding: 0 8px;
}
}
} }
.score-header { .score-header {
display: flex; display: flex;
......
...@@ -279,7 +279,7 @@ const disableTabPanel = (type) => { ...@@ -279,7 +279,7 @@ const disableTabPanel = (type) => {
<div class="table-expand-box"> <div class="table-expand-box">
<el-form label-position="top"> <el-form label-position="top">
<el-row> <el-row>
<el-col :span="12"> <el-col :xs="24" :sm="12">
<el-form-item label="主图"> <el-form-item label="主图">
<el-image <el-image
:src="item.url" :src="item.url"
...@@ -301,7 +301,7 @@ const disableTabPanel = (type) => { ...@@ -301,7 +301,7 @@ const disableTabPanel = (type) => {
style="width: 100px; height: 134px; margin-right: 10px"></el-image> style="width: 100px; height: 134px; margin-right: 10px"></el-image>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :xs="24" :sm="12">
<el-form-item label="主图视频"> <el-form-item label="主图视频">
<video <video
:src="row.video_url" :src="row.video_url"
...@@ -397,6 +397,14 @@ const disableTabPanel = (type) => { ...@@ -397,6 +397,14 @@ const disableTabPanel = (type) => {
:deep(.el-tabs__nav-wrap::after) { :deep(.el-tabs__nav-wrap::after) {
display: none; display: none;
} }
@media (max-width: 767px) {
:deep(.el-tabs__header) { width: 100%; }
:deep(.el-tabs__nav-wrap),
:deep(.el-tabs__nav-scroll) { overflow-x: auto; overflow-y: hidden; }
:deep(.el-tabs__nav) { display: inline-flex; flex-wrap: nowrap; }
:deep(.el-tabs__item) { flex-shrink: 0; font-size: 13px; padding: 0 8px; }
}
} }
.score-header { .score-header {
......
...@@ -245,7 +245,7 @@ const handleNext = () => { ...@@ -245,7 +245,7 @@ const handleNext = () => {
<div class="table-expand-box"> <div class="table-expand-box">
<el-form label-position="top"> <el-form label-position="top">
<el-row> <el-row>
<el-col :span="12"> <el-col :xs="24" :sm="12">
<el-form-item label="主图"> <el-form-item label="主图">
<el-image <el-image
:src="item.url" :src="item.url"
...@@ -267,7 +267,7 @@ const handleNext = () => { ...@@ -267,7 +267,7 @@ const handleNext = () => {
style="width: 100px; height: 134px; margin-right: 10px"></el-image> style="width: 100px; height: 134px; margin-right: 10px"></el-image>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :xs="24" :sm="12">
<el-form-item label="主图视频"> <el-form-item label="主图视频">
<video <video
:src="row.video_url" :src="row.video_url"
...@@ -386,6 +386,13 @@ const handleNext = () => { ...@@ -386,6 +386,13 @@ const handleNext = () => {
:deep(.el-tabs__nav-wrap::after) { :deep(.el-tabs__nav-wrap::after) {
display: none; display: none;
} }
@media (max-width: 767px) {
:deep(.el-tabs__header) { width: 100%; }
:deep(.el-tabs__nav-wrap),
:deep(.el-tabs__nav-scroll) { overflow-x: auto; overflow-y: hidden; }
:deep(.el-tabs__nav) { display: inline-flex; flex-wrap: nowrap; }
:deep(.el-tabs__item) { flex-shrink: 0; font-size: 13px; padding: 0 8px; }
}
} }
.score-header { .score-header {
display: flex; display: flex;
......
...@@ -204,6 +204,15 @@ const handleNext = () => { ...@@ -204,6 +204,15 @@ const handleNext = () => {
} }
} }
} }
@media (max-width: 767px) {
.image-list {
gap: 12px;
li {
width: calc(50% - 6px);
height: 160px;
}
}
}
.video-player { .video-player {
max-height: 400px; max-height: 400px;
} }
......
...@@ -24,11 +24,12 @@ const listOptions = computed(() => { ...@@ -24,11 +24,12 @@ const listOptions = computed(() => {
return { return {
remote: { httpRequest: getScoreList, params: listParams }, remote: { httpRequest: getScoreList, params: listParams },
filters: [ filters: [
{ label: '姓名', prop: 'name', type: 'input' }, { label: '姓名', prop: 'name', type: 'input', placeholder: '请输入姓名' },
{ {
label: '状态', label: '状态',
prop: 'check_status', prop: 'check_status',
type: 'select', type: 'select',
placeholder: '请选择状态',
options: [ options: [
{ label: '暂未评分', value: '0' }, { label: '暂未评分', value: '0' },
{ label: '评分中', value: '1' }, { label: '评分中', value: '1' },
...@@ -101,8 +102,12 @@ useIntervalFn(() => { ...@@ -101,8 +102,12 @@ useIntervalFn(() => {
</template> </template>
<template #filter-category> <template #filter-category>
<LiveProductCategory v-model="listParams.live_commodity_type_id" @change="handleRefresh"></LiveProductCategory> <LiveProductCategory
v-model="listParams.live_commodity_type_id"
@change="handleRefresh"
placeholder="请选择直播主题品类"></LiveProductCategory>
</template> </template>
<template #table-x="{ row }"> <template #table-x="{ row }">
<el-button text type="primary" v-if="row.check_status != '1'"> <el-button text type="primary" v-if="row.check_status != '1'">
<router-link :to="{ path: 'score/view', query: { ...$route.query, id: row.id } }">评分</router-link> <router-link :to="{ path: 'score/view', query: { ...$route.query, id: row.id } }">评分</router-link>
......
...@@ -197,6 +197,13 @@ useEventListener(window, 'pagehide', () => { ...@@ -197,6 +197,13 @@ useEventListener(window, 'pagehide', () => {
:deep(.el-tabs__nav-wrap::after) { :deep(.el-tabs__nav-wrap::after) {
display: none; display: none;
} }
@media (max-width: 767px) {
:deep(.el-tabs__header) { width: 100%; }
:deep(.el-tabs__nav-wrap),
:deep(.el-tabs__nav-scroll) { overflow-x: auto; overflow-y: hidden; }
:deep(.el-tabs__nav) { display: inline-flex; flex-wrap: nowrap; }
:deep(.el-tabs__item) { flex-shrink: 0; font-size: 13px; padding: 0 8px; }
}
} }
.score-header { .score-header {
display: flex; display: flex;
......
...@@ -311,6 +311,42 @@ watch(currentConnection, () => { ...@@ -311,6 +311,42 @@ watch(currentConnection, () => {
} }
} }
} }
@media (max-width: 767px) {
.info-box {
flex-direction: column;
align-items: stretch;
.info-name {
flex-direction: column;
min-width: auto !important;
margin-bottom: 12px;
}
h1 {
font-size: 22px;
margin: 10px 0 0 0;
}
.line {
display: none;
}
.info-box > div {
flex-direction: column;
gap: 8px;
}
}
.card-box {
flex-direction: column;
height: auto;
.card {
height: auto;
min-height: 300px;
margin-bottom: 10px;
.demo-tabs {
height: auto;
min-height: 200px;
}
}
}
}
.event-box { .event-box {
border-bottom: 1px solid #ccc; border-bottom: 1px solid #ccc;
padding: 20px 0 5px; padding: 20px 0 5px;
......
...@@ -328,3 +328,16 @@ const handleClear = async () => { ...@@ -328,3 +328,16 @@ const handleClear = async () => {
<!-- 用户事件数据 --> <!-- 用户事件数据 -->
<ViewGenerateEventData v-model="generateEventVisible" v-if="generateEventVisible"></ViewGenerateEventData> <ViewGenerateEventData v-model="generateEventVisible" v-if="generateEventVisible"></ViewGenerateEventData>
</template> </template>
<style scoped>
@media (max-width: 767px) {
.el-row[style*="space-between"] {
flex-direction: column;
gap: 8px;
}
.el-space {
flex-wrap: wrap;
gap: 6px;
}
}
</style>
Markdown 格式
0% 或
您添加了 0 人 到此讨论。请谨慎行事。
请先完成此评论的编辑!
请 注册 或者 后发表评论