From f7ae29a78b55246a7559212620a4853f41e017cb Mon Sep 17 00:00:00 2001 From: xiangheng <11675084@qq.com> Date: Tue, 7 Nov 2023 18:08:16 +0800 Subject: [PATCH 01/41] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E7=94=9F=E6=88=90=E4=BF=AE=E6=94=B9=E4=BC=9A=E6=B8=85=E7=A9=BA?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/.env.development.example | 4 - admin/package.json | 3 + admin/pnpm-lock.yaml | 4914 +++++++++++++++++ admin/src/App.vue | 4 +- admin/src/components/material/picker.vue | 558 +- admin/src/views/dev_tools/code/edit.vue | 8 +- server/config/config.go | 9 +- server/generator/schemas/req/gen.go | 31 +- server/generator/schemas/resp/gen.go | 51 +- .../generator/templates/gocode/model.go.tpl | 2 +- .../generator/templates/gocode/schema.go.tpl | 12 +- .../generator/templates/gocode/service.go.tpl | 6 +- server/generator/templates/vue/edit.vue.tpl | 60 +- .../templates/vue/index-tree.vue.tpl | 28 +- server/generator/templates/vue/index.vue.tpl | 28 +- server/generator/tpl.go | 26 +- server/generator/utils.go | 41 +- server/go.mod | 6 +- server/go.sum | 5 + server/model/gen/gen.go | 4 +- sql/install.sql | 8 +- 21 files changed, 5378 insertions(+), 430 deletions(-) delete mode 100644 admin/.env.development.example create mode 100644 admin/pnpm-lock.yaml diff --git a/admin/.env.development.example b/admin/.env.development.example deleted file mode 100644 index fb06547..0000000 --- a/admin/.env.development.example +++ /dev/null @@ -1,4 +0,0 @@ -NODE_ENV = 'development' - -# 请求域名 -VITE_APP_BASE_URL='https://likeadmin-go.yixiangonline.com' \ No newline at end of file diff --git a/admin/package.json b/admin/package.json index 25c05ad..c5f7235 100644 --- a/admin/package.json +++ b/admin/package.json @@ -12,6 +12,8 @@ "dependencies": { "@element-plus/icons-vue": "^2.0.6", "@highlightjs/vue-plugin": "^2.1.0", + "@vue/shared": "^3.3.8", + "@vueuse/core": "^10.5.0", "@wangeditor/editor": "^5.1.12", "@wangeditor/editor-for-vue": "^5.1.12", "axios": "^0.27.2", @@ -19,6 +21,7 @@ "echarts": "^5.3.3", "element-plus": "^2.2.9", "highlight.js": "^11.6.0", + "lodash": "^4.17.21", "nprogress": "^0.2.0", "pinia": "^2.0.14", "vue": "^3.2.37", diff --git a/admin/pnpm-lock.yaml b/admin/pnpm-lock.yaml new file mode 100644 index 0000000..3a4a6c0 --- /dev/null +++ b/admin/pnpm-lock.yaml @@ -0,0 +1,4914 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + '@element-plus/icons-vue': + specifier: ^2.0.6 + version: 2.1.0(vue@3.3.8) + '@highlightjs/vue-plugin': + specifier: ^2.1.0 + version: 2.1.0(highlight.js@11.9.0)(vue@3.3.8) + '@vue/shared': + specifier: ^3.3.8 + version: 3.3.8 + '@vueuse/core': + specifier: ^10.5.0 + version: 10.5.0(vue@3.3.8) + '@wangeditor/editor': + specifier: ^5.1.12 + version: 5.1.23 + '@wangeditor/editor-for-vue': + specifier: ^5.1.12 + version: 5.1.12(@wangeditor/editor@5.1.23)(vue@3.3.8) + axios: + specifier: ^0.27.2 + version: 0.27.2 + css-color-function: + specifier: ^1.3.3 + version: 1.3.3 + echarts: + specifier: ^5.3.3 + version: 5.4.3 + element-plus: + specifier: ^2.2.9 + version: 2.4.2(vue@3.3.8) + highlight.js: + specifier: ^11.6.0 + version: 11.9.0 + lodash: + specifier: ^4.17.21 + version: 4.17.21 + nprogress: + specifier: ^0.2.0 + version: 0.2.0 + pinia: + specifier: ^2.0.14 + version: 2.1.7(typescript@4.7.4)(vue@3.3.8) + vue: + specifier: ^3.2.37 + version: 3.3.8(typescript@4.7.4) + vue-clipboard3: + specifier: ^2.0.0 + version: 2.0.0 + vue-echarts: + specifier: ^6.2.3 + version: 6.6.1(echarts@5.4.3)(vue@3.3.8) + vue-router: + specifier: ^4.0.16 + version: 4.2.5(vue@3.3.8) + vue3-video-play: + specifier: ^1.3.1-beta.6 + version: 1.3.1-beta.6(typescript@4.7.4) + vuedraggable: + specifier: ^4.1.0 + version: 4.1.0(vue@3.3.8) + +devDependencies: + '@rushstack/eslint-patch': + specifier: ^1.1.0 + version: 1.5.1 + '@tailwindcss/line-clamp': + specifier: ^0.4.2 + version: 0.4.4(tailwindcss@3.3.5) + '@types/lodash-es': + specifier: ^4.17.6 + version: 4.17.10 + '@types/node': + specifier: ^16.11.41 + version: 16.18.60 + '@types/nprogress': + specifier: ^0.2.0 + version: 0.2.2 + '@vitejs/plugin-vue': + specifier: ^3.0.0 + version: 3.2.0(vite@3.2.7)(vue@3.3.8) + '@vitejs/plugin-vue-jsx': + specifier: ^2.0.0 + version: 2.1.1(vite@3.2.7)(vue@3.3.8) + '@vue/eslint-config-prettier': + specifier: ^7.0.0 + version: 7.1.0(eslint@8.53.0)(prettier@2.8.8) + '@vue/eslint-config-typescript': + specifier: ^11.0.0 + version: 11.0.3(eslint-plugin-vue@9.18.1)(eslint@8.53.0)(typescript@4.7.4) + '@vue/tsconfig': + specifier: ^0.1.3 + version: 0.1.3(@types/node@16.18.60) + autoprefixer: + specifier: ^10.4.7 + version: 10.4.16(postcss@8.4.31) + consola: + specifier: ^2.15.3 + version: 2.15.3 + eslint: + specifier: ^8.5.0 + version: 8.53.0 + eslint-plugin-vue: + specifier: ^9.0.0 + version: 9.18.1(eslint@8.53.0) + execa: + specifier: ^6.1.0 + version: 6.1.0 + fs-extra: + specifier: ^10.1.0 + version: 10.1.0 + postcss: + specifier: ^8.4.14 + version: 8.4.31 + prettier: + specifier: ^2.5.1 + version: 2.8.8 + sass: + specifier: ^1.53.0 + version: 1.69.5 + tailwindcss: + specifier: ^3.0.24 + version: 3.3.5 + typescript: + specifier: ~4.7.4 + version: 4.7.4 + unplugin-auto-import: + specifier: ^0.9.2 + version: 0.9.5(@vueuse/core@10.5.0)(vite@3.2.7) + unplugin-vue-components: + specifier: ^0.19.9 + version: 0.19.9(vite@3.2.7)(vue@3.3.8) + vite: + specifier: ^3.0.0 + version: 3.2.7(@types/node@16.18.60)(sass@1.69.5) + vite-plugin-style-import: + specifier: ^2.0.0 + version: 2.0.0(vite@3.2.7) + vite-plugin-svg-icons: + specifier: ^2.0.1 + version: 2.0.1(vite@3.2.7) + vite-plugin-vue-setup-extend: + specifier: ^0.4.0 + version: 0.4.0(vite@3.2.7) + vue-tsc: + specifier: ^0.38.1 + version: 0.38.9(typescript@4.7.4) + +packages: + + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@alloc/quick-lru@5.2.0: + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + dev: true + + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.20 + dev: true + + /@antfu/utils@0.5.2: + resolution: {integrity: sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==} + dev: true + + /@babel/code-frame@7.22.13: + resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.22.20 + chalk: 2.4.2 + dev: true + + /@babel/compat-data@7.23.2: + resolution: {integrity: sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core@7.23.2: + resolution: {integrity: sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.23.0 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2) + '@babel/helpers': 7.23.2 + '@babel/parser': 7.23.0 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.2 + '@babel/types': 7.23.0 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/generator@7.23.0: + resolution: {integrity: sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.0 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.20 + jsesc: 2.5.2 + dev: true + + /@babel/helper-annotate-as-pure@7.22.5: + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.0 + dev: true + + /@babel/helper-compilation-targets@7.22.15: + resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.23.2 + '@babel/helper-validator-option': 7.22.15 + browserslist: 4.22.1 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true + + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.2): + resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.2 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.2) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + dev: true + + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/types': 7.23.0 + dev: true + + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.0 + dev: true + + /@babel/helper-member-expression-to-functions@7.23.0: + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.0 + dev: true + + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.0 + dev: true + + /@babel/helper-module-transforms@7.23.0(@babel/core@7.23.2): + resolution: {integrity: sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.2 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + + /@babel/helper-optimise-call-expression@7.22.5: + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.0 + dev: true + + /@babel/helper-plugin-utils@7.22.5: + resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.2): + resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.2 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + dev: true + + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.0 + dev: true + + /@babel/helper-skip-transparent-expression-wrappers@7.22.5: + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.0 + dev: true + + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.0 + dev: true + + /@babel/helper-string-parser@7.22.5: + resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-option@7.22.15: + resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helpers@7.23.2: + resolution: {integrity: sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.2 + '@babel/types': 7.23.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/highlight@7.22.20: + resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/parser@7.23.0: + resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.0 + + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.23.2): + resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.2 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.23.2): + resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.2 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-typescript@7.22.15(@babel/core@7.23.2): + resolution: {integrity: sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.2 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.23.2) + dev: true + + /@babel/runtime@7.23.2: + resolution: {integrity: sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.0 + dev: false + + /@babel/template@7.22.15: + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.13 + '@babel/parser': 7.23.0 + '@babel/types': 7.23.0 + dev: true + + /@babel/traverse@7.23.2: + resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.23.0 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.0 + '@babel/types': 7.23.0 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types@7.23.0: + resolution: {integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + + /@ctrl/tinycolor@3.6.1: + resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==} + engines: {node: '>=10'} + dev: false + + /@element-plus/icons-vue@2.1.0(vue@3.3.8): + resolution: {integrity: sha512-PSBn3elNoanENc1vnCfh+3WA9fimRC7n+fWkf3rE5jvv+aBohNHABC/KAR5KWPecxWxDTVT1ERpRbOMRcOV/vA==} + peerDependencies: + vue: ^3.2.0 + dependencies: + vue: 3.3.8(typescript@4.7.4) + dev: false + + /@esbuild/android-arm@0.15.18: + resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.15.18: + resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.53.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.53.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.3: + resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.23.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.53.0: + resolution: {integrity: sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@floating-ui/core@1.5.0: + resolution: {integrity: sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==} + dependencies: + '@floating-ui/utils': 0.1.6 + dev: false + + /@floating-ui/dom@1.5.3: + resolution: {integrity: sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==} + dependencies: + '@floating-ui/core': 1.5.0 + '@floating-ui/utils': 0.1.6 + dev: false + + /@floating-ui/utils@0.1.6: + resolution: {integrity: sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==} + dev: false + + /@highlightjs/vue-plugin@2.1.0(highlight.js@11.9.0)(vue@3.3.8): + resolution: {integrity: sha512-E+bmk4ncca+hBEYRV2a+1aIzIV0VSY/e5ArjpuSN9IO7wBJrzUE2u4ESCwrbQD7sAy+jWQjkV5qCCWgc+pu7CQ==} + peerDependencies: + highlight.js: ^11.0.1 + vue: ^3 + dependencies: + highlight.js: 11.9.0 + vue: 3.3.8(typescript@4.7.4) + dev: false + + /@humanwhocodes/config-array@0.11.13: + resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@2.0.1: + resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} + dev: true + + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.20 + dev: true + + /@jridgewell/resolve-uri@3.1.1: + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@jridgewell/trace-mapping@0.3.20: + resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + dev: true + + /@rollup/pluginutils@4.2.1: + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} + dependencies: + estree-walker: 2.0.2 + picomatch: 2.3.1 + dev: true + + /@rushstack/eslint-patch@1.5.1: + resolution: {integrity: sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==} + dev: true + + /@sxzz/popperjs-es@2.11.7: + resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==} + dev: false + + /@tailwindcss/line-clamp@0.4.4(tailwindcss@3.3.5): + resolution: {integrity: sha512-5U6SY5z8N42VtrCrKlsTAA35gy2VSyYtHWCsg1H87NU1SXnEfekTVlrga9fzUDrrHcGi2Lb5KenUWb4lRQT5/g==} + peerDependencies: + tailwindcss: '>=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1' + dependencies: + tailwindcss: 3.3.5 + dev: true + + /@transloadit/prettier-bytes@0.0.7: + resolution: {integrity: sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA==} + dev: false + + /@trysound/sax@0.2.0: + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + dev: true + + /@types/event-emitter@0.3.5: + resolution: {integrity: sha512-zx2/Gg0Eg7gwEiOIIh5w9TrhKKTeQh7CPCOPNc0el4pLSwzebA8SmnHwZs2dWlLONvyulykSwGSQxQHLhjGLvQ==} + dev: false + + /@types/json-schema@7.0.14: + resolution: {integrity: sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==} + dev: true + + /@types/lodash-es@4.17.10: + resolution: {integrity: sha512-YJP+w/2khSBwbUSFdGsSqmDvmnN3cCKoPOL7Zjle6s30ZtemkkqhjVfFqGwPN7ASil5VyjE2GtyU/yqYY6mC0A==} + dependencies: + '@types/lodash': 4.14.200 + + /@types/lodash@4.14.200: + resolution: {integrity: sha512-YI/M/4HRImtNf3pJgbF+W6FrXovqj+T+/HpENLTooK9PnkacBsDpeP3IpHab40CClUfhNmdM2WTNP2sa2dni5Q==} + + /@types/node@16.18.60: + resolution: {integrity: sha512-ZUGPWx5vKfN+G2/yN7pcSNLkIkXEvlwNaJEd4e0ppX7W2S8XAkdc/37hM4OUNJB9sa0p12AOvGvxL4JCPiz9DA==} + dev: true + + /@types/nprogress@0.2.2: + resolution: {integrity: sha512-2wLrSJXLztGmr7wXwM0hA/wuIOY9DznVdd+ZFofHOiXcj9JnVt+2ZeLRJ7v5ZVlmheSkUOSg3Q3O4Ce7yji79A==} + dev: true + + /@types/semver@7.5.4: + resolution: {integrity: sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==} + dev: true + + /@types/svgo@2.6.4: + resolution: {integrity: sha512-l4cmyPEckf8moNYHdJ+4wkHvFxjyW6ulm9l4YGaOxeyBWPhBOT0gvni1InpFPdzx1dKf/2s62qGITwxNWnPQng==} + dependencies: + '@types/node': 16.18.60 + dev: true + + /@types/web-bluetooth@0.0.16: + resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} + dev: false + + /@types/web-bluetooth@0.0.18: + resolution: {integrity: sha512-v/ZHEj9xh82usl8LMR3GarzFY1IrbXJw5L4QfQhokjRV91q+SelFqxQWSep1ucXEZ22+dSTwLFkXeur25sPIbw==} + + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.53.0)(typescript@4.7.4): + resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 5.62.0(eslint@8.53.0)(typescript@4.7.4) + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/type-utils': 5.62.0(eslint@8.53.0)(typescript@4.7.4) + '@typescript-eslint/utils': 5.62.0(eslint@8.53.0)(typescript@4.7.4) + debug: 4.3.4 + eslint: 8.53.0 + graphemer: 1.4.0 + ignore: 5.2.4 + natural-compare-lite: 1.4.0 + semver: 7.5.4 + tsutils: 3.21.0(typescript@4.7.4) + typescript: 4.7.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@5.62.0(eslint@8.53.0)(typescript@4.7.4): + resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.7.4) + debug: 4.3.4 + eslint: 8.53.0 + typescript: 4.7.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@5.62.0: + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + dev: true + + /@typescript-eslint/type-utils@5.62.0(eslint@8.53.0)(typescript@4.7.4): + resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.7.4) + '@typescript-eslint/utils': 5.62.0(eslint@8.53.0)(typescript@4.7.4) + debug: 4.3.4 + eslint: 8.53.0 + tsutils: 3.21.0(typescript@4.7.4) + typescript: 4.7.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@5.62.0: + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@typescript-eslint/typescript-estree@5.62.0(typescript@4.7.4): + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + tsutils: 3.21.0(typescript@4.7.4) + typescript: 4.7.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@5.62.0(eslint@8.53.0)(typescript@4.7.4): + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) + '@types/json-schema': 7.0.14 + '@types/semver': 7.5.4 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.7.4) + eslint: 8.53.0 + eslint-scope: 5.1.1 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@5.62.0: + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + + /@uppy/companion-client@2.2.2: + resolution: {integrity: sha512-5mTp2iq97/mYSisMaBtFRry6PTgZA6SIL7LePteOV5x0/DxKfrZW3DEiQERJmYpHzy7k8johpm2gHnEKto56Og==} + dependencies: + '@uppy/utils': 4.1.3 + namespace-emitter: 2.0.1 + dev: false + + /@uppy/core@2.3.4: + resolution: {integrity: sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==} + dependencies: + '@transloadit/prettier-bytes': 0.0.7 + '@uppy/store-default': 2.1.1 + '@uppy/utils': 4.1.3 + lodash.throttle: 4.1.1 + mime-match: 1.0.2 + namespace-emitter: 2.0.1 + nanoid: 3.3.7 + preact: 10.18.2 + dev: false + + /@uppy/store-default@2.1.1: + resolution: {integrity: sha512-xnpTxvot2SeAwGwbvmJ899ASk5tYXhmZzD/aCFsXePh/v8rNvR2pKlcQUH7cF/y4baUGq3FHO/daKCok/mpKqQ==} + dev: false + + /@uppy/utils@4.1.3: + resolution: {integrity: sha512-nTuMvwWYobnJcytDO3t+D6IkVq/Qs4Xv3vyoEZ+Iaf8gegZP+rEyoaFT2CK5XLRMienPyqRqNbIfRuFaOWSIFw==} + dependencies: + lodash.throttle: 4.1.1 + dev: false + + /@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4): + resolution: {integrity: sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==} + peerDependencies: + '@uppy/core': ^2.3.3 + dependencies: + '@uppy/companion-client': 2.2.2 + '@uppy/core': 2.3.4 + '@uppy/utils': 4.1.3 + nanoid: 3.3.7 + dev: false + + /@vitejs/plugin-vue-jsx@2.1.1(vite@3.2.7)(vue@3.3.8): + resolution: {integrity: sha512-JgDhxstQlwnHBvZ1BSnU5mbmyQ14/t5JhREc6YH5kWyu2QdAAOsLF6xgHoIWarj8tddaiwFrNzLbWJPudpXKYA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^3.0.0 + vue: ^3.0.0 + dependencies: + '@babel/core': 7.23.2 + '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.23.2) + '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.2) + vite: 3.2.7(@types/node@16.18.60)(sass@1.69.5) + vue: 3.3.8(typescript@4.7.4) + transitivePeerDependencies: + - supports-color + dev: true + + /@vitejs/plugin-vue@3.2.0(vite@3.2.7)(vue@3.3.8): + resolution: {integrity: sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^3.0.0 + vue: ^3.2.25 + dependencies: + vite: 3.2.7(@types/node@16.18.60)(sass@1.69.5) + vue: 3.3.8(typescript@4.7.4) + dev: true + + /@volar/code-gen@0.38.9: + resolution: {integrity: sha512-n6LClucfA+37rQeskvh9vDoZV1VvCVNy++MAPKj2dT4FT+Fbmty/SDQqnsEBtdEe6E3OQctFvA/IcKsx3Mns0A==} + dependencies: + '@volar/source-map': 0.38.9 + dev: true + + /@volar/source-map@0.38.9: + resolution: {integrity: sha512-ba0UFoHDYry+vwKdgkWJ6xlQT+8TFtZg1zj9tSjj4PykW1JZDuM0xplMotLun4h3YOoYfY9K1huY5gvxmrNLIw==} + dev: true + + /@volar/vue-code-gen@0.38.9: + resolution: {integrity: sha512-tzj7AoarFBKl7e41MR006ncrEmNPHALuk8aG4WdDIaG387X5//5KhWC5Ff3ZfB2InGSeNT+CVUd74M0gS20rjA==} + dependencies: + '@volar/code-gen': 0.38.9 + '@volar/source-map': 0.38.9 + '@vue/compiler-core': 3.3.8 + '@vue/compiler-dom': 3.3.8 + '@vue/shared': 3.3.8 + dev: true + + /@volar/vue-typescript@0.38.9: + resolution: {integrity: sha512-iJMQGU91ADi98u8V1vXd2UBmELDAaeSP0ZJaFjwosClQdKlJQYc6MlxxKfXBZisHqfbhdtrGRyaryulnYtliZw==} + deprecated: 'WARNING: This project has been renamed to @vue/typescript. Install using @vue/typescript instead.' + dependencies: + '@volar/code-gen': 0.38.9 + '@volar/source-map': 0.38.9 + '@volar/vue-code-gen': 0.38.9 + '@vue/compiler-sfc': 3.3.8 + '@vue/reactivity': 3.3.8 + dev: true + + /@vue/babel-helper-vue-transform-on@1.1.5: + resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} + dev: true + + /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.23.2): + resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.2 + '@babel/helper-module-imports': 7.22.15 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.2) + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.2 + '@babel/types': 7.23.0 + '@vue/babel-helper-vue-transform-on': 1.1.5 + camelcase: 6.3.0 + html-tags: 3.3.1 + svg-tags: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@vue/compiler-core@3.3.8: + resolution: {integrity: sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==} + dependencies: + '@babel/parser': 7.23.0 + '@vue/shared': 3.3.8 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + + /@vue/compiler-dom@3.3.8: + resolution: {integrity: sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==} + dependencies: + '@vue/compiler-core': 3.3.8 + '@vue/shared': 3.3.8 + + /@vue/compiler-sfc@3.3.8: + resolution: {integrity: sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==} + dependencies: + '@babel/parser': 7.23.0 + '@vue/compiler-core': 3.3.8 + '@vue/compiler-dom': 3.3.8 + '@vue/compiler-ssr': 3.3.8 + '@vue/reactivity-transform': 3.3.8 + '@vue/shared': 3.3.8 + estree-walker: 2.0.2 + magic-string: 0.30.5 + postcss: 8.4.31 + source-map-js: 1.0.2 + + /@vue/compiler-ssr@3.3.8: + resolution: {integrity: sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==} + dependencies: + '@vue/compiler-dom': 3.3.8 + '@vue/shared': 3.3.8 + + /@vue/devtools-api@6.5.1: + resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} + dev: false + + /@vue/eslint-config-prettier@7.1.0(eslint@8.53.0)(prettier@2.8.8): + resolution: {integrity: sha512-Pv/lVr0bAzSIHLd9iz0KnvAr4GKyCEl+h52bc4e5yWuDVtLgFwycF7nrbWTAQAS+FU6q1geVd07lc6EWfJiWKQ==} + peerDependencies: + eslint: '>= 7.28.0' + prettier: '>= 2.0.0' + dependencies: + eslint: 8.53.0 + eslint-config-prettier: 8.10.0(eslint@8.53.0) + eslint-plugin-prettier: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.53.0)(prettier@2.8.8) + prettier: 2.8.8 + dev: true + + /@vue/eslint-config-typescript@11.0.3(eslint-plugin-vue@9.18.1)(eslint@8.53.0)(typescript@4.7.4): + resolution: {integrity: sha512-dkt6W0PX6H/4Xuxg/BlFj5xHvksjpSlVjtkQCpaYJBIEuKj2hOVU7r+TIe+ysCwRYFz/lGqvklntRkCAibsbPw==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + eslint-plugin-vue: ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.53.0)(typescript@4.7.4) + '@typescript-eslint/parser': 5.62.0(eslint@8.53.0)(typescript@4.7.4) + eslint: 8.53.0 + eslint-plugin-vue: 9.18.1(eslint@8.53.0) + typescript: 4.7.4 + vue-eslint-parser: 9.3.2(eslint@8.53.0) + transitivePeerDependencies: + - supports-color + dev: true + + /@vue/reactivity-transform@3.3.8: + resolution: {integrity: sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==} + dependencies: + '@babel/parser': 7.23.0 + '@vue/compiler-core': 3.3.8 + '@vue/shared': 3.3.8 + estree-walker: 2.0.2 + magic-string: 0.30.5 + + /@vue/reactivity@3.3.8: + resolution: {integrity: sha512-ctLWitmFBu6mtddPyOKpHg8+5ahouoTCRtmAHZAXmolDtuZXfjL2T3OJ6DL6ezBPQB1SmMnpzjiWjCiMYmpIuw==} + dependencies: + '@vue/shared': 3.3.8 + + /@vue/runtime-core@3.3.8: + resolution: {integrity: sha512-qurzOlb6q26KWQ/8IShHkMDOuJkQnQcTIp1sdP4I9MbCf9FJeGVRXJFr2mF+6bXh/3Zjr9TDgURXrsCr9bfjUw==} + dependencies: + '@vue/reactivity': 3.3.8 + '@vue/shared': 3.3.8 + + /@vue/runtime-dom@3.3.8: + resolution: {integrity: sha512-Noy5yM5UIf9UeFoowBVgghyGGPIDPy1Qlqt0yVsUdAVbqI8eeMSsTqBtauaEoT2UFXUk5S64aWVNJN4MJ2vRdA==} + dependencies: + '@vue/runtime-core': 3.3.8 + '@vue/shared': 3.3.8 + csstype: 3.1.2 + + /@vue/server-renderer@3.3.8(vue@3.3.8): + resolution: {integrity: sha512-zVCUw7RFskvPuNlPn/8xISbrf0zTWsTSdYTsUTN1ERGGZGVnRxM2QZ3x1OR32+vwkkCm0IW6HmJ49IsPm7ilLg==} + peerDependencies: + vue: 3.3.8 + dependencies: + '@vue/compiler-ssr': 3.3.8 + '@vue/shared': 3.3.8 + vue: 3.3.8(typescript@4.7.4) + + /@vue/shared@3.3.8: + resolution: {integrity: sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==} + + /@vue/tsconfig@0.1.3(@types/node@16.18.60): + resolution: {integrity: sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + dependencies: + '@types/node': 16.18.60 + dev: true + + /@vueuse/core@10.5.0(vue@3.3.8): + resolution: {integrity: sha512-z/tI2eSvxwLRjOhDm0h/SXAjNm8N5ld6/SC/JQs6o6kpJ6Ya50LnEL8g5hoYu005i28L0zqB5L5yAl8Jl26K3A==} + dependencies: + '@types/web-bluetooth': 0.0.18 + '@vueuse/metadata': 10.5.0 + '@vueuse/shared': 10.5.0(vue@3.3.8) + vue-demi: 0.14.6(vue@3.3.8) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + /@vueuse/core@9.13.0(vue@3.3.8): + resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==} + dependencies: + '@types/web-bluetooth': 0.0.16 + '@vueuse/metadata': 9.13.0 + '@vueuse/shared': 9.13.0(vue@3.3.8) + vue-demi: 0.14.6(vue@3.3.8) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + + /@vueuse/metadata@10.5.0: + resolution: {integrity: sha512-fEbElR+MaIYyCkeM0SzWkdoMtOpIwO72x8WsZHRE7IggiOlILttqttM69AS13nrDxosnDBYdyy3C5mR1LCxHsw==} + + /@vueuse/metadata@9.13.0: + resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==} + dev: false + + /@vueuse/shared@10.5.0(vue@3.3.8): + resolution: {integrity: sha512-18iyxbbHYLst9MqU1X1QNdMHIjks6wC7XTVf0KNOv5es/Ms6gjVFCAAWTVP2JStuGqydg3DT+ExpFORUEi9yhg==} + dependencies: + vue-demi: 0.14.6(vue@3.3.8) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + /@vueuse/shared@9.13.0(vue@3.3.8): + resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==} + dependencies: + vue-demi: 0.14.6(vue@3.3.8) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + + /@wangeditor/basic-modules@1.1.7(@wangeditor/core@1.1.19)(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.5.1): + resolution: {integrity: sha512-cY9CPkLJaqF05STqfpZKWG4LpxTMeGSIIF1fHvfm/mz+JXatCagjdkbxdikOuKYlxDdeqvOeBmsUBItufDLXZg==} + peerDependencies: + '@wangeditor/core': 1.x + dom7: ^3.0.0 + lodash.throttle: ^4.1.1 + nanoid: ^3.2.0 + slate: ^0.72.0 + snabbdom: ^3.1.0 + dependencies: + '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.5.1) + dom7: 3.0.0 + is-url: 1.2.4 + lodash.throttle: 4.1.1 + nanoid: 3.3.7 + slate: 0.72.8 + snabbdom: 3.5.1 + dev: false + + /@wangeditor/code-highlight@1.0.3(@wangeditor/core@1.1.19)(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.5.1): + resolution: {integrity: sha512-iazHwO14XpCuIWJNTQTikqUhGKyqj+dUNWJ9288Oym9M2xMVHvnsOmDU2sgUDWVy+pOLojReMPgXCsvvNlOOhw==} + peerDependencies: + '@wangeditor/core': 1.x + dom7: ^3.0.0 + slate: ^0.72.0 + snabbdom: ^3.1.0 + dependencies: + '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.5.1) + dom7: 3.0.0 + prismjs: 1.29.0 + slate: 0.72.8 + snabbdom: 3.5.1 + dev: false + + /@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.5.1): + resolution: {integrity: sha512-KevkB47+7GhVszyYF2pKGKtCSj/YzmClsD03C3zTt+9SR2XWT5T0e3yQqg8baZpcMvkjs1D8Dv4fk8ok/UaS2Q==} + peerDependencies: + '@uppy/core': ^2.1.1 + '@uppy/xhr-upload': ^2.0.3 + dom7: ^3.0.0 + is-hotkey: ^0.2.0 + lodash.camelcase: ^4.3.0 + lodash.clonedeep: ^4.5.0 + lodash.debounce: ^4.0.8 + lodash.foreach: ^4.5.0 + lodash.isequal: ^4.5.0 + lodash.throttle: ^4.1.1 + lodash.toarray: ^4.4.0 + nanoid: ^3.2.0 + slate: ^0.72.0 + snabbdom: ^3.1.0 + dependencies: + '@types/event-emitter': 0.3.5 + '@uppy/core': 2.3.4 + '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4) + dom7: 3.0.0 + event-emitter: 0.3.5 + html-void-elements: 2.0.1 + i18next: 20.6.1 + is-hotkey: 0.2.0 + lodash.camelcase: 4.3.0 + lodash.clonedeep: 4.5.0 + lodash.debounce: 4.0.8 + lodash.foreach: 4.5.0 + lodash.isequal: 4.5.0 + lodash.throttle: 4.1.1 + lodash.toarray: 4.4.0 + nanoid: 3.3.7 + scroll-into-view-if-needed: 2.2.31 + slate: 0.72.8 + slate-history: 0.66.0(slate@0.72.8) + snabbdom: 3.5.1 + dev: false + + /@wangeditor/editor-for-vue@5.1.12(@wangeditor/editor@5.1.23)(vue@3.3.8): + resolution: {integrity: sha512-0Ds3D8I+xnpNWezAeO7HmPRgTfUxHLMd9JKcIw+QzvSmhC5xUHbpCcLU+KLmeBKTR/zffnS5GQo6qi3GhTMJWQ==} + peerDependencies: + '@wangeditor/editor': '>=5.1.0' + vue: ^3.0.5 + dependencies: + '@wangeditor/editor': 5.1.23 + vue: 3.3.8(typescript@4.7.4) + dev: false + + /@wangeditor/editor@5.1.23: + resolution: {integrity: sha512-0RxfeVTuK1tktUaPROnCoFfaHVJpRAIE2zdS0mpP+vq1axVQpLjM8+fCvKzqYIkH0Pg+C+44hJpe3VVroSkEuQ==} + dependencies: + '@uppy/core': 2.3.4 + '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4) + '@wangeditor/basic-modules': 1.1.7(@wangeditor/core@1.1.19)(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.5.1) + '@wangeditor/code-highlight': 1.0.3(@wangeditor/core@1.1.19)(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.5.1) + '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.5.1) + '@wangeditor/list-module': 1.0.5(@wangeditor/core@1.1.19)(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.5.1) + '@wangeditor/table-module': 1.1.4(@wangeditor/core@1.1.19)(dom7@3.0.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.5.1) + '@wangeditor/upload-image-module': 1.0.2(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(@wangeditor/basic-modules@1.1.7)(@wangeditor/core@1.1.19)(dom7@3.0.0)(lodash.foreach@4.5.0)(slate@0.72.8)(snabbdom@3.5.1) + '@wangeditor/video-module': 1.1.4(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(@wangeditor/core@1.1.19)(dom7@3.0.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.5.1) + dom7: 3.0.0 + is-hotkey: 0.2.0 + lodash.camelcase: 4.3.0 + lodash.clonedeep: 4.5.0 + lodash.debounce: 4.0.8 + lodash.foreach: 4.5.0 + lodash.isequal: 4.5.0 + lodash.throttle: 4.1.1 + lodash.toarray: 4.4.0 + nanoid: 3.3.7 + slate: 0.72.8 + snabbdom: 3.5.1 + dev: false + + /@wangeditor/list-module@1.0.5(@wangeditor/core@1.1.19)(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.5.1): + resolution: {integrity: sha512-uDuYTP6DVhcYf7mF1pTlmNn5jOb4QtcVhYwSSAkyg09zqxI1qBqsfUnveeDeDqIuptSJhkh81cyxi+MF8sEPOQ==} + peerDependencies: + '@wangeditor/core': 1.x + dom7: ^3.0.0 + slate: ^0.72.0 + snabbdom: ^3.1.0 + dependencies: + '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.5.1) + dom7: 3.0.0 + slate: 0.72.8 + snabbdom: 3.5.1 + dev: false + + /@wangeditor/table-module@1.1.4(@wangeditor/core@1.1.19)(dom7@3.0.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.5.1): + resolution: {integrity: sha512-5saanU9xuEocxaemGdNi9t8MCDSucnykEC6jtuiT72kt+/Hhh4nERYx1J20OPsTCCdVr7hIyQenFD1iSRkIQ6w==} + peerDependencies: + '@wangeditor/core': 1.x + dom7: ^3.0.0 + lodash.isequal: ^4.5.0 + lodash.throttle: ^4.1.1 + nanoid: ^3.2.0 + slate: ^0.72.0 + snabbdom: ^3.1.0 + dependencies: + '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.5.1) + dom7: 3.0.0 + lodash.isequal: 4.5.0 + lodash.throttle: 4.1.1 + nanoid: 3.3.7 + slate: 0.72.8 + snabbdom: 3.5.1 + dev: false + + /@wangeditor/upload-image-module@1.0.2(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(@wangeditor/basic-modules@1.1.7)(@wangeditor/core@1.1.19)(dom7@3.0.0)(lodash.foreach@4.5.0)(slate@0.72.8)(snabbdom@3.5.1): + resolution: {integrity: sha512-z81lk/v71OwPDYeQDxj6cVr81aDP90aFuywb8nPD6eQeECtOymrqRODjpO6VGvCVxVck8nUxBHtbxKtjgcwyiA==} + peerDependencies: + '@uppy/core': ^2.0.3 + '@uppy/xhr-upload': ^2.0.3 + '@wangeditor/basic-modules': 1.x + '@wangeditor/core': 1.x + dom7: ^3.0.0 + lodash.foreach: ^4.5.0 + slate: ^0.72.0 + snabbdom: ^3.1.0 + dependencies: + '@uppy/core': 2.3.4 + '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4) + '@wangeditor/basic-modules': 1.1.7(@wangeditor/core@1.1.19)(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.5.1) + '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.5.1) + dom7: 3.0.0 + lodash.foreach: 4.5.0 + slate: 0.72.8 + snabbdom: 3.5.1 + dev: false + + /@wangeditor/video-module@1.1.4(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(@wangeditor/core@1.1.19)(dom7@3.0.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.5.1): + resolution: {integrity: sha512-ZdodDPqKQrgx3IwWu4ZiQmXI8EXZ3hm2/fM6E3t5dB8tCaIGWQZhmqd6P5knfkRAd3z2+YRSRbxOGfoRSp/rLg==} + peerDependencies: + '@uppy/core': ^2.1.4 + '@uppy/xhr-upload': ^2.0.7 + '@wangeditor/core': 1.x + dom7: ^3.0.0 + nanoid: ^3.2.0 + slate: ^0.72.0 + snabbdom: ^3.1.0 + dependencies: + '@uppy/core': 2.3.4 + '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4) + '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.5.1) + dom7: 3.0.0 + nanoid: 3.3.7 + slate: 0.72.8 + snabbdom: 3.5.1 + dev: false + + /acorn-jsx@5.3.2(acorn@8.11.2): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.2 + dev: true + + /acorn@8.11.2: + resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles@2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + dev: true + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: true + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /arr-diff@4.0.0: + resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} + engines: {node: '>=0.10.0'} + dev: true + + /arr-flatten@1.1.0: + resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} + engines: {node: '>=0.10.0'} + dev: true + + /arr-union@3.1.0: + resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} + engines: {node: '>=0.10.0'} + dev: true + + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /array-unique@0.3.2: + resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} + engines: {node: '>=0.10.0'} + dev: true + + /assign-symbols@1.0.0: + resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} + engines: {node: '>=0.10.0'} + dev: true + + /async-validator@4.2.5: + resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} + dev: false + + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: false + + /atob@2.1.2: + resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} + engines: {node: '>= 4.5.0'} + hasBin: true + dev: true + + /autoprefixer@10.4.16(postcss@8.4.31): + resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.22.1 + caniuse-lite: 1.0.30001561 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.31 + postcss-value-parser: 4.2.0 + dev: true + + /axios@0.27.2: + resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} + dependencies: + follow-redirects: 1.15.3 + form-data: 4.0.0 + transitivePeerDependencies: + - debug + dev: false + + /balanced-match@0.1.0: + resolution: {integrity: sha512-4xb6XqAEo3Z+5pEDJz33R8BZXI8FRJU+cDNLdKgDpmnz+pKKRVYLpdv+VvUAC7yUhBMj4izmyt19eCGv1QGV7A==} + dev: false + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /base@0.11.2: + resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} + engines: {node: '>=0.10.0'} + dependencies: + cache-base: 1.0.1 + class-utils: 0.3.6 + component-emitter: 1.3.0 + define-property: 1.0.0 + isobject: 3.0.1 + mixin-deep: 1.3.2 + pascalcase: 0.1.1 + dev: true + + /big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + dev: true + + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + dev: true + + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: true + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /braces@2.3.2: + resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} + engines: {node: '>=0.10.0'} + dependencies: + arr-flatten: 1.1.0 + array-unique: 0.3.2 + extend-shallow: 2.0.1 + fill-range: 4.0.0 + isobject: 3.0.1 + repeat-element: 1.1.4 + snapdragon: 0.8.2 + snapdragon-node: 2.1.1 + split-string: 3.1.0 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /browserslist@4.22.1: + resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001561 + electron-to-chromium: 1.4.576 + node-releases: 2.0.13 + update-browserslist-db: 1.0.13(browserslist@4.22.1) + dev: true + + /cache-base@1.0.1: + resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} + engines: {node: '>=0.10.0'} + dependencies: + collection-visit: 1.0.0 + component-emitter: 1.3.0 + get-value: 2.0.6 + has-value: 1.0.0 + isobject: 3.0.1 + set-value: 2.0.1 + to-object-path: 0.3.0 + union-value: 1.0.1 + unset-value: 1.0.0 + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + dependencies: + pascal-case: 3.1.2 + tslib: 2.6.2 + dev: true + + /camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + dev: true + + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + + /caniuse-lite@1.0.30001561: + resolution: {integrity: sha512-NTt0DNoKe958Q0BE0j0c1V9jbUzhBxHIEJy7asmGrpE0yG63KTV7PLHPnK2E1O9RsQrQ081I3NLuXGS6zht3cw==} + dev: true + + /capital-case@1.0.4: + resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} + dependencies: + no-case: 3.0.4 + tslib: 2.6.2 + upper-case-first: 2.0.2 + dev: true + + /chalk@1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + dev: true + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /change-case@4.1.2: + resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} + dependencies: + camel-case: 4.1.2 + capital-case: 1.0.4 + constant-case: 3.0.4 + dot-case: 3.0.4 + header-case: 2.0.4 + no-case: 3.0.4 + param-case: 3.0.4 + pascal-case: 3.1.2 + path-case: 3.0.4 + sentence-case: 3.0.4 + snake-case: 3.0.4 + tslib: 2.6.2 + dev: true + + /chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /class-utils@0.3.6: + resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} + engines: {node: '>=0.10.0'} + dependencies: + arr-union: 3.1.0 + define-property: 0.2.5 + isobject: 3.0.1 + static-extend: 0.1.2 + dev: true + + /clipboard@2.0.11: + resolution: {integrity: sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==} + dependencies: + good-listener: 1.2.2 + select: 1.1.2 + tiny-emitter: 2.1.0 + dev: false + + /clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + dev: false + + /clone@2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} + dev: true + + /collection-visit@1.0.0: + resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} + engines: {node: '>=0.10.0'} + dependencies: + map-visit: 1.0.0 + object-visit: 1.0.1 + dev: true + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + /color-string@0.3.0: + resolution: {integrity: sha512-sz29j1bmSDfoAxKIEU6zwoIZXN6BrFbAMIhfYCNyiZXBDuU/aiHlN84lp/xDzL2ubyFhLDobHIlU1X70XRrMDA==} + dependencies: + color-name: 1.1.4 + dev: false + + /color@0.11.4: + resolution: {integrity: sha512-Ajpjd8asqZ6EdxQeqGzU5WBhhTfJ/0cA4Wlbre7e5vXfmDSmda7Ov6jeKoru+b0vHcb1CqvuroTHp5zIWzhVMA==} + dependencies: + clone: 1.0.4 + color-convert: 1.9.3 + color-string: 0.3.0 + dev: false + + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: false + + /commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + dev: true + + /commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + dev: true + + /component-emitter@1.3.0: + resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} + dev: true + + /compute-scroll-into-view@1.0.20: + resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==} + dev: false + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /consola@2.15.3: + resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} + dev: true + + /console@0.7.2: + resolution: {integrity: sha512-+JSDwGunA4MTEgAV/4VBKwUHonP8CzJ/6GIuwPi6acKFqFfHUdSGCm89ZxZ5FfGWdZfkdgAroy5bJ5FSeN/t4g==} + dev: true + + /constant-case@3.0.4: + resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} + dependencies: + no-case: 3.0.4 + tslib: 2.6.2 + upper-case: 2.0.2 + dev: true + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + + /copy-descriptor@0.1.1: + resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} + engines: {node: '>=0.10.0'} + dev: true + + /cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + dev: true + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /css-color-function@1.3.3: + resolution: {integrity: sha512-YD/WhiRZIYgadwFJ48X5QmlOQ/w8Me4yQI6/eSUoiE8spIFp+S/rGpsAH48iyq/0ZWkCDWqVQKUlQmUzn7BQ9w==} + dependencies: + balanced-match: 0.1.0 + color: 0.11.4 + debug: 3.2.7 + rgb: 0.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + dev: true + + /css-tree@1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + dev: true + + /css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: true + + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /csso@4.2.0: + resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} + engines: {node: '>=8.0.0'} + dependencies: + css-tree: 1.1.3 + dev: true + + /csstype@3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + + /d@1.0.1: + resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==} + dependencies: + es5-ext: 0.10.62 + type: 1.2.0 + dev: false + + /dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + dev: false + + /debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + dev: true + + /debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: false + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /decode-uri-component@0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /define-property@0.2.5: + resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 0.1.7 + dev: true + + /define-property@1.0.0: + resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 1.0.3 + dev: true + + /define-property@2.0.2: + resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 1.0.3 + isobject: 3.0.1 + dev: true + + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: false + + /delegate@3.2.0: + resolution: {integrity: sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==} + dev: false + + /didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + dev: true + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dom-serializer@0.2.2: + resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==} + dependencies: + domelementtype: 2.3.0 + entities: 2.2.0 + dev: true + + /dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + dev: true + + /dom7@3.0.0: + resolution: {integrity: sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==} + dependencies: + ssr-window: 3.0.0 + dev: false + + /domelementtype@1.3.1: + resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} + dev: true + + /domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: true + + /domhandler@2.4.2: + resolution: {integrity: sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==} + dependencies: + domelementtype: 1.3.1 + dev: true + + /domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /domutils@1.7.0: + resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} + dependencies: + dom-serializer: 0.2.2 + domelementtype: 1.3.1 + dev: true + + /domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + dev: true + + /dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dependencies: + no-case: 3.0.4 + tslib: 2.6.2 + dev: true + + /echarts@5.4.3: + resolution: {integrity: sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==} + dependencies: + tslib: 2.3.0 + zrender: 5.4.4 + dev: false + + /electron-to-chromium@1.4.576: + resolution: {integrity: sha512-yXsZyXJfAqzWk1WKryr0Wl0MN2D47xodPvEEwlVePBnhU5E7raevLQR+E6b9JAD3GfL/7MbAL9ZtWQQPcLx7wA==} + dev: true + + /element-plus@2.4.2(vue@3.3.8): + resolution: {integrity: sha512-E/HwXX7JF1LPvQSjs0fZ8WblIoc0quoXsRXQZiL7QDq7xJdNGSUaXtdk7xiEv7axPmLfEFtxE5du9fFspDrmJw==} + peerDependencies: + vue: ^3.2.0 + dependencies: + '@ctrl/tinycolor': 3.6.1 + '@element-plus/icons-vue': 2.1.0(vue@3.3.8) + '@floating-ui/dom': 1.5.3 + '@popperjs/core': /@sxzz/popperjs-es@2.11.7 + '@types/lodash': 4.14.200 + '@types/lodash-es': 4.17.10 + '@vueuse/core': 9.13.0(vue@3.3.8) + async-validator: 4.2.5 + dayjs: 1.11.10 + escape-html: 1.0.3 + lodash: 4.17.21 + lodash-es: 4.17.21 + lodash-unified: 1.0.3(@types/lodash-es@4.17.10)(lodash-es@4.17.21)(lodash@4.17.21) + memoize-one: 6.0.0 + normalize-wheel-es: 1.2.0 + vue: 3.3.8(typescript@4.7.4) + transitivePeerDependencies: + - '@vue/composition-api' + dev: false + + /emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + dev: true + + /entities@1.1.2: + resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==} + dev: true + + /entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + dev: true + + /es-module-lexer@0.9.3: + resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} + dev: true + + /es5-ext@0.10.62: + resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==} + engines: {node: '>=0.10'} + requiresBuild: true + dependencies: + es6-iterator: 2.0.3 + es6-symbol: 3.1.3 + next-tick: 1.1.0 + dev: false + + /es6-iterator@2.0.3: + resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + dependencies: + d: 1.0.1 + es5-ext: 0.10.62 + es6-symbol: 3.1.3 + dev: false + + /es6-symbol@3.1.3: + resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==} + dependencies: + d: 1.0.1 + ext: 1.7.0 + dev: false + + /esbuild-android-64@0.15.18: + resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-android-arm64@0.15.18: + resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-64@0.15.18: + resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-arm64@0.15.18: + resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-64@0.15.18: + resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-arm64@0.15.18: + resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-32@0.15.18: + resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-64@0.15.18: + resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm64@0.15.18: + resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm@0.15.18: + resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-mips64le@0.15.18: + resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-ppc64le@0.15.18: + resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-riscv64@0.15.18: + resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-s390x@0.15.18: + resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-netbsd-64@0.15.18: + resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-openbsd-64@0.15.18: + resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-sunos-64@0.15.18: + resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-32@0.15.18: + resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-64@0.15.18: + resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-arm64@0.15.18: + resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild@0.15.18: + resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.15.18 + '@esbuild/linux-loong64': 0.15.18 + esbuild-android-64: 0.15.18 + esbuild-android-arm64: 0.15.18 + esbuild-darwin-64: 0.15.18 + esbuild-darwin-arm64: 0.15.18 + esbuild-freebsd-64: 0.15.18 + esbuild-freebsd-arm64: 0.15.18 + esbuild-linux-32: 0.15.18 + esbuild-linux-64: 0.15.18 + esbuild-linux-arm: 0.15.18 + esbuild-linux-arm64: 0.15.18 + esbuild-linux-mips64le: 0.15.18 + esbuild-linux-ppc64le: 0.15.18 + esbuild-linux-riscv64: 0.15.18 + esbuild-linux-s390x: 0.15.18 + esbuild-netbsd-64: 0.15.18 + esbuild-openbsd-64: 0.15.18 + esbuild-sunos-64: 0.15.18 + esbuild-windows-32: 0.15.18 + esbuild-windows-64: 0.15.18 + esbuild-windows-arm64: 0.15.18 + dev: true + + /escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + + /escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + dev: false + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + dev: true + + /eslint-config-prettier@8.10.0(eslint@8.53.0): + resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.53.0 + dev: true + + /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.10.0)(eslint@8.53.0)(prettier@2.8.8): + resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + eslint: '>=7.28.0' + eslint-config-prettier: '*' + prettier: '>=2.0.0' + peerDependenciesMeta: + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.53.0 + eslint-config-prettier: 8.10.0(eslint@8.53.0) + prettier: 2.8.8 + prettier-linter-helpers: 1.0.0 + dev: true + + /eslint-plugin-vue@9.18.1(eslint@8.53.0): + resolution: {integrity: sha512-7hZFlrEgg9NIzuVik2I9xSnJA5RsmOfueYgsUGUokEDLJ1LHtxO0Pl4duje1BriZ/jDWb+44tcIlC3yi0tdlZg==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) + eslint: 8.53.0 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.0.13 + semver: 7.5.4 + vue-eslint-parser: 9.3.2(eslint@8.53.0) + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.53.0: + resolution: {integrity: sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.3 + '@eslint/js': 8.53.0 + '@humanwhocodes/config-array': 0.11.13 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.23.0 + graphemer: 1.4.0 + ignore: 5.2.4 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.2 + acorn-jsx: 5.3.2(acorn@8.11.2) + eslint-visitor-keys: 3.4.3 + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: true + + /event-emitter@0.3.5: + resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} + dependencies: + d: 1.0.1 + es5-ext: 0.10.62 + dev: false + + /execa@6.1.0: + resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 3.0.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.1.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + dev: true + + /expand-brackets@2.1.4: + resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} + engines: {node: '>=0.10.0'} + dependencies: + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + posix-character-classes: 0.1.1 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /ext@1.7.0: + resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} + dependencies: + type: 2.7.2 + dev: false + + /extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + dependencies: + is-extendable: 0.1.1 + dev: true + + /extend-shallow@3.0.2: + resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} + engines: {node: '>=0.10.0'} + dependencies: + assign-symbols: 1.0.0 + is-extendable: 1.0.1 + dev: true + + /extglob@2.0.4: + resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} + engines: {node: '>=0.10.0'} + dependencies: + array-unique: 0.3.2 + define-property: 1.0.0 + expand-brackets: 2.1.4 + extend-shallow: 2.0.1 + fragment-cache: 0.2.1 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + dev: true + + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fastq@1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + dependencies: + reusify: 1.0.4 + dev: true + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.1.1 + dev: true + + /fill-range@4.0.0: + resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 2.0.1 + is-number: 3.0.0 + repeat-string: 1.6.1 + to-regex-range: 2.1.1 + dev: true + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.1.1: + resolution: {integrity: sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==} + engines: {node: '>=12.0.0'} + dependencies: + flatted: 3.2.9 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flatted@3.2.9: + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + dev: true + + /follow-redirects@1.15.3: + resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: false + + /for-in@1.0.2: + resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} + engines: {node: '>=0.10.0'} + dev: true + + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: false + + /fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + dev: true + + /fragment-cache@0.2.1: + resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} + engines: {node: '>=0.10.0'} + dependencies: + map-cache: 0.2.2 + dev: true + + /fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true + + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + + /get-value@2.0.6: + resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} + engines: {node: '>=0.10.0'} + dev: true + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@7.1.6: + resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true + + /globals@13.23.0: + resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /good-listener@1.2.2: + resolution: {integrity: sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==} + dependencies: + delegate: 3.2.0 + dev: false + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /has-ansi@2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: true + + /has-flag@1.0.0: + resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==} + engines: {node: '>=0.10.0'} + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-value@0.3.1: + resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} + engines: {node: '>=0.10.0'} + dependencies: + get-value: 2.0.6 + has-values: 0.1.4 + isobject: 2.1.0 + dev: true + + /has-value@1.0.0: + resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} + engines: {node: '>=0.10.0'} + dependencies: + get-value: 2.0.6 + has-values: 1.0.0 + isobject: 3.0.1 + dev: true + + /has-values@0.1.4: + resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} + engines: {node: '>=0.10.0'} + dev: true + + /has-values@1.0.0: + resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-number: 3.0.0 + kind-of: 4.0.0 + dev: true + + /hasown@2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + + /he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true + + /header-case@2.0.4: + resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} + dependencies: + capital-case: 1.0.4 + tslib: 2.6.2 + dev: true + + /highlight.js@11.9.0: + resolution: {integrity: sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==} + engines: {node: '>=12.0.0'} + dev: false + + /hls.js@1.4.12: + resolution: {integrity: sha512-1RBpx2VihibzE3WE9kGoVCtrhhDWTzydzElk/kyRbEOLnb1WIE+3ZabM/L8BqKFTCL3pUy4QzhXgD1Q6Igr1JA==} + dev: false + + /html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + dev: true + + /html-void-elements@2.0.1: + resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==} + dev: false + + /htmlparser2@3.10.1: + resolution: {integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==} + dependencies: + domelementtype: 1.3.1 + domhandler: 2.4.2 + domutils: 1.7.0 + entities: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + + /human-signals@3.0.1: + resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} + engines: {node: '>=12.20.0'} + dev: true + + /i18next@20.6.1: + resolution: {integrity: sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==} + dependencies: + '@babel/runtime': 7.23.2 + dev: false + + /ignore@5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} + dev: true + + /image-size@0.5.5: + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dev: true + + /immer@9.0.21: + resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} + dev: false + + /immutable@4.3.4: + resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==} + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /is-accessor-descriptor@1.0.1: + resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==} + engines: {node: '>= 0.10'} + dependencies: + hasown: 2.0.0 + dev: true + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + dev: true + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.0 + dev: true + + /is-data-descriptor@1.0.1: + resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} + engines: {node: '>= 0.4'} + dependencies: + hasown: 2.0.0 + dev: true + + /is-descriptor@0.1.7: + resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} + engines: {node: '>= 0.4'} + dependencies: + is-accessor-descriptor: 1.0.1 + is-data-descriptor: 1.0.1 + dev: true + + /is-descriptor@1.0.3: + resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==} + engines: {node: '>= 0.4'} + dependencies: + is-accessor-descriptor: 1.0.1 + is-data-descriptor: 1.0.1 + dev: true + + /is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + dev: true + + /is-extendable@1.0.1: + resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} + engines: {node: '>=0.10.0'} + dependencies: + is-plain-object: 2.0.4 + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-hotkey@0.2.0: + resolution: {integrity: sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==} + dev: false + + /is-number@3.0.0: + resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-plain-obj@1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + dev: true + + /is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + dev: false + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /is-url@1.2.4: + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} + dev: false + + /is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + dev: true + + /isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /isobject@2.1.0: + resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} + engines: {node: '>=0.10.0'} + dependencies: + isarray: 1.0.0 + dev: true + + /isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + dev: true + + /jiti@1.21.0: + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + hasBin: true + dev: true + + /js-base64@2.6.4: + resolution: {integrity: sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==} + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: true + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: 1.1.6 + dev: true + + /kind-of@4.0.0: + resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: 1.1.6 + dev: true + + /kind-of@5.1.0: + resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} + engines: {node: '>=0.10.0'} + dev: true + + /kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + dev: true + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /loader-utils@1.4.2: + resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==} + engines: {node: '>=4.0.0'} + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 1.0.2 + dev: true + + /local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + dev: false + + /lodash-unified@1.0.3(@types/lodash-es@4.17.10)(lodash-es@4.17.21)(lodash@4.17.21): + resolution: {integrity: sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==} + peerDependencies: + '@types/lodash-es': '*' + lodash: '*' + lodash-es: '*' + dependencies: + '@types/lodash-es': 4.17.10 + lodash: 4.17.21 + lodash-es: 4.17.21 + dev: false + + /lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + dev: false + + /lodash.clonedeep@4.5.0: + resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} + dev: false + + /lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + dev: false + + /lodash.foreach@4.5.0: + resolution: {integrity: sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==} + dev: false + + /lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + dev: false + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash.throttle@4.1.1: + resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} + dev: false + + /lodash.toarray@4.4.0: + resolution: {integrity: sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw==} + dev: false + + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + /lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + dependencies: + tslib: 2.6.2 + dev: true + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: true + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /magic-string@0.25.9: + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + dependencies: + sourcemap-codec: 1.4.8 + dev: true + + /magic-string@0.26.7: + resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==} + engines: {node: '>=12'} + dependencies: + sourcemap-codec: 1.4.8 + dev: true + + /magic-string@0.30.5: + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + /map-cache@0.2.2: + resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} + engines: {node: '>=0.10.0'} + dev: true + + /map-visit@1.0.0: + resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} + engines: {node: '>=0.10.0'} + dependencies: + object-visit: 1.0.1 + dev: true + + /mdn-data@2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + dev: true + + /memoize-one@6.0.0: + resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} + dev: false + + /merge-options@1.0.1: + resolution: {integrity: sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==} + engines: {node: '>=4'} + dependencies: + is-plain-obj: 1.1.0 + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromatch@3.1.0: + resolution: {integrity: sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==} + engines: {node: '>=0.10.0'} + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + braces: 2.3.2 + define-property: 1.0.0 + extend-shallow: 2.0.1 + extglob: 2.0.4 + fragment-cache: 0.2.1 + kind-of: 5.1.0 + nanomatch: 1.2.13 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: false + + /mime-match@1.0.2: + resolution: {integrity: sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==} + dependencies: + wildcard: 1.1.2 + dev: false + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: false + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true + + /mixin-deep@1.3.2: + resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} + engines: {node: '>=0.10.0'} + dependencies: + for-in: 1.0.2 + is-extendable: 1.0.1 + dev: true + + /mlly@0.5.17: + resolution: {integrity: sha512-Rn+ai4G+CQXptDFSRNnChEgNr+xAEauYhwRvpPl/UHStTlgkIftplgJRsA2OXPuoUn86K4XAjB26+x5CEvVb6A==} + dependencies: + acorn: 8.11.2 + pathe: 1.1.1 + pkg-types: 1.0.3 + ufo: 1.3.1 + dev: true + + /mlly@1.4.2: + resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} + dependencies: + acorn: 8.11.2 + pathe: 1.1.1 + pkg-types: 1.0.3 + ufo: 1.3.1 + dev: true + + /ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: false + + /mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + dev: true + + /namespace-emitter@2.0.1: + resolution: {integrity: sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==} + dev: false + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + /nanomatch@1.2.13: + resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} + engines: {node: '>=0.10.0'} + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + define-property: 2.0.2 + extend-shallow: 3.0.2 + fragment-cache: 0.2.1 + is-windows: 1.0.2 + kind-of: 6.0.3 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /natural-compare-lite@1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + dev: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /next-tick@1.1.0: + resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} + dev: false + + /no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + dependencies: + lower-case: 2.0.2 + tslib: 2.6.2 + dev: true + + /node-releases@2.0.13: + resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + dev: true + + /normalize-wheel-es@1.2.0: + resolution: {integrity: sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==} + dev: false + + /npm-run-path@5.1.0: + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + + /nprogress@0.2.0: + resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} + dev: false + + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: true + + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: true + + /object-copy@0.1.0: + resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} + engines: {node: '>=0.10.0'} + dependencies: + copy-descriptor: 0.1.1 + define-property: 0.2.5 + kind-of: 3.2.2 + dev: true + + /object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + dev: true + + /object-visit@1.0.1: + resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /object.pick@1.3.0: + resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + dependencies: + dot-case: 3.0.4 + tslib: 2.6.2 + dev: true + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + dependencies: + no-case: 3.0.4 + tslib: 2.6.2 + dev: true + + /pascalcase@0.1.1: + resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} + engines: {node: '>=0.10.0'} + dev: true + + /path-case@3.0.4: + resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} + dependencies: + dot-case: 3.0.4 + tslib: 2.6.2 + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /pathe@0.2.0: + resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==} + dev: true + + /pathe@0.3.9: + resolution: {integrity: sha512-6Y6s0vT112P3jD8dGfuS6r+lpa0qqNrLyHPOwvXMnyNTQaYiwgau2DP3aNDsR13xqtGj7rrPo+jFUATpU6/s+g==} + dev: true + + /pathe@1.1.1: + resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + dev: true + + /pinia@2.1.7(typescript@4.7.4)(vue@3.3.8): + resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==} + peerDependencies: + '@vue/composition-api': ^1.4.0 + typescript: '>=4.4.4' + vue: ^2.6.14 || ^3.3.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + typescript: + optional: true + dependencies: + '@vue/devtools-api': 6.5.1 + typescript: 4.7.4 + vue: 3.3.8(typescript@4.7.4) + vue-demi: 0.14.6(vue@3.3.8) + dev: false + + /pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + dev: true + + /pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + dependencies: + jsonc-parser: 3.2.0 + mlly: 1.4.2 + pathe: 1.1.1 + dev: true + + /posix-character-classes@0.1.1: + resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} + engines: {node: '>=0.10.0'} + dev: true + + /postcss-import@15.1.0(postcss@8.4.31): + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.31 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.8 + dev: true + + /postcss-js@4.0.1(postcss@8.4.31): + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.31 + dev: true + + /postcss-load-config@4.0.1(postcss@8.4.31): + resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 2.1.0 + postcss: 8.4.31 + yaml: 2.3.4 + dev: true + + /postcss-nested@6.0.1(postcss@8.4.31): + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.31 + postcss-selector-parser: 6.0.13 + dev: true + + /postcss-prefix-selector@1.16.0(postcss@5.2.18): + resolution: {integrity: sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q==} + peerDependencies: + postcss: '>4 <9' + dependencies: + postcss: 5.2.18 + dev: true + + /postcss-selector-parser@6.0.13: + resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + dev: true + + /postcss@5.2.18: + resolution: {integrity: sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==} + engines: {node: '>=0.12'} + dependencies: + chalk: 1.1.3 + js-base64: 2.6.4 + source-map: 0.5.7 + supports-color: 3.2.3 + dev: true + + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + + /posthtml-parser@0.2.1: + resolution: {integrity: sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==} + dependencies: + htmlparser2: 3.10.1 + isobject: 2.1.0 + dev: true + + /posthtml-rename-id@1.0.12: + resolution: {integrity: sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw==} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /posthtml-render@1.4.0: + resolution: {integrity: sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==} + engines: {node: '>=10'} + dev: true + + /posthtml-svg-mode@1.0.3: + resolution: {integrity: sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==} + dependencies: + merge-options: 1.0.1 + posthtml: 0.9.2 + posthtml-parser: 0.2.1 + posthtml-render: 1.4.0 + dev: true + + /posthtml@0.9.2: + resolution: {integrity: sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q==} + engines: {node: '>=0.10.0'} + dependencies: + posthtml-parser: 0.2.1 + posthtml-render: 1.4.0 + dev: true + + /preact@10.18.2: + resolution: {integrity: sha512-X/K43vocUHDg0XhWVmTTMbec4LT/iBMh+csCEqJk+pJqegaXsvjdqN80ZZ3L+93azWCnWCZ+WGwYb8SplxeNjA==} + dev: false + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + + /prismjs@1.29.0: + resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} + engines: {node: '>=6'} + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + dev: true + + /query-string@4.3.4: + resolution: {integrity: sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==} + engines: {node: '>=0.10.0'} + dependencies: + object-assign: 4.1.1 + strict-uri-encode: 1.1.0 + dev: true + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + dependencies: + pify: 2.3.0 + dev: true + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: true + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /regenerator-runtime@0.14.0: + resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} + dev: false + + /regex-not@1.0.2: + resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 3.0.2 + safe-regex: 1.1.0 + dev: true + + /repeat-element@1.1.4: + resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} + engines: {node: '>=0.10.0'} + dev: true + + /repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + dev: true + + /resize-detector@0.3.0: + resolution: {integrity: sha512-R/tCuvuOHQ8o2boRP6vgx8hXCCy87H1eY9V5imBYeVNyNVpuL9ciReSccLj2gDcax9+2weXy3bc8Vv+NRXeEvQ==} + dev: false + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-url@0.2.1: + resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} + deprecated: https://github.com/lydell/resolve-url#deprecated + dev: true + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /ret@0.1.15: + resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} + engines: {node: '>=0.12'} + dev: true + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rgb@0.1.0: + resolution: {integrity: sha512-F49dXX73a92N09uQkfCp2QjwXpmJcn9/i9PvjmwsSIXUGqRLCf/yx5Q9gRxuLQTq248kakqQuc8GX/U/CxSqlA==} + hasBin: true + dev: false + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /rollup@2.79.1: + resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} + engines: {node: '>=10.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true + + /safe-regex@1.1.0: + resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} + dependencies: + ret: 0.1.15 + dev: true + + /sass@1.69.5: + resolution: {integrity: sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + chokidar: 3.5.3 + immutable: 4.3.4 + source-map-js: 1.0.2 + dev: true + + /scroll-into-view-if-needed@2.2.31: + resolution: {integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==} + dependencies: + compute-scroll-into-view: 1.0.20 + dev: false + + /scule@0.2.1: + resolution: {integrity: sha512-M9gnWtn3J0W+UhJOHmBxBTwv8mZCan5i1Himp60t6vvZcor0wr+IM0URKmIglsWJ7bRujNAVVN77fp+uZaWoKg==} + dev: true + + /select@1.1.2: + resolution: {integrity: sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==} + dev: false + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + dev: true + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /sentence-case@3.0.4: + resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} + dependencies: + no-case: 3.0.4 + tslib: 2.6.2 + upper-case-first: 2.0.2 + dev: true + + /set-value@2.0.1: + resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 2.0.1 + is-extendable: 0.1.1 + is-plain-object: 2.0.4 + split-string: 3.1.0 + dev: true + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /slate-history@0.66.0(slate@0.72.8): + resolution: {integrity: sha512-6MWpxGQZiMvSINlCbMW43E2YBSVMCMCIwQfBzGssjWw4kb0qfvj0pIdblWNRQZD0hR6WHP+dHHgGSeVdMWzfng==} + peerDependencies: + slate: '>=0.65.3' + dependencies: + is-plain-object: 5.0.0 + slate: 0.72.8 + dev: false + + /slate@0.72.8: + resolution: {integrity: sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==} + dependencies: + immer: 9.0.21 + is-plain-object: 5.0.0 + tiny-warning: 1.0.3 + dev: false + + /snabbdom@3.5.1: + resolution: {integrity: sha512-wHMNIOjkm/YNE5EM3RCbr/+DVgPg6AqQAX1eOxO46zYNvCXjKP5Y865tqQj3EXnaMBjkxmQA5jFuDpDK/dbfiA==} + engines: {node: '>=8.3.0'} + dev: false + + /snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + dependencies: + dot-case: 3.0.4 + tslib: 2.6.2 + dev: true + + /snapdragon-node@2.1.1: + resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 1.0.0 + isobject: 3.0.1 + snapdragon-util: 3.0.1 + dev: true + + /snapdragon-util@3.0.1: + resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /snapdragon@0.8.2: + resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} + engines: {node: '>=0.10.0'} + dependencies: + base: 0.11.2 + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + map-cache: 0.2.2 + source-map: 0.5.7 + source-map-resolve: 0.5.3 + use: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /sortablejs@1.14.0: + resolution: {integrity: sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==} + dev: false + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + + /source-map-resolve@0.5.3: + resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} + deprecated: See https://github.com/lydell/source-map-resolve#deprecated + dependencies: + atob: 2.1.2 + decode-uri-component: 0.2.2 + resolve-url: 0.2.1 + source-map-url: 0.4.1 + urix: 0.1.0 + dev: true + + /source-map-url@0.4.1: + resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} + deprecated: See https://github.com/lydell/source-map-url#deprecated + dev: true + + /source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /sourcemap-codec@1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + deprecated: Please use @jridgewell/sourcemap-codec instead + dev: true + + /split-string@3.1.0: + resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 3.0.2 + dev: true + + /ssr-window@3.0.0: + resolution: {integrity: sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==} + dev: false + + /stable@0.1.8: + resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} + deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' + dev: true + + /static-extend@0.1.2: + resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 0.2.5 + object-copy: 0.1.0 + dev: true + + /strict-uri-encode@1.1.0: + resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} + engines: {node: '>=0.10.0'} + dev: true + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: true + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /strip-literal@0.4.2: + resolution: {integrity: sha512-pv48ybn4iE1O9RLgCAN0iU4Xv7RlBTiit6DKmMiErbs9x1wH6vXBs45tWc0H5wUIF6TLTrKweqkmYF/iraQKNw==} + dependencies: + acorn: 8.11.2 + dev: true + + /sucrase@3.34.0: + resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} + engines: {node: '>=8'} + hasBin: true + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + commander: 4.1.1 + glob: 7.1.6 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + dev: true + + /supports-color@2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + dev: true + + /supports-color@3.2.3: + resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==} + engines: {node: '>=0.8.0'} + dependencies: + has-flag: 1.0.0 + dev: true + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /svg-baker@1.7.0: + resolution: {integrity: sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg==} + dependencies: + bluebird: 3.7.2 + clone: 2.1.2 + he: 1.2.0 + image-size: 0.5.5 + loader-utils: 1.4.2 + merge-options: 1.0.1 + micromatch: 3.1.0 + postcss: 5.2.18 + postcss-prefix-selector: 1.16.0(postcss@5.2.18) + posthtml-rename-id: 1.0.12 + posthtml-svg-mode: 1.0.3 + query-string: 4.3.4 + traverse: 0.6.7 + transitivePeerDependencies: + - supports-color + dev: true + + /svg-tags@1.0.0: + resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + dev: true + + /svgo@2.8.0: + resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} + engines: {node: '>=10.13.0'} + hasBin: true + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 4.3.0 + css-tree: 1.1.3 + csso: 4.2.0 + picocolors: 1.0.0 + stable: 0.1.8 + dev: true + + /tailwindcss@3.3.5: + resolution: {integrity: sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.5.3 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.0 + lilconfig: 2.1.0 + micromatch: 4.0.5 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.31 + postcss-import: 15.1.0(postcss@8.4.31) + postcss-js: 4.0.1(postcss@8.4.31) + postcss-load-config: 4.0.1(postcss@8.4.31) + postcss-nested: 6.0.1(postcss@8.4.31) + postcss-selector-parser: 6.0.13 + resolve: 1.22.8 + sucrase: 3.34.0 + transitivePeerDependencies: + - ts-node + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + dependencies: + thenify: 3.3.1 + dev: true + + /thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + dev: true + + /throttle-debounce@3.0.1: + resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==} + engines: {node: '>=10'} + dev: false + + /tiny-emitter@2.1.0: + resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==} + dev: false + + /tiny-warning@1.0.3: + resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + dev: false + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + /to-object-path@0.3.0: + resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /to-regex-range@2.1.1: + resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} + engines: {node: '>=0.10.0'} + dependencies: + is-number: 3.0.0 + repeat-string: 1.6.1 + dev: true + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /to-regex@3.0.2: + resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 2.0.2 + extend-shallow: 3.0.2 + regex-not: 1.0.2 + safe-regex: 1.1.0 + dev: true + + /traverse@0.6.7: + resolution: {integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==} + dev: true + + /ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + dev: true + + /tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true + + /tslib@2.3.0: + resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} + dev: false + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + dev: true + + /tsutils@3.21.0(typescript@4.7.4): + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 4.7.4 + dev: true + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + + /type@1.2.0: + resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==} + dev: false + + /type@2.7.2: + resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} + dev: false + + /typescript@4.7.4: + resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} + engines: {node: '>=4.2.0'} + hasBin: true + + /ufo@1.3.1: + resolution: {integrity: sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw==} + dev: true + + /unimport@0.4.7(vite@3.2.7): + resolution: {integrity: sha512-V2Pbscd1VSdgWm1/OI2pjtydEOTjE7DDnHZKhpOq7bSUBc1i8+1f6PK8jI1lJ1plRDcSNr0DLtAmtU9NPkFQpw==} + dependencies: + '@rollup/pluginutils': 4.2.1 + escape-string-regexp: 5.0.0 + fast-glob: 3.3.2 + local-pkg: 0.4.3 + magic-string: 0.26.7 + mlly: 0.5.17 + pathe: 0.3.9 + scule: 0.2.1 + strip-literal: 0.4.2 + unplugin: 0.7.2(vite@3.2.7) + transitivePeerDependencies: + - esbuild + - rollup + - vite + - webpack + dev: true + + /union-value@1.0.1: + resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} + engines: {node: '>=0.10.0'} + dependencies: + arr-union: 3.1.0 + get-value: 2.0.6 + is-extendable: 0.1.1 + set-value: 2.0.1 + dev: true + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: true + + /unplugin-auto-import@0.9.5(@vueuse/core@10.5.0)(vite@3.2.7): + resolution: {integrity: sha512-CskZjMM+p/QZev7y4JgaAFrf63ui4VGS4HrDMm6VIiVjwnmQ0wPugo58GGhYa+W2Hyv6zGffYO6uYHfeVlDZDA==} + engines: {node: '>=14'} + peerDependencies: + '@vueuse/core': '*' + peerDependenciesMeta: + '@vueuse/core': + optional: true + dependencies: + '@antfu/utils': 0.5.2 + '@rollup/pluginutils': 4.2.1 + '@vueuse/core': 10.5.0(vue@3.3.8) + local-pkg: 0.4.3 + magic-string: 0.26.7 + unimport: 0.4.7(vite@3.2.7) + unplugin: 0.7.2(vite@3.2.7) + transitivePeerDependencies: + - esbuild + - rollup + - vite + - webpack + dev: true + + /unplugin-vue-components@0.19.9(vite@3.2.7)(vue@3.3.8): + resolution: {integrity: sha512-i5mZtg85euPWZrGswFkoa9pf4WjKCP5qOjnwOyg3KOKVzFjnP3osCdrunQMjtoMKehTdz1vV6baZH8bZR4PNgg==} + engines: {node: '>=14'} + peerDependencies: + '@babel/parser': ^7.15.8 + '@babel/traverse': ^7.15.4 + vue: 2 || 3 + peerDependenciesMeta: + '@babel/parser': + optional: true + '@babel/traverse': + optional: true + dependencies: + '@antfu/utils': 0.5.2 + '@rollup/pluginutils': 4.2.1 + chokidar: 3.5.3 + debug: 4.3.4 + fast-glob: 3.3.2 + local-pkg: 0.4.3 + magic-string: 0.26.7 + minimatch: 5.1.6 + resolve: 1.22.8 + unplugin: 0.7.2(vite@3.2.7) + vue: 3.3.8(typescript@4.7.4) + transitivePeerDependencies: + - esbuild + - rollup + - supports-color + - vite + - webpack + dev: true + + /unplugin@0.7.2(vite@3.2.7): + resolution: {integrity: sha512-m7thX4jP8l5sETpLdUASoDOGOcHaOVtgNyrYlToyQUvILUtEzEnngRBrHnAX3IKqooJVmXpoa/CwQ/QqzvGaHQ==} + peerDependencies: + esbuild: '>=0.13' + rollup: ^2.50.0 + vite: ^2.3.0 || ^3.0.0-0 + webpack: 4 || 5 + peerDependenciesMeta: + esbuild: + optional: true + rollup: + optional: true + vite: + optional: true + webpack: + optional: true + dependencies: + acorn: 8.11.2 + chokidar: 3.5.3 + vite: 3.2.7(@types/node@16.18.60)(sass@1.69.5) + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.4.6 + dev: true + + /unset-value@1.0.0: + resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} + engines: {node: '>=0.10.0'} + dependencies: + has-value: 0.3.1 + isobject: 3.0.1 + dev: true + + /update-browserslist-db@1.0.13(browserslist@4.22.1): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.22.1 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + + /upper-case-first@2.0.2: + resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} + dependencies: + tslib: 2.6.2 + dev: true + + /upper-case@2.0.2: + resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} + dependencies: + tslib: 2.6.2 + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + dev: true + + /urix@0.1.0: + resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} + deprecated: Please see https://github.com/lydell/urix#deprecated + dev: true + + /use@3.1.1: + resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} + engines: {node: '>=0.10.0'} + dev: true + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true + + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: true + + /vite-plugin-style-import@2.0.0(vite@3.2.7): + resolution: {integrity: sha512-qtoHQae5dSUQPo/rYz/8p190VU5y19rtBaeV7ryLa/AYAU/e9CG89NrN/3+k7MR8mJy/GPIu91iJ3zk9foUOSA==} + peerDependencies: + vite: '>=2.0.0' + dependencies: + '@rollup/pluginutils': 4.2.1 + change-case: 4.1.2 + console: 0.7.2 + es-module-lexer: 0.9.3 + fs-extra: 10.1.0 + magic-string: 0.25.9 + pathe: 0.2.0 + vite: 3.2.7(@types/node@16.18.60)(sass@1.69.5) + dev: true + + /vite-plugin-svg-icons@2.0.1(vite@3.2.7): + resolution: {integrity: sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==} + peerDependencies: + vite: '>=2.0.0' + dependencies: + '@types/svgo': 2.6.4 + cors: 2.8.5 + debug: 4.3.4 + etag: 1.8.1 + fs-extra: 10.1.0 + pathe: 0.2.0 + svg-baker: 1.7.0 + svgo: 2.8.0 + vite: 3.2.7(@types/node@16.18.60)(sass@1.69.5) + transitivePeerDependencies: + - supports-color + dev: true + + /vite-plugin-vue-setup-extend@0.4.0(vite@3.2.7): + resolution: {integrity: sha512-WMbjPCui75fboFoUTHhdbXzu4Y/bJMv5N9QT9a7do3wNMNHHqrk+Tn2jrSJU0LS5fGl/EG+FEDBYVUeWIkDqXQ==} + peerDependencies: + vite: '>=2.0.0' + dependencies: + '@vue/compiler-sfc': 3.3.8 + magic-string: 0.25.9 + vite: 3.2.7(@types/node@16.18.60)(sass@1.69.5) + dev: true + + /vite@3.2.7(@types/node@16.18.60)(sass@1.69.5): + resolution: {integrity: sha512-29pdXjk49xAP0QBr0xXqu2s5jiQIXNvE/xwd0vUizYT2Hzqe4BksNNoWllFVXJf4eLZ+UlVQmXfB4lWrc+t18g==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 16.18.60 + esbuild: 0.15.18 + postcss: 8.4.31 + resolve: 1.22.8 + rollup: 2.79.1 + sass: 1.69.5 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vue-clipboard3@2.0.0: + resolution: {integrity: sha512-Q9S7dzWGax7LN5iiSPcu/K1GGm2gcBBlYwmMsUc5/16N6w90cbKow3FnPmPs95sungns4yvd9/+JhbAznECS2A==} + dependencies: + clipboard: 2.0.11 + dev: false + + /vue-demi@0.13.11(vue@3.3.8): + resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.3.8(typescript@4.7.4) + dev: false + + /vue-demi@0.14.6(vue@3.3.8): + resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.3.8(typescript@4.7.4) + + /vue-echarts@6.6.1(echarts@5.4.3)(vue@3.3.8): + resolution: {integrity: sha512-EpreTzlNeJ+eaUn0AhXEmKJk98xJGecgTqAdyZovoXWnhTxnlW2HuBM0ei3y8rLw1JCUabf8/sYvxjlr8SzBKQ==} + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.5 + echarts: ^5.4.1 + vue: ^2.6.12 || ^3.1.1 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + echarts: 5.4.3 + resize-detector: 0.3.0 + vue: 3.3.8(typescript@4.7.4) + vue-demi: 0.13.11(vue@3.3.8) + dev: false + + /vue-eslint-parser@9.3.2(eslint@8.53.0): + resolution: {integrity: sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + debug: 4.3.4 + eslint: 8.53.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + lodash: 4.17.21 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: true + + /vue-router@4.2.5(vue@3.3.8): + resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} + peerDependencies: + vue: ^3.2.0 + dependencies: + '@vue/devtools-api': 6.5.1 + vue: 3.3.8(typescript@4.7.4) + dev: false + + /vue-tsc@0.38.9(typescript@4.7.4): + resolution: {integrity: sha512-Yoy5phgvGqyF98Fb4mYqboR4Q149jrdcGv5kSmufXJUq++RZJ2iMVG0g6zl+v3t4ORVWkQmRpsV4x2szufZ0LQ==} + hasBin: true + peerDependencies: + typescript: '*' + dependencies: + '@volar/vue-typescript': 0.38.9 + typescript: 4.7.4 + dev: true + + /vue3-video-play@1.3.1-beta.6(typescript@4.7.4): + resolution: {integrity: sha512-Olrx2/LNAds7fuor/yX9ZKT9sOcwcfTt2g2YbbCrEaAmZ5Tb0hwBr5z+/CoLwELzzRzXCHPmWWoT0Wm5W/Nwpw==} + dependencies: + hls.js: 1.4.12 + throttle-debounce: 3.0.1 + vue: 3.3.8(typescript@4.7.4) + transitivePeerDependencies: + - typescript + dev: false + + /vue@3.3.8(typescript@4.7.4): + resolution: {integrity: sha512-5VSX/3DabBikOXMsxzlW8JyfeLKlG9mzqnWgLQLty88vdZL7ZJgrdgBOmrArwxiLtmS+lNNpPcBYqrhE6TQW5w==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@vue/compiler-dom': 3.3.8 + '@vue/compiler-sfc': 3.3.8 + '@vue/runtime-dom': 3.3.8 + '@vue/server-renderer': 3.3.8(vue@3.3.8) + '@vue/shared': 3.3.8 + typescript: 4.7.4 + + /vuedraggable@4.1.0(vue@3.3.8): + resolution: {integrity: sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==} + peerDependencies: + vue: ^3.0.1 + dependencies: + sortablejs: 1.14.0 + vue: 3.3.8(typescript@4.7.4) + dev: false + + /webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + dev: true + + /webpack-virtual-modules@0.4.6: + resolution: {integrity: sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==} + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /wildcard@1.1.2: + resolution: {integrity: sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==} + dev: false + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + dev: true + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yaml@2.3.4: + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + engines: {node: '>= 14'} + dev: true + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + + /zrender@5.4.4: + resolution: {integrity: sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw==} + dependencies: + tslib: 2.3.0 + dev: false diff --git a/admin/src/App.vue b/admin/src/App.vue index a17b9b6..a824e33 100644 --- a/admin/src/App.vue +++ b/admin/src/App.vue @@ -1,6 +1,6 @@ diff --git a/admin/src/views/dev_tools/code/edit.vue b/admin/src/views/dev_tools/code/edit.vue index 0746bd9..8276d93 100644 --- a/admin/src/views/dev_tools/code/edit.vue +++ b/admin/src/views/dev_tools/code/edit.vue @@ -81,9 +81,9 @@ prop="columnType" min-width="100" /> - + - + diff --git a/server/config/config.go b/server/config/config.go index 3cdc32b..a839093 100644 --- a/server/config/config.go +++ b/server/config/config.go @@ -2,16 +2,17 @@ package config import ( "flag" - "github.com/spf13/viper" "log" "path" "runtime" "strconv" + + "github.com/spf13/viper" ) var Config = loadConfig(".") -//envConfig 环境配置 +// envConfig 环境配置 type envConfig struct { RootPath string // 项目根目录 GinMode string `mapstructure:"GIN_MODE"` // gin运行模式 @@ -39,7 +40,7 @@ type envConfig struct { UploadVideoExt []string // 上传视频扩展 } -//loadConfig 加载配置 +// loadConfig 加载配置 func loadConfig(envPath string) envConfig { var cfgPath string flag.StringVar(&cfgPath, "c", "", "config file envPath.") @@ -70,7 +71,7 @@ func loadConfig(envPath string) envConfig { RedisUrl: "redis://localhost:6379", RedisPoolSize: 100, // 数据源配置 - DatabaseUrl: "root:root@tcp(localhost:3306)/likeadmin?charset=utf8mb4&parseTime=True&loc=Local", + DatabaseUrl: "likeadmin:likeadmin@tcp(localhost:3306)/likeadmin?charset=utf8mb4&parseTime=True&loc=Local", DbTablePrefix: "la_", DbDefaultStringSize: 256, DbMaxIdleConns: 10, diff --git a/server/generator/schemas/req/gen.go b/server/generator/schemas/req/gen.go index 8aa75de..c5d8856 100644 --- a/server/generator/schemas/req/gen.go +++ b/server/generator/schemas/req/gen.go @@ -33,17 +33,28 @@ type SyncTableReq struct { //EditColumn 表编辑列 type EditColumn struct { - ID uint `form:"id" binding:"required,gt=0"` // 主键 + ID uint `form:"id" binding:"required,gt=0"` // 主键 + TableID uint `form:"tableId" binding:"required,gt=0"` // 表ID + + ColumnName string `form:"columnName" binding:"required,max=200"` // 列名称 + ColumnLength uint `form:"columnLength" binding:"required,max=5"` // 列长度 + ColumnType string `form:"columnType" binding:"required,max=100"` // 列类型 + + GoField string `form:"goField" binding:"required,max=100"` // 字段 + GoType string `form:"goType" binding:"required,max=100"` // 字段类型 + ColumnComment string `form:"columnComment" binding:"required,max=200"` // 列描述 - JavaField string `form:"goField" binding:"required,max=100"` // 字段 - IsRequired uint8 `form:"isStop" binding:"oneof=0 1"` // 是否必填: [0=否, 1=是] - IsInsert uint8 `form:"isInsert" binding:"oneof=0 1"` // 是否新增字段: [0=否, 1=是] - IsEdit uint8 `form:"isEdit" binding:"oneof=0 1"` // 是否编辑字段: [0=否, 1=是] - IsList uint8 `form:"isList" binding:"oneof=0 1"` // 是否列表字段: [0=否, 1=是] - IsQuery uint8 `form:"isQuery" binding:"oneof=0 1"` // 是否查询字段: [0=否, 1=是] - QueryType string `form:"queryType" binding:"required,max=30"` // 查询方式 - HtmlType string `form:"htmlType" binding:"required,max=30"` // 表单类型 - DictType string `form:"dictType" binding:"required,max=200"` // 字典类型 + + IsPk uint8 `form:"isPk" binding:"oneof=0 1"` // 是否主键: [0=否, 1=是] + IsIncrement uint8 `form:"isIncrement" binding:"oneof=0 1"` // 是否自增: [0=否, 1=是] + IsRequired uint8 `form:"isStop" binding:"oneof=0 1"` // 是否必填: [0=否, 1=是] + IsInsert uint8 `form:"isInsert" binding:"oneof=0 1"` // 是否新增字段: [0=否, 1=是] + IsEdit uint8 `form:"isEdit" binding:"oneof=0 1"` // 是否编辑字段: [0=否, 1=是] + IsList uint8 `form:"isList" binding:"oneof=0 1"` // 是否列表字段: [0=否, 1=是] + IsQuery uint8 `form:"isQuery" binding:"oneof=0 1"` // 是否查询字段: [0=否, 1=是] + QueryType string `form:"queryType" binding:"required,max=30"` // 查询方式 + HtmlType string `form:"htmlType" binding:"required,max=30"` // 表单类型 + DictType string `form:"dictType" binding:"required,max=200"` // 字典类型 } //EditTableReq 编辑表结构参数 diff --git a/server/generator/schemas/resp/gen.go b/server/generator/schemas/resp/gen.go index 6ac98a9..253249a 100644 --- a/server/generator/schemas/resp/gen.go +++ b/server/generator/schemas/resp/gen.go @@ -4,7 +4,7 @@ import ( "likeadmin/core" ) -//DbTableResp 数据表返回信息 +// DbTableResp 数据表返回信息 type DbTableResp struct { TableName string `json:"tableName" structs:"tableName"` // 表的名称 TableComment string `json:"tableComment" structs:"tableComment"` // 表的描述 @@ -12,7 +12,7 @@ type DbTableResp struct { UpdateTime core.OnlyRespTsTime `json:"updateTime" structs:"updateTime"` // 更新时间 } -//GenTableResp 生成表返回信息 +// GenTableResp 生成表返回信息 type GenTableResp struct { ID uint `json:"id" structs:"id"` // 主键 GenType int `json:"genType" structs:"genType"` // 生成类型 @@ -22,7 +22,7 @@ type GenTableResp struct { UpdateTime core.TsTime `json:"updateTime" structs:"updateTime"` // 更新时间 } -//GenTableBaseResp 生成表基本返回信息 +// GenTableBaseResp 生成表基本返回信息 type GenTableBaseResp struct { ID uint `json:"id" structs:"id"` // 主键 TableName string `json:"tableName" structs:"tableName"` // 表的名称 @@ -34,7 +34,7 @@ type GenTableBaseResp struct { UpdateTime core.TsTime `json:"updateTime" structs:"updateTime"` // 更新时间 } -//GenTableGenResp 生成表生成返回信息 +// GenTableGenResp 生成表生成返回信息 type GenTableGenResp struct { GenTpl string `json:"genTpl" structs:"genTpl"` // 生成模板方式: [crud=单表, tree=树表] GenType int `json:"genType" structs:"genType"` // 生成代码方式: [0=zip压缩包, 1=自定义路径] @@ -48,28 +48,33 @@ type GenTableGenResp struct { SubTableFk string `json:"subTableFk" structs:"subTableFk"` // 关联表外键 } -//GenColumnResp 生成列返回信息 +// GenColumnResp 生成列返回信息 type GenColumnResp struct { - ID uint `json:"id" structs:"id"` // 字段主键 - ColumnName string `json:"columnName" structs:"columnName"` // 字段名称 - ColumnComment string `json:"columnComment" structs:"columnComment"` // 字段描述 - ColumnLength int `json:"columnLength" structs:"columnLength"` // 字段长度 - ColumnType string `json:"columnType" structs:"columnType"` // 字段类型 - JavaType string `json:"goType" structs:"goType"` // Go类型 - JavaField string `json:"goField" structs:"goField"` // Go字段 - IsRequired uint8 `json:"isRequired" structs:"isRequired"` // 是否必填 - IsInsert uint8 `json:"isInsert" structs:"isInsert"` // 是否为插入字段 - IsEdit uint8 `json:"isEdit" structs:"isEdit"` // 是否编辑字段 - IsList uint8 `json:"isList" structs:"isList"` // 是否列表字段 - IsQuery uint8 `json:"isQuery" structs:"isQuery"` // 是否查询字段 - QueryType string `json:"queryType" structs:"queryType"` // 查询方式: [等于、不等于、大于、小于、范围] - HtmlType string `json:"htmlType" structs:"htmlType"` // 显示类型: [文本框、文本域、下拉框、复选框、单选框、日期控件] - DictType string `json:"dictType" structs:"dictType"` // 字典类型 - CreateTime core.TsTime `json:"createTime" structs:"createTime"` // 创建时间 - UpdateTime core.TsTime `json:"updateTime" structs:"updateTime"` // 更新时间 + ID uint `json:"id" structs:"id"` // 字段主键 + TableID uint `json:"tableId" structs:"tableId"` // 归属表主键 + + ColumnName string `json:"columnName" structs:"columnName"` // 字段名称 + ColumnComment string `json:"columnComment" structs:"columnComment"` // 字段描述 + ColumnLength int `json:"columnLength" structs:"columnLength"` // 字段长度 + ColumnType string `json:"columnType" structs:"columnType"` // 字段类型 + GoType string `json:"goType" structs:"goType"` // Go类型 + GoField string `json:"goField" structs:"goField"` // Go字段 + + IsPk uint8 `json:"isPk" structs:"isPk"` + IsIncrement uint8 `json:"isIncrement" structs:"isIncrement"` + IsRequired uint8 `json:"isRequired" structs:"isRequired"` // 是否必填 + IsInsert uint8 `json:"isInsert" structs:"isInsert"` // 是否为插入字段 + IsEdit uint8 `json:"isEdit" structs:"isEdit"` // 是否编辑字段 + IsList uint8 `json:"isList" structs:"isList"` // 是否列表字段 + IsQuery uint8 `json:"isQuery" structs:"isQuery"` // 是否查询字段 + QueryType string `json:"queryType" structs:"queryType"` // 查询方式: [等于、不等于、大于、小于、范围] + HtmlType string `json:"htmlType" structs:"htmlType"` // 显示类型: [文本框、文本域、下拉框、复选框、单选框、日期控件] + DictType string `json:"dictType" structs:"dictType"` // 字典类型 + CreateTime core.TsTime `json:"createTime" structs:"createTime"` // 创建时间 + UpdateTime core.TsTime `json:"updateTime" structs:"updateTime"` // 更新时间 } -//GenTableDetailResp 生成表详情返回信息 +// GenTableDetailResp 生成表详情返回信息 type GenTableDetailResp struct { Base GenTableBaseResp `json:"base" structs:"base"` // 基本信息 Gen GenTableGenResp `json:"gen" structs:"gen"` // 生成信息 diff --git a/server/generator/templates/gocode/model.go.tpl b/server/generator/templates/gocode/model.go.tpl index ef85a52..64402fa 100644 --- a/server/generator/templates/gocode/model.go.tpl +++ b/server/generator/templates/gocode/model.go.tpl @@ -4,7 +4,7 @@ package {{{ .PackageName }}} type {{{ title (toCamelCase .EntityName) }}} struct { {{{- range .Columns }}} {{{- if not (contains $.SubTableFields .ColumnName) }}} - {{{ title (toCamelCase .JavaField) }}} {{{ if eq .JavaType "core.TsTime" }}} int64 {{{ else }}} {{{ .JavaType }}} {{{ end }}} `gorm:"{{{ if .IsPk }}}primarykey;{{{ end }}}comment:'{{{ .ColumnComment }}}'"` // {{{ .ColumnComment }}} + {{{ title (toCamelCase .GoField) }}} {{{ if eq .GoType "core.TsTime" }}} int64 {{{ else }}} {{{ .GoType }}} {{{ end }}} `gorm:"{{{ if .IsPk }}}primarykey;{{{ end }}}comment:'{{{ .ColumnComment }}}'"` // {{{ .ColumnComment }}} {{{- end }}} {{{- end }}} } diff --git a/server/generator/templates/gocode/schema.go.tpl b/server/generator/templates/gocode/schema.go.tpl index cf37dbe..f58c206 100644 --- a/server/generator/templates/gocode/schema.go.tpl +++ b/server/generator/templates/gocode/schema.go.tpl @@ -8,7 +8,7 @@ import ( type {{{ title (toCamelCase .EntityName) }}}ListReq struct { {{{- range .Columns }}} {{{- if .IsQuery }}} - {{{ title (toCamelCase .JavaField) }}} {{{ .JavaType }}} `form:"{{{ toCamelCase .JavaField }}}"` // {{{ .ColumnComment }}} + {{{ title (toCamelCase .GoField) }}} {{{ .GoType }}} `form:"{{{ toCamelCase .GoField }}}"` // {{{ .ColumnComment }}} {{{- end }}} {{{- end }}} } @@ -17,7 +17,7 @@ type {{{ title (toCamelCase .EntityName) }}}ListReq struct { type {{{ title (toCamelCase .EntityName) }}}DetailReq struct { {{{- range .Columns }}} {{{- if .IsPk }}} - {{{ title (toCamelCase .JavaField) }}} {{{ .JavaType }}} `form:"{{{ toCamelCase .JavaField }}}"` // {{{ .ColumnComment }}} + {{{ title (toCamelCase .GoField) }}} {{{ .GoType }}} `form:"{{{ toCamelCase .GoField }}}"` // {{{ .ColumnComment }}} {{{- end }}} {{{- end }}} } @@ -26,7 +26,7 @@ type {{{ title (toCamelCase .EntityName) }}}DetailReq struct { type {{{ title (toCamelCase .EntityName) }}}AddReq struct { {{{- range .Columns }}} {{{- if .IsInsert }}} - {{{ title (toCamelCase .JavaField) }}} {{{ .JavaType }}} `form:"{{{ toCamelCase .JavaField }}}"` // {{{ .ColumnComment }}} + {{{ title (toCamelCase .GoField) }}} {{{ .GoType }}} `form:"{{{ toCamelCase .GoField }}}"` // {{{ .ColumnComment }}} {{{- end }}} {{{- end }}} } @@ -35,7 +35,7 @@ type {{{ title (toCamelCase .EntityName) }}}AddReq struct { type {{{ title (toCamelCase .EntityName) }}}EditReq struct { {{{- range .Columns }}} {{{- if .IsEdit }}} - {{{ title (toCamelCase .JavaField) }}} {{{ .JavaType }}} `form:"{{{ toCamelCase .JavaField }}}"` // {{{ .ColumnComment }}} + {{{ title (toCamelCase .GoField) }}} {{{ .GoType }}} `form:"{{{ toCamelCase .GoField }}}"` // {{{ .ColumnComment }}} {{{- end }}} {{{- end }}} } @@ -44,7 +44,7 @@ type {{{ title (toCamelCase .EntityName) }}}EditReq struct { type {{{ title (toCamelCase .EntityName) }}}DelReq struct { {{{- range .Columns }}} {{{- if .IsPk }}} - {{{ title (toCamelCase .JavaField) }}} {{{ .JavaType }}} `form:"{{{ toCamelCase .JavaField }}}"` // {{{ .ColumnComment }}} + {{{ title (toCamelCase .GoField) }}} {{{ .GoType }}} `form:"{{{ toCamelCase .GoField }}}"` // {{{ .ColumnComment }}} {{{- end }}} {{{- end }}} } @@ -53,7 +53,7 @@ type {{{ title (toCamelCase .EntityName) }}}DelReq struct { type {{{ title (toCamelCase .EntityName) }}}Resp struct { {{{- range .Columns }}} {{{- if or .IsList .IsPk }}} - {{{ title (toCamelCase .JavaField) }}} {{{ .JavaType }}} `json:"{{{ toCamelCase .JavaField }}}" structs:"{{{ toCamelCase .JavaField }}}"` // {{{ .ColumnComment }}} + {{{ title (toCamelCase .GoField) }}} {{{ .GoType }}} `json:"{{{ toCamelCase .GoField }}}" structs:"{{{ toCamelCase .GoField }}}"` // {{{ .ColumnComment }}} {{{- end }}} {{{- end }}} } diff --git a/server/generator/templates/gocode/service.go.tpl b/server/generator/templates/gocode/service.go.tpl index c5cdf91..e2d8f39 100644 --- a/server/generator/templates/gocode/service.go.tpl +++ b/server/generator/templates/gocode/service.go.tpl @@ -35,12 +35,12 @@ func (srv {{{ toCamelCase .EntityName }}}Service) List(page request.PageReq, lis {{{- range .Columns }}} {{{- if .IsQuery }}} {{{- $queryOpr := index $.ModelOprMap .QueryType }}} - {{{- if and (eq .JavaType "string") (eq $queryOpr "like") }}} + {{{- if and (eq .GoType "string") (eq $queryOpr "like") }}} if listReq.{{{ title (toCamelCase .ColumnName) }}} != "" { model = model.Where("{{{ .ColumnName }}} like ?", "%"+listReq.{{{ title (toCamelCase .ColumnName) }}}+"%") } {{{- else }}} - if listReq.{{{ title (toCamelCase .ColumnName) }}} {{{ if eq .JavaType "string" }}}!= ""{{{ else }}}>=0{{{ end }}} { + if listReq.{{{ title (toCamelCase .ColumnName) }}} {{{ if eq .GoType "string" }}}!= ""{{{ else }}}>=0{{{ end }}} { model = model.Where("{{{ .ColumnName }}} = ?", listReq.{{{ title (toCamelCase .ColumnName) }}}) } {{{- end }}} @@ -83,7 +83,7 @@ func (srv {{{ toCamelCase .EntityName }}}Service) Detail(id uint) (res {{{ title } response.Copy(&res, obj) {{{- range .Columns }}} - {{{- if and .IsEdit (contains (slice "image" "avatar" "logo" "img") .JavaField) }}} + {{{- if and .IsEdit (contains (slice "image" "avatar" "logo" "img") .GoField) }}} res.Avatar = util.UrlUtil.ToAbsoluteUrl(res.Avatar) {{{- end }}} {{{- end }}} diff --git a/server/generator/templates/vue/edit.vue.tpl b/server/generator/templates/vue/edit.vue.tpl index b9323e6..1efddc1 100644 --- a/server/generator/templates/vue/edit.vue.tpl +++ b/server/generator/templates/vue/edit.vue.tpl @@ -12,11 +12,11 @@ {{{- range .Columns }}} {{{- if .IsEdit }}} - {{{- if and (ne $.Table.TreeParent "") (eq .JavaField $.Table.TreeParent) }}} - + {{{- if and (ne $.Table.TreeParent "") (eq .GoField $.Table.TreeParent) }}} + {{{- else if eq .HtmlType "input" }}} - - + + {{{- else if eq .HtmlType "number" }}} - - + + {{{- else if eq .HtmlType "textarea" }}} - + {{{- else if eq .HtmlType "checkbox" }}} - - + + {{{- if ne .DictType "" }}} {{{- else if eq .HtmlType "select" }}} - - + + {{{- if ne .DictType "" }}} {{{- else if eq .HtmlType "radio" }}} - - + + {{{- if ne .DictType "" }}} {{{- else if eq .HtmlType "datetime" }}} - + {{{- else if eq .HtmlType "editor" }}} - - + + {{{- else if eq .HtmlType "imageUpload" }}} - - + + {{{- end }}} {{{- end }}} @@ -153,15 +153,15 @@ const popupTitle = computed(() => { const formData = reactive({ {{{- range .Columns }}} - {{{- if eq .JavaField $.PrimaryKey }}} + {{{- if eq .GoField $.PrimaryKey }}} {{{ $.PrimaryKey }}}: '', {{{- else if .IsEdit }}} {{{- if eq .HtmlType "checkbox" }}} - {{{ .JavaField }}}: [], + {{{ .GoField }}}: [], {{{- else if eq .HtmlType "number" }}} - {{{ .JavaField }}}: 0, + {{{ .GoField }}}: 0, {{{- else }}} - {{{ .JavaField }}}: '', + {{{ .GoField }}}: '', {{{- end }}} {{{- end }}} {{{- end }}} @@ -170,7 +170,7 @@ const formData = reactive({ const formRules = { {{{- range .Columns }}} {{{- if and .IsEdit .IsRequired }}} - {{{ .JavaField }}}: [ + {{{ .GoField }}}: [ { required: true, {{{- if or (eq .HtmlType "checkbox") (eq .HtmlType "datetime") (eq .HtmlType "radio") (eq .HtmlType "select") (eq .HtmlType "imageUpload") }}} @@ -190,7 +190,7 @@ const handleSubmit = async () => { const data: any = { ...formData } {{{- range .Columns }}} {{{- if eq .HtmlType "checkbox" }}} - data.{{{ .JavaField }}} = data.{{{ .JavaField }}}.join(',') + data.{{{ .GoField }}} = data.{{{ .GoField }}}.join(',') {{{- end }}} {{{- end }}} mode.value == 'edit' ? await {{{ .ModuleName }}}Edit(data) : await {{{ .ModuleName }}}Add(data) @@ -212,7 +212,7 @@ const setFormData = async (data: Record) => { {{{- range .Columns }}} {{{- if eq .HtmlType "checkbox" }}} //@ts-ignore - formData.{{{ .JavaField }}} = String(data.{{{ .JavaField }}}).split(',') + formData.{{{ .GoField }}} = String(data.{{{ .GoField }}}).split(',') {{{- end }}} {{{- end }}} } diff --git a/server/generator/templates/vue/index-tree.vue.tpl b/server/generator/templates/vue/index-tree.vue.tpl index 89eb389..3a61049 100644 --- a/server/generator/templates/vue/index-tree.vue.tpl +++ b/server/generator/templates/vue/index-tree.vue.tpl @@ -5,16 +5,16 @@ {{{- range .Columns }}} {{{- if eq .IsQuery 1 }}} {{{- if eq .HtmlType "datetime" }}} - + {{{- else if or (eq .HtmlType "select") (eq .HtmlType "radio") }}} - + @@ -32,8 +32,8 @@ {{{- else if eq .HtmlType "input" }}} - - + + {{{- end }}} {{{- end }}} @@ -66,26 +66,26 @@ {{{- range .Columns }}} {{{- if .IsList }}} {{{- if and (ne .DictType "") (or (eq .HtmlType "select") (eq .HtmlType "radio") (eq .HtmlType "checkbox")) }}} - + {{{- else if eq .HtmlType "imageUpload" }}} - + {{{- else }}} - + {{{- end }}} {{{- end }}} {{{- end }}} @@ -150,10 +150,10 @@ const queryParams = reactive({ {{{- range .Columns }}} {{{- if .IsQuery }}} {{{- if eq .HtmlType "datetime" }}} - {{{ .JavaField }}}Start: '', - {{{ .JavaField }}}End: '', + {{{ .GoField }}}Start: '', + {{{ .GoField }}}End: '', {{{- else }}} - {{{ .JavaField }}}: '', + {{{ .GoField }}}: '', {{{- end }}} {{{- end }}} {{{- end }}} diff --git a/server/generator/templates/vue/index.vue.tpl b/server/generator/templates/vue/index.vue.tpl index 17eceec..db2dc1a 100644 --- a/server/generator/templates/vue/index.vue.tpl +++ b/server/generator/templates/vue/index.vue.tpl @@ -5,16 +5,16 @@ {{{- range .Columns }}} {{{- if eq .IsQuery 1 }}} {{{- if eq .HtmlType "datetime" }}} - + {{{- else if or (eq .HtmlType "select") (eq .HtmlType "radio") }}} - + @@ -32,8 +32,8 @@ {{{- else if eq .HtmlType "input" }}} - - + + {{{- end }}} {{{- end }}} @@ -62,26 +62,26 @@ {{{- range .Columns }}} {{{- if .IsList }}} {{{- if and (ne .DictType "") (or (eq .HtmlType "select") (eq .HtmlType "radio") (eq .HtmlType "checkbox")) }}} - + {{{- else if eq .HtmlType "imageUpload" }}} - + {{{- else }}} - + {{{- end }}} {{{- end }}} {{{- end }}} @@ -135,10 +135,10 @@ const queryParams = reactive({ {{{- range .Columns }}} {{{- if .IsQuery }}} {{{- if eq .HtmlType "datetime" }}} - {{{ .JavaField }}}Start: '', - {{{ .JavaField }}}End: '', + {{{ .GoField }}}Start: '', + {{{ .GoField }}}End: '', {{{- else }}} - {{{ .JavaField }}}: '', + {{{ .GoField }}}: '', {{{- end }}} {{{- end }}} {{{- end }}} diff --git a/server/generator/tpl.go b/server/generator/tpl.go index 4418427..a91b070 100644 --- a/server/generator/tpl.go +++ b/server/generator/tpl.go @@ -29,23 +29,23 @@ var TemplateUtil = templateUtil{ }), } -//sub 模板-减函数 +// sub 模板-减函数 func sub(a, b int) int { return a - b } -//slice 模板-创建切片 +// slice 模板-创建切片 func slice(items ...interface{}) []interface{} { return items } -//zFile 待加入zip的文件 +// zFile 待加入zip的文件 type zFile struct { Name string Body string } -//TplVars 模板变量 +// TplVars 模板变量 type TplVars struct { GenTpl string TableName string @@ -74,13 +74,13 @@ type TplVars struct { //ModelTypeMap map[string]string } -//genUtil 模板工具 +// genUtil 模板工具 type templateUtil struct { basePath string tpl *template.Template } -//PrepareVars 获取模板变量信息 +// PrepareVars 获取模板变量信息 func (tu templateUtil) PrepareVars(table gen.GenTable, columns []gen.GenTableColumn, oriSubPriCol gen.GenTableColumn, oriSubCols []gen.GenTableColumn) TplVars { subPriField := "id" @@ -118,7 +118,7 @@ func (tu templateUtil) PrepareVars(table gen.GenTable, columns []gen.GenTableCol isSearch = true } if column.IsPk == 1 { - primaryKey = column.JavaField + primaryKey = column.GoField primaryField = column.ColumnName } if column.DictType != "" && !util.ToolsUtil.Contains(dictFields, column.DictType) { @@ -159,7 +159,7 @@ func (tu templateUtil) PrepareVars(table gen.GenTable, columns []gen.GenTableCol } } -//GetTemplatePaths 获取模板路径 +// GetTemplatePaths 获取模板路径 func (tu templateUtil) GetTemplatePaths(genTpl string) []string { tplPaths := []string{ "gocode/model.go.tpl", @@ -177,7 +177,7 @@ func (tu templateUtil) GetTemplatePaths(genTpl string) []string { return tplPaths } -//Render 渲染模板 +// Render 渲染模板 func (tu templateUtil) Render(tplPath string, tplVars TplVars) (res string, e error) { tpl, err := tu.tpl.ParseFiles(path.Join(config.Config.RootPath, tu.basePath, tplPath)) if e = response.CheckErr(err, "TemplateUtil.Render ParseFiles err"); e != nil { @@ -191,7 +191,7 @@ func (tu templateUtil) Render(tplPath string, tplVars TplVars) (res string, e er return buf.String(), nil } -//GetGenPath 获取生成路径 +// GetGenPath 获取生成路径 func (tu templateUtil) GetGenPath(table gen.GenTable) string { if table.GenPath == "/" { //return path.Join(config.Config.RootPath, config.GenConfig.GenRootPath) @@ -200,7 +200,7 @@ func (tu templateUtil) GetGenPath(table gen.GenTable) string { return table.GenPath } -//GetFilePaths 获取生成文件相对路径 +// GetFilePaths 获取生成文件相对路径 func (tu templateUtil) GetFilePaths(tplCodeMap map[string]string, moduleName string) map[string]string { //模板文件对应的输出文件 fmtMap := map[string]string{ @@ -221,7 +221,7 @@ func (tu templateUtil) GetFilePaths(tplCodeMap map[string]string, moduleName str return filePath } -//GenCodeFiles 生成代码文件 +// GenCodeFiles 生成代码文件 func (tu templateUtil) GenCodeFiles(tplCodeMap map[string]string, moduleName string, basePath string) error { filePaths := tu.GetFilePaths(tplCodeMap, moduleName) for file, tplCode := range filePaths { @@ -257,7 +257,7 @@ func addFileToZip(zipWriter *zip.Writer, file zFile) error { return nil } -//GenZip 生成代码压缩包 +// GenZip 生成代码压缩包 func (tu templateUtil) GenZip(zipWriter *zip.Writer, tplCodeMap map[string]string, moduleName string) error { filePaths := tu.GetFilePaths(tplCodeMap, moduleName) files := make([]zFile, 0) diff --git a/server/generator/utils.go b/server/generator/utils.go index 4e6c86b..47f1693 100644 --- a/server/generator/utils.go +++ b/server/generator/utils.go @@ -1,28 +1,29 @@ package generator import ( - "gorm.io/gorm" "likeadmin/config" "likeadmin/model/gen" "likeadmin/util" "strconv" "strings" "time" + + "gorm.io/gorm" ) var GenUtil = genUtil{} -//genUtil 代码生成工具 +// genUtil 代码生成工具 type genUtil struct{} -//GetDbTablesQuery 查询库中的数据表 +// GetDbTablesQuery 查询库中的数据表 func (gu genUtil) GetDbTablesQuery(db *gorm.DB, tableName string, tableComment string) *gorm.DB { whereStr := "" if tableName != "" { - whereStr += `lower(table_name) like lower("%` + tableName + `%")` + whereStr += `and lower(table_name) like lower("%` + tableName + `%")` } if tableComment != "" { - whereStr += `lower(table_comment) like lower("%` + tableComment + `%")` + whereStr += `and lower(table_comment) like lower("%` + tableComment + `%")` } query := db.Table("information_schema.tables").Where( `table_schema = (SELECT database()) @@ -33,7 +34,7 @@ func (gu genUtil) GetDbTablesQuery(db *gorm.DB, tableName string, tableComment s return query } -//GetDbTablesQueryByNames 根据表名集查询表 +// GetDbTablesQueryByNames 根据表名集查询表 func (gu genUtil) GetDbTablesQueryByNames(db *gorm.DB, tableNames []string) *gorm.DB { query := db.Table("information_schema.tables").Where( `table_schema = (SELECT database()) @@ -44,7 +45,7 @@ func (gu genUtil) GetDbTablesQueryByNames(db *gorm.DB, tableNames []string) *gor return query } -//GetDbTableColumnsQueryByName 根据表名查询列信息 +// GetDbTableColumnsQueryByName 根据表名查询列信息 func (gu genUtil) GetDbTableColumnsQueryByName(db *gorm.DB, tableName string) *gorm.DB { query := db.Table("information_schema.columns").Where( `table_schema = (SELECT database()) @@ -57,7 +58,7 @@ func (gu genUtil) GetDbTableColumnsQueryByName(db *gorm.DB, tableName string) *g return query } -//InitTable 初始化表 +// InitTable 初始化表 func (gu genUtil) InitTable(table gen.GenTable) gen.GenTable { return gen.GenTable{ TableName: table.TableName, @@ -71,7 +72,7 @@ func (gu genUtil) InitTable(table gen.GenTable) gen.GenTable { } } -//InitColumn 初始化字段列 +// InitColumn 初始化字段列 func (gu genUtil) InitColumn(tableId uint, column gen.GenTableColumn) gen.GenTableColumn { columnType := gu.GetDbType(column.ColumnType) columnLen := gu.GetColumnLength(column.ColumnType) @@ -81,8 +82,8 @@ func (gu genUtil) InitColumn(tableId uint, column gen.GenTableColumn) gen.GenTab ColumnComment: column.ColumnComment, ColumnType: columnType, ColumnLength: columnLen, - JavaField: column.ColumnName, - JavaType: GoConstants.TypeString, + GoField: column.ColumnName, + GoType: GoConstants.TypeString, QueryType: GenConstants.QueryEq, Sort: column.Sort, IsPk: column.IsPk, @@ -100,19 +101,19 @@ func (gu genUtil) InitColumn(tableId uint, column gen.GenTableColumn) gen.GenTab } } else if util.ToolsUtil.Contains(SqlConstants.ColumnTypeTime, columnType) { //日期字段 - col.JavaType = GoConstants.TypeDate + col.GoType = GoConstants.TypeDate col.HtmlType = HtmlConstants.HtmlDatetime } else if util.ToolsUtil.Contains(SqlConstants.ColumnTimeName, col.ColumnName) { //时间字段 - col.JavaType = GoConstants.TypeDate + col.GoType = GoConstants.TypeDate col.HtmlType = HtmlConstants.HtmlDatetime } else if util.ToolsUtil.Contains(SqlConstants.ColumnTypeNumber, columnType) { //数字字段 col.HtmlType = HtmlConstants.HtmlInput if strings.Contains(columnType, ",") { - col.JavaType = GoConstants.TypeFloat + col.GoType = GoConstants.TypeFloat } else { - col.JavaType = GoConstants.TypeInt + col.GoType = GoConstants.TypeInt } } //非必填字段 @@ -161,13 +162,13 @@ func (gu genUtil) InitColumn(tableId uint, column gen.GenTableColumn) gen.GenTab return col } -//ToModuleName 表名转业务名 +// ToModuleName 表名转业务名 func (gu genUtil) ToModuleName(name string) string { names := strings.Split(name, "_") return names[len(names)-1] } -//ToClassName 表名转类名 +// ToClassName 表名转类名 func (gu genUtil) ToClassName(name string) string { tablePrefix := config.Config.DbTablePrefix if config.GenConfig.IsRemoveTablePrefix && tablePrefix != "" { @@ -178,7 +179,7 @@ func (gu genUtil) ToClassName(name string) string { return util.StringUtil.ToCamelCase(name) } -//GetDbType 获取数据库类型字段 +// GetDbType 获取数据库类型字段 func (gu genUtil) GetDbType(columnType string) string { index := strings.IndexRune(columnType, '(') if index < 0 { @@ -187,7 +188,7 @@ func (gu genUtil) GetDbType(columnType string) string { return columnType[:index] } -//GetColumnLength 获取字段长度 +// GetColumnLength 获取字段长度 func (gu genUtil) GetColumnLength(columnType string) int { index := strings.IndexRune(columnType, '(') if index < 0 { @@ -200,7 +201,7 @@ func (gu genUtil) GetColumnLength(columnType string) int { return length } -//GetTablePriCol 获取主键列名称 +// GetTablePriCol 获取主键列名称 func (gu genUtil) GetTablePriCol(columns []gen.GenTableColumn) (res gen.GenTableColumn) { for _, col := range columns { if col.IsPk == 1 { diff --git a/server/go.mod b/server/go.mod index a71fd14..945da72 100644 --- a/server/go.mod +++ b/server/go.mod @@ -9,8 +9,10 @@ require ( github.com/go-redis/redis/v9 v9.0.0-rc.2 github.com/google/uuid v1.1.2 github.com/jinzhu/copier v0.3.5 + github.com/shirou/gopsutil v3.21.11+incompatible github.com/spf13/viper v1.14.0 github.com/ua-parser/uap-go v0.0.0-20211112212520-00c877edfe0f + go.uber.org/dig v1.16.1 go.uber.org/zap v1.23.0 gorm.io/driver/mysql v1.4.4 gorm.io/gorm v1.24.2 @@ -21,6 +23,7 @@ require ( github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/gin-contrib/sse v0.1.0 // indirect + github.com/go-ole/go-ole v1.2.6 // indirect github.com/go-playground/locales v0.14.0 // indirect github.com/go-playground/universal-translator v0.18.0 // indirect github.com/go-playground/validator/v10 v10.11.1 // indirect @@ -38,7 +41,6 @@ require ( github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pelletier/go-toml v1.9.5 // indirect github.com/pelletier/go-toml/v2 v2.0.6 // indirect - github.com/shirou/gopsutil v3.21.11+incompatible // indirect github.com/spf13/afero v1.9.2 // indirect github.com/spf13/cast v1.5.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect @@ -47,8 +49,8 @@ require ( github.com/tklauser/go-sysconf v0.3.11 // indirect github.com/tklauser/numcpus v0.6.0 // indirect github.com/ugorji/go/codec v1.2.7 // indirect + github.com/yusufpapurcu/wmi v1.2.3 // indirect go.uber.org/atomic v1.9.0 // indirect - go.uber.org/dig v1.16.1 // indirect go.uber.org/multierr v1.8.0 // indirect golang.org/x/crypto v0.3.0 // indirect golang.org/x/net v0.2.0 // indirect diff --git a/server/go.sum b/server/go.sum index b64c885..470b37a 100644 --- a/server/go.sum +++ b/server/go.sum @@ -75,6 +75,8 @@ github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= +github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= @@ -250,6 +252,8 @@ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw= +github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= @@ -372,6 +376,7 @@ golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/server/model/gen/gen.go b/server/model/gen/gen.go index 177daa5..25df580 100644 --- a/server/model/gen/gen.go +++ b/server/model/gen/gen.go @@ -30,8 +30,8 @@ type GenTableColumn struct { ColumnComment string `gorm:"not null;default:'';comment:'列描述'"` ColumnLength int `gorm:"not null;default:0;comment:'列长度'"` ColumnType string `gorm:"not null;default:'';comment:'列类型'"` - JavaType string `gorm:"not null;default:'';comment:'类型'"` - JavaField string `gorm:"not null;default:'';comment:'字段名'"` + GoType string `gorm:"not null;default:'';comment:'类型'"` + GoField string `gorm:"not null;default:'';comment:'字段名'"` IsPk uint8 `gorm:"not null;default:0;comment:'是否主键: [1=是, 0=否]'"` IsIncrement uint8 `gorm:"not null;default:0;comment:'是否自增: [1=是, 0=否]'"` IsRequired uint8 `gorm:"not null;default:0;comment:'是否必填: [1=是, 0=否]'"` diff --git a/sql/install.sql b/sql/install.sql index 206379d..f82885a 100644 --- a/sql/install.sql +++ b/sql/install.sql @@ -196,8 +196,8 @@ CREATE TABLE `la_gen_table_column` ( `column_comment` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '列描述', `column_length` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '列长度', `column_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '列类型 ', - `java_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'JAVA类型', - `java_field` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'JAVA字段', + `go_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'go类型', + `go_field` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'go字段', `is_pk` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否主键: [1=是, 0=否]', `is_increment` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否自增: [1=是, 0=否]', `is_required` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否必填: [1=是, 0=否]', @@ -649,6 +649,7 @@ INSERT INTO `la_system_auth_menu` VALUES (555, 500, 'C', '存储设置', 'el-ico INSERT INTO `la_system_auth_menu` VALUES (556, 555, 'A', '保存配置', '', 0, 'setting:storage:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); INSERT INTO `la_system_auth_menu` VALUES (600, 0, 'M', '开发工具', 'el-icon-EditPen', 0, '', 'dev_tools', '', '', '', 0, 1, 0, 1660027606, 1664335701); INSERT INTO `la_system_auth_menu` VALUES (610, 600, 'C', '代码生成器', 'el-icon-DocumentAdd', 0, 'gen:list', 'code', 'dev_tools/code/index', '', '', 0, 1, 0, 1660028954, 1660532510); + INSERT INTO `la_system_auth_menu` VALUES (611, 610, 'A', '导入数据表', '', 0, 'gen:importTable', '', '', '', '', 0, 1, 0, 1660532389, 1660532389); INSERT INTO `la_system_auth_menu` VALUES (612, 610, 'A', '生成代码', '', 0, 'gen:genCode', '', '', '', '', 0, 1, 0, 1660532421, 1660532421); INSERT INTO `la_system_auth_menu` VALUES (613, 610, 'A', '下载代码', '', 0, 'gen:downloadCode', '', '', '', '', 0, 1, 0, 1660532437, 1660532437); @@ -658,6 +659,9 @@ INSERT INTO `la_system_auth_menu` VALUES (617, 610, 'A', '删除数据表', '', INSERT INTO `la_system_auth_menu` VALUES (618, 610, 'A', '数据表详情', '', 0, 'gen:detail', '', '', '', '', 0, 1, 0, 1660532964, 1660532977); INSERT INTO `la_system_auth_menu` VALUES (700, 0, 'M', '素材管理', 'el-icon-Picture', 43, '', 'material', '', '', '', 0, 1, 0, 1660203293, 1663300847); INSERT INTO `la_system_auth_menu` VALUES (701, 700, 'C', '素材中心', 'el-icon-PictureRounded', 0, '', 'index', 'material/index', '', '', 0, 1, 0, 1660203402, 1663301493); + +INSERT INTO `la_system_auth_menu` VALUES (776, 600, 'C', '代码生成器', 'el-icon-DocumentAdd', 0, 'gen:editTable', 'dev_tools/code/edit', 'dev_tools/code/edit', '', '', 0, 1, 0, 1660028954, 1660532510); + -- INSERT INTO `la_system_auth_menu` VALUES (703, 0, 'M', '文章资讯', 'el-icon-ChatLineSquare', 49, '', 'article', '', '', '', 0, 1, 0, 1661757636, 1664416659); -- INSERT INTO `la_system_auth_menu` VALUES (704, 703, 'C', '文章管理', 'el-icon-ChatDotSquare', 3, 'article:list', 'lists', 'article/lists/index', '', '', 1, 1, 0, 1661757743, 1663658220); -- INSERT INTO `la_system_auth_menu` VALUES (705, 703, 'C', '文章栏目', 'el-icon-CollectionTag', 0, 'article:cate:list', 'column', 'article/column/index', '', '', 1, 1, 0, 1661759218, 1663578137); -- Gitee From 2c17a65bf34883e828dc5f04e5b5d48fe0137552 Mon Sep 17 00:00:00 2001 From: xiangheng <11675084@qq.com> Date: Thu, 9 Nov 2023 00:25:12 +0800 Subject: [PATCH 02/41] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 +- admin/.editorconfig | 14 + admin/.prettierrc | 11 + admin/package.json | 72 +- admin/pnpm-lock.yaml | 1444 ++++++++++------- admin/src/components/icon/index.vue | 1 + admin/src/install/plugins/hljs.ts | 8 - .../src/{install/plugins => utils}/echart.ts | 0 admin/src/views/article/column/index.vue | 6 +- admin/src/views/consumer/lists/detail.vue | 5 +- .../dev_tools/components/code-preview.vue | 12 +- admin/src/views/setting/system/cache.vue | 1 + admin/src/views/workbench/index.vue | 29 +- admin/tsconfig.config.json | 8 - admin/tsconfig.json | 9 +- admin/vite.config.ts | 7 +- frontend/assets/403.17bcb26d.js | 1 - frontend/assets/404.4e9fcb4b.js | 1 - frontend/assets/@ctrl.fd318bfa.js | 1 - frontend/assets/@element-plus.3660753f.js | 1 - frontend/assets/@floating-ui.dd8b295f.js | 1 - frontend/assets/@highlightjs.7fc78ec7.js | 1 - frontend/assets/@popperjs.36402333.js | 1 - frontend/assets/@vue.a137a740.js | 1 - frontend/assets/@vueuse.a2c70c0f.js | 1 - frontend/assets/@wangeditor.501cf061.css | 1 - frontend/assets/@wangeditor.e356e69e.js | 186 --- frontend/assets/add-nav.e394d338.js | 1 - ...ue_type_script_setup_true_lang.80ba86a8.js | 1 - frontend/assets/article.088945e6.js | 1 - frontend/assets/async-validator.fb49d0f5.js | 12 - frontend/assets/attr-setting.1492f83c.js | 1 - ...ue_type_script_setup_true_lang.ded30327.js | 1 - frontend/assets/attr.02053188.js | 1 - frontend/assets/attr.15bf174a.js | 1 - frontend/assets/attr.1cee55bb.js | 1 - frontend/assets/attr.240dc764.js | 1 - frontend/assets/attr.48ee45e1.js | 1 - frontend/assets/attr.847bab2a.js | 1 - frontend/assets/attr.d3150e80.js | 1 - frontend/assets/attr.db9092b2.js | 1 - ...ue_type_script_setup_true_lang.0d0bddbd.js | 1 - ...ue_type_script_setup_true_lang.263c7d3a.js | 1 - ...ue_type_script_setup_true_lang.87403b25.js | 1 - ...ue_type_script_setup_true_lang.9653ec08.js | 1 - ...ue_type_script_setup_true_lang.9820b9a5.js | 1 - ...ue_type_script_setup_true_lang.a6ae21ee.js | 1 - ...ue_type_script_setup_true_lang.bf2f36d9.js | 1 - ...ue_type_script_setup_true_lang.d5fe8acc.js | 1 - frontend/assets/auth.7693809f.js | 1 - ...ue_type_script_setup_true_lang.3a00b597.js | 1 - frontend/assets/axios.d8168cfd.js | 2 - frontend/assets/balanced-match.d2a36341.js | 1 - frontend/assets/cache.b08e0053.css | 1 - frontend/assets/cache.b47eeb8a.js | 1 - frontend/assets/clipboard.7c3d630c.js | 6 - frontend/assets/clone.73d1916b.js | 1 - frontend/assets/code-preview.842d3863.js | 1 - ...ue_type_script_setup_true_lang.c399b9fa.js | 1 - frontend/assets/code.f22591bf.js | 1 - frontend/assets/color-convert.755d189f.js | 1 - frontend/assets/color-name.e7a4e1d3.js | 1 - frontend/assets/color-string.e356f5de.js | 1 - frontend/assets/color.a9016252.js | 1 - frontend/assets/config.93502908.js | 1 - frontend/assets/consumer.cb190ce7.js | 1 - frontend/assets/content.0741fe1b.js | 1 - frontend/assets/content.1d849f3e.js | 1 - frontend/assets/content.34a61d57.js | 1 - frontend/assets/content.70054042.js | 1 - frontend/assets/content.75595e09.css | 1 - frontend/assets/content.8f3b2cf8.css | 1 - frontend/assets/content.9f244b19.css | 1 - frontend/assets/content.a46896e0.js | 1 - frontend/assets/content.a7d414a1.js | 1 - frontend/assets/content.be533d33.js | 1 - frontend/assets/content.c9a2d497.css | 1 - frontend/assets/content.e49081eb.js | 1 - frontend/assets/content.efb8af20.css | 1 - ...ue_type_script_setup_true_lang.6a1fe0f2.js | 1 - ...ue_type_script_setup_true_lang.7a308c7b.js | 1 - ...ue_type_script_setup_true_lang.8a24db46.js | 1 - .../assets/css-color-function.b4c88e1a.js | 1 - frontend/assets/customer_service.b8d87eb8.png | Bin 85609 -> 0 bytes frontend/assets/data-table.3d273333.js | 1 - ...ue_type_script_setup_true_lang.725a93f7.js | 1 - frontend/assets/dayjs.bd523028.js | 1 - frontend/assets/decoration-img.49159595.css | 1 - frontend/assets/decoration-img.6b504034.js | 1 - frontend/assets/decoration.92ac0f89.js | 1 - frontend/assets/default_avatar.fa19527b.png | Bin 6093 -> 0 bytes frontend/assets/default_reply.ba182d9c.js | 1 - frontend/assets/department.56dd43eb.js | 1 - frontend/assets/detail.e6dacb35.js | 1 - frontend/assets/dict.0791f42c.js | 1 - frontend/assets/echarts.098cf7d6.js | 30 - frontend/assets/edit.29a2d812.js | 1 - frontend/assets/edit.32147495.js | 1 - frontend/assets/edit.3e052480.js | 1 - frontend/assets/edit.4969df4e.js | 1 - frontend/assets/edit.609d14c7.js | 1 - frontend/assets/edit.6fe1ae76.js | 1 - frontend/assets/edit.7b94601c.js | 1 - frontend/assets/edit.82b90b61.js | 1 - frontend/assets/edit.bacf9c82.js | 1 - frontend/assets/edit.c043cf1b.js | 1 - frontend/assets/edit.d1ee75b5.js | 1 - frontend/assets/edit.ebe416d4.js | 1 - frontend/assets/edit.f0491a22.js | 1 - frontend/assets/edit.f146e954.js | 1 - ...ue_type_script_setup_true_lang.0fb1b651.js | 1 - ...ue_type_script_setup_true_lang.10ce790b.js | 1 - ...ue_type_script_setup_true_lang.2bbb2db0.js | 1 - ...ue_type_script_setup_true_lang.2e79ec38.js | 1 - ...ue_type_script_setup_true_lang.45df9b2c.js | 1 - ...ue_type_script_setup_true_lang.59c2def5.js | 1 - ...ue_type_script_setup_true_lang.95481b7f.js | 1 - ...ue_type_script_setup_true_lang.9c58286d.js | 1 - ...ue_type_script_setup_true_lang.af8d5433.js | 1 - ...ue_type_script_setup_true_lang.d2c196de.js | 1 - ...ue_type_script_setup_true_lang.ff33b7b1.js | 1 - frontend/assets/element-plus.17524d8e.css | 1 - frontend/assets/element-plus.de1a1f40.js | 14 - frontend/assets/environment.9c623b55.js | 1 - frontend/assets/error.be93caf8.css | 1 - frontend/assets/error.c6beee97.js | 1 - frontend/assets/escape-html.e5dfadb9.js | 7 - frontend/assets/filing.0b2a6ff6.js | 1 - frontend/assets/follow_reply.6d04a1e2.js | 1 - frontend/assets/h5.c306a7cd.js | 1 - frontend/assets/highlight.5f5db245.css | 10 - frontend/assets/highlight.js.7165574c.js | 4 - frontend/assets/index.07a5e8bc.js | 1 - frontend/assets/index.0d25a475.css | 1 - frontend/assets/index.0e8d995b.js | 1 - frontend/assets/index.21c448ab.css | 1 - frontend/assets/index.26654406.js | 1 - frontend/assets/index.2ace3fcf.css | 1 - frontend/assets/index.31464286.js | 1 - frontend/assets/index.445e589d.js | 1 - frontend/assets/index.44a01506.js | 1 - frontend/assets/index.58ba4db9.css | 1 - frontend/assets/index.67cc9ebb.js | 1 - frontend/assets/index.6a3dd82f.js | 1 - frontend/assets/index.6ba69e47.js | 1 - frontend/assets/index.7f91a652.css | 1 - frontend/assets/index.81d4a27e.js | 1 - frontend/assets/index.918b468f.js | 1 - frontend/assets/index.9a7f6163.js | 1 - frontend/assets/index.9bce7fe7.css | 1 - frontend/assets/index.9d59564a.css | 1 - frontend/assets/index.a318de61.css | 1 - frontend/assets/index.b5787d9d.js | 1 - frontend/assets/index.be29c95e.css | 1 - frontend/assets/index.c44bac01.js | 1 - frontend/assets/index.c6f2c644.js | 1 - frontend/assets/index.ca14280d.js | 1 - frontend/assets/index.cebb5ea1.js | 1 - frontend/assets/index.e3dd6562.js | 1 - frontend/assets/index.eb574d2d.js | 1 - frontend/assets/index.ef0f7531.js | 1 - frontend/assets/index.ef7609ad.js | 1 - frontend/assets/index.f5cb4a52.js | 1 - frontend/assets/index.f66eb2aa.js | 1 - frontend/assets/index.fc436213.js | 1 - ...ue_type_script_setup_true_lang.39a181dd.js | 1 - ...ue_type_script_setup_true_lang.ed8344af.js | 1 - ...ue_vue_type_style_index_0_lang.d8d8a015.js | 1 - frontend/assets/information.493733ac.js | 1 - frontend/assets/journal.ffdfa6a6.js | 1 - frontend/assets/keyword_reply.609fe3d1.js | 1 - frontend/assets/lodash-es.7718a1e4.js | 1 - frontend/assets/lodash-unified.d120b703.js | 1 - frontend/assets/lodash.48927ea5.js | 27 - frontend/assets/login.343b5475.css | 1 - frontend/assets/login.3bfd88d0.js | 1 - frontend/assets/login_bg.2f630cea.png | Bin 59273 -> 0 bytes frontend/assets/login_register.aa2a4bc0.js | 1 - frontend/assets/memoize-one.5eaee740.js | 1 - frontend/assets/menu.0434b06a.js | 1 - frontend/assets/menu.81ffacfd.js | 1 - frontend/assets/menu.a050bec6.css | 1 - frontend/assets/menu.f83c1747.js | 1 - frontend/assets/menu_role.4823a023.png | Bin 4173 -> 0 bytes frontend/assets/message.b9ad1923.js | 1 - frontend/assets/ms.564e106c.js | 1 - frontend/assets/my_topbg.137a6c56.png | Bin 142469 -> 0 bytes frontend/assets/no_perms.a56e95a5.png | Bin 14619 -> 0 bytes .../assets/normalize-wheel-es.8aeb3683.js | 14 - frontend/assets/nprogress.0f0f7ca7.js | 2 - frontend/assets/nprogress.f5128a35.css | 1 - frontend/assets/oa-attr.252634e9.js | 1 - frontend/assets/oa-menu-form-edit.23d5bf7e.js | 1 - ...ue_type_script_setup_true_lang.4f43e598.js | 1 - frontend/assets/oa-menu-form.1b4fa3f8.js | 1 - ...ue_type_script_setup_true_lang.3b019b70.js | 1 - frontend/assets/oa-phone.7e83b8d9.js | 1 - frontend/assets/oa-phone.8b9170e2.css | 1 - frontend/assets/picker.05436930.css | 1 - frontend/assets/picker.3f838045.js | 1 - frontend/assets/picker.49fbd768.js | 1 - frontend/assets/picker.4f0f5330.css | 1 - frontend/assets/pinia.706f3ea9.js | 5 - frontend/assets/post.e033acdf.js | 1 - frontend/assets/preview.0f639a93.js | 1 - frontend/assets/preview.6e931073.css | 1 - frontend/assets/protocol.6515398e.js | 1 - frontend/assets/qq_group.87e5009a.png | Bin 33733 -> 0 bytes frontend/assets/resize-detector.4e96b72b.js | 1 - frontend/assets/role.1cc5e50b.js | 1 - frontend/assets/setting.bacdbe9c.js | 1 - frontend/assets/setup.d8d4c77b.js | 1 - frontend/assets/sortablejs.fd7ddf86.js | 7 - frontend/assets/system.492ebe93.js | 1 - frontend/assets/tabbar.823640c0.css | 1 - frontend/assets/tabbar.8d150763.js | 1 - frontend/assets/tslib.60310f1a.js | 14 - frontend/assets/useDictOptions.3732b548.js | 1 - frontend/assets/useMenuOa.e20c1084.js | 1 - frontend/assets/usePaging.a4cf2679.js | 1 - frontend/assets/user.6a8bd179.js | 1 - frontend/assets/vue-clipboard3.4e164ffd.js | 1 - frontend/assets/vue-echarts.c9fb1a44.js | 16 - frontend/assets/vue-router.9605b890.js | 5 - frontend/assets/vue.e5a65d9e.js | 1 - frontend/assets/vue3-video-play.74881f83.css | 1 - frontend/assets/vue3-video-play.b1eef99b.js | 22 - frontend/assets/vuedraggable.0ab4ab66.js | 4 - frontend/assets/weapp.ac063443.js | 1 - frontend/assets/website.d81f8c5b.js | 1 - frontend/assets/wx_dev.eb851b84.js | 1 - frontend/assets/wx_oa.aa6d57f2.js | 1 - frontend/assets/zrender.0646a922.js | 16 - frontend/index.html | 40 +- server.code-workspace | 11 + 235 files changed, 956 insertions(+), 1317 deletions(-) create mode 100644 admin/.editorconfig create mode 100644 admin/.prettierrc delete mode 100644 admin/src/install/plugins/hljs.ts rename admin/src/{install/plugins => utils}/echart.ts (100%) delete mode 100644 admin/tsconfig.config.json delete mode 100644 frontend/assets/403.17bcb26d.js delete mode 100644 frontend/assets/404.4e9fcb4b.js delete mode 100644 frontend/assets/@ctrl.fd318bfa.js delete mode 100644 frontend/assets/@element-plus.3660753f.js delete mode 100644 frontend/assets/@floating-ui.dd8b295f.js delete mode 100644 frontend/assets/@highlightjs.7fc78ec7.js delete mode 100644 frontend/assets/@popperjs.36402333.js delete mode 100644 frontend/assets/@vue.a137a740.js delete mode 100644 frontend/assets/@vueuse.a2c70c0f.js delete mode 100644 frontend/assets/@wangeditor.501cf061.css delete mode 100644 frontend/assets/@wangeditor.e356e69e.js delete mode 100644 frontend/assets/add-nav.e394d338.js delete mode 100644 frontend/assets/add-nav.vue_vue_type_script_setup_true_lang.80ba86a8.js delete mode 100644 frontend/assets/article.088945e6.js delete mode 100644 frontend/assets/async-validator.fb49d0f5.js delete mode 100644 frontend/assets/attr-setting.1492f83c.js delete mode 100644 frontend/assets/attr-setting.vue_vue_type_script_setup_true_lang.ded30327.js delete mode 100644 frontend/assets/attr.02053188.js delete mode 100644 frontend/assets/attr.15bf174a.js delete mode 100644 frontend/assets/attr.1cee55bb.js delete mode 100644 frontend/assets/attr.240dc764.js delete mode 100644 frontend/assets/attr.48ee45e1.js delete mode 100644 frontend/assets/attr.847bab2a.js delete mode 100644 frontend/assets/attr.d3150e80.js delete mode 100644 frontend/assets/attr.db9092b2.js delete mode 100644 frontend/assets/attr.vue_vue_type_script_setup_true_lang.0d0bddbd.js delete mode 100644 frontend/assets/attr.vue_vue_type_script_setup_true_lang.263c7d3a.js delete mode 100644 frontend/assets/attr.vue_vue_type_script_setup_true_lang.87403b25.js delete mode 100644 frontend/assets/attr.vue_vue_type_script_setup_true_lang.9653ec08.js delete mode 100644 frontend/assets/attr.vue_vue_type_script_setup_true_lang.9820b9a5.js delete mode 100644 frontend/assets/attr.vue_vue_type_script_setup_true_lang.a6ae21ee.js delete mode 100644 frontend/assets/attr.vue_vue_type_script_setup_true_lang.bf2f36d9.js delete mode 100644 frontend/assets/attr.vue_vue_type_script_setup_true_lang.d5fe8acc.js delete mode 100644 frontend/assets/auth.7693809f.js delete mode 100644 frontend/assets/auth.vue_vue_type_script_setup_true_lang.3a00b597.js delete mode 100644 frontend/assets/axios.d8168cfd.js delete mode 100644 frontend/assets/balanced-match.d2a36341.js delete mode 100644 frontend/assets/cache.b08e0053.css delete mode 100644 frontend/assets/cache.b47eeb8a.js delete mode 100644 frontend/assets/clipboard.7c3d630c.js delete mode 100644 frontend/assets/clone.73d1916b.js delete mode 100644 frontend/assets/code-preview.842d3863.js delete mode 100644 frontend/assets/code-preview.vue_vue_type_script_setup_true_lang.c399b9fa.js delete mode 100644 frontend/assets/code.f22591bf.js delete mode 100644 frontend/assets/color-convert.755d189f.js delete mode 100644 frontend/assets/color-name.e7a4e1d3.js delete mode 100644 frontend/assets/color-string.e356f5de.js delete mode 100644 frontend/assets/color.a9016252.js delete mode 100644 frontend/assets/config.93502908.js delete mode 100644 frontend/assets/consumer.cb190ce7.js delete mode 100644 frontend/assets/content.0741fe1b.js delete mode 100644 frontend/assets/content.1d849f3e.js delete mode 100644 frontend/assets/content.34a61d57.js delete mode 100644 frontend/assets/content.70054042.js delete mode 100644 frontend/assets/content.75595e09.css delete mode 100644 frontend/assets/content.8f3b2cf8.css delete mode 100644 frontend/assets/content.9f244b19.css delete mode 100644 frontend/assets/content.a46896e0.js delete mode 100644 frontend/assets/content.a7d414a1.js delete mode 100644 frontend/assets/content.be533d33.js delete mode 100644 frontend/assets/content.c9a2d497.css delete mode 100644 frontend/assets/content.e49081eb.js delete mode 100644 frontend/assets/content.efb8af20.css delete mode 100644 frontend/assets/content.vue_vue_type_script_setup_true_lang.6a1fe0f2.js delete mode 100644 frontend/assets/content.vue_vue_type_script_setup_true_lang.7a308c7b.js delete mode 100644 frontend/assets/content.vue_vue_type_script_setup_true_lang.8a24db46.js delete mode 100644 frontend/assets/css-color-function.b4c88e1a.js delete mode 100644 frontend/assets/customer_service.b8d87eb8.png delete mode 100644 frontend/assets/data-table.3d273333.js delete mode 100644 frontend/assets/data-table.vue_vue_type_script_setup_true_lang.725a93f7.js delete mode 100644 frontend/assets/dayjs.bd523028.js delete mode 100644 frontend/assets/decoration-img.49159595.css delete mode 100644 frontend/assets/decoration-img.6b504034.js delete mode 100644 frontend/assets/decoration.92ac0f89.js delete mode 100644 frontend/assets/default_avatar.fa19527b.png delete mode 100644 frontend/assets/default_reply.ba182d9c.js delete mode 100644 frontend/assets/department.56dd43eb.js delete mode 100644 frontend/assets/detail.e6dacb35.js delete mode 100644 frontend/assets/dict.0791f42c.js delete mode 100644 frontend/assets/echarts.098cf7d6.js delete mode 100644 frontend/assets/edit.29a2d812.js delete mode 100644 frontend/assets/edit.32147495.js delete mode 100644 frontend/assets/edit.3e052480.js delete mode 100644 frontend/assets/edit.4969df4e.js delete mode 100644 frontend/assets/edit.609d14c7.js delete mode 100644 frontend/assets/edit.6fe1ae76.js delete mode 100644 frontend/assets/edit.7b94601c.js delete mode 100644 frontend/assets/edit.82b90b61.js delete mode 100644 frontend/assets/edit.bacf9c82.js delete mode 100644 frontend/assets/edit.c043cf1b.js delete mode 100644 frontend/assets/edit.d1ee75b5.js delete mode 100644 frontend/assets/edit.ebe416d4.js delete mode 100644 frontend/assets/edit.f0491a22.js delete mode 100644 frontend/assets/edit.f146e954.js delete mode 100644 frontend/assets/edit.vue_vue_type_script_setup_true_lang.0fb1b651.js delete mode 100644 frontend/assets/edit.vue_vue_type_script_setup_true_lang.10ce790b.js delete mode 100644 frontend/assets/edit.vue_vue_type_script_setup_true_lang.2bbb2db0.js delete mode 100644 frontend/assets/edit.vue_vue_type_script_setup_true_lang.2e79ec38.js delete mode 100644 frontend/assets/edit.vue_vue_type_script_setup_true_lang.45df9b2c.js delete mode 100644 frontend/assets/edit.vue_vue_type_script_setup_true_lang.59c2def5.js delete mode 100644 frontend/assets/edit.vue_vue_type_script_setup_true_lang.95481b7f.js delete mode 100644 frontend/assets/edit.vue_vue_type_script_setup_true_lang.9c58286d.js delete mode 100644 frontend/assets/edit.vue_vue_type_script_setup_true_lang.af8d5433.js delete mode 100644 frontend/assets/edit.vue_vue_type_script_setup_true_lang.d2c196de.js delete mode 100644 frontend/assets/edit.vue_vue_type_script_setup_true_lang.ff33b7b1.js delete mode 100644 frontend/assets/element-plus.17524d8e.css delete mode 100644 frontend/assets/element-plus.de1a1f40.js delete mode 100644 frontend/assets/environment.9c623b55.js delete mode 100644 frontend/assets/error.be93caf8.css delete mode 100644 frontend/assets/error.c6beee97.js delete mode 100644 frontend/assets/escape-html.e5dfadb9.js delete mode 100644 frontend/assets/filing.0b2a6ff6.js delete mode 100644 frontend/assets/follow_reply.6d04a1e2.js delete mode 100644 frontend/assets/h5.c306a7cd.js delete mode 100644 frontend/assets/highlight.5f5db245.css delete mode 100644 frontend/assets/highlight.js.7165574c.js delete mode 100644 frontend/assets/index.07a5e8bc.js delete mode 100644 frontend/assets/index.0d25a475.css delete mode 100644 frontend/assets/index.0e8d995b.js delete mode 100644 frontend/assets/index.21c448ab.css delete mode 100644 frontend/assets/index.26654406.js delete mode 100644 frontend/assets/index.2ace3fcf.css delete mode 100644 frontend/assets/index.31464286.js delete mode 100644 frontend/assets/index.445e589d.js delete mode 100644 frontend/assets/index.44a01506.js delete mode 100644 frontend/assets/index.58ba4db9.css delete mode 100644 frontend/assets/index.67cc9ebb.js delete mode 100644 frontend/assets/index.6a3dd82f.js delete mode 100644 frontend/assets/index.6ba69e47.js delete mode 100644 frontend/assets/index.7f91a652.css delete mode 100644 frontend/assets/index.81d4a27e.js delete mode 100644 frontend/assets/index.918b468f.js delete mode 100644 frontend/assets/index.9a7f6163.js delete mode 100644 frontend/assets/index.9bce7fe7.css delete mode 100644 frontend/assets/index.9d59564a.css delete mode 100644 frontend/assets/index.a318de61.css delete mode 100644 frontend/assets/index.b5787d9d.js delete mode 100644 frontend/assets/index.be29c95e.css delete mode 100644 frontend/assets/index.c44bac01.js delete mode 100644 frontend/assets/index.c6f2c644.js delete mode 100644 frontend/assets/index.ca14280d.js delete mode 100644 frontend/assets/index.cebb5ea1.js delete mode 100644 frontend/assets/index.e3dd6562.js delete mode 100644 frontend/assets/index.eb574d2d.js delete mode 100644 frontend/assets/index.ef0f7531.js delete mode 100644 frontend/assets/index.ef7609ad.js delete mode 100644 frontend/assets/index.f5cb4a52.js delete mode 100644 frontend/assets/index.f66eb2aa.js delete mode 100644 frontend/assets/index.fc436213.js delete mode 100644 frontend/assets/index.vue_vue_type_script_setup_true_lang.39a181dd.js delete mode 100644 frontend/assets/index.vue_vue_type_script_setup_true_lang.ed8344af.js delete mode 100644 frontend/assets/index.vue_vue_type_style_index_0_lang.d8d8a015.js delete mode 100644 frontend/assets/information.493733ac.js delete mode 100644 frontend/assets/journal.ffdfa6a6.js delete mode 100644 frontend/assets/keyword_reply.609fe3d1.js delete mode 100644 frontend/assets/lodash-es.7718a1e4.js delete mode 100644 frontend/assets/lodash-unified.d120b703.js delete mode 100644 frontend/assets/lodash.48927ea5.js delete mode 100644 frontend/assets/login.343b5475.css delete mode 100644 frontend/assets/login.3bfd88d0.js delete mode 100644 frontend/assets/login_bg.2f630cea.png delete mode 100644 frontend/assets/login_register.aa2a4bc0.js delete mode 100644 frontend/assets/memoize-one.5eaee740.js delete mode 100644 frontend/assets/menu.0434b06a.js delete mode 100644 frontend/assets/menu.81ffacfd.js delete mode 100644 frontend/assets/menu.a050bec6.css delete mode 100644 frontend/assets/menu.f83c1747.js delete mode 100644 frontend/assets/menu_role.4823a023.png delete mode 100644 frontend/assets/message.b9ad1923.js delete mode 100644 frontend/assets/ms.564e106c.js delete mode 100644 frontend/assets/my_topbg.137a6c56.png delete mode 100644 frontend/assets/no_perms.a56e95a5.png delete mode 100644 frontend/assets/normalize-wheel-es.8aeb3683.js delete mode 100644 frontend/assets/nprogress.0f0f7ca7.js delete mode 100644 frontend/assets/nprogress.f5128a35.css delete mode 100644 frontend/assets/oa-attr.252634e9.js delete mode 100644 frontend/assets/oa-menu-form-edit.23d5bf7e.js delete mode 100644 frontend/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang.4f43e598.js delete mode 100644 frontend/assets/oa-menu-form.1b4fa3f8.js delete mode 100644 frontend/assets/oa-menu-form.vue_vue_type_script_setup_true_lang.3b019b70.js delete mode 100644 frontend/assets/oa-phone.7e83b8d9.js delete mode 100644 frontend/assets/oa-phone.8b9170e2.css delete mode 100644 frontend/assets/picker.05436930.css delete mode 100644 frontend/assets/picker.3f838045.js delete mode 100644 frontend/assets/picker.49fbd768.js delete mode 100644 frontend/assets/picker.4f0f5330.css delete mode 100644 frontend/assets/pinia.706f3ea9.js delete mode 100644 frontend/assets/post.e033acdf.js delete mode 100644 frontend/assets/preview.0f639a93.js delete mode 100644 frontend/assets/preview.6e931073.css delete mode 100644 frontend/assets/protocol.6515398e.js delete mode 100644 frontend/assets/qq_group.87e5009a.png delete mode 100644 frontend/assets/resize-detector.4e96b72b.js delete mode 100644 frontend/assets/role.1cc5e50b.js delete mode 100644 frontend/assets/setting.bacdbe9c.js delete mode 100644 frontend/assets/setup.d8d4c77b.js delete mode 100644 frontend/assets/sortablejs.fd7ddf86.js delete mode 100644 frontend/assets/system.492ebe93.js delete mode 100644 frontend/assets/tabbar.823640c0.css delete mode 100644 frontend/assets/tabbar.8d150763.js delete mode 100644 frontend/assets/tslib.60310f1a.js delete mode 100644 frontend/assets/useDictOptions.3732b548.js delete mode 100644 frontend/assets/useMenuOa.e20c1084.js delete mode 100644 frontend/assets/usePaging.a4cf2679.js delete mode 100644 frontend/assets/user.6a8bd179.js delete mode 100644 frontend/assets/vue-clipboard3.4e164ffd.js delete mode 100644 frontend/assets/vue-echarts.c9fb1a44.js delete mode 100644 frontend/assets/vue-router.9605b890.js delete mode 100644 frontend/assets/vue.e5a65d9e.js delete mode 100644 frontend/assets/vue3-video-play.74881f83.css delete mode 100644 frontend/assets/vue3-video-play.b1eef99b.js delete mode 100644 frontend/assets/vuedraggable.0ab4ab66.js delete mode 100644 frontend/assets/weapp.ac063443.js delete mode 100644 frontend/assets/website.d81f8c5b.js delete mode 100644 frontend/assets/wx_dev.eb851b84.js delete mode 100644 frontend/assets/wx_oa.aa6d57f2.js delete mode 100644 frontend/assets/zrender.0646a922.js create mode 100644 server.code-workspace diff --git a/.gitignore b/.gitignore index b4c2359..9ae4f47 100644 --- a/.gitignore +++ b/.gitignore @@ -16,7 +16,7 @@ bin-release/ /public/uploads/* !/public/uploads/index.html - +frontend/* # Project files, i.e. `.project`, `.actionScriptProperties` and `.flexProperties` # should NOT be excluded as they contain compiler settings and other important # information for Eclipse / Flash Builder. diff --git a/admin/.editorconfig b/admin/.editorconfig new file mode 100644 index 0000000..f669cf1 --- /dev/null +++ b/admin/.editorconfig @@ -0,0 +1,14 @@ +# http://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 4 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +insert_final_newline = false +trim_trailing_whitespace = false diff --git a/admin/.prettierrc b/admin/.prettierrc new file mode 100644 index 0000000..f37c5f4 --- /dev/null +++ b/admin/.prettierrc @@ -0,0 +1,11 @@ +{ + "semi": false, + "singleQuote": true, + "printWidth": 100, + "proseWrap": "preserve", + "bracketSameLine": false, + "endOfLine": "lf", + "tabWidth": 4, + "useTabs": false, + "trailingComma": "none" +} diff --git a/admin/package.json b/admin/package.json index c5f7235..939ce80 100644 --- a/admin/package.json +++ b/admin/package.json @@ -4,61 +4,61 @@ "license": "MIT", "scripts": { "dev": "vite", + "prod": "vite build", "preview": "vite preview --port 4173", "build": "node ./scripts/build.mjs", "type-check": "vue-tsc --noEmit", "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore" }, "dependencies": { - "@element-plus/icons-vue": "^2.0.6", + "@element-plus/icons-vue": "^2.1.0", "@highlightjs/vue-plugin": "^2.1.0", "@vue/shared": "^3.3.8", "@vueuse/core": "^10.5.0", - "@wangeditor/editor": "^5.1.12", + "@wangeditor/editor": "^5.1.23", "@wangeditor/editor-for-vue": "^5.1.12", - "axios": "^0.27.2", + "axios": "^1.6.0", + "consola": "^3.2.3", "css-color-function": "^1.3.3", - "echarts": "^5.3.3", - "element-plus": "^2.2.9", - "highlight.js": "^11.6.0", + "echarts": "^5.4.3", + "element-plus": "^2.4.2", + "highlight.js": "^11.9.0", "lodash": "^4.17.21", "nprogress": "^0.2.0", - "pinia": "^2.0.14", - "vue": "^3.2.37", + "pinia": "^2.1.7", + "vue": "^3.3.8", "vue-clipboard3": "^2.0.0", - "vue-echarts": "^6.2.3", - "vue-router": "^4.0.16", + "vue-echarts": "^6.6.1", + "vue-router": "^4.2.5", "vue3-video-play": "^1.3.1-beta.6", "vuedraggable": "^4.1.0" }, "devDependencies": { - "@rushstack/eslint-patch": "^1.1.0", - "@tailwindcss/line-clamp": "^0.4.2", - "@types/lodash-es": "^4.17.6", - "@types/node": "^16.11.41", - "@types/nprogress": "^0.2.0", - "@vitejs/plugin-vue": "^3.0.0", - "@vitejs/plugin-vue-jsx": "^2.0.0", - "@vue/eslint-config-prettier": "^7.0.0", - "@vue/eslint-config-typescript": "^11.0.0", - "@vue/tsconfig": "^0.1.3", - "autoprefixer": "^10.4.7", - "consola": "^2.15.3", - "eslint": "^8.5.0", - "eslint-plugin-vue": "^9.0.0", - "execa": "^6.1.0", - "fs-extra": "^10.1.0", - "postcss": "^8.4.14", - "prettier": "^2.5.1", - "sass": "^1.53.0", - "tailwindcss": "^3.0.24", - "typescript": "~4.7.4", - "unplugin-auto-import": "^0.9.2", - "unplugin-vue-components": "^0.19.9", - "vite": "^3.0.0", + "@rushstack/eslint-patch": "^1.5.1", + "@tailwindcss/line-clamp": "^0.4.4", + "@types/lodash-es": "^4.17.11", + "@types/node": "^20.9.0", + "@types/nprogress": "^0.2.3", + "@vitejs/plugin-vue": "^4.4.0", + "@vitejs/plugin-vue-jsx": "^3.0.2", + "@vue/eslint-config-prettier": "^8.0.0", + "@vue/eslint-config-typescript": "^12.0.0", + "@vue/tsconfig": "^0.4.0", + "autoprefixer": "^10.4.16", + "eslint": "^8.53.0", + "eslint-plugin-vue": "^9.18.1", + "execa": "^8.0.1", + "fs-extra": "^11.1.1", + "postcss": "^8.4.31", + "prettier": "^3.0.3", + "sass": "^1.69.5", + "tailwindcss": "^3.3.5", + "typescript": "~5.2.2", + "unplugin-auto-import": "^0.16.7", + "unplugin-vue-components": "^0.25.2", + "vite": "^4.5.0", "vite-plugin-style-import": "^2.0.0", "vite-plugin-svg-icons": "^2.0.1", - "vite-plugin-vue-setup-extend": "^0.4.0", - "vue-tsc": "^0.38.1" + "vue-tsc": "^1.8.22" } } diff --git a/admin/pnpm-lock.yaml b/admin/pnpm-lock.yaml index 3a4a6c0..48c5f9d 100644 --- a/admin/pnpm-lock.yaml +++ b/admin/pnpm-lock.yaml @@ -6,7 +6,7 @@ settings: dependencies: '@element-plus/icons-vue': - specifier: ^2.0.6 + specifier: ^2.1.0 version: 2.1.0(vue@3.3.8) '@highlightjs/vue-plugin': specifier: ^2.1.0 @@ -18,25 +18,28 @@ dependencies: specifier: ^10.5.0 version: 10.5.0(vue@3.3.8) '@wangeditor/editor': - specifier: ^5.1.12 + specifier: ^5.1.23 version: 5.1.23 '@wangeditor/editor-for-vue': specifier: ^5.1.12 version: 5.1.12(@wangeditor/editor@5.1.23)(vue@3.3.8) axios: - specifier: ^0.27.2 - version: 0.27.2 + specifier: ^1.6.0 + version: 1.6.0 + consola: + specifier: ^3.2.3 + version: 3.2.3 css-color-function: specifier: ^1.3.3 version: 1.3.3 echarts: - specifier: ^5.3.3 + specifier: ^5.4.3 version: 5.4.3 element-plus: - specifier: ^2.2.9 + specifier: ^2.4.2 version: 2.4.2(vue@3.3.8) highlight.js: - specifier: ^11.6.0 + specifier: ^11.9.0 version: 11.9.0 lodash: specifier: ^4.17.21 @@ -45,112 +48,109 @@ dependencies: specifier: ^0.2.0 version: 0.2.0 pinia: - specifier: ^2.0.14 - version: 2.1.7(typescript@4.7.4)(vue@3.3.8) + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.8) vue: - specifier: ^3.2.37 - version: 3.3.8(typescript@4.7.4) + specifier: ^3.3.8 + version: 3.3.8(typescript@5.2.2) vue-clipboard3: specifier: ^2.0.0 version: 2.0.0 vue-echarts: - specifier: ^6.2.3 + specifier: ^6.6.1 version: 6.6.1(echarts@5.4.3)(vue@3.3.8) vue-router: - specifier: ^4.0.16 + specifier: ^4.2.5 version: 4.2.5(vue@3.3.8) vue3-video-play: specifier: ^1.3.1-beta.6 - version: 1.3.1-beta.6(typescript@4.7.4) + version: 1.3.1-beta.6(typescript@5.2.2) vuedraggable: specifier: ^4.1.0 version: 4.1.0(vue@3.3.8) devDependencies: '@rushstack/eslint-patch': - specifier: ^1.1.0 + specifier: ^1.5.1 version: 1.5.1 '@tailwindcss/line-clamp': - specifier: ^0.4.2 + specifier: ^0.4.4 version: 0.4.4(tailwindcss@3.3.5) '@types/lodash-es': - specifier: ^4.17.6 - version: 4.17.10 + specifier: ^4.17.11 + version: 4.17.11 '@types/node': - specifier: ^16.11.41 - version: 16.18.60 + specifier: ^20.9.0 + version: 20.9.0 '@types/nprogress': - specifier: ^0.2.0 - version: 0.2.2 + specifier: ^0.2.3 + version: 0.2.3 '@vitejs/plugin-vue': - specifier: ^3.0.0 - version: 3.2.0(vite@3.2.7)(vue@3.3.8) + specifier: ^4.4.0 + version: 4.4.0(vite@4.5.0)(vue@3.3.8) '@vitejs/plugin-vue-jsx': - specifier: ^2.0.0 - version: 2.1.1(vite@3.2.7)(vue@3.3.8) + specifier: ^3.0.2 + version: 3.0.2(vite@4.5.0)(vue@3.3.8) '@vue/eslint-config-prettier': - specifier: ^7.0.0 - version: 7.1.0(eslint@8.53.0)(prettier@2.8.8) + specifier: ^8.0.0 + version: 8.0.0(eslint@8.53.0)(prettier@3.0.3) '@vue/eslint-config-typescript': - specifier: ^11.0.0 - version: 11.0.3(eslint-plugin-vue@9.18.1)(eslint@8.53.0)(typescript@4.7.4) + specifier: ^12.0.0 + version: 12.0.0(eslint-plugin-vue@9.18.1)(eslint@8.53.0)(typescript@5.2.2) '@vue/tsconfig': - specifier: ^0.1.3 - version: 0.1.3(@types/node@16.18.60) + specifier: ^0.4.0 + version: 0.4.0 autoprefixer: - specifier: ^10.4.7 + specifier: ^10.4.16 version: 10.4.16(postcss@8.4.31) - consola: - specifier: ^2.15.3 - version: 2.15.3 eslint: - specifier: ^8.5.0 + specifier: ^8.53.0 version: 8.53.0 eslint-plugin-vue: - specifier: ^9.0.0 + specifier: ^9.18.1 version: 9.18.1(eslint@8.53.0) execa: - specifier: ^6.1.0 - version: 6.1.0 + specifier: ^8.0.1 + version: 8.0.1 fs-extra: - specifier: ^10.1.0 - version: 10.1.0 + specifier: ^11.1.1 + version: 11.1.1 postcss: - specifier: ^8.4.14 + specifier: ^8.4.31 version: 8.4.31 prettier: - specifier: ^2.5.1 - version: 2.8.8 + specifier: ^3.0.3 + version: 3.0.3 sass: - specifier: ^1.53.0 + specifier: ^1.69.5 version: 1.69.5 tailwindcss: - specifier: ^3.0.24 + specifier: ^3.3.5 version: 3.3.5 typescript: - specifier: ~4.7.4 - version: 4.7.4 + specifier: ~5.2.2 + version: 5.2.2 unplugin-auto-import: - specifier: ^0.9.2 - version: 0.9.5(@vueuse/core@10.5.0)(vite@3.2.7) + specifier: ^0.16.7 + version: 0.16.7(@vueuse/core@10.5.0) unplugin-vue-components: - specifier: ^0.19.9 - version: 0.19.9(vite@3.2.7)(vue@3.3.8) + specifier: ^0.25.2 + version: 0.25.2(vue@3.3.8) vite: - specifier: ^3.0.0 - version: 3.2.7(@types/node@16.18.60)(sass@1.69.5) + specifier: ^4.5.0 + version: 4.5.0(@types/node@20.9.0)(sass@1.69.5) vite-plugin-style-import: specifier: ^2.0.0 - version: 2.0.0(vite@3.2.7) + version: 2.0.0(vite@4.5.0) vite-plugin-svg-icons: specifier: ^2.0.1 - version: 2.0.1(vite@3.2.7) + version: 2.0.1(vite@4.5.0) vite-plugin-vue-setup-extend: specifier: ^0.4.0 - version: 0.4.0(vite@3.2.7) + version: 0.4.0(vite@4.5.0) vue-tsc: - specifier: ^0.38.1 - version: 0.38.9(typescript@4.7.4) + specifier: ^1.8.22 + version: 1.8.22(typescript@5.2.2) packages: @@ -172,8 +172,8 @@ packages: '@jridgewell/trace-mapping': 0.3.20 dev: true - /@antfu/utils@0.5.2: - resolution: {integrity: sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==} + /@antfu/utils@0.7.6: + resolution: {integrity: sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==} dev: true /@babel/code-frame@7.22.13: @@ -476,11 +476,20 @@ packages: peerDependencies: vue: ^3.2.0 dependencies: - vue: 3.3.8(typescript@4.7.4) + vue: 3.3.8(typescript@5.2.2) dev: false - /@esbuild/android-arm@0.15.18: - resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} + /@esbuild/android-arm64@0.18.20: + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.18.20: + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -488,8 +497,80 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.15.18: - resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} + /@esbuild/android-x64@0.18.20: + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.18.20: + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.18.20: + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.18.20: + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.18.20: + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.18.20: + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.18.20: + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.18.20: + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.18.20: + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -497,6 +578,105 @@ packages: dev: true optional: true + /@esbuild/linux-mips64el@0.18.20: + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.18.20: + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.18.20: + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.18.20: + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.18.20: + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.18.20: + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.18.20: + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.18.20: + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.18.20: + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.18.20: + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.18.20: + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.53.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -558,7 +738,7 @@ packages: vue: ^3 dependencies: highlight.js: 11.9.0 - vue: 3.3.8(typescript@4.7.4) + vue: 3.3.8(typescript@5.2.2) dev: false /@humanwhocodes/config-array@0.11.13: @@ -631,6 +811,18 @@ packages: fastq: 1.15.0 dev: true + /@pkgr/utils@2.4.2: + resolution: {integrity: sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dependencies: + cross-spawn: 7.0.3 + fast-glob: 3.3.2 + is-glob: 4.0.3 + open: 9.1.0 + picocolors: 1.0.0 + tslib: 2.6.2 + dev: true + /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -639,6 +831,20 @@ packages: picomatch: 2.3.1 dev: true + /@rollup/pluginutils@5.0.5: + resolution: {integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.5 + estree-walker: 2.0.2 + picomatch: 2.3.1 + dev: true + /@rushstack/eslint-patch@1.5.1: resolution: {integrity: sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==} dev: true @@ -664,6 +870,10 @@ packages: engines: {node: '>=10.13.0'} dev: true + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + /@types/event-emitter@0.3.5: resolution: {integrity: sha512-zx2/Gg0Eg7gwEiOIIh5w9TrhKKTeQh7CPCOPNc0el4pLSwzebA8SmnHwZs2dWlLONvyulykSwGSQxQHLhjGLvQ==} dev: false @@ -672,20 +882,22 @@ packages: resolution: {integrity: sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==} dev: true - /@types/lodash-es@4.17.10: - resolution: {integrity: sha512-YJP+w/2khSBwbUSFdGsSqmDvmnN3cCKoPOL7Zjle6s30ZtemkkqhjVfFqGwPN7ASil5VyjE2GtyU/yqYY6mC0A==} + /@types/lodash-es@4.17.11: + resolution: {integrity: sha512-eCw8FYAWHt2DDl77s+AMLLzPn310LKohruumpucZI4oOFJkIgnlaJcy23OKMJxx4r9PeTF13Gv6w+jqjWQaYUg==} dependencies: '@types/lodash': 4.14.200 /@types/lodash@4.14.200: resolution: {integrity: sha512-YI/M/4HRImtNf3pJgbF+W6FrXovqj+T+/HpENLTooK9PnkacBsDpeP3IpHab40CClUfhNmdM2WTNP2sa2dni5Q==} - /@types/node@16.18.60: - resolution: {integrity: sha512-ZUGPWx5vKfN+G2/yN7pcSNLkIkXEvlwNaJEd4e0ppX7W2S8XAkdc/37hM4OUNJB9sa0p12AOvGvxL4JCPiz9DA==} + /@types/node@20.9.0: + resolution: {integrity: sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==} + dependencies: + undici-types: 5.26.5 dev: true - /@types/nprogress@0.2.2: - resolution: {integrity: sha512-2wLrSJXLztGmr7wXwM0hA/wuIOY9DznVdd+ZFofHOiXcj9JnVt+2ZeLRJ7v5ZVlmheSkUOSg3Q3O4Ce7yji79A==} + /@types/nprogress@0.2.3: + resolution: {integrity: sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==} dev: true /@types/semver@7.5.4: @@ -695,7 +907,7 @@ packages: /@types/svgo@2.6.4: resolution: {integrity: sha512-l4cmyPEckf8moNYHdJ+4wkHvFxjyW6ulm9l4YGaOxeyBWPhBOT0gvni1InpFPdzx1dKf/2s62qGITwxNWnPQng==} dependencies: - '@types/node': 16.18.60 + '@types/node': 20.9.0 dev: true /@types/web-bluetooth@0.0.16: @@ -705,133 +917,134 @@ packages: /@types/web-bluetooth@0.0.18: resolution: {integrity: sha512-v/ZHEj9xh82usl8LMR3GarzFY1IrbXJw5L4QfQhokjRV91q+SelFqxQWSep1ucXEZ22+dSTwLFkXeur25sPIbw==} - /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.53.0)(typescript@4.7.4): - resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/eslint-plugin@6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-uoLj4g2OTL8rfUQVx2AFO1hp/zja1wABJq77P6IclQs6I/m9GLrm7jCdgzZkvWdDCQf1uEvoa8s8CupsgWQgVg==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 5.62.0(eslint@8.53.0)(typescript@4.7.4) - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.53.0)(typescript@4.7.4) - '@typescript-eslint/utils': 5.62.0(eslint@8.53.0)(typescript@4.7.4) + '@typescript-eslint/parser': 6.10.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.10.0 + '@typescript-eslint/type-utils': 6.10.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.10.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.10.0 debug: 4.3.4 eslint: 8.53.0 graphemer: 1.4.0 ignore: 5.2.4 - natural-compare-lite: 1.4.0 + natural-compare: 1.4.0 semver: 7.5.4 - tsutils: 3.21.0(typescript@4.7.4) - typescript: 4.7.4 + ts-api-utils: 1.0.3(typescript@5.2.2) + typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@8.53.0)(typescript@4.7.4): - resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/parser@6.10.0(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-+sZwIj+s+io9ozSxIWbNB5873OSdfeBEH/FR0re14WLI6BaKuSOnnwCJ2foUiu8uXf4dRp1UqHP0vrZ1zXGrog==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.7.4) + '@typescript-eslint/scope-manager': 6.10.0 + '@typescript-eslint/types': 6.10.0 + '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.10.0 debug: 4.3.4 eslint: 8.53.0 - typescript: 4.7.4 + typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@5.62.0: - resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/scope-manager@6.10.0: + resolution: {integrity: sha512-TN/plV7dzqqC2iPNf1KrxozDgZs53Gfgg5ZHyw8erd6jd5Ta/JIEcdCheXFt9b1NYb93a1wmIIVW/2gLkombDg==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 + '@typescript-eslint/types': 6.10.0 + '@typescript-eslint/visitor-keys': 6.10.0 dev: true - /@typescript-eslint/type-utils@5.62.0(eslint@8.53.0)(typescript@4.7.4): - resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/type-utils@6.10.0(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-wYpPs3hgTFblMYwbYWPT3eZtaDOjbLyIYuqpwuLBBqhLiuvJ+9sEp2gNRJEtR5N/c9G1uTtQQL5AhV0fEPJYcg==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: '*' + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.7.4) - '@typescript-eslint/utils': 5.62.0(eslint@8.53.0)(typescript@4.7.4) + '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.2.2) + '@typescript-eslint/utils': 6.10.0(eslint@8.53.0)(typescript@5.2.2) debug: 4.3.4 eslint: 8.53.0 - tsutils: 3.21.0(typescript@4.7.4) - typescript: 4.7.4 + ts-api-utils: 1.0.3(typescript@5.2.2) + typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@5.62.0: - resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/types@6.10.0: + resolution: {integrity: sha512-36Fq1PWh9dusgo3vH7qmQAj5/AZqARky1Wi6WpINxB6SkQdY5vQoT2/7rW7uBIsPDcvvGCLi4r10p0OJ7ITAeg==} + engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@5.62.0(typescript@4.7.4): - resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/typescript-estree@6.10.0(typescript@5.2.2): + resolution: {integrity: sha512-ek0Eyuy6P15LJVeghbWhSrBCj/vJpPXXR+EpaRZqou7achUWL8IdYnMSC5WHAeTWswYQuP2hAZgij/bC9fanBg==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 + '@typescript-eslint/types': 6.10.0 + '@typescript-eslint/visitor-keys': 6.10.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 - tsutils: 3.21.0(typescript@4.7.4) - typescript: 4.7.4 + ts-api-utils: 1.0.3(typescript@5.2.2) + typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.53.0)(typescript@4.7.4): - resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/utils@6.10.0(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-v+pJ1/RcVyRc0o4wAGux9x42RHmAjIGzPRo538Z8M1tVx6HOnoQBCX/NoadHQlZeC+QO2yr4nNSFWOoraZCAyg==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) '@types/json-schema': 7.0.14 '@types/semver': 7.5.4 - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.7.4) + '@typescript-eslint/scope-manager': 6.10.0 + '@typescript-eslint/types': 6.10.0 + '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.2.2) eslint: 8.53.0 - eslint-scope: 5.1.1 semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@5.62.0: - resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/visitor-keys@6.10.0: + resolution: {integrity: sha512-xMGluxQIEtOM7bqFCo+rCMh5fqI+ZxV5RUUOa29iVPz1OgCZrtc7rFnz5cLUazlkPKYqX+75iuDq7m0HQ48nCg==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/types': 6.10.0 eslint-visitor-keys: 3.4.3 dev: true @@ -880,62 +1093,50 @@ packages: nanoid: 3.3.7 dev: false - /@vitejs/plugin-vue-jsx@2.1.1(vite@3.2.7)(vue@3.3.8): - resolution: {integrity: sha512-JgDhxstQlwnHBvZ1BSnU5mbmyQ14/t5JhREc6YH5kWyu2QdAAOsLF6xgHoIWarj8tddaiwFrNzLbWJPudpXKYA==} + /@vitejs/plugin-vue-jsx@3.0.2(vite@4.5.0)(vue@3.3.8): + resolution: {integrity: sha512-obF26P2Z4Ogy3cPp07B4VaW6rpiu0ue4OT2Y15UxT5BZZ76haUY9guOsZV3uWh/I6xc+VeiW+ZVabRE82FyzWw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: ^3.0.0 + vite: ^4.0.0 vue: ^3.0.0 dependencies: '@babel/core': 7.23.2 '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.23.2) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.2) - vite: 3.2.7(@types/node@16.18.60)(sass@1.69.5) - vue: 3.3.8(typescript@4.7.4) + vite: 4.5.0(@types/node@20.9.0)(sass@1.69.5) + vue: 3.3.8(typescript@5.2.2) transitivePeerDependencies: - supports-color dev: true - /@vitejs/plugin-vue@3.2.0(vite@3.2.7)(vue@3.3.8): - resolution: {integrity: sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==} + /@vitejs/plugin-vue@4.4.0(vite@4.5.0)(vue@3.3.8): + resolution: {integrity: sha512-xdguqb+VUwiRpSg+nsc2HtbAUSGak25DXYvpQQi4RVU1Xq1uworyoH/md9Rfd8zMmPR/pSghr309QNcftUVseg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: ^3.0.0 + vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 3.2.7(@types/node@16.18.60)(sass@1.69.5) - vue: 3.3.8(typescript@4.7.4) + vite: 4.5.0(@types/node@20.9.0)(sass@1.69.5) + vue: 3.3.8(typescript@5.2.2) dev: true - /@volar/code-gen@0.38.9: - resolution: {integrity: sha512-n6LClucfA+37rQeskvh9vDoZV1VvCVNy++MAPKj2dT4FT+Fbmty/SDQqnsEBtdEe6E3OQctFvA/IcKsx3Mns0A==} + /@volar/language-core@1.10.10: + resolution: {integrity: sha512-nsV1o3AZ5n5jaEAObrS3MWLBWaGwUj/vAsc15FVNIv+DbpizQRISg9wzygsHBr56ELRH8r4K75vkYNMtsSNNWw==} dependencies: - '@volar/source-map': 0.38.9 + '@volar/source-map': 1.10.10 dev: true - /@volar/source-map@0.38.9: - resolution: {integrity: sha512-ba0UFoHDYry+vwKdgkWJ6xlQT+8TFtZg1zj9tSjj4PykW1JZDuM0xplMotLun4h3YOoYfY9K1huY5gvxmrNLIw==} - dev: true - - /@volar/vue-code-gen@0.38.9: - resolution: {integrity: sha512-tzj7AoarFBKl7e41MR006ncrEmNPHALuk8aG4WdDIaG387X5//5KhWC5Ff3ZfB2InGSeNT+CVUd74M0gS20rjA==} + /@volar/source-map@1.10.10: + resolution: {integrity: sha512-GVKjLnifV4voJ9F0vhP56p4+F3WGf+gXlRtjFZsv6v3WxBTWU3ZVeaRaEHJmWrcv5LXmoYYpk/SC25BKemPRkg==} dependencies: - '@volar/code-gen': 0.38.9 - '@volar/source-map': 0.38.9 - '@vue/compiler-core': 3.3.8 - '@vue/compiler-dom': 3.3.8 - '@vue/shared': 3.3.8 + muggle-string: 0.3.1 dev: true - /@volar/vue-typescript@0.38.9: - resolution: {integrity: sha512-iJMQGU91ADi98u8V1vXd2UBmELDAaeSP0ZJaFjwosClQdKlJQYc6MlxxKfXBZisHqfbhdtrGRyaryulnYtliZw==} - deprecated: 'WARNING: This project has been renamed to @vue/typescript. Install using @vue/typescript instead.' + /@volar/typescript@1.10.10: + resolution: {integrity: sha512-4a2r5bdUub2m+mYVnLu2wt59fuoYWe7nf0uXtGHU8QQ5LDNfzAR0wK7NgDiQ9rcl2WT3fxT2AA9AylAwFtj50A==} dependencies: - '@volar/code-gen': 0.38.9 - '@volar/source-map': 0.38.9 - '@volar/vue-code-gen': 0.38.9 - '@vue/compiler-sfc': 3.3.8 - '@vue/reactivity': 3.3.8 + '@volar/language-core': 1.10.10 + path-browserify: 1.0.1 dev: true /@vue/babel-helper-vue-transform-on@1.1.5: @@ -999,20 +1200,22 @@ packages: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} dev: false - /@vue/eslint-config-prettier@7.1.0(eslint@8.53.0)(prettier@2.8.8): - resolution: {integrity: sha512-Pv/lVr0bAzSIHLd9iz0KnvAr4GKyCEl+h52bc4e5yWuDVtLgFwycF7nrbWTAQAS+FU6q1geVd07lc6EWfJiWKQ==} + /@vue/eslint-config-prettier@8.0.0(eslint@8.53.0)(prettier@3.0.3): + resolution: {integrity: sha512-55dPqtC4PM/yBjhAr+yEw6+7KzzdkBuLmnhBrDfp4I48+wy+Giqqj9yUr5T2uD/BkBROjjmqnLZmXRdOx/VtQg==} peerDependencies: - eslint: '>= 7.28.0' - prettier: '>= 2.0.0' + eslint: '>= 8.0.0' + prettier: '>= 3.0.0' dependencies: eslint: 8.53.0 eslint-config-prettier: 8.10.0(eslint@8.53.0) - eslint-plugin-prettier: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.53.0)(prettier@2.8.8) - prettier: 2.8.8 + eslint-plugin-prettier: 5.0.1(eslint-config-prettier@8.10.0)(eslint@8.53.0)(prettier@3.0.3) + prettier: 3.0.3 + transitivePeerDependencies: + - '@types/eslint' dev: true - /@vue/eslint-config-typescript@11.0.3(eslint-plugin-vue@9.18.1)(eslint@8.53.0)(typescript@4.7.4): - resolution: {integrity: sha512-dkt6W0PX6H/4Xuxg/BlFj5xHvksjpSlVjtkQCpaYJBIEuKj2hOVU7r+TIe+ysCwRYFz/lGqvklntRkCAibsbPw==} + /@vue/eslint-config-typescript@12.0.0(eslint-plugin-vue@9.18.1)(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-StxLFet2Qe97T8+7L8pGlhYBBr8Eg05LPuTDVopQV6il+SK6qqom59BA/rcFipUef2jD8P2X44Vd8tMFytfvlg==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 @@ -1022,16 +1225,35 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.53.0)(typescript@4.7.4) - '@typescript-eslint/parser': 5.62.0(eslint@8.53.0)(typescript@4.7.4) + '@typescript-eslint/eslint-plugin': 6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.10.0(eslint@8.53.0)(typescript@5.2.2) eslint: 8.53.0 eslint-plugin-vue: 9.18.1(eslint@8.53.0) - typescript: 4.7.4 + typescript: 5.2.2 vue-eslint-parser: 9.3.2(eslint@8.53.0) transitivePeerDependencies: - supports-color dev: true + /@vue/language-core@1.8.22(typescript@5.2.2): + resolution: {integrity: sha512-bsMoJzCrXZqGsxawtUea1cLjUT9dZnDsy5TuZ+l1fxRMzUGQUG9+Ypq4w//CqpWmrx7nIAJpw2JVF/t258miRw==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@volar/language-core': 1.10.10 + '@volar/source-map': 1.10.10 + '@vue/compiler-dom': 3.3.8 + '@vue/shared': 3.3.8 + computeds: 0.0.1 + minimatch: 9.0.3 + muggle-string: 0.3.1 + typescript: 5.2.2 + vue-template-compiler: 2.7.15 + dev: true + /@vue/reactivity-transform@3.3.8: resolution: {integrity: sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==} dependencies: @@ -1066,20 +1288,13 @@ packages: dependencies: '@vue/compiler-ssr': 3.3.8 '@vue/shared': 3.3.8 - vue: 3.3.8(typescript@4.7.4) + vue: 3.3.8(typescript@5.2.2) /@vue/shared@3.3.8: resolution: {integrity: sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==} - /@vue/tsconfig@0.1.3(@types/node@16.18.60): - resolution: {integrity: sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': - optional: true - dependencies: - '@types/node': 16.18.60 + /@vue/tsconfig@0.4.0: + resolution: {integrity: sha512-CPuIReonid9+zOG/CGTT05FXrPYATEqoDGNrEaqS4hwcw5BUNM2FguC0mOwJD4Jr16UpRVl9N0pY3P+srIbqmg==} dev: true /@vueuse/core@10.5.0(vue@3.3.8): @@ -1210,7 +1425,7 @@ packages: vue: ^3.0.5 dependencies: '@wangeditor/editor': 5.1.23 - vue: 3.3.8(typescript@4.7.4) + vue: 3.3.8(typescript@5.2.2) dev: false /@wangeditor/editor@5.1.23: @@ -1447,11 +1662,12 @@ packages: postcss-value-parser: 4.2.0 dev: true - /axios@0.27.2: - resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} + /axios@1.6.0: + resolution: {integrity: sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==} dependencies: follow-redirects: 1.15.3 form-data: 4.0.0 + proxy-from-env: 1.1.0 transitivePeerDependencies: - debug dev: false @@ -1477,6 +1693,11 @@ packages: pascalcase: 0.1.1 dev: true + /big-integer@1.6.51: + resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} + engines: {node: '>=0.6'} + dev: true + /big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} dev: true @@ -1494,6 +1715,13 @@ packages: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} dev: true + /bplist-parser@0.2.0: + resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} + engines: {node: '>= 5.10.0'} + dependencies: + big-integer: 1.6.51 + dev: true + /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: @@ -1543,6 +1771,13 @@ packages: update-browserslist-db: 1.0.13(browserslist@4.22.1) dev: true + /bundle-name@3.0.0: + resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} + engines: {node: '>=12'} + dependencies: + run-applescript: 5.0.0 + dev: true + /cache-base@1.0.1: resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} engines: {node: '>=0.10.0'} @@ -1745,13 +1980,18 @@ packages: resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==} dev: false + /computeds@0.0.1: + resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} + dev: true + /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true - /consola@2.15.3: - resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} - dev: true + /consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} + dev: false /console@0.7.2: resolution: {integrity: sha512-+JSDwGunA4MTEgAV/4VBKwUHonP8CzJ/6GIuwPi6acKFqFfHUdSGCm89ZxZ5FfGWdZfkdgAroy5bJ5FSeN/t4g==} @@ -1852,6 +2092,10 @@ packages: resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} dev: false + /de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + dev: true + /debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -1895,6 +2139,29 @@ packages: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true + /default-browser-id@3.0.0: + resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} + engines: {node: '>=12'} + dependencies: + bplist-parser: 0.2.0 + untildify: 4.0.0 + dev: true + + /default-browser@4.0.0: + resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} + engines: {node: '>=14.16'} + dependencies: + bundle-name: 3.0.0 + default-browser-id: 3.0.0 + execa: 7.2.0 + titleize: 3.0.0 + dev: true + + /define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + dev: true + /define-property@0.2.5: resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} engines: {node: '>=0.10.0'} @@ -2023,281 +2290,101 @@ packages: resolution: {integrity: sha512-yXsZyXJfAqzWk1WKryr0Wl0MN2D47xodPvEEwlVePBnhU5E7raevLQR+E6b9JAD3GfL/7MbAL9ZtWQQPcLx7wA==} dev: true - /element-plus@2.4.2(vue@3.3.8): - resolution: {integrity: sha512-E/HwXX7JF1LPvQSjs0fZ8WblIoc0quoXsRXQZiL7QDq7xJdNGSUaXtdk7xiEv7axPmLfEFtxE5du9fFspDrmJw==} - peerDependencies: - vue: ^3.2.0 - dependencies: - '@ctrl/tinycolor': 3.6.1 - '@element-plus/icons-vue': 2.1.0(vue@3.3.8) - '@floating-ui/dom': 1.5.3 - '@popperjs/core': /@sxzz/popperjs-es@2.11.7 - '@types/lodash': 4.14.200 - '@types/lodash-es': 4.17.10 - '@vueuse/core': 9.13.0(vue@3.3.8) - async-validator: 4.2.5 - dayjs: 1.11.10 - escape-html: 1.0.3 - lodash: 4.17.21 - lodash-es: 4.17.21 - lodash-unified: 1.0.3(@types/lodash-es@4.17.10)(lodash-es@4.17.21)(lodash@4.17.21) - memoize-one: 6.0.0 - normalize-wheel-es: 1.2.0 - vue: 3.3.8(typescript@4.7.4) - transitivePeerDependencies: - - '@vue/composition-api' - dev: false - - /emojis-list@3.0.0: - resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} - engines: {node: '>= 4'} - dev: true - - /entities@1.1.2: - resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==} - dev: true - - /entities@2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} - dev: true - - /es-module-lexer@0.9.3: - resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} - dev: true - - /es5-ext@0.10.62: - resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==} - engines: {node: '>=0.10'} - requiresBuild: true - dependencies: - es6-iterator: 2.0.3 - es6-symbol: 3.1.3 - next-tick: 1.1.0 - dev: false - - /es6-iterator@2.0.3: - resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} - dependencies: - d: 1.0.1 - es5-ext: 0.10.62 - es6-symbol: 3.1.3 - dev: false - - /es6-symbol@3.1.3: - resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==} - dependencies: - d: 1.0.1 - ext: 1.7.0 - dev: false - - /esbuild-android-64@0.15.18: - resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-android-arm64@0.15.18: - resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-64@0.15.18: - resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-arm64@0.15.18: - resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-64@0.15.18: - resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-arm64@0.15.18: - resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-32@0.15.18: - resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-64@0.15.18: - resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm64@0.15.18: - resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm@0.15.18: - resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-mips64le@0.15.18: - resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-ppc64le@0.15.18: - resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-riscv64@0.15.18: - resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-s390x@0.15.18: - resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true + /element-plus@2.4.2(vue@3.3.8): + resolution: {integrity: sha512-E/HwXX7JF1LPvQSjs0fZ8WblIoc0quoXsRXQZiL7QDq7xJdNGSUaXtdk7xiEv7axPmLfEFtxE5du9fFspDrmJw==} + peerDependencies: + vue: ^3.2.0 + dependencies: + '@ctrl/tinycolor': 3.6.1 + '@element-plus/icons-vue': 2.1.0(vue@3.3.8) + '@floating-ui/dom': 1.5.3 + '@popperjs/core': /@sxzz/popperjs-es@2.11.7 + '@types/lodash': 4.14.200 + '@types/lodash-es': 4.17.11 + '@vueuse/core': 9.13.0(vue@3.3.8) + async-validator: 4.2.5 + dayjs: 1.11.10 + escape-html: 1.0.3 + lodash: 4.17.21 + lodash-es: 4.17.21 + lodash-unified: 1.0.3(@types/lodash-es@4.17.11)(lodash-es@4.17.21)(lodash@4.17.21) + memoize-one: 6.0.0 + normalize-wheel-es: 1.2.0 + vue: 3.3.8(typescript@5.2.2) + transitivePeerDependencies: + - '@vue/composition-api' + dev: false - /esbuild-netbsd-64@0.15.18: - resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true + /emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} dev: true - optional: true - /esbuild-openbsd-64@0.15.18: - resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true + /entities@1.1.2: + resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==} dev: true - optional: true - /esbuild-sunos-64@0.15.18: - resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true + /entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: true - optional: true - /esbuild-windows-32@0.15.18: - resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true + /es-module-lexer@0.9.3: + resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} dev: true - optional: true - /esbuild-windows-64@0.15.18: - resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] + /es5-ext@0.10.62: + resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==} + engines: {node: '>=0.10'} requiresBuild: true - dev: true - optional: true + dependencies: + es6-iterator: 2.0.3 + es6-symbol: 3.1.3 + next-tick: 1.1.0 + dev: false - /esbuild-windows-arm64@0.15.18: - resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true + /es6-iterator@2.0.3: + resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + dependencies: + d: 1.0.1 + es5-ext: 0.10.62 + es6-symbol: 3.1.3 + dev: false + + /es6-symbol@3.1.3: + resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==} + dependencies: + d: 1.0.1 + ext: 1.7.0 + dev: false - /esbuild@0.15.18: - resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==} + /esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.15.18 - '@esbuild/linux-loong64': 0.15.18 - esbuild-android-64: 0.15.18 - esbuild-android-arm64: 0.15.18 - esbuild-darwin-64: 0.15.18 - esbuild-darwin-arm64: 0.15.18 - esbuild-freebsd-64: 0.15.18 - esbuild-freebsd-arm64: 0.15.18 - esbuild-linux-32: 0.15.18 - esbuild-linux-64: 0.15.18 - esbuild-linux-arm: 0.15.18 - esbuild-linux-arm64: 0.15.18 - esbuild-linux-mips64le: 0.15.18 - esbuild-linux-ppc64le: 0.15.18 - esbuild-linux-riscv64: 0.15.18 - esbuild-linux-s390x: 0.15.18 - esbuild-netbsd-64: 0.15.18 - esbuild-openbsd-64: 0.15.18 - esbuild-sunos-64: 0.15.18 - esbuild-windows-32: 0.15.18 - esbuild-windows-64: 0.15.18 - esbuild-windows-arm64: 0.15.18 + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 dev: true /escalade@3.1.1: @@ -2333,21 +2420,25 @@ packages: eslint: 8.53.0 dev: true - /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.10.0)(eslint@8.53.0)(prettier@2.8.8): - resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} - engines: {node: '>=12.0.0'} + /eslint-plugin-prettier@5.0.1(eslint-config-prettier@8.10.0)(eslint@8.53.0)(prettier@3.0.3): + resolution: {integrity: sha512-m3u5RnR56asrwV/lDC4GHorlW75DsFfmUcjfCYylTUs85dBRnB7VM6xG8eCMJdeDRnppzmxZVf1GEPJvl1JmNg==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - eslint: '>=7.28.0' + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' eslint-config-prettier: '*' - prettier: '>=2.0.0' + prettier: '>=3.0.0' peerDependenciesMeta: + '@types/eslint': + optional: true eslint-config-prettier: optional: true dependencies: eslint: 8.53.0 eslint-config-prettier: 8.10.0(eslint@8.53.0) - prettier: 2.8.8 + prettier: 3.0.3 prettier-linter-helpers: 1.0.0 + synckit: 0.8.5 dev: true /eslint-plugin-vue@9.18.1(eslint@8.53.0): @@ -2368,14 +2459,6 @@ packages: - supports-color dev: true - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: true - /eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2459,11 +2542,6 @@ packages: estraverse: 5.3.0 dev: true - /estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - dev: true - /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} @@ -2489,13 +2567,28 @@ packages: es5-ext: 0.10.62 dev: false - /execa@6.1.0: - resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /execa@7.2.0: + resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 - human-signals: 3.0.1 + human-signals: 4.3.1 is-stream: 3.0.0 merge-stream: 2.0.0 npm-run-path: 5.1.0 @@ -2504,6 +2597,21 @@ packages: strip-final-newline: 3.0.0 dev: true + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.1.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + /expand-brackets@2.1.4: resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} engines: {node: '>=0.10.0'} @@ -2678,6 +2786,15 @@ packages: universalify: 2.0.1 dev: true + /fs-extra@11.1.1: + resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: true + /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true @@ -2704,6 +2821,11 @@ packages: engines: {node: '>=10'} dev: true + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: true + /get-value@2.0.6: resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} engines: {node: '>=0.10.0'} @@ -2884,9 +3006,19 @@ packages: readable-stream: 3.6.2 dev: true - /human-signals@3.0.1: - resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} - engines: {node: '>=12.20.0'} + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /human-signals@4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + engines: {node: '>=14.18.0'} + dev: true + + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} dev: true /i18next@20.6.1: @@ -2985,6 +3117,18 @@ packages: is-data-descriptor: 1.0.1 dev: true + /is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: true + + /is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + dev: true + /is-extendable@0.1.1: resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} engines: {node: '>=0.10.0'} @@ -3013,6 +3157,14 @@ packages: resolution: {integrity: sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==} dev: false + /is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + dependencies: + is-docker: 3.0.0 + dev: true + /is-number@3.0.0: resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} engines: {node: '>=0.10.0'} @@ -3047,6 +3199,11 @@ packages: engines: {node: '>=0.10.0'} dev: false + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + /is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3061,6 +3218,13 @@ packages: engines: {node: '>=0.10.0'} dev: true + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: true + /isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} dev: true @@ -3205,6 +3369,14 @@ packages: engines: {node: '>=14'} dev: true + /local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + dependencies: + mlly: 1.4.2 + pkg-types: 1.0.3 + dev: true + /locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -3216,14 +3388,14 @@ packages: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} dev: false - /lodash-unified@1.0.3(@types/lodash-es@4.17.10)(lodash-es@4.17.21)(lodash@4.17.21): + /lodash-unified@1.0.3(@types/lodash-es@4.17.11)(lodash-es@4.17.21)(lodash@4.17.21): resolution: {integrity: sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==} peerDependencies: '@types/lodash-es': '*' lodash: '*' lodash-es: '*' dependencies: - '@types/lodash-es': 4.17.10 + '@types/lodash-es': 4.17.11 lodash: 4.17.21 lodash-es: 4.17.21 dev: false @@ -3288,13 +3460,6 @@ packages: sourcemap-codec: 1.4.8 dev: true - /magic-string@0.26.7: - resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==} - engines: {node: '>=12'} - dependencies: - sourcemap-codec: 1.4.8 - dev: true - /magic-string@0.30.5: resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} engines: {node: '>=12'} @@ -3384,6 +3549,11 @@ packages: mime-db: 1.52.0 dev: false + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + /mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} @@ -3395,9 +3565,9 @@ packages: brace-expansion: 1.1.11 dev: true - /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 dev: true @@ -3414,15 +3584,6 @@ packages: is-extendable: 1.0.1 dev: true - /mlly@0.5.17: - resolution: {integrity: sha512-Rn+ai4G+CQXptDFSRNnChEgNr+xAEauYhwRvpPl/UHStTlgkIftplgJRsA2OXPuoUn86K4XAjB26+x5CEvVb6A==} - dependencies: - acorn: 8.11.2 - pathe: 1.1.1 - pkg-types: 1.0.3 - ufo: 1.3.1 - dev: true - /mlly@1.4.2: resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} dependencies: @@ -3444,6 +3605,10 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: false + /muggle-string@0.3.1: + resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} + dev: true + /mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} dependencies: @@ -3480,10 +3645,6 @@ packages: - supports-color dev: true - /natural-compare-lite@1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} - dev: true - /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true @@ -3517,6 +3678,13 @@ packages: resolution: {integrity: sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==} dev: false + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + /npm-run-path@5.1.0: resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3573,6 +3741,13 @@ packages: wrappy: 1.0.2 dev: true + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + /onetime@6.0.0: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} @@ -3580,6 +3755,16 @@ packages: mimic-fn: 4.0.0 dev: true + /open@9.1.0: + resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} + engines: {node: '>=14.16'} + dependencies: + default-browser: 4.0.0 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 2.2.0 + dev: true + /optionator@0.9.3: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} @@ -3632,6 +3817,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + dev: true + /path-case@3.0.4: resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} dependencies: @@ -3672,10 +3861,6 @@ packages: resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==} dev: true - /pathe@0.3.9: - resolution: {integrity: sha512-6Y6s0vT112P3jD8dGfuS6r+lpa0qqNrLyHPOwvXMnyNTQaYiwgau2DP3aNDsR13xqtGj7rrPo+jFUATpU6/s+g==} - dev: true - /pathe@1.1.1: resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} dev: true @@ -3693,7 +3878,7 @@ packages: engines: {node: '>=0.10.0'} dev: true - /pinia@2.1.7(typescript@4.7.4)(vue@3.3.8): + /pinia@2.1.7(typescript@5.2.2)(vue@3.3.8): resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==} peerDependencies: '@vue/composition-api': ^1.4.0 @@ -3706,8 +3891,8 @@ packages: optional: true dependencies: '@vue/devtools-api': 6.5.1 - typescript: 4.7.4 - vue: 3.3.8(typescript@4.7.4) + typescript: 5.2.2 + vue: 3.3.8(typescript@5.2.2) vue-demi: 0.14.6(vue@3.3.8) dev: false @@ -3867,9 +4052,9 @@ packages: fast-diff: 1.3.0 dev: true - /prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} + /prettier@3.0.3: + resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} + engines: {node: '>=14'} hasBin: true dev: true @@ -3878,6 +4063,10 @@ packages: engines: {node: '>=6'} dev: false + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: false + /punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -3984,14 +4173,21 @@ packages: glob: 7.2.3 dev: true - /rollup@2.79.1: - resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} - engines: {node: '>=10.0.0'} + /rollup@3.29.4: + resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: fsevents: 2.3.3 dev: true + /run-applescript@5.0.0: + resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} + engines: {node: '>=12'} + dependencies: + execa: 5.1.1 + dev: true + /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: @@ -4024,8 +4220,8 @@ packages: compute-scroll-into-view: 1.0.20 dev: false - /scule@0.2.1: - resolution: {integrity: sha512-M9gnWtn3J0W+UhJOHmBxBTwv8mZCan5i1Himp60t6vvZcor0wr+IM0URKmIglsWJ7bRujNAVVN77fp+uZaWoKg==} + /scule@1.0.0: + resolution: {integrity: sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==} dev: true /select@1.1.2: @@ -4079,6 +4275,11 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -4233,6 +4434,11 @@ packages: ansi-regex: 5.0.1 dev: true + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + /strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} @@ -4243,8 +4449,8 @@ packages: engines: {node: '>=8'} dev: true - /strip-literal@0.4.2: - resolution: {integrity: sha512-pv48ybn4iE1O9RLgCAN0iU4Xv7RlBTiit6DKmMiErbs9x1wH6vXBs45tWc0H5wUIF6TLTrKweqkmYF/iraQKNw==} + /strip-literal@1.3.0: + resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} dependencies: acorn: 8.11.2 dev: true @@ -4332,6 +4538,14 @@ packages: stable: 0.1.8 dev: true + /synckit@0.8.5: + resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/utils': 2.4.2 + tslib: 2.6.2 + dev: true + /tailwindcss@3.3.5: resolution: {integrity: sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==} engines: {node: '>=14.0.0'} @@ -4393,6 +4607,11 @@ packages: resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} dev: false + /titleize@3.0.0: + resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} + engines: {node: '>=12'} + dev: true + /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -4433,12 +4652,17 @@ packages: resolution: {integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==} dev: true - /ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + /ts-api-utils@1.0.3(typescript@5.2.2): + resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} + engines: {node: '>=16.13.0'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.2.2 dev: true - /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + /ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} dev: true /tslib@2.3.0: @@ -4449,16 +4673,6 @@ packages: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: true - /tsutils@3.21.0(typescript@4.7.4): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - dependencies: - tslib: 1.14.1 - typescript: 4.7.4 - dev: true - /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -4479,33 +4693,35 @@ packages: resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} dev: false - /typescript@4.7.4: - resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} - engines: {node: '>=4.2.0'} + /typescript@5.2.2: + resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} + engines: {node: '>=14.17'} hasBin: true /ufo@1.3.1: resolution: {integrity: sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw==} dev: true - /unimport@0.4.7(vite@3.2.7): - resolution: {integrity: sha512-V2Pbscd1VSdgWm1/OI2pjtydEOTjE7DDnHZKhpOq7bSUBc1i8+1f6PK8jI1lJ1plRDcSNr0DLtAmtU9NPkFQpw==} + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /unimport@3.4.0: + resolution: {integrity: sha512-M/lfFEgufIT156QAr/jWHLUn55kEmxBBiQsMxvRSIbquwmeJEyQYgshHDEvQDWlSJrVOOTAgnJ3FvlsrpGkanA==} dependencies: - '@rollup/pluginutils': 4.2.1 + '@rollup/pluginutils': 5.0.5 escape-string-regexp: 5.0.0 fast-glob: 3.3.2 local-pkg: 0.4.3 - magic-string: 0.26.7 - mlly: 0.5.17 - pathe: 0.3.9 - scule: 0.2.1 - strip-literal: 0.4.2 - unplugin: 0.7.2(vite@3.2.7) + magic-string: 0.30.5 + mlly: 1.4.2 + pathe: 1.1.1 + pkg-types: 1.0.3 + scule: 1.0.0 + strip-literal: 1.3.0 + unplugin: 1.5.0 transitivePeerDependencies: - - esbuild - rollup - - vite - - webpack dev: true /union-value@1.0.1: @@ -4523,83 +4739,67 @@ packages: engines: {node: '>= 10.0.0'} dev: true - /unplugin-auto-import@0.9.5(@vueuse/core@10.5.0)(vite@3.2.7): - resolution: {integrity: sha512-CskZjMM+p/QZev7y4JgaAFrf63ui4VGS4HrDMm6VIiVjwnmQ0wPugo58GGhYa+W2Hyv6zGffYO6uYHfeVlDZDA==} + /unplugin-auto-import@0.16.7(@vueuse/core@10.5.0): + resolution: {integrity: sha512-w7XmnRlchq6YUFJVFGSvG1T/6j8GrdYN6Em9Wf0Ye+HXgD/22kont+WnuCAA0UaUoxtuvRR1u/mXKy63g/hfqQ==} engines: {node: '>=14'} peerDependencies: + '@nuxt/kit': ^3.2.2 '@vueuse/core': '*' peerDependenciesMeta: + '@nuxt/kit': + optional: true '@vueuse/core': optional: true dependencies: - '@antfu/utils': 0.5.2 - '@rollup/pluginutils': 4.2.1 + '@antfu/utils': 0.7.6 + '@rollup/pluginutils': 5.0.5 '@vueuse/core': 10.5.0(vue@3.3.8) - local-pkg: 0.4.3 - magic-string: 0.26.7 - unimport: 0.4.7(vite@3.2.7) - unplugin: 0.7.2(vite@3.2.7) + fast-glob: 3.3.2 + local-pkg: 0.5.0 + magic-string: 0.30.5 + minimatch: 9.0.3 + unimport: 3.4.0 + unplugin: 1.5.0 transitivePeerDependencies: - - esbuild - rollup - - vite - - webpack dev: true - /unplugin-vue-components@0.19.9(vite@3.2.7)(vue@3.3.8): - resolution: {integrity: sha512-i5mZtg85euPWZrGswFkoa9pf4WjKCP5qOjnwOyg3KOKVzFjnP3osCdrunQMjtoMKehTdz1vV6baZH8bZR4PNgg==} + /unplugin-vue-components@0.25.2(vue@3.3.8): + resolution: {integrity: sha512-OVmLFqILH6w+eM8fyt/d/eoJT9A6WO51NZLf1vC5c1FZ4rmq2bbGxTy8WP2Jm7xwFdukaIdv819+UI7RClPyCA==} engines: {node: '>=14'} peerDependencies: '@babel/parser': ^7.15.8 - '@babel/traverse': ^7.15.4 + '@nuxt/kit': ^3.2.2 vue: 2 || 3 peerDependenciesMeta: '@babel/parser': optional: true - '@babel/traverse': + '@nuxt/kit': optional: true dependencies: - '@antfu/utils': 0.5.2 - '@rollup/pluginutils': 4.2.1 + '@antfu/utils': 0.7.6 + '@rollup/pluginutils': 5.0.5 chokidar: 3.5.3 debug: 4.3.4 fast-glob: 3.3.2 local-pkg: 0.4.3 - magic-string: 0.26.7 - minimatch: 5.1.6 + magic-string: 0.30.5 + minimatch: 9.0.3 resolve: 1.22.8 - unplugin: 0.7.2(vite@3.2.7) - vue: 3.3.8(typescript@4.7.4) + unplugin: 1.5.0 + vue: 3.3.8(typescript@5.2.2) transitivePeerDependencies: - - esbuild - rollup - supports-color - - vite - - webpack dev: true - /unplugin@0.7.2(vite@3.2.7): - resolution: {integrity: sha512-m7thX4jP8l5sETpLdUASoDOGOcHaOVtgNyrYlToyQUvILUtEzEnngRBrHnAX3IKqooJVmXpoa/CwQ/QqzvGaHQ==} - peerDependencies: - esbuild: '>=0.13' - rollup: ^2.50.0 - vite: ^2.3.0 || ^3.0.0-0 - webpack: 4 || 5 - peerDependenciesMeta: - esbuild: - optional: true - rollup: - optional: true - vite: - optional: true - webpack: - optional: true + /unplugin@1.5.0: + resolution: {integrity: sha512-9ZdRwbh/4gcm1JTOkp9lAkIDrtOyOxgHmY7cjuwI8L/2RTikMcVG25GsZwNAgRuap3iDw2jeq7eoqtAsz5rW3A==} dependencies: acorn: 8.11.2 chokidar: 3.5.3 - vite: 3.2.7(@types/node@16.18.60)(sass@1.69.5) webpack-sources: 3.2.3 - webpack-virtual-modules: 0.4.6 + webpack-virtual-modules: 0.5.0 dev: true /unset-value@1.0.0: @@ -4610,6 +4810,11 @@ packages: isobject: 3.0.1 dev: true + /untildify@4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + dev: true + /update-browserslist-db@1.0.13(browserslist@4.22.1): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true @@ -4658,7 +4863,7 @@ packages: engines: {node: '>= 0.8'} dev: true - /vite-plugin-style-import@2.0.0(vite@3.2.7): + /vite-plugin-style-import@2.0.0(vite@4.5.0): resolution: {integrity: sha512-qtoHQae5dSUQPo/rYz/8p190VU5y19rtBaeV7ryLa/AYAU/e9CG89NrN/3+k7MR8mJy/GPIu91iJ3zk9foUOSA==} peerDependencies: vite: '>=2.0.0' @@ -4670,10 +4875,10 @@ packages: fs-extra: 10.1.0 magic-string: 0.25.9 pathe: 0.2.0 - vite: 3.2.7(@types/node@16.18.60)(sass@1.69.5) + vite: 4.5.0(@types/node@20.9.0)(sass@1.69.5) dev: true - /vite-plugin-svg-icons@2.0.1(vite@3.2.7): + /vite-plugin-svg-icons@2.0.1(vite@4.5.0): resolution: {integrity: sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==} peerDependencies: vite: '>=2.0.0' @@ -4686,28 +4891,29 @@ packages: pathe: 0.2.0 svg-baker: 1.7.0 svgo: 2.8.0 - vite: 3.2.7(@types/node@16.18.60)(sass@1.69.5) + vite: 4.5.0(@types/node@20.9.0)(sass@1.69.5) transitivePeerDependencies: - supports-color dev: true - /vite-plugin-vue-setup-extend@0.4.0(vite@3.2.7): + /vite-plugin-vue-setup-extend@0.4.0(vite@4.5.0): resolution: {integrity: sha512-WMbjPCui75fboFoUTHhdbXzu4Y/bJMv5N9QT9a7do3wNMNHHqrk+Tn2jrSJU0LS5fGl/EG+FEDBYVUeWIkDqXQ==} peerDependencies: vite: '>=2.0.0' dependencies: '@vue/compiler-sfc': 3.3.8 magic-string: 0.25.9 - vite: 3.2.7(@types/node@16.18.60)(sass@1.69.5) + vite: 4.5.0(@types/node@20.9.0)(sass@1.69.5) dev: true - /vite@3.2.7(@types/node@16.18.60)(sass@1.69.5): - resolution: {integrity: sha512-29pdXjk49xAP0QBr0xXqu2s5jiQIXNvE/xwd0vUizYT2Hzqe4BksNNoWllFVXJf4eLZ+UlVQmXfB4lWrc+t18g==} + /vite@4.5.0(@types/node@20.9.0)(sass@1.69.5): + resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: '@types/node': '>= 14' less: '*' + lightningcss: ^1.21.0 sass: '*' stylus: '*' sugarss: '*' @@ -4717,6 +4923,8 @@ packages: optional: true less: optional: true + lightningcss: + optional: true sass: optional: true stylus: @@ -4726,11 +4934,10 @@ packages: terser: optional: true dependencies: - '@types/node': 16.18.60 - esbuild: 0.15.18 + '@types/node': 20.9.0 + esbuild: 0.18.20 postcss: 8.4.31 - resolve: 1.22.8 - rollup: 2.79.1 + rollup: 3.29.4 sass: 1.69.5 optionalDependencies: fsevents: 2.3.3 @@ -4754,7 +4961,7 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.3.8(typescript@4.7.4) + vue: 3.3.8(typescript@5.2.2) dev: false /vue-demi@0.14.6(vue@3.3.8): @@ -4769,7 +4976,7 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.3.8(typescript@4.7.4) + vue: 3.3.8(typescript@5.2.2) /vue-echarts@6.6.1(echarts@5.4.3)(vue@3.3.8): resolution: {integrity: sha512-EpreTzlNeJ+eaUn0AhXEmKJk98xJGecgTqAdyZovoXWnhTxnlW2HuBM0ei3y8rLw1JCUabf8/sYvxjlr8SzBKQ==} @@ -4784,7 +4991,7 @@ packages: dependencies: echarts: 5.4.3 resize-detector: 0.3.0 - vue: 3.3.8(typescript@4.7.4) + vue: 3.3.8(typescript@5.2.2) vue-demi: 0.13.11(vue@3.3.8) dev: false @@ -4812,30 +5019,39 @@ packages: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.5.1 - vue: 3.3.8(typescript@4.7.4) + vue: 3.3.8(typescript@5.2.2) dev: false - /vue-tsc@0.38.9(typescript@4.7.4): - resolution: {integrity: sha512-Yoy5phgvGqyF98Fb4mYqboR4Q149jrdcGv5kSmufXJUq++RZJ2iMVG0g6zl+v3t4ORVWkQmRpsV4x2szufZ0LQ==} + /vue-template-compiler@2.7.15: + resolution: {integrity: sha512-yQxjxMptBL7UAog00O8sANud99C6wJF+7kgbcwqkvA38vCGF7HWE66w0ZFnS/kX5gSoJr/PQ4/oS3Ne2pW37Og==} + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + dev: true + + /vue-tsc@1.8.22(typescript@5.2.2): + resolution: {integrity: sha512-j9P4kHtW6eEE08aS5McFZE/ivmipXy0JzrnTgbomfABMaVKx37kNBw//irL3+LlE3kOo63XpnRigyPC3w7+z+A==} hasBin: true peerDependencies: typescript: '*' dependencies: - '@volar/vue-typescript': 0.38.9 - typescript: 4.7.4 + '@volar/typescript': 1.10.10 + '@vue/language-core': 1.8.22(typescript@5.2.2) + semver: 7.5.4 + typescript: 5.2.2 dev: true - /vue3-video-play@1.3.1-beta.6(typescript@4.7.4): + /vue3-video-play@1.3.1-beta.6(typescript@5.2.2): resolution: {integrity: sha512-Olrx2/LNAds7fuor/yX9ZKT9sOcwcfTt2g2YbbCrEaAmZ5Tb0hwBr5z+/CoLwELzzRzXCHPmWWoT0Wm5W/Nwpw==} dependencies: hls.js: 1.4.12 throttle-debounce: 3.0.1 - vue: 3.3.8(typescript@4.7.4) + vue: 3.3.8(typescript@5.2.2) transitivePeerDependencies: - typescript dev: false - /vue@3.3.8(typescript@4.7.4): + /vue@3.3.8(typescript@5.2.2): resolution: {integrity: sha512-5VSX/3DabBikOXMsxzlW8JyfeLKlG9mzqnWgLQLty88vdZL7ZJgrdgBOmrArwxiLtmS+lNNpPcBYqrhE6TQW5w==} peerDependencies: typescript: '*' @@ -4848,7 +5064,7 @@ packages: '@vue/runtime-dom': 3.3.8 '@vue/server-renderer': 3.3.8(vue@3.3.8) '@vue/shared': 3.3.8 - typescript: 4.7.4 + typescript: 5.2.2 /vuedraggable@4.1.0(vue@3.3.8): resolution: {integrity: sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==} @@ -4856,7 +5072,7 @@ packages: vue: ^3.0.1 dependencies: sortablejs: 1.14.0 - vue: 3.3.8(typescript@4.7.4) + vue: 3.3.8(typescript@5.2.2) dev: false /webpack-sources@3.2.3: @@ -4864,8 +5080,8 @@ packages: engines: {node: '>=10.13.0'} dev: true - /webpack-virtual-modules@0.4.6: - resolution: {integrity: sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==} + /webpack-virtual-modules@0.5.0: + resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} dev: true /which@2.0.2: diff --git a/admin/src/components/icon/index.vue b/admin/src/components/icon/index.vue index 98dff2a..738eef3 100644 --- a/admin/src/components/icon/index.vue +++ b/admin/src/components/icon/index.vue @@ -43,6 +43,7 @@ export default defineComponent({ createVNode(svgIcon, { ...props }) ) } + return () => {} } }) diff --git a/admin/src/install/plugins/hljs.ts b/admin/src/install/plugins/hljs.ts deleted file mode 100644 index 041ac77..0000000 --- a/admin/src/install/plugins/hljs.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { App } from 'vue' -import 'highlight.js/styles/github.css' -import hljs from 'highlight.js/lib/common' -import hljsVuePlugin from '@highlightjs/vue-plugin' -console.log(hljs) -export default (app: App) => { - app.use(hljsVuePlugin) -} diff --git a/admin/src/install/plugins/echart.ts b/admin/src/utils/echart.ts similarity index 100% rename from admin/src/install/plugins/echart.ts rename to admin/src/utils/echart.ts diff --git a/admin/src/views/article/column/index.vue b/admin/src/views/article/column/index.vue index 4346878..fd14f6b 100644 --- a/admin/src/views/article/column/index.vue +++ b/admin/src/views/article/column/index.vue @@ -65,11 +65,15 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + +
diff --git a/server.code-workspace b/server.code-workspace new file mode 100644 index 0000000..70b3a60 --- /dev/null +++ b/server.code-workspace @@ -0,0 +1,11 @@ +{ + "folders": [ + { + "path": "server" + }, + { + "path": "admin" + } + ], + "settings": {} +} \ No newline at end of file -- Gitee From 7b05619577771dd98c67c20a7b02dda985105a8c Mon Sep 17 00:00:00 2001 From: xiangheng <11675084@qq.com> Date: Thu, 9 Nov 2023 10:28:00 +0800 Subject: [PATCH 03/41] =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E5=8F=AF=E5=A4=8D?= =?UTF-8?q?=E7=94=A8=E7=9A=84=E6=9C=80=E5=A4=A7=E6=97=B6=E9=97=B4=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E4=BB=8E=E5=B0=8F=E6=97=B6=E6=94=B9=E4=B8=BA=E7=A7=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/config/config.go | 61 +++++++++++++++++++++-------------------- server/core/db.go | 13 +++++---- 2 files changed, 38 insertions(+), 36 deletions(-) diff --git a/server/config/config.go b/server/config/config.go index a839093..25d4f26 100644 --- a/server/config/config.go +++ b/server/config/config.go @@ -14,30 +14,30 @@ var Config = loadConfig(".") // envConfig 环境配置 type envConfig struct { - RootPath string // 项目根目录 - GinMode string `mapstructure:"GIN_MODE"` // gin运行模式 - PublicUrl string `mapstructure:"PUBLIC_URL"` // 对外发布的Url - ServerPort int `mapstructure:"SERVER_PORT"` // 服务运行端口 - DisallowModify bool `mapstructure:"DISALLOW_MODIFY"` // 禁止修改操作 (演示功能,限制POST请求) - PublicPrefix string // 资源访问前缀 - UploadDirectory string `mapstructure:"UPLOAD_DIRECTORY"` // 上传文件路径 - RedisUrl string `mapstructure:"REDIS_URL"` // Redis源配置 - RedisPoolSize int // Redis连接池大小 - DatabaseUrl string `mapstructure:"DATABASE_URL"` // 数据源配置 - DbTablePrefix string // Mysql表前缀 - DbDefaultStringSize uint // 数据库string类型字段的默认长度 - DbMaxIdleConns int // 数据库空闲连接池最大值 - DbMaxOpenConns int // 数据库连接池最大值 - DbConnMaxLifetimeHours int16 // 连接可复用的最大时间(小时) - Version string // 版本 - Secret string // 系统加密字符 - StaticPath string // 静态资源URL路径 - StaticDirectory string // 静态资源本地路径 - RedisPrefix string // Redis键前缀 - UploadImageSize int64 // 上传图片限制 - UploadVideoSize int64 // 上传视频限制 - UploadImageExt []string // 上传图片扩展 - UploadVideoExt []string // 上传视频扩展 + RootPath string // 项目根目录 + GinMode string `mapstructure:"GIN_MODE"` // gin运行模式 + PublicUrl string `mapstructure:"PUBLIC_URL"` // 对外发布的Url + ServerPort int `mapstructure:"SERVER_PORT"` // 服务运行端口 + DisallowModify bool `mapstructure:"DISALLOW_MODIFY"` // 禁止修改操作 (演示功能,限制POST请求) + PublicPrefix string // 资源访问前缀 + UploadDirectory string `mapstructure:"UPLOAD_DIRECTORY"` // 上传文件路径 + RedisUrl string `mapstructure:"REDIS_URL"` // Redis源配置 + RedisPoolSize int // Redis连接池大小 + DatabaseUrl string `mapstructure:"DATABASE_URL"` // 数据源配置 + DbTablePrefix string // Mysql表前缀 + DbDefaultStringSize uint // 数据库string类型字段的默认长度 + DbMaxIdleConns int // 数据库空闲连接池最大值 + DbMaxOpenConns int // 数据库连接池最大值 + DbConnMaxLifetimeSeconds int16 // 连接可复用的最大时间(秒:默认28800秒),请根据这个sql查处的时间设置: show variables like 'wait_timeout' + Version string // 版本 + Secret string // 系统加密字符 + StaticPath string // 静态资源URL路径 + StaticDirectory string // 静态资源本地路径 + RedisPrefix string // Redis键前缀 + UploadImageSize int64 // 上传图片限制 + UploadVideoSize int64 // 上传视频限制 + UploadImageExt []string // 上传图片扩展 + UploadVideoExt []string // 上传视频扩展 } // loadConfig 加载配置 @@ -71,12 +71,13 @@ func loadConfig(envPath string) envConfig { RedisUrl: "redis://localhost:6379", RedisPoolSize: 100, // 数据源配置 - DatabaseUrl: "likeadmin:likeadmin@tcp(localhost:3306)/likeadmin?charset=utf8mb4&parseTime=True&loc=Local", - DbTablePrefix: "la_", - DbDefaultStringSize: 256, - DbMaxIdleConns: 10, - DbMaxOpenConns: 100, - DbConnMaxLifetimeHours: 2, + DatabaseUrl: "likeadmin:likeadmin@tcp(localhost:3306)/likeadmin?charset=utf8mb4&parseTime=True&loc=Local", + DbTablePrefix: "la_", + DbDefaultStringSize: 256, + DbMaxIdleConns: 10, + DbMaxOpenConns: 100, + // 连接可复用的最大时间(秒:默认28800秒) + DbConnMaxLifetimeSeconds: 28800, // 全局配置 // 版本 Version: "v1.1.0", diff --git a/server/core/db.go b/server/core/db.go index a9a0e16..7d53c6c 100644 --- a/server/core/db.go +++ b/server/core/db.go @@ -1,14 +1,15 @@ package core import ( - "gorm.io/driver/mysql" - "gorm.io/gorm" - "gorm.io/gorm/logger" - "gorm.io/gorm/schema" "likeadmin/config" "log" "os" "time" + + "gorm.io/driver/mysql" + "gorm.io/gorm" + "gorm.io/gorm/logger" + "gorm.io/gorm/schema" ) var db = initMysql() @@ -17,7 +18,7 @@ func GetDB() *gorm.DB { return db } -//initMysql 初始化mysql会话 +// initMysql 初始化mysql会话 func initMysql() *gorm.DB { // 日志配置 slowThreshold := time.Second @@ -64,7 +65,7 @@ func initMysql() *gorm.DB { // 数据库连接池最大值 sqlDB.SetMaxOpenConns(config.Config.DbMaxOpenConns) // 连接可复用的最大时间 - sqlDB.SetConnMaxLifetime(time.Duration(config.Config.DbConnMaxLifetimeHours) * time.Hour) + sqlDB.SetConnMaxLifetime(time.Duration(config.Config.DbConnMaxLifetimeSeconds) * time.Second) return db } -- Gitee From 5dd5856c4748697344c1b7cd503d9bb5796c5216 Mon Sep 17 00:00:00 2001 From: xiangheng <11675084@qq.com> Date: Thu, 9 Nov 2023 10:28:09 +0800 Subject: [PATCH 04/41] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/go.mod | 80 +++++++++++++++++++--------------- server/go.sum | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 164 insertions(+), 34 deletions(-) diff --git a/server/go.mod b/server/go.mod index 945da72..615c2a6 100644 --- a/server/go.mod +++ b/server/go.mod @@ -5,58 +5,70 @@ go 1.18 require ( github.com/fatih/structs v1.1.0 github.com/gin-contrib/cors v1.4.0 - github.com/gin-gonic/gin v1.8.1 + github.com/gin-gonic/gin v1.9.1 github.com/go-redis/redis/v9 v9.0.0-rc.2 - github.com/google/uuid v1.1.2 - github.com/jinzhu/copier v0.3.5 + github.com/google/uuid v1.4.0 + github.com/jinzhu/copier v0.4.0 github.com/shirou/gopsutil v3.21.11+incompatible - github.com/spf13/viper v1.14.0 - github.com/ua-parser/uap-go v0.0.0-20211112212520-00c877edfe0f - go.uber.org/dig v1.16.1 - go.uber.org/zap v1.23.0 - gorm.io/driver/mysql v1.4.4 - gorm.io/gorm v1.24.2 + github.com/spf13/viper v1.17.0 + github.com/ua-parser/uap-go v0.0.0-20230823213814-f77b3e91e9dc + go.uber.org/dig v1.17.1 + go.uber.org/zap v1.26.0 + gorm.io/driver/mysql v1.5.2 + gorm.io/gorm v1.25.5 ) require ( - github.com/cespare/xxhash/v2 v2.1.2 // indirect + github.com/bytedance/sonic v1.10.2 // indirect + github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect + github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect - github.com/fsnotify/fsnotify v1.6.0 // indirect + github.com/fsnotify/fsnotify v1.7.0 // indirect + github.com/gabriel-vasile/mimetype v1.4.3 // indirect github.com/gin-contrib/sse v0.1.0 // indirect - github.com/go-ole/go-ole v1.2.6 // indirect - github.com/go-playground/locales v0.14.0 // indirect - github.com/go-playground/universal-translator v0.18.0 // indirect - github.com/go-playground/validator/v10 v10.11.1 // indirect - github.com/go-sql-driver/mysql v1.6.0 // indirect - github.com/goccy/go-json v0.9.11 // indirect + github.com/go-ole/go-ole v1.3.0 // indirect + github.com/go-playground/locales v0.14.1 // indirect + github.com/go-playground/universal-translator v0.18.1 // indirect + github.com/go-playground/validator/v10 v10.16.0 // indirect + github.com/go-sql-driver/mysql v1.7.1 // indirect + github.com/goccy/go-json v0.10.2 // indirect + github.com/hashicorp/golang-lru v1.0.2 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/now v1.1.5 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/leodido/go-urn v1.2.1 // indirect - github.com/magiconair/properties v1.8.6 // indirect - github.com/mattn/go-isatty v0.0.16 // indirect + github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/leodido/go-urn v1.2.4 // indirect + github.com/magiconair/properties v1.8.7 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pelletier/go-toml v1.9.5 // indirect - github.com/pelletier/go-toml/v2 v2.0.6 // indirect - github.com/spf13/afero v1.9.2 // indirect - github.com/spf13/cast v1.5.0 // indirect + github.com/pelletier/go-toml/v2 v2.1.0 // indirect + github.com/sagikazarmark/locafero v0.3.0 // indirect + github.com/sagikazarmark/slog-shim v0.1.0 // indirect + github.com/sourcegraph/conc v0.3.0 // indirect + github.com/spf13/afero v1.10.0 // indirect + github.com/spf13/cast v1.5.1 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/subosito/gotenv v1.4.1 // indirect - github.com/tklauser/go-sysconf v0.3.11 // indirect - github.com/tklauser/numcpus v0.6.0 // indirect - github.com/ugorji/go/codec v1.2.7 // indirect + github.com/subosito/gotenv v1.6.0 // indirect + github.com/tklauser/go-sysconf v0.3.12 // indirect + github.com/tklauser/numcpus v0.6.1 // indirect + github.com/twitchyliquid64/golang-asm v0.15.1 // indirect + github.com/ugorji/go/codec v1.2.11 // indirect github.com/yusufpapurcu/wmi v1.2.3 // indirect - go.uber.org/atomic v1.9.0 // indirect - go.uber.org/multierr v1.8.0 // indirect - golang.org/x/crypto v0.3.0 // indirect - golang.org/x/net v0.2.0 // indirect - golang.org/x/sys v0.2.0 // indirect - golang.org/x/text v0.4.0 // indirect - google.golang.org/protobuf v1.28.1 // indirect + go.uber.org/atomic v1.11.0 // indirect + go.uber.org/multierr v1.11.0 // indirect + golang.org/x/arch v0.6.0 // indirect + golang.org/x/crypto v0.15.0 // indirect + golang.org/x/exp v0.0.0-20231108232855-2478ac86f678 // indirect + golang.org/x/net v0.18.0 // indirect + golang.org/x/sys v0.14.0 // indirect + golang.org/x/text v0.14.0 // indirect + google.golang.org/protobuf v1.31.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/server/go.sum b/server/go.sum index 470b37a..8517f05 100644 --- a/server/go.sum +++ b/server/go.sum @@ -39,9 +39,22 @@ dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= +github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= +github.com/bytedance/sonic v1.10.0-rc/go.mod h1:ElCzW+ufi8qKqNW0FY314xriJhyJhuoJ3gFZdAHF7NM= +github.com/bytedance/sonic v1.10.2 h1:GQebETVBxYB7JGWJtLBi07OVzWwt+8dWA00gEVW2ZFE= +github.com/bytedance/sonic v1.10.2/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY= +github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk= +github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d h1:77cEq6EriyTZ0g/qfRdp61a3Uu/AWrgIq2s0ClJV1g0= +github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d/go.mod h1:8EPpVsBuRksnlj1mLy4AWzRNQYxauNi62uWcE3to6eA= +github.com/chenzhuoyu/iasm v0.9.0/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog= +github.com/chenzhuoyu/iasm v0.9.1 h1:tUHQJXo3NhBqw6s33wkGn9SP3bvrWLdlVIJ3hQBL7P0= +github.com/chenzhuoyu/iasm v0.9.1/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= @@ -53,6 +66,7 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -64,35 +78,55 @@ github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7 github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= +github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= +github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= +github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0= +github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk= github.com/gin-contrib/cors v1.4.0 h1:oJ6gwtUl3lqV0WEIwM/LxPF1QZ5qe2lGWdY2+bz7y0g= github.com/gin-contrib/cors v1.4.0/go.mod h1:bs9pNM0x/UsmHPBWT2xZz9ROh8xYjYkiURUfmBoMlcs= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= +github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= +github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= +github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78= github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= +github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= +github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= +github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= +github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= github.com/go-playground/validator/v10 v10.10.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos= github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= +github.com/go-playground/validator/v10 v10.16.0 h1:x+plE831WK4vaKHO/jpgUGsvLKIqRRkz6M78GuJAfGE= +github.com/go-playground/validator/v10 v10.16.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= github.com/go-redis/redis/v9 v9.0.0-rc.2 h1:IN1eI8AvJJeWHjMW/hlFAv2sAfvTun2DVksDDJ3a6a0= github.com/go-redis/redis/v9 v9.0.0-rc.2/go.mod h1:cgBknjwcBJa2prbnuHH/4k/Mlj4r0pWNV2HBanHujfY= github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= +github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI= +github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= +github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -149,17 +183,24 @@ github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLe github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= +github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= +github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/jinzhu/copier v0.3.5 h1:GlvfUwHk62RokgqVNvYsku0TATCF7bAHVwEXoBh3iJg= github.com/jinzhu/copier v0.3.5/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg= +github.com/jinzhu/copier v0.4.0 h1:w3ciUoD19shMCRargcpm0cm91ytaBhDvuRpz1ODO/U8= +github.com/jinzhu/copier v0.4.0/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg= github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= github.com/jinzhu/now v1.1.4/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= @@ -170,22 +211,33 @@ github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHm github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= +github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= +github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= +github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= +github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -201,29 +253,44 @@ github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCko github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= +github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4= +github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= +github.com/sagikazarmark/locafero v0.3.0 h1:zT7VEGWC2DTflmccN/5T1etyKvxSxpHsjb9cJvm4SvQ= +github.com/sagikazarmark/locafero v0.3.0/go.mod h1:w+v7UsPNFwzF1cHuOajOOzoq4U7v/ig1mpRjqV+Bu1U= +github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= +github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKlUeu/erjjvaPEYiI= github.com/shirou/gopsutil v3.21.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= +github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= +github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= +github.com/spf13/afero v1.10.0 h1:EaGW2JJh15aKOejeuJ+wpFSHnbd7GE6Wvp3TsNhb6LY= +github.com/spf13/afero v1.10.0/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= +github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= +github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.14.0 h1:Rg7d3Lo706X9tHsJMUjdiwMpHB7W8WnSVOssIY+JElU= github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= +github.com/spf13/viper v1.17.0 h1:I5txKw7MJasPL/BrfkbA0Jyo/oELqVmux4pR/UxOMfI= +github.com/spf13/viper v1.17.0/go.mod h1:BmMMMLQXSbcHK6KAOiFLz0l5JHrU89OdIRHvsk0+yVI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= @@ -237,17 +304,31 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs= github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= +github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= +github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/tklauser/go-sysconf v0.3.11 h1:89WgdJhk5SNwJfu+GKyYveZ4IaJ7xAkecBo+KdJV0CM= github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI= +github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU= +github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= github.com/tklauser/numcpus v0.6.0 h1:kebhY2Qt+3U6RNK7UqpYNA+tJ23IBEGKkB7JQBfDYms= github.com/tklauser/numcpus v0.6.0/go.mod h1:FEZLMke0lhOUG6w2JadTzp0a+Nl8PF/GFkQ5UVIcaL4= +github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk= +github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY= +github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= +github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= github.com/ua-parser/uap-go v0.0.0-20211112212520-00c877edfe0f h1:A+MmlgpvrHLeUP8dkBVn4Pnf5Bp5Yk2OALm7SEJLLE8= github.com/ua-parser/uap-go v0.0.0-20211112212520-00c877edfe0f/go.mod h1:OBcG9bn7sHtXgarhUEb3OfCnNsgtGnkVf41ilSZ3K3E= +github.com/ua-parser/uap-go v0.0.0-20230823213814-f77b3e91e9dc h1:iT5lwxf894PiMq7cnMMQg/7VOD1pxmu//gQuHWAFy4s= +github.com/ua-parser/uap-go v0.0.0-20230823213814-f77b3e91e9dc/go.mod h1:BUbeWZiieNxAuuADTBNb3/aeje6on3DhU3rpWsQSB1E= github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M= github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= +github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU= +github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -263,13 +344,25 @@ go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= +go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/dig v1.16.1 h1:+alNIBsl0qfY0j6epRubp/9obgtrObRAc5aD+6jbWY8= go.uber.org/dig v1.16.1/go.mod h1:557JTAUZT5bUK0SvCwikmLPPtdQhfvLYtO5tJgQSbnk= +go.uber.org/dig v1.17.1 h1:Tga8Lz8PcYNsWsyHMZ1Vm0OQOUaJNDyvPImgbAu9YSc= +go.uber.org/dig v1.17.1/go.mod h1:Us0rSJiThwCv2GteUN0Q7OKvU7n5J4dxZ9JKUXozFdE= go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= +go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk= go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= +go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= +go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.23.0 h1:OjGQ5KQDEUawVHxNwQgPpiypGHOxo2mNZsOqTak4fFY= go.uber.org/zap v1.23.0/go.mod h1:D+nX8jyLsMHMYrln8A0rJjFt/T/9/bGgIhAqxv5URuY= +go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= +go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= +golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= +golang.org/x/arch v0.6.0 h1:S0JTfE48HbRj80+4tbvZDYsJ3tGv6BUU3XxyZ7CirAc= +golang.org/x/arch v0.6.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -279,8 +372,11 @@ golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.3.0 h1:a06MkbcxBrEFc0w0QIZWXrH/9cCX6KJyWbBOIwAn+7A= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= +golang.org/x/crypto v0.15.0 h1:frVn1TEaCEaZcn3Tmd7Y2b5KKPaZ+I32Q2OA3kYp5TA= +golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -291,6 +387,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20231108232855-2478ac86f678 h1:mchzmB1XO2pMaKFRqk/+MV3mgGG96aqaPXaMifQU47w= +golang.org/x/exp v0.0.0-20231108232855-2478ac86f678/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -348,6 +446,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= +golang.org/x/net v0.18.0 h1:mIYleuAkSbHh0tCv7RvjL3F6ZVbLjq4+R7zbOn3Kokg= +golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -407,8 +507,15 @@ golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= +golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -420,6 +527,8 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -566,6 +675,8 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0 google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= @@ -584,9 +695,14 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gorm.io/driver/mysql v1.4.4 h1:MX0K9Qvy0Na4o7qSC/YI7XxqUw5KDw01umqgID+svdQ= gorm.io/driver/mysql v1.4.4/go.mod h1:BCg8cKI+R0j/rZRQxeKis/forqRwRSYOR8OM3Wo6hOM= +gorm.io/driver/mysql v1.5.2 h1:QC2HRskSE75wBuOxe0+iCkyJZ+RqpudsQtqkp+IMuXs= +gorm.io/driver/mysql v1.5.2/go.mod h1:pQLhh1Ut/WUAySdTHwBpBv6+JKcj+ua4ZFx1QQTBzb8= gorm.io/gorm v1.23.8/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= gorm.io/gorm v1.24.2 h1:9wR6CFD+G8nOusLdvkZelOEhpJVwwHzpQOUM+REd6U0= gorm.io/gorm v1.24.2/go.mod h1:DVrVomtaYTbqs7gB/x2uVvqnXzv0nqjB396B8cG4dBA= +gorm.io/gorm v1.25.2-0.20230530020048-26663ab9bf55/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= +gorm.io/gorm v1.25.5 h1:zR9lOiiYf09VNh5Q1gphfyia1JpiClIWG9hQaxB/mls= +gorm.io/gorm v1.25.5/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -594,6 +710,8 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -- Gitee From 7387e7a470c51a0a4423c1aa67bc9ad11ba7e4bd Mon Sep 17 00:00:00 2001 From: xiangheng <11675084@qq.com> Date: Thu, 9 Nov 2023 10:52:55 +0800 Subject: [PATCH 05/41] =?UTF-8?q?=E8=A1=A5=E5=85=85=E7=A4=BA=E4=BE=8B?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/.env.development.example | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 admin/.env.development.example diff --git a/admin/.env.development.example b/admin/.env.development.example new file mode 100644 index 0000000..8cd4d01 --- /dev/null +++ b/admin/.env.development.example @@ -0,0 +1,4 @@ +NODE_ENV = 'development' + +# 请求域名 +VITE_APP_BASE_URL='http://127.0.0.1:8001' -- Gitee From 8e46bdccd1905849ea74d8350345d1bbcad2a0f4 Mon Sep 17 00:00:00 2001 From: xiangheng <11675084@qq.com> Date: Thu, 9 Nov 2023 17:47:33 +0800 Subject: [PATCH 06/41] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86?= =?UTF-8?q?=E9=94=99=E8=AF=AF=EF=BC=8C=E8=B7=AF=E7=94=B1=E4=B8=8D=E7=9B=B4?= =?UTF-8?q?=E6=8E=A5=E7=94=A8RouterView?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/src/App.vue | 91 +-- admin/src/components/material/index.vue | 24 +- admin/src/components/material/picker.vue | 558 +++++++++--------- admin/src/components/popup/index.vue | 1 + admin/src/layout/Empty.vue | 20 + admin/src/router/index.ts | 10 +- admin/src/router/routes.ts | 4 +- admin/src/views/material/index.vue | 5 +- .../src/views/setting/website/information.vue | 6 +- admin/src/views/setting/website/protocol.vue | 6 +- admin/tsconfig.json | 31 +- 11 files changed, 392 insertions(+), 364 deletions(-) create mode 100644 admin/src/layout/Empty.vue diff --git a/admin/src/App.vue b/admin/src/App.vue index a824e33..08cba46 100644 --- a/admin/src/App.vue +++ b/admin/src/App.vue @@ -1,58 +1,59 @@ diff --git a/admin/src/components/material/index.vue b/admin/src/components/material/index.vue index 2a24ac9..26a49af 100644 --- a/admin/src/components/material/index.vue +++ b/admin/src/components/material/index.vue @@ -425,7 +425,7 @@ const typeValue = computed(() => { return 0 } }) -const visible: Ref = inject('visible')! +// const visible: Ref = inject('visible') const previewUrl = ref('') const showPreview = ref(false) const { @@ -470,17 +470,17 @@ const handlePreview = (url: string) => { previewUrl.value = url showPreview.value = true } -watch( - visible, - async (val: boolean) => { - if (val) { - getData() - } - }, - { - immediate: true - } -) +// watch( +// () => visible, +// (val) => { +// if (val) { +// getData() +// } +// }, +// { +// immediate: true +// } +// ) watch(cateId, () => { fileParams.name = '' refresh() diff --git a/admin/src/components/material/picker.vue b/admin/src/components/material/picker.vue index e1c0efc..a62e1c5 100644 --- a/admin/src/components/material/picker.vue +++ b/admin/src/components/material/picker.vue @@ -1,309 +1,303 @@ + + diff --git a/admin/src/router/index.ts b/admin/src/router/index.ts index 91b6f88..f4dd998 100644 --- a/admin/src/router/index.ts +++ b/admin/src/router/index.ts @@ -1,7 +1,7 @@ -import { createRouter, createWebHistory, RouterView, type RouteRecordRaw } from 'vue-router' +import { createRouter, createWebHistory, type RouteRecordRaw } from 'vue-router' import { MenuEnum } from '@/enums/appEnums' import { isExternal } from '@/utils/validate' -import { constantRoutes, INDEX_ROUTE_NAME, LAYOUT } from './routes' +import { constantRoutes, INDEX_ROUTE_NAME, LAYOUT, Empty } from './routes' import useUserStore from '@/stores/modules/user' // 匹配views里面所有的.vue文件,动态引入 @@ -42,9 +42,9 @@ export function createRouteRecord(route: any, firstRoute: boolean): RouteRecordR } switch (route.menuType) { case MenuEnum.CATALOGUE: - routeRecord.component = firstRoute ? LAYOUT : RouterView + routeRecord.component = firstRoute ? LAYOUT : Empty if (!route.children) { - routeRecord.component = RouterView + routeRecord.component = Empty } break case MenuEnum.MENU: @@ -66,7 +66,7 @@ export function loadRouteView(component: string) { throw Error(`找不到组件${component},请确保组件路径正确`) } catch (error) { console.error(error) - return RouterView + return Empty } } diff --git a/admin/src/router/routes.ts b/admin/src/router/routes.ts index dc91f60..8ca7e26 100644 --- a/admin/src/router/routes.ts +++ b/admin/src/router/routes.ts @@ -8,7 +8,7 @@ icon: 'icon-name' // 设置该路由的图标 activeMenu: '/system/user' // 当路由设置了该属性,则会高亮相对应的侧边栏。 query: '{"id": 1}' // 访问路由的默认传递参数 - hidden: true // 当设置 true 的时候该路由不会在侧边栏出现 + hidden: true // 当设置 true 的时候该路由不会在侧边栏出现 hideTab: true //当设置 true 的时候该路由不会在多标签tab栏出现 } */ @@ -16,8 +16,10 @@ import type { RouteRecordRaw } from 'vue-router' import { PageEnum } from '@/enums/pageEnum' import Layout from '@/layout/default/index.vue' +// import Empty from '@/layout/Empty.vue' export const LAYOUT = () => Promise.resolve(Layout) +export const Empty = () => import('@/layout/Empty.vue') export const INDEX_ROUTE_NAME = Symbol() diff --git a/admin/src/views/material/index.vue b/admin/src/views/material/index.vue index 3d7f8d1..6e6dafc 100644 --- a/admin/src/views/material/index.vue +++ b/admin/src/views/material/index.vue @@ -23,7 +23,10 @@
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - -
-
- - - diff --git a/public/assets/403.559d76b0.js b/public/assets/403.559d76b0.js deleted file mode 100644 index 986078b..0000000 --- a/public/assets/403.559d76b0.js +++ /dev/null @@ -1 +0,0 @@ -import o from"./error.03a8475b.js";import{d as r,o as i,c as p,X as m,P as e,a as t}from"./@vue.a137a740.js";import"./element-plus.078d4249.js";import"./@vueuse.07613b64.js";import"./@element-plus.3660753f.js";import"./lodash-es.a31ceab4.js";import"./dayjs.bd523028.js";import"./axios.d8168cfd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.fd318bfa.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./vue-router.9605b890.js";import"./index.1eff73d9.js";import"./lodash.48927ea5.js";import"./pinia.9b4180ce.js";import"./css-color-function.b4c88e1a.js";import"./color.a9016252.js";import"./clone.73d1916b.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./ms.564e106c.js";import"./nprogress.0f0f7ca7.js";import"./vue-clipboard3.4e164ffd.js";import"./clipboard.7c3d630c.js";import"./echarts.7e912674.js";import"./zrender.754e8e90.js";import"./tslib.60310f1a.js";import"./highlight.js.7165574c.js";import"./@highlightjs.7fc78ec7.js";const s="/assets/no_perms.a56e95a5.png",u={class:"error404"},a=t("div",{class:"flex justify-center"},[t("img",{class:"w-[150px] h-[150px]",src:s,alt:""})],-1),R=r({__name:"403",setup(c){return(n,_)=>(i(),p("div",u,[m(o,{code:"403",title:"\u60A8\u7684\u8D26\u53F7\u6743\u9650\u4E0D\u8DB3\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650\uFF01","show-btn":!1},{content:e(()=>[a]),_:1})]))}});export{R as default}; diff --git a/public/assets/404.fee44c87.js b/public/assets/404.fee44c87.js deleted file mode 100644 index 56d8dc4..0000000 --- a/public/assets/404.fee44c87.js +++ /dev/null @@ -1 +0,0 @@ -import o from"./error.03a8475b.js";import{d as r,o as t,c as m,X as p}from"./@vue.a137a740.js";import"./element-plus.078d4249.js";import"./@vueuse.07613b64.js";import"./@element-plus.3660753f.js";import"./lodash-es.a31ceab4.js";import"./dayjs.bd523028.js";import"./axios.d8168cfd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.fd318bfa.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./vue-router.9605b890.js";import"./index.1eff73d9.js";import"./lodash.48927ea5.js";import"./pinia.9b4180ce.js";import"./css-color-function.b4c88e1a.js";import"./color.a9016252.js";import"./clone.73d1916b.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./ms.564e106c.js";import"./nprogress.0f0f7ca7.js";import"./vue-clipboard3.4e164ffd.js";import"./clipboard.7c3d630c.js";import"./echarts.7e912674.js";import"./zrender.754e8e90.js";import"./tslib.60310f1a.js";import"./highlight.js.7165574c.js";import"./@highlightjs.7fc78ec7.js";const i={class:"error404"},M=r({__name:"404",setup(e){return(u,c)=>(t(),m("div",i,[p(o,{code:"404",title:"\u54CE\u5440\uFF0C\u51FA\u9519\u4E86\uFF01\u60A8\u8BBF\u95EE\u7684\u9875\u9762\u4E0D\u5B58\u5728\u2026"})]))}});export{M as default}; diff --git a/public/assets/@ctrl.fd318bfa.js b/public/assets/@ctrl.fd318bfa.js deleted file mode 100644 index 8787ad3..0000000 --- a/public/assets/@ctrl.fd318bfa.js +++ /dev/null @@ -1 +0,0 @@ -function s(e,t){F(e)&&(e="100%");var r=I(e);return e=t===360?e:Math.min(t,Math.max(0,parseFloat(e))),r&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:(t===360?e=(e<0?e%t+t:e%t)/parseFloat(String(t)):e=e%t/parseFloat(String(t)),e)}function v(e){return Math.min(1,Math.max(0,e))}function F(e){return typeof e=="string"&&e.indexOf(".")!==-1&&parseFloat(e)===1}function I(e){return typeof e=="string"&&e.indexOf("%")!==-1}function A(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function p(e){return e<=1?"".concat(Number(e)*100,"%"):e}function b(e){return e.length===1?"0"+e:String(e)}function E(e,t,r){return{r:s(e,255)*255,g:s(t,255)*255,b:s(r,255)*255}}function M(e,t,r){e=s(e,255),t=s(t,255),r=s(r,255);var a=Math.max(e,t,r),n=Math.min(e,t,r),i=0,f=0,h=(a+n)/2;if(a===n)f=0,i=0;else{var u=a-n;switch(f=h>.5?u/(2-a-n):u/(a+n),a){case e:i=(t-r)/u+(t1&&(r-=1),r<1/6?e+(t-e)*(6*r):r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e}function B(e,t,r){var a,n,i;if(e=s(e,360),t=s(t,100),r=s(r,100),t===0)n=r,i=r,a=r;else{var f=r<.5?r*(1+t):r+t-r*t,h=2*r-f;a=l(h,f,e+1/3),n=l(h,f,e),i=l(h,f,e-1/3)}return{r:a*255,g:n*255,b:i*255}}function S(e,t,r){e=s(e,255),t=s(t,255),r=s(r,255);var a=Math.max(e,t,r),n=Math.min(e,t,r),i=0,f=a,h=a-n,u=a===0?0:h/a;if(a===n)i=0;else{switch(a){case e:i=(t-r)/h+(t>16,g:(e&65280)>>8,b:e&255}}var x={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function W(e){var t={r:0,g:0,b:0},r=1,a=null,n=null,i=null,f=!1,h=!1;return typeof e=="string"&&(e=U(e)),typeof e=="object"&&(g(e.r)&&g(e.g)&&g(e.b)?(t=E(e.r,e.g,e.b),f=!0,h=String(e.r).substr(-1)==="%"?"prgb":"rgb"):g(e.h)&&g(e.s)&&g(e.v)?(a=p(e.s),n=p(e.v),t=N(e.h,a,n),f=!0,h="hsv"):g(e.h)&&g(e.s)&&g(e.l)&&(a=p(e.s),i=p(e.l),t=B(e.h,a,i),f=!0,h="hsl"),Object.prototype.hasOwnProperty.call(e,"a")&&(r=e.a)),r=A(r),{ok:f,format:e.format||h,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:r}}var G="[-\\+]?\\d+%?",q="[-\\+]?\\d*\\.\\d+%?",d="(?:".concat(q,")|(?:").concat(G,")"),y="[\\s|\\(]+(".concat(d,")[,|\\s]+(").concat(d,")[,|\\s]+(").concat(d,")\\s*\\)?"),m="[\\s|\\(]+(".concat(d,")[,|\\s]+(").concat(d,")[,|\\s]+(").concat(d,")[,|\\s]+(").concat(d,")\\s*\\)?"),c={CSS_UNIT:new RegExp(d),rgb:new RegExp("rgb"+y),rgba:new RegExp("rgba"+m),hsl:new RegExp("hsl"+y),hsla:new RegExp("hsla"+m),hsv:new RegExp("hsv"+y),hsva:new RegExp("hsva"+m),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function U(e){if(e=e.trim().toLowerCase(),e.length===0)return!1;var t=!1;if(x[e])e=x[e],t=!0;else if(e==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var r=c.rgb.exec(e);return r?{r:r[1],g:r[2],b:r[3]}:(r=c.rgba.exec(e),r?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=c.hsl.exec(e),r?{h:r[1],s:r[2],l:r[3]}:(r=c.hsla.exec(e),r?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=c.hsv.exec(e),r?{h:r[1],s:r[2],v:r[3]}:(r=c.hsva.exec(e),r?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=c.hex8.exec(e),r?{r:o(r[1]),g:o(r[2]),b:o(r[3]),a:k(r[4]),format:t?"name":"hex8"}:(r=c.hex6.exec(e),r?{r:o(r[1]),g:o(r[2]),b:o(r[3]),format:t?"name":"hex"}:(r=c.hex4.exec(e),r?{r:o(r[1]+r[1]),g:o(r[2]+r[2]),b:o(r[3]+r[3]),a:k(r[4]+r[4]),format:t?"name":"hex8"}:(r=c.hex3.exec(e),r?{r:o(r[1]+r[1]),g:o(r[2]+r[2]),b:o(r[3]+r[3]),format:t?"name":"hex"}:!1)))))))))}function g(e){return Boolean(c.CSS_UNIT.exec(String(e)))}var D=function(){function e(t,r){t===void 0&&(t=""),r===void 0&&(r={});var a;if(t instanceof e)return t;typeof t=="number"&&(t=O(t)),this.originalInput=t;var n=W(t);this.originalInput=t,this.r=n.r,this.g=n.g,this.b=n.b,this.a=n.a,this.roundA=Math.round(100*this.a)/100,this.format=(a=r.format)!==null&&a!==void 0?a:n.format,this.gradientType=r.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=n.ok}return e.prototype.isDark=function(){return this.getBrightness()<128},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var t=this.toRgb();return(t.r*299+t.g*587+t.b*114)/1e3},e.prototype.getLuminance=function(){var t=this.toRgb(),r,a,n,i=t.r/255,f=t.g/255,h=t.b/255;return i<=.03928?r=i/12.92:r=Math.pow((i+.055)/1.055,2.4),f<=.03928?a=f/12.92:a=Math.pow((f+.055)/1.055,2.4),h<=.03928?n=h/12.92:n=Math.pow((h+.055)/1.055,2.4),.2126*r+.7152*a+.0722*n},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(t){return this.a=A(t),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){var t=this.toHsl().s;return t===0},e.prototype.toHsv=function(){var t=S(this.r,this.g,this.b);return{h:t.h*360,s:t.s,v:t.v,a:this.a}},e.prototype.toHsvString=function(){var t=S(this.r,this.g,this.b),r=Math.round(t.h*360),a=Math.round(t.s*100),n=Math.round(t.v*100);return this.a===1?"hsv(".concat(r,", ").concat(a,"%, ").concat(n,"%)"):"hsva(".concat(r,", ").concat(a,"%, ").concat(n,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var t=M(this.r,this.g,this.b);return{h:t.h*360,s:t.s,l:t.l,a:this.a}},e.prototype.toHslString=function(){var t=M(this.r,this.g,this.b),r=Math.round(t.h*360),a=Math.round(t.s*100),n=Math.round(t.l*100);return this.a===1?"hsl(".concat(r,", ").concat(a,"%, ").concat(n,"%)"):"hsla(".concat(r,", ").concat(a,"%, ").concat(n,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(t){return t===void 0&&(t=!1),w(this.r,this.g,this.b,t)},e.prototype.toHexString=function(t){return t===void 0&&(t=!1),"#"+this.toHex(t)},e.prototype.toHex8=function(t){return t===void 0&&(t=!1),P(this.r,this.g,this.b,this.a,t)},e.prototype.toHex8String=function(t){return t===void 0&&(t=!1),"#"+this.toHex8(t)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var t=Math.round(this.r),r=Math.round(this.g),a=Math.round(this.b);return this.a===1?"rgb(".concat(t,", ").concat(r,", ").concat(a,")"):"rgba(".concat(t,", ").concat(r,", ").concat(a,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var t=function(r){return"".concat(Math.round(s(r,255)*100),"%")};return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var t=function(r){return Math.round(s(r,255)*100)};return this.a===1?"rgb(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%)"):"rgba(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return!1;for(var t="#"+w(this.r,this.g,this.b,!1),r=0,a=Object.entries(x);r=0,i=!r&&n&&(t.startsWith("hex")||t==="name");return i?t==="name"&&this.a===0?this.toName():this.toRgbString():(t==="rgb"&&(a=this.toRgbString()),t==="prgb"&&(a=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(a=this.toHexString()),t==="hex3"&&(a=this.toHexString(!0)),t==="hex4"&&(a=this.toHex8String(!0)),t==="hex8"&&(a=this.toHex8String()),t==="name"&&(a=this.toName()),t==="hsl"&&(a=this.toHslString()),t==="hsv"&&(a=this.toHsvString()),a||this.toHexString())},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){t===void 0&&(t=10);var r=this.toHsl();return r.l+=t/100,r.l=v(r.l),new e(r)},e.prototype.brighten=function(t){t===void 0&&(t=10);var r=this.toRgb();return r.r=Math.max(0,Math.min(255,r.r-Math.round(255*-(t/100)))),r.g=Math.max(0,Math.min(255,r.g-Math.round(255*-(t/100)))),r.b=Math.max(0,Math.min(255,r.b-Math.round(255*-(t/100)))),new e(r)},e.prototype.darken=function(t){t===void 0&&(t=10);var r=this.toHsl();return r.l-=t/100,r.l=v(r.l),new e(r)},e.prototype.tint=function(t){return t===void 0&&(t=10),this.mix("white",t)},e.prototype.shade=function(t){return t===void 0&&(t=10),this.mix("black",t)},e.prototype.desaturate=function(t){t===void 0&&(t=10);var r=this.toHsl();return r.s-=t/100,r.s=v(r.s),new e(r)},e.prototype.saturate=function(t){t===void 0&&(t=10);var r=this.toHsl();return r.s+=t/100,r.s=v(r.s),new e(r)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var r=this.toHsl(),a=(r.h+t)%360;return r.h=a<0?360+a:a,new e(r)},e.prototype.mix=function(t,r){r===void 0&&(r=50);var a=this.toRgb(),n=new e(t).toRgb(),i=r/100,f={r:(n.r-a.r)*i+a.r,g:(n.g-a.g)*i+a.g,b:(n.b-a.b)*i+a.b,a:(n.a-a.a)*i+a.a};return new e(f)},e.prototype.analogous=function(t,r){t===void 0&&(t=6),r===void 0&&(r=30);var a=this.toHsl(),n=360/r,i=[this];for(a.h=(a.h-(n*t>>1)+720)%360;--t;)a.h=(a.h+n)%360,i.push(new e(a));return i},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){t===void 0&&(t=6);for(var r=this.toHsv(),a=r.h,n=r.s,i=r.v,f=[],h=1/t;t--;)f.push(new e({h:a,s:n,v:i})),i=(i+h)%1;return f},e.prototype.splitcomplement=function(){var t=this.toHsl(),r=t.h;return[this,new e({h:(r+72)%360,s:t.s,l:t.l}),new e({h:(r+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var r=this.toRgb(),a=new e(t).toRgb();return new e({r:a.r+(r.r-a.r)*r.a,g:a.g+(r.g-a.g)*r.a,b:a.b+(r.b-a.b)*r.a})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var r=this.toHsl(),a=r.h,n=[this],i=360/t,f=1;f{let _=t.__vccOpts||t;for(let[r,l]of a)_[r]=l;return _},d={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},c=e("path",{fill:"currentColor",d:"M288 896h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32z"},null,-1),h=e("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416zM512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544z"},null,-1),p=e("path",{fill:"currentColor",d:"M544 384h96a32 32 0 1 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64h96v-96a32 32 0 0 1 64 0v96z"},null,-1),f=[c,h,p];function w(t,a,_,r,l,i){return o(),n("svg",d,f)}var m=s(v,[["render",w],["__file","add-location.vue"]]),g={name:"Aim"},$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},z=e("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),x=e("path",{fill:"currentColor",d:"M512 96a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V128a32 32 0 0 1 32-32zm0 576a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V704a32 32 0 0 1 32-32zM96 512a32 32 0 0 1 32-32h192a32 32 0 0 1 0 64H128a32 32 0 0 1-32-32zm576 0a32 32 0 0 1 32-32h192a32 32 0 1 1 0 64H704a32 32 0 0 1-32-32z"},null,-1),H=[z,x];function M(t,a,_,r,l,i){return o(),n("svg",$,H)}var C=s(g,[["render",M],["__file","aim.vue"]]),V={name:"AlarmClock"},y={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},B=e("path",{fill:"currentColor",d:"M512 832a320 320 0 1 0 0-640 320 320 0 0 0 0 640zm0 64a384 384 0 1 1 0-768 384 384 0 0 1 0 768z"},null,-1),L=e("path",{fill:"currentColor",d:"m292.288 824.576 55.424 32-48 83.136a32 32 0 1 1-55.424-32l48-83.136zm439.424 0-55.424 32 48 83.136a32 32 0 1 0 55.424-32l-48-83.136zM512 512h160a32 32 0 1 1 0 64H480a32 32 0 0 1-32-32V320a32 32 0 0 1 64 0v192zM90.496 312.256A160 160 0 0 1 312.32 90.496l-46.848 46.848a96 96 0 0 0-128 128L90.56 312.256zm835.264 0A160 160 0 0 0 704 90.496l46.848 46.848a96 96 0 0 1 128 128l46.912 46.912z"},null,-1),A=[B,L];function b(t,a,_,r,l,i){return o(),n("svg",y,A)}var k=s(V,[["render",b],["__file","alarm-clock.vue"]]),S={name:"Apple"},q={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},F=e("path",{fill:"currentColor",d:"M599.872 203.776a189.44 189.44 0 0 1 64.384-4.672l2.624.128c31.168 1.024 51.2 4.096 79.488 16.32 37.632 16.128 74.496 45.056 111.488 89.344 96.384 115.264 82.752 372.8-34.752 521.728-7.68 9.728-32 41.6-30.72 39.936a426.624 426.624 0 0 1-30.08 35.776c-31.232 32.576-65.28 49.216-110.08 50.048-31.36.64-53.568-5.312-84.288-18.752l-6.528-2.88c-20.992-9.216-30.592-11.904-47.296-11.904-18.112 0-28.608 2.88-51.136 12.672l-6.464 2.816c-28.416 12.224-48.32 18.048-76.16 19.2-74.112 2.752-116.928-38.08-180.672-132.16-96.64-142.08-132.608-349.312-55.04-486.4 46.272-81.92 129.92-133.632 220.672-135.04 32.832-.576 60.288 6.848 99.648 22.72 27.136 10.88 34.752 13.76 37.376 14.272 16.256-20.16 27.776-36.992 34.56-50.24 13.568-26.304 27.2-59.968 40.704-100.8a32 32 0 1 1 60.8 20.224c-12.608 37.888-25.408 70.4-38.528 97.664zm-51.52 78.08c-14.528 17.792-31.808 37.376-51.904 58.816a32 32 0 1 1-46.72-43.776l12.288-13.248c-28.032-11.2-61.248-26.688-95.68-26.112-70.4 1.088-135.296 41.6-171.648 105.792C121.6 492.608 176 684.16 247.296 788.992c34.816 51.328 76.352 108.992 130.944 106.944 52.48-2.112 72.32-34.688 135.872-34.688 63.552 0 81.28 34.688 136.96 33.536 56.448-1.088 75.776-39.04 126.848-103.872 107.904-136.768 107.904-362.752 35.776-449.088-72.192-86.272-124.672-84.096-151.68-85.12-41.472-4.288-81.6 12.544-113.664 25.152z"},null,-1),D=[F];function P(t,a,_,r,l,i){return o(),n("svg",q,D)}var R=s(S,[["render",P],["__file","apple.vue"]]),T={name:"ArrowDownBold"},O={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},G=e("path",{fill:"currentColor",d:"M104.704 338.752a64 64 0 0 1 90.496 0l316.8 316.8 316.8-316.8a64 64 0 0 1 90.496 90.496L557.248 791.296a64 64 0 0 1-90.496 0L104.704 429.248a64 64 0 0 1 0-90.496z"},null,-1),U=[G];function W(t,a,_,r,l,i){return o(),n("svg",O,U)}var I=s(T,[["render",W],["__file","arrow-down-bold.vue"]]),E={name:"ArrowDown"},N={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Z=e("path",{fill:"currentColor",d:"M831.872 340.864 512 652.672 192.128 340.864a30.592 30.592 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.592 30.592 0 0 0-42.752 0z"},null,-1),K=[Z];function Q(t,a,_,r,l,i){return o(),n("svg",N,K)}var j=s(E,[["render",Q],["__file","arrow-down.vue"]]),J={name:"ArrowLeftBold"},X={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Y=e("path",{fill:"currentColor",d:"M685.248 104.704a64 64 0 0 1 0 90.496L368.448 512l316.8 316.8a64 64 0 0 1-90.496 90.496L232.704 557.248a64 64 0 0 1 0-90.496l362.048-362.048a64 64 0 0 1 90.496 0z"},null,-1),e2=[Y];function t2(t,a,_,r,l,i){return o(),n("svg",X,e2)}var _2=s(J,[["render",t2],["__file","arrow-left-bold.vue"]]),a2={name:"ArrowLeft"},r2={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},l2=e("path",{fill:"currentColor",d:"M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.592 30.592 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.592 30.592 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0z"},null,-1),o2=[l2];function n2(t,a,_,r,l,i){return o(),n("svg",r2,o2)}var s2=s(a2,[["render",n2],["__file","arrow-left.vue"]]),i2={name:"ArrowRightBold"},u2={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},v2=e("path",{fill:"currentColor",d:"M338.752 104.704a64 64 0 0 0 0 90.496l316.8 316.8-316.8 316.8a64 64 0 0 0 90.496 90.496l362.048-362.048a64 64 0 0 0 0-90.496L429.248 104.704a64 64 0 0 0-90.496 0z"},null,-1),d2=[v2];function c2(t,a,_,r,l,i){return o(),n("svg",u2,d2)}var h2=s(i2,[["render",c2],["__file","arrow-right-bold.vue"]]),p2={name:"ArrowRight"},f2={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},w2=e("path",{fill:"currentColor",d:"M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"},null,-1),m2=[w2];function g2(t,a,_,r,l,i){return o(),n("svg",f2,m2)}var $2=s(p2,[["render",g2],["__file","arrow-right.vue"]]),z2={name:"ArrowUpBold"},x2={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},H2=e("path",{fill:"currentColor",d:"M104.704 685.248a64 64 0 0 0 90.496 0l316.8-316.8 316.8 316.8a64 64 0 0 0 90.496-90.496L557.248 232.704a64 64 0 0 0-90.496 0L104.704 594.752a64 64 0 0 0 0 90.496z"},null,-1),M2=[H2];function C2(t,a,_,r,l,i){return o(),n("svg",x2,M2)}var V2=s(z2,[["render",C2],["__file","arrow-up-bold.vue"]]),y2={name:"ArrowUp"},B2={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},L2=e("path",{fill:"currentColor",d:"m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0z"},null,-1),A2=[L2];function b2(t,a,_,r,l,i){return o(),n("svg",B2,A2)}var k2=s(y2,[["render",b2],["__file","arrow-up.vue"]]),S2={name:"Avatar"},q2={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},F2=e("path",{fill:"currentColor",d:"M628.736 528.896A416 416 0 0 1 928 928H96a415.872 415.872 0 0 1 299.264-399.104L512 704l116.736-175.104zM720 304a208 208 0 1 1-416 0 208 208 0 0 1 416 0z"},null,-1),D2=[F2];function P2(t,a,_,r,l,i){return o(),n("svg",q2,D2)}var R2=s(S2,[["render",P2],["__file","avatar.vue"]]),T2={name:"Back"},O2={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},G2=e("path",{fill:"currentColor",d:"M224 480h640a32 32 0 1 1 0 64H224a32 32 0 0 1 0-64z"},null,-1),U2=e("path",{fill:"currentColor",d:"m237.248 512 265.408 265.344a32 32 0 0 1-45.312 45.312l-288-288a32 32 0 0 1 0-45.312l288-288a32 32 0 1 1 45.312 45.312L237.248 512z"},null,-1),W2=[G2,U2];function I2(t,a,_,r,l,i){return o(),n("svg",O2,W2)}var E2=s(T2,[["render",I2],["__file","back.vue"]]),N2={name:"Baseball"},Z2={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},K2=e("path",{fill:"currentColor",d:"M195.2 828.8a448 448 0 1 1 633.6-633.6 448 448 0 0 1-633.6 633.6zm45.248-45.248a384 384 0 1 0 543.104-543.104 384 384 0 0 0-543.104 543.104z"},null,-1),Q2=e("path",{fill:"currentColor",d:"M497.472 96.896c22.784 4.672 44.416 9.472 64.896 14.528a256.128 256.128 0 0 0 350.208 350.208c5.056 20.48 9.856 42.112 14.528 64.896A320.128 320.128 0 0 1 497.472 96.896zM108.48 491.904a320.128 320.128 0 0 1 423.616 423.68c-23.04-3.648-44.992-7.424-65.728-11.52a256.128 256.128 0 0 0-346.496-346.432 1736.64 1736.64 0 0 1-11.392-65.728z"},null,-1),j2=[K2,Q2];function J2(t,a,_,r,l,i){return o(),n("svg",Z2,j2)}var X2=s(N2,[["render",J2],["__file","baseball.vue"]]),Y2={name:"Basketball"},e0={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},t0=e("path",{fill:"currentColor",d:"M778.752 788.224a382.464 382.464 0 0 0 116.032-245.632 256.512 256.512 0 0 0-241.728-13.952 762.88 762.88 0 0 1 125.696 259.584zm-55.04 44.224a699.648 699.648 0 0 0-125.056-269.632 256.128 256.128 0 0 0-56.064 331.968 382.72 382.72 0 0 0 181.12-62.336zm-254.08 61.248A320.128 320.128 0 0 1 557.76 513.6a715.84 715.84 0 0 0-48.192-48.128 320.128 320.128 0 0 1-379.264 88.384 382.4 382.4 0 0 0 110.144 229.696 382.4 382.4 0 0 0 229.184 110.08zM129.28 481.088a256.128 256.128 0 0 0 331.072-56.448 699.648 699.648 0 0 0-268.8-124.352 382.656 382.656 0 0 0-62.272 180.8zm106.56-235.84a762.88 762.88 0 0 1 258.688 125.056 256.512 256.512 0 0 0-13.44-241.088A382.464 382.464 0 0 0 235.84 245.248zm318.08-114.944c40.576 89.536 37.76 193.92-8.448 281.344a779.84 779.84 0 0 1 66.176 66.112 320.832 320.832 0 0 1 282.112-8.128 382.4 382.4 0 0 0-110.144-229.12 382.4 382.4 0 0 0-229.632-110.208zM828.8 828.8a448 448 0 1 1-633.6-633.6 448 448 0 0 1 633.6 633.6z"},null,-1),_0=[t0];function a0(t,a,_,r,l,i){return o(),n("svg",e0,_0)}var r0=s(Y2,[["render",a0],["__file","basketball.vue"]]),l0={name:"BellFilled"},o0={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},n0=e("path",{fill:"currentColor",d:"M640 832a128 128 0 0 1-256 0h256zm192-64H134.4a38.4 38.4 0 0 1 0-76.8H192V448c0-154.88 110.08-284.16 256.32-313.6a64 64 0 1 1 127.36 0A320.128 320.128 0 0 1 832 448v243.2h57.6a38.4 38.4 0 0 1 0 76.8H832z"},null,-1),s0=[n0];function i0(t,a,_,r,l,i){return o(),n("svg",o0,s0)}var u0=s(l0,[["render",i0],["__file","bell-filled.vue"]]),v0={name:"Bell"},d0={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},c0=e("path",{fill:"currentColor",d:"M512 64a64 64 0 0 1 64 64v64H448v-64a64 64 0 0 1 64-64z"},null,-1),h0=e("path",{fill:"currentColor",d:"M256 768h512V448a256 256 0 1 0-512 0v320zm256-640a320 320 0 0 1 320 320v384H192V448a320 320 0 0 1 320-320z"},null,-1),p0=e("path",{fill:"currentColor",d:"M96 768h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32zm352 128h128a64 64 0 0 1-128 0z"},null,-1),f0=[c0,h0,p0];function w0(t,a,_,r,l,i){return o(),n("svg",d0,f0)}var m0=s(v0,[["render",w0],["__file","bell.vue"]]),g0={name:"Bicycle"},$0={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},z0=u('',5),x0=[z0];function H0(t,a,_,r,l,i){return o(),n("svg",$0,x0)}var M0=s(g0,[["render",H0],["__file","bicycle.vue"]]),C0={name:"BottomLeft"},V0={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},y0=e("path",{fill:"currentColor",d:"M256 768h416a32 32 0 1 1 0 64H224a32 32 0 0 1-32-32V352a32 32 0 0 1 64 0v416z"},null,-1),B0=e("path",{fill:"currentColor",d:"M246.656 822.656a32 32 0 0 1-45.312-45.312l544-544a32 32 0 0 1 45.312 45.312l-544 544z"},null,-1),L0=[y0,B0];function A0(t,a,_,r,l,i){return o(),n("svg",V0,L0)}var b0=s(C0,[["render",A0],["__file","bottom-left.vue"]]),k0={name:"BottomRight"},S0={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},q0=e("path",{fill:"currentColor",d:"M352 768a32 32 0 1 0 0 64h448a32 32 0 0 0 32-32V352a32 32 0 0 0-64 0v416H352z"},null,-1),F0=e("path",{fill:"currentColor",d:"M777.344 822.656a32 32 0 0 0 45.312-45.312l-544-544a32 32 0 0 0-45.312 45.312l544 544z"},null,-1),D0=[q0,F0];function P0(t,a,_,r,l,i){return o(),n("svg",S0,D0)}var R0=s(k0,[["render",P0],["__file","bottom-right.vue"]]),T0={name:"Bottom"},O0={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},G0=e("path",{fill:"currentColor",d:"M544 805.888V168a32 32 0 1 0-64 0v637.888L246.656 557.952a30.72 30.72 0 0 0-45.312 0 35.52 35.52 0 0 0 0 48.064l288 306.048a30.72 30.72 0 0 0 45.312 0l288-306.048a35.52 35.52 0 0 0 0-48 30.72 30.72 0 0 0-45.312 0L544 805.824z"},null,-1),U0=[G0];function W0(t,a,_,r,l,i){return o(),n("svg",O0,U0)}var I0=s(T0,[["render",W0],["__file","bottom.vue"]]),E0={name:"Bowl"},N0={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Z0=e("path",{fill:"currentColor",d:"M714.432 704a351.744 351.744 0 0 0 148.16-256H161.408a351.744 351.744 0 0 0 148.16 256h404.864zM288 766.592A415.68 415.68 0 0 1 96 416a32 32 0 0 1 32-32h768a32 32 0 0 1 32 32 415.68 415.68 0 0 1-192 350.592V832a64 64 0 0 1-64 64H352a64 64 0 0 1-64-64v-65.408zM493.248 320h-90.496l254.4-254.4a32 32 0 1 1 45.248 45.248L493.248 320zm187.328 0h-128l269.696-155.712a32 32 0 0 1 32 55.424L680.576 320zM352 768v64h320v-64H352z"},null,-1),K0=[Z0];function Q0(t,a,_,r,l,i){return o(),n("svg",N0,K0)}var j0=s(E0,[["render",Q0],["__file","bowl.vue"]]),J0={name:"Box"},X0={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Y0=e("path",{fill:"currentColor",d:"M317.056 128 128 344.064V896h768V344.064L706.944 128H317.056zm-14.528-64h418.944a32 32 0 0 1 24.064 10.88l206.528 236.096A32 32 0 0 1 960 332.032V928a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V332.032a32 32 0 0 1 7.936-21.12L278.4 75.008A32 32 0 0 1 302.528 64z"},null,-1),e1=e("path",{fill:"currentColor",d:"M64 320h896v64H64z"},null,-1),t1=e("path",{fill:"currentColor",d:"M448 327.872V640h128V327.872L526.08 128h-28.16L448 327.872zM448 64h128l64 256v352a32 32 0 0 1-32 32H416a32 32 0 0 1-32-32V320l64-256z"},null,-1),_1=[Y0,e1,t1];function a1(t,a,_,r,l,i){return o(),n("svg",X0,_1)}var r1=s(J0,[["render",a1],["__file","box.vue"]]),l1={name:"Briefcase"},o1={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},n1=e("path",{fill:"currentColor",d:"M320 320V128h384v192h192v192H128V320h192zM128 576h768v320H128V576zm256-256h256.064V192H384v128z"},null,-1),s1=[n1];function i1(t,a,_,r,l,i){return o(),n("svg",o1,s1)}var u1=s(l1,[["render",i1],["__file","briefcase.vue"]]),v1={name:"BrushFilled"},d1={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},c1=e("path",{fill:"currentColor",d:"M608 704v160a96 96 0 0 1-192 0V704h-96a128 128 0 0 1-128-128h640a128 128 0 0 1-128 128h-96zM192 512V128.064h640V512H192z"},null,-1),h1=[c1];function p1(t,a,_,r,l,i){return o(),n("svg",d1,h1)}var f1=s(v1,[["render",p1],["__file","brush-filled.vue"]]),w1={name:"Brush"},m1={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},g1=e("path",{fill:"currentColor",d:"M896 448H128v192a64 64 0 0 0 64 64h192v192h256V704h192a64 64 0 0 0 64-64V448zm-770.752-64c0-47.552 5.248-90.24 15.552-128 14.72-54.016 42.496-107.392 83.2-160h417.28l-15.36 70.336L736 96h211.2c-24.832 42.88-41.92 96.256-51.2 160a663.872 663.872 0 0 0-6.144 128H960v256a128 128 0 0 1-128 128H704v160a32 32 0 0 1-32 32H352a32 32 0 0 1-32-32V768H192A128 128 0 0 1 64 640V384h61.248zm64 0h636.544c-2.048-45.824.256-91.584 6.848-137.216 4.48-30.848 10.688-59.776 18.688-86.784h-96.64l-221.12 141.248L561.92 160H256.512c-25.856 37.888-43.776 75.456-53.952 112.832-8.768 32.064-13.248 69.12-13.312 111.168z"},null,-1),$1=[g1];function z1(t,a,_,r,l,i){return o(),n("svg",m1,$1)}var x1=s(w1,[["render",z1],["__file","brush.vue"]]),H1={name:"Burger"},M1={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},C1=e("path",{fill:"currentColor",d:"M160 512a32 32 0 0 0-32 32v64a32 32 0 0 0 30.08 32H864a32 32 0 0 0 32-32v-64a32 32 0 0 0-32-32H160zm736-58.56A96 96 0 0 1 960 544v64a96 96 0 0 1-51.968 85.312L855.36 833.6a96 96 0 0 1-89.856 62.272H258.496A96 96 0 0 1 168.64 833.6l-52.608-140.224A96 96 0 0 1 64 608v-64a96 96 0 0 1 64-90.56V448a384 384 0 1 1 768 5.44zM832 448a320 320 0 0 0-640 0h640zM512 704H188.352l40.192 107.136a32 32 0 0 0 29.952 20.736h507.008a32 32 0 0 0 29.952-20.736L835.648 704H512z"},null,-1),V1=[C1];function y1(t,a,_,r,l,i){return o(),n("svg",M1,V1)}var B1=s(H1,[["render",y1],["__file","burger.vue"]]),L1={name:"Calendar"},A1={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},b1=e("path",{fill:"currentColor",d:"M128 384v512h768V192H768v32a32 32 0 1 1-64 0v-32H320v32a32 32 0 0 1-64 0v-32H128v128h768v64H128zm192-256h384V96a32 32 0 1 1 64 0v32h160a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h160V96a32 32 0 0 1 64 0v32zm-32 384h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64zm0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64zm192-192h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64zm0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64zm192-192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64zm0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64z"},null,-1),k1=[b1];function S1(t,a,_,r,l,i){return o(),n("svg",A1,k1)}var q1=s(L1,[["render",S1],["__file","calendar.vue"]]),F1={name:"CameraFilled"},D1={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},P1=e("path",{fill:"currentColor",d:"M160 224a64 64 0 0 0-64 64v512a64 64 0 0 0 64 64h704a64 64 0 0 0 64-64V288a64 64 0 0 0-64-64H748.416l-46.464-92.672A64 64 0 0 0 644.736 96H379.328a64 64 0 0 0-57.216 35.392L275.776 224H160zm352 435.2a115.2 115.2 0 1 0 0-230.4 115.2 115.2 0 0 0 0 230.4zm0 140.8a256 256 0 1 1 0-512 256 256 0 0 1 0 512z"},null,-1),R1=[P1];function T1(t,a,_,r,l,i){return o(),n("svg",D1,R1)}var O1=s(F1,[["render",T1],["__file","camera-filled.vue"]]),G1={name:"Camera"},U1={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},W1=e("path",{fill:"currentColor",d:"M896 256H128v576h768V256zm-199.424-64-32.064-64h-304.96l-32 64h369.024zM96 192h160l46.336-92.608A64 64 0 0 1 359.552 64h304.96a64 64 0 0 1 57.216 35.328L768.192 192H928a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32zm416 512a160 160 0 1 0 0-320 160 160 0 0 0 0 320zm0 64a224 224 0 1 1 0-448 224 224 0 0 1 0 448z"},null,-1),I1=[W1];function E1(t,a,_,r,l,i){return o(),n("svg",U1,I1)}var N1=s(G1,[["render",E1],["__file","camera.vue"]]),Z1={name:"CaretBottom"},K1={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Q1=e("path",{fill:"currentColor",d:"m192 384 320 384 320-384z"},null,-1),j1=[Q1];function J1(t,a,_,r,l,i){return o(),n("svg",K1,j1)}var X1=s(Z1,[["render",J1],["__file","caret-bottom.vue"]]),Y1={name:"CaretLeft"},e4={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},t4=e("path",{fill:"currentColor",d:"M672 192 288 511.936 672 832z"},null,-1),_4=[t4];function a4(t,a,_,r,l,i){return o(),n("svg",e4,_4)}var r4=s(Y1,[["render",a4],["__file","caret-left.vue"]]),l4={name:"CaretRight"},o4={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},n4=e("path",{fill:"currentColor",d:"M384 192v640l384-320.064z"},null,-1),s4=[n4];function i4(t,a,_,r,l,i){return o(),n("svg",o4,s4)}var u4=s(l4,[["render",i4],["__file","caret-right.vue"]]),v4={name:"CaretTop"},d4={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},c4=e("path",{fill:"currentColor",d:"M512 320 192 704h639.936z"},null,-1),h4=[c4];function p4(t,a,_,r,l,i){return o(),n("svg",d4,h4)}var f4=s(v4,[["render",p4],["__file","caret-top.vue"]]),w4={name:"Cellphone"},m4={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},g4=e("path",{fill:"currentColor",d:"M256 128a64 64 0 0 0-64 64v640a64 64 0 0 0 64 64h512a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64H256zm0-64h512a128 128 0 0 1 128 128v640a128 128 0 0 1-128 128H256a128 128 0 0 1-128-128V192A128 128 0 0 1 256 64zm128 128h256a32 32 0 1 1 0 64H384a32 32 0 0 1 0-64zm128 640a64 64 0 1 1 0-128 64 64 0 0 1 0 128z"},null,-1),$4=[g4];function z4(t,a,_,r,l,i){return o(),n("svg",m4,$4)}var x4=s(w4,[["render",z4],["__file","cellphone.vue"]]),H4={name:"ChatDotRound"},M4={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},C4=e("path",{fill:"currentColor",d:"m174.72 855.68 135.296-45.12 23.68 11.84C388.096 849.536 448.576 864 512 864c211.84 0 384-166.784 384-352S723.84 160 512 160 128 326.784 128 512c0 69.12 24.96 139.264 70.848 199.232l22.08 28.8-46.272 115.584zm-45.248 82.56A32 32 0 0 1 89.6 896l58.368-145.92C94.72 680.32 64 596.864 64 512 64 299.904 256 96 512 96s448 203.904 448 416-192 416-448 416a461.056 461.056 0 0 1-206.912-48.384l-175.616 58.56z"},null,-1),V4=e("path",{fill:"currentColor",d:"M512 563.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4z"},null,-1),y4=[C4,V4];function B4(t,a,_,r,l,i){return o(),n("svg",M4,y4)}var L4=s(H4,[["render",B4],["__file","chat-dot-round.vue"]]),A4={name:"ChatDotSquare"},b4={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},k4=e("path",{fill:"currentColor",d:"M273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64v570.88L273.536 736zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128H296z"},null,-1),S4=e("path",{fill:"currentColor",d:"M512 499.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4z"},null,-1),q4=[k4,S4];function F4(t,a,_,r,l,i){return o(),n("svg",b4,q4)}var D4=s(A4,[["render",F4],["__file","chat-dot-square.vue"]]),P4={name:"ChatLineRound"},R4={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},T4=e("path",{fill:"currentColor",d:"m174.72 855.68 135.296-45.12 23.68 11.84C388.096 849.536 448.576 864 512 864c211.84 0 384-166.784 384-352S723.84 160 512 160 128 326.784 128 512c0 69.12 24.96 139.264 70.848 199.232l22.08 28.8-46.272 115.584zm-45.248 82.56A32 32 0 0 1 89.6 896l58.368-145.92C94.72 680.32 64 596.864 64 512 64 299.904 256 96 512 96s448 203.904 448 416-192 416-448 416a461.056 461.056 0 0 1-206.912-48.384l-175.616 58.56z"},null,-1),O4=e("path",{fill:"currentColor",d:"M352 576h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32zm32-192h256q32 0 32 32t-32 32H384q-32 0-32-32t32-32z"},null,-1),G4=[T4,O4];function U4(t,a,_,r,l,i){return o(),n("svg",R4,G4)}var W4=s(P4,[["render",U4],["__file","chat-line-round.vue"]]),I4={name:"ChatLineSquare"},E4={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},N4=e("path",{fill:"currentColor",d:"M160 826.88 273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64v570.88zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128H296z"},null,-1),Z4=e("path",{fill:"currentColor",d:"M352 512h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32zm0-192h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32z"},null,-1),K4=[N4,Z4];function Q4(t,a,_,r,l,i){return o(),n("svg",E4,K4)}var j4=s(I4,[["render",Q4],["__file","chat-line-square.vue"]]),J4={name:"ChatRound"},X4={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Y4=e("path",{fill:"currentColor",d:"m174.72 855.68 130.048-43.392 23.424 11.392C382.4 849.984 444.352 864 512 864c223.744 0 384-159.872 384-352 0-192.832-159.104-352-384-352S128 319.168 128 512a341.12 341.12 0 0 0 69.248 204.288l21.632 28.8-44.16 110.528zm-45.248 82.56A32 32 0 0 1 89.6 896l56.512-141.248A405.12 405.12 0 0 1 64 512C64 299.904 235.648 96 512 96s448 203.904 448 416-173.44 416-448 416c-79.68 0-150.848-17.152-211.712-46.72l-170.88 56.96z"},null,-1),e6=[Y4];function t6(t,a,_,r,l,i){return o(),n("svg",X4,e6)}var _6=s(J4,[["render",t6],["__file","chat-round.vue"]]),a6={name:"ChatSquare"},r6={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},l6=e("path",{fill:"currentColor",d:"M273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64v570.88L273.536 736zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128H296z"},null,-1),o6=[l6];function n6(t,a,_,r,l,i){return o(),n("svg",r6,o6)}var s6=s(a6,[["render",n6],["__file","chat-square.vue"]]),i6={name:"Check"},u6={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},v6=e("path",{fill:"currentColor",d:"M406.656 706.944 195.84 496.256a32 32 0 1 0-45.248 45.248l256 256 512-512a32 32 0 0 0-45.248-45.248L406.592 706.944z"},null,-1),d6=[v6];function c6(t,a,_,r,l,i){return o(),n("svg",u6,d6)}var h6=s(i6,[["render",c6],["__file","check.vue"]]),p6={name:"Checked"},f6={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},w6=e("path",{fill:"currentColor",d:"M704 192h160v736H160V192h160.064v64H704v-64zM311.616 537.28l-45.312 45.248L447.36 763.52l316.8-316.8-45.312-45.184L447.36 673.024 311.616 537.28zM384 192V96h256v96H384z"},null,-1),m6=[w6];function g6(t,a,_,r,l,i){return o(),n("svg",f6,m6)}var $6=s(p6,[["render",g6],["__file","checked.vue"]]),z6={name:"Cherry"},x6={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},H6=e("path",{fill:"currentColor",d:"M261.056 449.6c13.824-69.696 34.88-128.96 63.36-177.728 23.744-40.832 61.12-88.64 112.256-143.872H320a32 32 0 0 1 0-64h384a32 32 0 1 1 0 64H554.752c14.912 39.168 41.344 86.592 79.552 141.76 47.36 68.48 84.8 106.752 106.304 114.304a224 224 0 1 1-84.992 14.784c-22.656-22.912-47.04-53.76-73.92-92.608-38.848-56.128-67.008-105.792-84.352-149.312-55.296 58.24-94.528 107.52-117.76 147.2-23.168 39.744-41.088 88.768-53.568 147.072a224.064 224.064 0 1 1-64.96-1.6zM288 832a160 160 0 1 0 0-320 160 160 0 0 0 0 320zm448-64a160 160 0 1 0 0-320 160 160 0 0 0 0 320z"},null,-1),M6=[H6];function C6(t,a,_,r,l,i){return o(),n("svg",x6,M6)}var V6=s(z6,[["render",C6],["__file","cherry.vue"]]),y6={name:"Chicken"},B6={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},L6=e("path",{fill:"currentColor",d:"M349.952 716.992 478.72 588.16a106.688 106.688 0 0 1-26.176-19.072 106.688 106.688 0 0 1-19.072-26.176L304.704 671.744c.768 3.072 1.472 6.144 2.048 9.216l2.048 31.936 31.872 1.984c3.136.64 6.208 1.28 9.28 2.112zm57.344 33.152a128 128 0 1 1-216.32 114.432l-1.92-32-32-1.92a128 128 0 1 1 114.432-216.32L416.64 469.248c-2.432-101.44 58.112-239.104 149.056-330.048 107.328-107.328 231.296-85.504 316.8 0 85.44 85.44 107.328 209.408 0 316.8-91.008 90.88-228.672 151.424-330.112 149.056L407.296 750.08zm90.496-226.304c49.536 49.536 233.344-7.04 339.392-113.088 78.208-78.208 63.232-163.072 0-226.304-63.168-63.232-148.032-78.208-226.24 0C504.896 290.496 448.32 474.368 497.792 523.84zM244.864 708.928a64 64 0 1 0-59.84 59.84l56.32-3.52 3.52-56.32zm8.064 127.68a64 64 0 1 0 59.84-59.84l-56.32 3.52-3.52 56.32z"},null,-1),A6=[L6];function b6(t,a,_,r,l,i){return o(),n("svg",B6,A6)}var k6=s(y6,[["render",b6],["__file","chicken.vue"]]),S6={name:"ChromeFilled"},q6={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},F6=e("path",{d:"M938.67 512.01c0-44.59-6.82-87.6-19.54-128H682.67a212.372 212.372 0 0 1 42.67 128c.06 38.71-10.45 76.7-30.42 109.87l-182.91 316.8c235.65-.01 426.66-191.02 426.66-426.67z",fill:"currentColor"},null,-1),D6=e("path",{d:"M576.79 401.63a127.92 127.92 0 0 0-63.56-17.6c-22.36-.22-44.39 5.43-63.89 16.38s-35.79 26.82-47.25 46.02a128.005 128.005 0 0 0-2.16 127.44l1.24 2.13a127.906 127.906 0 0 0 46.36 46.61 127.907 127.907 0 0 0 63.38 17.44c22.29.2 44.24-5.43 63.68-16.33a127.94 127.94 0 0 0 47.16-45.79v-.01l1.11-1.92a127.984 127.984 0 0 0 .29-127.46 127.957 127.957 0 0 0-46.36-46.91z",fill:"currentColor"},null,-1),P6=e("path",{d:"M394.45 333.96A213.336 213.336 0 0 1 512 298.67h369.58A426.503 426.503 0 0 0 512 85.34a425.598 425.598 0 0 0-171.74 35.98 425.644 425.644 0 0 0-142.62 102.22l118.14 204.63a213.397 213.397 0 0 1 78.67-94.21zm117.56 604.72H512zm-97.25-236.73a213.284 213.284 0 0 1-89.54-86.81L142.48 298.6c-36.35 62.81-57.13 135.68-57.13 213.42 0 203.81 142.93 374.22 333.95 416.55h.04l118.19-204.71a213.315 213.315 0 0 1-122.77-21.91z",fill:"currentColor"},null,-1),R6=[F6,D6,P6];function T6(t,a,_,r,l,i){return o(),n("svg",q6,R6)}var O6=s(S6,[["render",T6],["__file","chrome-filled.vue"]]),G6={name:"CircleCheckFilled"},U6={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},W6=e("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.272 38.272 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336L456.192 600.384z"},null,-1),I6=[W6];function E6(t,a,_,r,l,i){return o(),n("svg",U6,I6)}var N6=s(G6,[["render",E6],["__file","circle-check-filled.vue"]]),Z6={name:"CircleCheck"},K6={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Q6=e("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),j6=e("path",{fill:"currentColor",d:"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752l265.344-265.408z"},null,-1),J6=[Q6,j6];function X6(t,a,_,r,l,i){return o(),n("svg",K6,J6)}var Y6=s(Z6,[["render",X6],["__file","circle-check.vue"]]),e3={name:"CircleCloseFilled"},t3={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},_3=e("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336L512 457.664z"},null,-1),a3=[_3];function r3(t,a,_,r,l,i){return o(),n("svg",t3,a3)}var l3=s(e3,[["render",r3],["__file","circle-close-filled.vue"]]),o3={name:"CircleClose"},n3={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},s3=e("path",{fill:"currentColor",d:"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248L466.752 512z"},null,-1),i3=e("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),u3=[s3,i3];function v3(t,a,_,r,l,i){return o(),n("svg",n3,u3)}var d3=s(o3,[["render",v3],["__file","circle-close.vue"]]),c3={name:"CirclePlusFilled"},h3={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},p3=e("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm-38.4 409.6H326.4a38.4 38.4 0 1 0 0 76.8h147.2v147.2a38.4 38.4 0 0 0 76.8 0V550.4h147.2a38.4 38.4 0 0 0 0-76.8H550.4V326.4a38.4 38.4 0 1 0-76.8 0v147.2z"},null,-1),f3=[p3];function w3(t,a,_,r,l,i){return o(),n("svg",h3,f3)}var m3=s(c3,[["render",w3],["__file","circle-plus-filled.vue"]]),g3={name:"CirclePlus"},$3={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},z3=e("path",{fill:"currentColor",d:"M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64z"},null,-1),x3=e("path",{fill:"currentColor",d:"M480 672V352a32 32 0 1 1 64 0v320a32 32 0 0 1-64 0z"},null,-1),H3=e("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),M3=[z3,x3,H3];function C3(t,a,_,r,l,i){return o(),n("svg",$3,M3)}var V3=s(g3,[["render",C3],["__file","circle-plus.vue"]]),y3={name:"Clock"},B3={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},L3=e("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),A3=e("path",{fill:"currentColor",d:"M480 256a32 32 0 0 1 32 32v256a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32z"},null,-1),b3=e("path",{fill:"currentColor",d:"M480 512h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32z"},null,-1),k3=[L3,A3,b3];function S3(t,a,_,r,l,i){return o(),n("svg",B3,k3)}var q3=s(y3,[["render",S3],["__file","clock.vue"]]),F3={name:"CloseBold"},D3={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},P3=e("path",{fill:"currentColor",d:"M195.2 195.2a64 64 0 0 1 90.496 0L512 421.504 738.304 195.2a64 64 0 0 1 90.496 90.496L602.496 512 828.8 738.304a64 64 0 0 1-90.496 90.496L512 602.496 285.696 828.8a64 64 0 0 1-90.496-90.496L421.504 512 195.2 285.696a64 64 0 0 1 0-90.496z"},null,-1),R3=[P3];function T3(t,a,_,r,l,i){return o(),n("svg",D3,R3)}var O3=s(F3,[["render",T3],["__file","close-bold.vue"]]),G3={name:"Close"},U3={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},W3=e("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"},null,-1),I3=[W3];function E3(t,a,_,r,l,i){return o(),n("svg",U3,I3)}var N3=s(G3,[["render",E3],["__file","close.vue"]]),Z3={name:"Cloudy"},K3={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Q3=e("path",{fill:"currentColor",d:"M598.4 831.872H328.192a256 256 0 0 1-34.496-510.528A352 352 0 1 1 598.4 831.872zm-271.36-64h272.256a288 288 0 1 0-248.512-417.664L335.04 381.44l-34.816 3.584a192 192 0 0 0 26.88 382.848z"},null,-1),j3=[Q3];function J3(t,a,_,r,l,i){return o(),n("svg",K3,j3)}var X3=s(Z3,[["render",J3],["__file","cloudy.vue"]]),Y3={name:"CoffeeCup"},ee={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},te=e("path",{fill:"currentColor",d:"M768 192a192 192 0 1 1-8 383.808A256.128 256.128 0 0 1 512 768H320A256 256 0 0 1 64 512V160a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32v32zm0 64v256a128 128 0 1 0 0-256zM96 832h640a32 32 0 1 1 0 64H96a32 32 0 1 1 0-64zm32-640v320a192 192 0 0 0 192 192h192a192 192 0 0 0 192-192V192H128z"},null,-1),_e=[te];function ae(t,a,_,r,l,i){return o(),n("svg",ee,_e)}var re=s(Y3,[["render",ae],["__file","coffee-cup.vue"]]),le={name:"Coffee"},oe={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ne=e("path",{fill:"currentColor",d:"M822.592 192h14.272a32 32 0 0 1 31.616 26.752l21.312 128A32 32 0 0 1 858.24 384h-49.344l-39.04 546.304A32 32 0 0 1 737.92 960H285.824a32 32 0 0 1-32-29.696L214.912 384H165.76a32 32 0 0 1-31.552-37.248l21.312-128A32 32 0 0 1 187.136 192h14.016l-6.72-93.696A32 32 0 0 1 226.368 64h571.008a32 32 0 0 1 31.936 34.304L822.592 192zm-64.128 0 4.544-64H260.736l4.544 64h493.184zm-548.16 128H820.48l-10.688-64H214.208l-10.688 64h6.784zm68.736 64 36.544 512H708.16l36.544-512H279.04z"},null,-1),se=[ne];function ie(t,a,_,r,l,i){return o(),n("svg",oe,se)}var ue=s(le,[["render",ie],["__file","coffee.vue"]]),ve={name:"Coin"},de={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ce=e("path",{fill:"currentColor",d:"m161.92 580.736 29.888 58.88C171.328 659.776 160 681.728 160 704c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 615.808 928 657.664 928 704c0 129.728-188.544 224-416 224S96 833.728 96 704c0-46.592 24.32-88.576 65.92-123.264z"},null,-1),he=e("path",{fill:"currentColor",d:"m161.92 388.736 29.888 58.88C171.328 467.84 160 489.792 160 512c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 423.808 928 465.664 928 512c0 129.728-188.544 224-416 224S96 641.728 96 512c0-46.592 24.32-88.576 65.92-123.264z"},null,-1),pe=e("path",{fill:"currentColor",d:"M512 544c-227.456 0-416-94.272-416-224S284.544 96 512 96s416 94.272 416 224-188.544 224-416 224zm0-64c196.672 0 352-77.696 352-160S708.672 160 512 160s-352 77.696-352 160 155.328 160 352 160z"},null,-1),fe=[ce,he,pe];function we(t,a,_,r,l,i){return o(),n("svg",de,fe)}var me=s(ve,[["render",we],["__file","coin.vue"]]),ge={name:"ColdDrink"},$e={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ze=e("path",{fill:"currentColor",d:"M768 64a192 192 0 1 1-69.952 370.88L480 725.376V896h96a32 32 0 1 1 0 64H320a32 32 0 1 1 0-64h96V725.376L76.8 273.536a64 64 0 0 1-12.8-38.4v-10.688a32 32 0 0 1 32-32h71.808l-65.536-83.84a32 32 0 0 1 50.432-39.424l96.256 123.264h337.728A192.064 192.064 0 0 1 768 64zM656.896 192.448H800a32 32 0 0 1 32 32v10.624a64 64 0 0 1-12.8 38.4l-80.448 107.2a128 128 0 1 0-81.92-188.16v-.064zm-357.888 64 129.472 165.76a32 32 0 0 1-50.432 39.36l-160.256-205.12H144l304 404.928 304-404.928H299.008z"},null,-1),xe=[ze];function He(t,a,_,r,l,i){return o(),n("svg",$e,xe)}var Me=s(ge,[["render",He],["__file","cold-drink.vue"]]),Ce={name:"CollectionTag"},Ve={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ye=e("path",{fill:"currentColor",d:"M256 128v698.88l196.032-156.864a96 96 0 0 1 119.936 0L768 826.816V128H256zm-32-64h576a32 32 0 0 1 32 32v797.44a32 32 0 0 1-51.968 24.96L531.968 720a32 32 0 0 0-39.936 0L243.968 918.4A32 32 0 0 1 192 893.44V96a32 32 0 0 1 32-32z"},null,-1),Be=[ye];function Le(t,a,_,r,l,i){return o(),n("svg",Ve,Be)}var Ae=s(Ce,[["render",Le],["__file","collection-tag.vue"]]),be={name:"Collection"},ke={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Se=e("path",{fill:"currentColor",d:"M192 736h640V128H256a64 64 0 0 0-64 64v544zm64-672h608a32 32 0 0 1 32 32v672a32 32 0 0 1-32 32H160l-32 57.536V192A128 128 0 0 1 256 64z"},null,-1),qe=e("path",{fill:"currentColor",d:"M240 800a48 48 0 1 0 0 96h592v-96H240zm0-64h656v160a64 64 0 0 1-64 64H240a112 112 0 0 1 0-224zm144-608v250.88l96-76.8 96 76.8V128H384zm-64-64h320v381.44a32 32 0 0 1-51.968 24.96L480 384l-108.032 86.4A32 32 0 0 1 320 445.44V64z"},null,-1),Fe=[Se,qe];function De(t,a,_,r,l,i){return o(),n("svg",ke,Fe)}var Pe=s(be,[["render",De],["__file","collection.vue"]]),Re={name:"Comment"},Te={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Oe=e("path",{fill:"currentColor",d:"M736 504a56 56 0 1 1 0-112 56 56 0 0 1 0 112zm-224 0a56 56 0 1 1 0-112 56 56 0 0 1 0 112zm-224 0a56 56 0 1 1 0-112 56 56 0 0 1 0 112zM128 128v640h192v160l224-160h352V128H128z"},null,-1),Ge=[Oe];function Ue(t,a,_,r,l,i){return o(),n("svg",Te,Ge)}var We=s(Re,[["render",Ue],["__file","comment.vue"]]),Ie={name:"Compass"},Ee={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ne=e("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),Ze=e("path",{fill:"currentColor",d:"M725.888 315.008C676.48 428.672 624 513.28 568.576 568.64c-55.424 55.424-139.968 107.904-253.568 157.312a12.8 12.8 0 0 1-16.896-16.832c49.536-113.728 102.016-198.272 157.312-253.632 55.36-55.296 139.904-107.776 253.632-157.312a12.8 12.8 0 0 1 16.832 16.832z"},null,-1),Ke=[Ne,Ze];function Qe(t,a,_,r,l,i){return o(),n("svg",Ee,Ke)}var je=s(Ie,[["render",Qe],["__file","compass.vue"]]),Je={name:"Connection"},Xe={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ye=e("path",{fill:"currentColor",d:"M640 384v64H448a128 128 0 0 0-128 128v128a128 128 0 0 0 128 128h320a128 128 0 0 0 128-128V576a128 128 0 0 0-64-110.848V394.88c74.56 26.368 128 97.472 128 181.056v128a192 192 0 0 1-192 192H448a192 192 0 0 1-192-192V576a192 192 0 0 1 192-192h192z"},null,-1),e8=e("path",{fill:"currentColor",d:"M384 640v-64h192a128 128 0 0 0 128-128V320a128 128 0 0 0-128-128H256a128 128 0 0 0-128 128v128a128 128 0 0 0 64 110.848v70.272A192.064 192.064 0 0 1 64 448V320a192 192 0 0 1 192-192h320a192 192 0 0 1 192 192v128a192 192 0 0 1-192 192H384z"},null,-1),t8=[Ye,e8];function _8(t,a,_,r,l,i){return o(),n("svg",Xe,t8)}var a8=s(Je,[["render",_8],["__file","connection.vue"]]),r8={name:"Coordinate"},l8={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},o8=e("path",{fill:"currentColor",d:"M480 512h64v320h-64z"},null,-1),n8=e("path",{fill:"currentColor",d:"M192 896h640a64 64 0 0 0-64-64H256a64 64 0 0 0-64 64zm64-128h512a128 128 0 0 1 128 128v64H128v-64a128 128 0 0 1 128-128zm256-256a192 192 0 1 0 0-384 192 192 0 0 0 0 384zm0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512z"},null,-1),s8=[o8,n8];function i8(t,a,_,r,l,i){return o(),n("svg",l8,s8)}var u8=s(r8,[["render",i8],["__file","coordinate.vue"]]),v8={name:"CopyDocument"},d8={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},c8=e("path",{fill:"currentColor",d:"M768 832a128 128 0 0 1-128 128H192A128 128 0 0 1 64 832V384a128 128 0 0 1 128-128v64a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64h64z"},null,-1),h8=e("path",{fill:"currentColor",d:"M384 128a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64H384zm0-64h448a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H384a128 128 0 0 1-128-128V192A128 128 0 0 1 384 64z"},null,-1),p8=[c8,h8];function f8(t,a,_,r,l,i){return o(),n("svg",d8,p8)}var w8=s(v8,[["render",f8],["__file","copy-document.vue"]]),m8={name:"Cpu"},g8={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},$8=e("path",{fill:"currentColor",d:"M320 256a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64H320zm0-64h384a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128H320a128 128 0 0 1-128-128V320a128 128 0 0 1 128-128z"},null,-1),z8=e("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32zm160 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32zm-320 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32zm160 896a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32zm160 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32zm-320 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32zM64 512a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32zm0-160a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32zm0 320a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32zm896-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32zm0-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32zm0 320a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32z"},null,-1),x8=[$8,z8];function H8(t,a,_,r,l,i){return o(),n("svg",g8,x8)}var M8=s(m8,[["render",H8],["__file","cpu.vue"]]),C8={name:"CreditCard"},V8={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},y8=e("path",{fill:"currentColor",d:"M896 324.096c0-42.368-2.496-55.296-9.536-68.48a52.352 52.352 0 0 0-22.144-22.08c-13.12-7.04-26.048-9.536-68.416-9.536H228.096c-42.368 0-55.296 2.496-68.48 9.536a52.352 52.352 0 0 0-22.08 22.144c-7.04 13.12-9.536 26.048-9.536 68.416v375.808c0 42.368 2.496 55.296 9.536 68.48a52.352 52.352 0 0 0 22.144 22.08c13.12 7.04 26.048 9.536 68.416 9.536h567.808c42.368 0 55.296-2.496 68.48-9.536a52.352 52.352 0 0 0 22.08-22.144c7.04-13.12 9.536-26.048 9.536-68.416V324.096zm64 0v375.808c0 57.088-5.952 77.76-17.088 98.56-11.136 20.928-27.52 37.312-48.384 48.448-20.864 11.136-41.6 17.088-98.56 17.088H228.032c-57.088 0-77.76-5.952-98.56-17.088a116.288 116.288 0 0 1-48.448-48.384c-11.136-20.864-17.088-41.6-17.088-98.56V324.032c0-57.088 5.952-77.76 17.088-98.56 11.136-20.928 27.52-37.312 48.384-48.448 20.864-11.136 41.6-17.088 98.56-17.088H795.84c57.088 0 77.76 5.952 98.56 17.088 20.928 11.136 37.312 27.52 48.448 48.384 11.136 20.864 17.088 41.6 17.088 98.56z"},null,-1),B8=e("path",{fill:"currentColor",d:"M64 320h896v64H64v-64zm0 128h896v64H64v-64zm128 192h256v64H192z"},null,-1),L8=[y8,B8];function A8(t,a,_,r,l,i){return o(),n("svg",V8,L8)}var b8=s(C8,[["render",A8],["__file","credit-card.vue"]]),k8={name:"Crop"},S8={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},q8=e("path",{fill:"currentColor",d:"M256 768h672a32 32 0 1 1 0 64H224a32 32 0 0 1-32-32V96a32 32 0 0 1 64 0v672z"},null,-1),F8=e("path",{fill:"currentColor",d:"M832 224v704a32 32 0 1 1-64 0V256H96a32 32 0 0 1 0-64h704a32 32 0 0 1 32 32z"},null,-1),D8=[q8,F8];function P8(t,a,_,r,l,i){return o(),n("svg",S8,D8)}var R8=s(k8,[["render",P8],["__file","crop.vue"]]),T8={name:"DArrowLeft"},O8={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},G8=e("path",{fill:"currentColor",d:"M529.408 149.376a29.12 29.12 0 0 1 41.728 0 30.592 30.592 0 0 1 0 42.688L259.264 511.936l311.872 319.936a30.592 30.592 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L197.76 534.272a32 32 0 0 1 0-44.672l331.648-340.224zm256 0a29.12 29.12 0 0 1 41.728 0 30.592 30.592 0 0 1 0 42.688L515.264 511.936l311.872 319.936a30.592 30.592 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L453.76 534.272a32 32 0 0 1 0-44.672l331.648-340.224z"},null,-1),U8=[G8];function W8(t,a,_,r,l,i){return o(),n("svg",O8,U8)}var I8=s(T8,[["render",W8],["__file","d-arrow-left.vue"]]),E8={name:"DArrowRight"},N8={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Z8=e("path",{fill:"currentColor",d:"M452.864 149.312a29.12 29.12 0 0 1 41.728.064L826.24 489.664a32 32 0 0 1 0 44.672L494.592 874.624a29.12 29.12 0 0 1-41.728 0 30.592 30.592 0 0 1 0-42.752L764.736 512 452.864 192a30.592 30.592 0 0 1 0-42.688zm-256 0a29.12 29.12 0 0 1 41.728.064L570.24 489.664a32 32 0 0 1 0 44.672L238.592 874.624a29.12 29.12 0 0 1-41.728 0 30.592 30.592 0 0 1 0-42.752L508.736 512 196.864 192a30.592 30.592 0 0 1 0-42.688z"},null,-1),K8=[Z8];function Q8(t,a,_,r,l,i){return o(),n("svg",N8,K8)}var j8=s(E8,[["render",Q8],["__file","d-arrow-right.vue"]]),J8={name:"DCaret"},X8={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Y8=e("path",{fill:"currentColor",d:"m512 128 288 320H224l288-320zM224 576h576L512 896 224 576z"},null,-1),et=[Y8];function tt(t,a,_,r,l,i){return o(),n("svg",X8,et)}var _t=s(J8,[["render",tt],["__file","d-caret.vue"]]),at={name:"DataAnalysis"},rt={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},lt=e("path",{fill:"currentColor",d:"m665.216 768 110.848 192h-73.856L591.36 768H433.024L322.176 960H248.32l110.848-192H160a32 32 0 0 1-32-32V192H64a32 32 0 0 1 0-64h896a32 32 0 1 1 0 64h-64v544a32 32 0 0 1-32 32H665.216zM832 192H192v512h640V192zM352 448a32 32 0 0 1 32 32v64a32 32 0 0 1-64 0v-64a32 32 0 0 1 32-32zm160-64a32 32 0 0 1 32 32v128a32 32 0 0 1-64 0V416a32 32 0 0 1 32-32zm160-64a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V352a32 32 0 0 1 32-32z"},null,-1),ot=[lt];function nt(t,a,_,r,l,i){return o(),n("svg",rt,ot)}var st=s(at,[["render",nt],["__file","data-analysis.vue"]]),it={name:"DataBoard"},ut={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},vt=e("path",{fill:"currentColor",d:"M32 128h960v64H32z"},null,-1),dt=e("path",{fill:"currentColor",d:"M192 192v512h640V192H192zm-64-64h768v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V128z"},null,-1),ct=e("path",{fill:"currentColor",d:"M322.176 960H248.32l144.64-250.56 55.424 32L322.176 960zm453.888 0h-73.856L576 741.44l55.424-32L776.064 960z"},null,-1),ht=[vt,dt,ct];function pt(t,a,_,r,l,i){return o(),n("svg",ut,ht)}var ft=s(it,[["render",pt],["__file","data-board.vue"]]),wt={name:"DataLine"},mt={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},gt=e("path",{fill:"currentColor",d:"M359.168 768H160a32 32 0 0 1-32-32V192H64a32 32 0 0 1 0-64h896a32 32 0 1 1 0 64h-64v544a32 32 0 0 1-32 32H665.216l110.848 192h-73.856L591.36 768H433.024L322.176 960H248.32l110.848-192zM832 192H192v512h640V192zM342.656 534.656a32 32 0 1 1-45.312-45.312L444.992 341.76l125.44 94.08L679.04 300.032a32 32 0 1 1 49.92 39.936L581.632 524.224 451.008 426.24 342.656 534.592z"},null,-1),$t=[gt];function zt(t,a,_,r,l,i){return o(),n("svg",mt,$t)}var xt=s(wt,[["render",zt],["__file","data-line.vue"]]),Ht={name:"DeleteFilled"},Mt={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ct=e("path",{fill:"currentColor",d:"M352 192V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64H96a32 32 0 0 1 0-64h256zm64 0h192v-64H416v64zM192 960a32 32 0 0 1-32-32V256h704v672a32 32 0 0 1-32 32H192zm224-192a32 32 0 0 0 32-32V416a32 32 0 0 0-64 0v320a32 32 0 0 0 32 32zm192 0a32 32 0 0 0 32-32V416a32 32 0 0 0-64 0v320a32 32 0 0 0 32 32z"},null,-1),Vt=[Ct];function yt(t,a,_,r,l,i){return o(),n("svg",Mt,Vt)}var Bt=s(Ht,[["render",yt],["__file","delete-filled.vue"]]),Lt={name:"DeleteLocation"},At={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},bt=e("path",{fill:"currentColor",d:"M288 896h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32z"},null,-1),kt=e("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416zM512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544z"},null,-1),St=e("path",{fill:"currentColor",d:"M384 384h256q32 0 32 32t-32 32H384q-32 0-32-32t32-32z"},null,-1),qt=[bt,kt,St];function Ft(t,a,_,r,l,i){return o(),n("svg",At,qt)}var Dt=s(Lt,[["render",Ft],["__file","delete-location.vue"]]),Pt={name:"Delete"},Rt={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Tt=e("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V256zm448-64v-64H416v64h192zM224 896h576V256H224v640zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32zm192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32z"},null,-1),Ot=[Tt];function Gt(t,a,_,r,l,i){return o(),n("svg",Rt,Ot)}var Ut=s(Pt,[["render",Gt],["__file","delete.vue"]]),Wt={name:"Dessert"},It={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Et=e("path",{fill:"currentColor",d:"M128 416v-48a144 144 0 0 1 168.64-141.888 224.128 224.128 0 0 1 430.72 0A144 144 0 0 1 896 368v48a384 384 0 0 1-352 382.72V896h-64v-97.28A384 384 0 0 1 128 416zm287.104-32.064h193.792a143.808 143.808 0 0 1 58.88-132.736 160.064 160.064 0 0 0-311.552 0 143.808 143.808 0 0 1 58.88 132.8zm-72.896 0a72 72 0 1 0-140.48 0h140.48zm339.584 0h140.416a72 72 0 1 0-140.48 0zM512 736a320 320 0 0 0 318.4-288.064H193.6A320 320 0 0 0 512 736zM384 896.064h256a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64z"},null,-1),Nt=[Et];function Zt(t,a,_,r,l,i){return o(),n("svg",It,Nt)}var Kt=s(Wt,[["render",Zt],["__file","dessert.vue"]]),Qt={name:"Discount"},jt={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Jt=e("path",{fill:"currentColor",d:"M224 704h576V318.336L552.512 115.84a64 64 0 0 0-81.024 0L224 318.336V704zm0 64v128h576V768H224zM593.024 66.304l259.2 212.096A32 32 0 0 1 864 303.168V928a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V303.168a32 32 0 0 1 11.712-24.768l259.2-212.096a128 128 0 0 1 162.112 0z"},null,-1),Xt=e("path",{fill:"currentColor",d:"M512 448a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256z"},null,-1),Yt=[Jt,Xt];function e_(t,a,_,r,l,i){return o(),n("svg",jt,Yt)}var t_=s(Qt,[["render",e_],["__file","discount.vue"]]),__={name:"DishDot"},a_={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},r_=e("path",{fill:"currentColor",d:"m384.064 274.56.064-50.688A128 128 0 0 1 512.128 96c70.528 0 127.68 57.152 127.68 127.68v50.752A448.192 448.192 0 0 1 955.392 768H68.544A448.192 448.192 0 0 1 384 274.56zM96 832h832a32 32 0 1 1 0 64H96a32 32 0 1 1 0-64zm32-128h768a384 384 0 1 0-768 0zm447.808-448v-32.32a63.68 63.68 0 0 0-63.68-63.68 64 64 0 0 0-64 63.936V256h127.68z"},null,-1),l_=[r_];function o_(t,a,_,r,l,i){return o(),n("svg",a_,l_)}var n_=s(__,[["render",o_],["__file","dish-dot.vue"]]),s_={name:"Dish"},i_={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},u_=e("path",{fill:"currentColor",d:"M480 257.152V192h-96a32 32 0 0 1 0-64h256a32 32 0 1 1 0 64h-96v65.152A448 448 0 0 1 955.52 768H68.48A448 448 0 0 1 480 257.152zM128 704h768a384 384 0 1 0-768 0zM96 832h832a32 32 0 1 1 0 64H96a32 32 0 1 1 0-64z"},null,-1),v_=[u_];function d_(t,a,_,r,l,i){return o(),n("svg",i_,v_)}var c_=s(s_,[["render",d_],["__file","dish.vue"]]),h_={name:"DocumentAdd"},p_={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},f_=e("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640V384zm-26.496-64L640 154.496V320h165.504zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm320 512V448h64v128h128v64H544v128h-64V640H352v-64h128z"},null,-1),w_=[f_];function m_(t,a,_,r,l,i){return o(),n("svg",p_,w_)}var g_=s(h_,[["render",m_],["__file","document-add.vue"]]),$_={name:"DocumentChecked"},z_={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},x_=e("path",{fill:"currentColor",d:"M805.504 320 640 154.496V320h165.504zM832 384H576V128H192v768h640V384zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm318.4 582.144 180.992-180.992L704.64 510.4 478.4 736.64 320 578.304l45.248-45.312L478.4 646.144z"},null,-1),H_=[x_];function M_(t,a,_,r,l,i){return o(),n("svg",z_,H_)}var C_=s($_,[["render",M_],["__file","document-checked.vue"]]),V_={name:"DocumentCopy"},y_={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},B_=e("path",{fill:"currentColor",d:"M128 320v576h576V320H128zm-32-64h640a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32zM960 96v704a32 32 0 0 1-32 32h-96v-64h64V128H384v64h-64V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32zM256 672h320v64H256v-64zm0-192h320v64H256v-64z"},null,-1),L_=[B_];function A_(t,a,_,r,l,i){return o(),n("svg",y_,L_)}var b_=s(V_,[["render",A_],["__file","document-copy.vue"]]),k_={name:"DocumentDelete"},S_={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},q_=e("path",{fill:"currentColor",d:"M805.504 320 640 154.496V320h165.504zM832 384H576V128H192v768h640V384zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm308.992 546.304-90.496-90.624 45.248-45.248 90.56 90.496 90.496-90.432 45.248 45.248-90.496 90.56 90.496 90.496-45.248 45.248-90.496-90.496-90.56 90.496-45.248-45.248 90.496-90.496z"},null,-1),F_=[q_];function D_(t,a,_,r,l,i){return o(),n("svg",S_,F_)}var P_=s(k_,[["render",D_],["__file","document-delete.vue"]]),R_={name:"DocumentRemove"},T_={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},O_=e("path",{fill:"currentColor",d:"M805.504 320 640 154.496V320h165.504zM832 384H576V128H192v768h640V384zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm192 512h320v64H352v-64z"},null,-1),G_=[O_];function U_(t,a,_,r,l,i){return o(),n("svg",T_,G_)}var W_=s(R_,[["render",U_],["__file","document-remove.vue"]]),I_={name:"Document"},E_={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},N_=e("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640V384zm-26.496-64L640 154.496V320h165.504zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm160 448h384v64H320v-64zm0-192h160v64H320v-64zm0 384h384v64H320v-64z"},null,-1),Z_=[N_];function K_(t,a,_,r,l,i){return o(),n("svg",E_,Z_)}var Q_=s(I_,[["render",K_],["__file","document.vue"]]),j_={name:"Download"},J_={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},X_=e("path",{fill:"currentColor",d:"M160 832h704a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64zm384-253.696 236.288-236.352 45.248 45.248L508.8 704 192 387.2l45.248-45.248L480 584.704V128h64v450.304z"},null,-1),Y_=[X_];function ea(t,a,_,r,l,i){return o(),n("svg",J_,Y_)}var ta=s(j_,[["render",ea],["__file","download.vue"]]),_a={name:"Drizzling"},aa={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ra=e("path",{fill:"currentColor",d:"m739.328 291.328-35.2-6.592-12.8-33.408a192.064 192.064 0 0 0-365.952 23.232l-9.92 40.896-41.472 7.04a176.32 176.32 0 0 0-146.24 173.568c0 97.28 78.72 175.936 175.808 175.936h400a192 192 0 0 0 35.776-380.672zM959.552 480a256 256 0 0 1-256 256h-400A239.808 239.808 0 0 1 63.744 496.192a240.32 240.32 0 0 1 199.488-236.8 256.128 256.128 0 0 1 487.872-30.976A256.064 256.064 0 0 1 959.552 480zM288 800h64v64h-64v-64zm192 0h64v64h-64v-64zm-96 96h64v64h-64v-64zm192 0h64v64h-64v-64zm96-96h64v64h-64v-64z"},null,-1),la=[ra];function oa(t,a,_,r,l,i){return o(),n("svg",aa,la)}var na=s(_a,[["render",oa],["__file","drizzling.vue"]]),sa={name:"EditPen"},ia={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ua=e("path",{d:"m199.04 672.64 193.984 112 224-387.968-193.92-112-224 388.032zm-23.872 60.16 32.896 148.288 144.896-45.696L175.168 732.8zM455.04 229.248l193.92 112 56.704-98.112-193.984-112-56.64 98.112zM104.32 708.8l384-665.024 304.768 175.936L409.152 884.8h.064l-248.448 78.336L104.32 708.8zm384 254.272v-64h448v64h-448z",fill:"currentColor"},null,-1),va=[ua];function da(t,a,_,r,l,i){return o(),n("svg",ia,va)}var ca=s(sa,[["render",da],["__file","edit-pen.vue"]]),ha={name:"Edit"},pa={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},fa=e("path",{fill:"currentColor",d:"M832 512a32 32 0 1 1 64 0v352a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h352a32 32 0 0 1 0 64H192v640h640V512z"},null,-1),wa=e("path",{fill:"currentColor",d:"m469.952 554.24 52.8-7.552L847.104 222.4a32 32 0 1 0-45.248-45.248L477.44 501.44l-7.552 52.8zm422.4-422.4a96 96 0 0 1 0 135.808l-331.84 331.84a32 32 0 0 1-18.112 9.088L436.8 623.68a32 32 0 0 1-36.224-36.224l15.104-105.6a32 32 0 0 1 9.024-18.112l331.904-331.84a96 96 0 0 1 135.744 0z"},null,-1),ma=[fa,wa];function ga(t,a,_,r,l,i){return o(),n("svg",pa,ma)}var $a=s(ha,[["render",ga],["__file","edit.vue"]]),za={name:"ElemeFilled"},xa={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ha=e("path",{fill:"currentColor",d:"M176 64h672c61.824 0 112 50.176 112 112v672a112 112 0 0 1-112 112H176A112 112 0 0 1 64 848V176c0-61.824 50.176-112 112-112zm150.528 173.568c-152.896 99.968-196.544 304.064-97.408 456.96a330.688 330.688 0 0 0 456.96 96.64c9.216-5.888 17.6-11.776 25.152-18.56a18.24 18.24 0 0 0 4.224-24.32L700.352 724.8a47.552 47.552 0 0 0-65.536-14.272A234.56 234.56 0 0 1 310.592 641.6C240 533.248 271.104 387.968 379.456 316.48a234.304 234.304 0 0 1 276.352 15.168c1.664.832 2.56 2.56 3.392 4.224 5.888 8.384 3.328 19.328-5.12 25.216L456.832 489.6a47.552 47.552 0 0 0-14.336 65.472l16 24.384c5.888 8.384 16.768 10.88 25.216 5.056l308.224-199.936a19.584 19.584 0 0 0 6.72-23.488v-.896c-4.992-9.216-10.048-17.6-15.104-26.88-99.968-151.168-304.064-194.88-456.96-95.744zM786.88 504.704l-62.208 40.32c-8.32 5.888-10.88 16.768-4.992 25.216L760 632.32c5.888 8.448 16.768 11.008 25.152 5.12l31.104-20.16a55.36 55.36 0 0 0 16-76.48l-20.224-31.04a19.52 19.52 0 0 0-25.152-5.12z"},null,-1),Ma=[Ha];function Ca(t,a,_,r,l,i){return o(),n("svg",xa,Ma)}var Va=s(za,[["render",Ca],["__file","eleme-filled.vue"]]),ya={name:"Eleme"},Ba={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},La=e("path",{fill:"currentColor",d:"M300.032 188.8c174.72-113.28 408-63.36 522.24 109.44 5.76 10.56 11.52 20.16 17.28 30.72v.96a22.4 22.4 0 0 1-7.68 26.88l-352.32 228.48c-9.6 6.72-22.08 3.84-28.8-5.76l-18.24-27.84a54.336 54.336 0 0 1 16.32-74.88l225.6-146.88c9.6-6.72 12.48-19.2 5.76-28.8-.96-1.92-1.92-3.84-3.84-4.8a267.84 267.84 0 0 0-315.84-17.28c-123.84 81.6-159.36 247.68-78.72 371.52a268.096 268.096 0 0 0 370.56 78.72 54.336 54.336 0 0 1 74.88 16.32l17.28 26.88c5.76 9.6 3.84 21.12-4.8 27.84-8.64 7.68-18.24 14.4-28.8 21.12a377.92 377.92 0 0 1-522.24-110.4c-113.28-174.72-63.36-408 111.36-522.24zm526.08 305.28a22.336 22.336 0 0 1 28.8 5.76l23.04 35.52a63.232 63.232 0 0 1-18.24 87.36l-35.52 23.04c-9.6 6.72-22.08 3.84-28.8-5.76l-46.08-71.04c-6.72-9.6-3.84-22.08 5.76-28.8l71.04-46.08z"},null,-1),Aa=[La];function ba(t,a,_,r,l,i){return o(),n("svg",Ba,Aa)}var ka=s(ya,[["render",ba],["__file","eleme.vue"]]),Sa={name:"ElementPlus"},qa={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Fa=e("path",{d:"M839.7 734.7c0 33.3-17.9 41-17.9 41S519.7 949.8 499.2 960c-10.2 5.1-20.5 5.1-30.7 0 0 0-314.9-184.3-325.1-192-5.1-5.1-10.2-12.8-12.8-20.5V368.6c0-17.9 20.5-28.2 20.5-28.2L466 158.6c12.8-5.1 25.6-5.1 38.4 0 0 0 279 161.3 309.8 179.2 17.9 7.7 28.2 25.6 25.6 46.1-.1-5-.1 317.5-.1 350.8zM714.2 371.2c-64-35.8-217.6-125.4-217.6-125.4-7.7-5.1-20.5-5.1-30.7 0L217.6 389.1s-17.9 10.2-17.9 23v297c0 5.1 5.1 12.8 7.7 17.9 7.7 5.1 256 148.5 256 148.5 7.7 5.1 17.9 5.1 25.6 0 15.4-7.7 250.9-145.9 250.9-145.9s12.8-5.1 12.8-30.7v-74.2l-276.5 169v-64c0-17.9 7.7-30.7 20.5-46.1L745 535c5.1-7.7 10.2-20.5 10.2-30.7v-66.6l-279 169v-69.1c0-15.4 5.1-30.7 17.9-38.4l220.1-128zM919 135.7c0-5.1-5.1-7.7-7.7-7.7h-58.9V66.6c0-5.1-5.1-5.1-10.2-5.1l-30.7 5.1c-5.1 0-5.1 2.6-5.1 5.1V128h-56.3c-5.1 0-5.1 5.1-7.7 5.1v38.4h69.1v64c0 5.1 5.1 5.1 10.2 5.1l30.7-5.1c5.1 0 5.1-2.6 5.1-5.1v-56.3h64l-2.5-38.4z",fill:"currentColor"},null,-1),Da=[Fa];function Pa(t,a,_,r,l,i){return o(),n("svg",qa,Da)}var Ra=s(Sa,[["render",Pa],["__file","element-plus.vue"]]),Ta={name:"Expand"},Oa={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ga=e("path",{fill:"currentColor",d:"M128 192h768v128H128V192zm0 256h512v128H128V448zm0 256h768v128H128V704zm576-352 192 160-192 128V352z"},null,-1),Ua=[Ga];function Wa(t,a,_,r,l,i){return o(),n("svg",Oa,Ua)}var Ia=s(Ta,[["render",Wa],["__file","expand.vue"]]),Ea={name:"Failed"},Na={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Za=e("path",{fill:"currentColor",d:"m557.248 608 135.744-135.744-45.248-45.248-135.68 135.744-135.808-135.68-45.248 45.184L466.752 608l-135.68 135.68 45.184 45.312L512 653.248l135.744 135.744 45.248-45.248L557.312 608zM704 192h160v736H160V192h160v64h384v-64zm-320 0V96h256v96H384z"},null,-1),Ka=[Za];function Qa(t,a,_,r,l,i){return o(),n("svg",Na,Ka)}var ja=s(Ea,[["render",Qa],["__file","failed.vue"]]),Ja={name:"Female"},Xa={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ya=e("path",{fill:"currentColor",d:"M512 640a256 256 0 1 0 0-512 256 256 0 0 0 0 512zm0 64a320 320 0 1 1 0-640 320 320 0 0 1 0 640z"},null,-1),er=e("path",{fill:"currentColor",d:"M512 640q32 0 32 32v256q0 32-32 32t-32-32V672q0-32 32-32z"},null,-1),tr=e("path",{fill:"currentColor",d:"M352 800h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32z"},null,-1),_r=[Ya,er,tr];function ar(t,a,_,r,l,i){return o(),n("svg",Xa,_r)}var rr=s(Ja,[["render",ar],["__file","female.vue"]]),lr={name:"Files"},or={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},nr=e("path",{fill:"currentColor",d:"M128 384v448h768V384H128zm-32-64h832a32 32 0 0 1 32 32v512a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V352a32 32 0 0 1 32-32zm64-128h704v64H160zm96-128h512v64H256z"},null,-1),sr=[nr];function ir(t,a,_,r,l,i){return o(),n("svg",or,sr)}var ur=s(lr,[["render",ir],["__file","files.vue"]]),vr={name:"Film"},dr={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},cr=e("path",{fill:"currentColor",d:"M160 160v704h704V160H160zm-32-64h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32z"},null,-1),hr=e("path",{fill:"currentColor",d:"M320 288V128h64v352h256V128h64v160h160v64H704v128h160v64H704v128h160v64H704v160h-64V544H384v352h-64V736H128v-64h192V544H128v-64h192V352H128v-64h192z"},null,-1),pr=[cr,hr];function fr(t,a,_,r,l,i){return o(),n("svg",dr,pr)}var wr=s(vr,[["render",fr],["__file","film.vue"]]),mr={name:"Filter"},gr={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},$r=e("path",{fill:"currentColor",d:"M384 523.392V928a32 32 0 0 0 46.336 28.608l192-96A32 32 0 0 0 640 832V523.392l280.768-343.104a32 32 0 1 0-49.536-40.576l-288 352A32 32 0 0 0 576 512v300.224l-128 64V512a32 32 0 0 0-7.232-20.288L195.52 192H704a32 32 0 1 0 0-64H128a32 32 0 0 0-24.768 52.288L384 523.392z"},null,-1),zr=[$r];function xr(t,a,_,r,l,i){return o(),n("svg",gr,zr)}var Hr=s(mr,[["render",xr],["__file","filter.vue"]]),Mr={name:"Finished"},Cr={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Vr=e("path",{fill:"currentColor",d:"M280.768 753.728 691.456 167.04a32 32 0 1 1 52.416 36.672L314.24 817.472a32 32 0 0 1-45.44 7.296l-230.4-172.8a32 32 0 0 1 38.4-51.2l203.968 152.96zM736 448a32 32 0 1 1 0-64h192a32 32 0 1 1 0 64H736zM608 640a32 32 0 0 1 0-64h319.936a32 32 0 1 1 0 64H608zM480 832a32 32 0 1 1 0-64h447.936a32 32 0 1 1 0 64H480z"},null,-1),yr=[Vr];function Br(t,a,_,r,l,i){return o(),n("svg",Cr,yr)}var Lr=s(Mr,[["render",Br],["__file","finished.vue"]]),Ar={name:"FirstAidKit"},br={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},kr=e("path",{fill:"currentColor",d:"M192 256a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64H192zm0-64h640a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H192A128 128 0 0 1 64 768V320a128 128 0 0 1 128-128z"},null,-1),Sr=e("path",{fill:"currentColor",d:"M544 512h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64h96v-96a32 32 0 0 1 64 0v96zM352 128v64h320v-64H352zm-32-64h384a32 32 0 0 1 32 32v128a32 32 0 0 1-32 32H320a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32z"},null,-1),qr=[kr,Sr];function Fr(t,a,_,r,l,i){return o(),n("svg",br,qr)}var Dr=s(Ar,[["render",Fr],["__file","first-aid-kit.vue"]]),Pr={name:"Flag"},Rr={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Tr=e("path",{fill:"currentColor",d:"M288 128h608L736 384l160 256H288v320h-96V64h96v64z"},null,-1),Or=[Tr];function Gr(t,a,_,r,l,i){return o(),n("svg",Rr,Or)}var Ur=s(Pr,[["render",Gr],["__file","flag.vue"]]),Wr={name:"Fold"},Ir={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Er=e("path",{fill:"currentColor",d:"M896 192H128v128h768V192zm0 256H384v128h512V448zm0 256H128v128h768V704zM320 384 128 512l192 128V384z"},null,-1),Nr=[Er];function Zr(t,a,_,r,l,i){return o(),n("svg",Ir,Nr)}var Kr=s(Wr,[["render",Zr],["__file","fold.vue"]]),Qr={name:"FolderAdd"},jr={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Jr=e("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192H128zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32zm384 416V416h64v128h128v64H544v128h-64V608H352v-64h128z"},null,-1),Xr=[Jr];function Yr(t,a,_,r,l,i){return o(),n("svg",jr,Xr)}var e5=s(Qr,[["render",Yr],["__file","folder-add.vue"]]),t5={name:"FolderChecked"},_5={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},a5=e("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192H128zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32zm414.08 502.144 180.992-180.992L736.32 494.4 510.08 720.64l-158.4-158.336 45.248-45.312L510.08 630.144z"},null,-1),r5=[a5];function l5(t,a,_,r,l,i){return o(),n("svg",_5,r5)}var o5=s(t5,[["render",l5],["__file","folder-checked.vue"]]),n5={name:"FolderDelete"},s5={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},i5=e("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192H128zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32zm370.752 448-90.496-90.496 45.248-45.248L512 530.752l90.496-90.496 45.248 45.248L557.248 576l90.496 90.496-45.248 45.248L512 621.248l-90.496 90.496-45.248-45.248L466.752 576z"},null,-1),u5=[i5];function v5(t,a,_,r,l,i){return o(),n("svg",s5,u5)}var d5=s(n5,[["render",v5],["__file","folder-delete.vue"]]),c5={name:"FolderOpened"},h5={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},p5=e("path",{fill:"currentColor",d:"M878.08 448H241.92l-96 384h636.16l96-384zM832 384v-64H485.76L357.504 192H128v448l57.92-231.744A32 32 0 0 1 216.96 384H832zm-24.96 512H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h287.872l128.384 128H864a32 32 0 0 1 32 32v96h23.04a32 32 0 0 1 31.04 39.744l-112 448A32 32 0 0 1 807.04 896z"},null,-1),f5=[p5];function w5(t,a,_,r,l,i){return o(),n("svg",h5,f5)}var m5=s(c5,[["render",w5],["__file","folder-opened.vue"]]),g5={name:"FolderRemove"},$5={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},z5=e("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192H128zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32zm256 416h320v64H352v-64z"},null,-1),x5=[z5];function H5(t,a,_,r,l,i){return o(),n("svg",$5,x5)}var M5=s(g5,[["render",H5],["__file","folder-remove.vue"]]),C5={name:"Folder"},V5={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},y5=e("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192H128zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32z"},null,-1),B5=[y5];function L5(t,a,_,r,l,i){return o(),n("svg",V5,B5)}var A5=s(C5,[["render",L5],["__file","folder.vue"]]),b5={name:"Food"},k5={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},S5=e("path",{fill:"currentColor",d:"M128 352.576V352a288 288 0 0 1 491.072-204.224 192 192 0 0 1 274.24 204.48 64 64 0 0 1 57.216 74.24C921.6 600.512 850.048 710.656 736 756.992V800a96 96 0 0 1-96 96H384a96 96 0 0 1-96-96v-43.008c-114.048-46.336-185.6-156.48-214.528-330.496A64 64 0 0 1 128 352.64zm64-.576h64a160 160 0 0 1 320 0h64a224 224 0 0 0-448 0zm128 0h192a96 96 0 0 0-192 0zm439.424 0h68.544A128.256 128.256 0 0 0 704 192c-15.36 0-29.952 2.688-43.52 7.616 11.328 18.176 20.672 37.76 27.84 58.304A64.128 64.128 0 0 1 759.424 352zM672 768H352v32a32 32 0 0 0 32 32h256a32 32 0 0 0 32-32v-32zm-342.528-64h365.056c101.504-32.64 165.76-124.928 192.896-288H136.576c27.136 163.072 91.392 255.36 192.896 288z"},null,-1),q5=[S5];function F5(t,a,_,r,l,i){return o(),n("svg",k5,q5)}var D5=s(b5,[["render",F5],["__file","food.vue"]]),P5={name:"Football"},R5={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},T5=e("path",{fill:"currentColor",d:"M512 960a448 448 0 1 1 0-896 448 448 0 0 1 0 896zm0-64a384 384 0 1 0 0-768 384 384 0 0 0 0 768z"},null,-1),O5=e("path",{fill:"currentColor",d:"M186.816 268.288c16-16.384 31.616-31.744 46.976-46.08 17.472 30.656 39.808 58.112 65.984 81.28l-32.512 56.448a385.984 385.984 0 0 1-80.448-91.648zm653.696-5.312a385.92 385.92 0 0 1-83.776 96.96l-32.512-56.384a322.923 322.923 0 0 0 68.48-85.76c15.552 14.08 31.488 29.12 47.808 45.184zM465.984 445.248l11.136-63.104a323.584 323.584 0 0 0 69.76 0l11.136 63.104a387.968 387.968 0 0 1-92.032 0zm-62.72-12.8A381.824 381.824 0 0 1 320 396.544l32-55.424a319.885 319.885 0 0 0 62.464 27.712l-11.2 63.488zm300.8-35.84a381.824 381.824 0 0 1-83.328 35.84l-11.2-63.552A319.885 319.885 0 0 0 672 341.184l32 55.424zm-520.768 364.8a385.92 385.92 0 0 1 83.968-97.28l32.512 56.32c-26.88 23.936-49.856 52.352-67.52 84.032-16-13.44-32.32-27.712-48.96-43.072zm657.536.128a1442.759 1442.759 0 0 1-49.024 43.072 321.408 321.408 0 0 0-67.584-84.16l32.512-56.32c33.216 27.456 61.696 60.352 84.096 97.408zM465.92 578.752a387.968 387.968 0 0 1 92.032 0l-11.136 63.104a323.584 323.584 0 0 0-69.76 0l-11.136-63.104zm-62.72 12.8 11.2 63.552a319.885 319.885 0 0 0-62.464 27.712L320 627.392a381.824 381.824 0 0 1 83.264-35.84zm300.8 35.84-32 55.424a318.272 318.272 0 0 0-62.528-27.712l11.2-63.488c29.44 8.64 57.28 20.736 83.264 35.776z"},null,-1),G5=[T5,O5];function U5(t,a,_,r,l,i){return o(),n("svg",R5,G5)}var W5=s(P5,[["render",U5],["__file","football.vue"]]),I5={name:"ForkSpoon"},E5={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},N5=e("path",{fill:"currentColor",d:"M256 410.304V96a32 32 0 0 1 64 0v314.304a96 96 0 0 0 64-90.56V96a32 32 0 0 1 64 0v223.744a160 160 0 0 1-128 156.8V928a32 32 0 1 1-64 0V476.544a160 160 0 0 1-128-156.8V96a32 32 0 0 1 64 0v223.744a96 96 0 0 0 64 90.56zM672 572.48C581.184 552.128 512 446.848 512 320c0-141.44 85.952-256 192-256s192 114.56 192 256c0 126.848-69.184 232.128-160 252.48V928a32 32 0 1 1-64 0V572.48zM704 512c66.048 0 128-82.56 128-192s-61.952-192-128-192-128 82.56-128 192 61.952 192 128 192z"},null,-1),Z5=[N5];function K5(t,a,_,r,l,i){return o(),n("svg",E5,Z5)}var Q5=s(I5,[["render",K5],["__file","fork-spoon.vue"]]),j5={name:"Fries"},J5={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},X5=e("path",{fill:"currentColor",d:"M608 224v-64a32 32 0 0 0-64 0v336h26.88A64 64 0 0 0 608 484.096V224zm101.12 160A64 64 0 0 0 672 395.904V384h64V224a32 32 0 1 0-64 0v160h37.12zm74.88 0a92.928 92.928 0 0 1 91.328 110.08l-60.672 323.584A96 96 0 0 1 720.32 896H303.68a96 96 0 0 1-94.336-78.336L148.672 494.08A92.928 92.928 0 0 1 240 384h-16V224a96 96 0 0 1 188.608-25.28A95.744 95.744 0 0 1 480 197.44V160a96 96 0 0 1 188.608-25.28A96 96 0 0 1 800 224v160h-16zM670.784 512a128 128 0 0 1-99.904 48H453.12a128 128 0 0 1-99.84-48H352v-1.536a128.128 128.128 0 0 1-9.984-14.976L314.88 448H240a28.928 28.928 0 0 0-28.48 34.304L241.088 640h541.824l29.568-157.696A28.928 28.928 0 0 0 784 448h-74.88l-27.136 47.488A132.405 132.405 0 0 1 672 510.464V512h-1.216zM480 288a32 32 0 0 0-64 0v196.096A64 64 0 0 0 453.12 496H480V288zm-128 96V224a32 32 0 0 0-64 0v160h64-37.12A64 64 0 0 1 352 395.904zm-98.88 320 19.072 101.888A32 32 0 0 0 303.68 832h416.64a32 32 0 0 0 31.488-26.112L770.88 704H253.12z"},null,-1),Y5=[X5];function el(t,a,_,r,l,i){return o(),n("svg",J5,Y5)}var tl=s(j5,[["render",el],["__file","fries.vue"]]),_l={name:"FullScreen"},al={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},rl=e("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64v.064zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64l-192 .192zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64l192-.192zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64v-.064z"},null,-1),ll=[rl];function ol(t,a,_,r,l,i){return o(),n("svg",al,ll)}var nl=s(_l,[["render",ol],["__file","full-screen.vue"]]),sl={name:"GobletFull"},il={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ul=e("path",{fill:"currentColor",d:"M256 320h512c0-78.592-12.608-142.4-36.928-192h-434.24C269.504 192.384 256 256.256 256 320zm503.936 64H264.064a256.128 256.128 0 0 0 495.872 0zM544 638.4V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.4A320 320 0 0 1 192 320c0-85.632 21.312-170.944 64-256h512c42.688 64.32 64 149.632 64 256a320 320 0 0 1-288 318.4z"},null,-1),vl=[ul];function dl(t,a,_,r,l,i){return o(),n("svg",il,vl)}var cl=s(sl,[["render",dl],["__file","goblet-full.vue"]]),hl={name:"GobletSquareFull"},pl={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},fl=e("path",{fill:"currentColor",d:"M256 270.912c10.048 6.72 22.464 14.912 28.992 18.624a220.16 220.16 0 0 0 114.752 30.72c30.592 0 49.408-9.472 91.072-41.152l.64-.448c52.928-40.32 82.368-55.04 132.288-54.656 55.552.448 99.584 20.8 142.72 57.408l1.536 1.28V128H256v142.912zm.96 76.288C266.368 482.176 346.88 575.872 512 576c157.44.064 237.952-85.056 253.248-209.984a952.32 952.32 0 0 1-40.192-35.712c-32.704-27.776-63.36-41.92-101.888-42.24-31.552-.256-50.624 9.28-93.12 41.6l-.576.448c-52.096 39.616-81.024 54.208-129.792 54.208-54.784 0-100.48-13.376-142.784-37.056zM480 638.848C250.624 623.424 192 442.496 192 319.68V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32v224c0 122.816-58.624 303.68-288 318.912V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.848z"},null,-1),wl=[fl];function ml(t,a,_,r,l,i){return o(),n("svg",pl,wl)}var gl=s(hl,[["render",ml],["__file","goblet-square-full.vue"]]),$l={name:"GobletSquare"},zl={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},xl=e("path",{fill:"currentColor",d:"M544 638.912V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.848C250.624 623.424 192 442.496 192 319.68V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32v224c0 122.816-58.624 303.68-288 318.912zM256 319.68c0 149.568 80 256.192 256 256.256C688.128 576 768 469.568 768 320V128H256v191.68z"},null,-1),Hl=[xl];function Ml(t,a,_,r,l,i){return o(),n("svg",zl,Hl)}var Cl=s($l,[["render",Ml],["__file","goblet-square.vue"]]),Vl={name:"Goblet"},yl={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Bl=e("path",{fill:"currentColor",d:"M544 638.4V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.4A320 320 0 0 1 192 320c0-85.632 21.312-170.944 64-256h512c42.688 64.32 64 149.632 64 256a320 320 0 0 1-288 318.4zM256 320a256 256 0 1 0 512 0c0-78.592-12.608-142.4-36.928-192h-434.24C269.504 192.384 256 256.256 256 320z"},null,-1),Ll=[Bl];function Al(t,a,_,r,l,i){return o(),n("svg",yl,Ll)}var bl=s(Vl,[["render",Al],["__file","goblet.vue"]]),kl={name:"GoldMedal"},Sl={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},ql=e("path",{d:"m772.13 452.84 53.86-351.81c1.32-10.01-1.17-18.68-7.49-26.02S804.35 64 795.01 64H228.99v-.01h-.06c-9.33 0-17.15 3.67-23.49 11.01s-8.83 16.01-7.49 26.02l53.87 351.89C213.54 505.73 193.59 568.09 192 640c2 90.67 33.17 166.17 93.5 226.5S421.33 957.99 512 960c90.67-2 166.17-33.17 226.5-93.5 60.33-60.34 91.49-135.83 93.5-226.5-1.59-71.94-21.56-134.32-59.87-187.16zM640.01 128h117.02l-39.01 254.02c-20.75-10.64-40.74-19.73-59.94-27.28-5.92-3-11.95-5.8-18.08-8.41V128h.01zM576 128v198.76c-13.18-2.58-26.74-4.43-40.67-5.55-8.07-.8-15.85-1.2-23.33-1.2-10.54 0-21.09.66-31.64 1.96a359.844 359.844 0 0 0-32.36 4.79V128h128zm-192 0h.04v218.3c-6.22 2.66-12.34 5.5-18.36 8.56-19.13 7.54-39.02 16.6-59.66 27.16L267.01 128H384zm308.99 692.99c-48 48-108.33 73-180.99 75.01-72.66-2.01-132.99-27.01-180.99-75.01S258.01 712.66 256 640c2.01-72.66 27.01-132.99 75.01-180.99 19.67-19.67 41.41-35.47 65.22-47.41 38.33-15.04 71.15-23.92 98.44-26.65 5.07-.41 10.2-.7 15.39-.88.63-.01 1.28-.03 1.91-.03.66 0 1.35.03 2.02.04 5.11.17 10.15.46 15.13.86 27.4 2.71 60.37 11.65 98.91 26.79 23.71 11.93 45.36 27.69 64.96 47.29 48 48 73 108.33 75.01 180.99-2.01 72.65-27.01 132.98-75.01 180.98z",fill:"currentColor"},null,-1),Fl=e("path",{d:"M544 480H416v64h64v192h-64v64h192v-64h-64z",fill:"currentColor"},null,-1),Dl=[ql,Fl];function Pl(t,a,_,r,l,i){return o(),n("svg",Sl,Dl)}var Rl=s(kl,[["render",Pl],["__file","gold-medal.vue"]]),Tl={name:"GoodsFilled"},Ol={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Gl=e("path",{fill:"currentColor",d:"M192 352h640l64 544H128l64-544zm128 224h64V448h-64v128zm320 0h64V448h-64v128zM384 288h-64a192 192 0 1 1 384 0h-64a128 128 0 1 0-256 0z"},null,-1),Ul=[Gl];function Wl(t,a,_,r,l,i){return o(),n("svg",Ol,Ul)}var Il=s(Tl,[["render",Wl],["__file","goods-filled.vue"]]),El={name:"Goods"},Nl={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Zl=e("path",{fill:"currentColor",d:"M320 288v-22.336C320 154.688 405.504 64 512 64s192 90.688 192 201.664v22.4h131.072a32 32 0 0 1 31.808 28.8l57.6 576a32 32 0 0 1-31.808 35.2H131.328a32 32 0 0 1-31.808-35.2l57.6-576a32 32 0 0 1 31.808-28.8H320zm64 0h256v-22.336C640 189.248 582.272 128 512 128c-70.272 0-128 61.248-128 137.664v22.4zm-64 64H217.92l-51.2 512h690.56l-51.264-512H704v96a32 32 0 1 1-64 0v-96H384v96a32 32 0 0 1-64 0v-96z"},null,-1),Kl=[Zl];function Ql(t,a,_,r,l,i){return o(),n("svg",Nl,Kl)}var jl=s(El,[["render",Ql],["__file","goods.vue"]]),Jl={name:"Grape"},Xl={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Yl=e("path",{fill:"currentColor",d:"M544 195.2a160 160 0 0 1 96 60.8 160 160 0 1 1 146.24 254.976 160 160 0 0 1-128 224 160 160 0 1 1-292.48 0 160 160 0 0 1-128-224A160 160 0 1 1 384 256a160 160 0 0 1 96-60.8V128h-64a32 32 0 0 1 0-64h192a32 32 0 0 1 0 64h-64v67.2zM512 448a96 96 0 1 0 0-192 96 96 0 0 0 0 192zm-256 0a96 96 0 1 0 0-192 96 96 0 0 0 0 192zm128 224a96 96 0 1 0 0-192 96 96 0 0 0 0 192zm128 224a96 96 0 1 0 0-192 96 96 0 0 0 0 192zm128-224a96 96 0 1 0 0-192 96 96 0 0 0 0 192zm128-224a96 96 0 1 0 0-192 96 96 0 0 0 0 192z"},null,-1),eo=[Yl];function to(t,a,_,r,l,i){return o(),n("svg",Xl,eo)}var _o=s(Jl,[["render",to],["__file","grape.vue"]]),ao={name:"Grid"},ro={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},lo=e("path",{fill:"currentColor",d:"M640 384v256H384V384h256zm64 0h192v256H704V384zm-64 512H384V704h256v192zm64 0V704h192v192H704zm-64-768v192H384V128h256zm64 0h192v192H704V128zM320 384v256H128V384h192zm0 512H128V704h192v192zm0-768v192H128V128h192z"},null,-1),oo=[lo];function no(t,a,_,r,l,i){return o(),n("svg",ro,oo)}var so=s(ao,[["render",no],["__file","grid.vue"]]),io={name:"Guide"},uo={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},vo=e("path",{fill:"currentColor",d:"M640 608h-64V416h64v192zm0 160v160a32 32 0 0 1-32 32H416a32 32 0 0 1-32-32V768h64v128h128V768h64zM384 608V416h64v192h-64zm256-352h-64V128H448v128h-64V96a32 32 0 0 1 32-32h192a32 32 0 0 1 32 32v160z"},null,-1),co=e("path",{fill:"currentColor",d:"m220.8 256-71.232 80 71.168 80H768V256H220.8zm-14.4-64H800a32 32 0 0 1 32 32v224a32 32 0 0 1-32 32H206.4a32 32 0 0 1-23.936-10.752l-99.584-112a32 32 0 0 1 0-42.496l99.584-112A32 32 0 0 1 206.4 192zm678.784 496-71.104 80H266.816V608h547.2l71.168 80zm-56.768-144H234.88a32 32 0 0 0-32 32v224a32 32 0 0 0 32 32h593.6a32 32 0 0 0 23.936-10.752l99.584-112a32 32 0 0 0 0-42.496l-99.584-112A32 32 0 0 0 828.48 544z"},null,-1),ho=[vo,co];function po(t,a,_,r,l,i){return o(),n("svg",uo,ho)}var fo=s(io,[["render",po],["__file","guide.vue"]]),wo={name:"Handbag"},mo={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},go=e("path",{d:"M887.01 264.99c-6-5.99-13.67-8.99-23.01-8.99H704c-1.34-54.68-20.01-100.01-56-136s-81.32-54.66-136-56c-54.68 1.34-100.01 20.01-136 56s-54.66 81.32-56 136H160c-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.67-8.99 23.01v640c0 9.35 2.99 17.02 8.99 23.01S150.66 960 160 960h704c9.35 0 17.02-2.99 23.01-8.99S896 937.34 896 928V288c0-9.35-2.99-17.02-8.99-23.01zM421.5 165.5c24.32-24.34 54.49-36.84 90.5-37.5 35.99.68 66.16 13.18 90.5 37.5s36.84 54.49 37.5 90.5H384c.68-35.99 13.18-66.16 37.5-90.5zM832 896H192V320h128v128h64V320h256v128h64V320h128v576z",fill:"currentColor"},null,-1),$o=[go];function zo(t,a,_,r,l,i){return o(),n("svg",mo,$o)}var xo=s(wo,[["render",zo],["__file","handbag.vue"]]),Ho={name:"Headset"},Mo={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Co=e("path",{fill:"currentColor",d:"M896 529.152V512a384 384 0 1 0-768 0v17.152A128 128 0 0 1 320 640v128a128 128 0 1 1-256 0V512a448 448 0 1 1 896 0v256a128 128 0 1 1-256 0V640a128 128 0 0 1 192-110.848zM896 640a64 64 0 0 0-128 0v128a64 64 0 0 0 128 0V640zm-768 0v128a64 64 0 0 0 128 0V640a64 64 0 1 0-128 0z"},null,-1),Vo=[Co];function yo(t,a,_,r,l,i){return o(),n("svg",Mo,Vo)}var Bo=s(Ho,[["render",yo],["__file","headset.vue"]]),Lo={name:"HelpFilled"},Ao={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},bo=e("path",{fill:"currentColor",d:"M926.784 480H701.312A192.512 192.512 0 0 0 544 322.688V97.216A416.064 416.064 0 0 1 926.784 480zm0 64A416.064 416.064 0 0 1 544 926.784V701.312A192.512 192.512 0 0 0 701.312 544h225.472zM97.28 544h225.472A192.512 192.512 0 0 0 480 701.312v225.472A416.064 416.064 0 0 1 97.216 544zm0-64A416.064 416.064 0 0 1 480 97.216v225.472A192.512 192.512 0 0 0 322.688 480H97.216z"},null,-1),ko=[bo];function So(t,a,_,r,l,i){return o(),n("svg",Ao,ko)}var qo=s(Lo,[["render",So],["__file","help-filled.vue"]]),Fo={name:"Help"},Do={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Po=e("path",{fill:"currentColor",d:"m759.936 805.248-90.944-91.008A254.912 254.912 0 0 1 512 768a254.912 254.912 0 0 1-156.992-53.76l-90.944 91.008A382.464 382.464 0 0 0 512 896c94.528 0 181.12-34.176 247.936-90.752zm45.312-45.312A382.464 382.464 0 0 0 896 512c0-94.528-34.176-181.12-90.752-247.936l-91.008 90.944C747.904 398.4 768 452.864 768 512c0 59.136-20.096 113.6-53.76 156.992l91.008 90.944zm-45.312-541.184A382.464 382.464 0 0 0 512 128c-94.528 0-181.12 34.176-247.936 90.752l90.944 91.008A254.912 254.912 0 0 1 512 256c59.136 0 113.6 20.096 156.992 53.76l90.944-91.008zm-541.184 45.312A382.464 382.464 0 0 0 128 512c0 94.528 34.176 181.12 90.752 247.936l91.008-90.944A254.912 254.912 0 0 1 256 512c0-59.136 20.096-113.6 53.76-156.992l-91.008-90.944zm417.28 394.496a194.56 194.56 0 0 0 22.528-22.528C686.912 602.56 704 559.232 704 512a191.232 191.232 0 0 0-67.968-146.56A191.296 191.296 0 0 0 512 320a191.232 191.232 0 0 0-146.56 67.968C337.088 421.44 320 464.768 320 512a191.232 191.232 0 0 0 67.968 146.56C421.44 686.912 464.768 704 512 704c47.296 0 90.56-17.088 124.032-45.44zM512 960a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),Ro=[Po];function To(t,a,_,r,l,i){return o(),n("svg",Do,Ro)}var Oo=s(Fo,[["render",To],["__file","help.vue"]]),Go={name:"Hide"},Uo={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Wo=e("path",{d:"M876.8 156.8c0-9.6-3.2-16-9.6-22.4-6.4-6.4-12.8-9.6-22.4-9.6-9.6 0-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176C44.8 438.4 0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4 0 9.6 3.2 16 9.6 22.4 6.4 6.4 12.8 9.6 22.4 9.6 9.6 0 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4Zm-646.4 528c-76.8-70.4-128-128-153.6-172.8 28.8-48 80-105.6 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4Zm140.8-96c-12.8-22.4-19.2-48-19.2-76.8 0-44.8 16-83.2 48-112 32-28.8 67.2-48 112-48 28.8 0 54.4 6.4 73.6 19.2L371.2 588.8ZM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6-28.8 48-80 105.6-153.6 172.8-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176C979.199 585.6 1024 528 1024 512s-48.001-73.6-134.401-176Z",fill:"currentColor"},null,-1),Io=e("path",{d:"M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112-32 28.8-67.2 48-112 48Z",fill:"currentColor"},null,-1),Eo=[Wo,Io];function No(t,a,_,r,l,i){return o(),n("svg",Uo,Eo)}var Zo=s(Go,[["render",No],["__file","hide.vue"]]),Ko={name:"Histogram"},Qo={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},jo=e("path",{fill:"currentColor",d:"M416 896V128h192v768H416zm-288 0V448h192v448H128zm576 0V320h192v576H704z"},null,-1),Jo=[jo];function Xo(t,a,_,r,l,i){return o(),n("svg",Qo,Jo)}var Yo=s(Ko,[["render",Xo],["__file","histogram.vue"]]),e9={name:"HomeFilled"},t9={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},_9=e("path",{fill:"currentColor",d:"M512 128 128 447.936V896h255.936V640H640v256h255.936V447.936z"},null,-1),a9=[_9];function r9(t,a,_,r,l,i){return o(),n("svg",t9,a9)}var l9=s(e9,[["render",r9],["__file","home-filled.vue"]]),o9={name:"HotWater"},n9={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},s9=e("path",{fill:"currentColor",d:"M273.067 477.867h477.866V409.6H273.067v68.267zm0 68.266v51.2A187.733 187.733 0 0 0 460.8 785.067h102.4a187.733 187.733 0 0 0 187.733-187.734v-51.2H273.067zm-34.134-204.8h546.134a34.133 34.133 0 0 1 34.133 34.134v221.866a256 256 0 0 1-256 256H460.8a256 256 0 0 1-256-256V375.467a34.133 34.133 0 0 1 34.133-34.134zM512 34.133a34.133 34.133 0 0 1 34.133 34.134v170.666a34.133 34.133 0 0 1-68.266 0V68.267A34.133 34.133 0 0 1 512 34.133zM375.467 102.4a34.133 34.133 0 0 1 34.133 34.133v102.4a34.133 34.133 0 0 1-68.267 0v-102.4a34.133 34.133 0 0 1 34.134-34.133zm273.066 0a34.133 34.133 0 0 1 34.134 34.133v102.4a34.133 34.133 0 1 1-68.267 0v-102.4a34.133 34.133 0 0 1 34.133-34.133zM170.667 921.668h682.666a34.133 34.133 0 1 1 0 68.267H170.667a34.133 34.133 0 1 1 0-68.267z"},null,-1),i9=[s9];function u9(t,a,_,r,l,i){return o(),n("svg",n9,i9)}var v9=s(o9,[["render",u9],["__file","hot-water.vue"]]),d9={name:"House"},c9={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},h9=e("path",{fill:"currentColor",d:"M192 413.952V896h640V413.952L512 147.328 192 413.952zM139.52 374.4l352-293.312a32 32 0 0 1 40.96 0l352 293.312A32 32 0 0 1 896 398.976V928a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V398.976a32 32 0 0 1 11.52-24.576z"},null,-1),p9=[h9];function f9(t,a,_,r,l,i){return o(),n("svg",c9,p9)}var w9=s(d9,[["render",f9],["__file","house.vue"]]),m9={name:"IceCreamRound"},g9={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},$9=e("path",{fill:"currentColor",d:"m308.352 489.344 226.304 226.304a32 32 0 0 0 45.248 0L783.552 512A192 192 0 1 0 512 240.448L308.352 444.16a32 32 0 0 0 0 45.248zm135.744 226.304L308.352 851.392a96 96 0 0 1-135.744-135.744l135.744-135.744-45.248-45.248a96 96 0 0 1 0-135.808L466.752 195.2A256 256 0 0 1 828.8 557.248L625.152 760.96a96 96 0 0 1-135.808 0l-45.248-45.248zM398.848 670.4 353.6 625.152 217.856 760.896a32 32 0 0 0 45.248 45.248L398.848 670.4zm248.96-384.64a32 32 0 0 1 0 45.248L466.624 512a32 32 0 1 1-45.184-45.248l180.992-181.056a32 32 0 0 1 45.248 0zm90.496 90.496a32 32 0 0 1 0 45.248L557.248 602.496A32 32 0 1 1 512 557.248l180.992-180.992a32 32 0 0 1 45.312 0z"},null,-1),z9=[$9];function x9(t,a,_,r,l,i){return o(),n("svg",g9,z9)}var H9=s(m9,[["render",x9],["__file","ice-cream-round.vue"]]),M9={name:"IceCreamSquare"},C9={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},V9=e("path",{fill:"currentColor",d:"M416 640h256a32 32 0 0 0 32-32V160a32 32 0 0 0-32-32H352a32 32 0 0 0-32 32v448a32 32 0 0 0 32 32h64zm192 64v160a96 96 0 0 1-192 0V704h-64a96 96 0 0 1-96-96V160a96 96 0 0 1 96-96h320a96 96 0 0 1 96 96v448a96 96 0 0 1-96 96h-64zm-64 0h-64v160a32 32 0 1 0 64 0V704z"},null,-1),y9=[V9];function B9(t,a,_,r,l,i){return o(),n("svg",C9,y9)}var L9=s(M9,[["render",B9],["__file","ice-cream-square.vue"]]),A9={name:"IceCream"},b9={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},k9=e("path",{fill:"currentColor",d:"M128.64 448a208 208 0 0 1 193.536-191.552 224 224 0 0 1 445.248 15.488A208.128 208.128 0 0 1 894.784 448H896L548.8 983.68a32 32 0 0 1-53.248.704L128 448h.64zm64.256 0h286.208a144 144 0 0 0-286.208 0zm351.36 0h286.272a144 144 0 0 0-286.272 0zm-294.848 64 271.808 396.608L778.24 512H249.408zM511.68 352.64a207.872 207.872 0 0 1 189.184-96.192 160 160 0 0 0-314.752 5.632c52.608 12.992 97.28 46.08 125.568 90.56z"},null,-1),S9=[k9];function q9(t,a,_,r,l,i){return o(),n("svg",b9,S9)}var F9=s(A9,[["render",q9],["__file","ice-cream.vue"]]),D9={name:"IceDrink"},P9={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},R9=e("path",{fill:"currentColor",d:"M512 448v128h239.68l16.064-128H512zm-64 0H256.256l16.064 128H448V448zm64-255.36V384h247.744A256.128 256.128 0 0 0 512 192.64zm-64 8.064A256.448 256.448 0 0 0 264.256 384H448V200.704zm64-72.064A320.128 320.128 0 0 1 825.472 384H896a32 32 0 1 1 0 64h-64v1.92l-56.96 454.016A64 64 0 0 1 711.552 960H312.448a64 64 0 0 1-63.488-56.064L192 449.92V448h-64a32 32 0 0 1 0-64h70.528A320.384 320.384 0 0 1 448 135.04V96a96 96 0 0 1 96-96h128a32 32 0 1 1 0 64H544a32 32 0 0 0-32 32v32.64zM743.68 640H280.32l32.128 256h399.104l32.128-256z"},null,-1),T9=[R9];function O9(t,a,_,r,l,i){return o(),n("svg",P9,T9)}var G9=s(D9,[["render",O9],["__file","ice-drink.vue"]]),U9={name:"IceTea"},W9={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},I9=e("path",{fill:"currentColor",d:"M197.696 259.648a320.128 320.128 0 0 1 628.608 0A96 96 0 0 1 896 352v64a96 96 0 0 1-71.616 92.864l-49.408 395.072A64 64 0 0 1 711.488 960H312.512a64 64 0 0 1-63.488-56.064l-49.408-395.072A96 96 0 0 1 128 416v-64a96 96 0 0 1 69.696-92.352zM264.064 256h495.872a256.128 256.128 0 0 0-495.872 0zm495.424 256H264.512l48 384h398.976l48-384zM224 448h576a32 32 0 0 0 32-32v-64a32 32 0 0 0-32-32H224a32 32 0 0 0-32 32v64a32 32 0 0 0 32 32zm160 192h64v64h-64v-64zm192 64h64v64h-64v-64zm-128 64h64v64h-64v-64zm64-192h64v64h-64v-64z"},null,-1),E9=[I9];function N9(t,a,_,r,l,i){return o(),n("svg",W9,E9)}var Z9=s(U9,[["render",N9],["__file","ice-tea.vue"]]),K9={name:"InfoFilled"},Q9={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},j9=e("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64zm67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344zM590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.992 12.992 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"},null,-1),J9=[j9];function X9(t,a,_,r,l,i){return o(),n("svg",Q9,J9)}var Y9=s(K9,[["render",X9],["__file","info-filled.vue"]]),en={name:"Iphone"},tn={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},_n=e("path",{fill:"currentColor",d:"M224 768v96.064a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V768H224zm0-64h576V160a64 64 0 0 0-64-64H288a64 64 0 0 0-64 64v544zm32 288a96 96 0 0 1-96-96V128a96 96 0 0 1 96-96h512a96 96 0 0 1 96 96v768a96 96 0 0 1-96 96H256zm304-144a48 48 0 1 1-96 0 48 48 0 0 1 96 0z"},null,-1),an=[_n];function rn(t,a,_,r,l,i){return o(),n("svg",tn,an)}var ln=s(en,[["render",rn],["__file","iphone.vue"]]),on={name:"Key"},nn={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},sn=e("path",{fill:"currentColor",d:"M448 456.064V96a32 32 0 0 1 32-32.064L672 64a32 32 0 0 1 0 64H512v128h160a32 32 0 0 1 0 64H512v128a256 256 0 1 1-64 8.064zM512 896a192 192 0 1 0 0-384 192 192 0 0 0 0 384z"},null,-1),un=[sn];function vn(t,a,_,r,l,i){return o(),n("svg",nn,un)}var dn=s(on,[["render",vn],["__file","key.vue"]]),cn={name:"KnifeFork"},hn={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},pn=e("path",{fill:"currentColor",d:"M256 410.56V96a32 32 0 0 1 64 0v314.56A96 96 0 0 0 384 320V96a32 32 0 0 1 64 0v224a160 160 0 0 1-128 156.8V928a32 32 0 1 1-64 0V476.8A160 160 0 0 1 128 320V96a32 32 0 0 1 64 0v224a96 96 0 0 0 64 90.56zm384-250.24V544h126.72c-3.328-78.72-12.928-147.968-28.608-207.744-14.336-54.528-46.848-113.344-98.112-175.872zM640 608v320a32 32 0 1 1-64 0V64h64c85.312 89.472 138.688 174.848 160 256 21.312 81.152 32 177.152 32 288H640z"},null,-1),fn=[pn];function wn(t,a,_,r,l,i){return o(),n("svg",hn,fn)}var mn=s(cn,[["render",wn],["__file","knife-fork.vue"]]),gn={name:"Lightning"},$n={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},zn=e("path",{fill:"currentColor",d:"M288 671.36v64.128A239.808 239.808 0 0 1 63.744 496.192a240.32 240.32 0 0 1 199.488-236.8 256.128 256.128 0 0 1 487.872-30.976A256.064 256.064 0 0 1 736 734.016v-64.768a192 192 0 0 0 3.328-377.92l-35.2-6.592-12.8-33.408a192.064 192.064 0 0 0-365.952 23.232l-9.92 40.896-41.472 7.04a176.32 176.32 0 0 0-146.24 173.568c0 91.968 70.464 167.36 160.256 175.232z"},null,-1),xn=e("path",{fill:"currentColor",d:"M416 736a32 32 0 0 1-27.776-47.872l128-224a32 32 0 1 1 55.552 31.744L471.168 672H608a32 32 0 0 1 27.776 47.872l-128 224a32 32 0 1 1-55.68-31.744L552.96 736H416z"},null,-1),Hn=[zn,xn];function Mn(t,a,_,r,l,i){return o(),n("svg",$n,Hn)}var Cn=s(gn,[["render",Mn],["__file","lightning.vue"]]),Vn={name:"Link"},yn={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Bn=e("path",{fill:"currentColor",d:"M715.648 625.152 670.4 579.904l90.496-90.56c75.008-74.944 85.12-186.368 22.656-248.896-62.528-62.464-173.952-52.352-248.96 22.656L444.16 353.6l-45.248-45.248 90.496-90.496c100.032-99.968 251.968-110.08 339.456-22.656 87.488 87.488 77.312 239.424-22.656 339.456l-90.496 90.496zm-90.496 90.496-90.496 90.496C434.624 906.112 282.688 916.224 195.2 828.8c-87.488-87.488-77.312-239.424 22.656-339.456l90.496-90.496 45.248 45.248-90.496 90.56c-75.008 74.944-85.12 186.368-22.656 248.896 62.528 62.464 173.952 52.352 248.96-22.656l90.496-90.496 45.248 45.248zm0-362.048 45.248 45.248L398.848 670.4 353.6 625.152 625.152 353.6z"},null,-1),Ln=[Bn];function An(t,a,_,r,l,i){return o(),n("svg",yn,Ln)}var bn=s(Vn,[["render",An],["__file","link.vue"]]),kn={name:"List"},Sn={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},qn=e("path",{fill:"currentColor",d:"M704 192h160v736H160V192h160v64h384v-64zM288 512h448v-64H288v64zm0 256h448v-64H288v64zm96-576V96h256v96H384z"},null,-1),Fn=[qn];function Dn(t,a,_,r,l,i){return o(),n("svg",Sn,Fn)}var Pn=s(kn,[["render",Dn],["__file","list.vue"]]),Rn={name:"Loading"},Tn={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},On=e("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32zm0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32zm448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32zm-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32zM195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248zM828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0zm-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0z"},null,-1),Gn=[On];function Un(t,a,_,r,l,i){return o(),n("svg",Tn,Gn)}var Wn=s(Rn,[["render",Un],["__file","loading.vue"]]),In={name:"LocationFilled"},En={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Nn=e("path",{fill:"currentColor",d:"M512 928c23.936 0 117.504-68.352 192.064-153.152C803.456 661.888 864 535.808 864 416c0-189.632-155.84-320-352-320S160 226.368 160 416c0 120.32 60.544 246.4 159.936 359.232C394.432 859.84 488 928 512 928zm0-435.2a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 140.8a204.8 204.8 0 1 1 0-409.6 204.8 204.8 0 0 1 0 409.6z"},null,-1),Zn=[Nn];function Kn(t,a,_,r,l,i){return o(),n("svg",En,Zn)}var Qn=s(In,[["render",Kn],["__file","location-filled.vue"]]),jn={name:"LocationInformation"},Jn={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Xn=e("path",{fill:"currentColor",d:"M288 896h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32z"},null,-1),Yn=e("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416zM512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544z"},null,-1),es=e("path",{fill:"currentColor",d:"M512 512a96 96 0 1 0 0-192 96 96 0 0 0 0 192zm0 64a160 160 0 1 1 0-320 160 160 0 0 1 0 320z"},null,-1),ts=[Xn,Yn,es];function _s(t,a,_,r,l,i){return o(),n("svg",Jn,ts)}var as=s(jn,[["render",_s],["__file","location-information.vue"]]),rs={name:"Location"},ls={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},os=e("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416zM512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544z"},null,-1),ns=e("path",{fill:"currentColor",d:"M512 512a96 96 0 1 0 0-192 96 96 0 0 0 0 192zm0 64a160 160 0 1 1 0-320 160 160 0 0 1 0 320z"},null,-1),ss=[os,ns];function is(t,a,_,r,l,i){return o(),n("svg",ls,ss)}var us=s(rs,[["render",is],["__file","location.vue"]]),vs={name:"Lock"},ds={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},cs=e("path",{fill:"currentColor",d:"M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32H224zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96z"},null,-1),hs=e("path",{fill:"currentColor",d:"M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32zm192-160v-64a192 192 0 1 0-384 0v64h384zM512 64a256 256 0 0 1 256 256v128H256V320A256 256 0 0 1 512 64z"},null,-1),ps=[cs,hs];function fs(t,a,_,r,l,i){return o(),n("svg",ds,ps)}var ws=s(vs,[["render",fs],["__file","lock.vue"]]),ms={name:"Lollipop"},gs={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},$s=e("path",{fill:"currentColor",d:"M513.28 448a64 64 0 1 1 76.544 49.728A96 96 0 0 0 768 448h64a160 160 0 0 1-320 0h1.28zm-126.976-29.696a256 256 0 1 0 43.52-180.48A256 256 0 0 1 832 448h-64a192 192 0 0 0-381.696-29.696zm105.664 249.472L285.696 874.048a96 96 0 0 1-135.68-135.744l206.208-206.272a320 320 0 1 1 135.744 135.744zm-54.464-36.032a321.92 321.92 0 0 1-45.248-45.248L195.2 783.552a32 32 0 1 0 45.248 45.248l197.056-197.12z"},null,-1),zs=[$s];function xs(t,a,_,r,l,i){return o(),n("svg",gs,zs)}var Hs=s(ms,[["render",xs],["__file","lollipop.vue"]]),Ms={name:"MagicStick"},Cs={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Vs=e("path",{fill:"currentColor",d:"M512 64h64v192h-64V64zm0 576h64v192h-64V640zM160 480v-64h192v64H160zm576 0v-64h192v64H736zM249.856 199.04l45.248-45.184L430.848 289.6 385.6 334.848 249.856 199.104zM657.152 606.4l45.248-45.248 135.744 135.744-45.248 45.248L657.152 606.4zM114.048 923.2 68.8 877.952l316.8-316.8 45.248 45.248-316.8 316.8zM702.4 334.848 657.152 289.6l135.744-135.744 45.248 45.248L702.4 334.848z"},null,-1),ys=[Vs];function Bs(t,a,_,r,l,i){return o(),n("svg",Cs,ys)}var Ls=s(Ms,[["render",Bs],["__file","magic-stick.vue"]]),As={name:"Magnet"},bs={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ks=e("path",{fill:"currentColor",d:"M832 320V192H704v320a192 192 0 1 1-384 0V192H192v128h128v64H192v128a320 320 0 0 0 640 0V384H704v-64h128zM640 512V128h256v384a384 384 0 1 1-768 0V128h256v384a128 128 0 1 0 256 0z"},null,-1),Ss=[ks];function qs(t,a,_,r,l,i){return o(),n("svg",bs,Ss)}var Fs=s(As,[["render",qs],["__file","magnet.vue"]]),Ds={name:"Male"},Ps={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Rs=e("path",{fill:"currentColor",d:"M399.5 849.5a225 225 0 1 0 0-450 225 225 0 0 0 0 450zm0 56.25a281.25 281.25 0 1 1 0-562.5 281.25 281.25 0 0 1 0 562.5zm253.125-787.5h225q28.125 0 28.125 28.125T877.625 174.5h-225q-28.125 0-28.125-28.125t28.125-28.125z"},null,-1),Ts=e("path",{fill:"currentColor",d:"M877.625 118.25q28.125 0 28.125 28.125v225q0 28.125-28.125 28.125T849.5 371.375v-225q0-28.125 28.125-28.125z"},null,-1),Os=e("path",{fill:"currentColor",d:"M604.813 458.9 565.1 419.131l292.613-292.668 39.825 39.824z"},null,-1),Gs=[Rs,Ts,Os];function Us(t,a,_,r,l,i){return o(),n("svg",Ps,Gs)}var Ws=s(Ds,[["render",Us],["__file","male.vue"]]),Is={name:"Management"},Es={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ns=e("path",{fill:"currentColor",d:"M576 128v288l96-96 96 96V128h128v768H320V128h256zm-448 0h128v768H128V128z"},null,-1),Zs=[Ns];function Ks(t,a,_,r,l,i){return o(),n("svg",Es,Zs)}var Qs=s(Is,[["render",Ks],["__file","management.vue"]]),js={name:"MapLocation"},Js={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Xs=e("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416zM512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544z"},null,-1),Ys=e("path",{fill:"currentColor",d:"M512 448a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256zm345.6 192L960 960H672v-64H352v64H64l102.4-256h691.2zm-68.928 0H235.328l-76.8 192h706.944l-76.8-192z"},null,-1),ei=[Xs,Ys];function ti(t,a,_,r,l,i){return o(),n("svg",Js,ei)}var _i=s(js,[["render",ti],["__file","map-location.vue"]]),ai={name:"Medal"},ri={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},li=e("path",{fill:"currentColor",d:"M512 896a256 256 0 1 0 0-512 256 256 0 0 0 0 512zm0 64a320 320 0 1 1 0-640 320 320 0 0 1 0 640z"},null,-1),oi=e("path",{fill:"currentColor",d:"M576 128H448v200a286.72 286.72 0 0 1 64-8c19.52 0 40.832 2.688 64 8V128zm64 0v219.648c24.448 9.088 50.56 20.416 78.4 33.92L757.44 128H640zm-256 0H266.624l39.04 253.568c27.84-13.504 53.888-24.832 78.336-33.92V128zM229.312 64h565.376a32 32 0 0 1 31.616 36.864L768 480c-113.792-64-199.104-96-256-96-56.896 0-142.208 32-256 96l-58.304-379.136A32 32 0 0 1 229.312 64z"},null,-1),ni=[li,oi];function si(t,a,_,r,l,i){return o(),n("svg",ri,ni)}var ii=s(ai,[["render",si],["__file","medal.vue"]]),ui={name:"Memo"},vi={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},di=e("path",{d:"M480 320h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32z",fill:"currentColor"},null,-1),ci=e("path",{d:"M887.01 72.99C881.01 67 873.34 64 864 64H160c-9.35 0-17.02 3-23.01 8.99C131 78.99 128 86.66 128 96v832c0 9.35 2.99 17.02 8.99 23.01S150.66 960 160 960h704c9.35 0 17.02-2.99 23.01-8.99S896 937.34 896 928V96c0-9.35-3-17.02-8.99-23.01zM192 896V128h96v768h-96zm640 0H352V128h480v768z",fill:"currentColor"},null,-1),hi=e("path",{d:"M480 512h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32zm0 192h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32z",fill:"currentColor"},null,-1),pi=[di,ci,hi];function fi(t,a,_,r,l,i){return o(),n("svg",vi,pi)}var wi=s(ui,[["render",fi],["__file","memo.vue"]]),mi={name:"Menu"},gi={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},$i=e("path",{fill:"currentColor",d:"M160 448a32 32 0 0 1-32-32V160.064a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V416a32 32 0 0 1-32 32H160zm448 0a32 32 0 0 1-32-32V160.064a32 32 0 0 1 32-32h255.936a32 32 0 0 1 32 32V416a32 32 0 0 1-32 32H608zM160 896a32 32 0 0 1-32-32V608a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32H160zm448 0a32 32 0 0 1-32-32V608a32 32 0 0 1 32-32h255.936a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32H608z"},null,-1),zi=[$i];function xi(t,a,_,r,l,i){return o(),n("svg",gi,zi)}var Hi=s(mi,[["render",xi],["__file","menu.vue"]]),Mi={name:"MessageBox"},Ci={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Vi=e("path",{fill:"currentColor",d:"M288 384h448v64H288v-64zm96-128h256v64H384v-64zM131.456 512H384v128h256V512h252.544L721.856 192H302.144L131.456 512zM896 576H704v128H320V576H128v256h768V576zM275.776 128h472.448a32 32 0 0 1 28.608 17.664l179.84 359.552A32 32 0 0 1 960 519.552V864a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V519.552a32 32 0 0 1 3.392-14.336l179.776-359.552A32 32 0 0 1 275.776 128z"},null,-1),yi=[Vi];function Bi(t,a,_,r,l,i){return o(),n("svg",Ci,yi)}var Li=s(Mi,[["render",Bi],["__file","message-box.vue"]]),Ai={name:"Message"},bi={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ki=e("path",{fill:"currentColor",d:"M128 224v512a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V224H128zm0-64h768a64 64 0 0 1 64 64v512a128 128 0 0 1-128 128H192A128 128 0 0 1 64 736V224a64 64 0 0 1 64-64z"},null,-1),Si=e("path",{fill:"currentColor",d:"M904 224 656.512 506.88a192 192 0 0 1-289.024 0L120 224h784zm-698.944 0 210.56 240.704a128 128 0 0 0 192.704 0L818.944 224H205.056z"},null,-1),qi=[ki,Si];function Fi(t,a,_,r,l,i){return o(),n("svg",bi,qi)}var Di=s(Ai,[["render",Fi],["__file","message.vue"]]),Pi={name:"Mic"},Ri={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ti=e("path",{fill:"currentColor",d:"M480 704h160a64 64 0 0 0 64-64v-32h-96a32 32 0 0 1 0-64h96v-96h-96a32 32 0 0 1 0-64h96v-96h-96a32 32 0 0 1 0-64h96v-32a64 64 0 0 0-64-64H384a64 64 0 0 0-64 64v32h96a32 32 0 0 1 0 64h-96v96h96a32 32 0 0 1 0 64h-96v96h96a32 32 0 0 1 0 64h-96v32a64 64 0 0 0 64 64h96zm64 64v128h192a32 32 0 1 1 0 64H288a32 32 0 1 1 0-64h192V768h-96a128 128 0 0 1-128-128V192A128 128 0 0 1 384 64h256a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128h-96z"},null,-1),Oi=[Ti];function Gi(t,a,_,r,l,i){return o(),n("svg",Ri,Oi)}var Ui=s(Pi,[["render",Gi],["__file","mic.vue"]]),Wi={name:"Microphone"},Ii={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ei=e("path",{fill:"currentColor",d:"M512 128a128 128 0 0 0-128 128v256a128 128 0 1 0 256 0V256a128 128 0 0 0-128-128zm0-64a192 192 0 0 1 192 192v256a192 192 0 1 1-384 0V256A192 192 0 0 1 512 64zm-32 832v-64a288 288 0 0 1-288-288v-32a32 32 0 0 1 64 0v32a224 224 0 0 0 224 224h64a224 224 0 0 0 224-224v-32a32 32 0 1 1 64 0v32a288 288 0 0 1-288 288v64h64a32 32 0 1 1 0 64H416a32 32 0 1 1 0-64h64z"},null,-1),Ni=[Ei];function Zi(t,a,_,r,l,i){return o(),n("svg",Ii,Ni)}var Ki=s(Wi,[["render",Zi],["__file","microphone.vue"]]),Qi={name:"MilkTea"},ji={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ji=e("path",{fill:"currentColor",d:"M416 128V96a96 96 0 0 1 96-96h128a32 32 0 1 1 0 64H512a32 32 0 0 0-32 32v32h320a96 96 0 0 1 11.712 191.296l-39.68 581.056A64 64 0 0 1 708.224 960H315.776a64 64 0 0 1-63.872-59.648l-39.616-581.056A96 96 0 0 1 224 128h192zM276.48 320l39.296 576h392.448l4.8-70.784a224.064 224.064 0 0 1 30.016-439.808L747.52 320H276.48zM224 256h576a32 32 0 1 0 0-64H224a32 32 0 0 0 0 64zm493.44 503.872 21.12-309.12a160 160 0 0 0-21.12 309.12z"},null,-1),Xi=[Ji];function Yi(t,a,_,r,l,i){return o(),n("svg",ji,Xi)}var eu=s(Qi,[["render",Yi],["__file","milk-tea.vue"]]),tu={name:"Minus"},_u={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},au=e("path",{fill:"currentColor",d:"M128 544h768a32 32 0 1 0 0-64H128a32 32 0 0 0 0 64z"},null,-1),ru=[au];function lu(t,a,_,r,l,i){return o(),n("svg",_u,ru)}var ou=s(tu,[["render",lu],["__file","minus.vue"]]),nu={name:"Money"},su={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},iu=e("path",{fill:"currentColor",d:"M256 640v192h640V384H768v-64h150.976c14.272 0 19.456 1.472 24.64 4.288a29.056 29.056 0 0 1 12.16 12.096c2.752 5.184 4.224 10.368 4.224 24.64v493.952c0 14.272-1.472 19.456-4.288 24.64a29.056 29.056 0 0 1-12.096 12.16c-5.184 2.752-10.368 4.224-24.64 4.224H233.024c-14.272 0-19.456-1.472-24.64-4.288a29.056 29.056 0 0 1-12.16-12.096c-2.688-5.184-4.224-10.368-4.224-24.576V640h64z"},null,-1),uu=e("path",{fill:"currentColor",d:"M768 192H128v448h640V192zm64-22.976v493.952c0 14.272-1.472 19.456-4.288 24.64a29.056 29.056 0 0 1-12.096 12.16c-5.184 2.752-10.368 4.224-24.64 4.224H105.024c-14.272 0-19.456-1.472-24.64-4.288a29.056 29.056 0 0 1-12.16-12.096C65.536 682.432 64 677.248 64 663.04V169.024c0-14.272 1.472-19.456 4.288-24.64a29.056 29.056 0 0 1 12.096-12.16C85.568 129.536 90.752 128 104.96 128h685.952c14.272 0 19.456 1.472 24.64 4.288a29.056 29.056 0 0 1 12.16 12.096c2.752 5.184 4.224 10.368 4.224 24.64z"},null,-1),vu=e("path",{fill:"currentColor",d:"M448 576a160 160 0 1 1 0-320 160 160 0 0 1 0 320zm0-64a96 96 0 1 0 0-192 96 96 0 0 0 0 192z"},null,-1),du=[iu,uu,vu];function cu(t,a,_,r,l,i){return o(),n("svg",su,du)}var hu=s(nu,[["render",cu],["__file","money.vue"]]),pu={name:"Monitor"},fu={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},wu=e("path",{fill:"currentColor",d:"M544 768v128h192a32 32 0 1 1 0 64H288a32 32 0 1 1 0-64h192V768H192A128 128 0 0 1 64 640V256a128 128 0 0 1 128-128h640a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128H544zM192 192a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H192z"},null,-1),mu=[wu];function gu(t,a,_,r,l,i){return o(),n("svg",fu,mu)}var $u=s(pu,[["render",gu],["__file","monitor.vue"]]),zu={name:"MoonNight"},xu={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Hu=e("path",{fill:"currentColor",d:"M384 512a448 448 0 0 1 215.872-383.296A384 384 0 0 0 213.76 640h188.8A448.256 448.256 0 0 1 384 512zM171.136 704a448 448 0 0 1 636.992-575.296A384 384 0 0 0 499.328 704h-328.32z"},null,-1),Mu=e("path",{fill:"currentColor",d:"M32 640h960q32 0 32 32t-32 32H32q-32 0-32-32t32-32zm128 128h384a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64zm160 127.68 224 .256a32 32 0 0 1 32 32V928a32 32 0 0 1-32 32l-224-.384a32 32 0 0 1-32-32v-.064a32 32 0 0 1 32-32z"},null,-1),Cu=[Hu,Mu];function Vu(t,a,_,r,l,i){return o(),n("svg",xu,Cu)}var yu=s(zu,[["render",Vu],["__file","moon-night.vue"]]),Bu={name:"Moon"},Lu={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Au=e("path",{fill:"currentColor",d:"M240.448 240.448a384 384 0 1 0 559.424 525.696 448 448 0 0 1-542.016-542.08 390.592 390.592 0 0 0-17.408 16.384zm181.056 362.048a384 384 0 0 0 525.632 16.384A448 448 0 1 1 405.056 76.8a384 384 0 0 0 16.448 525.696z"},null,-1),bu=[Au];function ku(t,a,_,r,l,i){return o(),n("svg",Lu,bu)}var Su=s(Bu,[["render",ku],["__file","moon.vue"]]),qu={name:"MoreFilled"},Fu={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Du=e("path",{fill:"currentColor",d:"M176 416a112 112 0 1 1 0 224 112 112 0 0 1 0-224zm336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224zm336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224z"},null,-1),Pu=[Du];function Ru(t,a,_,r,l,i){return o(),n("svg",Fu,Pu)}var Tu=s(qu,[["render",Ru],["__file","more-filled.vue"]]),Ou={name:"More"},Gu={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Uu=e("path",{fill:"currentColor",d:"M176 416a112 112 0 1 0 0 224 112 112 0 0 0 0-224m0 64a48 48 0 1 1 0 96 48 48 0 0 1 0-96zm336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224zm0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96zm336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224zm0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96z"},null,-1),Wu=[Uu];function Iu(t,a,_,r,l,i){return o(),n("svg",Gu,Wu)}var Eu=s(Ou,[["render",Iu],["__file","more.vue"]]),Nu={name:"MostlyCloudy"},Zu={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ku=e("path",{fill:"currentColor",d:"M737.216 357.952 704 349.824l-11.776-32a192.064 192.064 0 0 0-367.424 23.04l-8.96 39.04-39.04 8.96A192.064 192.064 0 0 0 320 768h368a207.808 207.808 0 0 0 207.808-208 208.32 208.32 0 0 0-158.592-202.048zm15.168-62.208A272.32 272.32 0 0 1 959.744 560a271.808 271.808 0 0 1-271.552 272H320a256 256 0 0 1-57.536-505.536 256.128 256.128 0 0 1 489.92-30.72z"},null,-1),Qu=[Ku];function ju(t,a,_,r,l,i){return o(),n("svg",Zu,Qu)}var Ju=s(Nu,[["render",ju],["__file","mostly-cloudy.vue"]]),Xu={name:"Mouse"},Yu={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ev=e("path",{fill:"currentColor",d:"M438.144 256c-68.352 0-92.736 4.672-117.76 18.112-20.096 10.752-35.52 26.176-46.272 46.272C260.672 345.408 256 369.792 256 438.144v275.712c0 68.352 4.672 92.736 18.112 117.76 10.752 20.096 26.176 35.52 46.272 46.272C345.408 891.328 369.792 896 438.144 896h147.712c68.352 0 92.736-4.672 117.76-18.112 20.096-10.752 35.52-26.176 46.272-46.272C763.328 806.592 768 782.208 768 713.856V438.144c0-68.352-4.672-92.736-18.112-117.76a110.464 110.464 0 0 0-46.272-46.272C678.592 260.672 654.208 256 585.856 256H438.144zm0-64h147.712c85.568 0 116.608 8.96 147.904 25.6 31.36 16.768 55.872 41.344 72.576 72.64C823.104 321.536 832 352.576 832 438.08v275.84c0 85.504-8.96 116.544-25.6 147.84a174.464 174.464 0 0 1-72.64 72.576C702.464 951.104 671.424 960 585.92 960H438.08c-85.504 0-116.544-8.96-147.84-25.6a174.464 174.464 0 0 1-72.64-72.704c-16.768-31.296-25.664-62.336-25.664-147.84v-275.84c0-85.504 8.96-116.544 25.6-147.84a174.464 174.464 0 0 1 72.768-72.576c31.232-16.704 62.272-25.6 147.776-25.6z"},null,-1),tv=e("path",{fill:"currentColor",d:"M512 320q32 0 32 32v128q0 32-32 32t-32-32V352q0-32 32-32zm32-96a32 32 0 0 1-64 0v-64a32 32 0 0 0-32-32h-96a32 32 0 0 1 0-64h96a96 96 0 0 1 96 96v64z"},null,-1),_v=[ev,tv];function av(t,a,_,r,l,i){return o(),n("svg",Yu,_v)}var rv=s(Xu,[["render",av],["__file","mouse.vue"]]),lv={name:"Mug"},ov={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},nv=e("path",{fill:"currentColor",d:"M736 800V160H160v640a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64zm64-544h63.552a96 96 0 0 1 96 96v224a96 96 0 0 1-96 96H800v128a128 128 0 0 1-128 128H224A128 128 0 0 1 96 800V128a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32v128zm0 64v288h63.552a32 32 0 0 0 32-32V352a32 32 0 0 0-32-32H800z"},null,-1),sv=[nv];function iv(t,a,_,r,l,i){return o(),n("svg",ov,sv)}var uv=s(lv,[["render",iv],["__file","mug.vue"]]),vv={name:"MuteNotification"},dv={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},cv=e("path",{fill:"currentColor",d:"m241.216 832 63.616-64H768V448c0-42.368-10.24-82.304-28.48-117.504l46.912-47.232C815.36 331.392 832 387.84 832 448v320h96a32 32 0 1 1 0 64H241.216zm-90.24 0H96a32 32 0 1 1 0-64h96V448a320.128 320.128 0 0 1 256-313.6V128a64 64 0 1 1 128 0v6.4a319.552 319.552 0 0 1 171.648 97.088l-45.184 45.44A256 256 0 0 0 256 448v278.336L151.04 832zM448 896h128a64 64 0 0 1-128 0z"},null,-1),hv=e("path",{fill:"currentColor",d:"M150.72 859.072a32 32 0 0 1-45.44-45.056l704-708.544a32 32 0 0 1 45.44 45.056l-704 708.544z"},null,-1),pv=[cv,hv];function fv(t,a,_,r,l,i){return o(),n("svg",dv,pv)}var wv=s(vv,[["render",fv],["__file","mute-notification.vue"]]),mv={name:"Mute"},gv={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},$v=e("path",{fill:"currentColor",d:"m412.16 592.128-45.44 45.44A191.232 191.232 0 0 1 320 512V256a192 192 0 1 1 384 0v44.352l-64 64V256a128 128 0 1 0-256 0v256c0 30.336 10.56 58.24 28.16 80.128zm51.968 38.592A128 128 0 0 0 640 512v-57.152l64-64V512a192 192 0 0 1-287.68 166.528l47.808-47.808zM314.88 779.968l46.144-46.08A222.976 222.976 0 0 0 480 768h64a224 224 0 0 0 224-224v-32a32 32 0 1 1 64 0v32a288 288 0 0 1-288 288v64h64a32 32 0 1 1 0 64H416a32 32 0 1 1 0-64h64v-64c-61.44 0-118.4-19.2-165.12-52.032zM266.752 737.6A286.976 286.976 0 0 1 192 544v-32a32 32 0 0 1 64 0v32c0 56.832 21.184 108.8 56.064 148.288L266.752 737.6z"},null,-1),zv=e("path",{fill:"currentColor",d:"M150.72 859.072a32 32 0 0 1-45.44-45.056l704-708.544a32 32 0 0 1 45.44 45.056l-704 708.544z"},null,-1),xv=[$v,zv];function Hv(t,a,_,r,l,i){return o(),n("svg",gv,xv)}var Mv=s(mv,[["render",Hv],["__file","mute.vue"]]),Cv={name:"NoSmoking"},Vv={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},yv=e("path",{fill:"currentColor",d:"M440.256 576H256v128h56.256l-64 64H224a32 32 0 0 1-32-32V544a32 32 0 0 1 32-32h280.256l-64 64zm143.488 128H704V583.744L775.744 512H928a32 32 0 0 1 32 32v192a32 32 0 0 1-32 32H519.744l64-64zM768 576v128h128V576H768zm-29.696-207.552 45.248 45.248-497.856 497.856-45.248-45.248zM256 64h64v320h-64zM128 192h64v192h-64zM64 512h64v256H64z"},null,-1),Bv=[yv];function Lv(t,a,_,r,l,i){return o(),n("svg",Vv,Bv)}var Av=s(Cv,[["render",Lv],["__file","no-smoking.vue"]]),bv={name:"Notebook"},kv={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Sv=e("path",{fill:"currentColor",d:"M192 128v768h640V128H192zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32z"},null,-1),qv=e("path",{fill:"currentColor",d:"M672 128h64v768h-64zM96 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32zm0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32zm0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32zm0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32z"},null,-1),Fv=[Sv,qv];function Dv(t,a,_,r,l,i){return o(),n("svg",kv,Fv)}var Pv=s(bv,[["render",Dv],["__file","notebook.vue"]]),Rv={name:"Notification"},Tv={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ov=e("path",{fill:"currentColor",d:"M512 128v64H256a64 64 0 0 0-64 64v512a64 64 0 0 0 64 64h512a64 64 0 0 0 64-64V512h64v256a128 128 0 0 1-128 128H256a128 128 0 0 1-128-128V256a128 128 0 0 1 128-128h256z"},null,-1),Gv=e("path",{fill:"currentColor",d:"M768 384a128 128 0 1 0 0-256 128 128 0 0 0 0 256zm0 64a192 192 0 1 1 0-384 192 192 0 0 1 0 384z"},null,-1),Uv=[Ov,Gv];function Wv(t,a,_,r,l,i){return o(),n("svg",Tv,Uv)}var Iv=s(Rv,[["render",Wv],["__file","notification.vue"]]),Ev={name:"Odometer"},Nv={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Zv=e("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),Kv=e("path",{fill:"currentColor",d:"M192 512a320 320 0 1 1 640 0 32 32 0 1 1-64 0 256 256 0 1 0-512 0 32 32 0 0 1-64 0z"},null,-1),Qv=e("path",{fill:"currentColor",d:"M570.432 627.84A96 96 0 1 1 509.568 608l60.992-187.776A32 32 0 1 1 631.424 440l-60.992 187.776zM502.08 734.464a32 32 0 1 0 19.84-60.928 32 32 0 0 0-19.84 60.928z"},null,-1),jv=[Zv,Kv,Qv];function Jv(t,a,_,r,l,i){return o(),n("svg",Nv,jv)}var Xv=s(Ev,[["render",Jv],["__file","odometer.vue"]]),Yv={name:"OfficeBuilding"},ed={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},td=e("path",{fill:"currentColor",d:"M192 128v704h384V128H192zm-32-64h448a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32z"},null,-1),_d=e("path",{fill:"currentColor",d:"M256 256h256v64H256v-64zm0 192h256v64H256v-64zm0 192h256v64H256v-64zm384-128h128v64H640v-64zm0 128h128v64H640v-64zM64 832h896v64H64v-64z"},null,-1),ad=e("path",{fill:"currentColor",d:"M640 384v448h192V384H640zm-32-64h256a32 32 0 0 1 32 32v512a32 32 0 0 1-32 32H608a32 32 0 0 1-32-32V352a32 32 0 0 1 32-32z"},null,-1),rd=[td,_d,ad];function ld(t,a,_,r,l,i){return o(),n("svg",ed,rd)}var od=s(Yv,[["render",ld],["__file","office-building.vue"]]),nd={name:"Open"},sd={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},id=e("path",{fill:"currentColor",d:"M329.956 257.138a254.862 254.862 0 0 0 0 509.724h364.088a254.862 254.862 0 0 0 0-509.724H329.956zm0-72.818h364.088a327.68 327.68 0 1 1 0 655.36H329.956a327.68 327.68 0 1 1 0-655.36z"},null,-1),ud=e("path",{fill:"currentColor",d:"M694.044 621.227a109.227 109.227 0 1 0 0-218.454 109.227 109.227 0 0 0 0 218.454zm0 72.817a182.044 182.044 0 1 1 0-364.088 182.044 182.044 0 0 1 0 364.088z"},null,-1),vd=[id,ud];function dd(t,a,_,r,l,i){return o(),n("svg",sd,vd)}var cd=s(nd,[["render",dd],["__file","open.vue"]]),hd={name:"Operation"},pd={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},fd=e("path",{fill:"currentColor",d:"M389.44 768a96.064 96.064 0 0 1 181.12 0H896v64H570.56a96.064 96.064 0 0 1-181.12 0H128v-64h261.44zm192-288a96.064 96.064 0 0 1 181.12 0H896v64H762.56a96.064 96.064 0 0 1-181.12 0H128v-64h453.44zm-320-288a96.064 96.064 0 0 1 181.12 0H896v64H442.56a96.064 96.064 0 0 1-181.12 0H128v-64h133.44z"},null,-1),wd=[fd];function md(t,a,_,r,l,i){return o(),n("svg",pd,wd)}var gd=s(hd,[["render",md],["__file","operation.vue"]]),$d={name:"Opportunity"},zd={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},xd=e("path",{fill:"currentColor",d:"M384 960v-64h192.064v64H384zm448-544a350.656 350.656 0 0 1-128.32 271.424C665.344 719.04 640 763.776 640 813.504V832H320v-14.336c0-48-19.392-95.36-57.216-124.992a351.552 351.552 0 0 1-128.448-344.256c25.344-136.448 133.888-248.128 269.76-276.48A352.384 352.384 0 0 1 832 416zm-544 32c0-132.288 75.904-224 192-224v-64c-154.432 0-256 122.752-256 288h64z"},null,-1),Hd=[xd];function Md(t,a,_,r,l,i){return o(),n("svg",zd,Hd)}var Cd=s($d,[["render",Md],["__file","opportunity.vue"]]),Vd={name:"Orange"},yd={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Bd=e("path",{fill:"currentColor",d:"M544 894.72a382.336 382.336 0 0 0 215.936-89.472L577.024 622.272c-10.24 6.016-21.248 10.688-33.024 13.696v258.688zm261.248-134.784A382.336 382.336 0 0 0 894.656 544H635.968c-3.008 11.776-7.68 22.848-13.696 33.024l182.976 182.912zM894.656 480a382.336 382.336 0 0 0-89.408-215.936L622.272 446.976c6.016 10.24 10.688 21.248 13.696 33.024h258.688zm-134.72-261.248A382.336 382.336 0 0 0 544 129.344v258.688c11.776 3.008 22.848 7.68 33.024 13.696l182.912-182.976zM480 129.344a382.336 382.336 0 0 0-215.936 89.408l182.912 182.976c10.24-6.016 21.248-10.688 33.024-13.696V129.344zm-261.248 134.72A382.336 382.336 0 0 0 129.344 480h258.688c3.008-11.776 7.68-22.848 13.696-33.024L218.752 264.064zM129.344 544a382.336 382.336 0 0 0 89.408 215.936l182.976-182.912A127.232 127.232 0 0 1 388.032 544H129.344zm134.72 261.248A382.336 382.336 0 0 0 480 894.656V635.968a127.232 127.232 0 0 1-33.024-13.696L264.064 805.248zM512 960a448 448 0 1 1 0-896 448 448 0 0 1 0 896zm0-384a64 64 0 1 0 0-128 64 64 0 0 0 0 128z"},null,-1),Ld=[Bd];function Ad(t,a,_,r,l,i){return o(),n("svg",yd,Ld)}var bd=s(Vd,[["render",Ad],["__file","orange.vue"]]),kd={name:"Paperclip"},Sd={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},qd=e("path",{fill:"currentColor",d:"M602.496 240.448A192 192 0 1 1 874.048 512l-316.8 316.8A256 256 0 0 1 195.2 466.752L602.496 59.456l45.248 45.248L240.448 512A192 192 0 0 0 512 783.552l316.8-316.8a128 128 0 1 0-181.056-181.056L353.6 579.904a32 32 0 1 0 45.248 45.248l294.144-294.144 45.312 45.248L444.096 670.4a96 96 0 1 1-135.744-135.744l294.144-294.208z"},null,-1),Fd=[qd];function Dd(t,a,_,r,l,i){return o(),n("svg",Sd,Fd)}var Pd=s(kd,[["render",Dd],["__file","paperclip.vue"]]),Rd={name:"PartlyCloudy"},Td={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Od=e("path",{fill:"currentColor",d:"M598.4 895.872H328.192a256 256 0 0 1-34.496-510.528A352 352 0 1 1 598.4 895.872zm-271.36-64h272.256a288 288 0 1 0-248.512-417.664L335.04 445.44l-34.816 3.584a192 192 0 0 0 26.88 382.848z"},null,-1),Gd=e("path",{fill:"currentColor",d:"M139.84 501.888a256 256 0 1 1 417.856-277.12c-17.728 2.176-38.208 8.448-61.504 18.816A192 192 0 1 0 189.12 460.48a6003.84 6003.84 0 0 0-49.28 41.408z"},null,-1),Ud=[Od,Gd];function Wd(t,a,_,r,l,i){return o(),n("svg",Td,Ud)}var Id=s(Rd,[["render",Wd],["__file","partly-cloudy.vue"]]),Ed={name:"Pear"},Nd={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Zd=e("path",{fill:"currentColor",d:"M542.336 258.816a443.255 443.255 0 0 0-9.024 25.088 32 32 0 1 1-60.8-20.032l1.088-3.328a162.688 162.688 0 0 0-122.048 131.392l-17.088 102.72-20.736 15.36C256.192 552.704 224 610.88 224 672c0 120.576 126.4 224 288 224s288-103.424 288-224c0-61.12-32.192-119.296-89.728-161.92l-20.736-15.424-17.088-102.72a162.688 162.688 0 0 0-130.112-133.12zm-40.128-66.56c7.936-15.552 16.576-30.08 25.92-43.776 23.296-33.92 49.408-59.776 78.528-77.12a32 32 0 1 1 32.704 55.04c-20.544 12.224-40.064 31.552-58.432 58.304a316.608 316.608 0 0 0-9.792 15.104 226.688 226.688 0 0 1 164.48 181.568l12.8 77.248C819.456 511.36 864 587.392 864 672c0 159.04-157.568 288-352 288S160 831.04 160 672c0-84.608 44.608-160.64 115.584-213.376l12.8-77.248a226.624 226.624 0 0 1 213.76-189.184z"},null,-1),Kd=[Zd];function Qd(t,a,_,r,l,i){return o(),n("svg",Nd,Kd)}var jd=s(Ed,[["render",Qd],["__file","pear.vue"]]),Jd={name:"PhoneFilled"},Xd={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Yd=e("path",{fill:"currentColor",d:"M199.232 125.568 90.624 379.008a32 32 0 0 0 6.784 35.2l512.384 512.384a32 32 0 0 0 35.2 6.784l253.44-108.608a32 32 0 0 0 10.048-52.032L769.6 633.92a32 32 0 0 0-36.928-5.952l-130.176 65.088-271.488-271.552 65.024-130.176a32 32 0 0 0-5.952-36.928L251.2 115.52a32 32 0 0 0-51.968 10.048z"},null,-1),e7=[Yd];function t7(t,a,_,r,l,i){return o(),n("svg",Xd,e7)}var _7=s(Jd,[["render",t7],["__file","phone-filled.vue"]]),a7={name:"Phone"},r7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},l7=e("path",{fill:"currentColor",d:"M79.36 432.256 591.744 944.64a32 32 0 0 0 35.2 6.784l253.44-108.544a32 32 0 0 0 9.984-52.032l-153.856-153.92a32 32 0 0 0-36.928-6.016l-69.888 34.944L358.08 394.24l35.008-69.888a32 32 0 0 0-5.952-36.928L233.152 133.568a32 32 0 0 0-52.032 10.048L72.512 397.056a32 32 0 0 0 6.784 35.2zm60.48-29.952 81.536-190.08L325.568 316.48l-24.64 49.216-20.608 41.216 32.576 32.64 271.552 271.552 32.64 32.64 41.216-20.672 49.28-24.576 104.192 104.128-190.08 81.472L139.84 402.304zM512 320v-64a256 256 0 0 1 256 256h-64a192 192 0 0 0-192-192zm0-192V64a448 448 0 0 1 448 448h-64a384 384 0 0 0-384-384z"},null,-1),o7=[l7];function n7(t,a,_,r,l,i){return o(),n("svg",r7,o7)}var s7=s(a7,[["render",n7],["__file","phone.vue"]]),i7={name:"PictureFilled"},u7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},v7=e("path",{fill:"currentColor",d:"M96 896a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h832a32 32 0 0 1 32 32v704a32 32 0 0 1-32 32H96zm315.52-228.48-68.928-68.928a32 32 0 0 0-45.248 0L128 768.064h778.688l-242.112-290.56a32 32 0 0 0-49.216 0L458.752 665.408a32 32 0 0 1-47.232 2.112zM256 384a96 96 0 1 0 192.064-.064A96 96 0 0 0 256 384z"},null,-1),d7=[v7];function c7(t,a,_,r,l,i){return o(),n("svg",u7,d7)}var h7=s(i7,[["render",c7],["__file","picture-filled.vue"]]),p7={name:"PictureRounded"},f7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},w7=e("path",{fill:"currentColor",d:"M512 128a384 384 0 1 0 0 768 384 384 0 0 0 0-768zm0-64a448 448 0 1 1 0 896 448 448 0 0 1 0-896z"},null,-1),m7=e("path",{fill:"currentColor",d:"M640 288q64 0 64 64t-64 64q-64 0-64-64t64-64zM214.656 790.656l-45.312-45.312 185.664-185.6a96 96 0 0 1 123.712-10.24l138.24 98.688a32 32 0 0 0 39.872-2.176L906.688 422.4l42.624 47.744L699.52 693.696a96 96 0 0 1-119.808 6.592l-138.24-98.752a32 32 0 0 0-41.152 3.456l-185.664 185.6z"},null,-1),g7=[w7,m7];function $7(t,a,_,r,l,i){return o(),n("svg",f7,g7)}var z7=s(p7,[["render",$7],["__file","picture-rounded.vue"]]),x7={name:"Picture"},H7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},M7=e("path",{fill:"currentColor",d:"M160 160v704h704V160H160zm-32-64h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32z"},null,-1),C7=e("path",{fill:"currentColor",d:"M384 288q64 0 64 64t-64 64q-64 0-64-64t64-64zM185.408 876.992l-50.816-38.912L350.72 556.032a96 96 0 0 1 134.592-17.856l1.856 1.472 122.88 99.136a32 32 0 0 0 44.992-4.864l216-269.888 49.92 39.936-215.808 269.824-.256.32a96 96 0 0 1-135.04 14.464l-122.88-99.072-.64-.512a32 32 0 0 0-44.8 5.952L185.408 876.992z"},null,-1),V7=[M7,C7];function y7(t,a,_,r,l,i){return o(),n("svg",H7,V7)}var B7=s(x7,[["render",y7],["__file","picture.vue"]]),L7={name:"PieChart"},A7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},b7=e("path",{fill:"currentColor",d:"M448 68.48v64.832A384.128 384.128 0 0 0 512 896a384.128 384.128 0 0 0 378.688-320h64.768A448.128 448.128 0 0 1 64 512 448.128 448.128 0 0 1 448 68.48z"},null,-1),k7=e("path",{fill:"currentColor",d:"M576 97.28V448h350.72A384.064 384.064 0 0 0 576 97.28zM512 64V33.152A448 448 0 0 1 990.848 512H512V64z"},null,-1),S7=[b7,k7];function q7(t,a,_,r,l,i){return o(),n("svg",A7,S7)}var F7=s(L7,[["render",q7],["__file","pie-chart.vue"]]),D7={name:"Place"},P7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},R7=e("path",{fill:"currentColor",d:"M512 512a192 192 0 1 0 0-384 192 192 0 0 0 0 384zm0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512z"},null,-1),T7=e("path",{fill:"currentColor",d:"M512 512a32 32 0 0 1 32 32v256a32 32 0 1 1-64 0V544a32 32 0 0 1 32-32z"},null,-1),O7=e("path",{fill:"currentColor",d:"M384 649.088v64.96C269.76 732.352 192 771.904 192 800c0 37.696 139.904 96 320 96s320-58.304 320-96c0-28.16-77.76-67.648-192-85.952v-64.96C789.12 671.04 896 730.368 896 800c0 88.32-171.904 160-384 160s-384-71.68-384-160c0-69.696 106.88-128.96 256-150.912z"},null,-1),G7=[R7,T7,O7];function U7(t,a,_,r,l,i){return o(),n("svg",P7,G7)}var W7=s(D7,[["render",U7],["__file","place.vue"]]),I7={name:"Platform"},E7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},N7=e("path",{fill:"currentColor",d:"M448 832v-64h128v64h192v64H256v-64h192zM128 704V128h768v576H128z"},null,-1),Z7=[N7];function K7(t,a,_,r,l,i){return o(),n("svg",E7,Z7)}var Q7=s(I7,[["render",K7],["__file","platform.vue"]]),j7={name:"Plus"},J7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},X7=e("path",{fill:"currentColor",d:"M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64h352z"},null,-1),Y7=[X7];function ec(t,a,_,r,l,i){return o(),n("svg",J7,Y7)}var tc=s(j7,[["render",ec],["__file","plus.vue"]]),_c={name:"Pointer"},ac={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},rc=e("path",{fill:"currentColor",d:"M511.552 128c-35.584 0-64.384 28.8-64.384 64.448v516.48L274.048 570.88a94.272 94.272 0 0 0-112.896-3.456 44.416 44.416 0 0 0-8.96 62.208L332.8 870.4A64 64 0 0 0 384 896h512V575.232a64 64 0 0 0-45.632-61.312l-205.952-61.76A96 96 0 0 1 576 360.192V192.448C576 156.8 547.2 128 511.552 128zM359.04 556.8l24.128 19.2V192.448a128.448 128.448 0 1 1 256.832 0v167.744a32 32 0 0 0 22.784 30.656l206.016 61.76A128 128 0 0 1 960 575.232V896a64 64 0 0 1-64 64H384a128 128 0 0 1-102.4-51.2L101.056 668.032A108.416 108.416 0 0 1 128 512.512a158.272 158.272 0 0 1 185.984 8.32L359.04 556.8z"},null,-1),lc=[rc];function oc(t,a,_,r,l,i){return o(),n("svg",ac,lc)}var nc=s(_c,[["render",oc],["__file","pointer.vue"]]),sc={name:"Position"},ic={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},uc=e("path",{fill:"currentColor",d:"m249.6 417.088 319.744 43.072 39.168 310.272L845.12 178.88 249.6 417.088zm-129.024 47.168a32 32 0 0 1-7.68-61.44l777.792-311.04a32 32 0 0 1 41.6 41.6l-310.336 775.68a32 32 0 0 1-61.44-7.808L512 516.992l-391.424-52.736z"},null,-1),vc=[uc];function dc(t,a,_,r,l,i){return o(),n("svg",ic,vc)}var cc=s(sc,[["render",dc],["__file","position.vue"]]),hc={name:"Postcard"},pc={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},fc=e("path",{fill:"currentColor",d:"M160 224a32 32 0 0 0-32 32v512a32 32 0 0 0 32 32h704a32 32 0 0 0 32-32V256a32 32 0 0 0-32-32H160zm0-64h704a96 96 0 0 1 96 96v512a96 96 0 0 1-96 96H160a96 96 0 0 1-96-96V256a96 96 0 0 1 96-96z"},null,-1),wc=e("path",{fill:"currentColor",d:"M704 320a64 64 0 1 1 0 128 64 64 0 0 1 0-128zM288 448h256q32 0 32 32t-32 32H288q-32 0-32-32t32-32zm0 128h256q32 0 32 32t-32 32H288q-32 0-32-32t32-32z"},null,-1),mc=[fc,wc];function gc(t,a,_,r,l,i){return o(),n("svg",pc,mc)}var $c=s(hc,[["render",gc],["__file","postcard.vue"]]),zc={name:"Pouring"},xc={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Hc=e("path",{fill:"currentColor",d:"m739.328 291.328-35.2-6.592-12.8-33.408a192.064 192.064 0 0 0-365.952 23.232l-9.92 40.896-41.472 7.04a176.32 176.32 0 0 0-146.24 173.568c0 97.28 78.72 175.936 175.808 175.936h400a192 192 0 0 0 35.776-380.672zM959.552 480a256 256 0 0 1-256 256h-400A239.808 239.808 0 0 1 63.744 496.192a240.32 240.32 0 0 1 199.488-236.8 256.128 256.128 0 0 1 487.872-30.976A256.064 256.064 0 0 1 959.552 480zM224 800a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32zm192 0a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32zm192 0a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32zm192 0a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32z"},null,-1),Mc=[Hc];function Cc(t,a,_,r,l,i){return o(),n("svg",xc,Mc)}var Vc=s(zc,[["render",Cc],["__file","pouring.vue"]]),yc={name:"Present"},Bc={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Lc=e("path",{fill:"currentColor",d:"M480 896V640H192v-64h288V320H192v576h288zm64 0h288V320H544v256h288v64H544v256zM128 256h768v672a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V256z"},null,-1),Ac=e("path",{fill:"currentColor",d:"M96 256h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32z"},null,-1),bc=e("path",{fill:"currentColor",d:"M416 256a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256z"},null,-1),kc=e("path",{fill:"currentColor",d:"M608 256a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256z"},null,-1),Sc=[Lc,Ac,bc,kc];function qc(t,a,_,r,l,i){return o(),n("svg",Bc,Sc)}var Fc=s(yc,[["render",qc],["__file","present.vue"]]),Dc={name:"PriceTag"},Pc={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Rc=e("path",{fill:"currentColor",d:"M224 318.336V896h576V318.336L552.512 115.84a64 64 0 0 0-81.024 0L224 318.336zM593.024 66.304l259.2 212.096A32 32 0 0 1 864 303.168V928a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V303.168a32 32 0 0 1 11.712-24.768l259.2-212.096a128 128 0 0 1 162.112 0z"},null,-1),Tc=e("path",{fill:"currentColor",d:"M512 448a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256z"},null,-1),Oc=[Rc,Tc];function Gc(t,a,_,r,l,i){return o(),n("svg",Pc,Oc)}var Uc=s(Dc,[["render",Gc],["__file","price-tag.vue"]]),Wc={name:"Printer"},Ic={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ec=e("path",{fill:"currentColor",d:"M256 768H105.024c-14.272 0-19.456-1.472-24.64-4.288a29.056 29.056 0 0 1-12.16-12.096C65.536 746.432 64 741.248 64 727.04V379.072c0-42.816 4.48-58.304 12.8-73.984 8.384-15.616 20.672-27.904 36.288-36.288 15.68-8.32 31.168-12.8 73.984-12.8H256V64h512v192h68.928c42.816 0 58.304 4.48 73.984 12.8 15.616 8.384 27.904 20.672 36.288 36.288 8.32 15.68 12.8 31.168 12.8 73.984v347.904c0 14.272-1.472 19.456-4.288 24.64a29.056 29.056 0 0 1-12.096 12.16c-5.184 2.752-10.368 4.224-24.64 4.224H768v192H256V768zm64-192v320h384V576H320zm-64 128V512h512v192h128V379.072c0-29.376-1.408-36.48-5.248-43.776a23.296 23.296 0 0 0-10.048-10.048c-7.232-3.84-14.4-5.248-43.776-5.248H187.072c-29.376 0-36.48 1.408-43.776 5.248a23.296 23.296 0 0 0-10.048 10.048c-3.84 7.232-5.248 14.4-5.248 43.776V704h128zm64-448h384V128H320v128zm-64 128h64v64h-64v-64zm128 0h64v64h-64v-64z"},null,-1),Nc=[Ec];function Zc(t,a,_,r,l,i){return o(),n("svg",Ic,Nc)}var Kc=s(Wc,[["render",Zc],["__file","printer.vue"]]),Qc={name:"Promotion"},jc={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Jc=e("path",{fill:"currentColor",d:"m64 448 832-320-128 704-446.08-243.328L832 192 242.816 545.472 64 448zm256 512V657.024L512 768 320 960z"},null,-1),Xc=[Jc];function Yc(t,a,_,r,l,i){return o(),n("svg",jc,Xc)}var eh=s(Qc,[["render",Yc],["__file","promotion.vue"]]),th={name:"QuartzWatch"},_h={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},ah=e("path",{d:"M422.02 602.01v-.03c-6.68-5.99-14.35-8.83-23.01-8.51-8.67.32-16.17 3.66-22.5 10.02-6.33 6.36-9.5 13.7-9.5 22.02s3 15.82 8.99 22.5c8.68 8.68 19.02 11.35 31.01 8s19.49-10.85 22.5-22.5c3.01-11.65.51-22.15-7.49-31.49v-.01zM384 512c0-9.35-3-17.02-8.99-23.01-6-5.99-13.66-8.99-23.01-8.99-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.66-8.99 23.01s3 17.02 8.99 23.01c6 5.99 13.66 8.99 23.01 8.99 9.35 0 17.02-3 23.01-8.99 5.99-6 8.99-13.67 8.99-23.01zm6.53-82.49c11.65 3.01 22.15.51 31.49-7.49h.04c5.99-6.68 8.83-14.34 8.51-23.01-.32-8.67-3.66-16.16-10.02-22.5-6.36-6.33-13.7-9.5-22.02-9.5s-15.82 3-22.5 8.99c-8.68 8.69-11.35 19.02-8 31.01 3.35 11.99 10.85 19.49 22.5 22.5zm242.94 0c11.67-3.03 19.01-10.37 22.02-22.02 3.01-11.65.51-22.15-7.49-31.49h.01c-6.68-5.99-14.18-8.99-22.5-8.99s-15.66 3.16-22.02 9.5c-6.36 6.34-9.7 13.84-10.02 22.5-.32 8.66 2.52 16.33 8.51 23.01 9.32 8.02 19.82 10.52 31.49 7.49zM512 640c-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.66-8.99 23.01s3 17.02 8.99 23.01c6 5.99 13.67 8.99 23.01 8.99 9.35 0 17.02-3 23.01-8.99 5.99-6 8.99-13.66 8.99-23.01s-3-17.02-8.99-23.01c-6-5.99-13.66-8.99-23.01-8.99zm183.01-151.01c-6-5.99-13.66-8.99-23.01-8.99s-17.02 3-23.01 8.99c-5.99 6-8.99 13.66-8.99 23.01s3 17.02 8.99 23.01c6 5.99 13.66 8.99 23.01 8.99s17.02-3 23.01-8.99c5.99-6 8.99-13.67 8.99-23.01 0-9.35-3-17.02-8.99-23.01z",fill:"currentColor"},null,-1),rh=e("path",{d:"M832 512c-2-90.67-33.17-166.17-93.5-226.5-20.43-20.42-42.6-37.49-66.5-51.23V64H352v170.26c-23.9 13.74-46.07 30.81-66.5 51.24-60.33 60.33-91.49 135.83-93.5 226.5 2 90.67 33.17 166.17 93.5 226.5 20.43 20.43 42.6 37.5 66.5 51.24V960h320V789.74c23.9-13.74 46.07-30.81 66.5-51.24 60.33-60.34 91.49-135.83 93.5-226.5zM416 128h192v78.69c-29.85-9.03-61.85-13.93-96-14.69-34.15.75-66.15 5.65-96 14.68V128zm192 768H416v-78.68c29.85 9.03 61.85 13.93 96 14.68 34.15-.75 66.15-5.65 96-14.68V896zm-96-128c-72.66-2.01-132.99-27.01-180.99-75.01S258.01 584.66 256 512c2.01-72.66 27.01-132.99 75.01-180.99S439.34 258.01 512 256c72.66 2.01 132.99 27.01 180.99 75.01S765.99 439.34 768 512c-2.01 72.66-27.01 132.99-75.01 180.99S584.66 765.99 512 768z",fill:"currentColor"},null,-1),lh=e("path",{d:"M512 320c-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.66-8.99 23.01 0 9.35 3 17.02 8.99 23.01 6 5.99 13.67 8.99 23.01 8.99 9.35 0 17.02-3 23.01-8.99 5.99-6 8.99-13.66 8.99-23.01 0-9.35-3-17.02-8.99-23.01-6-5.99-13.66-8.99-23.01-8.99zm112.99 273.5c-8.66-.32-16.33 2.52-23.01 8.51-7.98 9.32-10.48 19.82-7.49 31.49s10.49 19.17 22.5 22.5 22.35.66 31.01-8v.04c5.99-6.68 8.99-14.18 8.99-22.5s-3.16-15.66-9.5-22.02-13.84-9.7-22.5-10.02z",fill:"currentColor"},null,-1),oh=[ah,rh,lh];function nh(t,a,_,r,l,i){return o(),n("svg",_h,oh)}var sh=s(th,[["render",nh],["__file","quartz-watch.vue"]]),ih={name:"QuestionFilled"},uh={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},vh=e("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm23.744 191.488c-52.096 0-92.928 14.784-123.2 44.352-30.976 29.568-45.76 70.4-45.76 122.496h80.256c0-29.568 5.632-52.8 17.6-68.992 13.376-19.712 35.2-28.864 66.176-28.864 23.936 0 42.944 6.336 56.32 19.712 12.672 13.376 19.712 31.68 19.712 54.912 0 17.6-6.336 34.496-19.008 49.984l-8.448 9.856c-45.76 40.832-73.216 70.4-82.368 89.408-9.856 19.008-14.08 42.24-14.08 68.992v9.856h80.96v-9.856c0-16.896 3.52-31.68 10.56-45.76 6.336-12.672 15.488-24.64 28.16-35.2 33.792-29.568 54.208-48.576 60.544-55.616 16.896-22.528 26.048-51.392 26.048-86.592 0-42.944-14.08-76.736-42.24-101.376-28.16-25.344-65.472-37.312-111.232-37.312zm-12.672 406.208a54.272 54.272 0 0 0-38.72 14.784 49.408 49.408 0 0 0-15.488 38.016c0 15.488 4.928 28.16 15.488 38.016A54.848 54.848 0 0 0 523.072 768c15.488 0 28.16-4.928 38.72-14.784a51.52 51.52 0 0 0 16.192-38.72 51.968 51.968 0 0 0-15.488-38.016 55.936 55.936 0 0 0-39.424-14.784z"},null,-1),dh=[vh];function ch(t,a,_,r,l,i){return o(),n("svg",uh,dh)}var hh=s(ih,[["render",ch],["__file","question-filled.vue"]]),ph={name:"Rank"},fh={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},wh=e("path",{fill:"currentColor",d:"m186.496 544 41.408 41.344a32 32 0 1 1-45.248 45.312l-96-96a32 32 0 0 1 0-45.312l96-96a32 32 0 1 1 45.248 45.312L186.496 480h290.816V186.432l-41.472 41.472a32 32 0 1 1-45.248-45.184l96-96.128a32 32 0 0 1 45.312 0l96 96.064a32 32 0 0 1-45.248 45.184l-41.344-41.28V480H832l-41.344-41.344a32 32 0 0 1 45.248-45.312l96 96a32 32 0 0 1 0 45.312l-96 96a32 32 0 0 1-45.248-45.312L832 544H541.312v293.44l41.344-41.28a32 32 0 1 1 45.248 45.248l-96 96a32 32 0 0 1-45.312 0l-96-96a32 32 0 1 1 45.312-45.248l41.408 41.408V544H186.496z"},null,-1),mh=[wh];function gh(t,a,_,r,l,i){return o(),n("svg",fh,mh)}var $h=s(ph,[["render",gh],["__file","rank.vue"]]),zh={name:"ReadingLamp"},xh={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Hh=e("path",{fill:"currentColor",d:"M352 896h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32zm-44.672-768-99.52 448h608.384l-99.52-448H307.328zm-25.6-64h460.608a32 32 0 0 1 31.232 25.088l113.792 512A32 32 0 0 1 856.128 640H167.872a32 32 0 0 1-31.232-38.912l113.792-512A32 32 0 0 1 281.664 64z"},null,-1),Mh=e("path",{fill:"currentColor",d:"M672 576q32 0 32 32v128q0 32-32 32t-32-32V608q0-32 32-32zm-192-.064h64V960h-64z"},null,-1),Ch=[Hh,Mh];function Vh(t,a,_,r,l,i){return o(),n("svg",xh,Ch)}var yh=s(zh,[["render",Vh],["__file","reading-lamp.vue"]]),Bh={name:"Reading"},Lh={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ah=e("path",{fill:"currentColor",d:"m512 863.36 384-54.848v-638.72L525.568 222.72a96 96 0 0 1-27.136 0L128 169.792v638.72l384 54.848zM137.024 106.432l370.432 52.928a32 32 0 0 0 9.088 0l370.432-52.928A64 64 0 0 1 960 169.792v638.72a64 64 0 0 1-54.976 63.36l-388.48 55.488a32 32 0 0 1-9.088 0l-388.48-55.488A64 64 0 0 1 64 808.512v-638.72a64 64 0 0 1 73.024-63.36z"},null,-1),bh=e("path",{fill:"currentColor",d:"M480 192h64v704h-64z"},null,-1),kh=[Ah,bh];function Sh(t,a,_,r,l,i){return o(),n("svg",Lh,kh)}var qh=s(Bh,[["render",Sh],["__file","reading.vue"]]),Fh={name:"RefreshLeft"},Dh={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ph=e("path",{fill:"currentColor",d:"M289.088 296.704h92.992a32 32 0 0 1 0 64H232.96a32 32 0 0 1-32-32V179.712a32 32 0 0 1 64 0v50.56a384 384 0 0 1 643.84 282.88 384 384 0 0 1-383.936 384 384 384 0 0 1-384-384h64a320 320 0 1 0 640 0 320 320 0 0 0-555.712-216.448z"},null,-1),Rh=[Ph];function Th(t,a,_,r,l,i){return o(),n("svg",Dh,Rh)}var Oh=s(Fh,[["render",Th],["__file","refresh-left.vue"]]),Gh={name:"RefreshRight"},Uh={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Wh=e("path",{fill:"currentColor",d:"M784.512 230.272v-50.56a32 32 0 1 1 64 0v149.056a32 32 0 0 1-32 32H667.52a32 32 0 1 1 0-64h92.992A320 320 0 1 0 524.8 833.152a320 320 0 0 0 320-320h64a384 384 0 0 1-384 384 384 384 0 0 1-384-384 384 384 0 0 1 643.712-282.88z"},null,-1),Ih=[Wh];function Eh(t,a,_,r,l,i){return o(),n("svg",Uh,Ih)}var Nh=s(Gh,[["render",Eh],["__file","refresh-right.vue"]]),Zh={name:"Refresh"},Kh={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Qh=e("path",{fill:"currentColor",d:"M771.776 794.88A384 384 0 0 1 128 512h64a320 320 0 0 0 555.712 216.448H654.72a32 32 0 1 1 0-64h149.056a32 32 0 0 1 32 32v148.928a32 32 0 1 1-64 0v-50.56zM276.288 295.616h92.992a32 32 0 0 1 0 64H220.16a32 32 0 0 1-32-32V178.56a32 32 0 0 1 64 0v50.56A384 384 0 0 1 896.128 512h-64a320 320 0 0 0-555.776-216.384z"},null,-1),jh=[Qh];function Jh(t,a,_,r,l,i){return o(),n("svg",Kh,jh)}var Xh=s(Zh,[["render",Jh],["__file","refresh.vue"]]),Yh={name:"Refrigerator"},ep={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},tp=e("path",{fill:"currentColor",d:"M256 448h512V160a32 32 0 0 0-32-32H288a32 32 0 0 0-32 32v288zm0 64v352a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V512H256zm32-448h448a96 96 0 0 1 96 96v704a96 96 0 0 1-96 96H288a96 96 0 0 1-96-96V160a96 96 0 0 1 96-96zm32 224h64v96h-64v-96zm0 288h64v96h-64v-96z"},null,-1),_p=[tp];function ap(t,a,_,r,l,i){return o(),n("svg",ep,_p)}var rp=s(Yh,[["render",ap],["__file","refrigerator.vue"]]),lp={name:"RemoveFilled"},op={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},np=e("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zM288 512a38.4 38.4 0 0 0 38.4 38.4h371.2a38.4 38.4 0 0 0 0-76.8H326.4A38.4 38.4 0 0 0 288 512z"},null,-1),sp=[np];function ip(t,a,_,r,l,i){return o(),n("svg",op,sp)}var up=s(lp,[["render",ip],["__file","remove-filled.vue"]]),vp={name:"Remove"},dp={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},cp=e("path",{fill:"currentColor",d:"M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64z"},null,-1),hp=e("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),pp=[cp,hp];function fp(t,a,_,r,l,i){return o(),n("svg",dp,pp)}var wp=s(vp,[["render",fp],["__file","remove.vue"]]),mp={name:"Right"},gp={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},$p=e("path",{fill:"currentColor",d:"M754.752 480H160a32 32 0 1 0 0 64h594.752L521.344 777.344a32 32 0 0 0 45.312 45.312l288-288a32 32 0 0 0 0-45.312l-288-288a32 32 0 1 0-45.312 45.312L754.752 480z"},null,-1),zp=[$p];function xp(t,a,_,r,l,i){return o(),n("svg",gp,zp)}var Hp=s(mp,[["render",xp],["__file","right.vue"]]),Mp={name:"ScaleToOriginal"},Cp={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Vp=e("path",{fill:"currentColor",d:"M813.176 180.706a60.235 60.235 0 0 1 60.236 60.235v481.883a60.235 60.235 0 0 1-60.236 60.235H210.824a60.235 60.235 0 0 1-60.236-60.235V240.94a60.235 60.235 0 0 1 60.236-60.235h602.352zm0-60.235H210.824A120.47 120.47 0 0 0 90.353 240.94v481.883a120.47 120.47 0 0 0 120.47 120.47h602.353a120.47 120.47 0 0 0 120.471-120.47V240.94a120.47 120.47 0 0 0-120.47-120.47zm-120.47 180.705a30.118 30.118 0 0 0-30.118 30.118v301.177a30.118 30.118 0 0 0 60.236 0V331.294a30.118 30.118 0 0 0-30.118-30.118zm-361.412 0a30.118 30.118 0 0 0-30.118 30.118v301.177a30.118 30.118 0 1 0 60.236 0V331.294a30.118 30.118 0 0 0-30.118-30.118zM512 361.412a30.118 30.118 0 0 0-30.118 30.117v30.118a30.118 30.118 0 0 0 60.236 0V391.53A30.118 30.118 0 0 0 512 361.412zM512 512a30.118 30.118 0 0 0-30.118 30.118v30.117a30.118 30.118 0 0 0 60.236 0v-30.117A30.118 30.118 0 0 0 512 512z"},null,-1),yp=[Vp];function Bp(t,a,_,r,l,i){return o(),n("svg",Cp,yp)}var Lp=s(Mp,[["render",Bp],["__file","scale-to-original.vue"]]),Ap={name:"School"},bp={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},kp=e("path",{fill:"currentColor",d:"M224 128v704h576V128H224zm-32-64h640a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32z"},null,-1),Sp=e("path",{fill:"currentColor",d:"M64 832h896v64H64zm256-640h128v96H320z"},null,-1),qp=e("path",{fill:"currentColor",d:"M384 832h256v-64a128 128 0 1 0-256 0v64zm128-256a192 192 0 0 1 192 192v128H320V768a192 192 0 0 1 192-192zM320 384h128v96H320zm256-192h128v96H576zm0 192h128v96H576z"},null,-1),Fp=[kp,Sp,qp];function Dp(t,a,_,r,l,i){return o(),n("svg",bp,Fp)}var Pp=s(Ap,[["render",Dp],["__file","school.vue"]]),Rp={name:"Scissor"},Tp={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Op=e("path",{fill:"currentColor",d:"m512.064 578.368-106.88 152.768a160 160 0 1 1-23.36-78.208L472.96 522.56 196.864 128.256a32 32 0 1 1 52.48-36.736l393.024 561.344a160 160 0 1 1-23.36 78.208l-106.88-152.704zm54.4-189.248 208.384-297.6a32 32 0 0 1 52.48 36.736l-221.76 316.672-39.04-55.808zm-376.32 425.856a96 96 0 1 0 110.144-157.248 96 96 0 0 0-110.08 157.248zm643.84 0a96 96 0 1 0-110.08-157.248 96 96 0 0 0 110.08 157.248z"},null,-1),Gp=[Op];function Up(t,a,_,r,l,i){return o(),n("svg",Tp,Gp)}var Wp=s(Rp,[["render",Up],["__file","scissor.vue"]]),Ip={name:"Search"},Ep={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Np=e("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704z"},null,-1),Zp=[Np];function Kp(t,a,_,r,l,i){return o(),n("svg",Ep,Zp)}var Qp=s(Ip,[["render",Kp],["__file","search.vue"]]),jp={name:"Select"},Jp={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Xp=e("path",{fill:"currentColor",d:"M77.248 415.04a64 64 0 0 1 90.496 0l226.304 226.304L846.528 188.8a64 64 0 1 1 90.56 90.496l-543.04 543.04-316.8-316.8a64 64 0 0 1 0-90.496z"},null,-1),Yp=[Xp];function ef(t,a,_,r,l,i){return o(),n("svg",Jp,Yp)}var tf=s(jp,[["render",ef],["__file","select.vue"]]),_f={name:"Sell"},af={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},rf=e("path",{fill:"currentColor",d:"M704 288h131.072a32 32 0 0 1 31.808 28.8L886.4 512h-64.384l-16-160H704v96a32 32 0 1 1-64 0v-96H384v96a32 32 0 0 1-64 0v-96H217.92l-51.2 512H512v64H131.328a32 32 0 0 1-31.808-35.2l57.6-576a32 32 0 0 1 31.808-28.8H320v-22.336C320 154.688 405.504 64 512 64s192 90.688 192 201.664v22.4zm-64 0v-22.336C640 189.248 582.272 128 512 128c-70.272 0-128 61.248-128 137.664v22.4h256zm201.408 483.84L768 698.496V928a32 32 0 1 1-64 0V698.496l-73.344 73.344a32 32 0 1 1-45.248-45.248l128-128a32 32 0 0 1 45.248 0l128 128a32 32 0 1 1-45.248 45.248z"},null,-1),lf=[rf];function of(t,a,_,r,l,i){return o(),n("svg",af,lf)}var nf=s(_f,[["render",of],["__file","sell.vue"]]),sf={name:"SemiSelect"},uf={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},vf=e("path",{fill:"currentColor",d:"M128 448h768q64 0 64 64t-64 64H128q-64 0-64-64t64-64z"},null,-1),df=[vf];function cf(t,a,_,r,l,i){return o(),n("svg",uf,df)}var hf=s(sf,[["render",cf],["__file","semi-select.vue"]]),pf={name:"Service"},ff={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},wf=e("path",{fill:"currentColor",d:"M864 409.6a192 192 0 0 1-37.888 349.44A256.064 256.064 0 0 1 576 960h-96a32 32 0 1 1 0-64h96a192.064 192.064 0 0 0 181.12-128H736a32 32 0 0 1-32-32V416a32 32 0 0 1 32-32h32c10.368 0 20.544.832 30.528 2.432a288 288 0 0 0-573.056 0A193.235 193.235 0 0 1 256 384h32a32 32 0 0 1 32 32v320a32 32 0 0 1-32 32h-32a192 192 0 0 1-96-358.4 352 352 0 0 1 704 0zM256 448a128 128 0 1 0 0 256V448zm640 128a128 128 0 0 0-128-128v256a128 128 0 0 0 128-128z"},null,-1),mf=[wf];function gf(t,a,_,r,l,i){return o(),n("svg",ff,mf)}var $f=s(pf,[["render",gf],["__file","service.vue"]]),zf={name:"SetUp"},xf={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Hf=e("path",{fill:"currentColor",d:"M224 160a64 64 0 0 0-64 64v576a64 64 0 0 0 64 64h576a64 64 0 0 0 64-64V224a64 64 0 0 0-64-64H224zm0-64h576a128 128 0 0 1 128 128v576a128 128 0 0 1-128 128H224A128 128 0 0 1 96 800V224A128 128 0 0 1 224 96z"},null,-1),Mf=e("path",{fill:"currentColor",d:"M384 416a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256z"},null,-1),Cf=e("path",{fill:"currentColor",d:"M480 320h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32zm160 416a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256z"},null,-1),Vf=e("path",{fill:"currentColor",d:"M288 640h256q32 0 32 32t-32 32H288q-32 0-32-32t32-32z"},null,-1),yf=[Hf,Mf,Cf,Vf];function Bf(t,a,_,r,l,i){return o(),n("svg",xf,yf)}var Lf=s(zf,[["render",Bf],["__file","set-up.vue"]]),Af={name:"Setting"},bf={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},kf=e("path",{fill:"currentColor",d:"M600.704 64a32 32 0 0 1 30.464 22.208l35.2 109.376c14.784 7.232 28.928 15.36 42.432 24.512l112.384-24.192a32 32 0 0 1 34.432 15.36L944.32 364.8a32 32 0 0 1-4.032 37.504l-77.12 85.12a357.12 357.12 0 0 1 0 49.024l77.12 85.248a32 32 0 0 1 4.032 37.504l-88.704 153.6a32 32 0 0 1-34.432 15.296L708.8 803.904c-13.44 9.088-27.648 17.28-42.368 24.512l-35.264 109.376A32 32 0 0 1 600.704 960H423.296a32 32 0 0 1-30.464-22.208L357.696 828.48a351.616 351.616 0 0 1-42.56-24.64l-112.32 24.256a32 32 0 0 1-34.432-15.36L79.68 659.2a32 32 0 0 1 4.032-37.504l77.12-85.248a357.12 357.12 0 0 1 0-48.896l-77.12-85.248A32 32 0 0 1 79.68 364.8l88.704-153.6a32 32 0 0 1 34.432-15.296l112.32 24.256c13.568-9.152 27.776-17.408 42.56-24.64l35.2-109.312A32 32 0 0 1 423.232 64H600.64zm-23.424 64H446.72l-36.352 113.088-24.512 11.968a294.113 294.113 0 0 0-34.816 20.096l-22.656 15.36-116.224-25.088-65.28 113.152 79.68 88.192-1.92 27.136a293.12 293.12 0 0 0 0 40.192l1.92 27.136-79.808 88.192 65.344 113.152 116.224-25.024 22.656 15.296a294.113 294.113 0 0 0 34.816 20.096l24.512 11.968L446.72 896h130.688l36.48-113.152 24.448-11.904a288.282 288.282 0 0 0 34.752-20.096l22.592-15.296 116.288 25.024 65.28-113.152-79.744-88.192 1.92-27.136a293.12 293.12 0 0 0 0-40.256l-1.92-27.136 79.808-88.128-65.344-113.152-116.288 24.96-22.592-15.232a287.616 287.616 0 0 0-34.752-20.096l-24.448-11.904L577.344 128zM512 320a192 192 0 1 1 0 384 192 192 0 0 1 0-384zm0 64a128 128 0 1 0 0 256 128 128 0 0 0 0-256z"},null,-1),Sf=[kf];function qf(t,a,_,r,l,i){return o(),n("svg",bf,Sf)}var Ff=s(Af,[["render",qf],["__file","setting.vue"]]),Df={name:"Share"},Pf={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Rf=e("path",{fill:"currentColor",d:"m679.872 348.8-301.76 188.608a127.808 127.808 0 0 1 5.12 52.16l279.936 104.96a128 128 0 1 1-22.464 59.904l-279.872-104.96a128 128 0 1 1-16.64-166.272l301.696-188.608a128 128 0 1 1 33.92 54.272z"},null,-1),Tf=[Rf];function Of(t,a,_,r,l,i){return o(),n("svg",Pf,Tf)}var Gf=s(Df,[["render",Of],["__file","share.vue"]]),Uf={name:"Ship"},Wf={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},If=e("path",{fill:"currentColor",d:"M512 386.88V448h405.568a32 32 0 0 1 30.72 40.768l-76.48 267.968A192 192 0 0 1 687.168 896H336.832a192 192 0 0 1-184.64-139.264L75.648 488.768A32 32 0 0 1 106.368 448H448V117.888a32 32 0 0 1 47.36-28.096l13.888 7.616L512 96v2.88l231.68 126.4a32 32 0 0 1-2.048 57.216L512 386.88zm0-70.272 144.768-65.792L512 171.84v144.768zM512 512H148.864l18.24 64H856.96l18.24-64H512zM185.408 640l28.352 99.2A128 128 0 0 0 336.832 832h350.336a128 128 0 0 0 123.072-92.8l28.352-99.2H185.408z"},null,-1),Ef=[If];function Nf(t,a,_,r,l,i){return o(),n("svg",Wf,Ef)}var Zf=s(Uf,[["render",Nf],["__file","ship.vue"]]),Kf={name:"Shop"},Qf={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},jf=e("path",{fill:"currentColor",d:"M704 704h64v192H256V704h64v64h384v-64zm188.544-152.192C894.528 559.616 896 567.616 896 576a96 96 0 1 1-192 0 96 96 0 1 1-192 0 96 96 0 1 1-192 0 96 96 0 1 1-192 0c0-8.384 1.408-16.384 3.392-24.192L192 128h640l60.544 423.808z"},null,-1),Jf=[jf];function Xf(t,a,_,r,l,i){return o(),n("svg",Qf,Jf)}var Yf=s(Kf,[["render",Xf],["__file","shop.vue"]]),ew={name:"ShoppingBag"},tw={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},_w=e("path",{fill:"currentColor",d:"M704 320v96a32 32 0 0 1-32 32h-32V320H384v128h-32a32 32 0 0 1-32-32v-96H192v576h640V320H704zm-384-64a192 192 0 1 1 384 0h160a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32h160zm64 0h256a128 128 0 1 0-256 0z"},null,-1),aw=e("path",{fill:"currentColor",d:"M192 704h640v64H192z"},null,-1),rw=[_w,aw];function lw(t,a,_,r,l,i){return o(),n("svg",tw,rw)}var ow=s(ew,[["render",lw],["__file","shopping-bag.vue"]]),nw={name:"ShoppingCartFull"},sw={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},iw=e("path",{fill:"currentColor",d:"M432 928a48 48 0 1 1 0-96 48 48 0 0 1 0 96zm320 0a48 48 0 1 1 0-96 48 48 0 0 1 0 96zM96 128a32 32 0 0 1 0-64h160a32 32 0 0 1 31.36 25.728L320.64 256H928a32 32 0 0 1 31.296 38.72l-96 448A32 32 0 0 1 832 768H384a32 32 0 0 1-31.36-25.728L229.76 128H96zm314.24 576h395.904l82.304-384H333.44l76.8 384z"},null,-1),uw=e("path",{fill:"currentColor",d:"M699.648 256 608 145.984 516.352 256h183.296zm-140.8-151.04a64 64 0 0 1 98.304 0L836.352 320H379.648l179.2-215.04z"},null,-1),vw=[iw,uw];function dw(t,a,_,r,l,i){return o(),n("svg",sw,vw)}var cw=s(nw,[["render",dw],["__file","shopping-cart-full.vue"]]),hw={name:"ShoppingCart"},pw={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},fw=e("path",{fill:"currentColor",d:"M432 928a48 48 0 1 1 0-96 48 48 0 0 1 0 96zm320 0a48 48 0 1 1 0-96 48 48 0 0 1 0 96zM96 128a32 32 0 0 1 0-64h160a32 32 0 0 1 31.36 25.728L320.64 256H928a32 32 0 0 1 31.296 38.72l-96 448A32 32 0 0 1 832 768H384a32 32 0 0 1-31.36-25.728L229.76 128H96zm314.24 576h395.904l82.304-384H333.44l76.8 384z"},null,-1),ww=[fw];function mw(t,a,_,r,l,i){return o(),n("svg",pw,ww)}var gw=s(hw,[["render",mw],["__file","shopping-cart.vue"]]),$w={name:"ShoppingTrolley"},zw={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},xw=e("path",{d:"M368 833c-13.3 0-24.5 4.5-33.5 13.5S321 866.7 321 880s4.5 24.5 13.5 33.5 20.2 13.8 33.5 14.5c13.3-.7 24.5-5.5 33.5-14.5S415 893.3 415 880s-4.5-24.5-13.5-33.5S381.3 833 368 833zm439-193c7.4 0 13.8-2.2 19.5-6.5S836 623.3 838 616l112-448c2-10-.2-19.2-6.5-27.5S929 128 919 128H96c-9.3 0-17 3-23 9s-9 13.7-9 23 3 17 9 23 13.7 9 23 9h96v576h672c9.3 0 17-3 23-9s9-13.7 9-23-3-17-9-23-13.7-9-23-9H256v-64h551zM256 192h622l-96 384H256V192zm432 641c-13.3 0-24.5 4.5-33.5 13.5S641 866.7 641 880s4.5 24.5 13.5 33.5 20.2 13.8 33.5 14.5c13.3-.7 24.5-5.5 33.5-14.5S735 893.3 735 880s-4.5-24.5-13.5-33.5S701.3 833 688 833z",fill:"currentColor"},null,-1),Hw=[xw];function Mw(t,a,_,r,l,i){return o(),n("svg",zw,Hw)}var Cw=s($w,[["render",Mw],["__file","shopping-trolley.vue"]]),Vw={name:"Smoking"},yw={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Bw=e("path",{fill:"currentColor",d:"M256 576v128h640V576H256zm-32-64h704a32 32 0 0 1 32 32v192a32 32 0 0 1-32 32H224a32 32 0 0 1-32-32V544a32 32 0 0 1 32-32z"},null,-1),Lw=e("path",{fill:"currentColor",d:"M704 576h64v128h-64zM256 64h64v320h-64zM128 192h64v192h-64zM64 512h64v256H64z"},null,-1),Aw=[Bw,Lw];function bw(t,a,_,r,l,i){return o(),n("svg",yw,Aw)}var kw=s(Vw,[["render",bw],["__file","smoking.vue"]]),Sw={name:"Soccer"},qw={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Fw=e("path",{fill:"currentColor",d:"M418.496 871.04 152.256 604.8c-16.512 94.016-2.368 178.624 42.944 224 44.928 44.928 129.344 58.752 223.296 42.24zm72.32-18.176a573.056 573.056 0 0 0 224.832-137.216 573.12 573.12 0 0 0 137.216-224.832L533.888 171.84a578.56 578.56 0 0 0-227.52 138.496A567.68 567.68 0 0 0 170.432 532.48l320.384 320.384zM871.04 418.496c16.512-93.952 2.688-178.368-42.24-223.296-44.544-44.544-128.704-58.048-222.592-41.536L871.04 418.496zM149.952 874.048c-112.96-112.96-88.832-408.96 111.168-608.96C461.056 65.152 760.96 36.928 874.048 149.952c113.024 113.024 86.784 411.008-113.152 610.944-199.936 199.936-497.92 226.112-610.944 113.152zm452.544-497.792 22.656-22.656a32 32 0 0 1 45.248 45.248l-22.656 22.656 45.248 45.248A32 32 0 1 1 647.744 512l-45.248-45.248L557.248 512l45.248 45.248a32 32 0 1 1-45.248 45.248L512 557.248l-45.248 45.248L512 647.744a32 32 0 1 1-45.248 45.248l-45.248-45.248-22.656 22.656a32 32 0 1 1-45.248-45.248l22.656-22.656-45.248-45.248A32 32 0 1 1 376.256 512l45.248 45.248L466.752 512l-45.248-45.248a32 32 0 1 1 45.248-45.248L512 466.752l45.248-45.248L512 376.256a32 32 0 0 1 45.248-45.248l45.248 45.248z"},null,-1),Dw=[Fw];function Pw(t,a,_,r,l,i){return o(),n("svg",qw,Dw)}var Rw=s(Sw,[["render",Pw],["__file","soccer.vue"]]),Tw={name:"SoldOut"},Ow={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Gw=e("path",{fill:"currentColor",d:"M704 288h131.072a32 32 0 0 1 31.808 28.8L886.4 512h-64.384l-16-160H704v96a32 32 0 1 1-64 0v-96H384v96a32 32 0 0 1-64 0v-96H217.92l-51.2 512H512v64H131.328a32 32 0 0 1-31.808-35.2l57.6-576a32 32 0 0 1 31.808-28.8H320v-22.336C320 154.688 405.504 64 512 64s192 90.688 192 201.664v22.4zm-64 0v-22.336C640 189.248 582.272 128 512 128c-70.272 0-128 61.248-128 137.664v22.4h256zm201.408 476.16a32 32 0 1 1 45.248 45.184l-128 128a32 32 0 0 1-45.248 0l-128-128a32 32 0 1 1 45.248-45.248L704 837.504V608a32 32 0 1 1 64 0v229.504l73.408-73.408z"},null,-1),Uw=[Gw];function Ww(t,a,_,r,l,i){return o(),n("svg",Ow,Uw)}var Iw=s(Tw,[["render",Ww],["__file","sold-out.vue"]]),Ew={name:"SortDown"},Nw={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Zw=e("path",{fill:"currentColor",d:"M576 96v709.568L333.312 562.816A32 32 0 1 0 288 608l297.408 297.344A32 32 0 0 0 640 882.688V96a32 32 0 0 0-64 0z"},null,-1),Kw=[Zw];function Qw(t,a,_,r,l,i){return o(),n("svg",Nw,Kw)}var jw=s(Ew,[["render",Qw],["__file","sort-down.vue"]]),Jw={name:"SortUp"},Xw={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Yw=e("path",{fill:"currentColor",d:"M384 141.248V928a32 32 0 1 0 64 0V218.56l242.688 242.688A32 32 0 1 0 736 416L438.592 118.656A32 32 0 0 0 384 141.248z"},null,-1),em=[Yw];function tm(t,a,_,r,l,i){return o(),n("svg",Xw,em)}var _m=s(Jw,[["render",tm],["__file","sort-up.vue"]]),am={name:"Sort"},rm={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},lm=e("path",{fill:"currentColor",d:"M384 96a32 32 0 0 1 64 0v786.752a32 32 0 0 1-54.592 22.656L95.936 608a32 32 0 0 1 0-45.312h.128a32 32 0 0 1 45.184 0L384 805.632V96zm192 45.248a32 32 0 0 1 54.592-22.592L928.064 416a32 32 0 0 1 0 45.312h-.128a32 32 0 0 1-45.184 0L640 218.496V928a32 32 0 1 1-64 0V141.248z"},null,-1),om=[lm];function nm(t,a,_,r,l,i){return o(),n("svg",rm,om)}var sm=s(am,[["render",nm],["__file","sort.vue"]]),im={name:"Stamp"},um={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},vm=e("path",{fill:"currentColor",d:"M624 475.968V640h144a128 128 0 0 1 128 128H128a128 128 0 0 1 128-128h144V475.968a192 192 0 1 1 224 0zM128 896v-64h768v64H128z"},null,-1),dm=[vm];function cm(t,a,_,r,l,i){return o(),n("svg",um,dm)}var hm=s(im,[["render",cm],["__file","stamp.vue"]]),pm={name:"StarFilled"},fm={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},wm=e("path",{fill:"currentColor",d:"M283.84 867.84 512 747.776l228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72z"},null,-1),mm=[wm];function gm(t,a,_,r,l,i){return o(),n("svg",fm,mm)}var $m=s(pm,[["render",gm],["__file","star-filled.vue"]]),zm={name:"Star"},xm={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Hm=e("path",{fill:"currentColor",d:"m512 747.84 228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72L512 747.84zM313.6 924.48a70.4 70.4 0 0 1-102.144-74.24l37.888-220.928L88.96 472.96A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 126.208 0l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"},null,-1),Mm=[Hm];function Cm(t,a,_,r,l,i){return o(),n("svg",xm,Mm)}var Vm=s(zm,[["render",Cm],["__file","star.vue"]]),ym={name:"Stopwatch"},Bm={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Lm=e("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),Am=e("path",{fill:"currentColor",d:"M672 234.88c-39.168 174.464-80 298.624-122.688 372.48-64 110.848-202.624 30.848-138.624-80C453.376 453.44 540.48 355.968 672 234.816z"},null,-1),bm=[Lm,Am];function km(t,a,_,r,l,i){return o(),n("svg",Bm,bm)}var Sm=s(ym,[["render",km],["__file","stopwatch.vue"]]),qm={name:"SuccessFilled"},Fm={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Dm=e("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.272 38.272 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336L456.192 600.384z"},null,-1),Pm=[Dm];function Rm(t,a,_,r,l,i){return o(),n("svg",Fm,Pm)}var Tm=s(qm,[["render",Rm],["__file","success-filled.vue"]]),Om={name:"Sugar"},Gm={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Um=e("path",{fill:"currentColor",d:"m801.728 349.184 4.48 4.48a128 128 0 0 1 0 180.992L534.656 806.144a128 128 0 0 1-181.056 0l-4.48-4.48-19.392 109.696a64 64 0 0 1-108.288 34.176L78.464 802.56a64 64 0 0 1 34.176-108.288l109.76-19.328-4.544-4.544a128 128 0 0 1 0-181.056l271.488-271.488a128 128 0 0 1 181.056 0l4.48 4.48 19.392-109.504a64 64 0 0 1 108.352-34.048l142.592 143.04a64 64 0 0 1-34.24 108.16l-109.248 19.2zm-548.8 198.72h447.168v2.24l60.8-60.8a63.808 63.808 0 0 0 18.752-44.416h-426.88l-89.664 89.728a64.064 64.064 0 0 0-10.24 13.248zm0 64c2.752 4.736 6.144 9.152 10.176 13.248l135.744 135.744a64 64 0 0 0 90.496 0L638.4 611.904H252.928zm490.048-230.976L625.152 263.104a64 64 0 0 0-90.496 0L416.768 380.928h326.208zM123.712 757.312l142.976 142.976 24.32-137.6a25.6 25.6 0 0 0-29.696-29.632l-137.6 24.256zm633.6-633.344-24.32 137.472a25.6 25.6 0 0 0 29.632 29.632l137.28-24.064-142.656-143.04z"},null,-1),Wm=[Um];function Im(t,a,_,r,l,i){return o(),n("svg",Gm,Wm)}var Em=s(Om,[["render",Im],["__file","sugar.vue"]]),Nm={name:"SuitcaseLine"},Zm={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},Km=e("path",{d:"M922.5 229.5c-24.32-24.34-54.49-36.84-90.5-37.5H704v-64c-.68-17.98-7.02-32.98-19.01-44.99S658.01 64.66 640 64H384c-17.98.68-32.98 7.02-44.99 19.01S320.66 110 320 128v64H192c-35.99.68-66.16 13.18-90.5 37.5C77.16 253.82 64.66 283.99 64 320v448c.68 35.99 13.18 66.16 37.5 90.5s54.49 36.84 90.5 37.5h640c35.99-.68 66.16-13.18 90.5-37.5s36.84-54.49 37.5-90.5V320c-.68-35.99-13.18-66.16-37.5-90.5zM384 128h256v64H384v-64zM256 832h-64c-17.98-.68-32.98-7.02-44.99-19.01S128.66 786.01 128 768V448h128v384zm448 0H320V448h384v384zm192-64c-.68 17.98-7.02 32.98-19.01 44.99S850.01 831.34 832 832h-64V448h128v320zm0-384H128v-64c.69-17.98 7.02-32.98 19.01-44.99S173.99 256.66 192 256h640c17.98.69 32.98 7.02 44.99 19.01S895.34 301.99 896 320v64z",fill:"currentColor"},null,-1),Qm=[Km];function jm(t,a,_,r,l,i){return o(),n("svg",Zm,Qm)}var Jm=s(Nm,[["render",jm],["__file","suitcase-line.vue"]]),Xm={name:"Suitcase"},Ym={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},eg=e("path",{fill:"currentColor",d:"M128 384h768v-64a64 64 0 0 0-64-64H192a64 64 0 0 0-64 64v64zm0 64v320a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V448H128zm64-256h640a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H192A128 128 0 0 1 64 768V320a128 128 0 0 1 128-128z"},null,-1),tg=e("path",{fill:"currentColor",d:"M384 128v64h256v-64H384zm0-64h256a64 64 0 0 1 64 64v64a64 64 0 0 1-64 64H384a64 64 0 0 1-64-64v-64a64 64 0 0 1 64-64z"},null,-1),_g=[eg,tg];function ag(t,a,_,r,l,i){return o(),n("svg",Ym,_g)}var rg=s(Xm,[["render",ag],["__file","suitcase.vue"]]),lg={name:"Sunny"},og={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ng=e("path",{fill:"currentColor",d:"M512 704a192 192 0 1 0 0-384 192 192 0 0 0 0 384zm0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512zm0-704a32 32 0 0 1 32 32v64a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32zm0 768a32 32 0 0 1 32 32v64a32 32 0 1 1-64 0v-64a32 32 0 0 1 32-32zM195.2 195.2a32 32 0 0 1 45.248 0l45.248 45.248a32 32 0 1 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm543.104 543.104a32 32 0 0 1 45.248 0l45.248 45.248a32 32 0 0 1-45.248 45.248l-45.248-45.248a32 32 0 0 1 0-45.248zM64 512a32 32 0 0 1 32-32h64a32 32 0 0 1 0 64H96a32 32 0 0 1-32-32zm768 0a32 32 0 0 1 32-32h64a32 32 0 1 1 0 64h-64a32 32 0 0 1-32-32zM195.2 828.8a32 32 0 0 1 0-45.248l45.248-45.248a32 32 0 0 1 45.248 45.248L240.448 828.8a32 32 0 0 1-45.248 0zm543.104-543.104a32 32 0 0 1 0-45.248l45.248-45.248a32 32 0 0 1 45.248 45.248l-45.248 45.248a32 32 0 0 1-45.248 0z"},null,-1),sg=[ng];function ig(t,a,_,r,l,i){return o(),n("svg",og,sg)}var ug=s(lg,[["render",ig],["__file","sunny.vue"]]),vg={name:"Sunrise"},dg={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},cg=e("path",{fill:"currentColor",d:"M32 768h960a32 32 0 1 1 0 64H32a32 32 0 1 1 0-64zm129.408-96a352 352 0 0 1 701.184 0h-64.32a288 288 0 0 0-572.544 0h-64.32zM512 128a32 32 0 0 1 32 32v96a32 32 0 0 1-64 0v-96a32 32 0 0 1 32-32zm407.296 168.704a32 32 0 0 1 0 45.248l-67.84 67.84a32 32 0 1 1-45.248-45.248l67.84-67.84a32 32 0 0 1 45.248 0zm-814.592 0a32 32 0 0 1 45.248 0l67.84 67.84a32 32 0 1 1-45.248 45.248l-67.84-67.84a32 32 0 0 1 0-45.248z"},null,-1),hg=[cg];function pg(t,a,_,r,l,i){return o(),n("svg",dg,hg)}var fg=s(vg,[["render",pg],["__file","sunrise.vue"]]),wg={name:"Sunset"},mg={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},gg=e("path",{fill:"currentColor",d:"M82.56 640a448 448 0 1 1 858.88 0h-67.2a384 384 0 1 0-724.288 0H82.56zM32 704h960q32 0 32 32t-32 32H32q-32 0-32-32t32-32zm256 128h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32z"},null,-1),$g=[gg];function zg(t,a,_,r,l,i){return o(),n("svg",mg,$g)}var xg=s(wg,[["render",zg],["__file","sunset.vue"]]),Hg={name:"SwitchButton"},Mg={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Cg=e("path",{fill:"currentColor",d:"M352 159.872V230.4a352 352 0 1 0 320 0v-70.528A416.128 416.128 0 0 1 512 960a416 416 0 0 1-160-800.128z"},null,-1),Vg=e("path",{fill:"currentColor",d:"M512 64q32 0 32 32v320q0 32-32 32t-32-32V96q0-32 32-32z"},null,-1),yg=[Cg,Vg];function Bg(t,a,_,r,l,i){return o(),n("svg",Mg,yg)}var Lg=s(Hg,[["render",Bg],["__file","switch-button.vue"]]),Ag={name:"SwitchFilled"},bg={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},kg=e("path",{d:"M247.47 358.4v.04c.07 19.17 7.72 37.53 21.27 51.09s31.92 21.2 51.09 21.27c39.86 0 72.41-32.6 72.41-72.4s-32.6-72.36-72.41-72.36-72.36 32.55-72.36 72.36z",fill:"currentColor"},null,-1),Sg=e("path",{d:"M492.38 128H324.7c-52.16 0-102.19 20.73-139.08 57.61a196.655 196.655 0 0 0-57.61 139.08V698.7c-.01 25.84 5.08 51.42 14.96 75.29s24.36 45.56 42.63 63.83 39.95 32.76 63.82 42.65a196.67 196.67 0 0 0 75.28 14.98h167.68c3.03 0 5.46-2.43 5.46-5.42V133.42c.6-2.99-1.83-5.42-5.46-5.42zm-56.11 705.88H324.7c-17.76.13-35.36-3.33-51.75-10.18s-31.22-16.94-43.61-29.67c-25.3-25.35-39.81-59.1-39.81-95.32V324.69c-.13-17.75 3.33-35.35 10.17-51.74a131.695 131.695 0 0 1 29.64-43.62c25.39-25.3 59.14-39.81 95.36-39.81h111.57v644.36zm402.12-647.67a196.655 196.655 0 0 0-139.08-57.61H580.48c-3.03 0-4.82 2.43-4.82 4.82v757.16c-.6 2.99 1.79 5.42 5.42 5.42h118.23a196.69 196.69 0 0 0 139.08-57.61A196.655 196.655 0 0 0 896 699.31V325.29a196.69 196.69 0 0 0-57.61-139.08zm-111.3 441.92c-42.83 0-77.82-34.99-77.82-77.82s34.98-77.82 77.82-77.82c42.83 0 77.82 34.99 77.82 77.82s-34.99 77.82-77.82 77.82z",fill:"currentColor"},null,-1),qg=[kg,Sg];function Fg(t,a,_,r,l,i){return o(),n("svg",bg,qg)}var Dg=s(Ag,[["render",Fg],["__file","switch-filled.vue"]]),Pg={name:"Switch"},Rg={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Tg=e("path",{fill:"currentColor",d:"M118.656 438.656a32 32 0 0 1 0-45.248L416 96l4.48-3.776A32 32 0 0 1 461.248 96l3.712 4.48a32.064 32.064 0 0 1-3.712 40.832L218.56 384H928a32 32 0 1 1 0 64H141.248a32 32 0 0 1-22.592-9.344zM64 608a32 32 0 0 1 32-32h786.752a32 32 0 0 1 22.656 54.592L608 928l-4.48 3.776a32.064 32.064 0 0 1-40.832-49.024L805.632 640H96a32 32 0 0 1-32-32z"},null,-1),Og=[Tg];function Gg(t,a,_,r,l,i){return o(),n("svg",Rg,Og)}var Ug=s(Pg,[["render",Gg],["__file","switch.vue"]]),Wg={name:"TakeawayBox"},Ig={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Eg=e("path",{fill:"currentColor",d:"M832 384H192v448h640V384zM96 320h832V128H96v192zm800 64v480a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V384H64a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32h896a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32h-64zM416 512h192a32 32 0 0 1 0 64H416a32 32 0 0 1 0-64z"},null,-1),Ng=[Eg];function Zg(t,a,_,r,l,i){return o(),n("svg",Ig,Ng)}var Kg=s(Wg,[["render",Zg],["__file","takeaway-box.vue"]]),Qg={name:"Ticket"},jg={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Jg=e("path",{fill:"currentColor",d:"M640 832H64V640a128 128 0 1 0 0-256V192h576v160h64V192h256v192a128 128 0 1 0 0 256v192H704V672h-64v160zm0-416v192h64V416h-64z"},null,-1),Xg=[Jg];function Yg(t,a,_,r,l,i){return o(),n("svg",jg,Xg)}var e$=s(Qg,[["render",Yg],["__file","ticket.vue"]]),t$={name:"Tickets"},_$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},a$=e("path",{fill:"currentColor",d:"M192 128v768h640V128H192zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm160 448h384v64H320v-64zm0-192h192v64H320v-64zm0 384h384v64H320v-64z"},null,-1),r$=[a$];function l$(t,a,_,r,l,i){return o(),n("svg",_$,r$)}var o$=s(t$,[["render",l$],["__file","tickets.vue"]]),n$={name:"Timer"},s$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},i$=e("path",{fill:"currentColor",d:"M512 896a320 320 0 1 0 0-640 320 320 0 0 0 0 640zm0 64a384 384 0 1 1 0-768 384 384 0 0 1 0 768z"},null,-1),u$=e("path",{fill:"currentColor",d:"M512 320a32 32 0 0 1 32 32l-.512 224a32 32 0 1 1-64 0L480 352a32 32 0 0 1 32-32z"},null,-1),v$=e("path",{fill:"currentColor",d:"M448 576a64 64 0 1 0 128 0 64 64 0 1 0-128 0zm96-448v128h-64V128h-96a32 32 0 0 1 0-64h256a32 32 0 1 1 0 64h-96z"},null,-1),d$=[i$,u$,v$];function c$(t,a,_,r,l,i){return o(),n("svg",s$,d$)}var h$=s(n$,[["render",c$],["__file","timer.vue"]]),p$={name:"ToiletPaper"},f$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},w$=e("path",{fill:"currentColor",d:"M595.2 128H320a192 192 0 0 0-192 192v576h384V352c0-90.496 32.448-171.2 83.2-224zM736 64c123.712 0 224 128.96 224 288S859.712 640 736 640H576v320H64V320A256 256 0 0 1 320 64h416zM576 352v224h160c84.352 0 160-97.28 160-224s-75.648-224-160-224-160 97.28-160 224z"},null,-1),m$=e("path",{fill:"currentColor",d:"M736 448c-35.328 0-64-43.008-64-96s28.672-96 64-96 64 43.008 64 96-28.672 96-64 96z"},null,-1),g$=[w$,m$];function $$(t,a,_,r,l,i){return o(),n("svg",f$,g$)}var z$=s(p$,[["render",$$],["__file","toilet-paper.vue"]]),x$={name:"Tools"},H$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},M$=e("path",{fill:"currentColor",d:"M764.416 254.72a351.68 351.68 0 0 1 86.336 149.184H960v192.064H850.752a351.68 351.68 0 0 1-86.336 149.312l54.72 94.72-166.272 96-54.592-94.72a352.64 352.64 0 0 1-172.48 0L371.136 936l-166.272-96 54.72-94.72a351.68 351.68 0 0 1-86.336-149.312H64v-192h109.248a351.68 351.68 0 0 1 86.336-149.312L204.8 160l166.208-96h.192l54.656 94.592a352.64 352.64 0 0 1 172.48 0L652.8 64h.128L819.2 160l-54.72 94.72zM704 499.968a192 192 0 1 0-384 0 192 192 0 0 0 384 0z"},null,-1),C$=[M$];function V$(t,a,_,r,l,i){return o(),n("svg",H$,C$)}var y$=s(x$,[["render",V$],["__file","tools.vue"]]),B$={name:"TopLeft"},L$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},A$=e("path",{fill:"currentColor",d:"M256 256h416a32 32 0 1 0 0-64H224a32 32 0 0 0-32 32v448a32 32 0 0 0 64 0V256z"},null,-1),b$=e("path",{fill:"currentColor",d:"M246.656 201.344a32 32 0 0 0-45.312 45.312l544 544a32 32 0 0 0 45.312-45.312l-544-544z"},null,-1),k$=[A$,b$];function S$(t,a,_,r,l,i){return o(),n("svg",L$,k$)}var q$=s(B$,[["render",S$],["__file","top-left.vue"]]),F$={name:"TopRight"},D$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},P$=e("path",{fill:"currentColor",d:"M768 256H353.6a32 32 0 1 1 0-64H800a32 32 0 0 1 32 32v448a32 32 0 0 1-64 0V256z"},null,-1),R$=e("path",{fill:"currentColor",d:"M777.344 201.344a32 32 0 0 1 45.312 45.312l-544 544a32 32 0 0 1-45.312-45.312l544-544z"},null,-1),T$=[P$,R$];function O$(t,a,_,r,l,i){return o(),n("svg",D$,T$)}var G$=s(F$,[["render",O$],["__file","top-right.vue"]]),U$={name:"Top"},W$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},I$=e("path",{fill:"currentColor",d:"M572.235 205.282v600.365a30.118 30.118 0 1 1-60.235 0V205.282L292.382 438.633a28.913 28.913 0 0 1-42.646 0 33.43 33.43 0 0 1 0-45.236l271.058-288.045a28.913 28.913 0 0 1 42.647 0L834.5 393.397a33.43 33.43 0 0 1 0 45.176 28.913 28.913 0 0 1-42.647 0l-219.618-233.23z"},null,-1),E$=[I$];function N$(t,a,_,r,l,i){return o(),n("svg",W$,E$)}var Z$=s(U$,[["render",N$],["__file","top.vue"]]),K$={name:"TrendCharts"},Q$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},j$=e("path",{fill:"currentColor",d:"M128 896V128h768v768H128zm291.712-327.296 128 102.4 180.16-201.792-47.744-42.624-139.84 156.608-128-102.4-180.16 201.792 47.744 42.624 139.84-156.608zM816 352a48 48 0 1 0-96 0 48 48 0 0 0 96 0z"},null,-1),J$=[j$];function X$(t,a,_,r,l,i){return o(),n("svg",Q$,J$)}var Y$=s(K$,[["render",X$],["__file","trend-charts.vue"]]),ez={name:"TrophyBase"},tz={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},_z=e("path",{d:"M918.4 201.6c-6.4-6.4-12.8-9.6-22.4-9.6H768V96c0-9.6-3.2-16-9.6-22.4C752 67.2 745.6 64 736 64H288c-9.6 0-16 3.2-22.4 9.6C259.2 80 256 86.4 256 96v96H128c-9.6 0-16 3.2-22.4 9.6-6.4 6.4-9.6 16-9.6 22.4 3.2 108.8 25.6 185.6 64 224 34.4 34.4 77.56 55.65 127.65 61.99 10.91 20.44 24.78 39.25 41.95 56.41 40.86 40.86 91 65.47 150.4 71.9V768h-96c-9.6 0-16 3.2-22.4 9.6-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4c6.4 6.4 12.8 9.6 22.4 9.6h256c9.6 0 16-3.2 22.4-9.6 6.4-6.4 9.6-12.8 9.6-22.4s-3.2-16-9.6-22.4c-6.4-6.4-12.8-9.6-22.4-9.6h-96V637.26c59.4-7.71 109.54-30.01 150.4-70.86 17.2-17.2 31.51-36.06 42.81-56.55 48.93-6.51 90.02-27.7 126.79-61.85 38.4-38.4 60.8-112 64-224 0-6.4-3.2-16-9.6-22.4zM256 438.4c-19.2-6.4-35.2-19.2-51.2-35.2-22.4-22.4-35.2-70.4-41.6-147.2H256v182.4zm390.4 80C608 553.6 566.4 576 512 576s-99.2-19.2-134.4-57.6C342.4 480 320 438.4 320 384V128h384v256c0 54.4-19.2 99.2-57.6 134.4zm172.8-115.2c-16 16-32 25.6-51.2 35.2V256h92.8c-6.4 76.8-19.2 124.8-41.6 147.2zM768 896H256c-9.6 0-16 3.2-22.4 9.6-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4c6.4 6.4 12.8 9.6 22.4 9.6h512c9.6 0 16-3.2 22.4-9.6 6.4-6.4 9.6-12.8 9.6-22.4s-3.2-16-9.6-22.4c-6.4-6.4-12.8-9.6-22.4-9.6z",fill:"currentColor"},null,-1),az=[_z];function rz(t,a,_,r,l,i){return o(),n("svg",tz,az)}var lz=s(ez,[["render",rz],["__file","trophy-base.vue"]]),oz={name:"Trophy"},nz={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},sz=e("path",{fill:"currentColor",d:"M480 896V702.08A256.256 256.256 0 0 1 264.064 512h-32.64a96 96 0 0 1-91.968-68.416L93.632 290.88a76.8 76.8 0 0 1 73.6-98.88H256V96a32 32 0 0 1 32-32h448a32 32 0 0 1 32 32v96h88.768a76.8 76.8 0 0 1 73.6 98.88L884.48 443.52A96 96 0 0 1 792.576 512h-32.64A256.256 256.256 0 0 1 544 702.08V896h128a32 32 0 1 1 0 64H352a32 32 0 1 1 0-64h128zm224-448V128H320v320a192 192 0 1 0 384 0zm64 0h24.576a32 32 0 0 0 30.656-22.784l45.824-152.768A12.8 12.8 0 0 0 856.768 256H768v192zm-512 0V256h-88.768a12.8 12.8 0 0 0-12.288 16.448l45.824 152.768A32 32 0 0 0 231.424 448H256z"},null,-1),iz=[sz];function uz(t,a,_,r,l,i){return o(),n("svg",nz,iz)}var vz=s(oz,[["render",uz],["__file","trophy.vue"]]),dz={name:"TurnOff"},cz={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},hz=e("path",{fill:"currentColor",d:"M329.956 257.138a254.862 254.862 0 0 0 0 509.724h364.088a254.862 254.862 0 0 0 0-509.724H329.956zm0-72.818h364.088a327.68 327.68 0 1 1 0 655.36H329.956a327.68 327.68 0 1 1 0-655.36z"},null,-1),pz=e("path",{fill:"currentColor",d:"M329.956 621.227a109.227 109.227 0 1 0 0-218.454 109.227 109.227 0 0 0 0 218.454zm0 72.817a182.044 182.044 0 1 1 0-364.088 182.044 182.044 0 0 1 0 364.088z"},null,-1),fz=[hz,pz];function wz(t,a,_,r,l,i){return o(),n("svg",cz,fz)}var mz=s(dz,[["render",wz],["__file","turn-off.vue"]]),gz={name:"Umbrella"},$z={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},zz=e("path",{fill:"currentColor",d:"M320 768a32 32 0 1 1 64 0 64 64 0 0 0 128 0V512H64a448 448 0 1 1 896 0H576v256a128 128 0 1 1-256 0zm570.688-320a384.128 384.128 0 0 0-757.376 0h757.376z"},null,-1),xz=[zz];function Hz(t,a,_,r,l,i){return o(),n("svg",$z,xz)}var Mz=s(gz,[["render",Hz],["__file","umbrella.vue"]]),Cz={name:"Unlock"},Vz={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},yz=e("path",{fill:"currentColor",d:"M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32H224zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96z"},null,-1),Bz=e("path",{fill:"currentColor",d:"M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32zm178.304-295.296A192.064 192.064 0 0 0 320 320v64h352l96 38.4V448H256V320a256 256 0 0 1 493.76-95.104l-59.456 23.808z"},null,-1),Lz=[yz,Bz];function Az(t,a,_,r,l,i){return o(),n("svg",Vz,Lz)}var bz=s(Cz,[["render",Az],["__file","unlock.vue"]]),kz={name:"UploadFilled"},Sz={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},qz=e("path",{fill:"currentColor",d:"M544 864V672h128L512 480 352 672h128v192H320v-1.6c-5.376.32-10.496 1.6-16 1.6A240 240 0 0 1 64 624c0-123.136 93.12-223.488 212.608-237.248A239.808 239.808 0 0 1 512 192a239.872 239.872 0 0 1 235.456 194.752c119.488 13.76 212.48 114.112 212.48 237.248a240 240 0 0 1-240 240c-5.376 0-10.56-1.28-16-1.6v1.6H544z"},null,-1),Fz=[qz];function Dz(t,a,_,r,l,i){return o(),n("svg",Sz,Fz)}var Pz=s(kz,[["render",Dz],["__file","upload-filled.vue"]]),Rz={name:"Upload"},Tz={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Oz=e("path",{fill:"currentColor",d:"M160 832h704a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64zm384-578.304V704h-64V247.296L237.248 490.048 192 444.8 508.8 128l316.8 316.8-45.312 45.248L544 253.696z"},null,-1),Gz=[Oz];function Uz(t,a,_,r,l,i){return o(),n("svg",Tz,Gz)}var Wz=s(Rz,[["render",Uz],["__file","upload.vue"]]),Iz={name:"UserFilled"},Ez={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Nz=e("path",{fill:"currentColor",d:"M288 320a224 224 0 1 0 448 0 224 224 0 1 0-448 0zm544 608H160a32 32 0 0 1-32-32v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 0 1-32 32z"},null,-1),Zz=[Nz];function Kz(t,a,_,r,l,i){return o(),n("svg",Ez,Zz)}var Qz=s(Iz,[["render",Kz],["__file","user-filled.vue"]]),jz={name:"User"},Jz={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Xz=e("path",{fill:"currentColor",d:"M512 512a192 192 0 1 0 0-384 192 192 0 0 0 0 384zm0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512zm320 320v-96a96 96 0 0 0-96-96H288a96 96 0 0 0-96 96v96a32 32 0 1 1-64 0v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 1 1-64 0z"},null,-1),Yz=[Xz];function ex(t,a,_,r,l,i){return o(),n("svg",Jz,Yz)}var tx=s(jz,[["render",ex],["__file","user.vue"]]),_x={name:"Van"},ax={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},rx=e("path",{fill:"currentColor",d:"M128.896 736H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32v96h164.544a32 32 0 0 1 31.616 27.136l54.144 352A32 32 0 0 1 922.688 736h-91.52a144 144 0 1 1-286.272 0H415.104a144 144 0 1 1-286.272 0zm23.36-64a143.872 143.872 0 0 1 239.488 0H568.32c17.088-25.6 42.24-45.376 71.744-55.808V256H128v416h24.256zm655.488 0h77.632l-19.648-128H704v64.896A144 144 0 0 1 807.744 672zm48.128-192-14.72-96H704v96h151.872zM688 832a80 80 0 1 0 0-160 80 80 0 0 0 0 160zm-416 0a80 80 0 1 0 0-160 80 80 0 0 0 0 160z"},null,-1),lx=[rx];function ox(t,a,_,r,l,i){return o(),n("svg",ax,lx)}var nx=s(_x,[["render",ox],["__file","van.vue"]]),sx={name:"VideoCameraFilled"},ix={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ux=e("path",{fill:"currentColor",d:"m768 576 192-64v320l-192-64v96a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V480a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32v96zM192 768v64h384v-64H192zm192-480a160 160 0 0 1 320 0 160 160 0 0 1-320 0zm64 0a96 96 0 1 0 192.064-.064A96 96 0 0 0 448 288zm-320 32a128 128 0 1 1 256.064.064A128 128 0 0 1 128 320zm64 0a64 64 0 1 0 128 0 64 64 0 0 0-128 0z"},null,-1),vx=[ux];function dx(t,a,_,r,l,i){return o(),n("svg",ix,vx)}var cx=s(sx,[["render",dx],["__file","video-camera-filled.vue"]]),hx={name:"VideoCamera"},px={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},fx=e("path",{fill:"currentColor",d:"M704 768V256H128v512h576zm64-416 192-96v512l-192-96v128a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32v128zm0 71.552v176.896l128 64V359.552l-128 64zM192 320h192v64H192v-64z"},null,-1),wx=[fx];function mx(t,a,_,r,l,i){return o(),n("svg",px,wx)}var gx=s(hx,[["render",mx],["__file","video-camera.vue"]]),$x={name:"VideoPause"},zx={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},xx=e("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768zm-96-544q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32zm192 0q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32z"},null,-1),Hx=[xx];function Mx(t,a,_,r,l,i){return o(),n("svg",zx,Hx)}var Cx=s($x,[["render",Mx],["__file","video-pause.vue"]]),Vx={name:"VideoPlay"},yx={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Bx=e("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768zm-48-247.616L668.608 512 464 375.616v272.768zm10.624-342.656 249.472 166.336a48 48 0 0 1 0 79.872L474.624 718.272A48 48 0 0 1 400 678.336V345.6a48 48 0 0 1 74.624-39.936z"},null,-1),Lx=[Bx];function Ax(t,a,_,r,l,i){return o(),n("svg",yx,Lx)}var bx=s(Vx,[["render",Ax],["__file","video-play.vue"]]),kx={name:"View"},Sx={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},qx=e("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352zm0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288zm0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448zm0 64a160.192 160.192 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160z"},null,-1),Fx=[qx];function Dx(t,a,_,r,l,i){return o(),n("svg",Sx,Fx)}var Px=s(kx,[["render",Dx],["__file","view.vue"]]),Rx={name:"WalletFilled"},Tx={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ox=e("path",{fill:"currentColor",d:"M688 512a112 112 0 1 0 0 224h208v160H128V352h768v160H688zm32 160h-32a48 48 0 0 1 0-96h32a48 48 0 0 1 0 96zm-80-544 128 160H384l256-160z"},null,-1),Gx=[Ox];function Ux(t,a,_,r,l,i){return o(),n("svg",Tx,Gx)}var Wx=s(Rx,[["render",Ux],["__file","wallet-filled.vue"]]),Ix={name:"Wallet"},Ex={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Nx=e("path",{fill:"currentColor",d:"M640 288h-64V128H128v704h384v32a32 32 0 0 0 32 32H96a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32h512a32 32 0 0 1 32 32v192z"},null,-1),Zx=e("path",{fill:"currentColor",d:"M128 320v512h768V320H128zm-32-64h832a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32z"},null,-1),Kx=e("path",{fill:"currentColor",d:"M704 640a64 64 0 1 1 0-128 64 64 0 0 1 0 128z"},null,-1),Qx=[Nx,Zx,Kx];function jx(t,a,_,r,l,i){return o(),n("svg",Ex,Qx)}var Jx=s(Ix,[["render",jx],["__file","wallet.vue"]]),Xx={name:"WarnTriangleFilled"},Yx={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},eH=e("path",{d:"M928.99 755.83 574.6 203.25c-12.89-20.16-36.76-32.58-62.6-32.58s-49.71 12.43-62.6 32.58L95.01 755.83c-12.91 20.12-12.9 44.91.01 65.03 12.92 20.12 36.78 32.51 62.59 32.49h708.78c25.82.01 49.68-12.37 62.59-32.49 12.91-20.12 12.92-44.91.01-65.03zM554.67 768h-85.33v-85.33h85.33V768zm0-426.67v298.66h-85.33V341.32l85.33.01z",fill:"currentColor"},null,-1),tH=[eH];function _H(t,a,_,r,l,i){return o(),n("svg",Yx,tH)}var aH=s(Xx,[["render",_H],["__file","warn-triangle-filled.vue"]]),rH={name:"WarningFilled"},lH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},oH=e("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 192a58.432 58.432 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.432 58.432 0 0 0 512 256zm0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4z"},null,-1),nH=[oH];function sH(t,a,_,r,l,i){return o(),n("svg",lH,nH)}var iH=s(rH,[["render",sH],["__file","warning-filled.vue"]]),uH={name:"Warning"},vH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},dH=e("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768zm48-176a48 48 0 1 1-96 0 48 48 0 0 1 96 0zm-48-464a32 32 0 0 1 32 32v288a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32z"},null,-1),cH=[dH];function hH(t,a,_,r,l,i){return o(),n("svg",vH,cH)}var pH=s(uH,[["render",hH],["__file","warning.vue"]]),fH={name:"Watch"},wH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},mH=e("path",{fill:"currentColor",d:"M512 768a256 256 0 1 0 0-512 256 256 0 0 0 0 512zm0 64a320 320 0 1 1 0-640 320 320 0 0 1 0 640z"},null,-1),gH=e("path",{fill:"currentColor",d:"M480 352a32 32 0 0 1 32 32v160a32 32 0 0 1-64 0V384a32 32 0 0 1 32-32z"},null,-1),$H=e("path",{fill:"currentColor",d:"M480 512h128q32 0 32 32t-32 32H480q-32 0-32-32t32-32zm128-256V128H416v128h-64V64h320v192h-64zM416 768v128h192V768h64v192H352V768h64z"},null,-1),zH=[mH,gH,$H];function xH(t,a,_,r,l,i){return o(),n("svg",wH,zH)}var HH=s(fH,[["render",xH],["__file","watch.vue"]]),MH={name:"Watermelon"},CH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},VH=e("path",{fill:"currentColor",d:"m683.072 600.32-43.648 162.816-61.824-16.512 53.248-198.528L576 493.248l-158.4 158.4-45.248-45.248 158.4-158.4-55.616-55.616-198.528 53.248-16.512-61.824 162.816-43.648L282.752 200A384 384 0 0 0 824 741.248L683.072 600.32zm231.552 141.056a448 448 0 1 1-632-632l632 632z"},null,-1),yH=[VH];function BH(t,a,_,r,l,i){return o(),n("svg",CH,yH)}var LH=s(MH,[["render",BH],["__file","watermelon.vue"]]),AH={name:"WindPower"},bH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},kH=e("path",{fill:"currentColor",d:"M160 64q32 0 32 32v832q0 32-32 32t-32-32V96q0-32 32-32zm416 354.624 128-11.584V168.96l-128-11.52v261.12zm-64 5.824V151.552L320 134.08V160h-64V64l616.704 56.064A96 96 0 0 1 960 215.68v144.64a96 96 0 0 1-87.296 95.616L256 512V224h64v217.92l192-17.472zm256-23.232 98.88-8.96A32 32 0 0 0 896 360.32V215.68a32 32 0 0 0-29.12-31.872l-98.88-8.96v226.368z"},null,-1),SH=[kH];function qH(t,a,_,r,l,i){return o(),n("svg",bH,SH)}var FH=s(AH,[["render",qH],["__file","wind-power.vue"]]),DH={name:"ZoomIn"},PH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},RH=e("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704zm-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64h96z"},null,-1),TH=[RH];function OH(t,a,_,r,l,i){return o(),n("svg",PH,TH)}var GH=s(DH,[["render",OH],["__file","zoom-in.vue"]]),UH={name:"ZoomOut"},WH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},IH=e("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704zM352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64z"},null,-1),EH=[IH];function NH(t,a,_,r,l,i){return o(),n("svg",WH,EH)}var ZH=s(UH,[["render",NH],["__file","zoom-out.vue"]]);const QH=Object.freeze(Object.defineProperty({__proto__:null,AddLocation:m,Aim:C,AlarmClock:k,Apple:R,ArrowDown:j,ArrowDownBold:I,ArrowLeft:s2,ArrowLeftBold:_2,ArrowRight:$2,ArrowRightBold:h2,ArrowUp:k2,ArrowUpBold:V2,Avatar:R2,Back:E2,Baseball:X2,Basketball:r0,Bell:m0,BellFilled:u0,Bicycle:M0,Bottom:I0,BottomLeft:b0,BottomRight:R0,Bowl:j0,Box:r1,Briefcase:u1,Brush:x1,BrushFilled:f1,Burger:B1,Calendar:q1,Camera:N1,CameraFilled:O1,CaretBottom:X1,CaretLeft:r4,CaretRight:u4,CaretTop:f4,Cellphone:x4,ChatDotRound:L4,ChatDotSquare:D4,ChatLineRound:W4,ChatLineSquare:j4,ChatRound:_6,ChatSquare:s6,Check:h6,Checked:$6,Cherry:V6,Chicken:k6,ChromeFilled:O6,CircleCheck:Y6,CircleCheckFilled:N6,CircleClose:d3,CircleCloseFilled:l3,CirclePlus:V3,CirclePlusFilled:m3,Clock:q3,Close:N3,CloseBold:O3,Cloudy:X3,Coffee:ue,CoffeeCup:re,Coin:me,ColdDrink:Me,Collection:Pe,CollectionTag:Ae,Comment:We,Compass:je,Connection:a8,Coordinate:u8,CopyDocument:w8,Cpu:M8,CreditCard:b8,Crop:R8,DArrowLeft:I8,DArrowRight:j8,DCaret:_t,DataAnalysis:st,DataBoard:ft,DataLine:xt,Delete:Ut,DeleteFilled:Bt,DeleteLocation:Dt,Dessert:Kt,Discount:t_,Dish:c_,DishDot:n_,Document:Q_,DocumentAdd:g_,DocumentChecked:C_,DocumentCopy:b_,DocumentDelete:P_,DocumentRemove:W_,Download:ta,Drizzling:na,Edit:$a,EditPen:ca,Eleme:ka,ElemeFilled:Va,ElementPlus:Ra,Expand:Ia,Failed:ja,Female:rr,Files:ur,Film:wr,Filter:Hr,Finished:Lr,FirstAidKit:Dr,Flag:Ur,Fold:Kr,Folder:A5,FolderAdd:e5,FolderChecked:o5,FolderDelete:d5,FolderOpened:m5,FolderRemove:M5,Food:D5,Football:W5,ForkSpoon:Q5,Fries:tl,FullScreen:nl,Goblet:bl,GobletFull:cl,GobletSquare:Cl,GobletSquareFull:gl,GoldMedal:Rl,Goods:jl,GoodsFilled:Il,Grape:_o,Grid:so,Guide:fo,Handbag:xo,Headset:Bo,Help:Oo,HelpFilled:qo,Hide:Zo,Histogram:Yo,HomeFilled:l9,HotWater:v9,House:w9,IceCream:F9,IceCreamRound:H9,IceCreamSquare:L9,IceDrink:G9,IceTea:Z9,InfoFilled:Y9,Iphone:ln,Key:dn,KnifeFork:mn,Lightning:Cn,Link:bn,List:Pn,Loading:Wn,Location:us,LocationFilled:Qn,LocationInformation:as,Lock:ws,Lollipop:Hs,MagicStick:Ls,Magnet:Fs,Male:Ws,Management:Qs,MapLocation:_i,Medal:ii,Memo:wi,Menu:Hi,Message:Di,MessageBox:Li,Mic:Ui,Microphone:Ki,MilkTea:eu,Minus:ou,Money:hu,Monitor:$u,Moon:Su,MoonNight:yu,More:Eu,MoreFilled:Tu,MostlyCloudy:Ju,Mouse:rv,Mug:uv,Mute:Mv,MuteNotification:wv,NoSmoking:Av,Notebook:Pv,Notification:Iv,Odometer:Xv,OfficeBuilding:od,Open:cd,Operation:gd,Opportunity:Cd,Orange:bd,Paperclip:Pd,PartlyCloudy:Id,Pear:jd,Phone:s7,PhoneFilled:_7,Picture:B7,PictureFilled:h7,PictureRounded:z7,PieChart:F7,Place:W7,Platform:Q7,Plus:tc,Pointer:nc,Position:cc,Postcard:$c,Pouring:Vc,Present:Fc,PriceTag:Uc,Printer:Kc,Promotion:eh,QuartzWatch:sh,QuestionFilled:hh,Rank:$h,Reading:qh,ReadingLamp:yh,Refresh:Xh,RefreshLeft:Oh,RefreshRight:Nh,Refrigerator:rp,Remove:wp,RemoveFilled:up,Right:Hp,ScaleToOriginal:Lp,School:Pp,Scissor:Wp,Search:Qp,Select:tf,Sell:nf,SemiSelect:hf,Service:$f,SetUp:Lf,Setting:Ff,Share:Gf,Ship:Zf,Shop:Yf,ShoppingBag:ow,ShoppingCart:gw,ShoppingCartFull:cw,ShoppingTrolley:Cw,Smoking:kw,Soccer:Rw,SoldOut:Iw,Sort:sm,SortDown:jw,SortUp:_m,Stamp:hm,Star:Vm,StarFilled:$m,Stopwatch:Sm,SuccessFilled:Tm,Sugar:Em,Suitcase:rg,SuitcaseLine:Jm,Sunny:ug,Sunrise:fg,Sunset:xg,Switch:Ug,SwitchButton:Lg,SwitchFilled:Dg,TakeawayBox:Kg,Ticket:e$,Tickets:o$,Timer:h$,ToiletPaper:z$,Tools:y$,Top:Z$,TopLeft:q$,TopRight:G$,TrendCharts:Y$,Trophy:vz,TrophyBase:lz,TurnOff:mz,Umbrella:Mz,Unlock:bz,Upload:Wz,UploadFilled:Pz,User:tx,UserFilled:Qz,Van:nx,VideoCamera:gx,VideoCameraFilled:cx,VideoPause:Cx,VideoPlay:bx,View:Px,Wallet:Jx,WalletFilled:Wx,WarnTriangleFilled:aH,Warning:pH,WarningFilled:iH,Watch:HH,Watermelon:LH,WindPower:FH,ZoomIn:GH,ZoomOut:ZH},Symbol.toStringTag,{value:"Module"}));export{Eu as A,E2 as B,Tu as C,h6 as D,u4 as E,Q_ as F,Ut as G,QH as H,d3 as a,l3 as b,Y6 as c,N3 as d,q3 as e,q1 as f,k2 as g,Zo as h,Y9 as i,j,I8 as k,Wn as l,s2 as m,$2 as n,j8 as o,nl as p,Lp as q,GH as r,Tm as s,Oh as t,Nh as u,Px as v,iH as w,ou as x,tc as y,ZH as z}; diff --git a/public/assets/@floating-ui.dd8b295f.js b/public/assets/@floating-ui.dd8b295f.js deleted file mode 100644 index 8b13789..0000000 --- a/public/assets/@floating-ui.dd8b295f.js +++ /dev/null @@ -1 +0,0 @@ - diff --git a/public/assets/@highlightjs.7fc78ec7.js b/public/assets/@highlightjs.7fc78ec7.js deleted file mode 100644 index bd7ca96..0000000 --- a/public/assets/@highlightjs.7fc78ec7.js +++ /dev/null @@ -1 +0,0 @@ -import{H as u}from"./highlight.js.7165574c.js";import{d as c,r as d,w as h,e as t,h as g}from"./@vue.a137a740.js";var i=c({props:{code:{type:String,required:!0},language:{type:String,default:""},autodetect:{type:Boolean,default:!0},ignoreIllegals:{type:Boolean,default:!0}},setup:function(e){var a=d(e.language);h(function(){return e.language},function(n){a.value=n});var r=t(function(){return e.autodetect||!a.value}),o=t(function(){return!r.value&&!u.getLanguage(a.value)});return{className:t(function(){return o.value?"":"hljs "+a.value}),highlightedCode:t(function(){var n;if(o.value)return console.warn('The language "'+a.value+'" you specified could not be found.'),e.code.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'");if(r.value){var l=u.highlightAuto(e.code);return a.value=(n=l.language)!==null&&n!==void 0?n:"",l.value}return(l=u.highlight(e.code,{language:a.value,ignoreIllegals:e.ignoreIllegals})).value})}},render:function(){return g("pre",{},[g("code",{class:this.className,innerHTML:this.highlightedCode})])}}),f={install:function(e){e.component("highlightjs",i)},component:i};export{f as o}; diff --git a/public/assets/@popperjs.36402333.js b/public/assets/@popperjs.36402333.js deleted file mode 100644 index fb89df6..0000000 --- a/public/assets/@popperjs.36402333.js +++ /dev/null @@ -1 +0,0 @@ -var W="top",L="bottom",S="right",P="left",je="auto",fe=[W,L,S,P],Q="start",ae="end",mt="clippingParents",Ze="viewport",re="popper",ht="reference",Ve=fe.reduce(function(t,e){return t.concat([e+"-"+Q,e+"-"+ae])},[]),Ye=[].concat(fe,[je]).reduce(function(t,e){return t.concat([e,e+"-"+Q,e+"-"+ae])},[]),vt="beforeRead",gt="read",yt="afterRead",bt="beforeMain",xt="main",wt="afterMain",Ot="beforeWrite",jt="write",Et="afterWrite",At=[vt,gt,yt,bt,xt,wt,Ot,jt,Et];function T(t){return t?(t.nodeName||"").toLowerCase():null}function q(t){if(t==null)return window;if(t.toString()!=="[object Window]"){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function Z(t){var e=q(t).Element;return t instanceof e||t instanceof Element}function R(t){var e=q(t).HTMLElement;return t instanceof e||t instanceof HTMLElement}function Ee(t){if(typeof ShadowRoot>"u")return!1;var e=q(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function Dt(t){var e=t.state;Object.keys(e.elements).forEach(function(n){var r=e.styles[n]||{},o=e.attributes[n]||{},i=e.elements[n];!R(i)||!T(i)||(Object.assign(i.style,r),Object.keys(o).forEach(function(a){var s=o[a];s===!1?i.removeAttribute(a):i.setAttribute(a,s===!0?"":s)}))})}function kt(t){var e=t.state,n={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,n.popper),e.styles=n,e.elements.arrow&&Object.assign(e.elements.arrow.style,n.arrow),function(){Object.keys(e.elements).forEach(function(r){var o=e.elements[r],i=e.attributes[r]||{},a=Object.keys(e.styles.hasOwnProperty(r)?e.styles[r]:n[r]),s=a.reduce(function(f,c){return f[c]="",f},{});!R(o)||!T(o)||(Object.assign(o.style,s),Object.keys(i).forEach(function(f){o.removeAttribute(f)}))})}}var $e={name:"applyStyles",enabled:!0,phase:"write",fn:Dt,effect:kt,requires:["computeStyles"]};function N(t){return t.split("-")[0]}var J=Math.max,ge=Math.min,Y=Math.round;function $(t,e){e===void 0&&(e=!1);var n=t.getBoundingClientRect(),r=1,o=1;if(R(t)&&e){var i=t.offsetHeight,a=t.offsetWidth;a>0&&(r=Y(n.width)/a||1),i>0&&(o=Y(n.height)/i||1)}return{width:n.width/r,height:n.height/o,top:n.top/o,right:n.right/r,bottom:n.bottom/o,left:n.left/r,x:n.left/r,y:n.top/o}}function Ae(t){var e=$(t),n=t.offsetWidth,r=t.offsetHeight;return Math.abs(e.width-n)<=1&&(n=e.width),Math.abs(e.height-r)<=1&&(r=e.height),{x:t.offsetLeft,y:t.offsetTop,width:n,height:r}}function _e(t,e){var n=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(n&&Ee(n)){var r=e;do{if(r&&t.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function I(t){return q(t).getComputedStyle(t)}function Wt(t){return["table","td","th"].indexOf(T(t))>=0}function U(t){return((Z(t)?t.ownerDocument:t.document)||window.document).documentElement}function ye(t){return T(t)==="html"?t:t.assignedSlot||t.parentNode||(Ee(t)?t.host:null)||U(t)}function Ie(t){return!R(t)||I(t).position==="fixed"?null:t.offsetParent}function Pt(t){var e=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,n=navigator.userAgent.indexOf("Trident")!==-1;if(n&&R(t)){var r=I(t);if(r.position==="fixed")return null}var o=ye(t);for(Ee(o)&&(o=o.host);R(o)&&["html","body"].indexOf(T(o))<0;){var i=I(o);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||e&&i.willChange==="filter"||e&&i.filter&&i.filter!=="none")return o;o=o.parentNode}return null}function ce(t){for(var e=q(t),n=Ie(t);n&&Wt(n)&&I(n).position==="static";)n=Ie(n);return n&&(T(n)==="html"||T(n)==="body"&&I(n).position==="static")?e:n||Pt(t)||e}function De(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function oe(t,e,n){return J(t,ge(e,n))}function Bt(t,e,n){var r=oe(t,e,n);return r>n?n:r}function Fe(){return{top:0,right:0,bottom:0,left:0}}function et(t){return Object.assign({},Fe(),t)}function tt(t,e){return e.reduce(function(n,r){return n[r]=t,n},{})}var Ht=function(t,e){return t=typeof t=="function"?t(Object.assign({},e.rects,{placement:e.placement})):t,et(typeof t!="number"?t:tt(t,fe))};function Rt(t){var e,n=t.state,r=t.name,o=t.options,i=n.elements.arrow,a=n.modifiersData.popperOffsets,s=N(n.placement),f=De(s),c=[P,S].indexOf(s)>=0,p=c?"height":"width";if(!(!i||!a)){var h=Ht(o.padding,n),v=Ae(i),l=f==="y"?W:P,m=f==="y"?L:S,u=n.rects.reference[p]+n.rects.reference[f]-a[f]-n.rects.popper[p],g=a[f]-n.rects.reference[f],w=ce(i),y=w?f==="y"?w.clientHeight||0:w.clientWidth||0:0,j=u/2-g/2,d=h[l],b=y-v[p]-h[m],x=y/2-v[p]/2+j,O=oe(d,x,b),E=f;n.modifiersData[r]=(e={},e[E]=O,e.centerOffset=O-x,e)}}function Lt(t){var e=t.state,n=t.options,r=n.element,o=r===void 0?"[data-popper-arrow]":r;o!=null&&(typeof o=="string"&&(o=e.elements.popper.querySelector(o),!o)||!_e(e.elements.popper,o)||(e.elements.arrow=o))}var St={name:"arrow",enabled:!0,phase:"main",fn:Rt,effect:Lt,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function _(t){return t.split("-")[1]}var Ct={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Mt(t){var e=t.x,n=t.y,r=window,o=r.devicePixelRatio||1;return{x:Y(e*o)/o||0,y:Y(n*o)/o||0}}function Ue(t){var e,n=t.popper,r=t.popperRect,o=t.placement,i=t.variation,a=t.offsets,s=t.position,f=t.gpuAcceleration,c=t.adaptive,p=t.roundOffsets,h=t.isFixed,v=a.x,l=v===void 0?0:v,m=a.y,u=m===void 0?0:m,g=typeof p=="function"?p({x:l,y:u}):{x:l,y:u};l=g.x,u=g.y;var w=a.hasOwnProperty("x"),y=a.hasOwnProperty("y"),j=P,d=W,b=window;if(c){var x=ce(n),O="clientHeight",E="clientWidth";if(x===q(n)&&(x=U(n),I(x).position!=="static"&&s==="absolute"&&(O="scrollHeight",E="scrollWidth")),x=x,o===W||(o===P||o===S)&&i===ae){d=L;var D=h&&x===b&&b.visualViewport?b.visualViewport.height:x[O];u-=D-r.height,u*=f?1:-1}if(o===P||(o===W||o===L)&&i===ae){j=S;var k=h&&x===b&&b.visualViewport?b.visualViewport.width:x[E];l-=k-r.width,l*=f?1:-1}}var A=Object.assign({position:s},c&&Ct),C=p===!0?Mt({x:l,y:u}):{x:l,y:u};if(l=C.x,u=C.y,f){var B;return Object.assign({},A,(B={},B[d]=y?"0":"",B[j]=w?"0":"",B.transform=(b.devicePixelRatio||1)<=1?"translate("+l+"px, "+u+"px)":"translate3d("+l+"px, "+u+"px, 0)",B))}return Object.assign({},A,(e={},e[d]=y?u+"px":"",e[j]=w?l+"px":"",e.transform="",e))}function qt(t){var e=t.state,n=t.options,r=n.gpuAcceleration,o=r===void 0?!0:r,i=n.adaptive,a=i===void 0?!0:i,s=n.roundOffsets,f=s===void 0?!0:s,c={placement:N(e.placement),variation:_(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:o,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,Ue(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:a,roundOffsets:f})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,Ue(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:f})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}var nt={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:qt,data:{}},he={passive:!0};function Nt(t){var e=t.state,n=t.instance,r=t.options,o=r.scroll,i=o===void 0?!0:o,a=r.resize,s=a===void 0?!0:a,f=q(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return i&&c.forEach(function(p){p.addEventListener("scroll",n.update,he)}),s&&f.addEventListener("resize",n.update,he),function(){i&&c.forEach(function(p){p.removeEventListener("scroll",n.update,he)}),s&&f.removeEventListener("resize",n.update,he)}}var rt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Nt,data:{}},Tt={left:"right",right:"left",bottom:"top",top:"bottom"};function ve(t){return t.replace(/left|right|bottom|top/g,function(e){return Tt[e]})}var Vt={start:"end",end:"start"};function Xe(t){return t.replace(/start|end/g,function(e){return Vt[e]})}function ke(t){var e=q(t),n=e.pageXOffset,r=e.pageYOffset;return{scrollLeft:n,scrollTop:r}}function We(t){return $(U(t)).left+ke(t).scrollLeft}function It(t){var e=q(t),n=U(t),r=e.visualViewport,o=n.clientWidth,i=n.clientHeight,a=0,s=0;return r&&(o=r.width,i=r.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(a=r.offsetLeft,s=r.offsetTop)),{width:o,height:i,x:a+We(t),y:s}}function Ut(t){var e,n=U(t),r=ke(t),o=(e=t.ownerDocument)==null?void 0:e.body,i=J(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=J(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),s=-r.scrollLeft+We(t),f=-r.scrollTop;return I(o||n).direction==="rtl"&&(s+=J(n.clientWidth,o?o.clientWidth:0)-i),{width:i,height:a,x:s,y:f}}function Pe(t){var e=I(t),n=e.overflow,r=e.overflowX,o=e.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function ot(t){return["html","body","#document"].indexOf(T(t))>=0?t.ownerDocument.body:R(t)&&Pe(t)?t:ot(ye(t))}function ie(t,e){var n;e===void 0&&(e=[]);var r=ot(t),o=r===((n=t.ownerDocument)==null?void 0:n.body),i=q(r),a=o?[i].concat(i.visualViewport||[],Pe(r)?r:[]):r,s=e.concat(a);return o?s:s.concat(ie(ye(a)))}function Oe(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Xt(t){var e=$(t);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}function ze(t,e){return e===Ze?Oe(It(t)):Z(e)?Xt(e):Oe(Ut(U(t)))}function zt(t){var e=ie(ye(t)),n=["absolute","fixed"].indexOf(I(t).position)>=0,r=n&&R(t)?ce(t):t;return Z(r)?e.filter(function(o){return Z(o)&&_e(o,r)&&T(o)!=="body"}):[]}function Gt(t,e,n){var r=e==="clippingParents"?zt(t):[].concat(e),o=[].concat(r,[n]),i=o[0],a=o.reduce(function(s,f){var c=ze(t,f);return s.top=J(c.top,s.top),s.right=ge(c.right,s.right),s.bottom=ge(c.bottom,s.bottom),s.left=J(c.left,s.left),s},ze(t,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function it(t){var e=t.reference,n=t.element,r=t.placement,o=r?N(r):null,i=r?_(r):null,a=e.x+e.width/2-n.width/2,s=e.y+e.height/2-n.height/2,f;switch(o){case W:f={x:a,y:e.y-n.height};break;case L:f={x:a,y:e.y+e.height};break;case S:f={x:e.x+e.width,y:s};break;case P:f={x:e.x-n.width,y:s};break;default:f={x:e.x,y:e.y}}var c=o?De(o):null;if(c!=null){var p=c==="y"?"height":"width";switch(i){case Q:f[c]=f[c]-(e[p]/2-n[p]/2);break;case ae:f[c]=f[c]+(e[p]/2-n[p]/2);break}}return f}function se(t,e){e===void 0&&(e={});var n=e,r=n.placement,o=r===void 0?t.placement:r,i=n.boundary,a=i===void 0?mt:i,s=n.rootBoundary,f=s===void 0?Ze:s,c=n.elementContext,p=c===void 0?re:c,h=n.altBoundary,v=h===void 0?!1:h,l=n.padding,m=l===void 0?0:l,u=et(typeof m!="number"?m:tt(m,fe)),g=p===re?ht:re,w=t.rects.popper,y=t.elements[v?g:p],j=Gt(Z(y)?y:y.contextElement||U(t.elements.popper),a,f),d=$(t.elements.reference),b=it({reference:d,element:w,strategy:"absolute",placement:o}),x=Oe(Object.assign({},w,b)),O=p===re?x:d,E={top:j.top-O.top+u.top,bottom:O.bottom-j.bottom+u.bottom,left:j.left-O.left+u.left,right:O.right-j.right+u.right},D=t.modifiersData.offset;if(p===re&&D){var k=D[o];Object.keys(E).forEach(function(A){var C=[S,L].indexOf(A)>=0?1:-1,B=[W,L].indexOf(A)>=0?"y":"x";E[A]+=k[B]*C})}return E}function Jt(t,e){e===void 0&&(e={});var n=e,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,s=n.flipVariations,f=n.allowedAutoPlacements,c=f===void 0?Ye:f,p=_(r),h=p?s?Ve:Ve.filter(function(m){return _(m)===p}):fe,v=h.filter(function(m){return c.indexOf(m)>=0});v.length===0&&(v=h);var l=v.reduce(function(m,u){return m[u]=se(t,{placement:u,boundary:o,rootBoundary:i,padding:a})[N(u)],m},{});return Object.keys(l).sort(function(m,u){return l[m]-l[u]})}function Kt(t){if(N(t)===je)return[];var e=ve(t);return[Xe(t),e,Xe(e)]}function Qt(t){var e=t.state,n=t.options,r=t.name;if(!e.modifiersData[r]._skip){for(var o=n.mainAxis,i=o===void 0?!0:o,a=n.altAxis,s=a===void 0?!0:a,f=n.fallbackPlacements,c=n.padding,p=n.boundary,h=n.rootBoundary,v=n.altBoundary,l=n.flipVariations,m=l===void 0?!0:l,u=n.allowedAutoPlacements,g=e.options.placement,w=N(g),y=w===g,j=f||(y||!m?[ve(g)]:Kt(g)),d=[g].concat(j).reduce(function(z,V){return z.concat(N(V)===je?Jt(e,{placement:V,boundary:p,rootBoundary:h,padding:c,flipVariations:m,allowedAutoPlacements:u}):V)},[]),b=e.rects.reference,x=e.rects.popper,O=new Map,E=!0,D=d[0],k=0;k=0,ee=F?"width":"height",H=se(e,{placement:A,boundary:p,rootBoundary:h,altBoundary:v,padding:c}),M=F?B?S:P:B?L:W;b[ee]>x[ee]&&(M=ve(M));var ue=ve(M),X=[];if(i&&X.push(H[C]<=0),s&&X.push(H[M]<=0,H[ue]<=0),X.every(function(z){return z})){D=A,E=!1;break}O.set(A,X)}if(E)for(var pe=m?3:1,be=function(z){var V=d.find(function(de){var ne=O.get(de);if(ne)return ne.slice(0,z).every(function(K){return K})});if(V)return D=V,"break"},te=pe;te>0;te--){var le=be(te);if(le==="break")break}e.placement!==D&&(e.modifiersData[r]._skip=!0,e.placement=D,e.reset=!0)}}var Zt={name:"flip",enabled:!0,phase:"main",fn:Qt,requiresIfExists:["offset"],data:{_skip:!1}};function Ge(t,e,n){return n===void 0&&(n={x:0,y:0}),{top:t.top-e.height-n.y,right:t.right-e.width+n.x,bottom:t.bottom-e.height+n.y,left:t.left-e.width-n.x}}function Je(t){return[W,S,L,P].some(function(e){return t[e]>=0})}function Yt(t){var e=t.state,n=t.name,r=e.rects.reference,o=e.rects.popper,i=e.modifiersData.preventOverflow,a=se(e,{elementContext:"reference"}),s=se(e,{altBoundary:!0}),f=Ge(a,r),c=Ge(s,o,i),p=Je(f),h=Je(c);e.modifiersData[n]={referenceClippingOffsets:f,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:h},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":h})}var $t={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Yt};function _t(t,e,n){var r=N(t),o=[P,W].indexOf(r)>=0?-1:1,i=typeof n=="function"?n(Object.assign({},e,{placement:t})):n,a=i[0],s=i[1];return a=a||0,s=(s||0)*o,[P,S].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}function Ft(t){var e=t.state,n=t.options,r=t.name,o=n.offset,i=o===void 0?[0,0]:o,a=Ye.reduce(function(p,h){return p[h]=_t(h,e.rects,i),p},{}),s=a[e.placement],f=s.x,c=s.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=f,e.modifiersData.popperOffsets.y+=c),e.modifiersData[r]=a}var en={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Ft};function tn(t){var e=t.state,n=t.name;e.modifiersData[n]=it({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}var at={name:"popperOffsets",enabled:!0,phase:"read",fn:tn,data:{}};function nn(t){return t==="x"?"y":"x"}function rn(t){var e=t.state,n=t.options,r=t.name,o=n.mainAxis,i=o===void 0?!0:o,a=n.altAxis,s=a===void 0?!1:a,f=n.boundary,c=n.rootBoundary,p=n.altBoundary,h=n.padding,v=n.tether,l=v===void 0?!0:v,m=n.tetherOffset,u=m===void 0?0:m,g=se(e,{boundary:f,rootBoundary:c,padding:h,altBoundary:p}),w=N(e.placement),y=_(e.placement),j=!y,d=De(w),b=nn(d),x=e.modifiersData.popperOffsets,O=e.rects.reference,E=e.rects.popper,D=typeof u=="function"?u(Object.assign({},e.rects,{placement:e.placement})):u,k=typeof D=="number"?{mainAxis:D,altAxis:D}:Object.assign({mainAxis:0,altAxis:0},D),A=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,C={x:0,y:0};if(x){if(i){var B,F=d==="y"?W:P,ee=d==="y"?L:S,H=d==="y"?"height":"width",M=x[d],ue=M+g[F],X=M-g[ee],pe=l?-E[H]/2:0,be=y===Q?O[H]:E[H],te=y===Q?-E[H]:-O[H],le=e.elements.arrow,z=l&&le?Ae(le):{width:0,height:0},V=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:Fe(),de=V[F],ne=V[ee],K=oe(0,O[H],z[H]),st=j?O[H]/2-pe-K-de-k.mainAxis:be-K-de-k.mainAxis,ft=j?-O[H]/2+pe+K+ne+k.mainAxis:te+K+ne+k.mainAxis,xe=e.elements.arrow&&ce(e.elements.arrow),ct=xe?d==="y"?xe.clientTop||0:xe.clientLeft||0:0,He=(B=A==null?void 0:A[d])!=null?B:0,ut=M+st-He-ct,pt=M+ft-He,Re=oe(l?ge(ue,ut):ue,M,l?J(X,pt):X);x[d]=Re,C[d]=Re-M}if(s){var Le,lt=d==="x"?W:P,dt=d==="x"?L:S,G=x[b],me=b==="y"?"height":"width",Se=G+g[lt],Ce=G-g[dt],we=[W,P].indexOf(w)!==-1,Me=(Le=A==null?void 0:A[b])!=null?Le:0,qe=we?Se:G-O[me]-E[me]-Me+k.altAxis,Ne=we?G+O[me]+E[me]-Me-k.altAxis:Ce,Te=l&&we?Bt(qe,G,Ne):oe(l?qe:Se,G,l?Ne:Ce);x[b]=Te,C[b]=Te-G}e.modifiersData[r]=C}}var on={name:"preventOverflow",enabled:!0,phase:"main",fn:rn,requiresIfExists:["offset"]};function an(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function sn(t){return t===q(t)||!R(t)?ke(t):an(t)}function fn(t){var e=t.getBoundingClientRect(),n=Y(e.width)/t.offsetWidth||1,r=Y(e.height)/t.offsetHeight||1;return n!==1||r!==1}function cn(t,e,n){n===void 0&&(n=!1);var r=R(e),o=R(e)&&fn(e),i=U(e),a=$(t,o),s={scrollLeft:0,scrollTop:0},f={x:0,y:0};return(r||!r&&!n)&&((T(e)!=="body"||Pe(i))&&(s=sn(e)),R(e)?(f=$(e,!0),f.x+=e.clientLeft,f.y+=e.clientTop):i&&(f.x=We(i))),{x:a.left+s.scrollLeft-f.x,y:a.top+s.scrollTop-f.y,width:a.width,height:a.height}}function un(t){var e=new Map,n=new Set,r=[];t.forEach(function(i){e.set(i.name,i)});function o(i){n.add(i.name);var a=[].concat(i.requires||[],i.requiresIfExists||[]);a.forEach(function(s){if(!n.has(s)){var f=e.get(s);f&&o(f)}}),r.push(i)}return t.forEach(function(i){n.has(i.name)||o(i)}),r}function pn(t){var e=un(t);return At.reduce(function(n,r){return n.concat(e.filter(function(o){return o.phase===r}))},[])}function ln(t){var e;return function(){return e||(e=new Promise(function(n){Promise.resolve().then(function(){e=void 0,n(t())})})),e}}function dn(t){var e=t.reduce(function(n,r){var o=n[r.name];return n[r.name]=o?Object.assign({},o,r,{options:Object.assign({},o.options,r.options),data:Object.assign({},o.data,r.data)}):r,n},{});return Object.keys(e).map(function(n){return e[n]})}var Ke={placement:"bottom",modifiers:[],strategy:"absolute"};function Qe(){for(var t=arguments.length,e=new Array(t),n=0;n!!n[r.toLowerCase()]:r=>!!n[r]}const ro="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt",io=vn(ro);function An(e){if(S(e)){const t={};for(let n=0;n{if(n){const s=n.split(lo);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Fn(e){let t="";if(se(e))t=e;else if(S(e))for(let n=0;nXe(n,t))}const Xc=e=>se(e)?e:e==null?"":S(e)||G(e)&&(e.toString===Lr||!K(e.toString))?JSON.stringify(e,Nr,2):String(e),Nr=(e,t)=>t&&t.__v_isRef?Nr(e,t.value):_t(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:dt(t)?{[`Set(${t.size})`]:[...t.values()]}:G(t)&&!S(t)&&!Br(t)?String(t):t,Q={},mt=[],Pe=()=>{},po=()=>!1,go=/^on[^a-z]/,Xt=e=>go.test(e),ys=e=>e.startsWith("onUpdate:"),ie=Object.assign,Cs=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},mo=Object.prototype.hasOwnProperty,J=(e,t)=>mo.call(e,t),S=Array.isArray,_t=e=>Zt(e)==="[object Map]",dt=e=>Zt(e)==="[object Set]",Js=e=>Zt(e)==="[object Date]",K=e=>typeof e=="function",se=e=>typeof e=="string",Kt=e=>typeof e=="symbol",G=e=>e!==null&&typeof e=="object",xs=e=>G(e)&&K(e.then)&&K(e.catch),Lr=Object.prototype.toString,Zt=e=>Lr.call(e),_o=e=>Zt(e).slice(8,-1),Br=e=>Zt(e)==="[object Object]",Es=e=>se(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ht=vn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Mn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},bo=/-(\w)/g,xe=Mn(e=>e.replace(bo,(t,n)=>n?n.toUpperCase():"")),yo=/\B([A-Z])/g,Te=Mn(e=>e.replace(yo,"-$1").toLowerCase()),Rn=Mn(e=>e.charAt(0).toUpperCase()+e.slice(1)),pn=Mn(e=>e?`on${Rn(e)}`:""),wt=(e,t)=>!Object.is(e,t),bt=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},He=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let zs;const Co=()=>zs||(zs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let ye;class kr{constructor(t=!1){this.detached=t,this.active=!0,this.effects=[],this.cleanups=[],this.parent=ye,!t&&ye&&(this.index=(ye.scopes||(ye.scopes=[])).push(this)-1)}run(t){if(this.active){const n=ye;try{return ye=this,t()}finally{ye=n}}}on(){ye=this}off(){ye=this.parent}stop(t){if(this.active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},Dr=e=>(e.w&Ze)>0,Ur=e=>(e.n&Ze)>0,xo=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(p==="length"||p>=c)&&l.push(u)})}else switch(n!==void 0&&l.push(o.get(n)),t){case"add":S(e)?Es(n)&&l.push(o.get("length")):(l.push(o.get(ct)),_t(e)&&l.push(o.get(ss)));break;case"delete":S(e)||(l.push(o.get(ct)),_t(e)&&l.push(o.get(ss)));break;case"set":_t(e)&&l.push(o.get(ct));break}if(l.length===1)l[0]&&rs(l[0]);else{const c=[];for(const u of l)u&&c.push(...u);rs(ws(c))}}function rs(e,t){const n=S(e)?e:[...e];for(const s of n)s.computed&&Zs(s);for(const s of n)s.computed||Zs(s)}function Zs(e,t){(e!==Fe||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const wo=vn("__proto__,__v_isRef,__isVue"),Kr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Kt)),To=In(),vo=In(!1,!0),Ao=In(!0),Fo=In(!0,!0),Qs=Po();function Po(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=z(this);for(let i=0,o=this.length;i{e[t]=function(...n){Mt();const s=z(this)[t].apply(this,n);return Rt(),s}}),e}function In(e=!1,t=!1){return function(s,r,i){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&i===(e?t?Xr:zr:t?Jr:Yr).get(s))return s;const o=S(s);if(!e&&o&&J(Qs,r))return Reflect.get(Qs,r,i);const l=Reflect.get(s,r,i);return(Kt(r)?Kr.has(r):wo(r))||(e||Ee(s,"get",r),t)?l:fe(l)?o&&Es(r)?l:l.value:G(l)?e?Zr(l):vs(l):l}}const Mo=Vr(),Ro=Vr(!0);function Vr(e=!1){return function(n,s,r,i){let o=n[s];if(Tt(o)&&fe(o)&&!fe(r))return!1;if(!e&&(!Cn(r)&&!Tt(r)&&(o=z(o),r=z(r)),!S(n)&&fe(o)&&!fe(r)))return o.value=r,!0;const l=S(n)&&Es(s)?Number(s)e,Sn=e=>Reflect.getPrototypeOf(e);function nn(e,t,n=!1,s=!1){e=e.__v_raw;const r=z(e),i=z(t);n||(t!==i&&Ee(r,"get",t),Ee(r,"get",i));const{has:o}=Sn(r),l=s?Ts:n?As:Vt;if(o.call(r,t))return l(e.get(t));if(o.call(r,i))return l(e.get(i));e!==r&&e.get(t)}function sn(e,t=!1){const n=this.__v_raw,s=z(n),r=z(e);return t||(e!==r&&Ee(s,"has",e),Ee(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function rn(e,t=!1){return e=e.__v_raw,!t&&Ee(z(e),"iterate",ct),Reflect.get(e,"size",e)}function Gs(e){e=z(e);const t=z(this);return Sn(t).has.call(t,e)||(t.add(e),De(t,"add",e,e)),this}function er(e,t){t=z(t);const n=z(this),{has:s,get:r}=Sn(n);let i=s.call(n,e);i||(e=z(e),i=s.call(n,e));const o=r.call(n,e);return n.set(e,t),i?wt(t,o)&&De(n,"set",e,t):De(n,"add",e,t),this}function tr(e){const t=z(this),{has:n,get:s}=Sn(t);let r=n.call(t,e);r||(e=z(e),r=n.call(t,e)),s&&s.call(t,e);const i=t.delete(e);return r&&De(t,"delete",e,void 0),i}function nr(){const e=z(this),t=e.size!==0,n=e.clear();return t&&De(e,"clear",void 0,void 0),n}function on(e,t){return function(s,r){const i=this,o=i.__v_raw,l=z(o),c=t?Ts:e?As:Vt;return!e&&Ee(l,"iterate",ct),o.forEach((u,p)=>s.call(r,c(u),c(p),i))}}function ln(e,t,n){return function(...s){const r=this.__v_raw,i=z(r),o=_t(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,u=r[e](...s),p=n?Ts:t?As:Vt;return!t&&Ee(i,"iterate",c?ss:ct),{next(){const{value:h,done:g}=u.next();return g?{value:h,done:g}:{value:l?[p(h[0]),p(h[1])]:p(h),done:g}},[Symbol.iterator](){return this}}}}function $e(e){return function(...t){return e==="delete"?!1:this}}function Bo(){const e={get(i){return nn(this,i)},get size(){return rn(this)},has:sn,add:Gs,set:er,delete:tr,clear:nr,forEach:on(!1,!1)},t={get(i){return nn(this,i,!1,!0)},get size(){return rn(this)},has:sn,add:Gs,set:er,delete:tr,clear:nr,forEach:on(!1,!0)},n={get(i){return nn(this,i,!0)},get size(){return rn(this,!0)},has(i){return sn.call(this,i,!0)},add:$e("add"),set:$e("set"),delete:$e("delete"),clear:$e("clear"),forEach:on(!0,!1)},s={get(i){return nn(this,i,!0,!0)},get size(){return rn(this,!0)},has(i){return sn.call(this,i,!0)},add:$e("add"),set:$e("set"),delete:$e("delete"),clear:$e("clear"),forEach:on(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=ln(i,!1,!1),n[i]=ln(i,!0,!1),t[i]=ln(i,!1,!0),s[i]=ln(i,!0,!0)}),[e,n,t,s]}const[ko,Ho,Do,Uo]=Bo();function Nn(e,t){const n=t?e?Uo:Do:e?Ho:ko;return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(J(n,r)&&r in s?n:s,r,i)}const jo={get:Nn(!1,!1)},$o={get:Nn(!1,!0)},Ko={get:Nn(!0,!1)},Vo={get:Nn(!0,!0)},Yr=new WeakMap,Jr=new WeakMap,zr=new WeakMap,Xr=new WeakMap;function Wo(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function qo(e){return e.__v_skip||!Object.isExtensible(e)?0:Wo(_o(e))}function vs(e){return Tt(e)?e:Ln(e,!1,Wr,jo,Yr)}function Yo(e){return Ln(e,!1,No,$o,Jr)}function Zr(e){return Ln(e,!0,qr,Ko,zr)}function nf(e){return Ln(e,!0,Lo,Vo,Xr)}function Ln(e,t,n,s,r){if(!G(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=qo(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function yt(e){return Tt(e)?yt(e.__v_raw):!!(e&&e.__v_isReactive)}function Tt(e){return!!(e&&e.__v_isReadonly)}function Cn(e){return!!(e&&e.__v_isShallow)}function Qr(e){return yt(e)||Tt(e)}function z(e){const t=e&&e.__v_raw;return t?z(t):e}function Gr(e){return yn(e,"__v_skip",!0),e}const Vt=e=>G(e)?vs(e):e,As=e=>G(e)?Zr(e):e;function Fs(e){Ye&&Fe&&(e=z(e),$r(e.dep||(e.dep=ws())))}function Bn(e,t){e=z(e),e.dep&&rs(e.dep)}function fe(e){return!!(e&&e.__v_isRef===!0)}function qn(e){return ei(e,!1)}function sf(e){return ei(e,!0)}function ei(e,t){return fe(e)?e:new Jo(e,t)}class Jo{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:z(t),this._value=n?t:Vt(t)}get value(){return Fs(this),this._value}set value(t){const n=this.__v_isShallow||Cn(t)||Tt(t);t=n?t:z(t),wt(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Vt(t),Bn(this))}}function rf(e){Bn(e)}function zo(e){return fe(e)?e.value:e}const Xo={get:(e,t,n)=>zo(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return fe(r)&&!fe(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function ti(e){return yt(e)?e:new Proxy(e,Xo)}class Zo{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:s}=t(()=>Fs(this),()=>Bn(this));this._get=n,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function of(e){return new Zo(e)}function lf(e){const t=S(e)?new Array(e.length):{};for(const n in e)t[n]=Go(e,n);return t}class Qo{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}}function Go(e,t,n){const s=e[t];return fe(s)?s:new Qo(e,t,n)}var ni;class el{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this[ni]=!1,this._dirty=!0,this.effect=new On(t,()=>{this._dirty||(this._dirty=!0,Bn(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=z(this);return Fs(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}ni="__v_isReadonly";function tl(e,t,n=!1){let s,r;const i=K(e);return i?(s=e,r=Pe):(s=e.get,r=e.set),new el(s,r,i||!r,n)}function cf(e,...t){}function Je(e,t,n,s){let r;try{r=s?e(...s):e()}catch(i){Ot(i,t,n)}return r}function ve(e,t,n,s){if(K(e)){const i=Je(e,t,n,s);return i&&xs(i)&&i.catch(o=>{Ot(o,t,n)}),i}const r=[];for(let i=0;i>>1;qt(de[s])Ie&&de.splice(t,1)}function oi(e){S(e)?Ct.push(...e):(!Be||!Be.includes(e,e.allowRecurse?it+1:it))&&Ct.push(e),ii()}function sr(e,t=Wt?Ie+1:0){for(;tqt(n)-qt(s)),it=0;ite.id==null?1/0:e.id,il=(e,t)=>{const n=qt(e)-qt(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function li(e){is=!1,Wt=!0,de.sort(il);const t=Pe;try{for(Ie=0;IeSt.emit(r,...i)),cn=[]):typeof window<"u"&&window.HTMLElement&&!(!((s=(n=window.navigator)===null||n===void 0?void 0:n.userAgent)===null||s===void 0)&&s.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(i=>{ol(i,t)}),setTimeout(()=>{St||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,cn=[])},3e3)):cn=[]}function ll(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||Q;let r=n;const i=t.startsWith("update:"),o=i&&t.slice(7);if(o&&o in s){const p=`${o==="modelValue"?"model":o}Modifiers`,{number:h,trim:g}=s[p]||Q;g&&(r=n.map(T=>se(T)?T.trim():T)),h&&(r=n.map(He))}let l,c=s[l=pn(t)]||s[l=pn(xe(t))];!c&&i&&(c=s[l=pn(Te(t))]),c&&ve(c,e,6,r);const u=s[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,ve(u,e,6,r)}}function ci(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!K(e)){const c=u=>{const p=ci(u,t,!0);p&&(l=!0,ie(o,p))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(G(e)&&s.set(e,null),null):(S(i)?i.forEach(c=>o[c]=null):ie(o,i),G(e)&&s.set(e,o),o)}function Hn(e,t){return!e||!Xt(t)?!1:(t=t.slice(2).replace(/Once$/,""),J(e,t[0].toLowerCase()+t.slice(1))||J(e,Te(t))||J(e,t))}let ue=null,Dn=null;function Yt(e){const t=ue;return ue=e,Dn=e&&e.type.__scopeId||null,t}function ff(e){Dn=e}function uf(){Dn=null}const af=e=>fi;function fi(e,t=ue,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&gr(-1);const i=Yt(t);let o;try{o=e(...r)}finally{Yt(i),s._d&&gr(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function gn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:i,propsOptions:[o],slots:l,attrs:c,emit:u,render:p,renderCache:h,data:g,setupState:T,ctx:F,inheritAttrs:M}=e;let V,b;const d=Yt(e);try{if(n.shapeFlag&4){const w=r||s;V=Ce(p.call(w,w,h,i,T,g,F)),b=c}else{const w=t;V=Ce(w.length>1?w(i,{attrs:c,slots:l,emit:u}):w(i,null)),b=t.props?c:fl(c)}}catch(w){jt.length=0,Ot(w,e,1),V=ne(pe)}let m=V;if(b&&M!==!1){const w=Object.keys(b),{shapeFlag:O}=m;w.length&&O&7&&(o&&w.some(ys)&&(b=ul(b,o)),m=Ue(m,b))}return n.dirs&&(m=Ue(m),m.dirs=m.dirs?m.dirs.concat(n.dirs):n.dirs),n.transition&&(m.transition=n.transition),V=m,Yt(d),V}function cl(e){let t;for(let n=0;n{let t;for(const n in e)(n==="class"||n==="style"||Xt(n))&&((t||(t={}))[n]=e[n]);return t},ul=(e,t)=>{const n={};for(const s in e)(!ys(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function al(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,u=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?rr(s,o,u):!!o;if(c&8){const p=t.dynamicProps;for(let h=0;he.__isSuspense,dl={name:"Suspense",__isSuspense:!0,process(e,t,n,s,r,i,o,l,c,u){e==null?hl(t,n,s,r,i,o,l,c,u):pl(e,t,n,s,r,o,l,c,u)},hydrate:gl,create:Rs,normalize:ml},df=dl;function Jt(e,t){const n=e.props&&e.props[t];K(n)&&n()}function hl(e,t,n,s,r,i,o,l,c){const{p:u,o:{createElement:p}}=c,h=p("div"),g=e.suspense=Rs(e,r,s,t,h,n,i,o,l,c);u(null,g.pendingBranch=e.ssContent,h,null,s,g,i,o),g.deps>0?(Jt(e,"onPending"),Jt(e,"onFallback"),u(null,e.ssFallback,t,n,s,null,i,o),xt(g,e.ssFallback)):g.resolve()}function pl(e,t,n,s,r,i,o,l,{p:c,um:u,o:{createElement:p}}){const h=t.suspense=e.suspense;h.vnode=t,t.el=e.el;const g=t.ssContent,T=t.ssFallback,{activeBranch:F,pendingBranch:M,isInFallback:V,isHydrating:b}=h;if(M)h.pendingBranch=g,Se(g,M)?(c(M,g,h.hiddenContainer,null,r,h,i,o,l),h.deps<=0?h.resolve():V&&(c(F,T,n,s,r,null,i,o,l),xt(h,T))):(h.pendingId++,b?(h.isHydrating=!1,h.activeBranch=M):u(M,r,h),h.deps=0,h.effects.length=0,h.hiddenContainer=p("div"),V?(c(null,g,h.hiddenContainer,null,r,h,i,o,l),h.deps<=0?h.resolve():(c(F,T,n,s,r,null,i,o,l),xt(h,T))):F&&Se(g,F)?(c(F,g,n,s,r,h,i,o,l),h.resolve(!0)):(c(null,g,h.hiddenContainer,null,r,h,i,o,l),h.deps<=0&&h.resolve()));else if(F&&Se(g,F))c(F,g,n,s,r,h,i,o,l),xt(h,g);else if(Jt(t,"onPending"),h.pendingBranch=g,h.pendingId++,c(null,g,h.hiddenContainer,null,r,h,i,o,l),h.deps<=0)h.resolve();else{const{timeout:d,pendingId:m}=h;d>0?setTimeout(()=>{h.pendingId===m&&h.fallback(T)},d):d===0&&h.fallback(T)}}function Rs(e,t,n,s,r,i,o,l,c,u,p=!1){const{p:h,m:g,um:T,n:F,o:{parentNode:M,remove:V}}=u,b=He(e.props&&e.props.timeout),d={vnode:e,parent:t,parentComponent:n,isSVG:o,container:s,hiddenContainer:r,anchor:i,deps:0,pendingId:0,timeout:typeof b=="number"?b:-1,activeBranch:null,pendingBranch:null,isInFallback:!0,isHydrating:p,isUnmounted:!1,effects:[],resolve(m=!1){const{vnode:w,activeBranch:O,pendingBranch:B,pendingId:N,effects:E,parentComponent:D,container:H}=d;if(d.isHydrating)d.isHydrating=!1;else if(!m){const q=O&&B.transition&&B.transition.mode==="out-in";q&&(O.transition.afterLeave=()=>{N===d.pendingId&&g(B,H,k,0)});let{anchor:k}=d;O&&(k=F(O),T(O,D,d,!0)),q||g(B,H,k,0)}xt(d,B),d.pendingBranch=null,d.isInFallback=!1;let $=d.parent,I=!1;for(;$;){if($.pendingBranch){$.effects.push(...E),I=!0;break}$=$.parent}I||oi(E),d.effects=[],Jt(w,"onResolve")},fallback(m){if(!d.pendingBranch)return;const{vnode:w,activeBranch:O,parentComponent:B,container:N,isSVG:E}=d;Jt(w,"onFallback");const D=F(O),H=()=>{!d.isInFallback||(h(null,m,N,D,B,null,E,l,c),xt(d,m))},$=m.transition&&m.transition.mode==="out-in";$&&(O.transition.afterLeave=H),d.isInFallback=!0,T(O,B,null,!0),$||H()},move(m,w,O){d.activeBranch&&g(d.activeBranch,m,w,O),d.container=m},next(){return d.activeBranch&&F(d.activeBranch)},registerDep(m,w){const O=!!d.pendingBranch;O&&d.deps++;const B=m.vnode.el;m.asyncDep.catch(N=>{Ot(N,m,0)}).then(N=>{if(m.isUnmounted||d.isUnmounted||d.pendingId!==m.suspenseId)return;m.asyncResolved=!0;const{vnode:E}=m;ds(m,N,!1),B&&(E.el=B);const D=!B&&m.subTree.el;w(m,E,M(B||m.subTree.el),B?null:F(m.subTree),d,o,c),D&&V(D),Ms(m,E.el),O&&--d.deps===0&&d.resolve()})},unmount(m,w){d.isUnmounted=!0,d.activeBranch&&T(d.activeBranch,n,m,w),d.pendingBranch&&T(d.pendingBranch,n,m,w)}};return d}function gl(e,t,n,s,r,i,o,l,c){const u=t.suspense=Rs(t,s,n,e.parentNode,document.createElement("div"),null,r,i,o,l,!0),p=c(e,u.pendingBranch=t.ssContent,n,u,i,o);return u.deps===0&&u.resolve(),p}function ml(e){const{shapeFlag:t,children:n}=e,s=t&32;e.ssContent=ir(s?n.default:n),e.ssFallback=s?ir(n.fallback):ne(pe)}function ir(e){let t;if(K(e)){const n=ut&&e._c;n&&(e._d=!1,Us()),e=e(),n&&(e._d=!0,t=me,Mi())}return S(e)&&(e=cl(e)),e=Ce(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function ai(e,t){t&&t.pendingBranch?S(e)?t.effects.push(...e):t.effects.push(e):oi(e)}function xt(e,t){e.activeBranch=t;const{vnode:n,parentComponent:s}=e,r=n.el=t.el;s&&s.subTree===n&&(s.vnode.el=r,Ms(s,r))}function _l(e,t){if(le){let n=le.provides;const s=le.parent&&le.parent.provides;s===n&&(n=le.provides=Object.create(s)),n[e]=t}}function mn(e,t,n=!1){const s=le||ue;if(s){const r=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&K(t)?t.call(s.proxy):t}}function hf(e,t){return Qt(e,null,t)}function bl(e,t){return Qt(e,null,{flush:"post"})}function pf(e,t){return Qt(e,null,{flush:"sync"})}const fn={};function _n(e,t,n){return Qt(e,t,n)}function Qt(e,t,{immediate:n,deep:s,flush:r,onTrack:i,onTrigger:o}=Q){const l=le;let c,u=!1,p=!1;if(fe(e)?(c=()=>e.value,u=Cn(e)):yt(e)?(c=()=>e,s=!0):S(e)?(p=!0,u=e.some(m=>yt(m)||Cn(m)),c=()=>e.map(m=>{if(fe(m))return m.value;if(yt(m))return lt(m);if(K(m))return Je(m,l,2)})):K(e)?t?c=()=>Je(e,l,2):c=()=>{if(!(l&&l.isUnmounted))return h&&h(),ve(e,l,3,[g])}:c=Pe,t&&s){const m=c;c=()=>lt(m())}let h,g=m=>{h=b.onStop=()=>{Je(m,l,4)}},T;if(Ft)if(g=Pe,t?n&&ve(t,l,3,[c(),p?[]:void 0,g]):c(),r==="sync"){const m=fc();T=m.__watcherHandles||(m.__watcherHandles=[])}else return Pe;let F=p?new Array(e.length).fill(fn):fn;const M=()=>{if(!!b.active)if(t){const m=b.run();(s||u||(p?m.some((w,O)=>wt(w,F[O])):wt(m,F)))&&(h&&h(),ve(t,l,3,[m,F===fn?void 0:p&&F[0]===fn?[]:F,g]),F=m)}else b.run()};M.allowRecurse=!!t;let V;r==="sync"?V=M:r==="post"?V=()=>ce(M,l&&l.suspense):(M.pre=!0,l&&(M.id=l.uid),V=()=>kn(M));const b=new On(c,V);t?n?M():F=b.run():r==="post"?ce(b.run.bind(b),l&&l.suspense):b.run();const d=()=>{b.stop(),l&&l.scope&&Cs(l.scope.effects,b)};return T&&T.push(d),d}function yl(e,t,n){const s=this.proxy,r=se(e)?e.includes(".")?di(s,e):()=>s[e]:e.bind(s,s);let i;K(t)?i=t:(i=t.handler,n=t);const o=le;Qe(this);const l=Qt(r,i.bind(s),n);return o?Qe(o):ze(),l}function di(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{lt(n,t)});else if(Br(e))for(const n in e)lt(e[n],t);return e}function hi(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return jn(()=>{e.isMounted=!0}),Ss(()=>{e.isUnmounting=!0}),e}const we=[Function,Array],Cl={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:we,onEnter:we,onAfterEnter:we,onEnterCancelled:we,onBeforeLeave:we,onLeave:we,onAfterLeave:we,onLeaveCancelled:we,onBeforeAppear:we,onAppear:we,onAfterAppear:we,onAppearCancelled:we},setup(e,{slots:t}){const n=ht(),s=hi();let r;return()=>{const i=t.default&&Os(t.default(),!0);if(!i||!i.length)return;let o=i[0];if(i.length>1){for(const M of i)if(M.type!==pe){o=M;break}}const l=z(e),{mode:c}=l;if(s.isLeaving)return Yn(o);const u=or(o);if(!u)return Yn(o);const p=zt(u,l,s,n);vt(u,p);const h=n.subTree,g=h&&or(h);let T=!1;const{getTransitionKey:F}=u.type;if(F){const M=F();r===void 0?r=M:M!==r&&(r=M,T=!0)}if(g&&g.type!==pe&&(!Se(u,g)||T)){const M=zt(g,l,s,n);if(vt(g,M),c==="out-in")return s.isLeaving=!0,M.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&n.update()},Yn(o);c==="in-out"&&u.type!==pe&&(M.delayLeave=(V,b,d)=>{const m=gi(s,g);m[String(g.key)]=g,V._leaveCb=()=>{b(),V._leaveCb=void 0,delete p.delayedLeave},p.delayedLeave=d})}return o}}},pi=Cl;function gi(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function zt(e,t,n,s){const{appear:r,mode:i,persisted:o=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:p,onBeforeLeave:h,onLeave:g,onAfterLeave:T,onLeaveCancelled:F,onBeforeAppear:M,onAppear:V,onAfterAppear:b,onAppearCancelled:d}=t,m=String(e.key),w=gi(n,e),O=(E,D)=>{E&&ve(E,s,9,D)},B=(E,D)=>{const H=D[1];O(E,D),S(E)?E.every($=>$.length<=1)&&H():E.length<=1&&H()},N={mode:i,persisted:o,beforeEnter(E){let D=l;if(!n.isMounted)if(r)D=M||l;else return;E._leaveCb&&E._leaveCb(!0);const H=w[m];H&&Se(e,H)&&H.el._leaveCb&&H.el._leaveCb(),O(D,[E])},enter(E){let D=c,H=u,$=p;if(!n.isMounted)if(r)D=V||c,H=b||u,$=d||p;else return;let I=!1;const q=E._enterCb=k=>{I||(I=!0,k?O($,[E]):O(H,[E]),N.delayedLeave&&N.delayedLeave(),E._enterCb=void 0)};D?B(D,[E,q]):q()},leave(E,D){const H=String(e.key);if(E._enterCb&&E._enterCb(!0),n.isUnmounting)return D();O(h,[E]);let $=!1;const I=E._leaveCb=q=>{$||($=!0,D(),q?O(F,[E]):O(T,[E]),E._leaveCb=void 0,w[H]===e&&delete w[H])};w[H]=e,g?B(g,[E,I]):I()},clone(E){return zt(E,t,n,s)}};return N}function Yn(e){if(Gt(e))return e=Ue(e),e.children=null,e}function or(e){return Gt(e)?e.children?e.children[0]:void 0:e}function vt(e,t){e.shapeFlag&6&&e.component?vt(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Os(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;i!!e.type.__asyncLoader;function gf(e){K(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,timeout:i,suspensible:o=!0,onError:l}=e;let c=null,u,p=0;const h=()=>(p++,c=null,g()),g=()=>{let T;return c||(T=c=t().catch(F=>{if(F=F instanceof Error?F:new Error(String(F)),l)return new Promise((M,V)=>{l(F,()=>M(h()),()=>V(F),p+1)});throw F}).then(F=>T!==c&&c?c:(F&&(F.__esModule||F[Symbol.toStringTag]==="Module")&&(F=F.default),u=F,F)))};return mi({name:"AsyncComponentWrapper",__asyncLoader:g,get __asyncResolved(){return u},setup(){const T=le;if(u)return()=>Jn(u,T);const F=d=>{c=null,Ot(d,T,13,!s)};if(o&&T.suspense||Ft)return g().then(d=>()=>Jn(d,T)).catch(d=>(F(d),()=>s?ne(s,{error:d}):null));const M=qn(!1),V=qn(),b=qn(!!r);return r&&setTimeout(()=>{b.value=!1},r),i!=null&&setTimeout(()=>{if(!M.value&&!V.value){const d=new Error(`Async component timed out after ${i}ms.`);F(d),V.value=d}},i),g().then(()=>{M.value=!0,T.parent&&Gt(T.parent.vnode)&&kn(T.parent.update)}).catch(d=>{F(d),V.value=d}),()=>{if(M.value&&u)return Jn(u,T);if(V.value&&s)return ne(s,{error:V.value});if(n&&!b.value)return ne(n)}}})}function Jn(e,t){const{ref:n,props:s,children:r,ce:i}=t.vnode,o=ne(e,s,r);return o.ref=n,o.ce=i,delete t.vnode.ce,o}const Gt=e=>e.type.__isKeepAlive,xl={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=ht(),s=n.ctx;if(!s.renderer)return()=>{const d=t.default&&t.default();return d&&d.length===1?d[0]:d};const r=new Map,i=new Set;let o=null;const l=n.suspense,{renderer:{p:c,m:u,um:p,o:{createElement:h}}}=s,g=h("div");s.activate=(d,m,w,O,B)=>{const N=d.component;u(d,m,w,0,l),c(N.vnode,d,m,w,N,l,O,d.slotScopeIds,B),ce(()=>{N.isDeactivated=!1,N.a&&bt(N.a);const E=d.props&&d.props.onVnodeMounted;E&&ge(E,N.parent,d)},l)},s.deactivate=d=>{const m=d.component;u(d,g,null,1,l),ce(()=>{m.da&&bt(m.da);const w=d.props&&d.props.onVnodeUnmounted;w&&ge(w,m.parent,d),m.isDeactivated=!0},l)};function T(d){zn(d),p(d,n,l,!0)}function F(d){r.forEach((m,w)=>{const O=ps(m.type);O&&(!d||!d(O))&&M(w)})}function M(d){const m=r.get(d);!o||m.type!==o.type?T(m):o&&zn(o),r.delete(d),i.delete(d)}_n(()=>[e.include,e.exclude],([d,m])=>{d&&F(w=>kt(d,w)),m&&F(w=>!kt(m,w))},{flush:"post",deep:!0});let V=null;const b=()=>{V!=null&&r.set(V,Xn(n.subTree))};return jn(b),Is(b),Ss(()=>{r.forEach(d=>{const{subTree:m,suspense:w}=n,O=Xn(m);if(d.type===O.type){zn(O);const B=O.component.da;B&&ce(B,w);return}T(d)})}),()=>{if(V=null,!t.default)return null;const d=t.default(),m=d[0];if(d.length>1)return o=null,d;if(!at(m)||!(m.shapeFlag&4)&&!(m.shapeFlag&128))return o=null,m;let w=Xn(m);const O=w.type,B=ps(ft(w)?w.type.__asyncResolved||{}:O),{include:N,exclude:E,max:D}=e;if(N&&(!B||!kt(N,B))||E&&B&&kt(E,B))return o=w,m;const H=w.key==null?O:w.key,$=r.get(H);return w.el&&(w=Ue(w),m.shapeFlag&128&&(m.ssContent=w)),V=H,$?(w.el=$.el,w.component=$.component,w.transition&&vt(w,w.transition),w.shapeFlag|=512,i.delete(H),i.add(H)):(i.add(H),D&&i.size>parseInt(D,10)&&M(i.values().next().value)),w.shapeFlag|=256,o=w,ui(m.type)?m:w}}},mf=xl;function kt(e,t){return S(e)?e.some(n=>kt(n,t)):se(e)?e.split(",").includes(t):e.test?e.test(t):!1}function El(e,t){_i(e,"a",t)}function wl(e,t){_i(e,"da",t)}function _i(e,t,n=le){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Un(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Gt(r.parent.vnode)&&Tl(s,t,n,r),r=r.parent}}function Tl(e,t,n,s){const r=Un(t,e,s,!0);Ns(()=>{Cs(s[t],r)},n)}function zn(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function Xn(e){return e.shapeFlag&128?e.ssContent:e}function Un(e,t,n=le,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;Mt(),Qe(n);const l=ve(t,n,e,o);return ze(),Rt(),l});return s?r.unshift(i):r.push(i),i}}const je=e=>(t,n=le)=>(!Ft||e==="sp")&&Un(e,(...s)=>t(...s),n),vl=je("bm"),jn=je("m"),Al=je("bu"),Is=je("u"),Ss=je("bum"),Ns=je("um"),Fl=je("sp"),Pl=je("rtg"),Ml=je("rtc");function Rl(e,t=le){Un("ec",e,t)}function _f(e,t){const n=ue;if(n===null)return e;const s=Kn(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let i=0;it(o,l,void 0,i&&i[l]));else{const o=Object.keys(e);r=new Array(o.length);for(let l=0,c=o.length;l{const i=s.fn(...r);return i&&(i.key=s.key),i}:s.fn)}return e}function wf(e,t,n={},s,r){if(ue.isCE||ue.parent&&ft(ue.parent)&&ue.parent.isCE)return t!=="default"&&(n.name=t),ne("slot",n,s&&s());let i=e[t];i&&i._c&&(i._d=!1),Us();const o=i&&yi(i(n)),l=Oi(ae,{key:n.key||o&&o.key||`_${t}`},o||(s?s():[]),o&&e._===1?64:-2);return!r&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),i&&i._c&&(i._d=!0),l}function yi(e){return e.some(t=>at(t)?!(t.type===pe||t.type===ae&&!yi(t.children)):!0)?e:null}function Tf(e,t){const n={};for(const s in e)n[t&&/[A-Z]/.test(s)?`on:${s}`:pn(s)]=e[s];return n}const os=e=>e?Bi(e)?Kn(e)||e.proxy:os(e.parent):null,Dt=ie(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>os(e.parent),$root:e=>os(e.root),$emit:e=>e.emit,$options:e=>ks(e),$forceUpdate:e=>e.f||(e.f=()=>kn(e.update)),$nextTick:e=>e.n||(e.n=ri.bind(e.proxy)),$watch:e=>yl.bind(e)}),Zn=(e,t)=>e!==Q&&!e.__isScriptSetup&&J(e,t),ls={get({_:e},t){const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;let u;if(t[0]!=="$"){const T=o[t];if(T!==void 0)switch(T){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(Zn(s,t))return o[t]=1,s[t];if(r!==Q&&J(r,t))return o[t]=2,r[t];if((u=e.propsOptions[0])&&J(u,t))return o[t]=3,i[t];if(n!==Q&&J(n,t))return o[t]=4,n[t];cs&&(o[t]=0)}}const p=Dt[t];let h,g;if(p)return t==="$attrs"&&Ee(e,"get",t),p(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==Q&&J(n,t))return o[t]=4,n[t];if(g=c.config.globalProperties,J(g,t))return g[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return Zn(r,t)?(r[t]=n,!0):s!==Q&&J(s,t)?(s[t]=n,!0):J(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==Q&&J(e,o)||Zn(t,o)||(l=i[0])&&J(l,o)||J(s,o)||J(Dt,o)||J(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:J(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}},Il=ie({},ls,{get(e,t){if(t!==Symbol.unscopables)return ls.get(e,t,e)},has(e,t){return t[0]!=="_"&&!io(t)}});let cs=!0;function Sl(e){const t=ks(e),n=e.proxy,s=e.ctx;cs=!1,t.beforeCreate&&cr(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:u,created:p,beforeMount:h,mounted:g,beforeUpdate:T,updated:F,activated:M,deactivated:V,beforeDestroy:b,beforeUnmount:d,destroyed:m,unmounted:w,render:O,renderTracked:B,renderTriggered:N,errorCaptured:E,serverPrefetch:D,expose:H,inheritAttrs:$,components:I,directives:q,filters:k}=t;if(u&&Nl(u,s,null,e.appContext.config.unwrapInjectedRef),o)for(const re in o){const ee=o[re];K(ee)&&(s[re]=ee.bind(n))}if(r){const re=r.call(n,n);G(re)&&(e.data=vs(re))}if(cs=!0,i)for(const re in i){const ee=i[re],et=K(ee)?ee.bind(n,n):K(ee.get)?ee.get.bind(n,n):Pe,en=!K(ee)&&K(ee.set)?ee.set.bind(n):Pe,tt=oc({get:et,set:en});Object.defineProperty(s,re,{enumerable:!0,configurable:!0,get:()=>tt.value,set:Me=>tt.value=Me})}if(l)for(const re in l)Ci(l[re],s,n,re);if(c){const re=K(c)?c.call(n):c;Reflect.ownKeys(re).forEach(ee=>{_l(ee,re[ee])})}p&&cr(p,e,"c");function X(re,ee){S(ee)?ee.forEach(et=>re(et.bind(n))):ee&&re(ee.bind(n))}if(X(vl,h),X(jn,g),X(Al,T),X(Is,F),X(El,M),X(wl,V),X(Rl,E),X(Ml,B),X(Pl,N),X(Ss,d),X(Ns,w),X(Fl,D),S(H))if(H.length){const re=e.exposed||(e.exposed={});H.forEach(ee=>{Object.defineProperty(re,ee,{get:()=>n[ee],set:et=>n[ee]=et})})}else e.exposed||(e.exposed={});O&&e.render===Pe&&(e.render=O),$!=null&&(e.inheritAttrs=$),I&&(e.components=I),q&&(e.directives=q)}function Nl(e,t,n=Pe,s=!1){S(e)&&(e=fs(e));for(const r in e){const i=e[r];let o;G(i)?"default"in i?o=mn(i.from||r,i.default,!0):o=mn(i.from||r):o=mn(i),fe(o)&&s?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:l=>o.value=l}):t[r]=o}}function cr(e,t,n){ve(S(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ci(e,t,n,s){const r=s.includes(".")?di(n,s):()=>n[s];if(se(e)){const i=t[e];K(i)&&_n(r,i)}else if(K(e))_n(r,e.bind(n));else if(G(e))if(S(e))e.forEach(i=>Ci(i,t,n,s));else{const i=K(e.handler)?e.handler.bind(n):t[e.handler];K(i)&&_n(r,i,e)}}function ks(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(u=>En(c,u,o,!0)),En(c,t,o)),G(t)&&i.set(t,c),c}function En(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&En(e,i,n,!0),r&&r.forEach(o=>En(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Ll[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Ll={data:fr,props:rt,emits:rt,methods:rt,computed:rt,beforeCreate:he,created:he,beforeMount:he,mounted:he,beforeUpdate:he,updated:he,beforeDestroy:he,beforeUnmount:he,destroyed:he,unmounted:he,activated:he,deactivated:he,errorCaptured:he,serverPrefetch:he,components:rt,directives:rt,watch:kl,provide:fr,inject:Bl};function fr(e,t){return t?e?function(){return ie(K(e)?e.call(this,this):e,K(t)?t.call(this,this):t)}:t:e}function Bl(e,t){return rt(fs(e),fs(t))}function fs(e){if(S(e)){const t={};for(let n=0;n0)&&!(o&16)){if(o&8){const p=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[g,T]=Ei(h,t,!0);ie(o,g),T&&l.push(...T)};!n&&t.mixins.length&&t.mixins.forEach(p),e.extends&&p(e.extends),e.mixins&&e.mixins.forEach(p)}if(!i&&!c)return G(e)&&s.set(e,mt),mt;if(S(i))for(let p=0;p-1,T[1]=M<0||F-1||J(T,"default"))&&l.push(h)}}}const u=[o,l];return G(e)&&s.set(e,u),u}function ur(e){return e[0]!=="$"}function ar(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:e===null?"null":""}function dr(e,t){return ar(e)===ar(t)}function hr(e,t){return S(t)?t.findIndex(n=>dr(n,e)):K(t)&&dr(t,e)?0:-1}const wi=e=>e[0]==="_"||e==="$stable",Hs=e=>S(e)?e.map(Ce):[Ce(e)],Ul=(e,t,n)=>{if(t._n)return t;const s=fi((...r)=>Hs(t(...r)),n);return s._c=!1,s},Ti=(e,t,n)=>{const s=e._ctx;for(const r in e){if(wi(r))continue;const i=e[r];if(K(i))t[r]=Ul(r,i,s);else if(i!=null){const o=Hs(i);t[r]=()=>o}}},vi=(e,t)=>{const n=Hs(t);e.slots.default=()=>n},jl=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=z(t),yn(t,"_",n)):Ti(t,e.slots={})}else e.slots={},t&&vi(e,t);yn(e.slots,$n,1)},$l=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=Q;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:(ie(r,t),!n&&l===1&&delete r._):(i=!t.$stable,Ti(t,r)),o=t}else t&&(vi(e,t),o={default:1});if(i)for(const l in r)!wi(l)&&!(l in o)&&delete r[l]};function Ai(){return{app:null,config:{isNativeTag:po,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Kl=0;function Vl(e,t){return function(s,r=null){K(s)||(s=Object.assign({},s)),r!=null&&!G(r)&&(r=null);const i=Ai(),o=new Set;let l=!1;const c=i.app={_uid:Kl++,_component:s,_props:r,_container:null,_context:i,_instance:null,version:ac,get config(){return i.config},set config(u){},use(u,...p){return o.has(u)||(u&&K(u.install)?(o.add(u),u.install(c,...p)):K(u)&&(o.add(u),u(c,...p))),c},mixin(u){return i.mixins.includes(u)||i.mixins.push(u),c},component(u,p){return p?(i.components[u]=p,c):i.components[u]},directive(u,p){return p?(i.directives[u]=p,c):i.directives[u]},mount(u,p,h){if(!l){const g=ne(s,r);return g.appContext=i,p&&t?t(g,u):e(g,u,h),l=!0,c._container=u,u.__vue_app__=c,Kn(g.component)||g.component.proxy}},unmount(){l&&(e(null,c._container),delete c._container.__vue_app__)},provide(u,p){return i.provides[u]=p,c}};return c}}function wn(e,t,n,s,r=!1){if(S(e)){e.forEach((g,T)=>wn(g,t&&(S(t)?t[T]:t),n,s,r));return}if(ft(s)&&!r)return;const i=s.shapeFlag&4?Kn(s.component)||s.component.proxy:s.el,o=r?null:i,{i:l,r:c}=e,u=t&&t.r,p=l.refs===Q?l.refs={}:l.refs,h=l.setupState;if(u!=null&&u!==c&&(se(u)?(p[u]=null,J(h,u)&&(h[u]=null)):fe(u)&&(u.value=null)),K(c))Je(c,l,12,[o,p]);else{const g=se(c),T=fe(c);if(g||T){const F=()=>{if(e.f){const M=g?J(h,c)?h[c]:p[c]:c.value;r?S(M)&&Cs(M,i):S(M)?M.includes(i)||M.push(i):g?(p[c]=[i],J(h,c)&&(h[c]=p[c])):(c.value=[i],e.k&&(p[e.k]=c.value))}else g?(p[c]=o,J(h,c)&&(h[c]=o)):T&&(c.value=o,e.k&&(p[e.k]=o))};o?(F.id=-1,ce(F,n)):F()}}}let Ke=!1;const un=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",an=e=>e.nodeType===8;function Wl(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:c,createComment:u}}=e,p=(b,d)=>{if(!d.hasChildNodes()){n(null,b,d),xn(),d._vnode=b;return}Ke=!1,h(d.firstChild,b,null,null,null),xn(),d._vnode=b,Ke&&console.error("Hydration completed but contains mismatches.")},h=(b,d,m,w,O,B=!1)=>{const N=an(b)&&b.data==="[",E=()=>M(b,d,m,w,O,N),{type:D,ref:H,shapeFlag:$,patchFlag:I}=d;let q=b.nodeType;d.el=b,I===-2&&(B=!1,d.dynamicChildren=null);let k=null;switch(D){case At:q!==3?d.children===""?(c(d.el=r(""),o(b),b),k=b):k=E():(b.data!==d.children&&(Ke=!0,b.data=d.children),k=i(b));break;case pe:q!==8||N?k=E():k=i(b);break;case Et:if(N&&(b=i(b),q=b.nodeType),q===1||q===3){k=b;const _e=!d.children.length;for(let X=0;X{B=B||!!d.dynamicChildren;const{type:N,props:E,patchFlag:D,shapeFlag:H,dirs:$}=d,I=N==="input"&&$||N==="option";if(I||D!==-1){if($&&Oe(d,null,m,"created"),E)if(I||!B||D&48)for(const k in E)(I&&k.endsWith("value")||Xt(k)&&!Ht(k))&&s(b,k,null,E[k],!1,void 0,m);else E.onClick&&s(b,"onClick",null,E.onClick,!1,void 0,m);let q;if((q=E&&E.onVnodeBeforeMount)&&ge(q,m,d),$&&Oe(d,null,m,"beforeMount"),((q=E&&E.onVnodeMounted)||$)&&ai(()=>{q&&ge(q,m,d),$&&Oe(d,null,m,"mounted")},w),H&16&&!(E&&(E.innerHTML||E.textContent))){let k=T(b.firstChild,d,b,m,w,O,B);for(;k;){Ke=!0;const _e=k;k=k.nextSibling,l(_e)}}else H&8&&b.textContent!==d.children&&(Ke=!0,b.textContent=d.children)}return b.nextSibling},T=(b,d,m,w,O,B,N)=>{N=N||!!d.dynamicChildren;const E=d.children,D=E.length;for(let H=0;H{const{slotScopeIds:N}=d;N&&(O=O?O.concat(N):N);const E=o(b),D=T(i(b),d,E,m,w,O,B);return D&&an(D)&&D.data==="]"?i(d.anchor=D):(Ke=!0,c(d.anchor=u("]"),E,D),D)},M=(b,d,m,w,O,B)=>{if(Ke=!0,d.el=null,B){const D=V(b);for(;;){const H=i(b);if(H&&H!==D)l(H);else break}}const N=i(b),E=o(b);return l(b),n(null,d,E,N,m,w,un(E),O),N},V=b=>{let d=0;for(;b;)if(b=i(b),b&&an(b)&&(b.data==="["&&d++,b.data==="]")){if(d===0)return i(b);d--}return b};return[p,h]}const ce=ai;function ql(e){return Fi(e)}function Yl(e){return Fi(e,Wl)}function Fi(e,t){const n=Co();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:u,setElementText:p,parentNode:h,nextSibling:g,setScopeId:T=Pe,insertStaticContent:F}=e,M=(f,a,_,C=null,y=null,A=null,R=!1,v=null,P=!!a.dynamicChildren)=>{if(f===a)return;f&&!Se(f,a)&&(C=tn(f),Me(f,y,A,!0),f=null),a.patchFlag===-2&&(P=!1,a.dynamicChildren=null);const{type:x,ref:U,shapeFlag:L}=a;switch(x){case At:V(f,a,_,C);break;case pe:b(f,a,_,C);break;case Et:f==null&&d(a,_,C,R);break;case ae:I(f,a,_,C,y,A,R,v,P);break;default:L&1?O(f,a,_,C,y,A,R,v,P):L&6?q(f,a,_,C,y,A,R,v,P):(L&64||L&128)&&x.process(f,a,_,C,y,A,R,v,P,pt)}U!=null&&y&&wn(U,f&&f.ref,A,a||f,!a)},V=(f,a,_,C)=>{if(f==null)s(a.el=l(a.children),_,C);else{const y=a.el=f.el;a.children!==f.children&&u(y,a.children)}},b=(f,a,_,C)=>{f==null?s(a.el=c(a.children||""),_,C):a.el=f.el},d=(f,a,_,C)=>{[f.el,f.anchor]=F(f.children,a,_,C,f.el,f.anchor)},m=({el:f,anchor:a},_,C)=>{let y;for(;f&&f!==a;)y=g(f),s(f,_,C),f=y;s(a,_,C)},w=({el:f,anchor:a})=>{let _;for(;f&&f!==a;)_=g(f),r(f),f=_;r(a)},O=(f,a,_,C,y,A,R,v,P)=>{R=R||a.type==="svg",f==null?B(a,_,C,y,A,R,v,P):D(f,a,y,A,R,v,P)},B=(f,a,_,C,y,A,R,v)=>{let P,x;const{type:U,props:L,shapeFlag:j,transition:W,dirs:Y}=f;if(P=f.el=o(f.type,A,L&&L.is,L),j&8?p(P,f.children):j&16&&E(f.children,P,null,C,y,A&&U!=="foreignObject",R,v),Y&&Oe(f,null,C,"created"),L){for(const Z in L)Z!=="value"&&!Ht(Z)&&i(P,Z,null,L[Z],A,f.children,C,y,Ne);"value"in L&&i(P,"value",null,L.value),(x=L.onVnodeBeforeMount)&&ge(x,C,f)}N(P,f,f.scopeId,R,C),Y&&Oe(f,null,C,"beforeMount");const te=(!y||y&&!y.pendingBranch)&&W&&!W.persisted;te&&W.beforeEnter(P),s(P,a,_),((x=L&&L.onVnodeMounted)||te||Y)&&ce(()=>{x&&ge(x,C,f),te&&W.enter(P),Y&&Oe(f,null,C,"mounted")},y)},N=(f,a,_,C,y)=>{if(_&&T(f,_),C)for(let A=0;A{for(let x=P;x{const v=a.el=f.el;let{patchFlag:P,dynamicChildren:x,dirs:U}=a;P|=f.patchFlag&16;const L=f.props||Q,j=a.props||Q;let W;_&&nt(_,!1),(W=j.onVnodeBeforeUpdate)&&ge(W,_,a,f),U&&Oe(a,f,_,"beforeUpdate"),_&&nt(_,!0);const Y=y&&a.type!=="foreignObject";if(x?H(f.dynamicChildren,x,v,_,C,Y,A):R||ee(f,a,v,null,_,C,Y,A,!1),P>0){if(P&16)$(v,a,L,j,_,C,y);else if(P&2&&L.class!==j.class&&i(v,"class",null,j.class,y),P&4&&i(v,"style",L.style,j.style,y),P&8){const te=a.dynamicProps;for(let Z=0;Z{W&&ge(W,_,a,f),U&&Oe(a,f,_,"updated")},C)},H=(f,a,_,C,y,A,R)=>{for(let v=0;v{if(_!==C){if(_!==Q)for(const v in _)!Ht(v)&&!(v in C)&&i(f,v,_[v],null,R,a.children,y,A,Ne);for(const v in C){if(Ht(v))continue;const P=C[v],x=_[v];P!==x&&v!=="value"&&i(f,v,x,P,R,a.children,y,A,Ne)}"value"in C&&i(f,"value",_.value,C.value)}},I=(f,a,_,C,y,A,R,v,P)=>{const x=a.el=f?f.el:l(""),U=a.anchor=f?f.anchor:l("");let{patchFlag:L,dynamicChildren:j,slotScopeIds:W}=a;W&&(v=v?v.concat(W):W),f==null?(s(x,_,C),s(U,_,C),E(a.children,_,U,y,A,R,v,P)):L>0&&L&64&&j&&f.dynamicChildren?(H(f.dynamicChildren,j,_,y,A,R,v),(a.key!=null||y&&a===y.subTree)&&Ds(f,a,!0)):ee(f,a,_,U,y,A,R,v,P)},q=(f,a,_,C,y,A,R,v,P)=>{a.slotScopeIds=v,f==null?a.shapeFlag&512?y.ctx.activate(a,_,C,R,P):k(a,_,C,y,A,R,P):_e(f,a,P)},k=(f,a,_,C,y,A,R)=>{const v=f.component=Li(f,C,y);if(Gt(f)&&(v.ctx.renderer=pt),ki(v),v.asyncDep){if(y&&y.registerDep(v,X),!f.el){const P=v.subTree=ne(pe);b(null,P,a,_)}return}X(v,f,a,_,y,A,R)},_e=(f,a,_)=>{const C=a.component=f.component;if(al(f,a,_))if(C.asyncDep&&!C.asyncResolved){re(C,a,_);return}else C.next=a,rl(C.update),C.update();else a.el=f.el,C.vnode=a},X=(f,a,_,C,y,A,R)=>{const v=()=>{if(f.isMounted){let{next:U,bu:L,u:j,parent:W,vnode:Y}=f,te=U,Z;nt(f,!1),U?(U.el=Y.el,re(f,U,R)):U=Y,L&&bt(L),(Z=U.props&&U.props.onVnodeBeforeUpdate)&&ge(Z,W,U,Y),nt(f,!0);const oe=gn(f),Ae=f.subTree;f.subTree=oe,M(Ae,oe,h(Ae.el),tn(Ae),f,y,A),U.el=oe.el,te===null&&Ms(f,oe.el),j&&ce(j,y),(Z=U.props&&U.props.onVnodeUpdated)&&ce(()=>ge(Z,W,U,Y),y)}else{let U;const{el:L,props:j}=a,{bm:W,m:Y,parent:te}=f,Z=ft(a);if(nt(f,!1),W&&bt(W),!Z&&(U=j&&j.onVnodeBeforeMount)&&ge(U,te,a),nt(f,!0),L&&Wn){const oe=()=>{f.subTree=gn(f),Wn(L,f.subTree,f,y,null)};Z?a.type.__asyncLoader().then(()=>!f.isUnmounted&&oe()):oe()}else{const oe=f.subTree=gn(f);M(null,oe,_,C,f,y,A),a.el=oe.el}if(Y&&ce(Y,y),!Z&&(U=j&&j.onVnodeMounted)){const oe=a;ce(()=>ge(U,te,oe),y)}(a.shapeFlag&256||te&&ft(te.vnode)&&te.vnode.shapeFlag&256)&&f.a&&ce(f.a,y),f.isMounted=!0,a=_=C=null}},P=f.effect=new On(v,()=>kn(x),f.scope),x=f.update=()=>P.run();x.id=f.uid,nt(f,!0),x()},re=(f,a,_)=>{a.component=f;const C=f.vnode.props;f.vnode=a,f.next=null,Dl(f,a.props,C,_),$l(f,a.children,_),Mt(),sr(),Rt()},ee=(f,a,_,C,y,A,R,v,P=!1)=>{const x=f&&f.children,U=f?f.shapeFlag:0,L=a.children,{patchFlag:j,shapeFlag:W}=a;if(j>0){if(j&128){en(x,L,_,C,y,A,R,v,P);return}else if(j&256){et(x,L,_,C,y,A,R,v,P);return}}W&8?(U&16&&Ne(x,y,A),L!==x&&p(_,L)):U&16?W&16?en(x,L,_,C,y,A,R,v,P):Ne(x,y,A,!0):(U&8&&p(_,""),W&16&&E(L,_,C,y,A,R,v,P))},et=(f,a,_,C,y,A,R,v,P)=>{f=f||mt,a=a||mt;const x=f.length,U=a.length,L=Math.min(x,U);let j;for(j=0;jU?Ne(f,y,A,!0,!1,L):E(a,_,C,y,A,R,v,P,L)},en=(f,a,_,C,y,A,R,v,P)=>{let x=0;const U=a.length;let L=f.length-1,j=U-1;for(;x<=L&&x<=j;){const W=f[x],Y=a[x]=P?qe(a[x]):Ce(a[x]);if(Se(W,Y))M(W,Y,_,null,y,A,R,v,P);else break;x++}for(;x<=L&&x<=j;){const W=f[L],Y=a[j]=P?qe(a[j]):Ce(a[j]);if(Se(W,Y))M(W,Y,_,null,y,A,R,v,P);else break;L--,j--}if(x>L){if(x<=j){const W=j+1,Y=Wj)for(;x<=L;)Me(f[x],y,A,!0),x++;else{const W=x,Y=x,te=new Map;for(x=Y;x<=j;x++){const be=a[x]=P?qe(a[x]):Ce(a[x]);be.key!=null&&te.set(be.key,x)}let Z,oe=0;const Ae=j-Y+1;let gt=!1,Ws=0;const It=new Array(Ae);for(x=0;x=Ae){Me(be,y,A,!0);continue}let Re;if(be.key!=null)Re=te.get(be.key);else for(Z=Y;Z<=j;Z++)if(It[Z-Y]===0&&Se(be,a[Z])){Re=Z;break}Re===void 0?Me(be,y,A,!0):(It[Re-Y]=x+1,Re>=Ws?Ws=Re:gt=!0,M(be,a[Re],_,null,y,A,R,v,P),oe++)}const qs=gt?Jl(It):mt;for(Z=qs.length-1,x=Ae-1;x>=0;x--){const be=Y+x,Re=a[be],Ys=be+1{const{el:A,type:R,transition:v,children:P,shapeFlag:x}=f;if(x&6){tt(f.component.subTree,a,_,C);return}if(x&128){f.suspense.move(a,_,C);return}if(x&64){R.move(f,a,_,pt);return}if(R===ae){s(A,a,_);for(let L=0;Lv.enter(A),y);else{const{leave:L,delayLeave:j,afterLeave:W}=v,Y=()=>s(A,a,_),te=()=>{L(A,()=>{Y(),W&&W()})};j?j(A,Y,te):te()}else s(A,a,_)},Me=(f,a,_,C=!1,y=!1)=>{const{type:A,props:R,ref:v,children:P,dynamicChildren:x,shapeFlag:U,patchFlag:L,dirs:j}=f;if(v!=null&&wn(v,null,_,f,!0),U&256){a.ctx.deactivate(f);return}const W=U&1&&j,Y=!ft(f);let te;if(Y&&(te=R&&R.onVnodeBeforeUnmount)&&ge(te,a,f),U&6)so(f.component,_,C);else{if(U&128){f.suspense.unmount(_,C);return}W&&Oe(f,null,a,"beforeUnmount"),U&64?f.type.remove(f,a,_,y,pt,C):x&&(A!==ae||L>0&&L&64)?Ne(x,a,_,!1,!0):(A===ae&&L&384||!y&&U&16)&&Ne(P,a,_),C&&Ks(f)}(Y&&(te=R&&R.onVnodeUnmounted)||W)&&ce(()=>{te&&ge(te,a,f),W&&Oe(f,null,a,"unmounted")},_)},Ks=f=>{const{type:a,el:_,anchor:C,transition:y}=f;if(a===ae){no(_,C);return}if(a===Et){w(f);return}const A=()=>{r(_),y&&!y.persisted&&y.afterLeave&&y.afterLeave()};if(f.shapeFlag&1&&y&&!y.persisted){const{leave:R,delayLeave:v}=y,P=()=>R(_,A);v?v(f.el,A,P):P()}else A()},no=(f,a)=>{let _;for(;f!==a;)_=g(f),r(f),f=_;r(a)},so=(f,a,_)=>{const{bum:C,scope:y,update:A,subTree:R,um:v}=f;C&&bt(C),y.stop(),A&&(A.active=!1,Me(R,f,a,_)),v&&ce(v,a),ce(()=>{f.isUnmounted=!0},a),a&&a.pendingBranch&&!a.isUnmounted&&f.asyncDep&&!f.asyncResolved&&f.suspenseId===a.pendingId&&(a.deps--,a.deps===0&&a.resolve())},Ne=(f,a,_,C=!1,y=!1,A=0)=>{for(let R=A;Rf.shapeFlag&6?tn(f.component.subTree):f.shapeFlag&128?f.suspense.next():g(f.anchor||f.el),Vs=(f,a,_)=>{f==null?a._vnode&&Me(a._vnode,null,null,!0):M(a._vnode||null,f,a,null,null,null,_),sr(),xn(),a._vnode=f},pt={p:M,um:Me,m:tt,r:Ks,mt:k,mc:E,pc:ee,pbc:H,n:tn,o:e};let Vn,Wn;return t&&([Vn,Wn]=t(pt)),{render:Vs,hydrate:Vn,createApp:Vl(Vs,Vn)}}function nt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Ds(e,t,n=!1){const s=e.children,r=t.children;if(S(s)&&S(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}const zl=e=>e.__isTeleport,Ut=e=>e&&(e.disabled||e.disabled===""),pr=e=>typeof SVGElement<"u"&&e instanceof SVGElement,as=(e,t)=>{const n=e&&e.to;return se(n)?t?t(n):null:n},Xl={__isTeleport:!0,process(e,t,n,s,r,i,o,l,c,u){const{mc:p,pc:h,pbc:g,o:{insert:T,querySelector:F,createText:M,createComment:V}}=u,b=Ut(t.props);let{shapeFlag:d,children:m,dynamicChildren:w}=t;if(e==null){const O=t.el=M(""),B=t.anchor=M("");T(O,n,s),T(B,n,s);const N=t.target=as(t.props,F),E=t.targetAnchor=M("");N&&(T(E,N),o=o||pr(N));const D=(H,$)=>{d&16&&p(m,H,$,r,i,o,l,c)};b?D(n,B):N&&D(N,E)}else{t.el=e.el;const O=t.anchor=e.anchor,B=t.target=e.target,N=t.targetAnchor=e.targetAnchor,E=Ut(e.props),D=E?n:B,H=E?O:N;if(o=o||pr(B),w?(g(e.dynamicChildren,w,D,r,i,o,l),Ds(e,t,!0)):c||h(e,t,D,H,r,i,o,l,!1),b)E||dn(t,n,O,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const $=t.target=as(t.props,F);$&&dn(t,$,null,u,0)}else E&&dn(t,B,N,u,1)}Pi(t)},remove(e,t,n,s,{um:r,o:{remove:i}},o){const{shapeFlag:l,children:c,anchor:u,targetAnchor:p,target:h,props:g}=e;if(h&&i(p),(o||!Ut(g))&&(i(u),l&16))for(let T=0;T0?me||mt:null,Mi(),ut>0&&me&&me.push(e),e}function Af(e,t,n,s,r,i){return Ri(Si(e,t,n,s,r,i,!0))}function Oi(e,t,n,s,r){return Ri(ne(e,t,n,s,r,!0))}function at(e){return e?e.__v_isVNode===!0:!1}function Se(e,t){return e.type===t.type&&e.key===t.key}function Ff(e){}const $n="__vInternal",Ii=({key:e})=>e!=null?e:null,bn=({ref:e,ref_key:t,ref_for:n})=>e!=null?se(e)||fe(e)||K(e)?{i:ue,r:e,k:t,f:!!n}:e:null;function Si(e,t=null,n=null,s=0,r=null,i=e===ae?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ii(t),ref:t&&bn(t),scopeId:Dn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ue};return l?(js(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=se(n)?8:16),ut>0&&!o&&me&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&me.push(c),c}const ne=Ql;function Ql(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===bi)&&(e=pe),at(e)){const l=Ue(e,t,!0);return n&&js(l,n),ut>0&&!i&&me&&(l.shapeFlag&6?me[me.indexOf(e)]=l:me.push(l)),l.patchFlag|=-2,l}if(ic(e)&&(e=e.__vccOpts),t){t=Gl(t);let{class:l,style:c}=t;l&&!se(l)&&(t.class=Fn(l)),G(c)&&(Qr(c)&&!S(c)&&(c=ie({},c)),t.style=An(c))}const o=se(e)?1:ui(e)?128:zl(e)?64:G(e)?4:K(e)?2:0;return Si(e,t,n,s,r,o,i,!0)}function Gl(e){return e?Qr(e)||$n in e?ie({},e):e:null}function Ue(e,t,n=!1){const{props:s,ref:r,patchFlag:i,children:o}=e,l=t?ec(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Ii(l),ref:t&&t.ref?n&&r?S(r)?r.concat(bn(t)):[r,bn(t)]:bn(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ae?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ue(e.ssContent),ssFallback:e.ssFallback&&Ue(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx}}function Ni(e=" ",t=0){return ne(At,null,e,t)}function Pf(e,t){const n=ne(Et,null,e);return n.staticCount=t,n}function Mf(e="",t=!1){return t?(Us(),Oi(pe,null,e)):ne(pe,null,e)}function Ce(e){return e==null||typeof e=="boolean"?ne(pe):S(e)?ne(ae,null,e.slice()):typeof e=="object"?qe(e):ne(At,null,String(e))}function qe(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ue(e)}function js(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(S(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),js(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!($n in t)?t._ctx=ue:r===3&&ue&&(ue.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else K(t)?(t={default:t,_ctx:ue},n=32):(t=String(t),s&64?(n=16,t=[Ni(t)]):n=8);e.children=t,e.shapeFlag|=n}function ec(...e){const t={};for(let n=0;nle||ue,Qe=e=>{le=e,e.scope.on()},ze=()=>{le&&le.scope.off(),le=null};function Bi(e){return e.vnode.shapeFlag&4}let Ft=!1;function ki(e,t=!1){Ft=t;const{props:n,children:s}=e.vnode,r=Bi(e);Hl(e,n,r,t),jl(e,s);const i=r?sc(e,t):void 0;return Ft=!1,i}function sc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Gr(new Proxy(e.ctx,ls));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?Di(e):null;Qe(e),Mt();const i=Je(s,e,0,[e.props,r]);if(Rt(),ze(),xs(i)){if(i.then(ze,ze),t)return i.then(o=>{ds(e,o,t)}).catch(o=>{Ot(o,e,0)});e.asyncDep=i}else ds(e,i,t)}else Hi(e,t)}function ds(e,t,n){K(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:G(t)&&(e.setupState=ti(t)),Hi(e,n)}let Tn,hs;function Rf(e){Tn=e,hs=t=>{t.render._rc&&(t.withProxy=new Proxy(t.ctx,Il))}}const Of=()=>!Tn;function Hi(e,t,n){const s=e.type;if(!e.render){if(!t&&Tn&&!s.render){const r=s.template||ks(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,u=ie(ie({isCustomElement:i,delimiters:l},o),c);s.render=Tn(r,u)}}e.render=s.render||Pe,hs&&hs(e)}Qe(e),Mt(),Sl(e),Rt(),ze()}function rc(e){return new Proxy(e.attrs,{get(t,n){return Ee(e,"get","$attrs"),t[n]}})}function Di(e){const t=s=>{e.exposed=s||{}};let n;return{get attrs(){return n||(n=rc(e))},slots:e.slots,emit:e.emit,expose:t}}function Kn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(ti(Gr(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Dt)return Dt[n](e)},has(t,n){return n in t||n in Dt}}))}function ps(e,t=!0){return K(e)?e.displayName||e.name:e.name||t&&e.__name}function ic(e){return K(e)&&"__vccOpts"in e}const oc=(e,t)=>tl(e,t,Ft);function If(){return null}function Sf(){return null}function Nf(e){}function Lf(e,t){return null}function Bf(){return Ui().slots}function kf(){return Ui().attrs}function Ui(){const e=ht();return e.setupContext||(e.setupContext=Di(e))}function Hf(e,t){const n=S(e)?e.reduce((s,r)=>(s[r]={},s),{}):e;for(const s in t){const r=n[s];r?S(r)||K(r)?n[s]={type:r,default:t[s]}:r.default=t[s]:r===null&&(n[s]={default:t[s]})}return n}function Df(e,t){const n={};for(const s in e)t.includes(s)||Object.defineProperty(n,s,{enumerable:!0,get:()=>e[s]});return n}function Uf(e){const t=ht();let n=e();return ze(),xs(n)&&(n=n.catch(s=>{throw Qe(t),s})),[n,()=>Qe(t)]}function lc(e,t,n){const s=arguments.length;return s===2?G(t)&&!S(t)?at(t)?ne(e,null,[t]):ne(e,t):ne(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&at(n)&&(n=[n]),ne(e,t,n))}const cc=Symbol(""),fc=()=>mn(cc);function jf(){}function $f(e,t,n,s){const r=n[s];if(r&&uc(r,e))return r;const i=t();return i.memo=e.slice(),n[s]=i}function uc(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let s=0;s0&&me&&me.push(e),!0}const ac="3.2.45",dc={createComponentInstance:Li,setupComponent:ki,renderComponentRoot:gn,setCurrentRenderingInstance:Yt,isVNode:at,normalizeVNode:Ce},Kf=dc,Vf=null,Wf=null,hc="http://www.w3.org/2000/svg",ot=typeof document<"u"?document:null,mr=ot&&ot.createElement("template"),pc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t?ot.createElementNS(hc,e):ot.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>ot.createTextNode(e),createComment:e=>ot.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ot.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{mr.innerHTML=s?`${e}`:e;const l=mr.content;if(s){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function gc(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function mc(e,t,n){const s=e.style,r=se(n);if(n&&!r){for(const i in n)gs(s,i,n[i]);if(t&&!se(t))for(const i in t)n[i]==null&&gs(s,i,"")}else{const i=s.display;r?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=i)}}const _r=/\s*!important$/;function gs(e,t,n){if(S(n))n.forEach(s=>gs(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=_c(e,t);_r.test(n)?e.setProperty(Te(s),n.replace(_r,""),"important"):e[s]=n}}const br=["Webkit","Moz","ms"],Qn={};function _c(e,t){const n=Qn[t];if(n)return n;let s=xe(t);if(s!=="filter"&&s in e)return Qn[t]=s;s=Rn(s);for(let r=0;rGn||(wc.then(()=>Gn=0),Gn=Date.now());function vc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;ve(Ac(s,n.value),t,5,[s])};return n.value=e,n.attached=Tc(),n}function Ac(e,t){if(S(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const xr=/^on[a-z]/,Fc=(e,t,n,s,r=!1,i,o,l,c)=>{t==="class"?gc(e,s,r):t==="style"?mc(e,n,s):Xt(t)?ys(t)||xc(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Pc(e,t,s,r))?yc(e,t,s,i,o,l,c):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),bc(e,t,s,r))};function Pc(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&xr.test(t)&&K(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||xr.test(t)&&se(n)?!1:t in e}function Mc(e,t){const n=mi(e);class s extends $s{constructor(i){super(n,i,t)}}return s.def=n,s}const qf=e=>Mc(e,Jc),Rc=typeof HTMLElement<"u"?HTMLElement:class{};class $s extends Rc{constructor(t,n={},s){super(),this._def=t,this._props=n,this._instance=null,this._connected=!1,this._resolved=!1,this._numberProps=null,this.shadowRoot&&s?s(this._createVNode(),this.shadowRoot):(this.attachShadow({mode:"open"}),this._def.__asyncLoader||this._resolveProps(this._def))}connectedCallback(){this._connected=!0,this._instance||(this._resolved?this._update():this._resolveDef())}disconnectedCallback(){this._connected=!1,ri(()=>{this._connected||(Or(null,this.shadowRoot),this._instance=null)})}_resolveDef(){this._resolved=!0;for(let s=0;s{for(const r of s)this._setAttr(r.attributeName)}).observe(this,{attributes:!0});const t=(s,r=!1)=>{const{props:i,styles:o}=s;let l;if(i&&!S(i))for(const c in i){const u=i[c];(u===Number||u&&u.type===Number)&&(c in this._props&&(this._props[c]=He(this._props[c])),(l||(l=Object.create(null)))[xe(c)]=!0)}this._numberProps=l,r&&this._resolveProps(s),this._applyStyles(o),this._update()},n=this._def.__asyncLoader;n?n().then(s=>t(s,!0)):t(this._def)}_resolveProps(t){const{props:n}=t,s=S(n)?n:Object.keys(n||{});for(const r of Object.keys(this))r[0]!=="_"&&s.includes(r)&&this._setProp(r,this[r],!0,!1);for(const r of s.map(xe))Object.defineProperty(this,r,{get(){return this._getProp(r)},set(i){this._setProp(r,i)}})}_setAttr(t){let n=this.getAttribute(t);const s=xe(t);this._numberProps&&this._numberProps[s]&&(n=He(n)),this._setProp(s,n,!1)}_getProp(t){return this._props[t]}_setProp(t,n,s=!0,r=!0){n!==this._props[t]&&(this._props[t]=n,r&&this._instance&&this._update(),s&&(n===!0?this.setAttribute(Te(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Te(t),n+""):n||this.removeAttribute(Te(t))))}_update(){Or(this._createVNode(),this.shadowRoot)}_createVNode(){const t=ne(this._def,ie({},this._props));return this._instance||(t.ce=n=>{this._instance=n,n.isCE=!0;const s=(i,o)=>{this.dispatchEvent(new CustomEvent(i,{detail:o}))};n.emit=(i,...o)=>{s(i,o),Te(i)!==i&&s(Te(i),o)};let r=this;for(;r=r&&(r.parentNode||r.host);)if(r instanceof $s){n.parent=r._instance,n.provides=r._instance.provides;break}}),t}_applyStyles(t){t&&t.forEach(n=>{const s=document.createElement("style");s.textContent=n,this.shadowRoot.appendChild(s)})}}function Yf(e="$style"){{const t=ht();if(!t)return Q;const n=t.type.__cssModules;if(!n)return Q;const s=n[e];return s||Q}}function Jf(e){const t=ht();if(!t)return;const n=t.ut=(r=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(i=>_s(i,r))},s=()=>{const r=e(t.proxy);ms(t.subTree,r),n(r)};bl(s),jn(()=>{const r=new MutationObserver(s);r.observe(t.subTree.el.parentNode,{childList:!0}),Ns(()=>r.disconnect())})}function ms(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{ms(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)_s(e.el,t);else if(e.type===ae)e.children.forEach(n=>ms(n,t));else if(e.type===Et){let{el:n,anchor:s}=e;for(;n&&(_s(n,t),n!==s);)n=n.nextSibling}}function _s(e,t){if(e.nodeType===1){const n=e.style;for(const s in t)n.setProperty(`--${s}`,t[s])}}const Ve="transition",Nt="animation",ji=(e,{slots:t})=>lc(pi,Ki(e),t);ji.displayName="Transition";const $i={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Oc=ji.props=ie({},pi.props,$i),st=(e,t=[])=>{S(e)?e.forEach(n=>n(...t)):e&&e(...t)},Er=e=>e?S(e)?e.some(t=>t.length>1):e.length>1:!1;function Ki(e){const t={};for(const I in e)I in $i||(t[I]=e[I]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:u=o,appearToClass:p=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:g=`${n}-leave-active`,leaveToClass:T=`${n}-leave-to`}=e,F=Ic(r),M=F&&F[0],V=F&&F[1],{onBeforeEnter:b,onEnter:d,onEnterCancelled:m,onLeave:w,onLeaveCancelled:O,onBeforeAppear:B=b,onAppear:N=d,onAppearCancelled:E=m}=t,D=(I,q,k)=>{We(I,q?p:l),We(I,q?u:o),k&&k()},H=(I,q)=>{I._isLeaving=!1,We(I,h),We(I,T),We(I,g),q&&q()},$=I=>(q,k)=>{const _e=I?N:d,X=()=>D(q,I,k);st(_e,[q,X]),wr(()=>{We(q,I?c:i),Le(q,I?p:l),Er(_e)||Tr(q,s,M,X)})};return ie(t,{onBeforeEnter(I){st(b,[I]),Le(I,i),Le(I,o)},onBeforeAppear(I){st(B,[I]),Le(I,c),Le(I,u)},onEnter:$(!1),onAppear:$(!0),onLeave(I,q){I._isLeaving=!0;const k=()=>H(I,q);Le(I,h),Wi(),Le(I,g),wr(()=>{!I._isLeaving||(We(I,h),Le(I,T),Er(w)||Tr(I,s,V,k))}),st(w,[I,k])},onEnterCancelled(I){D(I,!1),st(m,[I])},onAppearCancelled(I){D(I,!0),st(E,[I])},onLeaveCancelled(I){H(I),st(O,[I])}})}function Ic(e){if(e==null)return null;if(G(e))return[es(e.enter),es(e.leave)];{const t=es(e);return[t,t]}}function es(e){return He(e)}function Le(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function We(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function wr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Sc=0;function Tr(e,t,n,s){const r=e._endId=++Sc,i=()=>{r===e._endId&&s()};if(n)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=Vi(e,t);if(!o)return s();const u=o+"end";let p=0;const h=()=>{e.removeEventListener(u,g),i()},g=T=>{T.target===e&&++p>=c&&h()};setTimeout(()=>{p(n[F]||"").split(", "),r=s(`${Ve}Delay`),i=s(`${Ve}Duration`),o=vr(r,i),l=s(`${Nt}Delay`),c=s(`${Nt}Duration`),u=vr(l,c);let p=null,h=0,g=0;t===Ve?o>0&&(p=Ve,h=o,g=i.length):t===Nt?u>0&&(p=Nt,h=u,g=c.length):(h=Math.max(o,u),p=h>0?o>u?Ve:Nt:null,g=p?p===Ve?i.length:c.length:0);const T=p===Ve&&/\b(transform|all)(,|$)/.test(s(`${Ve}Property`).toString());return{type:p,timeout:h,propCount:g,hasTransform:T}}function vr(e,t){for(;e.lengthAr(n)+Ar(e[s])))}function Ar(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function Wi(){return document.body.offsetHeight}const qi=new WeakMap,Yi=new WeakMap,Nc={name:"TransitionGroup",props:ie({},Oc,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=ht(),s=hi();let r,i;return Is(()=>{if(!r.length)return;const o=e.moveClass||`${e.name||"v"}-move`;if(!Hc(r[0].el,n.vnode.el,o))return;r.forEach(Lc),r.forEach(Bc);const l=r.filter(kc);Wi(),l.forEach(c=>{const u=c.el,p=u.style;Le(u,o),p.transform=p.webkitTransform=p.transitionDuration="";const h=u._moveCb=g=>{g&&g.target!==u||(!g||/transform$/.test(g.propertyName))&&(u.removeEventListener("transitionend",h),u._moveCb=null,We(u,o))};u.addEventListener("transitionend",h)})}),()=>{const o=z(e),l=Ki(o);let c=o.tag||ae;r=i,i=t.default?Os(t.default()):[];for(let u=0;u{o.split(/\s+/).forEach(l=>l&&s.classList.remove(l))}),n.split(/\s+/).forEach(o=>o&&s.classList.add(o)),s.style.display="none";const r=t.nodeType===1?t:t.parentNode;r.appendChild(s);const{hasTransform:i}=Vi(s);return r.removeChild(s),i}const Ge=e=>{const t=e.props["onUpdate:modelValue"]||!1;return S(t)?n=>bt(t,n):t};function Dc(e){e.target.composing=!0}function Fr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const bs={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e._assign=Ge(r);const i=s||r.props&&r.props.type==="number";ke(e,t?"change":"input",o=>{if(o.target.composing)return;let l=e.value;n&&(l=l.trim()),i&&(l=He(l)),e._assign(l)}),n&&ke(e,"change",()=>{e.value=e.value.trim()}),t||(ke(e,"compositionstart",Dc),ke(e,"compositionend",Fr),ke(e,"change",Fr))},mounted(e,{value:t}){e.value=t==null?"":t},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:s,number:r}},i){if(e._assign=Ge(i),e.composing||document.activeElement===e&&e.type!=="range"&&(n||s&&e.value.trim()===t||(r||e.type==="number")&&He(e.value)===t))return;const o=t==null?"":t;e.value!==o&&(e.value=o)}},Ji={deep:!0,created(e,t,n){e._assign=Ge(n),ke(e,"change",()=>{const s=e._modelValue,r=Pt(e),i=e.checked,o=e._assign;if(S(s)){const l=Pn(s,r),c=l!==-1;if(i&&!c)o(s.concat(r));else if(!i&&c){const u=[...s];u.splice(l,1),o(u)}}else if(dt(s)){const l=new Set(s);i?l.add(r):l.delete(r),o(l)}else o(Xi(e,i))})},mounted:Pr,beforeUpdate(e,t,n){e._assign=Ge(n),Pr(e,t,n)}};function Pr(e,{value:t,oldValue:n},s){e._modelValue=t,S(t)?e.checked=Pn(t,s.props.value)>-1:dt(t)?e.checked=t.has(s.props.value):t!==n&&(e.checked=Xe(t,Xi(e,!0)))}const zi={created(e,{value:t},n){e.checked=Xe(t,n.props.value),e._assign=Ge(n),ke(e,"change",()=>{e._assign(Pt(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e._assign=Ge(s),t!==n&&(e.checked=Xe(t,s.props.value))}},Uc={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const r=dt(t);ke(e,"change",()=>{const i=Array.prototype.filter.call(e.options,o=>o.selected).map(o=>n?He(Pt(o)):Pt(o));e._assign(e.multiple?r?new Set(i):i:i[0])}),e._assign=Ge(s)},mounted(e,{value:t}){Mr(e,t)},beforeUpdate(e,t,n){e._assign=Ge(n)},updated(e,{value:t}){Mr(e,t)}};function Mr(e,t){const n=e.multiple;if(!(n&&!S(t)&&!dt(t))){for(let s=0,r=e.options.length;s-1:i.selected=t.has(o);else if(Xe(Pt(i),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Pt(e){return"_value"in e?e._value:e.value}function Xi(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const jc={created(e,t,n){hn(e,t,n,null,"created")},mounted(e,t,n){hn(e,t,n,null,"mounted")},beforeUpdate(e,t,n,s){hn(e,t,n,s,"beforeUpdate")},updated(e,t,n,s){hn(e,t,n,s,"updated")}};function Zi(e,t){switch(e){case"SELECT":return Uc;case"TEXTAREA":return bs;default:switch(t){case"checkbox":return Ji;case"radio":return zi;default:return bs}}}function hn(e,t,n,s,r){const o=Zi(e.tagName,n.props&&n.props.type)[r];o&&o(e,t,n,s)}function $c(){bs.getSSRProps=({value:e})=>({value:e}),zi.getSSRProps=({value:e},t)=>{if(t.props&&Xe(t.props.value,e))return{checked:!0}},Ji.getSSRProps=({value:e},t)=>{if(S(e)){if(t.props&&Pn(e,t.props.value)>-1)return{checked:!0}}else if(dt(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},jc.getSSRProps=(e,t)=>{if(typeof t.type!="string")return;const n=Zi(t.type.toUpperCase(),t.props&&t.props.type);if(n.getSSRProps)return n.getSSRProps(e,t)}}const Kc=["ctrl","shift","alt","meta"],Vc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Kc.some(n=>e[`${n}Key`]&&!t.includes(n))},Xf=(e,t)=>(n,...s)=>{for(let r=0;rn=>{if(!("key"in n))return;const s=Te(n.key);if(t.some(r=>r===s||Wc[r]===s))return e(n)},qc={beforeMount(e,{value:t},{transition:n}){e._vod=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Lt(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),Lt(e,!0),s.enter(e)):s.leave(e,()=>{Lt(e,!1)}):Lt(e,t))},beforeUnmount(e,{value:t}){Lt(e,t)}};function Lt(e,t){e.style.display=t?e._vod:"none"}function Yc(){qc.getSSRProps=({value:e})=>{if(!e)return{style:{display:"none"}}}}const Qi=ie({patchProp:Fc},pc);let $t,Rr=!1;function Gi(){return $t||($t=ql(Qi))}function eo(){return $t=Rr?$t:Yl(Qi),Rr=!0,$t}const Or=(...e)=>{Gi().render(...e)},Jc=(...e)=>{eo().hydrate(...e)},Qf=(...e)=>{const t=Gi().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=to(s);if(!r)return;const i=t._component;!K(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.innerHTML="";const o=n(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t},Gf=(...e)=>{const t=eo().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=to(s);if(r)return n(r,!0,r instanceof SVGElement)},t};function to(e){return se(e)?document.querySelector(e):e}let Ir=!1;const eu=()=>{Ir||(Ir=!0,$c(),Yc())};export{Xf as $,cf as A,K as B,at as C,mn as D,_l as E,Ss as F,Go as G,Ns as H,tl as I,vl as J,wf as K,ec as L,Bf as M,Pe as N,Oi as O,fi as P,_f as Q,Fn as R,yf as S,Mf as T,Ni as U,Xc as V,ae as W,ne as X,qc as Y,ji as Z,kf as _,Si as a,Hf as a$,An as a0,vs as a1,Is as a2,Ue as a3,At as a4,pe as a5,vf as a6,wl as a7,xf as a8,Zf as a9,Qr as aA,Tt as aB,Cn as aC,ti as aD,nf as aE,tf as aF,pn as aG,pi as aH,mf as aI,Et as aJ,df as aK,ve as aL,Je as aM,Wf as aN,Yl as aO,Df as aP,ql as aQ,gf as aR,Sf as aS,Nf as aT,If as aU,St as aV,Os as aW,Ot as aX,jf as aY,uc as aZ,Of as a_,Ef as aa,lf as ab,Js as ac,Ji as ad,zi as ae,Tf as af,bf as ag,zc as ah,Gl as ai,Gr as aj,Zc as ak,rf as al,_o as am,Cf as an,bs as ao,xs as ap,zf as aq,Qf as ar,Te as as,Yo as at,Or as au,yt as av,kr as aw,On as ax,of as ay,ef as az,Pf as b,El as b0,Al as b1,Rl as b2,Ml as b3,Pl as b4,Fl as b5,uf as b6,ff as b7,oi as b8,Rf as b9,Uc as bA,Vf as ba,zt as bb,gr as bc,ol as bd,vt as be,cc as bf,Kf as bg,Ff as bh,fc as bi,hi as bj,ac as bk,bl,pf as bm,Uf as bn,Lf as bo,$f as bp,af as bq,$s as br,Gf as bs,Mc as bt,qf as bu,Jc as bv,eu as bw,Yf as bx,Jf as by,jc as bz,Af as c,mi as d,oc as e,Gc as f,Qc as g,lc as h,ht as i,jn as j,fe as k,hf as l,Zr as m,ri as n,Us as o,se as p,S as q,qn as r,sf as s,z as t,zo as u,G as v,_n as w,Rn as x,xe as y,J as z}; diff --git a/public/assets/@vueuse.07613b64.js b/public/assets/@vueuse.07613b64.js deleted file mode 100644 index fcf1220..0000000 --- a/public/assets/@vueuse.07613b64.js +++ /dev/null @@ -1 +0,0 @@ -import{g as ve,f as me,i as ae,j as _e,n as ge,k as ye,r as O,w as $,s as oe,l as se,m as Oe,u as we,e as T}from"./@vue.a137a740.js";var be=Object.defineProperty,he=Object.defineProperties,Pe=Object.getOwnPropertyDescriptors,z=Object.getOwnPropertySymbols,Se=Object.prototype.hasOwnProperty,Ee=Object.prototype.propertyIsEnumerable,W=(e,t,r)=>t in e?be(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,$e=(e,t)=>{for(var r in t||(t={}))Se.call(t,r)&&W(e,r,t[r]);if(z)for(var r of z(t))Ee.call(t,r)&&W(e,r,t[r]);return e},Fe=(e,t)=>he(e,Pe(t));function $t(e,t){var r;const n=oe();return se(()=>{n.value=e()},Fe($e({},t),{flush:(r=t==null?void 0:t.flush)!=null?r:"sync"})),Oe(n)}var Q;const N=typeof window<"u",Ie=e=>typeof e<"u",Ft=e=>typeof e=="boolean",le=e=>typeof e=="function",It=e=>typeof e=="number",je=e=>typeof e=="string",Te=()=>{};N&&((Q=window==null?void 0:window.navigator)==null?void 0:Q.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function E(e){return typeof e=="function"?e():we(e)}function V(e,t){function r(...n){e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})}return r}const ie=e=>e();function Ne(e,t={}){let r,n;return o=>{const l=E(e),s=E(t.maxWait);if(r&&clearTimeout(r),l<=0||s!==void 0&&s<=0)return n&&(clearTimeout(n),n=null),o();s&&!n&&(n=setTimeout(()=>{r&&clearTimeout(r),n=null,o()},s)),r=setTimeout(()=>{n&&clearTimeout(n),n=null,o()},l)}}function Ce(e,t=!0,r=!0){let n=0,a,o=!0;const l=()=>{a&&(clearTimeout(a),a=void 0)};return i=>{const u=E(e),d=Date.now()-n;if(l(),u<=0)return n=Date.now(),i();d>u&&(r||!o)?(n=Date.now(),i()):t&&(a=setTimeout(()=>{n=Date.now(),o=!0,l(),i()},u-d)),!r&&!a&&(a=setTimeout(()=>o=!0,u)),o=!1}}function De(e=ie){const t=O(!0);function r(){t.value=!1}function n(){t.value=!0}return{isActive:t,pause:r,resume:n,eventFilter:(...o)=>{t.value&&e(...o)}}}function xe(e){return e}function C(e){return ve()?(me(e),!0):!1}function Ae(e,t=200,r={}){return V(Ne(t,r),e)}function jt(e,t=200,r={}){const n=O(e.value),a=Ae(()=>{n.value=e.value},t,r);return $(e,()=>a()),n}function Tt(e,t=200,r=!1,n=!0){return V(Ce(t,r,n),e)}function Re(e){return typeof e=="function"?T(e):O(e)}function k(e,t=!0){ae()?_e(e):t?e():ge(e)}function Me(e,t,r={}){const{immediate:n=!0}=r,a=O(!1);let o=null;function l(){o&&(clearTimeout(o),o=null)}function s(){a.value=!1,l()}function i(...u){l(),a.value=!0,o=setTimeout(()=>{a.value=!1,o=null,e(...u)},E(t))}return n&&(a.value=!0,N&&i()),C(s),{isPending:a,start:i,stop:s}}function Nt(e=!1,t={}){const{truthyValue:r=!0,falsyValue:n=!1}=t,a=ye(e),o=O(e);function l(s){if(arguments.length)return o.value=s,o.value;{const i=E(r);return o.value=o.value===i?E(n):i,o.value}}return a?l:[o,l]}var J=Object.getOwnPropertySymbols,Le=Object.prototype.hasOwnProperty,Ve=Object.prototype.propertyIsEnumerable,ke=(e,t)=>{var r={};for(var n in e)Le.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&J)for(var n of J(e))t.indexOf(n)<0&&Ve.call(e,n)&&(r[n]=e[n]);return r};function ze(e,t,r={}){const n=r,{eventFilter:a=ie}=n,o=ke(n,["eventFilter"]);return $(e,V(a,t),o)}var We=Object.defineProperty,Qe=Object.defineProperties,Je=Object.getOwnPropertyDescriptors,A=Object.getOwnPropertySymbols,ue=Object.prototype.hasOwnProperty,ce=Object.prototype.propertyIsEnumerable,q=(e,t,r)=>t in e?We(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,qe=(e,t)=>{for(var r in t||(t={}))ue.call(t,r)&&q(e,r,t[r]);if(A)for(var r of A(t))ce.call(t,r)&&q(e,r,t[r]);return e},He=(e,t)=>Qe(e,Je(t)),Be=(e,t)=>{var r={};for(var n in e)ue.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&A)for(var n of A(e))t.indexOf(n)<0&&ce.call(e,n)&&(r[n]=e[n]);return r};function Ue(e,t,r={}){const n=r,{eventFilter:a}=n,o=Be(n,["eventFilter"]),{eventFilter:l,pause:s,resume:i,isActive:u}=De(a);return{stop:ze(e,t,He(qe({},o),{eventFilter:l})),pause:s,resume:i,isActive:u}}function I(e){var t;const r=E(e);return(t=r==null?void 0:r.$el)!=null?t:r}const P=N?window:void 0,fe=N?window.document:void 0,Ge=N?window.navigator:void 0;N&&window.location;function h(...e){let t,r,n,a;if(je(e[0])||Array.isArray(e[0])?([r,n,a]=e,t=P):[t,r,n,a]=e,!t)return Te;Array.isArray(r)||(r=[r]),Array.isArray(n)||(n=[n]);const o=[],l=()=>{o.forEach(d=>d()),o.length=0},s=(d,y,p)=>(d.addEventListener(y,p,a),()=>d.removeEventListener(y,p,a)),i=$(()=>I(t),d=>{l(),d&&o.push(...r.flatMap(y=>n.map(p=>s(d,y,p))))},{immediate:!0,flush:"post"}),u=()=>{i(),l()};return C(u),u}function Ct(e,t,r={}){const{window:n=P,ignore:a,capture:o=!0,detectIframe:l=!1}=r;if(!n)return;let s=!0,i;const u=c=>{n.clearTimeout(i);const f=I(e);if(!(!f||f===c.target||c.composedPath().includes(f))){if(!s){s=!0;return}t(c)}},d=c=>a&&a.some(f=>{const v=I(f);return v&&(c.target===v||c.composedPath().includes(v))}),y=[h(n,"click",u,{passive:!0,capture:o}),h(n,"pointerdown",c=>{const f=I(e);f&&(s=!c.composedPath().includes(f)&&!d(c))},{passive:!0}),h(n,"pointerup",c=>{if(c.button===0){const f=c.composedPath();c.composedPath=()=>f,i=n.setTimeout(()=>u(c),50)}},{passive:!0}),l&&h(n,"blur",c=>{var f;const v=I(e);((f=n.document.activeElement)==null?void 0:f.tagName)==="IFRAME"&&!(v!=null&&v.contains(n.document.activeElement))&&t(c)})].filter(Boolean);return()=>y.forEach(c=>c())}function R(e,t=!1){const r=O(),n=()=>r.value=Boolean(e());return n(),k(n,t),r}function Ke(e,t={}){const{window:r=P}=t,n=R(()=>r&&"matchMedia"in r&&typeof r.matchMedia=="function");let a;const o=O(!1),l=()=>{!a||("removeEventListener"in a?a.removeEventListener("change",s):a.removeListener(s))},s=()=>{!n.value||(l(),a=r.matchMedia(Re(e).value),o.value=a.matches,"addEventListener"in a?a.addEventListener("change",s):a.addListener(s))};return se(s),C(()=>l()),o}function Dt(e={}){const{navigator:t=Ge,read:r=!1,source:n,copiedDuring:a=1500,legacy:o=!1}=e,l=["copy","cut"],s=R(()=>t&&"clipboard"in t),i=T(()=>s.value||o),u=O(""),d=O(!1),y=Me(()=>d.value=!1,a);function p(){s.value?t.clipboard.readText().then(g=>{u.value=g}):u.value=v()}if(i.value&&r)for(const g of l)h(g,p);async function c(g=E(n)){i.value&&g!=null&&(s.value?await t.clipboard.writeText(g):f(g),u.value=g,d.value=!0,y.start())}function f(g){const _=document.createElement("textarea");_.value=g!=null?g:"",_.style.position="absolute",_.style.opacity="0",document.body.appendChild(_),_.select(),document.execCommand("copy"),_.remove()}function v(){var g,_,w;return(w=(_=(g=document==null?void 0:document.getSelection)==null?void 0:g.call(document))==null?void 0:_.toString())!=null?w:""}return{isSupported:i,text:u,copied:d,copy:c}}function Xe(e){return JSON.parse(JSON.stringify(e))}const M=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},L="__vueuse_ssr_handlers__";M[L]=M[L]||{};const Ye=M[L];function de(e,t){return Ye[e]||t}function Ze(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}var et=Object.defineProperty,H=Object.getOwnPropertySymbols,tt=Object.prototype.hasOwnProperty,rt=Object.prototype.propertyIsEnumerable,B=(e,t,r)=>t in e?et(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,U=(e,t)=>{for(var r in t||(t={}))tt.call(t,r)&&B(e,r,t[r]);if(H)for(var r of H(t))rt.call(t,r)&&B(e,r,t[r]);return e};const nt={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}};function at(e,t,r,n={}){var a;const{flush:o="pre",deep:l=!0,listenToStorageChanges:s=!0,writeDefaults:i=!0,mergeDefaults:u=!1,shallow:d,window:y=P,eventFilter:p,onError:c=m=>{console.error(m)}}=n,f=(d?oe:O)(t);if(!r)try{r=de("getDefaultStorage",()=>{var m;return(m=P)==null?void 0:m.localStorage})()}catch(m){c(m)}if(!r)return f;const v=E(t),g=Ze(v),_=(a=n.serializer)!=null?a:nt[g],{pause:w,resume:b}=Ue(f,()=>F(f.value),{flush:o,deep:l,eventFilter:p});return y&&s&&h(y,"storage",D),D(),f;function F(m){try{m==null?r.removeItem(e):r.setItem(e,_.write(m))}catch(S){c(S)}}function j(m){w();try{const S=m?m.newValue:r.getItem(e);if(S==null)return i&&v!==null&&r.setItem(e,_.write(v)),v;if(!m&&u){const x=_.read(S);return le(u)?u(x,v):g==="object"&&!Array.isArray(x)?U(U({},v),x):x}else return typeof S!="string"?S:_.read(S)}catch(S){c(S)}finally{b()}}function D(m){if(!(m&&m.storageArea!==r)){if(m&&m.key===null){f.value=v;return}m&&m.key!==e||(f.value=j(m))}}}function pe(e){return Ke("(prefers-color-scheme: dark)",e)}var ot=Object.defineProperty,G=Object.getOwnPropertySymbols,st=Object.prototype.hasOwnProperty,lt=Object.prototype.propertyIsEnumerable,K=(e,t,r)=>t in e?ot(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,it=(e,t)=>{for(var r in t||(t={}))st.call(t,r)&&K(e,r,t[r]);if(G)for(var r of G(t))lt.call(t,r)&&K(e,r,t[r]);return e};function ut(e={}){const{selector:t="html",attribute:r="class",initialValue:n="auto",window:a=P,storage:o,storageKey:l="vueuse-color-scheme",listenToStorageChanges:s=!0,storageRef:i,emitAuto:u}=e,d=it({auto:"",light:"light",dark:"dark"},e.modes||{}),y=pe({window:a}),p=T(()=>y.value?"dark":"light"),c=i||(l==null?O(n):at(l,n,o,{window:a,listenToStorageChanges:s})),f=T({get(){return c.value==="auto"&&!u?p.value:c.value},set(w){c.value=w}}),v=de("updateHTMLAttrs",(w,b,F)=>{const j=a==null?void 0:a.document.querySelector(w);if(!!j)if(b==="class"){const D=F.split(/\s/g);Object.values(d).flatMap(m=>(m||"").split(/\s/g)).filter(Boolean).forEach(m=>{D.includes(m)?j.classList.add(m):j.classList.remove(m)})}else j.setAttribute(b,F)});function g(w){var b;const F=w==="auto"?p.value:w;v(t,r,(b=d[F])!=null?b:F)}function _(w){e.onChanged?e.onChanged(w,g):g(w)}return $(f,_,{flush:"post",immediate:!0}),u&&$(p,()=>_(f.value),{flush:"post"}),k(()=>_(f.value)),f}var ct=Object.defineProperty,ft=Object.defineProperties,dt=Object.getOwnPropertyDescriptors,X=Object.getOwnPropertySymbols,pt=Object.prototype.hasOwnProperty,vt=Object.prototype.propertyIsEnumerable,Y=(e,t,r)=>t in e?ct(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,mt=(e,t)=>{for(var r in t||(t={}))pt.call(t,r)&&Y(e,r,t[r]);if(X)for(var r of X(t))vt.call(t,r)&&Y(e,r,t[r]);return e},_t=(e,t)=>ft(e,dt(t));function xt(e={}){const{valueDark:t="dark",valueLight:r="",window:n=P}=e,a=ut(_t(mt({},e),{onChanged:(s,i)=>{var u;e.onChanged?(u=e.onChanged)==null||u.call(e,s==="dark"):i(s)},modes:{dark:t,light:r}})),o=pe({window:n});return T({get(){return a.value==="dark"},set(s){s===o.value?a.value="auto":a.value=s?"dark":"light"}})}function At({document:e=fe}={}){if(!e)return O("visible");const t=O(e.visibilityState);return h(e,"visibilitychange",()=>{t.value=e.visibilityState}),t}var Z=Object.getOwnPropertySymbols,gt=Object.prototype.hasOwnProperty,yt=Object.prototype.propertyIsEnumerable,Ot=(e,t)=>{var r={};for(var n in e)gt.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&Z)for(var n of Z(e))t.indexOf(n)<0&&yt.call(e,n)&&(r[n]=e[n]);return r};function Rt(e,t,r={}){const n=r,{window:a=P}=n,o=Ot(n,["window"]);let l;const s=R(()=>a&&"ResizeObserver"in a),i=()=>{l&&(l.disconnect(),l=void 0)},u=$(()=>I(e),y=>{i(),s.value&&a&&y&&(l=new ResizeObserver(t),l.observe(y,o))},{immediate:!0,flush:"post"}),d=()=>{i(),u()};return C(d),{isSupported:s,stop:d}}const ee=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]];function Mt(e,t={}){const{document:r=fe,autoExit:n=!1}=t,a=e||(r==null?void 0:r.querySelector("html")),o=O(!1);let l=ee[0];const s=R(()=>{if(r){for(const v of ee)if(v[1]in r)return l=v,!0}else return!1;return!1}),[i,u,d,,y]=l;async function p(){!s.value||(r!=null&&r[d]&&await r[u](),o.value=!1)}async function c(){if(!s.value)return;await p();const v=I(a);v&&(await v[i](),o.value=!0)}async function f(){o.value?await p():await c()}return r&&h(r,y,()=>{o.value=!!(r!=null&&r[d])},!1),n&&C(p),{isSupported:s,isFullscreen:o,enter:c,exit:p,toggle:f}}var te;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(te||(te={}));var wt=Object.defineProperty,re=Object.getOwnPropertySymbols,bt=Object.prototype.hasOwnProperty,ht=Object.prototype.propertyIsEnumerable,ne=(e,t,r)=>t in e?wt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Pt=(e,t)=>{for(var r in t||(t={}))bt.call(t,r)&&ne(e,r,t[r]);if(re)for(var r of re(t))ht.call(t,r)&&ne(e,r,t[r]);return e};const St={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};Pt({linear:xe},St);function Lt(e,t,r,n={}){var a,o,l;const{clone:s=!1,passive:i=!1,eventName:u,deep:d=!1,defaultValue:y}=n,p=ae(),c=r||(p==null?void 0:p.emit)||((a=p==null?void 0:p.$emit)==null?void 0:a.bind(p))||((l=(o=p==null?void 0:p.proxy)==null?void 0:o.$emit)==null?void 0:l.bind(p==null?void 0:p.proxy));let f=u;t||(t="modelValue"),f=u||f||`update:${t.toString()}`;const v=_=>s?le(s)?s(_):Xe(_):_,g=()=>Ie(e[t])?v(e[t]):y;if(i){const _=g(),w=O(_);return $(()=>e[t],b=>w.value=v(b)),$(w,b=>{(b!==e[t]||d)&&c(f,b)},{deep:d}),w}else return T({get(){return g()},set(_){c(f,_)}})}function Vt({window:e=P}={}){if(!e)return O(!1);const t=O(e.document.hasFocus());return h(e,"blur",()=>{t.value=!1}),h(e,"focus",()=>{t.value=!0}),t}function kt(e={}){const{window:t=P,initialWidth:r=1/0,initialHeight:n=1/0,listenOrientation:a=!0,includeScrollbar:o=!0}=e,l=O(r),s=O(n),i=()=>{t&&(o?(l.value=t.innerWidth,s.value=t.innerHeight):(l.value=t.document.documentElement.clientWidth,s.value=t.document.documentElement.clientHeight))};return i(),k(i),h("resize",i,{passive:!0}),a&&h("orientationchange",i,{passive:!0}),{width:l,height:s}}export{It as a,Ft as b,h as c,I as d,Me as e,Tt as f,At as g,Vt as h,N as i,$t as j,Lt as k,Mt as l,xt as m,Nt as n,Ct as o,kt as p,Dt as q,jt as r,C as t,Rt as u}; diff --git a/public/assets/@wangeditor.501cf061.css b/public/assets/@wangeditor.501cf061.css deleted file mode 100644 index 50ac020..0000000 --- a/public/assets/@wangeditor.501cf061.css +++ /dev/null @@ -1 +0,0 @@ -:root,:host{--w-e-textarea-bg-color: #fff;--w-e-textarea-color: #333;--w-e-textarea-border-color: #ccc;--w-e-textarea-slight-border-color: #e8e8e8;--w-e-textarea-slight-color: #d4d4d4;--w-e-textarea-slight-bg-color: #f5f2f0;--w-e-textarea-selected-border-color: #B4D5FF;--w-e-textarea-handler-bg-color: #4290f7;--w-e-toolbar-color: #595959;--w-e-toolbar-bg-color: #fff;--w-e-toolbar-active-color: #333;--w-e-toolbar-active-bg-color: #f1f1f1;--w-e-toolbar-disabled-color: #999;--w-e-toolbar-border-color: #e8e8e8;--w-e-modal-button-bg-color: #fafafa;--w-e-modal-button-border-color: #d9d9d9}.w-e-text-container *,.w-e-toolbar *{box-sizing:border-box;margin:0;outline:none;padding:0}.w-e-text-container blockquote,.w-e-text-container li,.w-e-text-container p,.w-e-text-container td,.w-e-text-container th,.w-e-toolbar *{line-height:1.5}.w-e-text-container{background-color:var(--w-e-textarea-bg-color);color:var(--w-e-textarea-color);height:100%;position:relative}.w-e-text-container .w-e-scroll{-webkit-overflow-scrolling:touch;height:100%}.w-e-text-container [data-slate-editor]{word-wrap:break-word;border-top:1px solid transparent;min-height:100%;outline:0;padding:0 10px;white-space:pre-wrap}.w-e-text-container [data-slate-editor] p{margin:15px 0}.w-e-text-container [data-slate-editor] h1,.w-e-text-container [data-slate-editor] h2,.w-e-text-container [data-slate-editor] h3,.w-e-text-container [data-slate-editor] h4,.w-e-text-container [data-slate-editor] h5{margin:20px 0}.w-e-text-container [data-slate-editor] img{cursor:default;display:inline!important;max-width:100%;min-height:20px;min-width:20px}.w-e-text-container [data-slate-editor] span{text-indent:0}.w-e-text-container [data-slate-editor] [data-selected=true]{box-shadow:0 0 0 2px var(--w-e-textarea-selected-border-color)}.w-e-text-placeholder{font-style:italic;left:10px;top:17px;width:90%}.w-e-max-length-info,.w-e-text-placeholder{color:var(--w-e-textarea-slight-color);pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none}.w-e-max-length-info{bottom:.5em;right:1em}.w-e-bar{background-color:var(--w-e-toolbar-bg-color);color:var(--w-e-toolbar-color);font-size:14px;padding:0 5px}.w-e-bar svg{fill:var(--w-e-toolbar-color);height:14px;width:14px}.w-e-bar-show{display:flex}.w-e-bar-hidden{display:none}.w-e-hover-bar{border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 5px #0000001f;position:absolute}.w-e-toolbar{flex-wrap:wrap;position:relative}.w-e-bar-divider{background-color:var(--w-e-toolbar-border-color);display:inline-flex;height:40px;margin:0 5px;width:1px}.w-e-bar-item{display:flex;height:40px;padding:4px;position:relative;text-align:center}.w-e-bar-item,.w-e-bar-item button{align-items:center;justify-content:center}.w-e-bar-item button{background:transparent;border:none;color:var(--w-e-toolbar-color);cursor:pointer;display:inline-flex;height:32px;overflow:hidden;padding:0 8px;white-space:nowrap}.w-e-bar-item button:hover{background-color:var(--w-e-toolbar-active-bg-color);color:var(--w-e-toolbar-active-color)}.w-e-bar-item button .title{margin-left:5px}.w-e-bar-item .active{background-color:var(--w-e-toolbar-active-bg-color);color:var(--w-e-toolbar-active-color)}.w-e-bar-item .disabled{color:var(--w-e-toolbar-disabled-color);cursor:not-allowed}.w-e-bar-item .disabled svg{fill:var(--w-e-toolbar-disabled-color)}.w-e-bar-item .disabled:hover{background-color:var(--w-e-toolbar-bg-color);color:var(--w-e-toolbar-disabled-color)}.w-e-bar-item .disabled:hover svg{fill:var(--w-e-toolbar-disabled-color)}.w-e-menu-tooltip-v5:before{background-color:var(--w-e-toolbar-active-color);border-radius:5px;color:var(--w-e-toolbar-bg-color);content:attr(data-tooltip);font-size:.75em;opacity:0;padding:5px 10px;position:absolute;text-align:center;top:40px;transition:opacity .6s;visibility:hidden;white-space:pre;z-index:1}.w-e-menu-tooltip-v5:after{border:5px solid transparent;border-bottom:5px solid var(--w-e-toolbar-active-color);content:"";opacity:0;position:absolute;top:30px;transition:opacity .6s;visibility:hidden}.w-e-menu-tooltip-v5:hover:after,.w-e-menu-tooltip-v5:hover:before{opacity:1;visibility:visible}.w-e-menu-tooltip-v5.tooltip-right:before{left:100%;top:10px}.w-e-menu-tooltip-v5.tooltip-right:after{border-bottom-color:transparent;border-left-color:transparent;border-right-color:var(--w-e-toolbar-active-color);border-top-color:transparent;left:100%;margin-left:-10px;top:16px}.w-e-bar-item-group .w-e-bar-item-menus-container{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;display:none;left:0;margin-top:40px;position:absolute;top:0;z-index:1}.w-e-bar-item-group:hover .w-e-bar-item-menus-container{display:block}.w-e-select-list{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;left:0;margin-top:40px;max-height:350px;min-width:100px;overflow-y:auto;position:absolute;top:0;z-index:1}.w-e-select-list ul{line-height:1;list-style:none}.w-e-select-list ul .selected{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-select-list ul li{cursor:pointer;padding:7px 0 7px 25px;position:relative;text-align:left;white-space:nowrap}.w-e-select-list ul li:hover{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-select-list ul li svg{left:0;margin-left:5px;margin-top:-7px;position:absolute;top:50%}.w-e-bar-bottom .w-e-select-list{bottom:0;margin-bottom:40px;margin-top:0;top:inherit}.w-e-drop-panel{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;margin-top:40px;min-width:200px;padding:10px;position:absolute;top:0;z-index:1}.w-e-bar-bottom .w-e-drop-panel{bottom:0;margin-bottom:40px;margin-top:0;top:inherit}.w-e-modal{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;color:var(--w-e-toolbar-color);font-size:14px;min-height:40px;min-width:100px;padding:20px 15px 0;position:absolute;text-align:left;z-index:1}.w-e-modal .btn-close{cursor:pointer;line-height:1;padding:5px;position:absolute;right:8px;top:7px}.w-e-modal .btn-close svg{fill:var(--w-e-toolbar-color);height:10px;width:10px}.w-e-modal .babel-container{display:block;margin-bottom:15px}.w-e-modal .babel-container span{display:block;margin-bottom:10px}.w-e-modal .button-container{margin-bottom:15px}.w-e-modal button{background-color:var(--w-e-modal-button-bg-color);border:1px solid var(--w-e-modal-button-border-color);border-radius:4px;color:var(--w-e-toolbar-color);cursor:pointer;font-weight:400;height:32px;padding:4.5px 15px;text-align:center;touch-action:manipulation;transition:all .3s cubic-bezier(.645,.045,.355,1);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.w-e-modal input[type=number],.w-e-modal input[type=text],.w-e-modal textarea{font-feature-settings:"tnum";background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-modal-button-border-color);border-radius:4px;color:var(--w-e-toolbar-color);font-variant:tabular-nums;padding:4.5px 11px;transition:all .3s;width:100%}.w-e-modal textarea{min-height:60px}body .w-e-modal,body .w-e-modal *{box-sizing:border-box}.w-e-progress-bar{background-color:var(--w-e-textarea-handler-bg-color);height:1px;position:absolute;transition:width .3s;width:0}.w-e-full-screen-container{bottom:0!important;display:flex!important;flex-direction:column!important;height:100%!important;left:0!important;margin:0!important;padding:0!important;position:fixed;right:0!important;top:0!important;width:100%!important}.w-e-full-screen-container [data-w-e-textarea=true]{flex:1!important}.w-e-text-container [data-slate-editor] code{background-color:var(--w-e-textarea-slight-bg-color);border-radius:3px;font-family:monospace;padding:3px}.w-e-panel-content-color{list-style:none;text-align:left;width:230px}.w-e-panel-content-color li{border:1px solid var(--w-e-toolbar-bg-color);border-radius:3px;cursor:pointer;display:inline-block;padding:2px}.w-e-panel-content-color li:hover{border-color:var(--w-e-toolbar-color)}.w-e-panel-content-color li .color-block{border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;height:17px;width:17px}.w-e-panel-content-color .active{border-color:var(--w-e-toolbar-color)}.w-e-panel-content-color .clear{line-height:1.5;margin-bottom:5px;width:100%}.w-e-panel-content-color .clear svg{height:16px;margin-bottom:-4px;width:16px}.w-e-text-container [data-slate-editor] blockquote{background-color:var(--w-e-textarea-slight-bg-color);border-left:8px solid var(--w-e-textarea-selected-border-color);display:block;font-size:100%;line-height:1.5;margin:10px 0;padding:10px}.w-e-panel-content-emotion{font-size:20px;list-style:none;text-align:left;width:300px}.w-e-panel-content-emotion li{border-radius:3px;cursor:pointer;display:inline-block;padding:0 5px}.w-e-panel-content-emotion li:hover{background-color:var(--w-e-textarea-slight-bg-color)}.w-e-textarea-divider{border-radius:3px;margin:20px auto;padding:20px}.w-e-textarea-divider hr{background-color:var(--w-e-textarea-border-color);border:0;display:block;height:1px}.w-e-text-container [data-slate-editor] pre>code{background-color:var(--w-e-textarea-slight-bg-color);border:1px solid var(--w-e-textarea-slight-border-color);border-radius:4px;display:block;font-size:14px;padding:10px;text-indent:0}.w-e-text-container [data-slate-editor] .w-e-image-container{display:inline-block;margin:0 3px}.w-e-text-container [data-slate-editor] .w-e-image-container:hover{box-shadow:0 0 0 2px var(--w-e-textarea-selected-border-color)}.w-e-text-container [data-slate-editor] .w-e-selected-image-container{overflow:hidden;position:relative}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .w-e-image-dragger{background-color:var(--w-e-textarea-handler-bg-color);height:7px;position:absolute;width:7px}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .left-top{cursor:nwse-resize;left:0;top:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .right-top{cursor:nesw-resize;right:0;top:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .left-bottom{bottom:0;cursor:nesw-resize;left:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .right-bottom{bottom:0;cursor:nwse-resize;right:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container:hover,.w-e-text-container [contenteditable=false] .w-e-image-container:hover{box-shadow:none}.w-e-text-container [data-slate-editor] .table-container{border:1px dashed var(--w-e-textarea-border-color);border-radius:5px;margin-top:10px;overflow-x:auto;padding:10px;width:100%}.w-e-text-container [data-slate-editor] table{border-collapse:collapse}.w-e-text-container [data-slate-editor] table td,.w-e-text-container [data-slate-editor] table th{border:1px solid var(--w-e-textarea-border-color);line-height:1.5;min-width:30px;padding:3px 5px;text-align:left}.w-e-text-container [data-slate-editor] table th{background-color:var(--w-e-textarea-slight-bg-color);font-weight:700;text-align:center}.w-e-panel-content-table{background-color:var(--w-e-toolbar-bg-color)}.w-e-panel-content-table table{border-collapse:collapse}.w-e-panel-content-table td{border:1px solid var(--w-e-toolbar-border-color);cursor:pointer;height:15px;padding:3px 5px;width:20px}.w-e-panel-content-table td.active{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-textarea-video-container{background-image:linear-gradient(45deg,#eee 25%,transparent 0,transparent 75%,#eee 0,#eee),linear-gradient(45deg,#eee 25%,#fff 0,#fff 75%,#eee 0,#eee);background-position:0 0,10px 10px;background-size:20px 20px;border:1px dashed var(--w-e-textarea-border-color);border-radius:5px;margin:10px auto 0;padding:10px 0;text-align:center}.w-e-text-container [data-slate-editor] pre>code{word-wrap:normal;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;-webkit-hyphens:none;hyphens:none;line-height:1.5;margin:.5em 0;overflow:auto;padding:1em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;text-shadow:0 1px #fff;white-space:pre;word-break:normal;word-spacing:normal}.w-e-text-container [data-slate-editor] pre>code .token.cdata,.w-e-text-container [data-slate-editor] pre>code .token.comment,.w-e-text-container [data-slate-editor] pre>code .token.doctype,.w-e-text-container [data-slate-editor] pre>code .token.prolog{color:#708090}.w-e-text-container [data-slate-editor] pre>code .token.punctuation{color:#999}.w-e-text-container [data-slate-editor] pre>code .token.namespace{opacity:.7}.w-e-text-container [data-slate-editor] pre>code .token.boolean,.w-e-text-container [data-slate-editor] pre>code .token.constant,.w-e-text-container [data-slate-editor] pre>code .token.deleted,.w-e-text-container [data-slate-editor] pre>code .token.number,.w-e-text-container [data-slate-editor] pre>code .token.property,.w-e-text-container [data-slate-editor] pre>code .token.symbol,.w-e-text-container [data-slate-editor] pre>code .token.tag{color:#905}.w-e-text-container [data-slate-editor] pre>code .token.attr-name,.w-e-text-container [data-slate-editor] pre>code .token.builtin,.w-e-text-container [data-slate-editor] pre>code .token.char,.w-e-text-container [data-slate-editor] pre>code .token.inserted,.w-e-text-container [data-slate-editor] pre>code .token.selector,.w-e-text-container [data-slate-editor] pre>code .token.string{color:#690}.w-e-text-container [data-slate-editor] pre>code .language-css .token.string,.w-e-text-container [data-slate-editor] pre>code .style .token.string,.w-e-text-container [data-slate-editor] pre>code .token.entity,.w-e-text-container [data-slate-editor] pre>code .token.operator,.w-e-text-container [data-slate-editor] pre>code .token.url{color:#9a6e3a}.w-e-text-container [data-slate-editor] pre>code .token.atrule,.w-e-text-container [data-slate-editor] pre>code .token.attr-value,.w-e-text-container [data-slate-editor] pre>code .token.keyword{color:#07a}.w-e-text-container [data-slate-editor] pre>code .token.class-name,.w-e-text-container [data-slate-editor] pre>code .token.function{color:#dd4a68}.w-e-text-container [data-slate-editor] pre>code .token.important,.w-e-text-container [data-slate-editor] pre>code .token.regex,.w-e-text-container [data-slate-editor] pre>code .token.variable{color:#e90}.w-e-text-container [data-slate-editor] pre>code .token.bold,.w-e-text-container [data-slate-editor] pre>code .token.important{font-weight:700}.w-e-text-container [data-slate-editor] pre>code .token.italic{font-style:italic}.w-e-text-container [data-slate-editor] pre>code .token.entity{cursor:help} diff --git a/public/assets/@wangeditor.e356e69e.js b/public/assets/@wangeditor.e356e69e.js deleted file mode 100644 index 583da08..0000000 --- a/public/assets/@wangeditor.e356e69e.js +++ /dev/null @@ -1,186 +0,0 @@ -import{d as rP,r as h4,s as e$,j as n$,w as r$,l as o$,t as i$,o as oP,c as iP}from"./@vue.a137a740.js";var se=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function a$(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function as(t){var e={exports:{}};return t(e,e.exports),e.exports}var yi,z0,Bh=function(t){return t&&t.Math==Math&&t},kt=Bh(typeof globalThis=="object"&&globalThis)||Bh(typeof window=="object"&&window)||Bh(typeof self=="object"&&self)||Bh(typeof se=="object"&&se)||function(){return this}()||Function("return this")(),J3=Function.prototype,pS=J3.apply,u$=J3.bind,hS=J3.call,aP=typeof Reflect=="object"&&Reflect.apply||(u$?hS.bind(pS):function(){return hS.apply(pS,arguments)}),uP=Function.prototype,g4=uP.bind,v4=uP.call,s$=g4&&g4.bind(v4),ge=g4?function(t){return t&&s$(v4,t)}:function(t){return t&&function(){return v4.apply(t,arguments)}},sn=function(t){return typeof t=="function"},Gn=function(t){try{return!!t()}catch{return!0}},Hn=!Gn(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}),Oc=Function.prototype.call,zn=Oc.bind?Oc.bind(Oc):function(){return Oc.apply(Oc,arguments)},gS={}.propertyIsEnumerable,vS=Object.getOwnPropertyDescriptor,l$=vS&&!gS.call({1:2},1)?function(t){var e=vS(this,t);return!!e&&e.enumerable}:gS,Q3={f:l$},Yr=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},c$=ge({}.toString),f$=ge("".slice),Eu=function(t){return f$(c$(t),8,-1)},$y=kt.Object,d$=ge("".split),sP=Gn(function(){return!$y("z").propertyIsEnumerable(0)})?function(t){return Eu(t)=="String"?d$(t,""):$y(t)}:$y,p$=kt.TypeError,t5=function(t){if(t==null)throw p$("Can't call method on "+t);return t},Po=function(t){return sP(t5(t))},tr=function(t){return typeof t=="object"?t!==null:sn(t)},Qn={},yS=function(t){return sn(t)?t:void 0},rc=function(t,e){return arguments.length<2?yS(Qn[t])||yS(kt[t]):Qn[t]&&Qn[t][e]||kt[t]&&kt[t][e]},Td=ge({}.isPrototypeOf),Hy=rc("navigator","userAgent")||"",mS=kt.process,bS=kt.Deno,wS=mS&&mS.versions||bS&&bS.version,ES=wS&&wS.v8;ES&&(z0=(yi=ES.split("."))[0]>0&&yi[0]<4?1:+(yi[0]+yi[1])),!z0&&Hy&&(!(yi=Hy.match(/Edge\/(\d+)/))||yi[1]>=74)&&(yi=Hy.match(/Chrome\/(\d+)/))&&(z0=+yi[1]);var Fh,wg=z0,po=!!Object.getOwnPropertySymbols&&!Gn(function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&wg&&wg<41}),e5=po&&!Symbol.sham&&typeof Symbol.iterator=="symbol",h$=kt.Object,pl=e5?function(t){return typeof t=="symbol"}:function(t){var e=rc("Symbol");return sn(e)&&Td(e.prototype,h$(t))},g$=kt.String,y4=function(t){try{return g$(t)}catch{return"Object"}},v$=kt.TypeError,n5=function(t){if(sn(t))return t;throw v$(y4(t)+" is not a function")},Eg=function(t,e){var n=t[e];return n==null?void 0:n5(n)},y$=kt.TypeError,m$=Object.defineProperty,ta=kt["__core-js_shared__"]||function(t,e){try{m$(kt,t,{value:e,configurable:!0,writable:!0})}catch{kt[t]=e}return e}("__core-js_shared__",{}),us=as(function(t){(t.exports=function(e,n){return ta[e]||(ta[e]=n!==void 0?n:{})})("versions",[]).push({version:"3.19.3",mode:"pure",copyright:"\xA9 2021 Denis Pushkarev (zloirock.ru)"})}),b$=kt.Object,Bp=function(t){return b$(t5(t))},w$=ge({}.hasOwnProperty),Vt=Object.hasOwn||function(t,e){return w$(Bp(t),e)},E$=0,D$=Math.random(),C$=ge(1 .toString),Dg=function(t){return"Symbol("+(t===void 0?"":t)+")_"+C$(++E$+D$,36)},kc=us("wks"),Du=kt.Symbol,DS=Du&&Du.for,S$=e5?Du:Du&&Du.withoutSetter||Dg,Bn=function(t){if(!Vt(kc,t)||!po&&typeof kc[t]!="string"){var e="Symbol."+t;po&&Vt(Du,t)?kc[t]=Du[t]:kc[t]=e5&&DS?DS(e):S$(e)}return kc[t]},x$=kt.TypeError,A$=Bn("toPrimitive"),O$=function(t,e){if(!tr(t)||pl(t))return t;var n,r=Eg(t,A$);if(r){if(e===void 0&&(e="default"),n=zn(r,t,e),!tr(n)||pl(n))return n;throw x$("Can't convert object to primitive value")}return e===void 0&&(e="number"),function(o,i){var a,u;if(i==="string"&&sn(a=o.toString)&&!tr(u=zn(a,o))||sn(a=o.valueOf)&&!tr(u=zn(a,o))||i!=="string"&&sn(a=o.toString)&&!tr(u=zn(a,o)))return u;throw y$("Can't convert object to primitive value")}(t,e)},oc=function(t){var e=O$(t,"string");return pl(e)?e:e+""},m4=kt.document,k$=tr(m4)&&tr(m4.createElement),lP=function(t){return k$?m4.createElement(t):{}},cP=!Hn&&!Gn(function(){return Object.defineProperty(lP("div"),"a",{get:function(){return 7}}).a!=7}),CS=Object.getOwnPropertyDescriptor,B$=Hn?CS:function(t,e){if(t=Po(t),e=oc(e),cP)try{return CS(t,e)}catch{}if(Vt(t,e))return Yr(!zn(Q3.f,t,e),t[e])},_1={f:B$},F$=/#|\.prototype\./,Fp=function(t,e){var n=_$[T$(t)];return n==j$||n!=P$&&(sn(e)?Gn(e):!!e)},T$=Fp.normalize=function(t){return String(t).replace(F$,".").toLowerCase()},_$=Fp.data={},P$=Fp.NATIVE="N",j$=Fp.POLYFILL="P",N$=Fp,SS=ge(ge.bind),r5=function(t,e){return n5(t),e===void 0?t:SS?SS(t,e):function(){return t.apply(e,arguments)}},I$=kt.String,L$=kt.TypeError,ar=function(t){if(tr(t))return t;throw L$(I$(t)+" is not an object")},R$=kt.TypeError,xS=Object.defineProperty,M$=Hn?xS:function(t,e,n){if(ar(t),e=oc(e),ar(n),cP)try{return xS(t,e,n)}catch{}if("get"in n||"set"in n)throw R$("Accessors not supported");return"value"in n&&(t[e]=n.value),t},ja={f:M$},_n=Hn?function(t,e,n){return ja.f(t,e,Yr(1,n))}:function(t,e,n){return t[e]=n,t},z$=_1.f,$$=function(t){var e=function(n,r,o){if(this instanceof e){switch(arguments.length){case 0:return new t;case 1:return new t(n);case 2:return new t(n,r)}return new t(n,r,o)}return aP(t,this,arguments)};return e.prototype=t.prototype,e},qo=function(t,e){var n,r,o,i,a,u,s,l,c=t.target,f=t.global,p=t.stat,d=t.proto,y=f?kt:p?kt[c]:(kt[c]||{}).prototype,g=f?Qn:Qn[c]||_n(Qn,c,{})[c],v=g.prototype;for(o in e)n=!N$(f?o:c+(p?".":"#")+o,t.forced)&&y&&Vt(y,o),a=g[o],n&&(u=t.noTargetGet?(l=z$(y,o))&&l.value:y[o]),i=n&&u?u:e[o],n&&typeof a==typeof i||(s=t.bind&&n?r5(i,kt):t.wrap&&n?$$(i):d&&sn(i)?ge(i):i,(t.sham||i&&i.sham||a&&a.sham)&&_n(s,"sham",!0),_n(g,o,s),d&&(Vt(Qn,r=c+"Prototype")||_n(Qn,r,{}),_n(Qn[r],o,i),t.real&&v&&!v[o]&&_n(v,o,i)))},AS=us("keys"),P1=function(t){return AS[t]||(AS[t]=Dg(t))},H$=!Gn(function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}),OS=P1("IE_PROTO"),b4=kt.Object,V$=b4.prototype,Cg=H$?b4.getPrototypeOf:function(t){var e=Bp(t);if(Vt(e,OS))return e[OS];var n=e.constructor;return sn(n)&&e instanceof n?n.prototype:e instanceof b4?V$:null},U$=kt.String,W$=kt.TypeError,Sg=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{(t=ge(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(n,[]),e=n instanceof Array}catch{}return function(r,o){return ar(r),function(i){if(typeof i=="object"||sn(i))return i;throw W$("Can't set "+U$(i)+" as a prototype")}(o),e?t(r,o):r.__proto__=o,r}}():void 0),G$=Math.ceil,q$=Math.floor,o5=function(t){var e=+t;return e!=e||e===0?0:(e>0?q$:G$)(e)},K$=Math.max,Y$=Math.min,w4=function(t,e){var n=o5(t);return n<0?K$(n+e,0):Y$(n,e)},X$=Math.min,Tp=function(t){return(e=t.length)>0?X$(o5(e),9007199254740991):0;var e},kS=function(t){return function(e,n,r){var o,i=Po(e),a=Tp(i),u=w4(r,a);if(t&&n!=n){for(;a>u;)if((o=i[u++])!=o)return!0}else for(;a>u;u++)if((t||u in i)&&i[u]===n)return t||u||0;return!t&&-1}},Z$={includes:kS(!0),indexOf:kS(!1)},_p={},J$=Z$.indexOf,BS=ge([].push),fP=function(t,e){var n,r=Po(t),o=0,i=[];for(n in r)!Vt(_p,n)&&Vt(r,n)&&BS(i,n);for(;e.length>o;)Vt(r,n=e[o++])&&(~J$(i,n)||BS(i,n));return i},xg=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Q$=xg.concat("length","prototype"),tH=Object.getOwnPropertyNames||function(t){return fP(t,Q$)},i5={f:tH},$0={f:Object.getOwnPropertySymbols},eH=ge([].concat),nH=rc("Reflect","ownKeys")||function(t){var e=i5.f(ar(t)),n=$0.f;return n?eH(e,n(t)):e},a5=Object.keys||function(t){return fP(t,xg)},rH=Hn?Object.defineProperties:function(t,e){ar(t);for(var n,r=Po(e),o=a5(e),i=o.length,a=0;i>a;)ja.f(t,n=o[a++],r[n]);return t},oH=rc("document","documentElement"),dP=P1("IE_PROTO"),Vy=function(){},pP=function(t){return" -- Gitee From 531bb36366ebee11d92e1ffa55cfe6bbdd204726 Mon Sep 17 00:00:00 2001 From: xiangheng <11675084@qq.com> Date: Sat, 11 Nov 2023 23:22:20 +0800 Subject: [PATCH 09/41] =?UTF-8?q?=E7=AE=80=E5=8C=96=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=EF=BC=8C=E5=9B=A0=E4=B8=BA=E7=9C=8B=E7=9D=80=E9=BA=BB=E7=83=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/src/views/dev_tools/code/index.vue | 2 +- admin/src/views/product/api.ts | 26 ++ admin/src/views/product/edit.vue | 131 ++++++++++ admin/src/views/product/index.vue | 97 ++++++++ admin/src/views/setting/system/cache.vue | 2 +- .../src/views/setting/system/environment.vue | 234 +++++++++--------- server/.gitignore | 4 +- server/admin/routers/common/album.go | 71 ++++-- server/admin/routers/common/index.go | 40 ++- server/admin/routers/common/upload.go | 40 ++- server/admin/routers/enter.go | 63 +++-- server/admin/routers/monitor/monitor.go | 33 ++- server/admin/routers/product/model.go | 9 + server/admin/routers/product/route.go | 82 ++++++ server/admin/routers/product/schema.go | 41 +++ server/admin/routers/product/service.go | 122 +++++++++ server/admin/routers/setting/copyright.go | 36 ++- server/admin/routers/setting/dict_data.go | 60 +++-- server/admin/routers/setting/dict_type.go | 60 +++-- server/admin/routers/setting/protocol.go | 40 ++- server/admin/routers/setting/storage.go | 51 ++-- server/admin/routers/setting/website.go | 40 ++- server/admin/routers/system/admin.go | 70 ++++-- server/admin/routers/system/dept.go | 59 +++-- server/admin/routers/system/log.go | 41 ++- server/admin/routers/system/login.go | 39 ++- server/admin/routers/system/menu.go | 60 +++-- server/admin/routers/system/post.go | 60 +++-- server/admin/routers/system/role.go | 60 +++-- server/admin/service/enter.go | 50 ++-- server/generator/routers/enter.go | 12 +- server/generator/routers/gen/gen.go | 82 +++--- server/generator/service/enter.go | 10 +- server/generator/service/gen/gen.go | 39 +-- .../generator/templates/gocode/model.go.tpl | 2 +- .../generator/templates/gocode/route.go.tpl | 4 +- .../generator/templates/gocode/schema.go.tpl | 6 +- .../generator/templates/gocode/service.go.tpl | 14 +- server/generator/tpl.go | 21 +- server/go.mod | 14 +- server/go.sum | 29 +++ server/main.go | 48 ++-- 42 files changed, 1449 insertions(+), 555 deletions(-) create mode 100644 admin/src/views/product/api.ts create mode 100644 admin/src/views/product/edit.vue create mode 100644 admin/src/views/product/index.vue create mode 100644 server/admin/routers/product/model.go create mode 100644 server/admin/routers/product/route.go create mode 100644 server/admin/routers/product/schema.go create mode 100644 server/admin/routers/product/service.go diff --git a/admin/src/views/dev_tools/code/index.vue b/admin/src/views/dev_tools/code/index.vue index ca1f9a2..871de38 100644 --- a/admin/src/views/dev_tools/code/index.vue +++ b/admin/src/views/dev_tools/code/index.vue @@ -210,7 +210,7 @@ const handleGenerate = async (selectData: any[]) => { const genTables = getTables(selectData, 1) if (downloadTables) { const file = await downloadCode({ tables: downloadTables }) - streamFileDownload(file, 'likeadmin-curd.zip') + streamFileDownload(file, 'code_' + downloadTables + '.zip') } if (genTables) { await generateCode({ tables: genTables }) diff --git a/admin/src/views/product/api.ts b/admin/src/views/product/api.ts new file mode 100644 index 0000000..6af5ebe --- /dev/null +++ b/admin/src/views/product/api.ts @@ -0,0 +1,26 @@ +import request from '@/utils/request' + +// 产品列表 +export function productLists(params?: Record) { + return request.get({ url: '/product/list', params }) +} + +// 产品详情 +export function productDetail(params: Record) { + return request.get({ url: '/product/detail', params }) +} + +// 产品新增 +export function productAdd(params: Record) { + return request.post({ url: '/product/add', params }) +} + +// 产品编辑 +export function productEdit(params: Record) { + return request.post({ url: '/product/edit', params }) +} + +// 产品删除 +export function productDelete(params: Record) { + return request.post({ url: '/product/del', params }) +} diff --git a/admin/src/views/product/edit.vue b/admin/src/views/product/edit.vue new file mode 100644 index 0000000..ed3c4c2 --- /dev/null +++ b/admin/src/views/product/edit.vue @@ -0,0 +1,131 @@ + + diff --git a/admin/src/views/product/index.vue b/admin/src/views/product/index.vue new file mode 100644 index 0000000..21d0913 --- /dev/null +++ b/admin/src/views/product/index.vue @@ -0,0 +1,97 @@ + + diff --git a/admin/src/views/setting/system/cache.vue b/admin/src/views/setting/system/cache.vue index fb4ef1d..1861d21 100644 --- a/admin/src/views/setting/system/cache.vue +++ b/admin/src/views/setting/system/cache.vue @@ -141,7 +141,7 @@ import { systemCache } from '@/api/setting/system' import '@/utils/echart' import vCharts from 'vue-echarts' import { reactive } from 'vue' -import { ElTable } from 'element-plus' +// import { ElTable } from 'element-plus' const baseInfo = ref({}) diff --git a/admin/src/views/setting/system/environment.vue b/admin/src/views/setting/system/environment.vue index 026a57b..f6e580e 100644 --- a/admin/src/views/setting/system/environment.vue +++ b/admin/src/views/setting/system/environment.vue @@ -1,142 +1,148 @@ diff --git a/server/.gitignore b/server/.gitignore index c92ca78..cbb21a7 100644 --- a/server/.gitignore +++ b/server/.gitignore @@ -53,4 +53,6 @@ __debug_bin # env .env # binary -main \ No newline at end of file +main +# air +tmp \ No newline at end of file diff --git a/server/admin/routers/common/album.go b/server/admin/routers/common/album.go index cb1a4a9..5764030 100644 --- a/server/admin/routers/common/album.go +++ b/server/admin/routers/common/album.go @@ -1,7 +1,6 @@ package common import ( - "github.com/gin-gonic/gin" "likeadmin/admin/schemas/req" "likeadmin/admin/service/common" "likeadmin/core" @@ -9,32 +8,56 @@ import ( "likeadmin/core/response" "likeadmin/middleware" "likeadmin/util" + + "github.com/gin-gonic/gin" ) -var AlbumGroup = core.Group("/common", newAlbumHandler, regAlbum, middleware.TokenAuth()) +// var AlbumGroup = core.Group("/common", newAlbumHandler, regAlbum, middleware.TokenAuth()) -func newAlbumHandler(srv common.IAlbumService) *albumHandler { - return &albumHandler{srv: srv} -} +// func newAlbumHandler(srv common.IAlbumService) *albumHandler { +// return &albumHandler{srv: srv} +// } + +// func regAlbum(rg *gin.RouterGroup, group *core.GroupBase) error { +// return group.Reg(func(handle *albumHandler) { +// rg.GET("/album/albumList", handle.albumList) +// rg.POST("/album/albumRename", middleware.RecordLog("相册文件重命名"), handle.albumRename) +// rg.POST("/album/albumMove", middleware.RecordLog("相册文件移动"), handle.albumMove) +// rg.POST("/album/albumDel", middleware.RecordLog("相册文件删除"), handle.albumDel) +// rg.GET("/album/cateList", handle.cateList) +// rg.POST("/album/cateAdd", middleware.RecordLog("相册分类新增"), handle.cateAdd) +// rg.POST("/album/cateRename", middleware.RecordLog("相册分类重命名"), handle.cateRename) +// rg.POST("/album/cateDel", middleware.RecordLog("相册分类删除"), handle.cateDel) +// }) +// } +func AlbumRoute(rg *gin.RouterGroup) { + db := core.GetDB() + // permSrv := system.NewSystemAuthPermService(db) + // roleSrv := system.NewSystemAuthRoleService(db, permSrv) + // adminSrv := system.NewSystemAuthAdminService(db, permSrv, roleSrv) + // service := system.NewSystemLoginService(db, adminSrv) + + server := common.NewAlbumService(db) + + handle := albumHandler{srv: server} + + rg = rg.Group("/common", middleware.TokenAuth()) -func regAlbum(rg *gin.RouterGroup, group *core.GroupBase) error { - return group.Reg(func(handle *albumHandler) { - rg.GET("/album/albumList", handle.albumList) - rg.POST("/album/albumRename", middleware.RecordLog("相册文件重命名"), handle.albumRename) - rg.POST("/album/albumMove", middleware.RecordLog("相册文件移动"), handle.albumMove) - rg.POST("/album/albumDel", middleware.RecordLog("相册文件删除"), handle.albumDel) - rg.GET("/album/cateList", handle.cateList) - rg.POST("/album/cateAdd", middleware.RecordLog("相册分类新增"), handle.cateAdd) - rg.POST("/album/cateRename", middleware.RecordLog("相册分类重命名"), handle.cateRename) - rg.POST("/album/cateDel", middleware.RecordLog("相册分类删除"), handle.cateDel) - }) + rg.GET("/album/albumList", handle.albumList) + rg.POST("/album/albumRename", middleware.RecordLog("相册文件重命名"), handle.albumRename) + rg.POST("/album/albumMove", middleware.RecordLog("相册文件移动"), handle.albumMove) + rg.POST("/album/albumDel", middleware.RecordLog("相册文件删除"), handle.albumDel) + rg.GET("/album/cateList", handle.cateList) + rg.POST("/album/cateAdd", middleware.RecordLog("相册分类新增"), handle.cateAdd) + rg.POST("/album/cateRename", middleware.RecordLog("相册分类重命名"), handle.cateRename) + rg.POST("/album/cateDel", middleware.RecordLog("相册分类删除"), handle.cateDel) } type albumHandler struct { srv common.IAlbumService } -//albumList 相册文件列表 +// albumList 相册文件列表 func (ah albumHandler) albumList(c *gin.Context) { var page request.PageReq var listReq req.CommonAlbumListReq @@ -48,7 +71,7 @@ func (ah albumHandler) albumList(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//albumRename 相册文件重命名 +// albumRename 相册文件重命名 func (ah albumHandler) albumRename(c *gin.Context) { var rnReq req.CommonAlbumRenameReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &rnReq)) { @@ -57,7 +80,7 @@ func (ah albumHandler) albumRename(c *gin.Context) { response.CheckAndResp(c, ah.srv.AlbumRename(rnReq.ID, rnReq.Name)) } -//albumMove 相册文件移动 +// albumMove 相册文件移动 func (ah albumHandler) albumMove(c *gin.Context) { var mvReq req.CommonAlbumMoveReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &mvReq)) { @@ -66,7 +89,7 @@ func (ah albumHandler) albumMove(c *gin.Context) { response.CheckAndResp(c, ah.srv.AlbumMove(mvReq.Ids, mvReq.Cid)) } -//albumDel 相册文件删除 +// albumDel 相册文件删除 func (ah albumHandler) albumDel(c *gin.Context) { var delReq req.CommonAlbumDelReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &delReq)) { @@ -75,7 +98,7 @@ func (ah albumHandler) albumDel(c *gin.Context) { response.CheckAndResp(c, ah.srv.AlbumDel(delReq.Ids)) } -//cateList 类目列表 +// cateList 类目列表 func (ah albumHandler) cateList(c *gin.Context) { var listReq req.CommonCateListReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { @@ -85,7 +108,7 @@ func (ah albumHandler) cateList(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//cateAdd 类目新增 +// cateAdd 类目新增 func (ah albumHandler) cateAdd(c *gin.Context) { var addReq req.CommonCateAddReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &addReq)) { @@ -94,7 +117,7 @@ func (ah albumHandler) cateAdd(c *gin.Context) { response.CheckAndResp(c, ah.srv.CateAdd(addReq)) } -//cateRename 类目命名 +// cateRename 类目命名 func (ah albumHandler) cateRename(c *gin.Context) { var rnReq req.CommonCateRenameReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &rnReq)) { @@ -103,7 +126,7 @@ func (ah albumHandler) cateRename(c *gin.Context) { response.CheckAndResp(c, ah.srv.CateRename(rnReq.ID, rnReq.Name)) } -//cateDel 类目删除 +// cateDel 类目删除 func (ah albumHandler) cateDel(c *gin.Context) { var delReq req.CommonCateDelReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &delReq)) { diff --git a/server/admin/routers/common/index.go b/server/admin/routers/common/index.go index e8c9030..d8781c5 100644 --- a/server/admin/routers/common/index.go +++ b/server/admin/routers/common/index.go @@ -1,37 +1,53 @@ package common import ( - "github.com/gin-gonic/gin" "likeadmin/admin/service/common" "likeadmin/core" "likeadmin/core/response" "likeadmin/middleware" + + "github.com/gin-gonic/gin" ) -var IndexGroup = core.Group("/common", newIndexHandler, regIndex, middleware.TokenAuth()) +// var IndexGroup = core.Group("/common", newIndexHandler, regIndex, middleware.TokenAuth()) -func newIndexHandler(srv common.IIndexService) *indexHandler { - return &indexHandler{srv: srv} -} +// func newIndexHandler(srv common.IIndexService) *indexHandler { +// return &indexHandler{srv: srv} +// } + +// func regIndex(rg *gin.RouterGroup, group *core.GroupBase) error { +// return group.Reg(func(handle *indexHandler) { +// rg.GET("/index/console", handle.console) +// rg.GET("/index/config", handle.config) +// }) +// } +func IndexRoute(rg *gin.RouterGroup) { + db := core.GetDB() + // permSrv := system.NewSystemAuthPermService(db) + // roleSrv := system.NewSystemAuthRoleService(db, permSrv) + // adminSrv := system.NewSystemAuthAdminService(db, permSrv, roleSrv) + // service := system.NewSystemLoginService(db, adminSrv) + + // authSrv := system.NewSystemAuthMenuService(db, permSrv) + IndexService := common.NewIndexService(db) + handle := indexHandler{srv: IndexService} -func regIndex(rg *gin.RouterGroup, group *core.GroupBase) error { - return group.Reg(func(handle *indexHandler) { - rg.GET("/index/console", handle.console) - rg.GET("/index/config", handle.config) - }) + rg = rg.Group("/common", middleware.TokenAuth()) + rg.GET("/index/console", handle.console) + rg.GET("/index/config", handle.config) } type indexHandler struct { srv common.IIndexService } -//console 控制台 +// console 控制台 func (ih indexHandler) console(c *gin.Context) { res, err := ih.srv.Console() response.CheckAndRespWithData(c, res, err) } -//config 公共配置 +// config 公共配置 func (ih indexHandler) config(c *gin.Context) { res, err := ih.srv.Config() response.CheckAndRespWithData(c, res, err) diff --git a/server/admin/routers/common/upload.go b/server/admin/routers/common/upload.go index 5ed55b5..81a85ba 100644 --- a/server/admin/routers/common/upload.go +++ b/server/admin/routers/common/upload.go @@ -1,7 +1,6 @@ package common import ( - "github.com/gin-gonic/gin" "likeadmin/admin/schemas/req" "likeadmin/admin/service/common" "likeadmin/config" @@ -9,26 +8,43 @@ import ( "likeadmin/core/response" "likeadmin/middleware" "likeadmin/util" + + "github.com/gin-gonic/gin" ) -var UploadGroup = core.Group("/common", newUploadHandler, regUpload, middleware.TokenAuth()) +// var UploadGroup = core.Group("/common", newUploadHandler, regUpload, middleware.TokenAuth()) -func newUploadHandler(srv common.IUploadService) *uploadHandler { - return &uploadHandler{srv: srv} -} +// func newUploadHandler(srv common.IUploadService) *uploadHandler { +// return &uploadHandler{srv: srv} +// } + +// func regUpload(rg *gin.RouterGroup, group *core.GroupBase) error { +// return group.Reg(func(handle *uploadHandler) { +// rg.POST("/upload/image", middleware.RecordLog("上传图片", middleware.RequestFile), handle.uploadImage) +// rg.POST("/upload/video", middleware.RecordLog("上传视频", middleware.RequestFile), handle.uploadVideo) +// }) +// } +func UploadRoute(rg *gin.RouterGroup) { + db := core.GetDB() + // permSrv := system.NewSystemAuthPermService(db) + // roleSrv := system.NewSystemAuthRoleService(db, permSrv) + // adminSrv := system.NewSystemAuthAdminService(db, permSrv, roleSrv) + // service := system.NewSystemLoginService(db, adminSrv) + AlbumServer := common.NewAlbumService(db) + server := common.NewUploadService(AlbumServer) + + handle := uploadHandler{srv: server} -func regUpload(rg *gin.RouterGroup, group *core.GroupBase) error { - return group.Reg(func(handle *uploadHandler) { - rg.POST("/upload/image", middleware.RecordLog("上传图片", middleware.RequestFile), handle.uploadImage) - rg.POST("/upload/video", middleware.RecordLog("上传视频", middleware.RequestFile), handle.uploadVideo) - }) + rg = rg.Group("/common", middleware.TokenAuth()) + rg.POST("/upload/image", middleware.RecordLog("上传图片", middleware.RequestFile), handle.uploadImage) + rg.POST("/upload/video", middleware.RecordLog("上传视频", middleware.RequestFile), handle.uploadVideo) } type uploadHandler struct { srv common.IUploadService } -//uploadImage 上传图片 +// uploadImage 上传图片 func (uh uploadHandler) uploadImage(c *gin.Context) { var uReq req.CommonUploadImageReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &uReq)) { @@ -42,7 +58,7 @@ func (uh uploadHandler) uploadImage(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//uploadVideo 上传视频 +// uploadVideo 上传视频 func (uh uploadHandler) uploadVideo(c *gin.Context) { var uReq req.CommonUploadImageReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &uReq)) { diff --git a/server/admin/routers/enter.go b/server/admin/routers/enter.go index 9126e37..712bff1 100644 --- a/server/admin/routers/enter.go +++ b/server/admin/routers/enter.go @@ -6,28 +6,57 @@ import ( "likeadmin/admin/routers/setting" "likeadmin/admin/routers/system" "likeadmin/core" + + "github.com/gin-gonic/gin" ) var InitRouters = []*core.GroupBase{ // common - common.AlbumGroup, - common.IndexGroup, - common.UploadGroup, + // common.AlbumGroup, + // common.IndexGroup, + // common.UploadGroup, // monitor - monitor.MonitorGroup, + // monitor.MonitorGroup, // setting - setting.CopyrightGroup, - setting.DictDataGroup, - setting.DictTypeGroup, - setting.ProtocolGroup, - setting.StorageGroup, - setting.WebsiteGroup, + // setting.CopyrightGroup, + // setting.DictDataGroup, + // setting.DictTypeGroup, + // setting.ProtocolGroup, + // setting.StorageGroup, + // setting.WebsiteGroup, // system - system.AdminGroup, - system.DeptGroup, - system.LogGroup, - system.LoginGroup, - system.MenuGroup, - system.PostGroup, - system.RoleGroup, + // system.AdminGroup, + // system.DeptGroup, + // system.LogGroup, + // system.LoginGroup, + // system.MenuGroup, + // system.PostGroup, + // system.RoleGroup, + + // product.ProductGroup, +} + +func RegisterGroup(rg *gin.RouterGroup) { + common.UploadRoute(rg) + common.AlbumRoute(rg) + monitor.MonitorRoute(rg) + + setting.CopyrightRoute(rg) + setting.DictDataRoute(rg) + setting.DictTypeRoute(rg) + setting.ProtocolRoute(rg) + setting.StorageRoute(rg) + setting.WebsiteRoute(rg) + + system.LoginRoute(rg) + system.AdminRoute(rg) + system.MenuRoute(rg) + system.PostRoute(rg) + + system.DeptRoute(rg) + system.RoleRoute(rg) + system.LogRoute(rg) + + common.IndexRoute(rg) + } diff --git a/server/admin/routers/monitor/monitor.go b/server/admin/routers/monitor/monitor.go index 85ccf2d..109e1e4 100644 --- a/server/admin/routers/monitor/monitor.go +++ b/server/admin/routers/monitor/monitor.go @@ -1,30 +1,37 @@ package monitor import ( - "github.com/gin-gonic/gin" - "likeadmin/core" "likeadmin/core/response" "likeadmin/middleware" "likeadmin/util" "strings" + + "github.com/gin-gonic/gin" ) -var MonitorGroup = core.Group("/monitor", newMonitorHandler, regMonitor, middleware.TokenAuth()) +// var MonitorGroup = core.Group("/monitor", newMonitorHandler, regMonitor, middleware.TokenAuth()) -func newMonitorHandler() *monitorHandler { - return &monitorHandler{} -} +// func newMonitorHandler() *monitorHandler { +// return &monitorHandler{} +// } -func regMonitor(rg *gin.RouterGroup, group *core.GroupBase) error { - return group.Reg(func(handle *monitorHandler) { - rg.GET("/cache", middleware.RecordLog("缓存监控"), handle.cache) - rg.GET("/server", middleware.RecordLog("服务监控"), handle.server) - }) +// func regMonitor(rg *gin.RouterGroup, group *core.GroupBase) error { +// return group.Reg(func(handle *monitorHandler) { +// rg.GET("/cache", middleware.RecordLog("缓存监控"), handle.cache) +// rg.GET("/server", middleware.RecordLog("服务监控"), handle.server) +// }) +// } +func MonitorRoute(rg *gin.RouterGroup) { + handle := monitorHandler{} + + rg = rg.Group("/monitor", middleware.TokenAuth()) + rg.GET("/cache", middleware.RecordLog("缓存监控"), handle.cache) + rg.GET("/server", middleware.RecordLog("服务监控"), handle.server) } type monitorHandler struct{} -//cache 缓存监控 +// cache 缓存监控 func (mh monitorHandler) cache(c *gin.Context) { cmdStatsMap := util.RedisUtil.Info("commandstats") var stats []map[string]string @@ -41,7 +48,7 @@ func (mh monitorHandler) cache(c *gin.Context) { }) } -//server 服务监控 +// server 服务监控 func (mh monitorHandler) server(c *gin.Context) { response.OkWithData(c, map[string]interface{}{ "cpu": util.ServerUtil.GetCpuInfo(), diff --git a/server/admin/routers/product/model.go b/server/admin/routers/product/model.go new file mode 100644 index 0000000..277449a --- /dev/null +++ b/server/admin/routers/product/model.go @@ -0,0 +1,9 @@ +package product + +//Product 产品实体 +type Product struct { + Id int `gorm:"primarykey;comment:''"` // + Name string `gorm:"comment:'产品名称'"` // 产品名称 + Category int `gorm:"comment:'产品分类'"` // 产品分类 + Pics string `gorm:"comment:''"` // +} diff --git a/server/admin/routers/product/route.go b/server/admin/routers/product/route.go new file mode 100644 index 0000000..023399e --- /dev/null +++ b/server/admin/routers/product/route.go @@ -0,0 +1,82 @@ +package product + +import ( + "likeadmin/core" + "likeadmin/core/request" + "likeadmin/core/response" + "likeadmin/middleware" + "likeadmin/util" + + "github.com/gin-gonic/gin" +) + +var ProductGroup = core.Group("/", newProductHandler, regProduct, middleware.TokenAuth()) + +func newProductHandler(srv IProductService) *productHandler { + return &productHandler{srv: srv} +} + +func regProduct(rg *gin.RouterGroup, group *core.GroupBase) error { + return group.Reg(func(handle *productHandler) { + rg.GET("/product/list", handle.list) + rg.GET("/product/detail", handle.detail) + rg.POST("/product/add", handle.add) + rg.POST("/product/edit", handle.edit) + rg.POST("/product/del", handle.del) + }) +} + +type productHandler struct { + srv IProductService +} + +// list product列表 +func (hd productHandler) list(c *gin.Context) { + var page request.PageReq + var listReq ProductListReq + if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &page)) { + return + } + if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { + return + } + res, err := hd.srv.List(page, listReq) + response.CheckAndRespWithData(c, res, err) +} + +// detail product详情 +func (hd productHandler) detail(c *gin.Context) { + var detailReq ProductDetailReq + if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) { + return + } + res, err := hd.srv.Detail(detailReq.Id) + response.CheckAndRespWithData(c, res, err) +} + +// add product新增 +func (hd productHandler) add(c *gin.Context) { + var addReq ProductAddReq + if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &addReq)) { + return + } + response.CheckAndResp(c, hd.srv.Add(addReq)) +} + +// edit product编辑 +func (hd productHandler) edit(c *gin.Context) { + var editReq ProductEditReq + if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &editReq)) { + return + } + response.CheckAndResp(c, hd.srv.Edit(editReq)) +} + +// del product删除 +func (hd productHandler) del(c *gin.Context) { + var delReq ProductDelReq + if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &delReq)) { + return + } + response.CheckAndResp(c, hd.srv.Del(delReq.Id)) +} diff --git a/server/admin/routers/product/schema.go b/server/admin/routers/product/schema.go new file mode 100644 index 0000000..e51b00f --- /dev/null +++ b/server/admin/routers/product/schema.go @@ -0,0 +1,41 @@ +package product + +//ProductListReq 产品列表参数 +type ProductListReq struct { + Name string `form:"name"` // 产品名称 + Category int `form:"category"` // 产品分类 + Pics string `form:"pics"` // +} + +//ProductDetailReq 产品详情参数 +type ProductDetailReq struct { + Id int `form:"id"` // +} + +//ProductAddReq 产品新增参数 +type ProductAddReq struct { + Name string `form:"name"` // 产品名称 + Category int `form:"category"` // 产品分类 + Pics string `form:"pics"` // +} + +//ProductEditReq 产品新增参数 +type ProductEditReq struct { + Id int `form:"id"` // + Name string `form:"name"` // 产品名称 + Category int `form:"category"` // 产品分类 + Pics string `form:"pics"` // +} + +//ProductDelReq 产品新增参数 +type ProductDelReq struct { + Id int `form:"id"` // +} + +//ProductResp 产品返回信息 +type ProductResp struct { + Id int `json:"id" structs:"id"` // + Name string `json:"name" structs:"name"` // 产品名称 + Category int `json:"category" structs:"category"` // 产品分类 + Pics string `json:"pics" structs:"pics"` // +} diff --git a/server/admin/routers/product/service.go b/server/admin/routers/product/service.go new file mode 100644 index 0000000..bf4bc08 --- /dev/null +++ b/server/admin/routers/product/service.go @@ -0,0 +1,122 @@ +package product + +import ( + "likeadmin/core/request" + "likeadmin/core/response" + + "gorm.io/gorm" +) + +type IProductService interface { + List(page request.PageReq, listReq ProductListReq) (res response.PageResp, e error) + Detail(id int) (res ProductResp, e error) + Add(addReq ProductAddReq) (e error) + Edit(editReq ProductEditReq) (e error) + Del(id int) (e error) +} + +// NewProductService 初始化 +func NewProductService(db *gorm.DB) IProductService { + return &productService{db: db} +} + +// productService 产品服务实现类 +type productService struct { + db *gorm.DB +} + +// List 产品列表 +func (srv productService) List(page request.PageReq, listReq ProductListReq) (res response.PageResp, e error) { + // 分页信息 + limit := page.PageSize + offset := page.PageSize * (page.PageNo - 1) + // 查询 + model := srv.db.Model(&Product{}) + if listReq.Name != "" { + model = model.Where("name like ?", "%"+listReq.Name+"%") + } + if listReq.Category >= 0 { + model = model.Where("category = ?", listReq.Category) + } + if listReq.Pics != "" { + model = model.Where("pics = ?", listReq.Pics) + } + // 总数 + var count int64 + err := model.Count(&count).Error + if e = response.CheckErr(err, "List Count err"); e != nil { + return + } + // 数据 + var objs []Product + err = model.Limit(limit).Offset(offset).Order("id desc").Find(&objs).Error + if e = response.CheckErr(err, "List Find err"); e != nil { + return + } + resps := []ProductResp{} + response.Copy(&resps, objs) + return response.PageResp{ + PageNo: page.PageNo, + PageSize: page.PageSize, + Count: count, + Lists: resps, + }, nil +} + +// Detail 产品详情 +func (srv productService) Detail(id int) (res ProductResp, e error) { + var obj Product + err := srv.db.Where("id = ?", id).Limit(1).First(&obj).Error + if e = response.CheckErrDBNotRecord(err, "数据不存在!"); e != nil { + return + } + if e = response.CheckErr(err, "Detail First err"); e != nil { + return + } + response.Copy(&res, obj) + return +} + +// Add 产品新增 +func (srv productService) Add(addReq ProductAddReq) (e error) { + var obj Product + response.Copy(&obj, addReq) + err := srv.db.Create(&obj).Error + e = response.CheckErr(err, "Add Create err") + return +} + +// Edit 产品编辑 +func (srv productService) Edit(editReq ProductEditReq) (e error) { + var obj Product + err := srv.db.Where("id = ?", editReq.Id).Limit(1).First(&obj).Error + // 校验 + if e = response.CheckErrDBNotRecord(err, "数据不存在!"); e != nil { + return + } + if e = response.CheckErr(err, "Edit First err"); e != nil { + return + } + // 更新 + response.Copy(&obj, editReq) + err = srv.db.Model(&obj).Updates(obj).Error + e = response.CheckErr(err, "Edit Updates err") + return +} + +// Del 产品删除 +func (srv productService) Del(id int) (e error) { + var obj Product + err := srv.db.Where("id = ?", id).Limit(1).First(&obj).Error + // 校验 + if e = response.CheckErrDBNotRecord(err, "数据不存在!"); e != nil { + return + } + if e = response.CheckErr(err, "Del First err"); e != nil { + return + } + // 删除 + err = srv.db.Delete(&obj).Error + e = response.CheckErr(err, "Del Delete err") + return +} diff --git a/server/admin/routers/setting/copyright.go b/server/admin/routers/setting/copyright.go index 8920f98..51d35a8 100644 --- a/server/admin/routers/setting/copyright.go +++ b/server/admin/routers/setting/copyright.go @@ -1,39 +1,49 @@ package setting import ( - "github.com/gin-gonic/gin" "likeadmin/admin/schemas/req" "likeadmin/admin/service/setting" "likeadmin/core" "likeadmin/core/response" - "likeadmin/middleware" "likeadmin/util" + + "github.com/gin-gonic/gin" ) -var CopyrightGroup = core.Group("/setting", newCopyrightHandler, regCopyright, middleware.TokenAuth()) +// var CopyrightGroup = core.Group("/setting", newCopyrightHandler, regCopyright, middleware.TokenAuth()) -func newCopyrightHandler(srv setting.ISettingCopyrightService) *copyrightHandler { - return ©rightHandler{srv: srv} -} +// func newCopyrightHandler(srv setting.ISettingCopyrightService) *copyrightHandler { +// return ©rightHandler{srv: srv} +// } + +// func regCopyright(rg *gin.RouterGroup, group *core.GroupBase) error { +// return group.Reg(func(handle *copyrightHandler) { +// rg.GET("/copyright/detail", handle.detail) +// rg.POST("/copyright/save", handle.save) +// }) +// } + +func CopyrightRoute(rg *gin.RouterGroup) { + db := core.GetDB() + service := setting.NewSettingCopyrightService(db) + handle := copyrightHandler{srv: service} -func regCopyright(rg *gin.RouterGroup, group *core.GroupBase) error { - return group.Reg(func(handle *copyrightHandler) { - rg.GET("/copyright/detail", handle.detail) - rg.POST("/copyright/save", handle.save) - }) + rg = rg.Group("/setting") + rg.GET("/copyright/detail", handle.detail) + rg.POST("/copyright/save", handle.save) } type copyrightHandler struct { srv setting.ISettingCopyrightService } -//detail 获取备案信息 +// detail 获取备案信息 func (ch copyrightHandler) detail(c *gin.Context) { res, err := ch.srv.Detail() response.CheckAndRespWithData(c, res, err) } -//save 保存备案信息 +// save 保存备案信息 func (ch copyrightHandler) save(c *gin.Context) { var cReqs []req.SettingCopyrightItemReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSONArray(c, &cReqs)) { diff --git a/server/admin/routers/setting/dict_data.go b/server/admin/routers/setting/dict_data.go index 3fe0204..bafce35 100644 --- a/server/admin/routers/setting/dict_data.go +++ b/server/admin/routers/setting/dict_data.go @@ -1,7 +1,6 @@ package setting import ( - "github.com/gin-gonic/gin" "likeadmin/admin/schemas/req" "likeadmin/admin/service/setting" "likeadmin/core" @@ -9,30 +8,51 @@ import ( "likeadmin/core/response" "likeadmin/middleware" "likeadmin/util" + + "github.com/gin-gonic/gin" ) -var DictDataGroup = core.Group("/setting", newDictDataHandler, regDictData, middleware.TokenAuth()) +// var DictDataGroup = core.Group("/setting", newDictDataHandler, regDictData, middleware.TokenAuth()) -func newDictDataHandler(srv setting.ISettingDictDataService) *dictDataHandler { - return &dictDataHandler{srv: srv} -} +// func newDictDataHandler(srv setting.ISettingDictDataService) *dictDataHandler { +// return &dictDataHandler{srv: srv} +// } + +// func regDictData(rg *gin.RouterGroup, group *core.GroupBase) error { +// return group.Reg(func(handle *dictDataHandler) { +// rg.GET("/dict/data/all", handle.all) +// rg.GET("/dict/data/list", handle.list) +// rg.GET("/dict/data/detail", handle.detail) +// rg.POST("/dict/data/add", handle.add) +// rg.POST("/dict/data/edit", handle.edit) +// rg.POST("/dict/data/del", handle.del) +// }) +// } +func DictDataRoute(rg *gin.RouterGroup) { + db := core.GetDB() + // permSrv := system.NewSystemAuthPermService(db) + // roleSrv := system.NewSystemAuthRoleService(db, permSrv) + // adminSrv := system.NewSystemAuthAdminService(db, permSrv, roleSrv) + // service := system.NewSystemLoginService(db, adminSrv) + + authSrv := setting.NewSettingDictDataService(db) + + handle := dictDataHandler{srv: authSrv} -func regDictData(rg *gin.RouterGroup, group *core.GroupBase) error { - return group.Reg(func(handle *dictDataHandler) { - rg.GET("/dict/data/all", handle.all) - rg.GET("/dict/data/list", handle.list) - rg.GET("/dict/data/detail", handle.detail) - rg.POST("/dict/data/add", handle.add) - rg.POST("/dict/data/edit", handle.edit) - rg.POST("/dict/data/del", handle.del) - }) + rg = rg.Group("/setting", middleware.TokenAuth()) + rg.GET("/dict/data/all", handle.all) + rg.GET("/dict/data/list", handle.list) + rg.GET("/dict/data/detail", handle.detail) + rg.POST("/dict/data/add", handle.add) + rg.POST("/dict/data/edit", handle.edit) + rg.POST("/dict/data/del", handle.del) } type dictDataHandler struct { srv setting.ISettingDictDataService } -//all 字典数据所有 +// all 字典数据所有 func (ddh dictDataHandler) all(c *gin.Context) { var allReq req.SettingDictDataListReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &allReq)) { @@ -42,7 +62,7 @@ func (ddh dictDataHandler) all(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//list 字典数据列表 +// list 字典数据列表 func (ddh dictDataHandler) list(c *gin.Context) { var page request.PageReq var listReq req.SettingDictDataListReq @@ -56,7 +76,7 @@ func (ddh dictDataHandler) list(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//detail 字典数据详情 +// detail 字典数据详情 func (ddh dictDataHandler) detail(c *gin.Context) { var detailReq req.SettingDictDataDetailReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) { @@ -66,7 +86,7 @@ func (ddh dictDataHandler) detail(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//detail 字典数据新增 +// detail 字典数据新增 func (ddh dictDataHandler) add(c *gin.Context) { var addReq req.SettingDictDataAddReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &addReq)) { @@ -75,7 +95,7 @@ func (ddh dictDataHandler) add(c *gin.Context) { response.CheckAndResp(c, ddh.srv.Add(addReq)) } -//edit 字典数据编辑 +// edit 字典数据编辑 func (ddh dictDataHandler) edit(c *gin.Context) { var editReq req.SettingDictDataEditReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &editReq)) { @@ -84,7 +104,7 @@ func (ddh dictDataHandler) edit(c *gin.Context) { response.CheckAndResp(c, ddh.srv.Edit(editReq)) } -//del 字典数据删除 +// del 字典数据删除 func (ddh dictDataHandler) del(c *gin.Context) { var delReq req.SettingDictDataDelReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &delReq)) { diff --git a/server/admin/routers/setting/dict_type.go b/server/admin/routers/setting/dict_type.go index 00fc471..69cb145 100644 --- a/server/admin/routers/setting/dict_type.go +++ b/server/admin/routers/setting/dict_type.go @@ -1,7 +1,6 @@ package setting import ( - "github.com/gin-gonic/gin" "likeadmin/admin/schemas/req" "likeadmin/admin/service/setting" "likeadmin/core" @@ -9,36 +8,57 @@ import ( "likeadmin/core/response" "likeadmin/middleware" "likeadmin/util" + + "github.com/gin-gonic/gin" ) -var DictTypeGroup = core.Group("/setting", newDictTypeHandler, regDictType, middleware.TokenAuth()) +// var DictTypeGroup = core.Group("/setting", newDictTypeHandler, regDictType, middleware.TokenAuth()) -func newDictTypeHandler(srv setting.ISettingDictTypeService) *dictTypeHandler { - return &dictTypeHandler{srv: srv} -} +// func newDictTypeHandler(srv setting.ISettingDictTypeService) *dictTypeHandler { +// return &dictTypeHandler{srv: srv} +// } + +// func regDictType(rg *gin.RouterGroup, group *core.GroupBase) error { +// return group.Reg(func(handle *dictTypeHandler) { +// rg.GET("/dict/type/all", handle.all) +// rg.GET("/dict/type/list", handle.list) +// rg.GET("/dict/type/detail", handle.detail) +// rg.POST("/dict/type/add", handle.add) +// rg.POST("/dict/type/edit", handle.edit) +// rg.POST("/dict/type/del", handle.del) +// }) +// } +func DictTypeRoute(rg *gin.RouterGroup) { + db := core.GetDB() + // permSrv := system.NewSystemAuthPermService(db) + // roleSrv := system.NewSystemAuthRoleService(db, permSrv) + // adminSrv := system.NewSystemAuthAdminService(db, permSrv, roleSrv) + // service := system.NewSystemLoginService(db, adminSrv) + + server := setting.NewSettingDictTypeService(db) + + handle := dictTypeHandler{srv: server} -func regDictType(rg *gin.RouterGroup, group *core.GroupBase) error { - return group.Reg(func(handle *dictTypeHandler) { - rg.GET("/dict/type/all", handle.all) - rg.GET("/dict/type/list", handle.list) - rg.GET("/dict/type/detail", handle.detail) - rg.POST("/dict/type/add", handle.add) - rg.POST("/dict/type/edit", handle.edit) - rg.POST("/dict/type/del", handle.del) - }) + rg = rg.Group("/setting", middleware.TokenAuth()) + rg.GET("/dict/type/all", handle.all) + rg.GET("/dict/type/list", handle.list) + rg.GET("/dict/type/detail", handle.detail) + rg.POST("/dict/type/add", handle.add) + rg.POST("/dict/type/edit", handle.edit) + rg.POST("/dict/type/del", handle.del) } type dictTypeHandler struct { srv setting.ISettingDictTypeService } -//all 字典类型所有 +// all 字典类型所有 func (dth dictTypeHandler) all(c *gin.Context) { res, err := dth.srv.All() response.CheckAndRespWithData(c, res, err) } -//list 字典类型列表 +// list 字典类型列表 func (dth dictTypeHandler) list(c *gin.Context) { var page request.PageReq var listReq req.SettingDictTypeListReq @@ -52,7 +72,7 @@ func (dth dictTypeHandler) list(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//detail 字典类型详情 +// detail 字典类型详情 func (dth dictTypeHandler) detail(c *gin.Context) { var detailReq req.SettingDictTypeDetailReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) { @@ -62,7 +82,7 @@ func (dth dictTypeHandler) detail(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//detail 字典类型新增 +// detail 字典类型新增 func (dth dictTypeHandler) add(c *gin.Context) { var addReq req.SettingDictTypeAddReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &addReq)) { @@ -71,7 +91,7 @@ func (dth dictTypeHandler) add(c *gin.Context) { response.CheckAndResp(c, dth.srv.Add(addReq)) } -//edit 字典类型编辑 +// edit 字典类型编辑 func (dth dictTypeHandler) edit(c *gin.Context) { var editReq req.SettingDictTypeEditReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &editReq)) { @@ -80,7 +100,7 @@ func (dth dictTypeHandler) edit(c *gin.Context) { response.CheckAndResp(c, dth.srv.Edit(editReq)) } -//del 字典类型删除 +// del 字典类型删除 func (dth dictTypeHandler) del(c *gin.Context) { var delReq req.SettingDictTypeDelReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &delReq)) { diff --git a/server/admin/routers/setting/protocol.go b/server/admin/routers/setting/protocol.go index da2ddd7..53698db 100644 --- a/server/admin/routers/setting/protocol.go +++ b/server/admin/routers/setting/protocol.go @@ -1,39 +1,55 @@ package setting import ( - "github.com/gin-gonic/gin" "likeadmin/admin/schemas/req" "likeadmin/admin/service/setting" "likeadmin/core" "likeadmin/core/response" "likeadmin/middleware" "likeadmin/util" + + "github.com/gin-gonic/gin" ) -var ProtocolGroup = core.Group("/setting", newProtocolHandler, regProtocol, middleware.TokenAuth()) +// var ProtocolGroup = core.Group("/setting", newProtocolHandler, regProtocol, middleware.TokenAuth()) -func newProtocolHandler(srv setting.ISettingProtocolService) *protocolHandler { - return &protocolHandler{srv: srv} -} +// func newProtocolHandler(srv setting.ISettingProtocolService) *protocolHandler { +// return &protocolHandler{srv: srv} +// } + +// func regProtocol(rg *gin.RouterGroup, group *core.GroupBase) error { +// return group.Reg(func(handle *protocolHandler) { +// rg.GET("/protocol/detail", handle.detail) +// rg.POST("/protocol/save", handle.save) +// }) +// } +func ProtocolRoute(rg *gin.RouterGroup) { + db := core.GetDB() + // permSrv := system.NewSystemAuthPermService(db) + // roleSrv := system.NewSystemAuthRoleService(db, permSrv) + // adminSrv := system.NewSystemAuthAdminService(db, permSrv, roleSrv) + // service := system.NewSystemLoginService(db, adminSrv) + + server := setting.NewSettingProtocolService(db) + + handle := protocolHandler{srv: server} -func regProtocol(rg *gin.RouterGroup, group *core.GroupBase) error { - return group.Reg(func(handle *protocolHandler) { - rg.GET("/protocol/detail", handle.detail) - rg.POST("/protocol/save", handle.save) - }) + rg = rg.Group("/setting", middleware.TokenAuth()) + rg.GET("/protocol/detail", handle.detail) + rg.POST("/protocol/save", handle.save) } type protocolHandler struct { srv setting.ISettingProtocolService } -//detail 获取政策信息 +// detail 获取政策信息 func (ph protocolHandler) detail(c *gin.Context) { res, err := ph.srv.Detail() response.CheckAndRespWithData(c, res, err) } -//save 保存政策信息 +// save 保存政策信息 func (ph protocolHandler) save(c *gin.Context) { var pReq req.SettingProtocolReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &pReq)) { diff --git a/server/admin/routers/setting/storage.go b/server/admin/routers/setting/storage.go index 0e8ff4f..92ea302 100644 --- a/server/admin/routers/setting/storage.go +++ b/server/admin/routers/setting/storage.go @@ -1,41 +1,60 @@ package setting import ( - "github.com/gin-gonic/gin" "likeadmin/admin/schemas/req" "likeadmin/admin/service/setting" "likeadmin/core" "likeadmin/core/response" "likeadmin/middleware" "likeadmin/util" + + "github.com/gin-gonic/gin" ) -var StorageGroup = core.Group("/setting", newStorageHandler, regStorage, middleware.TokenAuth()) +// var StorageGroup = core.Group("/setting", newStorageHandler, regStorage, middleware.TokenAuth()) -func newStorageHandler(srv setting.ISettingStorageService) *storageHandler { - return &storageHandler{srv: srv} -} +// func newStorageHandler(srv setting.ISettingStorageService) *storageHandler { +// return &storageHandler{srv: srv} +// } + +// func regStorage(rg *gin.RouterGroup, group *core.GroupBase) error { +// return group.Reg(func(handle *storageHandler) { +// rg.GET("/storage/list", handle.list) +// rg.GET("/storage/detail", handle.detail) +// rg.POST("/storage/edit", handle.edit) +// rg.POST("/storage/change", handle.change) +// }) +// } + +func StorageRoute(rg *gin.RouterGroup) { + db := core.GetDB() + // permSrv := system.NewSystemAuthPermService(db) + // roleSrv := system.NewSystemAuthRoleService(db, permSrv) + // adminSrv := system.NewSystemAuthAdminService(db, permSrv, roleSrv) + // service := system.NewSystemLoginService(db, adminSrv) + + server := setting.NewSettingStorageService(db) + + handle := storageHandler{srv: server} -func regStorage(rg *gin.RouterGroup, group *core.GroupBase) error { - return group.Reg(func(handle *storageHandler) { - rg.GET("/storage/list", handle.list) - rg.GET("/storage/detail", handle.detail) - rg.POST("/storage/edit", handle.edit) - rg.POST("/storage/change", handle.change) - }) + rg = rg.Group("/setting", middleware.TokenAuth()) + rg.GET("/storage/list", handle.list) + rg.GET("/storage/detail", handle.detail) + rg.POST("/storage/edit", handle.edit) + rg.POST("/storage/change", handle.change) } type storageHandler struct { srv setting.ISettingStorageService } -//list 存储列表 +// list 存储列表 func (sh storageHandler) list(c *gin.Context) { res, err := sh.srv.List() response.CheckAndRespWithData(c, res, err) } -//detail 存储详情 +// detail 存储详情 func (sh storageHandler) detail(c *gin.Context) { var detailReq req.SettingStorageDetailReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) { @@ -45,7 +64,7 @@ func (sh storageHandler) detail(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//edit 存储编辑 +// edit 存储编辑 func (sh storageHandler) edit(c *gin.Context) { var editReq req.SettingStorageEditReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &editReq)) { @@ -54,7 +73,7 @@ func (sh storageHandler) edit(c *gin.Context) { response.CheckAndResp(c, sh.srv.Edit(editReq)) } -//change 存储切换 +// change 存储切换 func (sh storageHandler) change(c *gin.Context) { var changeReq req.SettingStorageChangeReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &changeReq)) { diff --git a/server/admin/routers/setting/website.go b/server/admin/routers/setting/website.go index e5c23b1..2ce3f98 100644 --- a/server/admin/routers/setting/website.go +++ b/server/admin/routers/setting/website.go @@ -1,39 +1,55 @@ package setting import ( - "github.com/gin-gonic/gin" "likeadmin/admin/schemas/req" "likeadmin/admin/service/setting" "likeadmin/core" "likeadmin/core/response" "likeadmin/middleware" "likeadmin/util" + + "github.com/gin-gonic/gin" ) -var WebsiteGroup = core.Group("/setting", newWebsiteHandler, regWebsite, middleware.TokenAuth()) +// var WebsiteGroup = core.Group("/setting", newWebsiteHandler, regWebsite, middleware.TokenAuth()) -func newWebsiteHandler(srv setting.ISettingWebsiteService) *websiteHandler { - return &websiteHandler{srv: srv} -} +// func newWebsiteHandler(srv setting.ISettingWebsiteService) *websiteHandler { +// return &websiteHandler{srv: srv} +// } + +// func regWebsite(rg *gin.RouterGroup, group *core.GroupBase) error { +// return group.Reg(func(handle *websiteHandler) { +// rg.GET("/website/detail", handle.detail) +// rg.POST("/website/save", handle.save) +// }) +// } +func WebsiteRoute(rg *gin.RouterGroup) { + db := core.GetDB() + // permSrv := system.NewSystemAuthPermService(db) + // roleSrv := system.NewSystemAuthRoleService(db, permSrv) + // adminSrv := system.NewSystemAuthAdminService(db, permSrv, roleSrv) + // service := system.NewSystemLoginService(db, adminSrv) + + server := setting.NewSettingWebsiteService(db) + + handle := websiteHandler{srv: server} -func regWebsite(rg *gin.RouterGroup, group *core.GroupBase) error { - return group.Reg(func(handle *websiteHandler) { - rg.GET("/website/detail", handle.detail) - rg.POST("/website/save", handle.save) - }) + rg = rg.Group("/setting", middleware.TokenAuth()) + rg.GET("/website/detail", handle.detail) + rg.POST("/website/save", handle.save) } type websiteHandler struct { srv setting.ISettingWebsiteService } -//detail 获取网站信息 +// detail 获取网站信息 func (wh websiteHandler) detail(c *gin.Context) { res, err := wh.srv.Detail() response.CheckAndRespWithData(c, res, err) } -//save 保存网站信息 +// save 保存网站信息 func (wh websiteHandler) save(c *gin.Context) { var wsReq req.SettingWebsiteReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &wsReq)) { diff --git a/server/admin/routers/system/admin.go b/server/admin/routers/system/admin.go index 5cacf59..883356d 100644 --- a/server/admin/routers/system/admin.go +++ b/server/admin/routers/system/admin.go @@ -1,7 +1,6 @@ package system import ( - "github.com/gin-gonic/gin" "likeadmin/admin/schemas/req" "likeadmin/admin/service/system" "likeadmin/config" @@ -10,39 +9,62 @@ import ( "likeadmin/core/response" "likeadmin/middleware" "likeadmin/util" + + "github.com/gin-gonic/gin" ) -var AdminGroup = core.Group("/system", newAdminHandler, regAdmin, middleware.TokenAuth()) +// var AdminGroup = core.Group("/system", newAdminHandler, regAdmin, middleware.TokenAuth()) -func newAdminHandler(srv system.ISystemAuthAdminService) *adminHandler { - return &adminHandler{srv: srv} -} +// func newAdminHandler(srv system.ISystemAuthAdminService) *adminHandler { +// return &adminHandler{srv: srv} +// } + +// func regAdmin(rg *gin.RouterGroup, group *core.GroupBase) error { +// return group.Reg(func(handle *adminHandler) { +// rg.GET("/admin/self", handle.self) +// rg.GET("/admin/list", handle.list) +// rg.GET("/admin/detail", handle.detail) +// rg.POST("/admin/add", middleware.RecordLog("管理员新增"), handle.add) +// rg.POST("/admin/edit", middleware.RecordLog("管理员编辑"), handle.edit) +// rg.POST("/admin/upInfo", middleware.RecordLog("管理员更新"), handle.upInfo) +// rg.POST("/admin/del", middleware.RecordLog("管理员删除"), handle.del) +// rg.POST("/admin/disable", middleware.RecordLog("管理员状态切换"), handle.disable) +// }) +// } +func AdminRoute(rg *gin.RouterGroup) { + db := core.GetDB() + + permSrv := system.NewSystemAuthPermService(db) + roleSrv := system.NewSystemAuthRoleService(db, permSrv) + adminSrv := system.NewSystemAuthAdminService(db, permSrv, roleSrv) + // service := system.NewSystemLoginService(db, adminSrv) + + handle := adminHandler{srv: adminSrv} + + rg = rg.Group("/system", middleware.TokenAuth()) -func regAdmin(rg *gin.RouterGroup, group *core.GroupBase) error { - return group.Reg(func(handle *adminHandler) { - rg.GET("/admin/self", handle.self) - rg.GET("/admin/list", handle.list) - rg.GET("/admin/detail", handle.detail) - rg.POST("/admin/add", middleware.RecordLog("管理员新增"), handle.add) - rg.POST("/admin/edit", middleware.RecordLog("管理员编辑"), handle.edit) - rg.POST("/admin/upInfo", middleware.RecordLog("管理员更新"), handle.upInfo) - rg.POST("/admin/del", middleware.RecordLog("管理员删除"), handle.del) - rg.POST("/admin/disable", middleware.RecordLog("管理员状态切换"), handle.disable) - }) + rg.GET("/admin/self", handle.self) + rg.GET("/admin/list", handle.list) + rg.GET("/admin/detail", handle.detail) + rg.POST("/admin/add", middleware.RecordLog("管理员新增"), handle.add) + rg.POST("/admin/edit", middleware.RecordLog("管理员编辑"), handle.edit) + rg.POST("/admin/upInfo", middleware.RecordLog("管理员更新"), handle.upInfo) + rg.POST("/admin/del", middleware.RecordLog("管理员删除"), handle.del) + rg.POST("/admin/disable", middleware.RecordLog("管理员状态切换"), handle.disable) } type adminHandler struct { srv system.ISystemAuthAdminService } -//self 管理员信息 +// self 管理员信息 func (ah adminHandler) self(c *gin.Context) { adminId := config.AdminConfig.GetAdminId(c) res, err := ah.srv.Self(adminId) response.CheckAndRespWithData(c, res, err) } -//list 管理员列表 +// list 管理员列表 func (ah adminHandler) list(c *gin.Context) { var page request.PageReq var listReq req.SystemAuthAdminListReq @@ -56,7 +78,7 @@ func (ah adminHandler) list(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//detail 管理员详细 +// detail 管理员详细 func (ah adminHandler) detail(c *gin.Context) { var detailReq req.SystemAuthAdminDetailReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) { @@ -66,7 +88,7 @@ func (ah adminHandler) detail(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//add 管理员新增 +// add 管理员新增 func (ah adminHandler) add(c *gin.Context) { var addReq req.SystemAuthAdminAddReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &addReq)) { @@ -75,7 +97,7 @@ func (ah adminHandler) add(c *gin.Context) { response.CheckAndResp(c, ah.srv.Add(addReq)) } -//edit 管理员编辑 +// edit 管理员编辑 func (ah adminHandler) edit(c *gin.Context) { var editReq req.SystemAuthAdminEditReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &editReq)) { @@ -84,7 +106,7 @@ func (ah adminHandler) edit(c *gin.Context) { response.CheckAndResp(c, ah.srv.Edit(c, editReq)) } -//upInfo 管理员更新 +// upInfo 管理员更新 func (ah adminHandler) upInfo(c *gin.Context) { var updateReq req.SystemAuthAdminUpdateReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &updateReq)) { @@ -94,7 +116,7 @@ func (ah adminHandler) upInfo(c *gin.Context) { c, updateReq, config.AdminConfig.GetAdminId(c))) } -//del 管理员删除 +// del 管理员删除 func (ah adminHandler) del(c *gin.Context) { var delReq req.SystemAuthAdminDelReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &delReq)) { @@ -103,7 +125,7 @@ func (ah adminHandler) del(c *gin.Context) { response.CheckAndResp(c, ah.srv.Del(c, delReq.ID)) } -//disable 管理员状态切换 +// disable 管理员状态切换 func (ah adminHandler) disable(c *gin.Context) { var disableReq req.SystemAuthAdminDisableReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &disableReq)) { diff --git a/server/admin/routers/system/dept.go b/server/admin/routers/system/dept.go index 85b5b81..fa96232 100644 --- a/server/admin/routers/system/dept.go +++ b/server/admin/routers/system/dept.go @@ -1,43 +1,62 @@ package system import ( - "github.com/gin-gonic/gin" "likeadmin/admin/schemas/req" "likeadmin/admin/service/system" "likeadmin/core" "likeadmin/core/response" "likeadmin/middleware" "likeadmin/util" + + "github.com/gin-gonic/gin" ) -var DeptGroup = core.Group("/system", newDeptHandler, regDept, middleware.TokenAuth()) +// var DeptGroup = core.Group("/system", newDeptHandler, regDept, middleware.TokenAuth()) -func newDeptHandler(srv system.ISystemAuthDeptService) *deptHandler { - return &deptHandler{srv: srv} -} +// func newDeptHandler(srv system.ISystemAuthDeptService) *deptHandler { +// return &deptHandler{srv: srv} +// } + +// func regDept(rg *gin.RouterGroup, group *core.GroupBase) error { +// return group.Reg(func(handle *deptHandler) { +// rg.GET("/dept/all", handle.all) +// rg.GET("/dept/list", handle.list) +// rg.GET("/dept/detail", handle.detail) +// rg.POST("/dept/add", handle.add) +// rg.POST("/dept/edit", handle.edit) +// rg.POST("/dept/del", handle.del) +// }) +// } +func DeptRoute(rg *gin.RouterGroup) { + db := core.GetDB() + // permSrv := system.NewSystemAuthPermService(db) + // roleSrv := system.NewSystemAuthRoleService(db, permSrv) + // adminSrv := system.NewSystemAuthAdminService(db, permSrv, roleSrv) + // service := system.NewSystemLoginService(db, adminSrv) + // authSrv := system.NewSystemAuthMenuService(db, permSrv) + Dept := system.NewSystemAuthDeptService(db) + handle := deptHandler{srv: Dept} -func regDept(rg *gin.RouterGroup, group *core.GroupBase) error { - return group.Reg(func(handle *deptHandler) { - rg.GET("/dept/all", handle.all) - rg.GET("/dept/list", handle.list) - rg.GET("/dept/detail", handle.detail) - rg.POST("/dept/add", handle.add) - rg.POST("/dept/edit", handle.edit) - rg.POST("/dept/del", handle.del) - }) + rg = rg.Group("/system", middleware.TokenAuth()) + rg.GET("/dept/all", handle.all) + rg.GET("/dept/list", handle.list) + rg.GET("/dept/detail", handle.detail) + rg.POST("/dept/add", handle.add) + rg.POST("/dept/edit", handle.edit) + rg.POST("/dept/del", handle.del) } type deptHandler struct { srv system.ISystemAuthDeptService } -//all 部门所有 +// all 部门所有 func (dh deptHandler) all(c *gin.Context) { res, err := dh.srv.All() response.CheckAndRespWithData(c, res, err) } -//list 部门列表 +// list 部门列表 func (dh deptHandler) list(c *gin.Context) { var listReq req.SystemAuthDeptListReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { @@ -47,7 +66,7 @@ func (dh deptHandler) list(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//detail 部门详情 +// detail 部门详情 func (dh deptHandler) detail(c *gin.Context) { var detailReq req.SystemAuthDeptDetailReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) { @@ -57,7 +76,7 @@ func (dh deptHandler) detail(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//add 部门新增 +// add 部门新增 func (dh deptHandler) add(c *gin.Context) { var addReq req.SystemAuthDeptAddReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &addReq)) { @@ -66,7 +85,7 @@ func (dh deptHandler) add(c *gin.Context) { response.CheckAndResp(c, dh.srv.Add(addReq)) } -//edit 部门编辑 +// edit 部门编辑 func (dh deptHandler) edit(c *gin.Context) { var editReq req.SystemAuthDeptEditReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &editReq)) { @@ -75,7 +94,7 @@ func (dh deptHandler) edit(c *gin.Context) { response.CheckAndResp(c, dh.srv.Edit(editReq)) } -//del 部门删除 +// del 部门删除 func (dh deptHandler) del(c *gin.Context) { var delReq req.SystemAuthDeptDelReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &delReq)) { diff --git a/server/admin/routers/system/log.go b/server/admin/routers/system/log.go index 473f013..1bdbf7e 100644 --- a/server/admin/routers/system/log.go +++ b/server/admin/routers/system/log.go @@ -1,7 +1,6 @@ package system import ( - "github.com/gin-gonic/gin" "likeadmin/admin/schemas/req" "likeadmin/admin/service/system" "likeadmin/core" @@ -9,26 +8,44 @@ import ( "likeadmin/core/response" "likeadmin/middleware" "likeadmin/util" + + "github.com/gin-gonic/gin" ) -var LogGroup = core.Group("/system", newLogHandler, regLog, middleware.TokenAuth()) +// var LogGroup = core.Group("/system", newLogHandler, regLog, middleware.TokenAuth()) -func newLogHandler(srv system.ISystemLogsServer) *logHandler { - return &logHandler{srv: srv} -} +// func newLogHandler(srv system.ISystemLogsServer) *logHandler { +// return &logHandler{srv: srv} +// } + +// func regLog(rg *gin.RouterGroup, group *core.GroupBase) error { +// return group.Reg(func(handle *logHandler) { +// rg.GET("/log/operate", handle.operate) +// rg.GET("/log/login", handle.login) +// }) +// } + +func LogRoute(rg *gin.RouterGroup) { + db := core.GetDB() + // permSrv := system.NewSystemAuthPermService(db) + // roleSrv := system.NewSystemAuthRoleService(db, permSrv) + // adminSrv := system.NewSystemAuthAdminService(db, permSrv, roleSrv) + // service := system.NewSystemLoginService(db, adminSrv) + + authSrv := system.NewSystemLogsServer(db) + + handle := logHandler{srv: authSrv} -func regLog(rg *gin.RouterGroup, group *core.GroupBase) error { - return group.Reg(func(handle *logHandler) { - rg.GET("/log/operate", handle.operate) - rg.GET("/log/login", handle.login) - }) + rg = rg.Group("/system", middleware.TokenAuth()) + rg.GET("/log/operate", handle.operate) + rg.GET("/log/login", handle.login) } type logHandler struct { srv system.ISystemLogsServer } -//operate 操作日志 +// operate 操作日志 func (lh logHandler) operate(c *gin.Context) { var page request.PageReq var logReq req.SystemLogOperateReq @@ -42,7 +59,7 @@ func (lh logHandler) operate(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//login 登录日志 +// login 登录日志 func (lh logHandler) login(c *gin.Context) { var page request.PageReq var logReq req.SystemLogLoginReq diff --git a/server/admin/routers/system/login.go b/server/admin/routers/system/login.go index 0bca9f6..2180600 100644 --- a/server/admin/routers/system/login.go +++ b/server/admin/routers/system/login.go @@ -1,33 +1,48 @@ package system import ( - "github.com/gin-gonic/gin" "likeadmin/admin/schemas/req" "likeadmin/admin/service/system" "likeadmin/core" "likeadmin/core/response" "likeadmin/middleware" "likeadmin/util" + + "github.com/gin-gonic/gin" ) -var LoginGroup = core.Group("/system", newLoginHandler, regLogin, middleware.TokenAuth()) +// var LoginGroup = core.Group("/system", newLoginHandler, regLogin, middleware.TokenAuth()) -func newLoginHandler(srv system.ISystemLoginService) *loginHandler { - return &loginHandler{srv: srv} -} +// func newLoginHandler(srv system.ISystemLoginService) *loginHandler { +// return &loginHandler{srv: srv} +// } + +// func regLogin(rg *gin.RouterGroup, group *core.GroupBase) error { +// return group.Reg(func(handle *loginHandler) { +// rg.POST("/login", handle.login) +// rg.POST("/logout", handle.logout) +// }) +// } + +func LoginRoute(rg *gin.RouterGroup) { + db := core.GetDB() + permSrv := system.NewSystemAuthPermService(db) + roleSrv := system.NewSystemAuthRoleService(db, permSrv) + adminSrv := system.NewSystemAuthAdminService(db, permSrv, roleSrv) + service := system.NewSystemLoginService(db, adminSrv) + + handle := loginHandler{srv: service} -func regLogin(rg *gin.RouterGroup, group *core.GroupBase) error { - return group.Reg(func(handle *loginHandler) { - rg.POST("/login", handle.login) - rg.POST("/logout", handle.logout) - }) + rg = rg.Group("/system", middleware.TokenAuth()) + rg.POST("/login", handle.login) + rg.POST("/logout", handle.logout) } type loginHandler struct { srv system.ISystemLoginService } -//login 登录系统 +// login 登录系统 func (lh loginHandler) login(c *gin.Context) { var loginReq req.SystemLoginReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &loginReq)) { @@ -37,7 +52,7 @@ func (lh loginHandler) login(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//logout 登录退出 +// logout 登录退出 func (lh loginHandler) logout(c *gin.Context) { var logoutReq req.SystemLogoutReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyHeader(c, &logoutReq)) { diff --git a/server/admin/routers/system/menu.go b/server/admin/routers/system/menu.go index ccbb27e..6816211 100644 --- a/server/admin/routers/system/menu.go +++ b/server/admin/routers/system/menu.go @@ -1,7 +1,6 @@ package system import ( - "github.com/gin-gonic/gin" "likeadmin/admin/schemas/req" "likeadmin/admin/service/system" "likeadmin/config" @@ -9,43 +8,64 @@ import ( "likeadmin/core/response" "likeadmin/middleware" "likeadmin/util" + + "github.com/gin-gonic/gin" ) -var MenuGroup = core.Group("/system", newMenuHandler, regMenu, middleware.TokenAuth()) +// var MenuGroup = core.Group("/system", newMenuHandler, regMenu, middleware.TokenAuth()) -func newMenuHandler(srv system.ISystemAuthMenuService) *menuHandler { - return &menuHandler{srv: srv} -} +// func newMenuHandler(srv system.ISystemAuthMenuService) *menuHandler { +// return &menuHandler{srv: srv} +// } + +// func regMenu(rg *gin.RouterGroup, group *core.GroupBase) error { +// return group.Reg(func(handle *menuHandler) { +// rg.GET("/menu/route", handle.route) +// rg.GET("/menu/list", handle.list) +// rg.GET("/menu/detail", handle.detail) +// rg.POST("/menu/add", handle.add) +// rg.POST("/menu/edit", handle.edit) +// rg.POST("/menu/del", handle.del) +// }) +// } +func MenuRoute(rg *gin.RouterGroup) { + db := core.GetDB() + permSrv := system.NewSystemAuthPermService(db) + // roleSrv := system.NewSystemAuthRoleService(db, permSrv) + // adminSrv := system.NewSystemAuthAdminService(db, permSrv, roleSrv) + // service := system.NewSystemLoginService(db, adminSrv) + + authSrv := system.NewSystemAuthMenuService(db, permSrv) + + handle := menuHandler{srv: authSrv} -func regMenu(rg *gin.RouterGroup, group *core.GroupBase) error { - return group.Reg(func(handle *menuHandler) { - rg.GET("/menu/route", handle.route) - rg.GET("/menu/list", handle.list) - rg.GET("/menu/detail", handle.detail) - rg.POST("/menu/add", handle.add) - rg.POST("/menu/edit", handle.edit) - rg.POST("/menu/del", handle.del) - }) + rg = rg.Group("/system", middleware.TokenAuth()) + rg.GET("/menu/route", handle.route) + rg.GET("/menu/list", handle.list) + rg.GET("/menu/detail", handle.detail) + rg.POST("/menu/add", handle.add) + rg.POST("/menu/edit", handle.edit) + rg.POST("/menu/del", handle.del) } type menuHandler struct { srv system.ISystemAuthMenuService } -//route 菜单路由 +// route 菜单路由 func (mh menuHandler) route(c *gin.Context) { adminId := config.AdminConfig.GetAdminId(c) res, err := mh.srv.SelectMenuByRoleId(c, adminId) response.CheckAndRespWithData(c, res, err) } -//list 菜单列表 +// list 菜单列表 func (mh menuHandler) list(c *gin.Context) { res, err := mh.srv.List() response.CheckAndRespWithData(c, res, err) } -//detail 菜单详情 +// detail 菜单详情 func (mh menuHandler) detail(c *gin.Context) { var detailReq req.SystemAuthMenuDetailReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) { @@ -55,7 +75,7 @@ func (mh menuHandler) detail(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//add 新增菜单 +// add 新增菜单 func (mh menuHandler) add(c *gin.Context) { var addReq req.SystemAuthMenuAddReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &addReq)) { @@ -64,7 +84,7 @@ func (mh menuHandler) add(c *gin.Context) { response.CheckAndResp(c, mh.srv.Add(addReq)) } -//edit 编辑菜单 +// edit 编辑菜单 func (mh menuHandler) edit(c *gin.Context) { var editReq req.SystemAuthMenuEditReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &editReq)) { @@ -73,7 +93,7 @@ func (mh menuHandler) edit(c *gin.Context) { response.CheckAndResp(c, mh.srv.Edit(editReq)) } -//del 删除菜单 +// del 删除菜单 func (mh menuHandler) del(c *gin.Context) { var delReq req.SystemAuthMenuDelReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &delReq)) { diff --git a/server/admin/routers/system/post.go b/server/admin/routers/system/post.go index ee9921b..3e5894c 100644 --- a/server/admin/routers/system/post.go +++ b/server/admin/routers/system/post.go @@ -1,7 +1,6 @@ package system import ( - "github.com/gin-gonic/gin" "likeadmin/admin/schemas/req" "likeadmin/admin/service/system" "likeadmin/core" @@ -9,36 +8,57 @@ import ( "likeadmin/core/response" "likeadmin/middleware" "likeadmin/util" + + "github.com/gin-gonic/gin" ) -var PostGroup = core.Group("/system", newPostHandler, regPost, middleware.TokenAuth()) +// var PostGroup = core.Group("/system", newPostHandler, regPost, middleware.TokenAuth()) -func newPostHandler(srv system.ISystemAuthPostService) *postHandler { - return &postHandler{srv: srv} -} +// func newPostHandler(srv system.ISystemAuthPostService) *postHandler { +// return &postHandler{srv: srv} +// } + +// func regPost(rg *gin.RouterGroup, group *core.GroupBase) error { +// return group.Reg(func(handle *postHandler) { +// rg.GET("/post/all", handle.all) +// rg.GET("/post/list", handle.list) +// rg.GET("/post/detail", handle.detail) +// rg.POST("/post/add", handle.add) +// rg.POST("/post/edit", handle.edit) +// rg.POST("/post/del", handle.del) +// }) +// } +func PostRoute(rg *gin.RouterGroup) { + db := core.GetDB() + // permSrv := system.NewSystemAuthPermService(db) + // roleSrv := system.NewSystemAuthRoleService(db, permSrv) + // adminSrv := system.NewSystemAuthAdminService(db, permSrv, roleSrv) + // service := system.NewSystemLoginService(db, adminSrv) + + server := system.NewSystemAuthPostService(db) + + handle := postHandler{srv: server} -func regPost(rg *gin.RouterGroup, group *core.GroupBase) error { - return group.Reg(func(handle *postHandler) { - rg.GET("/post/all", handle.all) - rg.GET("/post/list", handle.list) - rg.GET("/post/detail", handle.detail) - rg.POST("/post/add", handle.add) - rg.POST("/post/edit", handle.edit) - rg.POST("/post/del", handle.del) - }) + rg = rg.Group("/system", middleware.TokenAuth()) + rg.GET("/post/all", handle.all) + rg.GET("/post/list", handle.list) + rg.GET("/post/detail", handle.detail) + rg.POST("/post/add", handle.add) + rg.POST("/post/edit", handle.edit) + rg.POST("/post/del", handle.del) } type postHandler struct { srv system.ISystemAuthPostService } -//all 岗位所有 +// all 岗位所有 func (ph postHandler) all(c *gin.Context) { res, err := ph.srv.All() response.CheckAndRespWithData(c, res, err) } -//list 岗位列表 +// list 岗位列表 func (ph postHandler) list(c *gin.Context) { var page request.PageReq var listReq req.SystemAuthPostListReq @@ -52,7 +72,7 @@ func (ph postHandler) list(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//detail 岗位详情 +// detail 岗位详情 func (ph postHandler) detail(c *gin.Context) { var detailReq req.SystemAuthPostDetailReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) { @@ -62,7 +82,7 @@ func (ph postHandler) detail(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//add 岗位新增 +// add 岗位新增 func (ph postHandler) add(c *gin.Context) { var addReq req.SystemAuthPostAddReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &addReq)) { @@ -71,7 +91,7 @@ func (ph postHandler) add(c *gin.Context) { response.CheckAndResp(c, ph.srv.Add(addReq)) } -//edit 岗位编辑 +// edit 岗位编辑 func (ph postHandler) edit(c *gin.Context) { var editReq req.SystemAuthPostEditReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &editReq)) { @@ -80,7 +100,7 @@ func (ph postHandler) edit(c *gin.Context) { response.CheckAndResp(c, ph.srv.Edit(editReq)) } -//del 岗位删除 +// del 岗位删除 func (ph postHandler) del(c *gin.Context) { var delReq req.SystemAuthPostDelReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &delReq)) { diff --git a/server/admin/routers/system/role.go b/server/admin/routers/system/role.go index a67d5f2..a2eab09 100644 --- a/server/admin/routers/system/role.go +++ b/server/admin/routers/system/role.go @@ -1,7 +1,6 @@ package system import ( - "github.com/gin-gonic/gin" "likeadmin/admin/schemas/req" "likeadmin/admin/service/system" "likeadmin/core" @@ -9,36 +8,57 @@ import ( "likeadmin/core/response" "likeadmin/middleware" "likeadmin/util" + + "github.com/gin-gonic/gin" ) -var RoleGroup = core.Group("/system", newRoleHandler, regRole, middleware.TokenAuth()) +// var RoleGroup = core.Group("/system", newRoleHandler, regRole, middleware.TokenAuth()) -func newRoleHandler(srv system.ISystemAuthRoleService) *roleHandler { - return &roleHandler{srv: srv} -} +// func newRoleHandler(srv system.ISystemAuthRoleService) *roleHandler { +// return &roleHandler{srv: srv} +// } + +// func regRole(rg *gin.RouterGroup, group *core.GroupBase) error { +// return group.Reg(func(handle *roleHandler) { +// rg.GET("/role/all", handle.all) +// rg.GET("/role/list", middleware.RecordLog("角色列表"), handle.list) +// rg.GET("/role/detail", middleware.RecordLog("角色详情"), handle.detail) +// rg.POST("/role/add", middleware.RecordLog("角色新增"), handle.add) +// rg.POST("/role/edit", middleware.RecordLog("角色编辑"), handle.edit) +// rg.POST("/role/del", middleware.RecordLog("角色删除"), handle.del) +// }) +// } +func RoleRoute(rg *gin.RouterGroup) { + db := core.GetDB() + permSrv := system.NewSystemAuthPermService(db) + // roleSrv := system.NewSystemAuthRoleService(db, permSrv) + // adminSrv := system.NewSystemAuthAdminService(db, permSrv, roleSrv) + // service := system.NewSystemLoginService(db, adminSrv) + + server := system.NewSystemAuthRoleService(db, permSrv) + + handle := roleHandler{srv: server} -func regRole(rg *gin.RouterGroup, group *core.GroupBase) error { - return group.Reg(func(handle *roleHandler) { - rg.GET("/role/all", handle.all) - rg.GET("/role/list", middleware.RecordLog("角色列表"), handle.list) - rg.GET("/role/detail", middleware.RecordLog("角色详情"), handle.detail) - rg.POST("/role/add", middleware.RecordLog("角色新增"), handle.add) - rg.POST("/role/edit", middleware.RecordLog("角色编辑"), handle.edit) - rg.POST("/role/del", middleware.RecordLog("角色删除"), handle.del) - }) + rg = rg.Group("/system", middleware.TokenAuth()) + rg.GET("/role/all", handle.all) + rg.GET("/role/list", middleware.RecordLog("角色列表"), handle.list) + rg.GET("/role/detail", middleware.RecordLog("角色详情"), handle.detail) + rg.POST("/role/add", middleware.RecordLog("角色新增"), handle.add) + rg.POST("/role/edit", middleware.RecordLog("角色编辑"), handle.edit) + rg.POST("/role/del", middleware.RecordLog("角色删除"), handle.del) } type roleHandler struct { srv system.ISystemAuthRoleService } -//all 角色所有 +// all 角色所有 func (rh roleHandler) all(c *gin.Context) { res, err := rh.srv.All() response.CheckAndRespWithData(c, res, err) } -//list 角色列表 +// list 角色列表 func (rh roleHandler) list(c *gin.Context) { var page request.PageReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &page)) { @@ -48,7 +68,7 @@ func (rh roleHandler) list(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//detail 角色详情 +// detail 角色详情 func (rh roleHandler) detail(c *gin.Context) { var detailReq req.SystemAuthRoleDetailReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) { @@ -58,7 +78,7 @@ func (rh roleHandler) detail(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//add 新增角色 +// add 新增角色 func (rh roleHandler) add(c *gin.Context) { var addReq req.SystemAuthRoleAddReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &addReq)) { @@ -67,7 +87,7 @@ func (rh roleHandler) add(c *gin.Context) { response.CheckAndResp(c, rh.srv.Add(addReq)) } -//edit 编辑角色 +// edit 编辑角色 func (rh roleHandler) edit(c *gin.Context) { var editReq req.SystemAuthRoleEditReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &editReq)) { @@ -76,7 +96,7 @@ func (rh roleHandler) edit(c *gin.Context) { response.CheckAndResp(c, rh.srv.Edit(editReq)) } -//del 删除角色 +// del 删除角色 func (rh roleHandler) del(c *gin.Context) { var delReq req.SystemAuthRoleDelReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &delReq)) { diff --git a/server/admin/service/enter.go b/server/admin/service/enter.go index 1a1e42e..3326792 100644 --- a/server/admin/service/enter.go +++ b/server/admin/service/enter.go @@ -1,30 +1,24 @@ package service -import ( - "likeadmin/admin/service/common" - "likeadmin/admin/service/setting" - "likeadmin/admin/service/system" -) - -var InitFunctions = []interface{}{ - // common - common.NewAlbumService, - common.NewIndexService, - common.NewUploadService, - // setting - setting.NewSettingCopyrightService, - setting.NewSettingDictDataService, - setting.NewSettingDictTypeService, - setting.NewSettingProtocolService, - setting.NewSettingStorageService, - setting.NewSettingWebsiteService, - // system - system.NewSystemAuthAdminService, - system.NewSystemAuthDeptService, - system.NewSystemAuthMenuService, - system.NewSystemAuthPermService, - system.NewSystemAuthPostService, - system.NewSystemAuthRoleService, - system.NewSystemLoginService, - system.NewSystemLogsServer, -} +// var InitFunctions = []interface{}{ +// // common +// common.NewAlbumService, +// common.NewIndexService, +// common.NewUploadService, +// // setting +// setting.NewSettingCopyrightService, +// setting.NewSettingDictDataService, +// setting.NewSettingDictTypeService, +// setting.NewSettingProtocolService, +// setting.NewSettingStorageService, +// setting.NewSettingWebsiteService, +// // system +// system.NewSystemAuthAdminService, +// system.NewSystemAuthDeptService, +// system.NewSystemAuthMenuService, +// system.NewSystemAuthPermService, +// system.NewSystemAuthPostService, +// system.NewSystemAuthRoleService, +// system.NewSystemLoginService, +// system.NewSystemLogsServer, +// } diff --git a/server/generator/routers/enter.go b/server/generator/routers/enter.go index 5bc3e63..be75859 100644 --- a/server/generator/routers/enter.go +++ b/server/generator/routers/enter.go @@ -1,11 +1,15 @@ package routers import ( - "likeadmin/core" "likeadmin/generator/routers/gen" + + "github.com/gin-gonic/gin" ) -var InitRouters = []*core.GroupBase{ - // gen - gen.GenGroup, +// var InitRouters = []*core.GroupBase{ +// // gen +// gen.GenGroup, +// } +func RegisterGroup(rg *gin.RouterGroup) { + gen.GenRoute(rg) } diff --git a/server/generator/routers/gen/gen.go b/server/generator/routers/gen/gen.go index 0af2f5c..af6f4b8 100644 --- a/server/generator/routers/gen/gen.go +++ b/server/generator/routers/gen/gen.go @@ -1,7 +1,6 @@ package gen import ( - "github.com/gin-gonic/gin" "likeadmin/core" "likeadmin/core/request" "likeadmin/core/response" @@ -11,34 +10,59 @@ import ( "likeadmin/util" "net/http" "strings" + + "github.com/gin-gonic/gin" ) -var GenGroup = core.Group("/gen", newGenHandler, regGen, middleware.TokenAuth()) +// var GenGroup = core.Group("/gen", newGenHandler, regGen, middleware.TokenAuth()) -func newGenHandler(srv gen.IGenerateService) *genHandler { - return &genHandler{srv: srv} -} +// func newGenHandler(srv gen.IGenerateService) *genHandler { +// return &genHandler{srv: srv} +// } + +// func regGen(rg *gin.RouterGroup, group *core.GroupBase) error { +// return group.Reg(func(handle *genHandler) { +// rg.GET("/db", handle.dbTables) +// rg.GET("/list", handle.list) +// rg.GET("/detail", handle.detail) +// rg.POST("/importTable", handle.importTable) +// rg.POST("/syncTable", handle.syncTable) +// rg.POST("/editTable", handle.editTable) +// rg.POST("/delTable", handle.delTable) +// rg.GET("/previewCode", handle.previewCode) +// rg.GET("/genCode", handle.genCode) +// rg.GET("/downloadCode", handle.downloadCode) +// }) +// } +func GenRoute(rg *gin.RouterGroup) { + db := core.GetDB() + // permSrv := system.NewSystemAuthPermService(db) + // roleSrv := system.NewSystemAuthRoleService(db, permSrv) + // adminSrv := system.NewSystemAuthAdminService(db, permSrv, roleSrv) + // service := system.NewSystemLoginService(db, adminSrv) + + server := gen.NewGenerateService(db) + + handle := genHandler{srv: server} -func regGen(rg *gin.RouterGroup, group *core.GroupBase) error { - return group.Reg(func(handle *genHandler) { - rg.GET("/db", handle.dbTables) - rg.GET("/list", handle.list) - rg.GET("/detail", handle.detail) - rg.POST("/importTable", handle.importTable) - rg.POST("/syncTable", handle.syncTable) - rg.POST("/editTable", handle.editTable) - rg.POST("/delTable", handle.delTable) - rg.GET("/previewCode", handle.previewCode) - rg.GET("/genCode", handle.genCode) - rg.GET("/downloadCode", handle.downloadCode) - }) + rg = rg.Group("/gen", middleware.TokenAuth()) + rg.GET("/db", handle.dbTables) + rg.GET("/list", handle.list) + rg.GET("/detail", handle.detail) + rg.POST("/importTable", handle.importTable) + rg.POST("/syncTable", handle.syncTable) + rg.POST("/editTable", handle.editTable) + rg.POST("/delTable", handle.delTable) + rg.GET("/previewCode", handle.previewCode) + rg.GET("/genCode", handle.genCode) + rg.GET("/downloadCode", handle.downloadCode) } type genHandler struct { srv gen.IGenerateService } -//dbTables 数据表列表 +// dbTables 数据表列表 func (gh genHandler) dbTables(c *gin.Context) { var page request.PageReq var tbReq req.DbTablesReq @@ -52,7 +76,7 @@ func (gh genHandler) dbTables(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//list 生成列表 +// list 生成列表 func (gh genHandler) list(c *gin.Context) { var page request.PageReq var listReq req.ListTableReq @@ -66,7 +90,7 @@ func (gh genHandler) list(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//detail 生成详情 +// detail 生成详情 func (gh genHandler) detail(c *gin.Context) { var detailReq req.DetailTableReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) { @@ -76,7 +100,7 @@ func (gh genHandler) detail(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//importTable 导入表结构 +// importTable 导入表结构 func (gh genHandler) importTable(c *gin.Context) { var importReq req.ImportTableReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &importReq)) { @@ -86,7 +110,7 @@ func (gh genHandler) importTable(c *gin.Context) { response.CheckAndResp(c, err) } -//syncTable 同步表结构 +// syncTable 同步表结构 func (gh genHandler) syncTable(c *gin.Context) { var syncReq req.SyncTableReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &syncReq)) { @@ -96,7 +120,7 @@ func (gh genHandler) syncTable(c *gin.Context) { response.CheckAndResp(c, err) } -//editTable 编辑表结构 +// editTable 编辑表结构 func (gh genHandler) editTable(c *gin.Context) { var editReq req.EditTableReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &editReq)) { @@ -106,7 +130,7 @@ func (gh genHandler) editTable(c *gin.Context) { response.CheckAndResp(c, err) } -//delTable 删除表结构 +// delTable 删除表结构 func (gh genHandler) delTable(c *gin.Context) { var delReq req.DelTableReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &delReq)) { @@ -116,7 +140,7 @@ func (gh genHandler) delTable(c *gin.Context) { response.CheckAndResp(c, err) } -//previewCode 预览代码 +// previewCode 预览代码 func (gh genHandler) previewCode(c *gin.Context) { var previewReq req.PreviewCodeReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &previewReq)) { @@ -126,7 +150,7 @@ func (gh genHandler) previewCode(c *gin.Context) { response.CheckAndRespWithData(c, res, err) } -//genCode 生成代码 +// genCode 生成代码 func (gh genHandler) genCode(c *gin.Context) { var genReq req.GenCodeReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &genReq)) { @@ -141,7 +165,7 @@ func (gh genHandler) genCode(c *gin.Context) { response.Ok(c) } -//downloadCode 下载代码 +// downloadCode 下载代码 func (gh genHandler) downloadCode(c *gin.Context) { var downloadReq req.DownloadReq if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &downloadReq)) { @@ -153,6 +177,6 @@ func (gh genHandler) downloadCode(c *gin.Context) { } contentType := "application/zip" c.Header("Content-Type", contentType) - c.Header("Content-Disposition", "attachment; filename=likeadmin-gen.zip") + c.Header("Content-Disposition", "attachment; filename=gen-"+downloadReq.Tables+".zip") c.Data(http.StatusOK, contentType, zipBytes) } diff --git a/server/generator/service/enter.go b/server/generator/service/enter.go index 8218eca..02e5345 100644 --- a/server/generator/service/enter.go +++ b/server/generator/service/enter.go @@ -1,8 +1,6 @@ package service -import "likeadmin/generator/service/gen" - -var InitFunctions = []interface{}{ - // gen - gen.NewGenerateService, -} +// var InitFunctions = []interface{}{ +// // gen +// gen.NewGenerateService, +// } diff --git a/server/generator/service/gen/gen.go b/server/generator/service/gen/gen.go index 50b07f6..99651a5 100644 --- a/server/generator/service/gen/gen.go +++ b/server/generator/service/gen/gen.go @@ -3,7 +3,6 @@ package gen import ( "archive/zip" "bytes" - "gorm.io/gorm" "likeadmin/config" "likeadmin/core/request" "likeadmin/core/response" @@ -13,6 +12,8 @@ import ( "likeadmin/model/gen" "likeadmin/util" "strings" + + "gorm.io/gorm" ) type IGenerateService interface { @@ -28,17 +29,17 @@ type IGenerateService interface { DownloadCode(tableNames []string) ([]byte, error) } -//NewGenerateService 初始化 +// NewGenerateService 初始化 func NewGenerateService(db *gorm.DB) IGenerateService { return &generateService{db: db} } -//GenerateService 代码生成服务实现类 +// GenerateService 代码生成服务实现类 type generateService struct { db *gorm.DB } -//DbTables 库表列表 +// DbTables 库表列表 func (genSrv generateService) DbTables(page request.PageReq, dbReq req.DbTablesReq) (res response.PageResp, e error) { // 分页信息 limit := page.PageSize @@ -64,7 +65,7 @@ func (genSrv generateService) DbTables(page request.PageReq, dbReq req.DbTablesR }, nil } -//List 生成列表 +// List 生成列表 func (genSrv generateService) List(page request.PageReq, listReq req.ListTableReq) (res response.PageResp, e error) { // 分页信息 limit := page.PageSize @@ -102,7 +103,7 @@ func (genSrv generateService) List(page request.PageReq, listReq req.ListTableRe }, nil } -//Detail 生成详情 +// Detail 生成详情 func (genSrv generateService) Detail(id uint) (res resp.GenTableDetailResp, e error) { var genTb gen.GenTable err := genSrv.db.Where("id = ?", id).Limit(1).First(&genTb).Error @@ -130,7 +131,7 @@ func (genSrv generateService) Detail(id uint) (res resp.GenTableDetailResp, e er }, e } -//ImportTable 导入表结构 +// ImportTable 导入表结构 func (genSrv generateService) ImportTable(tableNames []string) (e error) { var dbTbs []resp.DbTableResp err := generator.GenUtil.GetDbTablesQueryByNames(genSrv.db, tableNames).Find(&dbTbs).Error @@ -171,7 +172,7 @@ func (genSrv generateService) ImportTable(tableNames []string) (e error) { return nil } -//SyncTable 同步表结构 +// SyncTable 同步表结构 func (genSrv generateService) SyncTable(id uint) (e error) { //旧数据 var genTable gen.GenTable @@ -254,7 +255,7 @@ func (genSrv generateService) SyncTable(id uint) (e error) { return nil } -//EditTable 编辑表结构 +// EditTable 编辑表结构 func (genSrv generateService) EditTable(editReq req.EditTableReq) (e error) { if editReq.GenTpl == generator.GenConstants.TplTree { if editReq.TreePrimary == "" { @@ -295,7 +296,7 @@ func (genSrv generateService) EditTable(editReq req.EditTableReq) (e error) { return } -//DelTable 删除表结构 +// DelTable 删除表结构 func (genSrv generateService) DelTable(ids []uint) (e error) { err := genSrv.db.Transaction(func(tx *gorm.DB) error { txErr := tx.Delete(&gen.GenTable{}, "id in ?", ids).Error @@ -312,7 +313,7 @@ func (genSrv generateService) DelTable(ids []uint) (e error) { return } -//getSubTableInfo 根据主表获取子表主键和列信息 +// getSubTableInfo 根据主表获取子表主键和列信息 func (genSrv generateService) getSubTableInfo(genTable gen.GenTable) (pkCol gen.GenTableColumn, cols []gen.GenTableColumn, e error) { if genTable.SubTableName == "" || genTable.SubTableFk == "" { return @@ -333,7 +334,7 @@ func (genSrv generateService) getSubTableInfo(genTable gen.GenTable) (pkCol gen. return } -//renderCodeByTable 根据主表和模板文件渲染模板代码 +// renderCodeByTable 根据主表和模板文件渲染模板代码 func (genSrv generateService) renderCodeByTable(genTable gen.GenTable) (res map[string]string, e error) { var columns []gen.GenTableColumn err := genSrv.db.Where("table_id = ?", genTable.ID).Order("sort").Find(&columns).Error @@ -345,11 +346,15 @@ func (genSrv generateService) renderCodeByTable(genTable gen.GenTable) (res map[ if e = response.CheckErr(err, "renderCodeByTable getSubTableInfo err"); e != nil { return } + /** + vars= {GenTpl: "crud", TableName: "la_product", AuthorName: "", PackageName: "gencode", EntityName: "product", EntitySnakeName: "product", ModuleName: "product", FunctionName: "产品", JavaCamelField: "", DateFields: []string len: 5, cap: 5, ["create_time","update_time","delete_time","start_time","end_time"], PrimaryKey: "id", PrimaryField: "id", AllFields: []string len: 4, cap: 4, ["id","name","category","pics"], SubPriCol: likeadmin/model/gen.GenTableColumn {ID: 0, TableID: 0, ColumnName: "", ColumnComment: "", ColumnLength: 0, ColumnType: "", GoType: "", GoField: "", IsPk: 0, IsIncrement: 0, IsRequired: 0, IsInsert: 0, IsEdit: 0, IsList: 0, IsQuery: 0, QueryType: "", HtmlType: "", DictType: "", Sort: 0, CreateTime: 0, UpdateTime: 0}, SubPriField: "id", SubTableFields: []string len: 0, cap: 0, nil, ListFields: []string len: 3, cap: 4, ["name","category","pics"], DetailFields: []string len: 4, cap: 4, ["id","name","category","pics"], DictFields: []string len: 0, cap: 0, nil, IsSearch: true, ModelOprMap: map[string]string ["=": "==", "LIKE": "like", ], Table: likeadmin/model/gen.GenTable {ID: 0, TableName: "", TableComment: "", SubTableName: "", SubTableFk: "", AuthorName: "", EntityName: "", ModuleName: "", FunctionName: "", TreePrimary: "", TreeParent: "", TreeName: "", GenTpl: "", GenType: 0, GenPath: "", Remarks: "", CreateTime: 0, UpdateTime: 0}, Columns: []likeadmin/model/gen.GenTableColumn len: 4, cap: 20, [(*"likeadmin/model/gen.GenTableColumn")(0xc001082000),(*"likeadmin/model/gen.GenTableColumn")(0xc0010820b8),(*"likeadmin/model/gen.GenTableColumn")(0xc001082170),(*"likeadmin/model/gen.GenTableColumn")(0xc001082228)], SubColumns: []likeadmin/model/gen.GenTableColumn len: 0, cap: 0, nil} + */ //获取模板变量信息 vars := generator.TemplateUtil.PrepareVars(genTable, columns, pkCol, cols) //生成模板内容 res = make(map[string]string) - for _, tplPath := range generator.TemplateUtil.GetTemplatePaths(genTable.GenTpl) { + tplPaths := generator.TemplateUtil.GetTemplatePaths(genTable.GenTpl) + for _, tplPath := range tplPaths { res[tplPath], err = generator.TemplateUtil.Render(tplPath, vars) if e = response.CheckErr(err, "renderCodeByTable Render err"); e != nil { return @@ -358,7 +363,7 @@ func (genSrv generateService) renderCodeByTable(genTable gen.GenTable) (res map[ return } -//PreviewCode 预览代码 +// PreviewCode 预览代码 func (genSrv generateService) PreviewCode(id uint) (res map[string]string, e error) { var genTable gen.GenTable err := genSrv.db.Where("id = ?", id).Limit(1).First(&genTable).Error @@ -380,7 +385,7 @@ func (genSrv generateService) PreviewCode(id uint) (res map[string]string, e err return } -//GenCode 生成代码 (自定义路径) +// GenCode 生成代码 (自定义路径) func (genSrv generateService) GenCode(tableName string) (e error) { var genTable gen.GenTable err := genSrv.db.Where("table_name = ?", tableName).Order("id desc").Limit(1).First(&genTable).Error @@ -405,7 +410,7 @@ func (genSrv generateService) GenCode(tableName string) (e error) { return } -//genZipCode 生成代码 (压缩包下载) +// genZipCode 生成代码 (压缩包下载) func (genSrv generateService) genZipCode(zipWriter *zip.Writer, tableName string) (e error) { var genTable gen.GenTable err := genSrv.db.Where("table_name = ?", tableName).Order("id desc").Limit(1).First(&genTable).Error @@ -428,7 +433,7 @@ func (genSrv generateService) genZipCode(zipWriter *zip.Writer, tableName string return } -//DownloadCode 下载代码 +// DownloadCode 下载代码 func (genSrv generateService) DownloadCode(tableNames []string) ([]byte, error) { buf := new(bytes.Buffer) zipWriter := zip.NewWriter(buf) diff --git a/server/generator/templates/gocode/model.go.tpl b/server/generator/templates/gocode/model.go.tpl index 64402fa..4b342e8 100644 --- a/server/generator/templates/gocode/model.go.tpl +++ b/server/generator/templates/gocode/model.go.tpl @@ -1,4 +1,4 @@ -package {{{ .PackageName }}} +package {{{ .EntityName }}} //{{{ title (toCamelCase .EntityName) }}} {{{ .FunctionName }}}实体 type {{{ title (toCamelCase .EntityName) }}} struct { diff --git a/server/generator/templates/gocode/route.go.tpl b/server/generator/templates/gocode/route.go.tpl index 2737ea2..abccab4 100644 --- a/server/generator/templates/gocode/route.go.tpl +++ b/server/generator/templates/gocode/route.go.tpl @@ -1,4 +1,4 @@ -package {{{ .PackageName }}} +package {{{ .EntityName }}} import ( "github.com/gin-gonic/gin" @@ -41,7 +41,7 @@ func (hd {{{ toCamelCase .ModuleName }}}Handler) list(c *gin.Context) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { return } - res, err := ph.srv.List(page, listReq) + res, err := hd.srv.List(page, listReq) response.CheckAndRespWithData(c, res, err) } diff --git a/server/generator/templates/gocode/schema.go.tpl b/server/generator/templates/gocode/schema.go.tpl index f58c206..6daba16 100644 --- a/server/generator/templates/gocode/schema.go.tpl +++ b/server/generator/templates/gocode/schema.go.tpl @@ -1,8 +1,4 @@ -package {{{ .PackageName }}} - -import ( - "likeadmin/core" -) +package {{{ .EntityName }}} //{{{ title (toCamelCase .EntityName) }}}ListReq {{{ .FunctionName }}}列表参数 type {{{ title (toCamelCase .EntityName) }}}ListReq struct { diff --git a/server/generator/templates/gocode/service.go.tpl b/server/generator/templates/gocode/service.go.tpl index e2d8f39..49412a9 100644 --- a/server/generator/templates/gocode/service.go.tpl +++ b/server/generator/templates/gocode/service.go.tpl @@ -1,18 +1,18 @@ -package {{{ .PackageName }}} +package {{{ .EntityName }}} import ( - "gorm.io/gorm" "likeadmin/core/request" "likeadmin/core/response" "likeadmin/util" + "gorm.io/gorm" ) type I{{{ title (toCamelCase .EntityName) }}}Service interface { List(page request.PageReq, listReq {{{ title (toCamelCase .EntityName) }}}ListReq) (res response.PageResp, e error) - Detail(id uint) (res {{{ title (toCamelCase .EntityName) }}}Resp, e error) + Detail(id int) (res {{{ title (toCamelCase .EntityName) }}}Resp, e error) Add(addReq {{{ title (toCamelCase .EntityName) }}}AddReq) (e error) Edit(editReq {{{ title (toCamelCase .EntityName) }}}EditReq) (e error) - Del(id uint) (e error) + Del(id int) (e error) } //New{{{ title (toCamelCase .EntityName) }}}Service 初始化 @@ -72,7 +72,7 @@ func (srv {{{ toCamelCase .EntityName }}}Service) List(page request.PageReq, lis } //Detail {{{ .FunctionName }}}详情 -func (srv {{{ toCamelCase .EntityName }}}Service) Detail(id uint) (res {{{ title (toCamelCase .EntityName) }}}Resp, e error) { +func (srv {{{ toCamelCase .EntityName }}}Service) Detail(id int) (res {{{ title (toCamelCase .EntityName) }}}Resp, e error) { var obj {{{ title (toCamelCase .EntityName) }}} err := srv.db.Where("{{{ $.PrimaryKey }}} = ?{{{ if contains .AllFields "is_delete" }}} AND is_delete = ?{{{ end }}}", id{{{ if contains .AllFields "is_delete" }}}, 0{{{ end }}}).Limit(1).First(&obj).Error if e = response.CheckErrDBNotRecord(err, "数据不存在!"); e != nil { @@ -102,7 +102,7 @@ func (srv {{{ toCamelCase .EntityName }}}Service) Add(addReq {{{ title (toCamelC //Edit {{{ .FunctionName }}}编辑 func (srv {{{ toCamelCase .EntityName }}}Service) Edit(editReq {{{ title (toCamelCase .EntityName) }}}EditReq) (e error) { var obj {{{ title (toCamelCase .EntityName) }}} - err := srv.db.Where("{{{ $.PrimaryKey }}} = ?{{{ if contains .AllFields "is_delete" }}} AND is_delete = ?{{{ end }}}", editReq.ID{{{ if contains .AllFields "is_delete" }}}, 0{{{ end }}}).Limit(1).First(&obj).Error + err := srv.db.Where("{{{ $.PrimaryKey }}} = ?{{{ if contains .AllFields "is_delete" }}} AND is_delete = ?{{{ end }}}", editReq.Id{{{ if contains .AllFields "is_delete" }}}, 0{{{ end }}}).Limit(1).First(&obj).Error // 校验 if e = response.CheckErrDBNotRecord(err, "数据不存在!"); e != nil { return @@ -118,7 +118,7 @@ func (srv {{{ toCamelCase .EntityName }}}Service) Edit(editReq {{{ title (toCame } //Del {{{ .FunctionName }}}删除 -func (srv {{{ toCamelCase .EntityName }}}Service) Del(id uint) (e error) { +func (srv {{{ toCamelCase .EntityName }}}Service) Del(id int) (e error) { var obj {{{ title (toCamelCase .EntityName) }}} err := srv.db.Where("{{{ $.PrimaryKey }}} = ?{{{ if contains .AllFields "is_delete" }}} AND is_delete = ?{{{ end }}}", id{{{ if contains .AllFields "is_delete" }}}, 0{{{ end }}}).Limit(1).First(&obj).Error // 校验 diff --git a/server/generator/tpl.go b/server/generator/tpl.go index a91b070..75682cb 100644 --- a/server/generator/tpl.go +++ b/server/generator/tpl.go @@ -5,7 +5,6 @@ import ( "bytes" "fmt" "io" - "io/ioutil" "likeadmin/config" "likeadmin/core/response" "likeadmin/model/gen" @@ -137,7 +136,7 @@ func (tu templateUtil) PrepareVars(table gen.GenTable, columns []gen.GenTableCol GenTpl: table.GenTpl, TableName: table.TableName, AuthorName: table.AuthorName, - PackageName: config.GenConfig.PackageName, + PackageName: table.ModuleName, //config.GenConfig.PackageName, EntityName: table.EntityName, EntitySnakeName: util.StringUtil.ToSnakeCase(table.EntityName), ModuleName: table.ModuleName, @@ -204,14 +203,14 @@ func (tu templateUtil) GetGenPath(table gen.GenTable) string { func (tu templateUtil) GetFilePaths(tplCodeMap map[string]string, moduleName string) map[string]string { //模板文件对应的输出文件 fmtMap := map[string]string{ - "gocode/model.go.tpl": "gocode/%s/model.go", - "gocode/schema.go.tpl": "gocode/%s/schema.go", - "gocode/service.go.tpl": "gocode/%s/service.go", - "gocode/route.go.tpl": "gocode/%s/route.go", - "vue/api.ts.tpl": "vue/%s/api.ts", - "vue/edit.vue.tpl": "vue/%s/edit.vue", - "vue/index.vue.tpl": "vue/%s/index.vue", - "vue/index-tree.vue.tpl": "vue/%s/index-tree.vue", + "gocode/model.go.tpl": "server/model/%s/%s.go", + "gocode/schema.go.tpl": "server/admin/schemas/%s/%s.go", + "gocode/service.go.tpl": "server/admin/service/%s/%s.go", + "gocode/route.go.tpl": "server/admin/routers/%s/%s.go", + "vue/api.ts.tpl": "admin/src/api/%s.ts", + "vue/edit.vue.tpl": "admin/src/views/%s/edit.vue", + "vue/index.vue.tpl": "admin/src/views/%s/index.vue", + "vue/index-tree.vue.tpl": "admin/src/views/%s/index-tree.vue", } filePath := make(map[string]string) for tplPath, tplCode := range tplCodeMap { @@ -233,7 +232,7 @@ func (tu templateUtil) GenCodeFiles(tplCodeMap map[string]string, moduleName str return response.CheckErr(err, "TemplateUtil.GenCodeFiles MkdirAll err") } } - err := ioutil.WriteFile(filePath, []byte(tplCode), 0644) + err := os.WriteFile(filePath, []byte(tplCode), 0644) if err != nil { return response.CheckErr(err, "TemplateUtil.GenCodeFiles WriteFile err") } diff --git a/server/go.mod b/server/go.mod index 615c2a6..9d45d60 100644 --- a/server/go.mod +++ b/server/go.mod @@ -1,6 +1,8 @@ module likeadmin -go 1.18 +go 1.21 + +toolchain go1.21.3 require ( github.com/fatih/structs v1.1.0 @@ -19,11 +21,18 @@ require ( ) require ( + dario.cat/mergo v1.0.0 // indirect + github.com/bep/godartsass v1.2.0 // indirect + github.com/bep/godartsass/v2 v2.0.0 // indirect + github.com/bep/golibsass v1.1.1 // indirect github.com/bytedance/sonic v1.10.2 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect + github.com/cli/safeexec v1.0.1 // indirect + github.com/creack/pty v1.1.20 // indirect github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect + github.com/fatih/color v1.16.0 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/gabriel-vasile/mimetype v1.4.3 // indirect github.com/gin-contrib/sse v0.1.0 // indirect @@ -33,6 +42,7 @@ require ( github.com/go-playground/validator/v10 v10.16.0 // indirect github.com/go-sql-driver/mysql v1.7.1 // indirect github.com/goccy/go-json v0.10.2 // indirect + github.com/gohugoio/hugo v0.120.4 // indirect github.com/hashicorp/golang-lru v1.0.2 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/jinzhu/inflection v1.0.0 // indirect @@ -41,6 +51,7 @@ require ( github.com/klauspost/cpuid/v2 v2.2.6 // indirect github.com/leodido/go-urn v1.2.4 // indirect github.com/magiconair/properties v1.8.7 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect @@ -55,6 +66,7 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/subosito/gotenv v1.6.0 // indirect + github.com/tdewolff/parse/v2 v2.7.4 // indirect github.com/tklauser/go-sysconf v0.3.12 // indirect github.com/tklauser/numcpus v0.6.1 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect diff --git a/server/go.sum b/server/go.sum index 8517f05..5b9af6b 100644 --- a/server/go.sum +++ b/server/go.sum @@ -35,10 +35,18 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= +dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= +dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= +github.com/bep/godartsass v1.2.0 h1:E2VvQrxAHAFwbjyOIExAMmogTItSKodoKuijNrGm5yU= +github.com/bep/godartsass v1.2.0/go.mod h1:6LvK9RftsXMxGfsA0LDV12AGc4Jylnu6NgHL+Q5/pE8= +github.com/bep/godartsass/v2 v2.0.0 h1:Ruht+BpBWkpmW+yAM2dkp7RSSeN0VLaTobyW0CiSP3Y= +github.com/bep/godartsass/v2 v2.0.0/go.mod h1:AcP8QgC+OwOXEq6im0WgDRYK7scDsmZCEW62o1prQLo= +github.com/bep/golibsass v1.1.1 h1:xkaet75ygImMYjM+FnHIT3xJn7H0xBA9UxSOJjk8Khw= +github.com/bep/golibsass v1.1.1/go.mod h1:DL87K8Un/+pWUS75ggYv41bliGiolxzDKWJAq3eJ1MA= github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= github.com/bytedance/sonic v1.10.0-rc/go.mod h1:ElCzW+ufi8qKqNW0FY314xriJhyJhuoJ3gFZdAHF7NM= github.com/bytedance/sonic v1.10.2 h1:GQebETVBxYB7JGWJtLBi07OVzWwt+8dWA00gEVW2ZFE= @@ -58,11 +66,18 @@ github.com/chenzhuoyu/iasm v0.9.1/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLI github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/cli/safeexec v1.0.0/go.mod h1:Z/D4tTN8Vs5gXYHDCbaM1S/anmEDnJb1iW0+EJ5zx3Q= +github.com/cli/safeexec v1.0.1 h1:e/C79PbXF4yYTN/wauC4tviMxEV13BwljGj0N9j+N00= +github.com/cli/safeexec v1.0.1/go.mod h1:Z/D4tTN8Vs5gXYHDCbaM1S/anmEDnJb1iW0+EJ5zx3Q= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cosmtrek/air v1.49.0 h1:/LfwnLquRoRyUO/K+m/6N5YpUkxcKcDGq2dH7RYbT9c= +github.com/cosmtrek/air v1.49.0/go.mod h1:yOz9vy7edZ75KRN9+Ofqwm3OU0wuv4Csc+ikMeZxxS8= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.20 h1:VIPb/a2s17qNeQgDnkfZC35RScx+blkKF8GV68n80J4= +github.com/creack/pty v1.1.20/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -75,10 +90,15 @@ github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1m github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= +github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/frankban/quicktest v1.7.2/go.mod h1:jaStnuzAqU1AJdCO0l53JDCJrVDKcS03DbaAcR7Ks/o= +github.com/frankban/quicktest v1.14.2/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= +github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= @@ -127,6 +147,8 @@ github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/gohugoio/hugo v0.120.4 h1:AO/JFAHgrIKFnApCjpfQuyvI82t3yLgFZic4dg5l9OE= +github.com/gohugoio/hugo v0.120.4/go.mod h1:ZogFi7Iv3kRSSJDDguNsF219M4mGllg44IMvw/z/tEA= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -165,7 +187,9 @@ github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= @@ -233,6 +257,8 @@ github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamh github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= @@ -310,6 +336,9 @@ github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= +github.com/tdewolff/parse/v2 v2.7.4 h1:zrUn2CFg9+5llbUZcsycctFlNRyV1D5gFBZRxuGzdzk= +github.com/tdewolff/parse/v2 v2.7.4/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tklauser/go-sysconf v0.3.11 h1:89WgdJhk5SNwJfu+GKyYveZ4IaJ7xAkecBo+KdJV0CM= github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI= github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU= diff --git a/server/main.go b/server/main.go index 7b92ac4..52a7b71 100644 --- a/server/main.go +++ b/server/main.go @@ -1,34 +1,33 @@ package main import ( - "github.com/gin-gonic/gin" - adminRouters "likeadmin/admin/routers" - admin "likeadmin/admin/service" + "likeadmin/admin/routers" "likeadmin/config" "likeadmin/core" "likeadmin/core/response" - genRouters "likeadmin/generator/routers" - gen "likeadmin/generator/service" + gen_router "likeadmin/generator/routers" "likeadmin/middleware" "log" "net/http" "strconv" "time" + + "github.com/gin-gonic/gin" ) -//initDI 初始化DI -func initDI() { - regFunctions := admin.InitFunctions - regFunctions = append(regFunctions, gen.InitFunctions...) - regFunctions = append(regFunctions, core.GetDB) - for i := 0; i < len(regFunctions); i++ { - if err := core.ProvideForDI(regFunctions[i]); err != nil { - log.Fatalln(err) - } - } -} +// initDI 初始化DI +// func initDI() { +// regFunctions := admin.InitFunctions +// regFunctions = append(regFunctions, gen.InitFunctions...) +// regFunctions = append(regFunctions, core.GetDB) +// for i := 0; i < len(regFunctions); i++ { +// if err := core.ProvideForDI(regFunctions[i]); err != nil { +// log.Fatalln(err) +// } +// } +// } -//initRouter 初始化router +// initRouter 初始化router func initRouter() *gin.Engine { // 初始化gin gin.SetMode(config.Config.GinMode) @@ -47,20 +46,13 @@ func initRouter() *gin.Engine { router.NoRoute(response.NoRoute) // 注册路由 group := router.Group("/api") - //core.RegisterGroup(group, routers.CommonGroup, middleware.TokenAuth()) - //core.RegisterGroup(group, routers.MonitorGroup, middleware.TokenAuth()) - //core.RegisterGroup(group, routers.SettingGroup, middleware.TokenAuth()) - //core.RegisterGroup(group, routers.SystemGroup, middleware.TokenAuth()) - routers := adminRouters.InitRouters[:] - routers = append(routers, genRouters.InitRouters...) - for i := 0; i < len(routers); i++ { - core.RegisterGroup(group, routers[i]) - } + routers.RegisterGroup(group) + gen_router.RegisterGroup(group) return router } -//initServer 初始化server +// initServer 初始化server func initServer(router *gin.Engine) *http.Server { return &http.Server{ Addr: ":" + strconv.Itoa(config.Config.ServerPort), @@ -80,7 +72,7 @@ func main() { defer db.Close() } // 初始化DI - initDI() + // initDI() // 初始化router router := initRouter() // 初始化server -- Gitee From 36b40d47a09c5ec40588be3a9a2dc494f4da6cee Mon Sep 17 00:00:00 2001 From: xiangheng <11675084@qq.com> Date: Sun, 12 Nov 2023 01:42:39 +0800 Subject: [PATCH 10/41] =?UTF-8?q?=E6=B8=85=E7=90=86=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{views/product/api.ts => api/product.ts} | 0 .../dev_tools/components/code-preview.vue | 2 +- server/admin/routers/common/album.go | 18 -- server/admin/routers/common/index.go | 12 - server/admin/routers/common/upload.go | 12 - server/admin/routers/enter.go | 33 +-- server/admin/routers/monitor/monitor.go | 12 - server/admin/routers/product/route.go | 23 +- server/admin/routers/product/schema.go | 6 +- server/admin/routers/setting/copyright.go | 13 - server/admin/routers/setting/dict_data.go | 16 -- server/admin/routers/setting/dict_type.go | 16 -- server/admin/routers/setting/protocol.go | 12 - server/admin/routers/setting/storage.go | 15 -- server/admin/routers/setting/website.go | 12 - server/admin/routers/system/admin.go | 18 -- server/admin/routers/system/dept.go | 16 -- server/admin/routers/system/log.go | 13 - server/admin/routers/system/login.go | 13 - server/admin/routers/system/menu.go | 16 -- server/admin/routers/system/post.go | 16 -- server/admin/routers/system/role.go | 16 -- server/core/router.go | 43 ---- server/generator/routers/enter.go | 4 - server/generator/routers/gen/gen.go | 21 +- .../generator/templates/gocode/route.go.tpl | 37 ++- server/generator/templates/vue/edit.vue.tpl | 227 +++++++++--------- server/main.go | 16 +- 28 files changed, 155 insertions(+), 503 deletions(-) rename admin/src/{views/product/api.ts => api/product.ts} (100%) delete mode 100644 server/core/router.go diff --git a/admin/src/views/product/api.ts b/admin/src/api/product.ts similarity index 100% rename from admin/src/views/product/api.ts rename to admin/src/api/product.ts diff --git a/admin/src/views/dev_tools/components/code-preview.vue b/admin/src/views/dev_tools/components/code-preview.vue index b37c583..9c1aea4 100644 --- a/admin/src/views/dev_tools/components/code-preview.vue +++ b/admin/src/views/dev_tools/components/code-preview.vue @@ -1,6 +1,6 @@ diff --git a/server/generator/gen/schema.go b/server/generator/gen/schema.go index 4e504c6..dce5732 100644 --- a/server/generator/gen/schema.go +++ b/server/generator/gen/schema.go @@ -66,7 +66,7 @@ type EditTableReq struct { TableName string `form:"tableName" binding:"required,min=1,max=200"` // 表名称 EntityName string `form:"entityName" binding:"required,min=1,max=200"` // 实体名称 TableComment string `form:"tableComment" binding:"required,min=1,max=200"` // 表描述 - AuthorName string `form:"authorName" binding:"required,min=1,max=100"` // 作者名称 + AuthorName string `form:"authorName" binding:"max=100"` // 作者名称 Remarks string `form:"remarks" binding:"max=60"` // 备注信息 GenTpl string `form:"genTpl" binding:"oneof=crud tree"` // 生成模板方式: [crud=单表, tree=树表] ModuleName string `form:"moduleName" binding:"required,min=1,max=60"` // 生成模块名 diff --git a/server/util/verify.go b/server/util/verify.go index f861ce6..2343b0a 100644 --- a/server/util/verify.go +++ b/server/util/verify.go @@ -2,16 +2,17 @@ package util import ( "encoding/json" - "github.com/gin-gonic/gin" - "github.com/gin-gonic/gin/binding" - "io/ioutil" + "io" "likeadmin/core/response" "mime/multipart" + + "github.com/gin-gonic/gin" + "github.com/gin-gonic/gin/binding" ) var VerifyUtil = verifyUtil{} -//verifyUtil 参数验证工具类 +// verifyUtil 参数验证工具类 type verifyUtil struct{} func (vu verifyUtil) VerifyJSON(c *gin.Context, obj any) (e error) { @@ -23,7 +24,7 @@ func (vu verifyUtil) VerifyJSON(c *gin.Context, obj any) (e error) { } func (vu verifyUtil) VerifyJSONArray(c *gin.Context, obj any) (e error) { - body, err := ioutil.ReadAll(c.Request.Body) + body, err := io.ReadAll(c.Request.Body) if err != nil { e = response.ParamsValidError.MakeData(err.Error()) return -- Gitee From 8d18445981f4d7a45198ff74d720e2b939faaab6 Mon Sep 17 00:00:00 2001 From: xiangheng <11675084@qq.com> Date: Sun, 19 Nov 2023 22:36:14 +0800 Subject: [PATCH 21/41] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/install.sql | 733 ---------------------------------------------- sql/likeadmin.sql | 273 +++++++++++++++++ 2 files changed, 273 insertions(+), 733 deletions(-) delete mode 100644 sql/install.sql create mode 100644 sql/likeadmin.sql diff --git a/sql/install.sql b/sql/install.sql deleted file mode 100644 index f82885a..0000000 --- a/sql/install.sql +++ /dev/null @@ -1,733 +0,0 @@ -SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; - --- ---------------------------- --- Table structure for la_album --- ---------------------------- -DROP TABLE IF EXISTS `la_album`; -CREATE TABLE `la_album` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `cid` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '类目ID', - `aid` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '管理员ID', - `uid` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户ID', - `type` tinyint(2) UNSIGNED NOT NULL DEFAULT 10 COMMENT '文件类型: [10=图片, 20=视频]', - `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '文件名称', - `uri` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文件路径', - `ext` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '文件扩展', - `size` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '文件大小', - `is_delete` int(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除: 0=否, 1=是', - `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', - `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', - `delete_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '删除时间', - PRIMARY KEY (`id`) USING BTREE, - INDEX `idx_cid`(`cid`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '相册管理表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_album_cate --- ---------------------------- -DROP TABLE IF EXISTS `la_album_cate`; -CREATE TABLE `la_album_cate` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `pid` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '父级ID', - `type` tinyint(2) UNSIGNED NOT NULL DEFAULT 10 COMMENT '类型: [10=图片, 20=视频]', - `name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '分类名称', - `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除: [0=否, 1=是]', - `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', - `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', - `delete_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '删除时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '相册分类表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_article --- ---------------------------- -DROP TABLE IF EXISTS `la_article`; -CREATE TABLE `la_article` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', - `cid` int(10) UNSIGNED NOT NULL COMMENT '分类', - `title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '标题', - `intro` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '简介', - `summary` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '摘要', - `image` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '封面', - `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '内容', - `author` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '作者', - `visit` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '浏览', - `sort` int(10) UNSIGNED NOT NULL DEFAULT 50 COMMENT '排序', - `is_show` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否显示: 0=否, 1=是', - `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除: 0=否, 1=是', - `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', - `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', - `delete_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '删除时间', - PRIMARY KEY (`id`) USING BTREE, - INDEX `cid_idx`(`cid`) USING BTREE COMMENT '分类索引' -) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文章资讯表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_article_category --- ---------------------------- -DROP TABLE IF EXISTS `la_article_category`; -CREATE TABLE `la_article_category` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', - `name` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '名称', - `sort` smallint(5) UNSIGNED NOT NULL DEFAULT 50 COMMENT '排序', - `is_show` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '是否显示: 0=否, 1=是', - `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除: 0=否, 1=是', - `create_time` int(10) UNSIGNED NULL DEFAULT 0 COMMENT '创建时间', - `update_time` int(10) UNSIGNED NULL DEFAULT 0 COMMENT '更新时间', - `delete_time` int(10) UNSIGNED NULL DEFAULT 0 COMMENT '删除时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文章分类表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_article_collect --- ---------------------------- -DROP TABLE IF EXISTS `la_article_collect`; -CREATE TABLE `la_article_collect` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', - `user_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户ID', - `article_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '文章ID', - `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除', - `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', - `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', - `delete_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文章收藏表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_decorate_page --- ---------------------------- -DROP TABLE IF EXISTS `la_decorate_page`; -CREATE TABLE `la_decorate_page` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', - `page_type` tinyint(2) UNSIGNED NOT NULL DEFAULT 10 COMMENT '页面类型', - `page_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '页面名称', - `page_data` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '页面数据', - `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', - `update_time` int(10) UNSIGNED NOT NULL COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '页面装修表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_decorate_tabbar --- ---------------------------- -DROP TABLE IF EXISTS `la_decorate_tabbar`; -CREATE TABLE `la_decorate_tabbar` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', - `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '导航名称', - `selected` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '未选图标', - `unselected` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '已选图标', - `link` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '链接地址', - `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', - `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '底部装修表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_dict_data --- ---------------------------- -DROP TABLE IF EXISTS `la_dict_data`; -CREATE TABLE `la_dict_data` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', - `type_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '类型', - `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '键名', - `value` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数值', - `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '备注', - `sort` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '排序', - `status` tinyint(1) NOT NULL COMMENT '状态: 0=停用, 1=正常', - `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除: 0=否, 1=是', - `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', - `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', - `delete_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '删除时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典数据表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_dict_type --- ---------------------------- -DROP TABLE IF EXISTS `la_dict_type`; -CREATE TABLE `la_dict_type` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', - `dict_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '字典名称', - `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '字典类型', - `dict_remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '字典备注', - `dict_status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '字典状态: 0=停用, 1=正常', - `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除: 0=否, 1=是', - `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', - `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', - `delete_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '删除时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典类型表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_gen_table --- ---------------------------- -DROP TABLE IF EXISTS `la_gen_table`; -CREATE TABLE `la_gen_table` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', - `table_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '表名称', - `table_comment` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '表描述', - `sub_table_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '关联表名称', - `sub_table_fk` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '关联表外键', - `author_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '作者的名称', - `entity_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '实体的名称', - `module_name` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '生成模块名', - `function_name` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '生成功能名', - `tree_primary` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '树主键字段', - `tree_parent` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '树父级字段', - `tree_name` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '树显示字段', - `gen_tpl` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'crud' COMMENT '生成模板方式: [crud=单表, tree=树表]', - `gen_type` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '生成代码方式: [0=zip压缩包, 1=自定义路径]', - `gen_path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '/' COMMENT '生成代码路径: [不填默认项目路径]', - `remarks` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '备注信息', - `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', - `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成业务表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_gen_table_column --- ---------------------------- -DROP TABLE IF EXISTS `la_gen_table_column`; -CREATE TABLE `la_gen_table_column` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '列主键', - `table_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '表外键', - `column_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '列名称', - `column_comment` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '列描述', - `column_length` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '列长度', - `column_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '列类型 ', - `go_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'go类型', - `go_field` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'go字段', - `is_pk` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否主键: [1=是, 0=否]', - `is_increment` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否自增: [1=是, 0=否]', - `is_required` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否必填: [1=是, 0=否]', - `is_insert` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否插入字段: [1=是, 0=否]', - `is_edit` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否编辑字段: [1=是, 0=否]', - `is_list` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否列表字段: [1=是, 0=否]', - `is_query` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否查询字段: [1=是, 0=否]', - `query_type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'EQ' COMMENT '查询方式: [等于、不等于、大于、小于、范围]', - `html_type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '显示类型: [文本框、文本域、下拉框、复选框、单选框、日期控件]', - `dict_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '字典类型', - `sort` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '排序编号', - `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', - `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成字段表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_hot_search --- ---------------------------- -DROP TABLE IF EXISTS `la_hot_search`; -CREATE TABLE `la_hot_search` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', - `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '关键词', - `sort` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '排序号', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '热门搜索配置表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_notice_setting --- ---------------------------- -DROP TABLE IF EXISTS `la_notice_setting`; -CREATE TABLE `la_notice_setting` ( - `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, - `scene` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '场景编号', - `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '场景名称', - `remarks` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '场景描述', - `recipient` tinyint(1) NOT NULL DEFAULT 1 COMMENT '接收人员: [1=用户, 2=平台]', - `type` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '通知类型: [1=业务, 2=验证]', - `system_notice` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '系统的通知设置', - `sms_notice` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '短信的通知设置', - `oa_notice` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '公众号通知设置', - `mnp_notice` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '小程序通知设置', - `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除', - `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', - `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', - `delete_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '删除时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息通知设置表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_official_reply --- ---------------------------- -DROP TABLE IF EXISTS `la_official_reply`; -CREATE TABLE `la_official_reply` ( - `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '规则名', - `keyword` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '关键词', - `reply_type` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '回复类型: [1=关注回复 2=关键字回复, 3=默认回复]', - `matching_type` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '匹配方式: [1=全匹配, 2=模糊匹配]', - `content_type` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '内容类型: [1=文本]', - `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '启动状态: [1=启动, 0=关闭]', - `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '回复内容', - `sort` int(11) UNSIGNED NOT NULL DEFAULT 50 COMMENT '排序编号', - `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除', - `create_time` int(10) UNSIGNED NULL DEFAULT 0 COMMENT '创建时间', - `update_time` int(10) UNSIGNED NULL DEFAULT 0 COMMENT '更新时间', - `delete_time` int(10) UNSIGNED NULL DEFAULT 0 COMMENT '删除时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '公众号的回复表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_system_auth_admin --- ---------------------------- -DROP TABLE IF EXISTS `la_system_auth_admin`; -CREATE TABLE `la_system_auth_admin` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', - `dept_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '部门ID', - `post_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '岗位ID', - `username` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '用户账号', - `nickname` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '用户昵称', - `password` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '用户密码', - `avatar` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '用户头像', - `role` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '角色主键', - `salt` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '加密盐巴', - `sort` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '排序编号', - `is_multipoint` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '多端登录: 0=否, 1=是', - `is_disable` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否禁用: 0=否, 1=是', - `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除: 0=否, 1=是', - `last_login_ip` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '最后登录IP', - `last_login_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '最后登录', - `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', - `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', - `delete_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '删除时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统管理成员表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_system_auth_dept --- ---------------------------- -DROP TABLE IF EXISTS `la_system_auth_dept`; -CREATE TABLE `la_system_auth_dept` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', - `pid` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '上级主键', - `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '部门名称', - `duty` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '负责人名', - `mobile` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '联系电话', - `sort` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '排序编号', - `is_stop` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否禁用: 0=否, 1=是', - `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除: 0=否, 1=是', - `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', - `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', - `delete_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '删除时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统部门管理表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_system_auth_menu --- ---------------------------- -DROP TABLE IF EXISTS `la_system_auth_menu`; -CREATE TABLE `la_system_auth_menu` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', - `pid` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '上级菜单', - `menu_type` char(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '权限类型: M=目录,C=菜单,A=按钮', - `menu_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '菜单名称', - `menu_icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '菜单图标', - `menu_sort` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '菜单排序', - `perms` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '权限标识', - `paths` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '路由地址', - `component` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '前端组件', - `selected` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '选中路径', - `params` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '路由参数', - `is_cache` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否缓存: 0=否, 1=是', - `is_show` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '是否显示: 0=否, 1=是', - `is_disable` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否禁用: 0=否, 1=是', - `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', - `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 775 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统菜单管理表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_system_auth_perm --- ---------------------------- -DROP TABLE IF EXISTS `la_system_auth_perm`; -CREATE TABLE `la_system_auth_perm` ( - `id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '主键', - `role_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '角色ID', - `menu_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '菜单ID', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统角色菜单表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_system_auth_post --- ---------------------------- -DROP TABLE IF EXISTS `la_system_auth_post`; -CREATE TABLE `la_system_auth_post` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', - `code` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '岗位编码', - `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '岗位名称', - `remarks` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '岗位备注', - `sort` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '岗位排序', - `is_stop` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否停用: 0=否, 1=是', - `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除: 0=否, 1=是', - `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', - `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', - `delete_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '删除时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统岗位管理表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_system_auth_role --- ---------------------------- -DROP TABLE IF EXISTS `la_system_auth_role`; -CREATE TABLE `la_system_auth_role` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', - `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '角色名称', - `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '备注信息', - `sort` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '角色排序', - `is_disable` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否禁用: 0=否, 1=是', - `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', - `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统角色管理表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_system_config --- ---------------------------- -DROP TABLE IF EXISTS `la_system_config`; -CREATE TABLE `la_system_config` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', - `type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '类型', - `name` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '键', - `value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '值', - `create_time` int(10) UNSIGNED NULL DEFAULT 0 COMMENT '创建时间', - `update_time` int(10) UNSIGNED NULL DEFAULT 0 COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统全局配置表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_system_log_login --- ---------------------------- -DROP TABLE IF EXISTS `la_system_log_login`; -CREATE TABLE `la_system_log_login` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '注解', - `admin_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '管理员ID', - `username` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '登录账号', - `ip` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '登录地址', - `os` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '操作系统', - `browser` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '浏览器', - `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '操作状态: 1=成功, 2=失败', - `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统登录日志表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_system_log_operate --- ---------------------------- -DROP TABLE IF EXISTS `la_system_log_operate`; -CREATE TABLE `la_system_log_operate` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', - `admin_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '操作人ID', - `type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '请求类型: GET/POST/PUT', - `title` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '操作标题', - `ip` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '请求IP', - `url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '请求接口', - `method` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '请求方法', - `args` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '请求参数', - `error` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '错误信息', - `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '执行状态: 1=成功, 2=失败', - `start_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '开始时间', - `end_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '结束时间', - `task_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '执行耗时', - `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统操作日志表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_system_log_sms --- ---------------------------- -DROP TABLE IF EXISTS `la_system_log_sms`; -CREATE TABLE `la_system_log_sms` ( - `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id', - `scene` int(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '场景编号', - `mobile` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '手机号码', - `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '发送内容', - `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '发送状态:[0=发送中, 1=发送成功, 2=发送失败]', - `results` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '短信结果', - `send_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '发送时间', - `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', - `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统短信日志表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_user --- ---------------------------- -DROP TABLE IF EXISTS `la_user`; -CREATE TABLE `la_user` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', - `sn` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '编号', - `avatar` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '头像', - `real_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '真实姓名', - `nickname` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '用户昵称', - `username` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '用户账号', - `password` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '用户密码', - `mobile` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '用户电话', - `salt` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '加密盐巴', - `sex` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户性别: [1=男, 2=女]', - `channel` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '注册渠道: [1=微信小程序, 2=微信公众号, 3=手机H5, 4=电脑PC, 5=苹果APP, 6=安卓APP]', - `is_disable` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否禁用: [0=否, 1=是]', - `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除: [0=否, 1=是]', - `last_login_ip` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '最后登录IP', - `last_login_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '最后登录时间', - `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', - `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', - `delete_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '删除时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户信息表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Table structure for la_user_auth --- ---------------------------- -DROP TABLE IF EXISTS `la_user_auth`; -CREATE TABLE `la_user_auth` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', - `user_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户ID', - `openid` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Openid', - `unionid` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Unionid', - `client` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '客户端类型: [1=微信小程序, 2=微信公众号, 3=手机H5, 4=电脑PC, 5=苹果APP, 6=安卓APP]', - `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', - `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `openid`(`openid`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户授权表' ROW_FORMAT = Dynamic; - -SET FOREIGN_KEY_CHECKS = 1; - --- ---------------------------- --- INSERT --- ---------------------------- -BEGIN; -INSERT INTO `la_system_auth_dept` VALUES (1, 0, '默认部门', '康明', '18327647788', 10, 0, 0, 1649841995, 1660190949, 0); -INSERT INTO `la_system_auth_admin` VALUES (1, 1, 0, 'admin', 'admin', '7fac2474740becfaf1ecbdd6cc8fb076', '/api/static/backend_avatar.png', '0', '5Xar0', 0, 1, 0, 0, '127.0.0.1', 1660641347, 1642321599, 1660287325, 0); -INSERT INTO `la_system_auth_role` VALUES (1, '审核员', '审核数据', 0, 0, 1668679451, 1668679468); -COMMIT; - -BEGIN; -INSERT INTO `la_system_config` VALUES (1, 'storage', 'default', 'local', 1660620367, 1662620927); -INSERT INTO `la_system_config` VALUES (2, 'storage', 'local', '{\"name\":\"本地存储\"}', 1660620367, 1662620927); -INSERT INTO `la_system_config` VALUES (3, 'storage', 'qiniu', '{\"name\":\"七牛云存储\",\"bucket\":\"\",\"secretKey\":\"\",\"accessKey\":\"\",\"domain\":\"\"}', 1660620367, 1660620367); -INSERT INTO `la_system_config` VALUES (4, 'storage', 'aliyun', '{\"name\":\"阿里云存储\",\"bucket\":\"\",\"secretKey\":\"\",\"accessKey\":\"\",\"domain\":\"\"}', 1660620367, 1662620071); -INSERT INTO `la_system_config` VALUES (5, 'storage', 'qcloud', '{\"name\":\"腾讯云存储\",\"bucket\":\"\",\"secretKey\":\"\",\"accessKey\":\"\",\"domain\":\"\",\"region\":\"\"}', 1660620367, 1660620367); -INSERT INTO `la_system_config` VALUES (6, 'sms', 'default', 'aliyun', 1660620367, 1660620367); -INSERT INTO `la_system_config` VALUES (7, 'sms', 'aliyun', '{\"name\":\"阿里云短信\",\"alias\":\"aliyun\",\"sign\":\"\",\"appKey\":\"\",\"secretKey\":\"\"}', 1660620367, 1660620367); -INSERT INTO `la_system_config` VALUES (8, 'sms', 'tencent', '{\"name\":\"腾讯云短信\",\"alias\":\"tencent\",\"sign\":\"\",\"appId\":\"\",\"secretId\":\"\",\"secretKey\":\"\"}', 1660620367, 1660620367); -INSERT INTO `la_system_config` VALUES (9, 'sms', 'huawei', '{\"name\":\"华为云短信\",\"alias\":\"huawei\"}', 1660620367, 1660620367); -INSERT INTO `la_system_config` VALUES (10, 'website', 'name', 'LikeAdmin开源后台', 1660620367, 1660620367); -INSERT INTO `la_system_config` VALUES (11, 'website', 'logo', '/api/static/backend_logo.png', 1660620367, 1660620367); -INSERT INTO `la_system_config` VALUES (12, 'website', 'favicon', '/api/static/backend_favicon.ico', 1660620367, 1660620367); -INSERT INTO `la_system_config` VALUES (13, 'website', 'backdrop', '/api/static/backend_backdrop.png', 1660620367, 1660620367); -INSERT INTO `la_system_config` VALUES (14, 'website', 'copyright', '[{\"name\":\"LikeAdmin开源系统\",\"link\":\"http://www.beian.gov.cn\"}]', 1660620367, 1660620367); -INSERT INTO `la_system_config` VALUES (15, 'website', 'shopName', 'LikeAdmin开源系统', 1631255140, 1631255140); -INSERT INTO `la_system_config` VALUES (16, 'website', 'shopLogo', '/api/static/shop_logo.png', 1631255140, 1631255140); -INSERT INTO `la_system_config` VALUES (17, 'protocol', 'service', '{\"name\":\"服务协议\",\"content\":\"\"}', 1660620367, 1660620367); -INSERT INTO `la_system_config` VALUES (18, 'protocol', 'privacy', '{\"name\":\"隐私协议\",\"content\":\"\"}', 1660620367, 1660620367); -INSERT INTO `la_system_config` VALUES (19, 'tabbar', 'style', '{\"defaultColor\":\"#4A5DFF\",\"selectedColor\":\"#EA5455\"}', 1660620367, 1662544900); -INSERT INTO `la_system_config` VALUES (20, 'search', 'isHotSearch', '0', 1660620367, 1662546997); -INSERT INTO `la_system_config` VALUES (30, 'h5_channel', 'status', '1', 1660620367, 1660620367); -INSERT INTO `la_system_config` VALUES (31, 'h5_channel', 'close', '0', 1660620367, 1660620367); -INSERT INTO `la_system_config` VALUES (32, 'h5_channel', 'url', '', 1660620367, 1660620367); -INSERT INTO `la_system_config` VALUES (40, 'mp_channel', 'name', '', 1660620367, 1662551403); -INSERT INTO `la_system_config` VALUES (41, 'mp_channel', 'primaryId', '', 1660620367, 1662551403); -INSERT INTO `la_system_config` VALUES (42, 'mp_channel', 'appId', '', 1660620367, 1662551403); -INSERT INTO `la_system_config` VALUES (43, 'mp_channel', 'appSecret', '', 1660620367, 1662551403); -INSERT INTO `la_system_config` VALUES (44, 'mp_channel', 'qrCode', '', 1660620367, 1662551403); -INSERT INTO `la_system_config` VALUES (50, 'wx_channel', 'appId', '', 1660620367, 1660620367); -INSERT INTO `la_system_config` VALUES (51, 'wx_channel', 'appSecret', '', 1660620367, 1660620367); -INSERT INTO `la_system_config` VALUES (55, 'oa_channel', 'name', '', 1660620367, 1662551337); -INSERT INTO `la_system_config` VALUES (56, 'oa_channel', 'primaryId', ' ', 1660620367, 1662551337); -INSERT INTO `la_system_config` VALUES (57, 'oa_channel', 'qrCode', '', 1662551337, 1662551337); -INSERT INTO `la_system_config` VALUES (58, 'oa_channel', 'appId', '', 1660620367, 1662551337); -INSERT INTO `la_system_config` VALUES (59, 'oa_channel', 'appSecret', '', 1660620367, 1662551337); -INSERT INTO `la_system_config` VALUES (60, 'oa_channel', 'url', '', 1660620367, 1662551337); -INSERT INTO `la_system_config` VALUES (61, 'oa_channel', 'token', '', 1660620367, 1662551337); -INSERT INTO `la_system_config` VALUES (62, 'oa_channel', 'encodingAesKey', '', 1660620367, 1662551337); -INSERT INTO `la_system_config` VALUES (63, 'oa_channel', 'encryptionType', '1', 1660620367, 1662551337); -INSERT INTO `la_system_config` VALUES (64, 'oa_channel', 'menus', '[]', 1631255140, 1663118712); -INSERT INTO `la_system_config` VALUES (70, 'login', 'loginWay', '1,2', 1660620367, 1662538771); -INSERT INTO `la_system_config` VALUES (71, 'login', 'forceBindMobile', '0', 1660620367, 1662538771); -INSERT INTO `la_system_config` VALUES (72, 'login', 'openAgreement', '1', 1660620367, 1662538771); -INSERT INTO `la_system_config` VALUES (73, 'login', 'openOtherAuth', '1', 1660620367, 1662538771); -INSERT INTO `la_system_config` VALUES (74, 'login', 'autoLoginAuth', '1,2', 1660620367, 1662538771); -INSERT INTO `la_system_config` VALUES (80, 'user', 'defaultAvatar', '/api/static/default_avatar.png', 1660620367, 1662535156); -COMMIT; - -BEGIN; -INSERT INTO `la_notice_setting` VALUES (1, 101, '登录验证码', '用户手机号码登录时发送', 1, 2, '{}', '{\"type\":\"sms\",\"templateId\":\"SMS_222458159\",\"content\":\"您正在登录,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。\",\"tips\":[\"可选变量 验证码:code\",\"示例:您正在登录,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。\",\"生效条件:1、管理后台完成短信设置。2、第三方短信平台申请模板。\"],\"status\":\"1\"}', '{}', '{}', 0, 1648696695, 1648696695, 0); -INSERT INTO `la_notice_setting` VALUES (2, 102, '绑定手机验证码', '用户绑定手机号码时发送', 1, 2, '{}', '{\"type\":\"sms\",\"templateId\":\"SMS_175615069\",\"content\":\"您正在绑定手机号,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。\",\"tips\":[\"可选变量 验证码:code\",\"示例:您正在绑定手机号,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。\",\"生效条件:1、管理后台完成短信设置。2、第三方短信平台申请模板。\"],\"status\":\"1\"}', '{}', '{}', 0, 1648696695, 1648696695, 0); -INSERT INTO `la_notice_setting` VALUES (3, 103, '变更手机验证码', '用户变更手机号码时发送', 1, 2, '{}', '{\"type\":\"sms\",\"templateId\":\"SMS_207952628\",\"content\":\"您正在变更手机号,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。\",\"tips\":[\"可选变量 验证码:code\",\"示例:您正在变更手机号,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。\",\"生效条件:1、管理后台完成短信设置。2、第三方短信平台申请模板。\"],\"status\":\"1\"}', '{}', '{}', 0, 1648696695, 1648696695, 0); -INSERT INTO `la_notice_setting` VALUES (4, 104, '找回登录密码验证码', '用户找回登录密码号码时发送', 1, 2, '{}', '{\"type\":\"sms\",\"templateId\":\"SMS_175615069\",\"content\":\"您正在找回登录密码,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。\",\"tips\":[\"可选变量 验证码:code\",\"示例:您正在找回登录密码,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。\",\"条验证码有效期5分钟。\"],\"status\":\"1\"}', '{}', '{}', 0, 1648696695, 1648696695, 0); -COMMIT; - -BEGIN; -INSERT INTO `la_decorate_tabbar` VALUES (13, '首页', '/api/static/tabbar_home_sel.png', '/api/static/tabbar_home.png', '{\"path\":\"/pages/index/index\",\"name\":\"商城首页\",\"type\":\"shop\"}', 1662688157, 1662688157); -INSERT INTO `la_decorate_tabbar` VALUES (14, '资讯', '/api/static/tabbar_text_sel.png', '/api/static/tabbar_text.png', '{\"path\":\"/pages/news/news\",\"name\":\"文章资讯\",\"type\":\"shop\"}', 1662688157, 1662688157); -INSERT INTO `la_decorate_tabbar` VALUES (15, '我的', '/api/static/tabbar_me_sel.png', '/api/static/tabbar_me.png', '{\"path\":\"/pages/user/user\",\"name\":\"个人中心\",\"type\":\"shop\"}', 1662688157, 1662688157); -COMMIT; - -BEGIN; -INSERT INTO `la_decorate_page` VALUES (1, 1, '商城首页', '[{\"title\":\"搜索\",\"name\":\"search\",\"disabled\":1,\"content\":{},\"styles\":{}},{\"title\":\"首页轮播图\",\"name\":\"banner\",\"content\":{\"enabled\":1,\"data\":[{\"image\":\"/api/static/banner01.png\",\"name\":\"\",\"link\":{\"path\":\"/pages/index/index\",\"name\":\"商城首页\",\"type\":\"shop\"}},{\"image\":\"/api/static/banner02.png\",\"name\":\"\",\"link\":{}}]},\"styles\":{}},{\"title\":\"导航菜单\",\"name\":\"nav\",\"content\":{\"enabled\":1,\"data\":[{\"image\":\"/api/static/nav01.png\",\"name\":\"资讯中心\",\"link\":{\"path\":\"/pages/news/news\",\"name\":\"文章资讯\",\"type\":\"shop\"}},{\"image\":\"/api/static/nav02.png\",\"name\":\"我的收藏\",\"link\":{\"path\":\"/pages/collection/collection\",\"name\":\"我的收藏\",\"type\":\"shop\"}},{\"image\":\"/api/static/nav03.png\",\"name\":\"个人设置\",\"link\":{\"path\":\"/pages/user_set/user_set\",\"name\":\"个人设置\",\"type\":\"shop\"}},{\"image\":\"/api/static/nav04.png\",\"name\":\"联系客服\",\"link\":{\"path\":\"/pages/customer_service/customer_service\",\"name\":\"联系客服\",\"type\":\"shop\"}},{\"image\":\"/api/static/nav05.png\",\"name\":\"关于我们\",\"link\":{\"path\":\"/pages/as_us/as_us\",\"name\":\"关于我们\",\"type\":\"shop\"}}]},\"styles\":{}},{\"id\":\"l84almsk2uhyf\",\"title\":\"资讯\",\"name\":\"news\",\"disabled\":1,\"content\":{},\"styles\":{}}]', 1661757188, 1663321380); -INSERT INTO `la_decorate_page` VALUES (2, 2, '个人中心', '[{\"title\":\"用户信息\",\"name\":\"user-info\",\"disabled\":1,\"content\":{},\"styles\":{}},{\"title\":\"我的服务\",\"name\":\"my-service\",\"content\":{\"style\":2,\"title\":\"服务中心\",\"data\":[{\"image\":\"/api/static/user_collect.png\",\"name\":\"我的收藏\",\"link\":{\"path\":\"/pages/collection/collection\",\"name\":\"我的收藏\",\"type\":\"shop\"}},{\"image\":\"/api/static/user_setting.png\",\"name\":\"个人设置\",\"link\":{\"path\":\"/pages/user_set/user_set\",\"name\":\"个人设置\",\"type\":\"shop\"}},{\"image\":\"/api/static/user_kefu.png\",\"name\":\"联系客服\",\"link\":{\"path\":\"/pages/customer_service/customer_service\",\"name\":\"联系客服\",\"type\":\"shop\"}}]},\"styles\":{}},{\"title\":\"个人中心广告图\",\"name\":\"user-banner\",\"content\":{\"enabled\":1,\"data\":[{\"image\":\"/api/static/ad01.jpg\",\"name\":\"\",\"link\":{}}]},\"styles\":{}}]', 1661757188, 1663320728); -INSERT INTO `la_decorate_page` VALUES (3, 3, '客服设置', '[{\"title\":\"客服设置\",\"name\":\"customer-service\",\"content\":{\"title\":\"添加客服二维码\",\"time\":\"早上 9:00 - 22:00\",\"mobile\":\"13800138000\",\"qrcode\":\"\"},\"styles\":{}}]', 1661757188, 1662689155); -COMMIT; - -BEGIN; -INSERT INTO `la_article_category` VALUES (1, '文章资讯', 0, 1, 0, 1663317280, 1663317282, 0); -INSERT INTO `la_article_category` VALUES (2, '社会热点', 0, 1, 0, 1663321464, 1663321494, 0); -COMMIT; - -BEGIN; -INSERT INTO `la_article` VALUES (1, 1, '让生活更精致!五款居家好物推荐,实用性超高', '##好物推荐🔥', '随着当代生活节奏的忙碌,很多人在闲暇之余都想好好的享受生活。随着科技的发展,也出现了越来越多可以帮助我们提升幸福感,让生活变得更精致的产品,下面周周就给大家盘点五款居家必备的好物,都是实用性很高的产品,周周可以保证大家买了肯定会喜欢。', '/api/static/article01.png', '

\"\"

拥有一台投影仪,闲暇时可以在家里直接看影院级别的大片,光是想想都觉得超级爽。市面上很多投影仪大几千,其实周周觉得没必要,选泰捷这款一千多的足够了,性价比非常高。

泰捷的专业度很高,在电视TV领域研发已经十年,有诸多专利和技术创新,荣获国内外多项技术奖项,拿下了腾讯创新工场投资,打造的泰捷视频TV端和泰捷电视盒子都获得了极高评价。

这款投影仪的分辨率在3000元内无敌,做到了真1080P高分辨率,也就是跟市场售价三千DLP投影仪一样的分辨率,真正做到了分毫毕现,像桌布的花纹、天空的云彩等,这些细节都清晰可见。

亮度方面,泰捷达到了850ANSI流明,同价位一般是200ANSI。这是因为泰捷为了提升亮度和LCD技术透射率低的问题,首创高功率LED灯源,让其亮度做到同价位最好。专业媒体也进行了多次对比,效果与3000元价位投影仪相当。

操作系统周周也很喜欢,完全不卡。泰捷作为资深音视频品牌,在系统优化方面有十年的研发经验,打造出的“零极”系统是业内公认效率最高、速度最快的系统,用户也评价它流畅度能一台顶三台,而且为了解决行业广告多这一痛点,系统内不植入任何广告。

', '红花', 9, 0, 1, 0, 1663317759, 1663322726, 0); -INSERT INTO `la_article` VALUES (2, 1, '埋葬UI设计师的坟墓不是内卷,而是免费模式', '', '本文从另外一个角度,聊聊作者对UI设计师职业发展前景的担忧,欢迎从事UI设计的同学来参与讨论,会有赠书哦', '/api/static/article02.jpeg', '


一个职业,卷,根本就没什么大不了的,尤其是成熟且收入高的职业,不卷才不符合事物发展的规律。何况 UI 设计师的人力市场到今天也和 5 年前一样,还是停留在大型菜鸡互啄的场面。远不能和医疗、证券、教师或者演艺练习生相提并论。

真正会让我对 UI 设计师发展前景觉得悲观的事情就只有一件 —— 国内的互联网产品免费机制。这也是一个我一直以来想讨论的话题,就在这次写一写。

国内互联网市场的发展,是一部浩瀚的 “免费经济” 发展史。虽然今天免费已经是深入国内民众骨髓的认知,但最早的中文互联网也是需要付费的,网游也都是要花钱的。

只是自有国情在此,付费确实阻碍了互联网行业的扩张和普及,一批创业家就开始通过免费的模式为用户提供服务,从而扩大了自己的产品覆盖面和普及程度。

印象最深的就是免费急先锋周鸿祎,和现在鲜少出现在公众视野不同,一零年前他是当之无愧的互联网教主,因为他开发出了符合中国国情的互联网产品 “打法”,让 360 的发展如日中天。

就是他在自传中提到:

只要是在互联网上每个人都需要的服务,我们就认为它是基础服务,基础服务一定是免费的,这样的话不会形成价值歧视。就是说,只要这种服务是每个人都一定要用的,我一定免费提供,而且是无条件免费。增值服务不是所有人都需要的,这个比例可能会相当低,它只是百分之几甚至更少比例的人需要,所以这种服务一定要收费……

这就是互联网的游戏规则,它决定了要想建立一个有效的商业模式,就一定要有海量的用户基数……

', '一一', 23, 0, 1, 0, 1663320938, 1663322854, 0); -INSERT INTO `la_article` VALUES (3, 2, '金山电池公布“沪广深市民绿色生活方式”调查结果', '', '60%以上受访者认为高质量的10分钟足以完成“自我充电”', '/api/static/article03.png', '

深圳,2021年10月22日)生活在一线城市的沪广深市民一向以效率见称,工作繁忙和快节奏的生活容易缺乏充足的休息。近日,一项针对沪广深市民绿色生活方式而展开的网络问卷调查引起了大家的注意。问卷的问题设定集中于市民对休息时间的看法,以及从对循环充电电池的使用方面了解其对绿色生活方式的态度。该调查采用随机抽样的模式,并对最终收集的1,500份有效问卷进行专业分析后发现,超过60%的受访者表示,在每天的工作时段能拥有10分钟高质量的休息时间,就可以高效“自我充电”。该调查结果反映出,在快节奏时代下,人们需要高质量的休息时间,也要学会利用高效率的休息方式和工具来应对快节奏的生活,以时刻保持“满电”状态。

  60%以上受访者认为高质量的10分钟足以完成“自我充电”

  这次调查超过1,500人,主要聚焦18至85岁的沪广深市民,了解他们对于休息时间的观念及使用充电电池的习惯,结果发现:

  · 90%以上有工作受访者每天工作时间在7小时以上,平均工作时间为8小时,其中43%以上的受访者工作时间超过9小时

  · 70%受访者认为在工作期间拥有10分钟“自我充电”时间不是一件困难的事情

  · 60%受访者认为在工作期间有10分钟休息时间足以为自己快速充电

  临床心理学家黄咏诗女士在发布会上分享为自己快速充电的实用技巧,她表示:“事实上,只要选择正确的休息方法,10分钟也足以为自己充电。以喝咖啡为例,我们可以使用心灵休息法 ── 静观呼吸,慢慢感受咖啡的温度和气味,如果能配合着聆听流水或海洋的声音,能够有效放松大脑及心灵。”

  这次调查结果反映出沪广深市民的希望在繁忙的工作中适时停下来,抽出10分钟喝杯咖啡、聆听音乐或小睡片刻,为自己充电。金山电池全新推出的“绿再十分充”超快速充电器仅需10分钟就能充好电,喝一杯咖啡的时间既能完成“自我充电”,也满足设备使用的用电需求,为提升工作效率和放松身心注入新能量。

  金山电池推出10分钟超快电池充电器*绿再十分充,以创新科技为市场带来革新体验

  该问卷同时从沪广深市民对循环充电电池的使用方面进行了调查,以了解其对绿色生活方式的态度:

  · 87%受访者目前没有使用充电电池,其中61%表示会考虑使用充电电池

  · 58%受访者过往曾使用过充电电池,却只有20%左右市民仍在使用

  · 60%左右受访者认为充电电池尚未被广泛使用,主要障碍来自于充电时间过长、缺乏相关教育

  · 90%以上受访者认为充电电池充满电需要1小时或更长的时间

  金山电池一直致力于为大众提供安全可靠的充电电池,并与消费者的需求和生活方式一起演变及进步。今天,金山电池宣布推出10分钟超快电池充电器*绿再十分充,只需10分钟*即可将4粒绿再十分充充电电池充好电,充电速度比其他品牌提升3倍**。充电器的LED灯可以显示每粒电池的充电状态和模式,并提示用户是否错误插入已损坏电池或一次性电池。尽管其体型小巧,却具备多项创新科技 ,如拥有独特的充电算法以优化充电电流,并能根据各个电池类型、状况和温度用最短的时间为充电电池充好电;绿再十分充内置横流扇,有效防止电池温度过热和提供低噪音的充电环境等。

', '中网资讯科技', 3, 0, 1, 0, 1663322665, 1663322665, 0); -COMMIT; - -BEGIN; -INSERT INTO `la_system_auth_menu` VALUES (1, 0, 'C', '工作台', 'el-icon-Monitor', 50, 'index:console', 'workbench', 'workbench/index', '', '', 1, 1, 0, 1650341765, 1668672757); -INSERT INTO `la_system_auth_menu` VALUES (100, 0, 'M', '权限管理', 'el-icon-Lock', 44, '', 'permission', '', '', '', 0, 1, 0, 1650341765, 1662626201); -INSERT INTO `la_system_auth_menu` VALUES (101, 100, 'C', '管理员', 'local-icon-wode', 0, 'system:admin:list', 'admin', 'permission/admin/index', '', '', 1, 1, 0, 1650341765, 1663301404); -INSERT INTO `la_system_auth_menu` VALUES (102, 101, 'A', '管理员详情', '', 0, 'system:admin:detail', '', '', '', '', 0, 1, 0, 1650341765, 1660201785); -INSERT INTO `la_system_auth_menu` VALUES (103, 101, 'A', '管理员新增', '', 0, 'system:admin:add', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (104, 101, 'A', '管理员编辑', '', 0, 'system:admin:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (105, 101, 'A', '管理员删除', '', 0, 'system:admin:del', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (106, 101, 'A', '管理员状态', '', 0, 'system:admin:disable', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (110, 100, 'C', '角色管理', 'el-icon-Female', 0, 'system:role:list', 'role', 'permission/role/index', '', '', 1, 1, 0, 1650341765, 1663301451); -INSERT INTO `la_system_auth_menu` VALUES (111, 110, 'A', '角色详情', '', 0, 'system:role:detail', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (112, 110, 'A', '角色新增', '', 0, 'system:role:add', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (113, 110, 'A', '角色编辑', '', 0, 'system:role:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (114, 110, 'A', '角色删除', '', 0, 'system:role:del', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (120, 100, 'C', '菜单管理', 'el-icon-Operation', 0, 'system:menu:list', 'menu', 'permission/menu/index', '', '', 1, 1, 0, 1650341765, 1663301388); -INSERT INTO `la_system_auth_menu` VALUES (121, 120, 'A', '菜单详情', '', 0, 'system:menu:detail', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (122, 120, 'A', '菜单新增', '', 0, 'system:menu:add', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (123, 120, 'A', '菜单编辑', '', 0, 'system:menu:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (124, 120, 'A', '菜单删除', '', 0, 'system:menu:del', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (130, 0, 'M', '组织管理', 'el-icon-OfficeBuilding', 45, '', 'organization', '', '', '', 0, 1, 0, 1650341765, 1664416715); -INSERT INTO `la_system_auth_menu` VALUES (131, 130, 'C', '部门管理', 'el-icon-Coordinate', 0, 'system:dept:list', 'department', 'organization/department/index', '', '', 1, 1, 0, 1650341765, 1660201994); -INSERT INTO `la_system_auth_menu` VALUES (132, 131, 'A', '部门详情', '', 0, 'system:dept:detail', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (133, 131, 'A', '部门新增', '', 0, 'system:dept:add', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (134, 131, 'A', '部门编辑', '', 0, 'system:dept:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (135, 131, 'A', '部门删除', '', 0, 'system:dept:del', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (140, 130, 'C', '岗位管理', 'el-icon-PriceTag', 0, 'system:post:list', 'post', 'organization/post/index', '', '', 1, 1, 0, 1650341765, 1660202057); -INSERT INTO `la_system_auth_menu` VALUES (141, 140, 'A', '岗位详情', '', 0, 'system:post:detail', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (142, 140, 'A', '岗位新增', '', 0, 'system:post:add', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (143, 140, 'A', '岗位编辑', '', 0, 'system:post:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (144, 140, 'A', '岗位删除', '', 0, 'system:post:del', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (200, 0, 'M', '其它管理', '', 0, '', '', '', '', '', 0, 0, 0, 1650341765, 1660636870); -INSERT INTO `la_system_auth_menu` VALUES (201, 200, 'M', '图库管理', '', 0, '', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (202, 201, 'A', '文件列表', '', 0, 'albums:albumList', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (203, 201, 'A', '文件命名', '', 0, 'albums:albumRename', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (204, 201, 'A', '文件移动', '', 0, 'albums:albumMove', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (205, 201, 'A', '文件删除', '', 0, 'albums:albumDel', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (206, 201, 'A', '分类列表', '', 0, 'albums:cateList', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (207, 201, 'A', '分类新增', '', 0, 'albums:cateAdd', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (208, 201, 'A', '分类命名', '', 0, 'albums:cateRename', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (209, 201, 'A', '分类删除', '', 0, 'albums:cateDel', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (215, 200, 'M', '上传管理', '', 0, '', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (216, 215, 'A', '上传图片', '', 0, 'upload:image', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (217, 215, 'A', '上传视频', '', 0, 'upload:video', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (500, 0, 'M', '系统设置', 'el-icon-Setting', 0, '', 'setting', '', '', '', 0, 1, 0, 1650341765, 1662626322); -INSERT INTO `la_system_auth_menu` VALUES (501, 500, 'M', '网站设置', 'el-icon-Basketball', 10, '', 'website', '', '', '', 0, 1, 0, 1650341765, 1663233572); -INSERT INTO `la_system_auth_menu` VALUES (502, 501, 'C', '网站信息', '', 0, 'setting:website:detail', 'information', 'setting/website/information', '', '', 0, 1, 0, 1650341765, 1660202218); -INSERT INTO `la_system_auth_menu` VALUES (503, 502, 'A', '保存配置', '', 0, 'setting:website:save', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (505, 501, 'C', '网站备案', '', 0, 'setting:copyright:detail', 'filing', 'setting/website/filing', '', '', 0, 1, 0, 1650341765, 1660202294); -INSERT INTO `la_system_auth_menu` VALUES (506, 505, 'A', '备案保存', '', 0, 'setting:copyright:save', '', 'setting/website/protocol', '', '', 0, 0, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (510, 501, 'C', '政策协议', '', 0, 'setting:protocol:detail', 'protocol', 'setting/website/protocol', '', '', 0, 1, 0, 1660027606, 1660202312); -INSERT INTO `la_system_auth_menu` VALUES (511, 510, 'A', '协议保存', '', 0, 'setting:protocol:save', '', '', '', '', 0, 0, 0, 1660027606, 1663670865); -INSERT INTO `la_system_auth_menu` VALUES (515, 600, 'C', '字典管理', 'el-icon-Box', 0, 'setting:dict:type:list', 'dict', 'setting/dict/type/index', '', '', 0, 1, 0, 1660035436, 1663226087); -INSERT INTO `la_system_auth_menu` VALUES (516, 515, 'A', '字典类型新增', '', 0, 'setting:dict:type:add', '', '', '', '', 0, 1, 0, 1660202761, 1660202761); -INSERT INTO `la_system_auth_menu` VALUES (517, 515, 'A', '字典类型编辑', '', 0, 'setting:dict:type:edit', '', '', '', '', 0, 1, 0, 1660202842, 1660202842); -INSERT INTO `la_system_auth_menu` VALUES (518, 515, 'A', '字典类型删除', '', 0, 'setting:dict:type:del', '', '', '', '', 0, 1, 0, 1660202903, 1660202903); -INSERT INTO `la_system_auth_menu` VALUES (519, 600, 'C', '字典数据管理', '', 0, 'setting:dict:data:list', 'dict/data', 'setting/dict/data/index', '/dev_tools/dict', '', 0, 0, 0, 1660202948, 1663309252); -INSERT INTO `la_system_auth_menu` VALUES (520, 515, 'A', '字典数据新增', '', 0, 'setting:dict:data:add', '', '', '', '', 0, 1, 0, 1660203117, 1660203117); -INSERT INTO `la_system_auth_menu` VALUES (521, 515, 'A', '字典数据编辑', '', 0, 'setting:dict:data:edit', '', '', '', '', 0, 1, 0, 1660203142, 1660203142); -INSERT INTO `la_system_auth_menu` VALUES (522, 515, 'A', '字典数据删除', '', 0, 'setting:dict:data:del', '', '', '', '', 0, 1, 0, 1660203159, 1660203159); -INSERT INTO `la_system_auth_menu` VALUES (550, 500, 'M', '系统维护', 'el-icon-SetUp', 0, '', 'system', '', '', '', 0, 1, 0, 1650341765, 1660202466); -INSERT INTO `la_system_auth_menu` VALUES (551, 550, 'C', '系统环境', '', 0, 'monitor:server', 'environment', 'setting/system/environment', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (552, 550, 'C', '系统缓存', '', 0, 'monitor:cache', 'cache', 'setting/system/cache', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (553, 550, 'C', '系统日志', '', 0, 'system:log:operate', 'journal', 'setting/system/journal', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (555, 500, 'C', '存储设置', 'el-icon-FolderOpened', 6, 'setting:storage:list', 'storage', 'setting/storage/index', '', '', 0, 1, 0, 1650341765, 1663312996); -INSERT INTO `la_system_auth_menu` VALUES (556, 555, 'A', '保存配置', '', 0, 'setting:storage:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); -INSERT INTO `la_system_auth_menu` VALUES (600, 0, 'M', '开发工具', 'el-icon-EditPen', 0, '', 'dev_tools', '', '', '', 0, 1, 0, 1660027606, 1664335701); -INSERT INTO `la_system_auth_menu` VALUES (610, 600, 'C', '代码生成器', 'el-icon-DocumentAdd', 0, 'gen:list', 'code', 'dev_tools/code/index', '', '', 0, 1, 0, 1660028954, 1660532510); - -INSERT INTO `la_system_auth_menu` VALUES (611, 610, 'A', '导入数据表', '', 0, 'gen:importTable', '', '', '', '', 0, 1, 0, 1660532389, 1660532389); -INSERT INTO `la_system_auth_menu` VALUES (612, 610, 'A', '生成代码', '', 0, 'gen:genCode', '', '', '', '', 0, 1, 0, 1660532421, 1660532421); -INSERT INTO `la_system_auth_menu` VALUES (613, 610, 'A', '下载代码', '', 0, 'gen:downloadCode', '', '', '', '', 0, 1, 0, 1660532437, 1660532437); -INSERT INTO `la_system_auth_menu` VALUES (614, 610, 'A', '预览代码', '', 0, 'gen:previewCode', '', '', '', '', 0, 1, 0, 1660532549, 1660532549); -INSERT INTO `la_system_auth_menu` VALUES (616, 610, 'A', '同步表结构', '', 0, 'gen:syncTable', '', '', '', '', 0, 1, 0, 1660532781, 1660532781); -INSERT INTO `la_system_auth_menu` VALUES (617, 610, 'A', '删除数据表', '', 0, 'gen:delTable', '', '', '', '', 0, 1, 0, 1660532800, 1660532800); -INSERT INTO `la_system_auth_menu` VALUES (618, 610, 'A', '数据表详情', '', 0, 'gen:detail', '', '', '', '', 0, 1, 0, 1660532964, 1660532977); -INSERT INTO `la_system_auth_menu` VALUES (700, 0, 'M', '素材管理', 'el-icon-Picture', 43, '', 'material', '', '', '', 0, 1, 0, 1660203293, 1663300847); -INSERT INTO `la_system_auth_menu` VALUES (701, 700, 'C', '素材中心', 'el-icon-PictureRounded', 0, '', 'index', 'material/index', '', '', 0, 1, 0, 1660203402, 1663301493); - -INSERT INTO `la_system_auth_menu` VALUES (776, 600, 'C', '代码生成器', 'el-icon-DocumentAdd', 0, 'gen:editTable', 'dev_tools/code/edit', 'dev_tools/code/edit', '', '', 0, 1, 0, 1660028954, 1660532510); - --- INSERT INTO `la_system_auth_menu` VALUES (703, 0, 'M', '文章资讯', 'el-icon-ChatLineSquare', 49, '', 'article', '', '', '', 0, 1, 0, 1661757636, 1664416659); --- INSERT INTO `la_system_auth_menu` VALUES (704, 703, 'C', '文章管理', 'el-icon-ChatDotSquare', 3, 'article:list', 'lists', 'article/lists/index', '', '', 1, 1, 0, 1661757743, 1663658220); --- INSERT INTO `la_system_auth_menu` VALUES (705, 703, 'C', '文章栏目', 'el-icon-CollectionTag', 0, 'article:cate:list', 'column', 'article/column/index', '', '', 1, 1, 0, 1661759218, 1663578137); --- INSERT INTO `la_system_auth_menu` VALUES (706, 0, 'M', '渠道设置', 'el-icon-Message', 46, '', 'channel', '', '', '', 0, 1, 0, 1661767630, 1664416682); --- INSERT INTO `la_system_auth_menu` VALUES (707, 706, 'C', 'H5设置', 'el-icon-Cellphone', 0, 'channel:h5:detail', 'h5', 'channel/h5', '', '', 0, 1, 0, 1661768566, 1662626123); --- INSERT INTO `la_system_auth_menu` VALUES (708, 706, 'M', '微信公众号', 'local-icon-dingdan', 0, '', 'wx_oa', '', '', '', 0, 1, 0, 1661769386, 1663301237); --- INSERT INTO `la_system_auth_menu` VALUES (709, 708, 'C', '公众号配置', '', 0, 'channel:oa:detail', 'config', 'channel/wx_oa/config', '', '', 0, 1, 0, 1661769457, 1662638440); --- INSERT INTO `la_system_auth_menu` VALUES (710, 706, 'C', '微信小程序', 'local-icon-weixin', 0, 'channel:mp:detail', 'weapp', 'channel/weapp', '', '', 0, 1, 0, 1661823746, 1663301266); --- INSERT INTO `la_system_auth_menu` VALUES (711, 706, 'C', '微信开发平台', 'el-icon-DataBoard', 0, 'channel:wx:detail', 'wx_dev', 'channel/wx_dev', '', '', 0, 0, 0, 1661824989, 1663310675); --- INSERT INTO `la_system_auth_menu` VALUES (712, 0, 'M', '用户管理', 'el-icon-User', 48, '', 'consumer', '', '', '', 0, 1, 0, 1661832966, 1663294141); --- INSERT INTO `la_system_auth_menu` VALUES (713, 712, 'C', '用户列表', 'el-icon-User', 0, 'user:list', 'lists', 'consumer/lists/index', '', '', 0, 1, 0, 1661839365, 1663301092); --- INSERT INTO `la_system_auth_menu` VALUES (714, 714, 'A', '用户编辑', '', 0, 'user:edit', 'detail', 'consumer/lists/detail', '/consumer/lists', '', 0, 0, 0, 1661840502, 1662627718); --- INSERT INTO `la_system_auth_menu` VALUES (715, 600, 'C', '编辑数据表', '', 0, 'gen:editTable', 'code/edit', 'dev_tools/code/edit', '/dev_tools/code', '', 0, 0, 0, 1661843525, 1661843615); --- INSERT INTO `la_system_auth_menu` VALUES (716, 705, 'A', '栏目详情', '', 0, 'article:cate:detail', 'lists/edit', 'article/lists/edit', '/article/lists', '', 0, 0, 0, 1661844126, 1662626009); --- INSERT INTO `la_system_auth_menu` VALUES (717, 0, 'M', '装修管理', 'el-icon-Brush', 47, '', 'decoration', '', '', '', 0, 1, 0, 1661845634, 1664416675); --- INSERT INTO `la_system_auth_menu` VALUES (718, 717, 'C', '页面装修', 'el-icon-CopyDocument', 0, 'decorate:pages:detail', 'pages', 'decoration/pages/index', '', '', 0, 1, 0, 1661845678, 1663294313); --- INSERT INTO `la_system_auth_menu` VALUES (719, 717, 'C', '底部导航', 'el-icon-Position', 0, 'decorate:tabbar:detail', 'tabbar', 'decoration/tabbar', '', '', 0, 1, 0, 1661845811, 1663294354); --- INSERT INTO `la_system_auth_menu` VALUES (720, 500, 'M', '消息通知', 'el-icon-Message', 9, '', 'message', '', '', '', 0, 1, 0, 1661848742, 1662626364); --- INSERT INTO `la_system_auth_menu` VALUES (721, 720, 'C', '通知设置', '', 0, 'setting:notice:list', 'notice', 'message/notice/index', '', '', 0, 1, 0, 1661848772, 1662638112); --- INSERT INTO `la_system_auth_menu` VALUES (722, 720, 'C', '通知详情', '', 0, 'setting:notice:detail', 'notice/edit', 'message/notice/edit', '/setting/message/notice', '', 0, 0, 0, 1661848944, 1663142853); --- INSERT INTO `la_system_auth_menu` VALUES (723, 720, 'C', '短信设置', '', 0, 'setting:sms:list', 'short_letter', 'message/short_letter/index', '', '', 0, 1, 0, 1661848995, 1662638165); --- INSERT INTO `la_system_auth_menu` VALUES (724, 500, 'M', '用户设置', 'local-icon-keziyuyue', 8, '', 'user', '', '', '', 0, 1, 0, 1662455407, 1663301570); --- INSERT INTO `la_system_auth_menu` VALUES (725, 724, 'C', '用户设置', '', 0, 'setting:user:detail', 'setup', 'setting/user/setup', '', '', 0, 1, 0, 1662455555, 1663312225); --- INSERT INTO `la_system_auth_menu` VALUES (726, 724, 'C', '登录注册', '', 0, 'setting:login:detail', 'login_register', 'setting/user/login_register', '', '', 0, 1, 0, 1662456475, 1663312263); --- INSERT INTO `la_system_auth_menu` VALUES (728, 500, 'C', '热门搜索', 'el-icon-Search', 7, 'setting:search:detail', 'search', 'setting/search/index', '', '', 0, 1, 0, 1662540429, 1663312392); --- INSERT INTO `la_system_auth_menu` VALUES (730, 704, 'A', '文章新增', '', 0, 'article:add', '', '', '', '', 0, 1, 0, 1662625870, 1662625870); --- INSERT INTO `la_system_auth_menu` VALUES (732, 704, 'A', '文章删除', '', 0, 'article:del', '', '', '', '', 0, 1, 0, 1662625894, 1662625894); --- INSERT INTO `la_system_auth_menu` VALUES (733, 704, 'A', '文章状态', '', 0, 'article:change', '', '', '', '', 0, 1, 0, 1662625909, 1662625909); --- INSERT INTO `la_system_auth_menu` VALUES (734, 705, 'A', '栏目新增', '', 0, 'article:cate:add', '', '', '', '', 0, 1, 0, 1662626024, 1662626024); --- INSERT INTO `la_system_auth_menu` VALUES (735, 705, 'A', '栏目编辑', '', 0, 'article:cate:edit', '', '', '', '', 0, 1, 0, 1662626044, 1662626044); --- INSERT INTO `la_system_auth_menu` VALUES (736, 705, 'A', '栏目删除', '', 0, 'article:cate:del', '', '', '', '', 0, 1, 0, 1662626060, 1662626060); --- INSERT INTO `la_system_auth_menu` VALUES (737, 705, 'A', '栏目状态', '', 0, 'article:cate:change', '', '', '', '', 0, 1, 0, 1662626077, 1662626077); --- INSERT INTO `la_system_auth_menu` VALUES (738, 704, 'A', '文章编辑', '', 0, 'article:edit', 'lists/edit', 'article/lists/edit', '', '', 0, 0, 0, 1662626554, 1663309550); --- INSERT INTO `la_system_auth_menu` VALUES (739, 712, 'C', '用户详情', '', 0, 'user:detail', 'detail', 'consumer/lists/detail', '/consumer/lists', '', 0, 0, 0, 1662628049, 1662628049); --- INSERT INTO `la_system_auth_menu` VALUES (740, 739, 'A', '用户编辑', '', 0, 'user:edit', '', '', '', '', 0, 1, 0, 1662628085, 1662628085); --- INSERT INTO `la_system_auth_menu` VALUES (741, 721, 'A', '设置保存', '', 0, 'setting:notice:save', '', '', '', '', 0, 1, 0, 1662638049, 1662638049); --- INSERT INTO `la_system_auth_menu` VALUES (742, 723, 'A', '短信详情', '', 0, 'setting:sms:detail', '', '', '', '', 0, 1, 0, 1662638180, 1662638180); --- INSERT INTO `la_system_auth_menu` VALUES (743, 723, 'A', '保存设置', '', 0, 'setting:sms:save', '', '', '', '', 0, 1, 0, 1662638196, 1662638196); --- INSERT INTO `la_system_auth_menu` VALUES (744, 707, 'A', '设置保存', '', 0, 'channel:h5:save', '', '', '', '', 0, 1, 0, 1662638326, 1662638326); --- INSERT INTO `la_system_auth_menu` VALUES (745, 710, 'A', '设置保存', '', 0, 'channel:mp:detail', '', '', '', '', 0, 1, 0, 1662638359, 1662638359); --- INSERT INTO `la_system_auth_menu` VALUES (746, 711, 'A', '保存设置', '', 0, 'channel:wx:save', '', '', '', '', 0, 1, 0, 1662638410, 1662638410); --- INSERT INTO `la_system_auth_menu` VALUES (747, 709, 'A', '保存', '', 0, 'channel:oa:save', '', '', '', '', 0, 1, 0, 1662638459, 1663310514); --- INSERT INTO `la_system_auth_menu` VALUES (748, 708, 'C', '菜单管理', '', 0, '', 'menu', 'channel/wx_oa/menu', '', '', 0, 1, 0, 1663050714, 1663050714); --- INSERT INTO `la_system_auth_menu` VALUES (750, 708, 'C', '关注回复', '', 0, 'channel:oaReplyFollow:list', 'follow', 'channel/wx_oa/reply/follow_reply', '', '', 0, 1, 0, 1663149592, 1664511108); --- INSERT INTO `la_system_auth_menu` VALUES (751, 708, 'C', '关键字回复', '', 0, 'channel:oaReplyKeyword:list', 'keyword', 'channel/wx_oa/reply/keyword_reply', '', '', 0, 1, 0, 1663149622, 1664511241); --- INSERT INTO `la_system_auth_menu` VALUES (752, 708, 'C', '默认回复', '', 0, 'channel:oaReplyDefault:list', 'default', 'channel/wx_oa/reply/default_reply', '', '', 0, 1, 0, 1663149650, 1664517685); --- INSERT INTO `la_system_auth_menu` VALUES (753, 718, 'A', '保存', '', 0, 'decorate:pages:save', '', '', '', '', 0, 1, 0, 1663236648, 1663236648); --- INSERT INTO `la_system_auth_menu` VALUES (754, 719, 'A', '保存', '', 0, 'decorate:tabbar:save', '', '', '', '', 0, 1, 0, 1663236675, 1663236675); --- INSERT INTO `la_system_auth_menu` VALUES (755, 704, 'A', '文章详情', '', 0, 'article:detail', '', '', '', '', 0, 1, 0, 1663310241, 1663310252); --- INSERT INTO `la_system_auth_menu` VALUES (756, 748, 'A', '发布', '', 0, 'channel:oaMenu:publish', '', '', '', '', 0, 1, 0, 1663310379, 1663310525); --- INSERT INTO `la_system_auth_menu` VALUES (757, 748, 'A', '保存', '', 0, 'channel:oaMenu:save', '', '', '', '', 0, 1, 0, 1663310556, 1663310556); --- INSERT INTO `la_system_auth_menu` VALUES (758, 725, 'A', '保存', '', 0, 'setting:user:save', '', '', '', '', 0, 1, 0, 1663312193, 1663312193); --- INSERT INTO `la_system_auth_menu` VALUES (759, 726, 'A', '保存', '', 0, 'setting:login:save', '', '', '', '', 0, 1, 0, 1663312289, 1663312289); --- INSERT INTO `la_system_auth_menu` VALUES (760, 728, 'A', '保存', '', 0, 'setting:search:save', '', '', '', '', 0, 1, 0, 1663312423, 1663312423); --- INSERT INTO `la_system_auth_menu` VALUES (762, 750, 'A', '新增', '', 0, 'channel:oaReplyFollow:add', '', '', '', '', 1, 1, 0, 1664511131, 1664511131); --- INSERT INTO `la_system_auth_menu` VALUES (763, 750, 'A', '状态', '', 0, 'channel:oaReplyFollow:status', '', '', '', '', 1, 1, 0, 1664511160, 1664511160); --- INSERT INTO `la_system_auth_menu` VALUES (764, 750, 'A', '编辑', '', 0, 'channel:oaReplyFollow:edit', '', '', '', '', 1, 1, 0, 1664511177, 1664511190); --- INSERT INTO `la_system_auth_menu` VALUES (765, 750, 'A', '删除', '', 0, 'channel:oaReplyFollow:del', '', '', '', '', 1, 1, 0, 1664511208, 1664511208); --- INSERT INTO `la_system_auth_menu` VALUES (766, 751, 'A', '新增', '', 0, 'channel:oaReplyKeyword:add', '', '', '', '', 1, 1, 0, 1664511264, 1664511264); --- INSERT INTO `la_system_auth_menu` VALUES (767, 751, 'A', '状态', '', 0, 'channel:oaReplyKeyword:status', '', '', '', '', 1, 1, 0, 1664511295, 1664511295); --- INSERT INTO `la_system_auth_menu` VALUES (768, 751, 'A', '编辑', '', 0, 'channel:oaReplyKeyword:edit', '', '', '', '', 1, 1, 0, 1664511312, 1664511312); --- INSERT INTO `la_system_auth_menu` VALUES (769, 751, 'A', '删除', '', 0, 'channel:oaReplyKeyword:del', '', '', '', '', 1, 1, 0, 1664511327, 1664511327); --- INSERT INTO `la_system_auth_menu` VALUES (770, 752, 'A', '新增', '', 0, 'channel:oaReplyDefault:add', '', '', '', '', 1, 1, 0, 1664517709, 1664517709); --- INSERT INTO `la_system_auth_menu` VALUES (771, 752, 'A', '编辑', '', 0, 'channel:oaReplyDefault:edit', '', '', '', '', 1, 1, 0, 1664517725, 1664517725); --- INSERT INTO `la_system_auth_menu` VALUES (772, 752, 'A', '状态', '', 0, 'channel:oaReplyDefault:status', '', '', '', '', 1, 1, 0, 1664517757, 1664517757); --- INSERT INTO `la_system_auth_menu` VALUES (773, 752, 'A', '删除', '', 0, 'channel:oaReplyDefault:del', '', '', '', '', 1, 1, 0, 1664517778, 1664517778); --- INSERT INTO `la_system_auth_menu` VALUES (774, 610, 'A', '导入数据表列表', '', 0, 'gen:db', '', '', '', '', 1, 1, 0, 1665646316, 1665646316); --- INSERT INTO `la_system_auth_menu` VALUES (775, 703, 'C', '文章添加/编辑', '', 0, 'article:add/edit', 'lists/edit', 'article/lists/edit', '/article/lists', '', 0, 0, 0, 1668677477, 1668677477); -COMMIT; \ No newline at end of file diff --git a/sql/likeadmin.sql b/sql/likeadmin.sql new file mode 100644 index 0000000..b1d4cca --- /dev/null +++ b/sql/likeadmin.sql @@ -0,0 +1,273 @@ +-- -------------------------------------------------------- +-- 主机: 127.0.0.1 +-- 服务器版本: 5.7.26-log - MySQL Community Server (GPL) +-- 服务器操作系统: Win64 +-- HeidiSQL 版本: 12.3.0.6589 +-- -------------------------------------------------------- + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET NAMES utf8 */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- 正在导出表 likeadmin.la_album 的数据:~1 rows (大约) +REPLACE INTO `la_album` (`id`, `cid`, `aid`, `uid`, `type`, `name`, `uri`, `ext`, `size`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES + (1, 0, 1, 0, 10, 'Alx_gp73pq.png', 'image/20230911/34a557325c004f498b1da01bb068f919.png', 'png', 7138309, 0, 1699499781, 1699499781, 0); + +-- 正在导出表 likeadmin.la_album_cate 的数据:~1 rows (大约) +REPLACE INTO `la_album_cate` (`id`, `pid`, `type`, `name`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES + (1, 0, 10, '1', 0, 1699519913, 1699519913, 0); + +-- 正在导出表 likeadmin.la_article 的数据:~3 rows (大约) +REPLACE INTO `la_article` (`id`, `cid`, `title`, `intro`, `summary`, `image`, `content`, `author`, `visit`, `sort`, `is_show`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES + (1, 1, '让生活更精致!五款居家好物推荐,实用性超高', '##好物推荐🔥', '随着当代生活节奏的忙碌,很多人在闲暇之余都想好好的享受生活。随着科技的发展,也出现了越来越多可以帮助我们提升幸福感,让生活变得更精致的产品,下面周周就给大家盘点五款居家必备的好物,都是实用性很高的产品,周周可以保证大家买了肯定会喜欢。', '/api/static/article01.png', '

拥有一台投影仪,闲暇时可以在家里直接看影院级别的大片,光是想想都觉得超级爽。市面上很多投影仪大几千,其实周周觉得没必要,选泰捷这款一千多的足够了,性价比非常高。

泰捷的专业度很高,在电视TV领域研发已经十年,有诸多专利和技术创新,荣获国内外多项技术奖项,拿下了腾讯创新工场投资,打造的泰捷视频TV端和泰捷电视盒子都获得了极高评价。

这款投影仪的分辨率在3000元内无敌,做到了真1080P高分辨率,也就是跟市场售价三千DLP投影仪一样的分辨率,真正做到了分毫毕现,像桌布的花纹、天空的云彩等,这些细节都清晰可见。

亮度方面,泰捷达到了850ANSI流明,同价位一般是200ANSI。这是因为泰捷为了提升亮度和LCD技术透射率低的问题,首创高功率LED灯源,让其亮度做到同价位最好。专业媒体也进行了多次对比,效果与3000元价位投影仪相当。

操作系统周周也很喜欢,完全不卡。泰捷作为资深音视频品牌,在系统优化方面有十年的研发经验,打造出的“零极”系统是业内公认效率最高、速度最快的系统,用户也评价它流畅度能一台顶三台,而且为了解决行业广告多这一痛点,系统内不植入任何广告。

', '红花', 9, 0, 1, 0, 1663317759, 1663322726, 0), + (2, 1, '埋葬UI设计师的坟墓不是内卷,而是免费模式', '', '本文从另外一个角度,聊聊作者对UI设计师职业发展前景的担忧,欢迎从事UI设计的同学来参与讨论,会有赠书哦', '/api/static/article02.jpeg', '


一个职业,卷,根本就没什么大不了的,尤其是成熟且收入高的职业,不卷才不符合事物发展的规律。何况 UI 设计师的人力市场到今天也和 5 年前一样,还是停留在大型菜鸡互啄的场面。远不能和医疗、证券、教师或者演艺练习生相提并论。

真正会让我对 UI 设计师发展前景觉得悲观的事情就只有一件 —— 国内的互联网产品免费机制。这也是一个我一直以来想讨论的话题,就在这次写一写。

国内互联网市场的发展,是一部浩瀚的 “免费经济” 发展史。虽然今天免费已经是深入国内民众骨髓的认知,但最早的中文互联网也是需要付费的,网游也都是要花钱的。

只是自有国情在此,付费确实阻碍了互联网行业的扩张和普及,一批创业家就开始通过免费的模式为用户提供服务,从而扩大了自己的产品覆盖面和普及程度。

印象最深的就是免费急先锋周鸿祎,和现在鲜少出现在公众视野不同,一零年前他是当之无愧的互联网教主,因为他开发出了符合中国国情的互联网产品 “打法”,让 360 的发展如日中天。

就是他在自传中提到:

只要是在互联网上每个人都需要的服务,我们就认为它是基础服务,基础服务一定是免费的,这样的话不会形成价值歧视。就是说,只要这种服务是每个人都一定要用的,我一定免费提供,而且是无条件免费。增值服务不是所有人都需要的,这个比例可能会相当低,它只是百分之几甚至更少比例的人需要,所以这种服务一定要收费……

这就是互联网的游戏规则,它决定了要想建立一个有效的商业模式,就一定要有海量的用户基数……

', '一一', 23, 0, 1, 0, 1663320938, 1663322854, 0), + (3, 2, '金山电池公布“沪广深市民绿色生活方式”调查结果', '', '60%以上受访者认为高质量的10分钟足以完成“自我充电”', '/api/static/article03.png', '

深圳,2021年10月22日)生活在一线城市的沪广深市民一向以效率见称,工作繁忙和快节奏的生活容易缺乏充足的休息。近日,一项针对沪广深市民绿色生活方式而展开的网络问卷调查引起了大家的注意。问卷的问题设定集中于市民对休息时间的看法,以及从对循环充电电池的使用方面了解其对绿色生活方式的态度。该调查采用随机抽样的模式,并对最终收集的1,500份有效问卷进行专业分析后发现,超过60%的受访者表示,在每天的工作时段能拥有10分钟高质量的休息时间,就可以高效“自我充电”。该调查结果反映出,在快节奏时代下,人们需要高质量的休息时间,也要学会利用高效率的休息方式和工具来应对快节奏的生活,以时刻保持“满电”状态。

  60%以上受访者认为高质量的10分钟足以完成“自我充电”

  这次调查超过1,500人,主要聚焦18至85岁的沪广深市民,了解他们对于休息时间的观念及使用充电电池的习惯,结果发现:

  · 90%以上有工作受访者每天工作时间在7小时以上,平均工作时间为8小时,其中43%以上的受访者工作时间超过9小时

  · 70%受访者认为在工作期间拥有10分钟“自我充电”时间不是一件困难的事情

  · 60%受访者认为在工作期间有10分钟休息时间足以为自己快速充电

  临床心理学家黄咏诗女士在发布会上分享为自己快速充电的实用技巧,她表示:“事实上,只要选择正确的休息方法,10分钟也足以为自己充电。以喝咖啡为例,我们可以使用心灵休息法 ── 静观呼吸,慢慢感受咖啡的温度和气味,如果能配合着聆听流水或海洋的声音,能够有效放松大脑及心灵。”

  这次调查结果反映出沪广深市民的希望在繁忙的工作中适时停下来,抽出10分钟喝杯咖啡、聆听音乐或小睡片刻,为自己充电。金山电池全新推出的“绿再十分充”超快速充电器仅需10分钟就能充好电,喝一杯咖啡的时间既能完成“自我充电”,也满足设备使用的用电需求,为提升工作效率和放松身心注入新能量。

  金山电池推出10分钟超快电池充电器*绿再十分充,以创新科技为市场带来革新体验

  该问卷同时从沪广深市民对循环充电电池的使用方面进行了调查,以了解其对绿色生活方式的态度:

  · 87%受访者目前没有使用充电电池,其中61%表示会考虑使用充电电池

  · 58%受访者过往曾使用过充电电池,却只有20%左右市民仍在使用

  · 60%左右受访者认为充电电池尚未被广泛使用,主要障碍来自于充电时间过长、缺乏相关教育

  · 90%以上受访者认为充电电池充满电需要1小时或更长的时间

  金山电池一直致力于为大众提供安全可靠的充电电池,并与消费者的需求和生活方式一起演变及进步。今天,金山电池宣布推出10分钟超快电池充电器*绿再十分充,只需10分钟*即可将4粒绿再十分充充电电池充好电,充电速度比其他品牌提升3倍**。充电器的LED灯可以显示每粒电池的充电状态和模式,并提示用户是否错误插入已损坏电池或一次性电池。尽管其体型小巧,却具备多项创新科技 ,如拥有独特的充电算法以优化充电电流,并能根据各个电池类型、状况和温度用最短的时间为充电电池充好电;绿再十分充内置横流扇,有效防止电池温度过热和提供低噪音的充电环境等。

', '中网资讯科技', 3, 0, 1, 0, 1663322665, 1663322665, 0); + +-- 正在导出表 likeadmin.la_article_category 的数据:~2 rows (大约) +REPLACE INTO `la_article_category` (`id`, `name`, `sort`, `is_show`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES + (1, '文章资讯', 0, 1, 0, 1663317280, 1663317282, 0), + (2, '社会热点', 0, 1, 0, 1663321464, 1663321494, 0); + +-- 正在导出表 likeadmin.la_article_collect 的数据:~1 rows (大约) +REPLACE INTO `la_article_collect` (`id`, `user_id`, `article_id`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES + (1, 0, 0, 1, 0, 0, 0); + +-- 正在导出表 likeadmin.la_decorate_page 的数据:~3 rows (大约) +REPLACE INTO `la_decorate_page` (`id`, `page_type`, `page_name`, `page_data`, `create_time`, `update_time`) VALUES + (1, 1, '商城首页', '[{"title":"搜索","name":"search","disabled":1,"content":{},"styles":{}},{"title":"首页轮播图","name":"banner","content":{"enabled":1,"data":[{"image":"/api/static/banner01.png","name":"","link":{"path":"/pages/index/index","name":"商城首页","type":"shop"}},{"image":"/api/static/banner02.png","name":"","link":{}}]},"styles":{}},{"title":"导航菜单","name":"nav","content":{"enabled":1,"data":[{"image":"/api/static/nav01.png","name":"资讯中心","link":{"path":"/pages/news/news","name":"文章资讯","type":"shop"}},{"image":"/api/static/nav02.png","name":"我的收藏","link":{"path":"/pages/collection/collection","name":"我的收藏","type":"shop"}},{"image":"/api/static/nav03.png","name":"个人设置","link":{"path":"/pages/user_set/user_set","name":"个人设置","type":"shop"}},{"image":"/api/static/nav04.png","name":"联系客服","link":{"path":"/pages/customer_service/customer_service","name":"联系客服","type":"shop"}},{"image":"/api/static/nav05.png","name":"关于我们","link":{"path":"/pages/as_us/as_us","name":"关于我们","type":"shop"}}]},"styles":{}},{"id":"l84almsk2uhyf","title":"资讯","name":"news","disabled":1,"content":{},"styles":{}}]', 1661757188, 1663321380), + (2, 2, '个人中心', '[{"title":"用户信息","name":"user-info","disabled":1,"content":{},"styles":{}},{"title":"我的服务","name":"my-service","content":{"style":2,"title":"服务中心","data":[{"image":"/api/static/user_collect.png","name":"我的收藏","link":{"path":"/pages/collection/collection","name":"我的收藏","type":"shop"}},{"image":"/api/static/user_setting.png","name":"个人设置","link":{"path":"/pages/user_set/user_set","name":"个人设置","type":"shop"}},{"image":"/api/static/user_kefu.png","name":"联系客服","link":{"path":"/pages/customer_service/customer_service","name":"联系客服","type":"shop"}}]},"styles":{}},{"title":"个人中心广告图","name":"user-banner","content":{"enabled":1,"data":[{"image":"/api/static/ad01.jpg","name":"","link":{}}]},"styles":{}}]', 1661757188, 1663320728), + (3, 3, '客服设置', '[{"title":"客服设置","name":"customer-service","content":{"title":"添加客服二维码","time":"早上 9:00 - 22:00","mobile":"13800138000","qrcode":""},"styles":{}}]', 1661757188, 1662689155); + +-- 正在导出表 likeadmin.la_decorate_tabbar 的数据:~3 rows (大约) +REPLACE INTO `la_decorate_tabbar` (`id`, `name`, `selected`, `unselected`, `link`, `create_time`, `update_time`) VALUES + (13, '首页', '/api/static/tabbar_home_sel.png', '/api/static/tabbar_home.png', '{"path":"/pages/index/index","name":"商城首页","type":"shop"}', 1662688157, 1662688157), + (14, '资讯', '/api/static/tabbar_text_sel.png', '/api/static/tabbar_text.png', '{"path":"/pages/news/news","name":"文章资讯","type":"shop"}', 1662688157, 1662688157), + (15, '我的', '/api/static/tabbar_me_sel.png', '/api/static/tabbar_me.png', '{"path":"/pages/user/user","name":"个人中心","type":"shop"}', 1662688157, 1662688157); + +-- 正在导出表 likeadmin.la_dict_data 的数据:~0 rows (大约) + +-- 正在导出表 likeadmin.la_dict_type 的数据:~1 rows (大约) +REPLACE INTO `la_dict_type` (`id`, `dict_name`, `dict_type`, `dict_remark`, `dict_status`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES + (1, 'a', 'a', 'a', 1, 0, 1699343341, 1699343341, 0); + +-- 正在导出表 likeadmin.la_gen_table 的数据:~1 rows (大约) +REPLACE INTO `la_gen_table` (`id`, `table_name`, `table_comment`, `sub_table_name`, `sub_table_fk`, `author_name`, `entity_name`, `module_name`, `function_name`, `tree_primary`, `tree_parent`, `tree_name`, `gen_tpl`, `gen_type`, `gen_path`, `remarks`, `create_time`, `update_time`) VALUES + (10, 'la_article_collect', '文章收藏表', '', '', '', 'articleCollect', 'article_collect', '文章收藏', '', '', '', 'crud', 0, '/', '', 1700321456, 1700404013); + +-- 正在导出表 likeadmin.la_gen_table_column 的数据:~7 rows (大约) +REPLACE INTO `la_gen_table_column` (`id`, `table_id`, `column_name`, `column_comment`, `column_length`, `column_type`, `go_type`, `go_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_time`, `update_time`) VALUES + (84, 10, 'id', '主键', '10', 'int', 'int', 'id', 1, 1, 1, 0, 1, 0, 0, '=', 'input', '', 0, 0, 1700404013), + (85, 10, 'user_id', '用户ID', '10', 'int', 'int', 'user_id', 0, 0, 1, 1, 1, 1, 1, '=', 'input', '', 0, 0, 1700404013), + (86, 10, 'article_id', '文章ID', '10', 'int', 'int', 'article_id', 0, 0, 1, 1, 1, 1, 1, '=', 'input', '', 0, 0, 1700404013), + (87, 10, 'is_delete', '是否删除', '1', 'tinyint', 'int', 'is_delete', 0, 0, 0, 0, 0, 0, 0, '=', 'input', '', 0, 0, 1700404013), + (88, 10, 'create_time', '创建时间', '10', 'int', 'core.TsTime', 'create_time', 0, 0, 0, 0, 0, 1, 0, '=', 'datetime', '', 0, 0, 1700404013), + (89, 10, 'update_time', '更新时间', '10', 'int', 'core.TsTime', 'update_time', 0, 0, 0, 0, 0, 1, 0, '=', 'datetime', '', 0, 0, 1700404013), + (90, 10, 'delete_time', '是否删除', '10', 'int', 'core.TsTime', 'delete_time', 0, 0, 0, 0, 0, 0, 0, '=', 'datetime', '', 0, 0, 1700404013); + +-- 正在导出表 likeadmin.la_hot_search 的数据:~0 rows (大约) + +-- 正在导出表 likeadmin.la_notice_setting 的数据:~4 rows (大约) +REPLACE INTO `la_notice_setting` (`id`, `scene`, `name`, `remarks`, `recipient`, `type`, `system_notice`, `sms_notice`, `oa_notice`, `mnp_notice`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES + (1, 101, '登录验证码', '用户手机号码登录时发送', 1, 2, '{}', '{"type":"sms","templateId":"SMS_222458159","content":"您正在登录,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。","tips":["可选变量 验证码:code","示例:您正在登录,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。","生效条件:1、管理后台完成短信设置。2、第三方短信平台申请模板。"],"status":"1"}', '{}', '{}', 0, 1648696695, 1648696695, 0), + (2, 102, '绑定手机验证码', '用户绑定手机号码时发送', 1, 2, '{}', '{"type":"sms","templateId":"SMS_175615069","content":"您正在绑定手机号,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。","tips":["可选变量 验证码:code","示例:您正在绑定手机号,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。","生效条件:1、管理后台完成短信设置。2、第三方短信平台申请模板。"],"status":"1"}', '{}', '{}', 0, 1648696695, 1648696695, 0), + (3, 103, '变更手机验证码', '用户变更手机号码时发送', 1, 2, '{}', '{"type":"sms","templateId":"SMS_207952628","content":"您正在变更手机号,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。","tips":["可选变量 验证码:code","示例:您正在变更手机号,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。","生效条件:1、管理后台完成短信设置。2、第三方短信平台申请模板。"],"status":"1"}', '{}', '{}', 0, 1648696695, 1648696695, 0), + (4, 104, '找回登录密码验证码', '用户找回登录密码号码时发送', 1, 2, '{}', '{"type":"sms","templateId":"SMS_175615069","content":"您正在找回登录密码,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。","tips":["可选变量 验证码:code","示例:您正在找回登录密码,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。","条验证码有效期5分钟。"],"status":"1"}', '{}', '{}', 0, 1648696695, 1648696695, 0); + +-- 正在导出表 likeadmin.la_official_reply 的数据:~0 rows (大约) + +-- 正在导出表 likeadmin.la_product 的数据:~2 rows (大约) +REPLACE INTO `la_product` (`id`, `name`, `category`, `pics`) VALUES + (1, 'aaa', 2, '11'), + (2, 'a', 0, '3'); + +-- 正在导出表 likeadmin.la_system_auth_admin 的数据:~1 rows (大约) +REPLACE INTO `la_system_auth_admin` (`id`, `dept_id`, `post_id`, `username`, `nickname`, `password`, `avatar`, `role`, `salt`, `sort`, `is_multipoint`, `is_disable`, `is_delete`, `last_login_ip`, `last_login_time`, `create_time`, `update_time`, `delete_time`) VALUES + (1, 1, 0, 'admin', 'admin', '7fac2474740becfaf1ecbdd6cc8fb076', '/api/static/backend_avatar.png', '0', '5Xar0', 0, 1, 0, 0, '127.0.0.1', 1700402870, 1642321599, 1700402870, 0); + +-- 正在导出表 likeadmin.la_system_auth_dept 的数据:~1 rows (大约) +REPLACE INTO `la_system_auth_dept` (`id`, `pid`, `name`, `duty`, `mobile`, `sort`, `is_stop`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES + (1, 0, '默认部门', '康明', '18327647788', 10, 0, 0, 1649841995, 1660190949, 0); + +-- 正在导出表 likeadmin.la_system_auth_menu 的数据:~78 rows (大约) +REPLACE INTO `la_system_auth_menu` (`id`, `pid`, `menu_type`, `menu_name`, `menu_icon`, `menu_sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_cache`, `is_show`, `is_disable`, `create_time`, `update_time`) VALUES + (1, 0, 'C', '工作台', 'el-icon-Monitor', 50, 'index:console', 'workbench', 'workbench/index', '', '', 1, 1, 0, 1650341765, 1668672757), + (100, 0, 'M', '权限管理', 'el-icon-Lock', 44, '', 'permission', '', '', '', 0, 1, 0, 1650341765, 1662626201), + (101, 100, 'C', '管理员', 'local-icon-wode', 0, 'system:admin:list', 'admin', 'permission/admin/index', '', '', 1, 1, 0, 1650341765, 1663301404), + (102, 101, 'A', '管理员详情', '', 0, 'system:admin:detail', '', '', '', '', 0, 1, 0, 1650341765, 1660201785), + (103, 101, 'A', '管理员新增', '', 0, 'system:admin:add', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), + (104, 101, 'A', '管理员编辑', '', 0, 'system:admin:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), + (105, 101, 'A', '管理员删除', '', 0, 'system:admin:del', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), + (106, 101, 'A', '管理员状态', '', 0, 'system:admin:disable', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), + (110, 100, 'C', '角色管理', 'el-icon-Female', 0, 'system:role:list', 'role', 'permission/role/index', '', '', 1, 1, 0, 1650341765, 1663301451), + (111, 110, 'A', '角色详情', '', 0, 'system:role:detail', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), + (112, 110, 'A', '角色新增', '', 0, 'system:role:add', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), + (113, 110, 'A', '角色编辑', '', 0, 'system:role:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), + (114, 110, 'A', '角色删除', '', 0, 'system:role:del', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), + (120, 100, 'C', '菜单管理', 'el-icon-Operation', 0, 'system:menu:list', 'menu', 'permission/menu/index', '', '', 1, 1, 0, 1650341765, 1663301388), + (121, 120, 'A', '菜单详情', '', 0, 'system:menu:detail', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), + (122, 120, 'A', '菜单新增', '', 0, 'system:menu:add', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), + (123, 120, 'A', '菜单编辑', '', 0, 'system:menu:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), + (124, 120, 'A', '菜单删除', '', 0, 'system:menu:del', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), + (130, 0, 'M', '组织管理', 'el-icon-OfficeBuilding', 45, '', 'organization', '', '', '', 0, 1, 0, 1650341765, 1664416715), + (131, 130, 'C', '部门管理', 'el-icon-Coordinate', 0, 'system:dept:list', 'department', 'organization/department/index', '', '', 1, 1, 0, 1650341765, 1660201994), + (132, 131, 'A', '部门详情', '', 0, 'system:dept:detail', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), + (133, 131, 'A', '部门新增', '', 0, 'system:dept:add', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), + (134, 131, 'A', '部门编辑', '', 0, 'system:dept:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), + (135, 131, 'A', '部门删除', '', 0, 'system:dept:del', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), + (140, 130, 'C', '岗位管理', 'el-icon-PriceTag', 0, 'system:post:list', 'post', 'organization/post/index', '', '', 1, 1, 0, 1650341765, 1660202057), + (141, 140, 'A', '岗位详情', '', 0, 'system:post:detail', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), + (142, 140, 'A', '岗位新增', '', 0, 'system:post:add', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), + (143, 140, 'A', '岗位编辑', '', 0, 'system:post:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), + (144, 140, 'A', '岗位删除', '', 0, 'system:post:del', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), + (200, 0, 'M', '其它管理', '', 0, '', '', '', '', '', 0, 0, 0, 1650341765, 1660636870), + (201, 200, 'M', '图库管理', '', 0, '', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), + (202, 201, 'A', '文件列表', '', 0, 'albums:albumList', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), + (203, 201, 'A', '文件命名', '', 0, 'albums:albumRename', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), + (204, 201, 'A', '文件移动', '', 0, 'albums:albumMove', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), + (205, 201, 'A', '文件删除', '', 0, 'albums:albumDel', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), + (206, 201, 'A', '分类列表', '', 0, 'albums:cateList', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), + (207, 201, 'A', '分类新增', '', 0, 'albums:cateAdd', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), + (208, 201, 'A', '分类命名', '', 0, 'albums:cateRename', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), + (209, 201, 'A', '分类删除', '', 0, 'albums:cateDel', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), + (215, 200, 'M', '上传管理', '', 0, '', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), + (216, 215, 'A', '上传图片', '', 0, 'upload:image', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), + (217, 215, 'A', '上传视频', '', 0, 'upload:video', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), + (500, 0, 'M', '系统设置', 'el-icon-Setting', 0, '', 'setting', '', '', '', 0, 1, 0, 1650341765, 1662626322), + (501, 500, 'M', '网站设置', 'el-icon-Basketball', 10, '', 'website', '', '', '', 0, 1, 0, 1650341765, 1663233572), + (502, 501, 'C', '网站信息', '', 0, 'setting:website:detail', 'information', 'setting/website/information', '', '', 0, 1, 0, 1650341765, 1660202218), + (503, 502, 'A', '保存配置', '', 0, 'setting:website:save', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), + (505, 501, 'C', '网站备案', '', 0, 'setting:copyright:detail', 'filing', 'setting/website/filing', '', '', 0, 1, 0, 1650341765, 1660202294), + (506, 505, 'A', '备案保存', '', 0, 'setting:copyright:save', '', 'setting/website/protocol', '', '', 0, 0, 0, 1650341765, 1650341765), + (510, 501, 'C', '政策协议', '', 0, 'setting:protocol:detail', 'protocol', 'setting/website/protocol', '', '', 0, 1, 0, 1660027606, 1660202312), + (511, 510, 'A', '协议保存', '', 0, 'setting:protocol:save', '', '', '', '', 0, 0, 0, 1660027606, 1663670865), + (515, 600, 'C', '字典管理', 'el-icon-Box', 0, 'setting:dict:type:list', 'dict', 'setting/dict/type/index', '', '', 0, 1, 0, 1660035436, 1663226087), + (516, 515, 'A', '字典类型新增', '', 0, 'setting:dict:type:add', '', '', '', '', 0, 1, 0, 1660202761, 1660202761), + (517, 515, 'A', '字典类型编辑', '', 0, 'setting:dict:type:edit', '', '', '', '', 0, 1, 0, 1660202842, 1660202842), + (518, 515, 'A', '字典类型删除', '', 0, 'setting:dict:type:del', '', '', '', '', 0, 1, 0, 1660202903, 1660202903), + (519, 600, 'C', '字典数据管理', '', 0, 'setting:dict:data:list', 'dict/data', 'setting/dict/data/index', '/dev_tools/dict', '', 0, 0, 0, 1660202948, 1663309252), + (520, 515, 'A', '字典数据新增', '', 0, 'setting:dict:data:add', '', '', '', '', 0, 1, 0, 1660203117, 1660203117), + (521, 515, 'A', '字典数据编辑', '', 0, 'setting:dict:data:edit', '', '', '', '', 0, 1, 0, 1660203142, 1660203142), + (522, 515, 'A', '字典数据删除', '', 0, 'setting:dict:data:del', '', '', '', '', 0, 1, 0, 1660203159, 1660203159), + (550, 500, 'M', '系统维护', 'el-icon-SetUp', 0, '', 'system', '', '', '', 0, 1, 0, 1650341765, 1660202466), + (551, 550, 'C', '系统环境', '', 0, 'monitor:server', 'environment', 'setting/system/environment', '', '', 0, 1, 0, 1650341765, 1650341765), + (552, 550, 'C', '系统缓存', '', 0, 'monitor:cache', 'cache', 'setting/system/cache', '', '', 0, 1, 0, 1650341765, 1650341765), + (553, 550, 'C', '系统日志', '', 0, 'system:log:operate', 'journal', 'setting/system/journal', '', '', 0, 1, 0, 1650341765, 1650341765), + (555, 500, 'C', '存储设置', 'el-icon-FolderOpened', 6, 'setting:storage:list', 'storage', 'setting/storage/index', '', '', 0, 1, 0, 1650341765, 1663312996), + (556, 555, 'A', '保存配置', '', 0, 'setting:storage:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), + (600, 0, 'M', '开发工具', 'el-icon-EditPen', 0, '', 'dev_tools', '', '', '', 0, 1, 0, 1660027606, 1664335701), + (610, 600, 'C', '代码生成器', 'el-icon-DocumentAdd', 0, 'gen:list', 'code', 'dev_tools/code/index', '', '', 0, 1, 0, 1660028954, 1660532510), + (611, 610, 'A', '导入数据表', '', 0, 'gen:importTable', '', '', '', '', 0, 1, 0, 1660532389, 1660532389), + (612, 610, 'A', '生成代码', '', 0, 'gen:genCode', '', '', '', '', 0, 1, 0, 1660532421, 1660532421), + (613, 610, 'A', '下载代码', '', 0, 'gen:downloadCode', '', '', '', '', 0, 1, 0, 1660532437, 1660532437), + (614, 610, 'A', '预览代码', '', 0, 'gen:previewCode', '', '', '', '', 0, 1, 0, 1660532549, 1660532549), + (616, 610, 'A', '同步表结构', '', 0, 'gen:syncTable', '', '', '', '', 0, 1, 0, 1660532781, 1660532781), + (617, 610, 'A', '删除数据表', '', 0, 'gen:delTable', '', '', '', '', 0, 1, 0, 1660532800, 1660532800), + (618, 610, 'A', '数据表详情', '', 0, 'gen:detail', '', '', '', '', 0, 1, 0, 1660532964, 1660532977), + (700, 0, 'M', '素材管理', 'el-icon-Picture', 43, '', 'material', '', '', '', 0, 1, 0, 1660203293, 1663300847), + (701, 700, 'C', '素材中心', 'el-icon-PictureRounded', 0, '', 'index', 'material/index', '', '', 0, 1, 0, 1660203402, 1663301493), + (775, 600, 'C', '代码生成器编辑', 'el-icon-EditPen', 0, 'gen:editTable', 'dev_tools/code/edit', 'dev_tools/code/edit', '', '', 0, 0, 0, 1699344389, 1699344389), + (776, 0, 'C', '产品', 'el-icon-Aim', 0, '', 'product/index', 'product/index', '', '', 1, 1, 0, 1699719599, 1699719599), + (777, 0, 'C', 'article_collect', '', 0, 'article_collect:list', 'article_collect/index', 'article_collect/index', '', '', 1, 1, 0, 1700329092, 1700329092); + +-- 正在导出表 likeadmin.la_system_auth_perm 的数据:~0 rows (大约) + +-- 正在导出表 likeadmin.la_system_auth_post 的数据:~1 rows (大约) +REPLACE INTO `la_system_auth_post` (`id`, `code`, `name`, `remarks`, `sort`, `is_stop`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES + (1, 'a', '啊', 'aa', 0, 0, 1, 1699718138, 1699718141, 0); + +-- 正在导出表 likeadmin.la_system_auth_role 的数据:~1 rows (大约) +REPLACE INTO `la_system_auth_role` (`id`, `name`, `remark`, `sort`, `is_disable`, `create_time`, `update_time`) VALUES + (1, '审核员', '审核数据', 0, 0, 1668679451, 1699458583); + +-- 正在导出表 likeadmin.la_system_config 的数据:~46 rows (大约) +REPLACE INTO `la_system_config` (`id`, `type`, `name`, `value`, `create_time`, `update_time`) VALUES + (1, 'storage', 'default', 'local', 1660620367, 1662620927), + (2, 'storage', 'local', '{"name":"本地存储"}', 1660620367, 1662620927), + (3, 'storage', 'qiniu', '{"name":"七牛云存储","bucket":"","secretKey":"","accessKey":"","domain":""}', 1660620367, 1660620367), + (4, 'storage', 'aliyun', '{"name":"阿里云存储","bucket":"","secretKey":"","accessKey":"","domain":""}', 1660620367, 1662620071), + (5, 'storage', 'qcloud', '{"name":"腾讯云存储","bucket":"","secretKey":"","accessKey":"","domain":"","region":""}', 1660620367, 1660620367), + (6, 'sms', 'default', 'aliyun', 1660620367, 1660620367), + (7, 'sms', 'aliyun', '{"name":"阿里云短信","alias":"aliyun","sign":"","appKey":"","secretKey":""}', 1660620367, 1660620367), + (8, 'sms', 'tencent', '{"name":"腾讯云短信","alias":"tencent","sign":"","appId":"","secretId":"","secretKey":""}', 1660620367, 1660620367), + (9, 'sms', 'huawei', '{"name":"华为云短信","alias":"huawei"}', 1660620367, 1660620367), + (10, 'website', 'name', 'Admin开源后台', 1660620367, 1699524151), + (11, 'website', 'logo', '/api/static/backend_logo.png', 1660620367, 1699524151), + (12, 'website', 'favicon', '/api/static/backend_favicon.ico', 1660620367, 1699524151), + (13, 'website', 'backdrop', '/api/static/backend_backdrop.png', 1660620367, 1699524151), + (14, 'website', 'copyright', '[{"name":"LikeAdmin开源系统","link":"http://www.beian.gov.cn"}]', 1660620367, 1660620367), + (15, 'website', 'shopName', 'Admin开源系统', 1631255140, 1699524151), + (16, 'website', 'shopLogo', '/api/static/shop_logo.png', 1631255140, 1699524151), + (17, 'protocol', 'service', '{"name":"服务协议","content":"\\u003cp\\u003e服务协议\\u003c/p\\u003e"}', 1660620367, 1699496132), + (18, 'protocol', 'privacy', '{"name":"隐私协议","content":"\\u003cp\\u003e隐私协议\\u003c/p\\u003e"}', 1660620367, 1699496132), + (19, 'tabbar', 'style', '{"defaultColor":"#4A5DFF","selectedColor":"#EA5455"}', 1660620367, 1662544900), + (20, 'search', 'isHotSearch', '0', 1660620367, 1662546997), + (30, 'h5_channel', 'status', '1', 1660620367, 1660620367), + (31, 'h5_channel', 'close', '0', 1660620367, 1660620367), + (32, 'h5_channel', 'url', '', 1660620367, 1660620367), + (40, 'mp_channel', 'name', '', 1660620367, 1662551403), + (41, 'mp_channel', 'primaryId', '', 1660620367, 1662551403), + (42, 'mp_channel', 'appId', '', 1660620367, 1662551403), + (43, 'mp_channel', 'appSecret', '', 1660620367, 1662551403), + (44, 'mp_channel', 'qrCode', '', 1660620367, 1662551403), + (50, 'wx_channel', 'appId', '', 1660620367, 1660620367), + (51, 'wx_channel', 'appSecret', '', 1660620367, 1660620367), + (55, 'oa_channel', 'name', '', 1660620367, 1662551337), + (56, 'oa_channel', 'primaryId', ' ', 1660620367, 1662551337), + (57, 'oa_channel', 'qrCode', '', 1662551337, 1662551337), + (58, 'oa_channel', 'appId', '', 1660620367, 1662551337), + (59, 'oa_channel', 'appSecret', '', 1660620367, 1662551337), + (60, 'oa_channel', 'url', '', 1660620367, 1662551337), + (61, 'oa_channel', 'token', '', 1660620367, 1662551337), + (62, 'oa_channel', 'encodingAesKey', '', 1660620367, 1662551337), + (63, 'oa_channel', 'encryptionType', '1', 1660620367, 1662551337), + (64, 'oa_channel', 'menus', '[]', 1631255140, 1663118712), + (70, 'login', 'loginWay', '1,2', 1660620367, 1662538771), + (71, 'login', 'forceBindMobile', '0', 1660620367, 1662538771), + (72, 'login', 'openAgreement', '1', 1660620367, 1662538771), + (73, 'login', 'openOtherAuth', '1', 1660620367, 1662538771), + (74, 'login', 'autoLoginAuth', '1,2', 1660620367, 1662538771), + (80, 'user', 'defaultAvatar', '/api/static/default_avatar.png', 1660620367, 1662535156); + +-- 正在导出表 likeadmin.la_system_log_login 的数据:~20 rows (大约) +REPLACE INTO `la_system_log_login` (`id`, `admin_id`, `username`, `ip`, `os`, `browser`, `status`, `create_time`) VALUES + (1, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699342613), + (2, 0, 'admin', '127.0.0.1', 'Windows', 'Edge', 0, 1699343960), + (3, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 0, 1699343975), + (4, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699343985), + (5, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699454100), + (6, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699454113), + (7, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699456315), + (8, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699493828), + (9, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699507466), + (10, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699547693), + (11, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699705884), + (12, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699706435), + (13, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699707397), + (14, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699715636), + (15, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699803153), + (16, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700142837), + (17, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700150134), + (18, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700298162), + (19, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700381343), + (20, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700402870); + +-- 正在导出表 likeadmin.la_system_log_operate 的数据:~1 rows (大约) +REPLACE INTO `la_system_log_operate` (`id`, `admin_id`, `type`, `title`, `ip`, `url`, `method`, `args`, `error`, `status`, `start_time`, `end_time`, `task_time`, `create_time`) VALUES + (1, 1, 'GET', '角色列表', '127.0.0.1', '/api/system/role/list', 'likeadmin/admin/routers/system.roleHandler.list-fm', 'pageNo=1&pageSize=15', '', 1, 1699343137, 1699343138, 4, 1699343138); + +-- 正在导出表 likeadmin.la_system_log_sms 的数据:~0 rows (大约) + +-- 正在导出表 likeadmin.la_user 的数据:~0 rows (大约) + +-- 正在导出表 likeadmin.la_user_auth 的数据:~0 rows (大约) + +/*!40103 SET TIME_ZONE=IFNULL(@OLD_TIME_ZONE, 'system') */; +/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */; +/*!40014 SET FOREIGN_KEY_CHECKS=IFNULL(@OLD_FOREIGN_KEY_CHECKS, 1) */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40111 SET SQL_NOTES=IFNULL(@OLD_SQL_NOTES, 1) */; -- Gitee From 2736792c61d38b829297c44b96550c99be506204 Mon Sep 17 00:00:00 2001 From: xiangheng <11675084@qq.com> Date: Mon, 20 Nov 2023 23:02:29 +0800 Subject: [PATCH 22/41] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/index.html | 68 ------ server/.gitignore | 3 +- server/.goreleaser.yaml | 46 ++++ server/go.mod | 17 +- server/go.sum | 133 ++--------- sql/likeadmin.sql | 486 ++++++++++++++++++++++++++++++++++++++-- 6 files changed, 530 insertions(+), 223 deletions(-) delete mode 100644 frontend/index.html create mode 100644 server/.goreleaser.yaml diff --git a/frontend/index.html b/frontend/index.html deleted file mode 100644 index 04b61d7..0000000 --- a/frontend/index.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - 后台管理系统 - - - - - -
-
- - - -
-
- - - diff --git a/server/.gitignore b/server/.gitignore index cbb21a7..be3ec42 100644 --- a/server/.gitignore +++ b/server/.gitignore @@ -55,4 +55,5 @@ __debug_bin # binary main # air -tmp \ No newline at end of file +tmp +dist/ diff --git a/server/.goreleaser.yaml b/server/.goreleaser.yaml new file mode 100644 index 0000000..e8c4f23 --- /dev/null +++ b/server/.goreleaser.yaml @@ -0,0 +1,46 @@ +# This is an example .goreleaser.yml file with some sensible defaults. +# Make sure to check the documentation at https://goreleaser.com + +# The lines below are called `modelines`. See `:help modeline` +# Feel free to remove those if you don't want/need to use them. +# yaml-language-server: $schema=https://goreleaser.com/static/schema.json +# vim: set ts=2 sw=2 tw=0 fo=cnqoj + +version: 1 + +before: + hooks: + # You may remove this if you don't use go modules. + - go mod tidy + # you may remove this if you don't need go generate + - go generate ./... + +builds: + - env: + - CGO_ENABLED=0 + goos: + - linux + - windows + # - darwin + +# archives: +# - format: tar.gz +# # this name template makes the OS and Arch compatible with the results of `uname`. +# name_template: >- +# {{ .ProjectName }}_ +# {{- title .Os }}_ +# {{- if eq .Arch "amd64" }}x86_64 +# {{- else if eq .Arch "386" }}i386 +# {{- else }}{{ .Arch }}{{ end }} +# {{- if .Arm }}v{{ .Arm }}{{ end }} +# # use zip for windows archives +# format_overrides: +# - goos: windows +# format: zip + +changelog: + sort: asc + filters: + exclude: + - "^docs:" + - "^test:" diff --git a/server/go.mod b/server/go.mod index 9d45d60..943cbfb 100644 --- a/server/go.mod +++ b/server/go.mod @@ -14,25 +14,18 @@ require ( github.com/shirou/gopsutil v3.21.11+incompatible github.com/spf13/viper v1.17.0 github.com/ua-parser/uap-go v0.0.0-20230823213814-f77b3e91e9dc - go.uber.org/dig v1.17.1 go.uber.org/zap v1.26.0 gorm.io/driver/mysql v1.5.2 gorm.io/gorm v1.25.5 ) require ( - dario.cat/mergo v1.0.0 // indirect - github.com/bep/godartsass v1.2.0 // indirect - github.com/bep/godartsass/v2 v2.0.0 // indirect - github.com/bep/golibsass v1.1.1 // indirect github.com/bytedance/sonic v1.10.2 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect - github.com/cli/safeexec v1.0.1 // indirect - github.com/creack/pty v1.1.20 // indirect github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect - github.com/fatih/color v1.16.0 // indirect + github.com/frankban/quicktest v1.14.6 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/gabriel-vasile/mimetype v1.4.3 // indirect github.com/gin-contrib/sse v0.1.0 // indirect @@ -42,7 +35,7 @@ require ( github.com/go-playground/validator/v10 v10.16.0 // indirect github.com/go-sql-driver/mysql v1.7.1 // indirect github.com/goccy/go-json v0.10.2 // indirect - github.com/gohugoio/hugo v0.120.4 // indirect + github.com/google/go-cmp v0.6.0 // indirect github.com/hashicorp/golang-lru v1.0.2 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/jinzhu/inflection v1.0.0 // indirect @@ -51,28 +44,24 @@ require ( github.com/klauspost/cpuid/v2 v2.2.6 // indirect github.com/leodido/go-urn v1.2.4 // indirect github.com/magiconair/properties v1.8.7 // indirect - github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/pelletier/go-toml v1.9.5 // indirect github.com/pelletier/go-toml/v2 v2.1.0 // indirect + github.com/rogpeppe/go-internal v1.11.0 // indirect github.com/sagikazarmark/locafero v0.3.0 // indirect github.com/sagikazarmark/slog-shim v0.1.0 // indirect github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/afero v1.10.0 // indirect github.com/spf13/cast v1.5.1 // indirect - github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/subosito/gotenv v1.6.0 // indirect - github.com/tdewolff/parse/v2 v2.7.4 // indirect github.com/tklauser/go-sysconf v0.3.12 // indirect github.com/tklauser/numcpus v0.6.1 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.11 // indirect github.com/yusufpapurcu/wmi v1.2.3 // indirect - go.uber.org/atomic v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/arch v0.6.0 // indirect golang.org/x/crypto v0.15.0 // indirect diff --git a/server/go.sum b/server/go.sum index 5b9af6b..efdd1d4 100644 --- a/server/go.sum +++ b/server/go.sum @@ -35,25 +35,14 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= -dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= -github.com/bep/godartsass v1.2.0 h1:E2VvQrxAHAFwbjyOIExAMmogTItSKodoKuijNrGm5yU= -github.com/bep/godartsass v1.2.0/go.mod h1:6LvK9RftsXMxGfsA0LDV12AGc4Jylnu6NgHL+Q5/pE8= -github.com/bep/godartsass/v2 v2.0.0 h1:Ruht+BpBWkpmW+yAM2dkp7RSSeN0VLaTobyW0CiSP3Y= -github.com/bep/godartsass/v2 v2.0.0/go.mod h1:AcP8QgC+OwOXEq6im0WgDRYK7scDsmZCEW62o1prQLo= -github.com/bep/golibsass v1.1.1 h1:xkaet75ygImMYjM+FnHIT3xJn7H0xBA9UxSOJjk8Khw= -github.com/bep/golibsass v1.1.1/go.mod h1:DL87K8Un/+pWUS75ggYv41bliGiolxzDKWJAq3eJ1MA= github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= github.com/bytedance/sonic v1.10.0-rc/go.mod h1:ElCzW+ufi8qKqNW0FY314xriJhyJhuoJ3gFZdAHF7NM= github.com/bytedance/sonic v1.10.2 h1:GQebETVBxYB7JGWJtLBi07OVzWwt+8dWA00gEVW2ZFE= github.com/bytedance/sonic v1.10.2/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY= @@ -66,22 +55,15 @@ github.com/chenzhuoyu/iasm v0.9.1/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLI github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/cli/safeexec v1.0.0/go.mod h1:Z/D4tTN8Vs5gXYHDCbaM1S/anmEDnJb1iW0+EJ5zx3Q= -github.com/cli/safeexec v1.0.1 h1:e/C79PbXF4yYTN/wauC4tviMxEV13BwljGj0N9j+N00= -github.com/cli/safeexec v1.0.1/go.mod h1:Z/D4tTN8Vs5gXYHDCbaM1S/anmEDnJb1iW0+EJ5zx3Q= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cosmtrek/air v1.49.0 h1:/LfwnLquRoRyUO/K+m/6N5YpUkxcKcDGq2dH7RYbT9c= -github.com/cosmtrek/air v1.49.0/go.mod h1:yOz9vy7edZ75KRN9+Ofqwm3OU0wuv4Csc+ikMeZxxS8= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/creack/pty v1.1.20 h1:VIPb/a2s17qNeQgDnkfZC35RScx+blkKF8GV68n80J4= -github.com/creack/pty v1.1.20/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -90,17 +72,10 @@ github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1m github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= -github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= -github.com/frankban/quicktest v1.7.2/go.mod h1:jaStnuzAqU1AJdCO0l53JDCJrVDKcS03DbaAcR7Ks/o= -github.com/frankban/quicktest v1.14.2/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= -github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= -github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= -github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0= @@ -109,46 +84,35 @@ github.com/gin-contrib/cors v1.4.0 h1:oJ6gwtUl3lqV0WEIwM/LxPF1QZ5qe2lGWdY2+bz7y0 github.com/gin-contrib/cors v1.4.0/go.mod h1:bs9pNM0x/UsmHPBWT2xZz9ROh8xYjYkiURUfmBoMlcs= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78= -github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= +github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= +github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= -github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= github.com/go-playground/validator/v10 v10.10.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos= -github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= -github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= github.com/go-playground/validator/v10 v10.16.0 h1:x+plE831WK4vaKHO/jpgUGsvLKIqRRkz6M78GuJAfGE= github.com/go-playground/validator/v10 v10.16.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= github.com/go-redis/redis/v9 v9.0.0-rc.2 h1:IN1eI8AvJJeWHjMW/hlFAv2sAfvTun2DVksDDJ3a6a0= github.com/go-redis/redis/v9 v9.0.0-rc.2/go.mod h1:cgBknjwcBJa2prbnuHH/4k/Mlj4r0pWNV2HBanHujfY= -github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= -github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI= github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= -github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= -github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= -github.com/gohugoio/hugo v0.120.4 h1:AO/JFAHgrIKFnApCjpfQuyvI82t3yLgFZic4dg5l9OE= -github.com/gohugoio/hugo v0.120.4/go.mod h1:ZogFi7Iv3kRSSJDDguNsF219M4mGllg44IMvw/z/tEA= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -187,9 +151,9 @@ github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= @@ -205,7 +169,6 @@ github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -221,13 +184,10 @@ github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/jinzhu/copier v0.3.5 h1:GlvfUwHk62RokgqVNvYsku0TATCF7bAHVwEXoBh3iJg= -github.com/jinzhu/copier v0.3.5/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg= github.com/jinzhu/copier v0.4.0 h1:w3ciUoD19shMCRargcpm0cm91ytaBhDvuRpz1ODO/U8= github.com/jinzhu/copier v0.4.0/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg= github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= -github.com/jinzhu/now v1.1.4/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= @@ -242,26 +202,19 @@ github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgSh github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= -github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= -github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= -github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= -github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= @@ -272,27 +225,27 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= +github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= github.com/onsi/gomega v1.24.1 h1:KORJXNNTzJXzu4ScJWssJfJMnJ+2QJqhoQSRwNlze9E= -github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= -github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/onsi/gomega v1.24.1/go.mod h1:3AOiACssS3/MajrniINInwbfOOtfZvplPzuRSmvt1jM= github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= -github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= -github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4= github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/sagikazarmark/locafero v0.3.0 h1:zT7VEGWC2DTflmccN/5T1etyKvxSxpHsjb9cJvm4SvQ= github.com/sagikazarmark/locafero v0.3.0/go.mod h1:w+v7UsPNFwzF1cHuOajOOzoq4U7v/ig1mpRjqV+Bu1U= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= @@ -301,26 +254,17 @@ github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKl github.com/shirou/gopsutil v3.21.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= -github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= -github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/afero v1.10.0 h1:EaGW2JJh15aKOejeuJ+wpFSHnbd7GE6Wvp3TsNhb6LY= github.com/spf13/afero v1.10.0/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= -github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= -github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= -github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.14.0 h1:Rg7d3Lo706X9tHsJMUjdiwMpHB7W8WnSVOssIY+JElU= -github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= github.com/spf13/viper v1.17.0 h1:I5txKw7MJasPL/BrfkbA0Jyo/oELqVmux4pR/UxOMfI= github.com/spf13/viper v1.17.0/go.mod h1:BmMMMLQXSbcHK6KAOiFLz0l5JHrU89OdIRHvsk0+yVI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= @@ -328,33 +272,21 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs= -github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= -github.com/tdewolff/parse/v2 v2.7.4 h1:zrUn2CFg9+5llbUZcsycctFlNRyV1D5gFBZRxuGzdzk= -github.com/tdewolff/parse/v2 v2.7.4/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= -github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= -github.com/tklauser/go-sysconf v0.3.11 h1:89WgdJhk5SNwJfu+GKyYveZ4IaJ7xAkecBo+KdJV0CM= -github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI= github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU= github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= -github.com/tklauser/numcpus v0.6.0 h1:kebhY2Qt+3U6RNK7UqpYNA+tJ23IBEGKkB7JQBfDYms= -github.com/tklauser/numcpus v0.6.0/go.mod h1:FEZLMke0lhOUG6w2JadTzp0a+Nl8PF/GFkQ5UVIcaL4= github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk= github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY= github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= -github.com/ua-parser/uap-go v0.0.0-20211112212520-00c877edfe0f h1:A+MmlgpvrHLeUP8dkBVn4Pnf5Bp5Yk2OALm7SEJLLE8= -github.com/ua-parser/uap-go v0.0.0-20211112212520-00c877edfe0f/go.mod h1:OBcG9bn7sHtXgarhUEb3OfCnNsgtGnkVf41ilSZ3K3E= github.com/ua-parser/uap-go v0.0.0-20230823213814-f77b3e91e9dc h1:iT5lwxf894PiMq7cnMMQg/7VOD1pxmu//gQuHWAFy4s= github.com/ua-parser/uap-go v0.0.0-20230823213814-f77b3e91e9dc/go.mod h1:BUbeWZiieNxAuuADTBNb3/aeje6on3DhU3rpWsQSB1E= github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M= -github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU= github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= @@ -370,23 +302,10 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= -go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= -go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= -go.uber.org/dig v1.16.1 h1:+alNIBsl0qfY0j6epRubp/9obgtrObRAc5aD+6jbWY8= -go.uber.org/dig v1.16.1/go.mod h1:557JTAUZT5bUK0SvCwikmLPPtdQhfvLYtO5tJgQSbnk= -go.uber.org/dig v1.17.1 h1:Tga8Lz8PcYNsWsyHMZ1Vm0OQOUaJNDyvPImgbAu9YSc= -go.uber.org/dig v1.17.1/go.mod h1:Us0rSJiThwCv2GteUN0Q7OKvU7n5J4dxZ9JKUXozFdE= -go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk= -go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= -go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= +go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= -go.uber.org/zap v1.23.0 h1:OjGQ5KQDEUawVHxNwQgPpiypGHOxo2mNZsOqTak4fFY= -go.uber.org/zap v1.23.0/go.mod h1:D+nX8jyLsMHMYrln8A0rJjFt/T/9/bGgIhAqxv5URuY= go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= @@ -399,11 +318,7 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.3.0 h1:a06MkbcxBrEFc0w0QIZWXrH/9cCX6KJyWbBOIwAn+7A= -golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.15.0 h1:frVn1TEaCEaZcn3Tmd7Y2b5KKPaZ+I32Q2OA3kYp5TA= golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -473,8 +388,6 @@ golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU= -golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.18.0 h1:mIYleuAkSbHh0tCv7RvjL3F6ZVbLjq4+R7zbOn3Kokg= golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -534,11 +447,7 @@ golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A= -golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -554,8 +463,6 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg= -golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -702,8 +609,6 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -714,6 +619,7 @@ gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= @@ -722,13 +628,8 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gorm.io/driver/mysql v1.4.4 h1:MX0K9Qvy0Na4o7qSC/YI7XxqUw5KDw01umqgID+svdQ= -gorm.io/driver/mysql v1.4.4/go.mod h1:BCg8cKI+R0j/rZRQxeKis/forqRwRSYOR8OM3Wo6hOM= gorm.io/driver/mysql v1.5.2 h1:QC2HRskSE75wBuOxe0+iCkyJZ+RqpudsQtqkp+IMuXs= gorm.io/driver/mysql v1.5.2/go.mod h1:pQLhh1Ut/WUAySdTHwBpBv6+JKcj+ua4ZFx1QQTBzb8= -gorm.io/gorm v1.23.8/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= -gorm.io/gorm v1.24.2 h1:9wR6CFD+G8nOusLdvkZelOEhpJVwwHzpQOUM+REd6U0= -gorm.io/gorm v1.24.2/go.mod h1:DVrVomtaYTbqs7gB/x2uVvqnXzv0nqjB396B8cG4dBA= gorm.io/gorm v1.25.2-0.20230530020048-26663ab9bf55/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= gorm.io/gorm v1.25.5 h1:zR9lOiiYf09VNh5Q1gphfyia1JpiClIWG9hQaxB/mls= gorm.io/gorm v1.25.5/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= diff --git a/sql/likeadmin.sql b/sql/likeadmin.sql index b1d4cca..993ce1a 100644 --- a/sql/likeadmin.sql +++ b/sql/likeadmin.sql @@ -14,28 +14,124 @@ /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- 导出 likeadmin 的数据库结构 +CREATE DATABASE IF NOT EXISTS `likeadmin` /*!40100 DEFAULT CHARACTER SET utf8 */; +USE `likeadmin`; + +-- 导出 表 likeadmin.la_album 结构 +CREATE TABLE IF NOT EXISTS `la_album` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `cid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '类目ID', + `aid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '管理员ID', + `uid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '用户ID', + `type` tinyint(2) unsigned NOT NULL DEFAULT '10' COMMENT '文件类型: [10=图片, 20=视频]', + `name` varchar(100) NOT NULL DEFAULT '' COMMENT '文件名称', + `uri` varchar(200) NOT NULL COMMENT '文件路径', + `ext` varchar(10) NOT NULL DEFAULT '' COMMENT '文件扩展', + `size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '文件大小', + `is_delete` int(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除: 0=否, 1=是', + `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', + `delete_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_cid` (`cid`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='相册管理表'; + -- 正在导出表 likeadmin.la_album 的数据:~1 rows (大约) REPLACE INTO `la_album` (`id`, `cid`, `aid`, `uid`, `type`, `name`, `uri`, `ext`, `size`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES - (1, 0, 1, 0, 10, 'Alx_gp73pq.png', 'image/20230911/34a557325c004f498b1da01bb068f919.png', 'png', 7138309, 0, 1699499781, 1699499781, 0); + (1, 0, 1, 0, 10, 'Alx_gp73pq.png', 'image/20230911/34a557325c004f498b1da01bb068f919.png', 'png', 7138309, 0, 1699499781, 1699499781, 0), + (2, 0, 1, 0, 20, '素材中心 和另外 1 个页面 - 个人 - Microsoft​ Edge 2023-11-20 15-37-39.mp4', 'video/20232011/e5f53b824e314ab7992ef4b6e7595b86.mp4', 'mp4', 4053956, 0, 1700465870, 1700465870, 0); + +-- 导出 表 likeadmin.la_album_cate 结构 +CREATE TABLE IF NOT EXISTS `la_album_cate` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `pid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '父级ID', + `type` tinyint(2) unsigned NOT NULL DEFAULT '10' COMMENT '类型: [10=图片, 20=视频]', + `name` varchar(32) NOT NULL DEFAULT '' COMMENT '分类名称', + `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除: [0=否, 1=是]', + `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', + `delete_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='相册分类表'; --- 正在导出表 likeadmin.la_album_cate 的数据:~1 rows (大约) +-- 正在导出表 likeadmin.la_album_cate 的数据:~0 rows (大约) REPLACE INTO `la_album_cate` (`id`, `pid`, `type`, `name`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES (1, 0, 10, '1', 0, 1699519913, 1699519913, 0); +-- 导出 表 likeadmin.la_article 结构 +CREATE TABLE IF NOT EXISTS `la_article` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `cid` int(10) unsigned NOT NULL COMMENT '分类', + `title` varchar(200) NOT NULL DEFAULT '' COMMENT '标题', + `intro` varchar(200) NOT NULL DEFAULT '' COMMENT '简介', + `summary` varchar(200) DEFAULT '' COMMENT '摘要', + `image` varchar(200) NOT NULL DEFAULT '' COMMENT '封面', + `content` text COMMENT '内容', + `author` varchar(32) NOT NULL DEFAULT '' COMMENT '作者', + `visit` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '浏览', + `sort` int(10) unsigned NOT NULL DEFAULT '50' COMMENT '排序', + `is_show` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否显示: 0=否, 1=是', + `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除: 0=否, 1=是', + `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', + `delete_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', + PRIMARY KEY (`id`) USING BTREE, + KEY `cid_idx` (`cid`) USING BTREE COMMENT '分类索引' +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='文章资讯表'; + -- 正在导出表 likeadmin.la_article 的数据:~3 rows (大约) REPLACE INTO `la_article` (`id`, `cid`, `title`, `intro`, `summary`, `image`, `content`, `author`, `visit`, `sort`, `is_show`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES (1, 1, '让生活更精致!五款居家好物推荐,实用性超高', '##好物推荐🔥', '随着当代生活节奏的忙碌,很多人在闲暇之余都想好好的享受生活。随着科技的发展,也出现了越来越多可以帮助我们提升幸福感,让生活变得更精致的产品,下面周周就给大家盘点五款居家必备的好物,都是实用性很高的产品,周周可以保证大家买了肯定会喜欢。', '/api/static/article01.png', '

拥有一台投影仪,闲暇时可以在家里直接看影院级别的大片,光是想想都觉得超级爽。市面上很多投影仪大几千,其实周周觉得没必要,选泰捷这款一千多的足够了,性价比非常高。

泰捷的专业度很高,在电视TV领域研发已经十年,有诸多专利和技术创新,荣获国内外多项技术奖项,拿下了腾讯创新工场投资,打造的泰捷视频TV端和泰捷电视盒子都获得了极高评价。

这款投影仪的分辨率在3000元内无敌,做到了真1080P高分辨率,也就是跟市场售价三千DLP投影仪一样的分辨率,真正做到了分毫毕现,像桌布的花纹、天空的云彩等,这些细节都清晰可见。

亮度方面,泰捷达到了850ANSI流明,同价位一般是200ANSI。这是因为泰捷为了提升亮度和LCD技术透射率低的问题,首创高功率LED灯源,让其亮度做到同价位最好。专业媒体也进行了多次对比,效果与3000元价位投影仪相当。

操作系统周周也很喜欢,完全不卡。泰捷作为资深音视频品牌,在系统优化方面有十年的研发经验,打造出的“零极”系统是业内公认效率最高、速度最快的系统,用户也评价它流畅度能一台顶三台,而且为了解决行业广告多这一痛点,系统内不植入任何广告。

', '红花', 9, 0, 1, 0, 1663317759, 1663322726, 0), (2, 1, '埋葬UI设计师的坟墓不是内卷,而是免费模式', '', '本文从另外一个角度,聊聊作者对UI设计师职业发展前景的担忧,欢迎从事UI设计的同学来参与讨论,会有赠书哦', '/api/static/article02.jpeg', '


一个职业,卷,根本就没什么大不了的,尤其是成熟且收入高的职业,不卷才不符合事物发展的规律。何况 UI 设计师的人力市场到今天也和 5 年前一样,还是停留在大型菜鸡互啄的场面。远不能和医疗、证券、教师或者演艺练习生相提并论。

真正会让我对 UI 设计师发展前景觉得悲观的事情就只有一件 —— 国内的互联网产品免费机制。这也是一个我一直以来想讨论的话题,就在这次写一写。

国内互联网市场的发展,是一部浩瀚的 “免费经济” 发展史。虽然今天免费已经是深入国内民众骨髓的认知,但最早的中文互联网也是需要付费的,网游也都是要花钱的。

只是自有国情在此,付费确实阻碍了互联网行业的扩张和普及,一批创业家就开始通过免费的模式为用户提供服务,从而扩大了自己的产品覆盖面和普及程度。

印象最深的就是免费急先锋周鸿祎,和现在鲜少出现在公众视野不同,一零年前他是当之无愧的互联网教主,因为他开发出了符合中国国情的互联网产品 “打法”,让 360 的发展如日中天。

就是他在自传中提到:

只要是在互联网上每个人都需要的服务,我们就认为它是基础服务,基础服务一定是免费的,这样的话不会形成价值歧视。就是说,只要这种服务是每个人都一定要用的,我一定免费提供,而且是无条件免费。增值服务不是所有人都需要的,这个比例可能会相当低,它只是百分之几甚至更少比例的人需要,所以这种服务一定要收费……

这就是互联网的游戏规则,它决定了要想建立一个有效的商业模式,就一定要有海量的用户基数……

', '一一', 23, 0, 1, 0, 1663320938, 1663322854, 0), (3, 2, '金山电池公布“沪广深市民绿色生活方式”调查结果', '', '60%以上受访者认为高质量的10分钟足以完成“自我充电”', '/api/static/article03.png', '

深圳,2021年10月22日)生活在一线城市的沪广深市民一向以效率见称,工作繁忙和快节奏的生活容易缺乏充足的休息。近日,一项针对沪广深市民绿色生活方式而展开的网络问卷调查引起了大家的注意。问卷的问题设定集中于市民对休息时间的看法,以及从对循环充电电池的使用方面了解其对绿色生活方式的态度。该调查采用随机抽样的模式,并对最终收集的1,500份有效问卷进行专业分析后发现,超过60%的受访者表示,在每天的工作时段能拥有10分钟高质量的休息时间,就可以高效“自我充电”。该调查结果反映出,在快节奏时代下,人们需要高质量的休息时间,也要学会利用高效率的休息方式和工具来应对快节奏的生活,以时刻保持“满电”状态。

  60%以上受访者认为高质量的10分钟足以完成“自我充电”

  这次调查超过1,500人,主要聚焦18至85岁的沪广深市民,了解他们对于休息时间的观念及使用充电电池的习惯,结果发现:

  · 90%以上有工作受访者每天工作时间在7小时以上,平均工作时间为8小时,其中43%以上的受访者工作时间超过9小时

  · 70%受访者认为在工作期间拥有10分钟“自我充电”时间不是一件困难的事情

  · 60%受访者认为在工作期间有10分钟休息时间足以为自己快速充电

  临床心理学家黄咏诗女士在发布会上分享为自己快速充电的实用技巧,她表示:“事实上,只要选择正确的休息方法,10分钟也足以为自己充电。以喝咖啡为例,我们可以使用心灵休息法 ── 静观呼吸,慢慢感受咖啡的温度和气味,如果能配合着聆听流水或海洋的声音,能够有效放松大脑及心灵。”

  这次调查结果反映出沪广深市民的希望在繁忙的工作中适时停下来,抽出10分钟喝杯咖啡、聆听音乐或小睡片刻,为自己充电。金山电池全新推出的“绿再十分充”超快速充电器仅需10分钟就能充好电,喝一杯咖啡的时间既能完成“自我充电”,也满足设备使用的用电需求,为提升工作效率和放松身心注入新能量。

  金山电池推出10分钟超快电池充电器*绿再十分充,以创新科技为市场带来革新体验

  该问卷同时从沪广深市民对循环充电电池的使用方面进行了调查,以了解其对绿色生活方式的态度:

  · 87%受访者目前没有使用充电电池,其中61%表示会考虑使用充电电池

  · 58%受访者过往曾使用过充电电池,却只有20%左右市民仍在使用

  · 60%左右受访者认为充电电池尚未被广泛使用,主要障碍来自于充电时间过长、缺乏相关教育

  · 90%以上受访者认为充电电池充满电需要1小时或更长的时间

  金山电池一直致力于为大众提供安全可靠的充电电池,并与消费者的需求和生活方式一起演变及进步。今天,金山电池宣布推出10分钟超快电池充电器*绿再十分充,只需10分钟*即可将4粒绿再十分充充电电池充好电,充电速度比其他品牌提升3倍**。充电器的LED灯可以显示每粒电池的充电状态和模式,并提示用户是否错误插入已损坏电池或一次性电池。尽管其体型小巧,却具备多项创新科技 ,如拥有独特的充电算法以优化充电电流,并能根据各个电池类型、状况和温度用最短的时间为充电电池充好电;绿再十分充内置横流扇,有效防止电池温度过热和提供低噪音的充电环境等。

', '中网资讯科技', 3, 0, 1, 0, 1663322665, 1663322665, 0); +-- 导出 表 likeadmin.la_article_category 结构 +CREATE TABLE IF NOT EXISTS `la_article_category` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(60) NOT NULL DEFAULT '' COMMENT '名称', + `sort` smallint(5) unsigned NOT NULL DEFAULT '50' COMMENT '排序', + `is_show` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '是否显示: 0=否, 1=是', + `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除: 0=否, 1=是', + `create_time` int(10) unsigned DEFAULT '0' COMMENT '创建时间', + `update_time` int(10) unsigned DEFAULT '0' COMMENT '更新时间', + `delete_time` int(10) unsigned DEFAULT '0' COMMENT '删除时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='文章分类表'; + -- 正在导出表 likeadmin.la_article_category 的数据:~2 rows (大约) REPLACE INTO `la_article_category` (`id`, `name`, `sort`, `is_show`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES (1, '文章资讯', 0, 1, 0, 1663317280, 1663317282, 0), (2, '社会热点', 0, 1, 0, 1663321464, 1663321494, 0); --- 正在导出表 likeadmin.la_article_collect 的数据:~1 rows (大约) +-- 导出 表 likeadmin.la_article_collect 结构 +CREATE TABLE IF NOT EXISTS `la_article_collect` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `user_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '用户ID', + `article_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '文章ID', + `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除', + `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', + `delete_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='文章收藏表'; + +-- 正在导出表 likeadmin.la_article_collect 的数据:~2 rows (大约) REPLACE INTO `la_article_collect` (`id`, `user_id`, `article_id`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES - (1, 0, 0, 1, 0, 0, 0); + (1, 0, 0, 1, 0, 0, 0), + (5, 1, 1, 1, 0, 0, 0); + +-- 导出 表 likeadmin.la_decorate_page 结构 +CREATE TABLE IF NOT EXISTS `la_decorate_page` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `page_type` tinyint(2) unsigned NOT NULL DEFAULT '10' COMMENT '页面类型', + `page_name` varchar(100) NOT NULL DEFAULT '' COMMENT '页面名称', + `page_data` text COMMENT '页面数据', + `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + `update_time` int(10) unsigned NOT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='页面装修表'; -- 正在导出表 likeadmin.la_decorate_page 的数据:~3 rows (大约) REPLACE INTO `la_decorate_page` (`id`, `page_type`, `page_name`, `page_data`, `create_time`, `update_time`) VALUES @@ -43,34 +139,152 @@ REPLACE INTO `la_decorate_page` (`id`, `page_type`, `page_name`, `page_data`, `c (2, 2, '个人中心', '[{"title":"用户信息","name":"user-info","disabled":1,"content":{},"styles":{}},{"title":"我的服务","name":"my-service","content":{"style":2,"title":"服务中心","data":[{"image":"/api/static/user_collect.png","name":"我的收藏","link":{"path":"/pages/collection/collection","name":"我的收藏","type":"shop"}},{"image":"/api/static/user_setting.png","name":"个人设置","link":{"path":"/pages/user_set/user_set","name":"个人设置","type":"shop"}},{"image":"/api/static/user_kefu.png","name":"联系客服","link":{"path":"/pages/customer_service/customer_service","name":"联系客服","type":"shop"}}]},"styles":{}},{"title":"个人中心广告图","name":"user-banner","content":{"enabled":1,"data":[{"image":"/api/static/ad01.jpg","name":"","link":{}}]},"styles":{}}]', 1661757188, 1663320728), (3, 3, '客服设置', '[{"title":"客服设置","name":"customer-service","content":{"title":"添加客服二维码","time":"早上 9:00 - 22:00","mobile":"13800138000","qrcode":""},"styles":{}}]', 1661757188, 1662689155); +-- 导出 表 likeadmin.la_decorate_tabbar 结构 +CREATE TABLE IF NOT EXISTS `la_decorate_tabbar` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(20) NOT NULL DEFAULT '' COMMENT '导航名称', + `selected` varchar(200) NOT NULL DEFAULT '' COMMENT '未选图标', + `unselected` varchar(200) NOT NULL DEFAULT '' COMMENT '已选图标', + `link` varchar(200) NOT NULL COMMENT '链接地址', + `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='底部装修表'; + -- 正在导出表 likeadmin.la_decorate_tabbar 的数据:~3 rows (大约) REPLACE INTO `la_decorate_tabbar` (`id`, `name`, `selected`, `unselected`, `link`, `create_time`, `update_time`) VALUES (13, '首页', '/api/static/tabbar_home_sel.png', '/api/static/tabbar_home.png', '{"path":"/pages/index/index","name":"商城首页","type":"shop"}', 1662688157, 1662688157), (14, '资讯', '/api/static/tabbar_text_sel.png', '/api/static/tabbar_text.png', '{"path":"/pages/news/news","name":"文章资讯","type":"shop"}', 1662688157, 1662688157), (15, '我的', '/api/static/tabbar_me_sel.png', '/api/static/tabbar_me.png', '{"path":"/pages/user/user","name":"个人中心","type":"shop"}', 1662688157, 1662688157); +-- 导出 表 likeadmin.la_dict_data 结构 +CREATE TABLE IF NOT EXISTS `la_dict_data` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `type_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '类型', + `name` varchar(100) NOT NULL COMMENT '键名', + `value` varchar(200) NOT NULL COMMENT '数值', + `remark` varchar(200) NOT NULL COMMENT '备注', + `sort` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '排序', + `status` tinyint(1) NOT NULL COMMENT '状态: 0=停用, 1=正常', + `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除: 0=否, 1=是', + `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', + `delete_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='字典数据表'; + -- 正在导出表 likeadmin.la_dict_data 的数据:~0 rows (大约) --- 正在导出表 likeadmin.la_dict_type 的数据:~1 rows (大约) +-- 导出 表 likeadmin.la_dict_type 结构 +CREATE TABLE IF NOT EXISTS `la_dict_type` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `dict_name` varchar(100) NOT NULL DEFAULT '' COMMENT '字典名称', + `dict_type` varchar(100) NOT NULL DEFAULT '' COMMENT '字典类型', + `dict_remark` varchar(200) NOT NULL DEFAULT '' COMMENT '字典备注', + `dict_status` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '字典状态: 0=停用, 1=正常', + `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除: 0=否, 1=是', + `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', + `delete_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='字典类型表'; + +-- 正在导出表 likeadmin.la_dict_type 的数据:~0 rows (大约) REPLACE INTO `la_dict_type` (`id`, `dict_name`, `dict_type`, `dict_remark`, `dict_status`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES (1, 'a', 'a', 'a', 1, 0, 1699343341, 1699343341, 0); --- 正在导出表 likeadmin.la_gen_table 的数据:~1 rows (大约) +-- 导出 表 likeadmin.la_gen_table 结构 +CREATE TABLE IF NOT EXISTS `la_gen_table` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `table_name` varchar(200) NOT NULL DEFAULT '' COMMENT '表名称', + `table_comment` varchar(200) NOT NULL DEFAULT '' COMMENT '表描述', + `sub_table_name` varchar(200) NOT NULL DEFAULT '' COMMENT '关联表名称', + `sub_table_fk` varchar(200) NOT NULL DEFAULT '' COMMENT '关联表外键', + `author_name` varchar(100) NOT NULL DEFAULT '' COMMENT '作者的名称', + `entity_name` varchar(100) NOT NULL DEFAULT '' COMMENT '实体的名称', + `module_name` varchar(60) NOT NULL DEFAULT '' COMMENT '生成模块名', + `function_name` varchar(60) NOT NULL DEFAULT '' COMMENT '生成功能名', + `tree_primary` varchar(60) NOT NULL DEFAULT '' COMMENT '树主键字段', + `tree_parent` varchar(60) NOT NULL DEFAULT '' COMMENT '树父级字段', + `tree_name` varchar(60) NOT NULL DEFAULT '' COMMENT '树显示字段', + `gen_tpl` varchar(20) NOT NULL DEFAULT 'crud' COMMENT '生成模板方式: [crud=单表, tree=树表]', + `gen_type` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '生成代码方式: [0=zip压缩包, 1=自定义路径]', + `gen_path` varchar(200) NOT NULL DEFAULT '/' COMMENT '生成代码路径: [不填默认项目路径]', + `remarks` varchar(200) NOT NULL DEFAULT '' COMMENT '备注信息', + `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='代码生成业务表'; + +-- 正在导出表 likeadmin.la_gen_table 的数据:~0 rows (大约) REPLACE INTO `la_gen_table` (`id`, `table_name`, `table_comment`, `sub_table_name`, `sub_table_fk`, `author_name`, `entity_name`, `module_name`, `function_name`, `tree_primary`, `tree_parent`, `tree_name`, `gen_tpl`, `gen_type`, `gen_path`, `remarks`, `create_time`, `update_time`) VALUES - (10, 'la_article_collect', '文章收藏表', '', '', '', 'articleCollect', 'article_collect', '文章收藏', '', '', '', 'crud', 0, '/', '', 1700321456, 1700404013); + (10, 'la_article_collect', '文章收藏表', '', '', '', 'articleCollect', 'article_collect', '文章收藏', '', '', '', 'crud', 0, '/', '', 1700321456, 1700449469); + +-- 导出 表 likeadmin.la_gen_table_column 结构 +CREATE TABLE IF NOT EXISTS `la_gen_table_column` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '列主键', + `table_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '表外键', + `column_name` varchar(200) NOT NULL DEFAULT '' COMMENT '列名称', + `column_comment` varchar(200) NOT NULL DEFAULT '' COMMENT '列描述', + `column_length` varchar(5) DEFAULT '0' COMMENT '列长度', + `column_type` varchar(100) NOT NULL DEFAULT '' COMMENT '列类型 ', + `go_type` varchar(50) NOT NULL DEFAULT '0' COMMENT 'JAVA类型', + `go_field` varchar(100) NOT NULL DEFAULT '' COMMENT 'JAVA字段', + `is_pk` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否主键: [1=是, 0=否]', + `is_increment` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否自增: [1=是, 0=否]', + `is_required` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否必填: [1=是, 0=否]', + `is_insert` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否插入字段: [1=是, 0=否]', + `is_edit` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否编辑字段: [1=是, 0=否]', + `is_list` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否列表字段: [1=是, 0=否]', + `is_query` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否查询字段: [1=是, 0=否]', + `query_type` varchar(30) NOT NULL DEFAULT 'EQ' COMMENT '查询方式: [等于、不等于、大于、小于、范围]', + `html_type` varchar(30) NOT NULL DEFAULT '' COMMENT '显示类型: [文本框、文本域、下拉框、复选框、单选框、日期控件]', + `dict_type` varchar(200) NOT NULL DEFAULT '' COMMENT '字典类型', + `sort` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '排序编号', + `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=91 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='代码生成字段表'; -- 正在导出表 likeadmin.la_gen_table_column 的数据:~7 rows (大约) REPLACE INTO `la_gen_table_column` (`id`, `table_id`, `column_name`, `column_comment`, `column_length`, `column_type`, `go_type`, `go_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_time`, `update_time`) VALUES - (84, 10, 'id', '主键', '10', 'int', 'int', 'id', 1, 1, 1, 0, 1, 0, 0, '=', 'input', '', 0, 0, 1700404013), - (85, 10, 'user_id', '用户ID', '10', 'int', 'int', 'user_id', 0, 0, 1, 1, 1, 1, 1, '=', 'input', '', 0, 0, 1700404013), - (86, 10, 'article_id', '文章ID', '10', 'int', 'int', 'article_id', 0, 0, 1, 1, 1, 1, 1, '=', 'input', '', 0, 0, 1700404013), - (87, 10, 'is_delete', '是否删除', '1', 'tinyint', 'int', 'is_delete', 0, 0, 0, 0, 0, 0, 0, '=', 'input', '', 0, 0, 1700404013), - (88, 10, 'create_time', '创建时间', '10', 'int', 'core.TsTime', 'create_time', 0, 0, 0, 0, 0, 1, 0, '=', 'datetime', '', 0, 0, 1700404013), - (89, 10, 'update_time', '更新时间', '10', 'int', 'core.TsTime', 'update_time', 0, 0, 0, 0, 0, 1, 0, '=', 'datetime', '', 0, 0, 1700404013), - (90, 10, 'delete_time', '是否删除', '10', 'int', 'core.TsTime', 'delete_time', 0, 0, 0, 0, 0, 0, 0, '=', 'datetime', '', 0, 0, 1700404013); + (84, 10, 'id', '主键', '10', 'int', 'int', 'id', 1, 1, 0, 0, 0, 0, 0, '=', 'input', '', 0, 0, 1700449469), + (85, 10, 'user_id', '用户ID', '10', 'int', 'int', 'user_id', 0, 0, 1, 1, 1, 1, 1, '=', 'select', 'a', 0, 0, 1700449469), + (86, 10, 'article_id', '文章ID', '10', 'int', 'int', 'article_id', 0, 0, 1, 1, 1, 1, 1, '=', 'input', '', 0, 0, 1700449469), + (87, 10, 'is_delete', '是否删除', '1', 'tinyint', 'int', 'is_delete', 0, 0, 0, 0, 0, 0, 0, '=', 'input', '', 0, 0, 1700449469), + (88, 10, 'create_time', '创建时间', '10', 'int', 'core.TsTime', 'create_time', 0, 0, 0, 0, 0, 1, 0, '=', 'datetime', '', 0, 0, 1700449469), + (89, 10, 'update_time', '更新时间', '10', 'int', 'core.TsTime', 'update_time', 0, 0, 0, 0, 0, 1, 0, '=', 'datetime', '', 0, 0, 1700449469), + (90, 10, 'delete_time', '是否删除', '10', 'int', 'core.TsTime', 'delete_time', 0, 0, 0, 0, 0, 0, 0, '=', 'datetime', '', 0, 0, 1700449469); + +-- 导出 表 likeadmin.la_hot_search 结构 +CREATE TABLE IF NOT EXISTS `la_hot_search` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(200) NOT NULL DEFAULT '' COMMENT '关键词', + `sort` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '排序号', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='热门搜索配置表'; -- 正在导出表 likeadmin.la_hot_search 的数据:~0 rows (大约) +-- 导出 表 likeadmin.la_notice_setting 结构 +CREATE TABLE IF NOT EXISTS `la_notice_setting` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `scene` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '场景编号', + `name` varchar(100) NOT NULL DEFAULT '' COMMENT '场景名称', + `remarks` varchar(200) NOT NULL DEFAULT '' COMMENT '场景描述', + `recipient` tinyint(1) NOT NULL DEFAULT '1' COMMENT '接收人员: [1=用户, 2=平台]', + `type` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '通知类型: [1=业务, 2=验证]', + `system_notice` text COMMENT '系统的通知设置', + `sms_notice` text COMMENT '短信的通知设置', + `oa_notice` text COMMENT '公众号通知设置', + `mnp_notice` text COMMENT '小程序通知设置', + `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除', + `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', + `delete_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='消息通知设置表'; + -- 正在导出表 likeadmin.la_notice_setting 的数据:~4 rows (大约) REPLACE INTO `la_notice_setting` (`id`, `scene`, `name`, `remarks`, `recipient`, `type`, `system_notice`, `sms_notice`, `oa_notice`, `mnp_notice`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES (1, 101, '登录验证码', '用户手机号码登录时发送', 1, 2, '{}', '{"type":"sms","templateId":"SMS_222458159","content":"您正在登录,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。","tips":["可选变量 验证码:code","示例:您正在登录,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。","生效条件:1、管理后台完成短信设置。2、第三方短信平台申请模板。"],"status":"1"}', '{}', '{}', 0, 1648696695, 1648696695, 0), @@ -78,22 +292,110 @@ REPLACE INTO `la_notice_setting` (`id`, `scene`, `name`, `remarks`, `recipient`, (3, 103, '变更手机验证码', '用户变更手机号码时发送', 1, 2, '{}', '{"type":"sms","templateId":"SMS_207952628","content":"您正在变更手机号,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。","tips":["可选变量 验证码:code","示例:您正在变更手机号,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。","生效条件:1、管理后台完成短信设置。2、第三方短信平台申请模板。"],"status":"1"}', '{}', '{}', 0, 1648696695, 1648696695, 0), (4, 104, '找回登录密码验证码', '用户找回登录密码号码时发送', 1, 2, '{}', '{"type":"sms","templateId":"SMS_175615069","content":"您正在找回登录密码,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。","tips":["可选变量 验证码:code","示例:您正在找回登录密码,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。","条验证码有效期5分钟。"],"status":"1"}', '{}', '{}', 0, 1648696695, 1648696695, 0); +-- 导出 表 likeadmin.la_official_reply 结构 +CREATE TABLE IF NOT EXISTS `la_official_reply` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(64) NOT NULL DEFAULT '' COMMENT '规则名', + `keyword` varchar(64) NOT NULL DEFAULT '' COMMENT '关键词', + `reply_type` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '回复类型: [1=关注回复 2=关键字回复, 3=默认回复]', + `matching_type` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '匹配方式: [1=全匹配, 2=模糊匹配]', + `content_type` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '内容类型: [1=文本]', + `status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '启动状态: [1=启动, 0=关闭]', + `content` text NOT NULL COMMENT '回复内容', + `sort` int(11) unsigned NOT NULL DEFAULT '50' COMMENT '排序编号', + `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除', + `create_time` int(10) unsigned DEFAULT '0' COMMENT '创建时间', + `update_time` int(10) unsigned DEFAULT '0' COMMENT '更新时间', + `delete_time` int(10) unsigned DEFAULT '0' COMMENT '删除时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='公众号的回复表'; + -- 正在导出表 likeadmin.la_official_reply 的数据:~0 rows (大约) +-- 导出 表 likeadmin.la_product 结构 +CREATE TABLE IF NOT EXISTS `la_product` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(100) NOT NULL DEFAULT '0' COMMENT '产品名称', + `category` int(11) unsigned NOT NULL COMMENT '产品分类', + `pics` mediumtext, + PRIMARY KEY (`id`), + FULLTEXT KEY `name` (`name`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='产品表'; + -- 正在导出表 likeadmin.la_product 的数据:~2 rows (大约) REPLACE INTO `la_product` (`id`, `name`, `category`, `pics`) VALUES (1, 'aaa', 2, '11'), (2, 'a', 0, '3'); --- 正在导出表 likeadmin.la_system_auth_admin 的数据:~1 rows (大约) +-- 导出 表 likeadmin.la_system_auth_admin 结构 +CREATE TABLE IF NOT EXISTS `la_system_auth_admin` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `dept_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '部门ID', + `post_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '岗位ID', + `username` varchar(32) NOT NULL DEFAULT '' COMMENT '用户账号', + `nickname` varchar(32) NOT NULL DEFAULT '' COMMENT '用户昵称', + `password` varchar(200) NOT NULL DEFAULT '' COMMENT '用户密码', + `avatar` varchar(200) NOT NULL DEFAULT '' COMMENT '用户头像', + `role` varchar(200) NOT NULL DEFAULT '' COMMENT '角色主键', + `salt` varchar(20) NOT NULL DEFAULT '' COMMENT '加密盐巴', + `sort` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '排序编号', + `is_multipoint` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '多端登录: 0=否, 1=是', + `is_disable` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否禁用: 0=否, 1=是', + `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除: 0=否, 1=是', + `last_login_ip` varchar(20) NOT NULL DEFAULT '' COMMENT '最后登录IP', + `last_login_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最后登录', + `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', + `delete_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='系统管理成员表'; + +-- 正在导出表 likeadmin.la_system_auth_admin 的数据:~0 rows (大约) REPLACE INTO `la_system_auth_admin` (`id`, `dept_id`, `post_id`, `username`, `nickname`, `password`, `avatar`, `role`, `salt`, `sort`, `is_multipoint`, `is_disable`, `is_delete`, `last_login_ip`, `last_login_time`, `create_time`, `update_time`, `delete_time`) VALUES - (1, 1, 0, 'admin', 'admin', '7fac2474740becfaf1ecbdd6cc8fb076', '/api/static/backend_avatar.png', '0', '5Xar0', 0, 1, 0, 0, '127.0.0.1', 1700402870, 1642321599, 1700402870, 0); + (1, 1, 0, 'admin', 'admin', '7fac2474740becfaf1ecbdd6cc8fb076', '/api/static/backend_avatar.png', '0', '5Xar0', 0, 1, 0, 0, '127.0.0.1', 1700462131, 1642321599, 1700462131, 0); + +-- 导出 表 likeadmin.la_system_auth_dept 结构 +CREATE TABLE IF NOT EXISTS `la_system_auth_dept` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `pid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '上级主键', + `name` varchar(100) NOT NULL DEFAULT '' COMMENT '部门名称', + `duty` varchar(30) NOT NULL DEFAULT '' COMMENT '负责人名', + `mobile` varchar(30) NOT NULL DEFAULT '' COMMENT '联系电话', + `sort` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '排序编号', + `is_stop` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否禁用: 0=否, 1=是', + `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除: 0=否, 1=是', + `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', + `delete_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='系统部门管理表'; --- 正在导出表 likeadmin.la_system_auth_dept 的数据:~1 rows (大约) +-- 正在导出表 likeadmin.la_system_auth_dept 的数据:~0 rows (大约) REPLACE INTO `la_system_auth_dept` (`id`, `pid`, `name`, `duty`, `mobile`, `sort`, `is_stop`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES (1, 0, '默认部门', '康明', '18327647788', 10, 0, 0, 1649841995, 1660190949, 0); --- 正在导出表 likeadmin.la_system_auth_menu 的数据:~78 rows (大约) +-- 导出 表 likeadmin.la_system_auth_menu 结构 +CREATE TABLE IF NOT EXISTS `la_system_auth_menu` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `pid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '上级菜单', + `menu_type` char(2) NOT NULL DEFAULT '' COMMENT '权限类型: M=目录,C=菜单,A=按钮', + `menu_name` varchar(100) NOT NULL DEFAULT '' COMMENT '菜单名称', + `menu_icon` varchar(100) NOT NULL DEFAULT '' COMMENT '菜单图标', + `menu_sort` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '菜单排序', + `perms` varchar(100) NOT NULL DEFAULT '' COMMENT '权限标识', + `paths` varchar(100) NOT NULL DEFAULT '' COMMENT '路由地址', + `component` varchar(200) NOT NULL DEFAULT '' COMMENT '前端组件', + `selected` varchar(200) NOT NULL DEFAULT '' COMMENT '选中路径', + `params` varchar(200) NOT NULL DEFAULT '' COMMENT '路由参数', + `is_cache` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否缓存: 0=否, 1=是', + `is_show` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '是否显示: 0=否, 1=是', + `is_disable` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否禁用: 0=否, 1=是', + `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=778 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='系统菜单管理表'; + +-- 正在导出表 likeadmin.la_system_auth_menu 的数据:~75 rows (大约) REPLACE INTO `la_system_auth_menu` (`id`, `pid`, `menu_type`, `menu_name`, `menu_icon`, `menu_sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_cache`, `is_show`, `is_disable`, `create_time`, `update_time`) VALUES (1, 0, 'C', '工作台', 'el-icon-Monitor', 50, 'index:console', 'workbench', 'workbench/index', '', '', 1, 1, 0, 1650341765, 1668672757), (100, 0, 'M', '权限管理', 'el-icon-Lock', 44, '', 'permission', '', '', '', 0, 1, 0, 1650341765, 1662626201), @@ -174,16 +476,62 @@ REPLACE INTO `la_system_auth_menu` (`id`, `pid`, `menu_type`, `menu_name`, `menu (776, 0, 'C', '产品', 'el-icon-Aim', 0, '', 'product/index', 'product/index', '', '', 1, 1, 0, 1699719599, 1699719599), (777, 0, 'C', 'article_collect', '', 0, 'article_collect:list', 'article_collect/index', 'article_collect/index', '', '', 1, 1, 0, 1700329092, 1700329092); +-- 导出 表 likeadmin.la_system_auth_perm 结构 +CREATE TABLE IF NOT EXISTS `la_system_auth_perm` ( + `id` varchar(100) NOT NULL DEFAULT '' COMMENT '主键', + `role_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '角色ID', + `menu_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '菜单ID', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='系统角色菜单表'; + -- 正在导出表 likeadmin.la_system_auth_perm 的数据:~0 rows (大约) --- 正在导出表 likeadmin.la_system_auth_post 的数据:~1 rows (大约) +-- 导出 表 likeadmin.la_system_auth_post 结构 +CREATE TABLE IF NOT EXISTS `la_system_auth_post` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `code` varchar(30) NOT NULL DEFAULT '' COMMENT '岗位编码', + `name` varchar(30) NOT NULL DEFAULT '' COMMENT '岗位名称', + `remarks` varchar(250) NOT NULL DEFAULT '' COMMENT '岗位备注', + `sort` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '岗位排序', + `is_stop` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否停用: 0=否, 1=是', + `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除: 0=否, 1=是', + `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', + `delete_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='系统岗位管理表'; + +-- 正在导出表 likeadmin.la_system_auth_post 的数据:~0 rows (大约) REPLACE INTO `la_system_auth_post` (`id`, `code`, `name`, `remarks`, `sort`, `is_stop`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES (1, 'a', '啊', 'aa', 0, 0, 1, 1699718138, 1699718141, 0); --- 正在导出表 likeadmin.la_system_auth_role 的数据:~1 rows (大约) +-- 导出 表 likeadmin.la_system_auth_role 结构 +CREATE TABLE IF NOT EXISTS `la_system_auth_role` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(100) NOT NULL DEFAULT '' COMMENT '角色名称', + `remark` varchar(200) NOT NULL DEFAULT '' COMMENT '备注信息', + `sort` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '角色排序', + `is_disable` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否禁用: 0=否, 1=是', + `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='系统角色管理表'; + +-- 正在导出表 likeadmin.la_system_auth_role 的数据:~0 rows (大约) REPLACE INTO `la_system_auth_role` (`id`, `name`, `remark`, `sort`, `is_disable`, `create_time`, `update_time`) VALUES (1, '审核员', '审核数据', 0, 0, 1668679451, 1699458583); +-- 导出 表 likeadmin.la_system_config 结构 +CREATE TABLE IF NOT EXISTS `la_system_config` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `type` varchar(30) DEFAULT '' COMMENT '类型', + `name` varchar(60) NOT NULL DEFAULT '' COMMENT '键', + `value` text COMMENT '值', + `create_time` int(10) unsigned DEFAULT '0' COMMENT '创建时间', + `update_time` int(10) unsigned DEFAULT '0' COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=81 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='系统全局配置表'; + -- 正在导出表 likeadmin.la_system_config 的数据:~46 rows (大约) REPLACE INTO `la_system_config` (`id`, `type`, `name`, `value`, `create_time`, `update_time`) VALUES (1, 'storage', 'default', 'local', 1660620367, 1662620927), @@ -233,7 +581,20 @@ REPLACE INTO `la_system_config` (`id`, `type`, `name`, `value`, `create_time`, ` (74, 'login', 'autoLoginAuth', '1,2', 1660620367, 1662538771), (80, 'user', 'defaultAvatar', '/api/static/default_avatar.png', 1660620367, 1662535156); --- 正在导出表 likeadmin.la_system_log_login 的数据:~20 rows (大约) +-- 导出 表 likeadmin.la_system_log_login 结构 +CREATE TABLE IF NOT EXISTS `la_system_log_login` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '注解', + `admin_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '管理员ID', + `username` varchar(30) NOT NULL DEFAULT '' COMMENT '登录账号', + `ip` varchar(30) NOT NULL COMMENT '登录地址', + `os` varchar(100) NOT NULL DEFAULT '' COMMENT '操作系统', + `browser` varchar(100) DEFAULT '' COMMENT '浏览器', + `status` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '操作状态: 1=成功, 2=失败', + `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='系统登录日志表'; + +-- 正在导出表 likeadmin.la_system_log_login 的数据:~22 rows (大约) REPLACE INTO `la_system_log_login` (`id`, `admin_id`, `username`, `ip`, `os`, `browser`, `status`, `create_time`) VALUES (1, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699342613), (2, 0, 'admin', '127.0.0.1', 'Windows', 'Edge', 0, 1699343960), @@ -254,16 +615,93 @@ REPLACE INTO `la_system_log_login` (`id`, `admin_id`, `username`, `ip`, `os`, `b (17, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700150134), (18, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700298162), (19, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700381343), - (20, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700402870); + (20, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700402870), + (21, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700449387), + (22, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700462131); + +-- 导出 表 likeadmin.la_system_log_operate 结构 +CREATE TABLE IF NOT EXISTS `la_system_log_operate` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `admin_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '操作人ID', + `type` varchar(30) NOT NULL DEFAULT '' COMMENT '请求类型: GET/POST/PUT', + `title` varchar(30) DEFAULT '' COMMENT '操作标题', + `ip` varchar(30) NOT NULL DEFAULT '' COMMENT '请求IP', + `url` varchar(200) NOT NULL DEFAULT '' COMMENT '请求接口', + `method` varchar(200) NOT NULL DEFAULT '' COMMENT '请求方法', + `args` text COMMENT '请求参数', + `error` text COMMENT '错误信息', + `status` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '执行状态: 1=成功, 2=失败', + `start_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '开始时间', + `end_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '结束时间', + `task_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '执行耗时', + `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=193 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='系统操作日志表'; --- 正在导出表 likeadmin.la_system_log_operate 的数据:~1 rows (大约) +-- 正在导出表 likeadmin.la_system_log_operate 的数据:~7 rows (大约) REPLACE INTO `la_system_log_operate` (`id`, `admin_id`, `type`, `title`, `ip`, `url`, `method`, `args`, `error`, `status`, `start_time`, `end_time`, `task_time`, `create_time`) VALUES - (1, 1, 'GET', '角色列表', '127.0.0.1', '/api/system/role/list', 'likeadmin/admin/routers/system.roleHandler.list-fm', 'pageNo=1&pageSize=15', '', 1, 1699343137, 1699343138, 4, 1699343138); + (1, 1, 'GET', '角色列表', '127.0.0.1', '/api/system/role/list', 'likeadmin/admin/routers/system.roleHandler.list-fm', 'pageNo=1&pageSize=15', '', 1, 1699343137, 1699343138, 4, 1699343138), + (187, 1, 'POST', '上传图片', '127.0.0.1', '/api/common/upload/image', 'likeadmin/admin/common/upload.uploadHandler.uploadImage-fm', '5c8950e543e8046320.mp3', 'Error #01: 300:不被支持的图片扩展: mp3\n', 2, 1700465126, 1700465126, 161, 1700465126), + (188, 1, 'POST', '上传图片', '127.0.0.1', '/api/common/upload/image', 'likeadmin/admin/common/upload.uploadHandler.uploadImage-fm', 'hrxz.com-30nsh0dvpby60530.mp3', 'Error #01: 300:不被支持的图片扩展: mp3\n', 2, 1700465176, 1700465176, 1, 1700465176), + (189, 1, 'POST', '上传图片', '127.0.0.1', '/api/common/upload/image', 'likeadmin/admin/common/upload.uploadHandler.uploadImage-fm', 'yiji.mp3', 'Error #01: 300:不被支持的图片扩展: mp3\n', 2, 1700465204, 1700465204, 10, 1700465204), + (190, 1, 'POST', '上传视频', '127.0.0.1', '/api/common/upload/video', 'likeadmin/admin/common/upload.uploadHandler.uploadVideo-fm', '素材中心 和另外 1 个页面 - 个人 - Microsoft​ Edge 2023-11-20 15-37-39.mp4', '', 1, 1700465870, 1700465870, 85, 1700465870), + (191, 1, 'GET', '角色列表', '127.0.0.1', '/api/system/role/list', 'likeadmin/admin/system/role.RoleHandler.List-fm', 'pageNo=1&pageSize=15', '', 1, 1700466101, 1700466101, 26, 1700466101), + (192, 1, 'GET', '角色列表', '127.0.0.1', '/api/system/role/list', 'likeadmin/admin/system/role.RoleHandler.List-fm', 'pageNo=1&pageSize=15', '', 1, 1700466116, 1700466116, 3, 1700466116); + +-- 导出 表 likeadmin.la_system_log_sms 结构 +CREATE TABLE IF NOT EXISTS `la_system_log_sms` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', + `scene` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '场景编号', + `mobile` varchar(11) NOT NULL DEFAULT '' COMMENT '手机号码', + `content` varchar(255) NOT NULL DEFAULT '' COMMENT '发送内容', + `status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '发送状态:[0=发送中, 1=发送成功, 2=发送失败]', + `results` text COMMENT '短信结果', + `send_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '发送时间', + `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='系统短信日志表'; -- 正在导出表 likeadmin.la_system_log_sms 的数据:~0 rows (大约) +-- 导出 表 likeadmin.la_user 结构 +CREATE TABLE IF NOT EXISTS `la_user` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `sn` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '编号', + `avatar` varchar(200) NOT NULL DEFAULT '' COMMENT '头像', + `real_name` varchar(32) NOT NULL DEFAULT '' COMMENT '真实姓名', + `nickname` varchar(32) NOT NULL DEFAULT '' COMMENT '用户昵称', + `username` varchar(32) NOT NULL DEFAULT '' COMMENT '用户账号', + `password` varchar(32) NOT NULL DEFAULT '' COMMENT '用户密码', + `mobile` varchar(32) NOT NULL DEFAULT '' COMMENT '用户电话', + `salt` varchar(32) NOT NULL DEFAULT '' COMMENT '加密盐巴', + `sex` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '用户性别: [1=男, 2=女]', + `channel` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '注册渠道: [1=微信小程序, 2=微信公众号, 3=手机H5, 4=电脑PC, 5=苹果APP, 6=安卓APP]', + `is_disable` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否禁用: [0=否, 1=是]', + `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除: [0=否, 1=是]', + `last_login_ip` varchar(30) NOT NULL DEFAULT '' COMMENT '最后登录IP', + `last_login_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最后登录时间', + `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', + `delete_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='用户信息表'; + -- 正在导出表 likeadmin.la_user 的数据:~0 rows (大约) +-- 导出 表 likeadmin.la_user_auth 结构 +CREATE TABLE IF NOT EXISTS `la_user_auth` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `user_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '用户ID', + `openid` varchar(200) NOT NULL DEFAULT '' COMMENT 'Openid', + `unionid` varchar(200) NOT NULL DEFAULT '' COMMENT 'Unionid', + `client` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '客户端类型: [1=微信小程序, 2=微信公众号, 3=手机H5, 4=电脑PC, 5=苹果APP, 6=安卓APP]', + `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `openid` (`openid`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='用户授权表'; + -- 正在导出表 likeadmin.la_user_auth 的数据:~0 rows (大约) /*!40103 SET TIME_ZONE=IFNULL(@OLD_TIME_ZONE, 'system') */; -- Gitee From 8d6b0464c323cdea02d3c60149963ceff3b45c7b Mon Sep 17 00:00:00 2001 From: xiangheng <11675084@qq.com> Date: Tue, 21 Nov 2023 00:39:15 +0800 Subject: [PATCH 23/41] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/vite.config.ts | 108 ++++++++----------- "docs/1.go-\346\211\223\345\214\205.md" | 18 ++++ "docs/2.go-\350\277\220\350\241\214.md" | 32 ++++++ "docs/3.go-nginx\351\205\215\347\275\256.md" | 38 +++++++ server.code-workspace | 3 + server/.env.example | 6 +- server/admin/common/index/service.go | 2 +- server/config/config.go | 11 +- 8 files changed, 149 insertions(+), 69 deletions(-) create mode 100644 "docs/1.go-\346\211\223\345\214\205.md" create mode 100644 "docs/2.go-\350\277\220\350\241\214.md" create mode 100644 "docs/3.go-nginx\351\205\215\347\275\256.md" diff --git a/admin/vite.config.ts b/admin/vite.config.ts index 1951a8c..7b4adbf 100644 --- a/admin/vite.config.ts +++ b/admin/vite.config.ts @@ -1,6 +1,6 @@ import { fileURLToPath, URL } from 'url' -import { defineConfig } from 'vite' +import { defineConfig, loadEnv } from 'vite' import vue from '@vitejs/plugin-vue' import vueJsx from '@vitejs/plugin-vue-jsx' import AutoImport from 'unplugin-auto-import/vite' @@ -10,66 +10,50 @@ import { createStyleImportPlugin, ElementPlusResolve } from 'vite-plugin-style-i import { createSvgIconsPlugin } from 'vite-plugin-svg-icons' // https://vitejs.dev/config/ -export default defineConfig({ - // base: '/admin/', - server: { - open: true, - host: '0.0.0.0' - }, - plugins: [ - vue(), - vueJsx(), - AutoImport({ - imports: ['vue', 'vue-router'], - resolvers: [ElementPlusResolver()], - eslintrc: { - enabled: true +export default ({ mode }) => { + const env = loadEnv(mode, process.cwd()) + console.log(env) + + return defineConfig({ + // base: '/admin/', + server: { + open: true, + host: '0.0.0.0', + proxy: { + '/api': { + target: env.VITE_APP_BASE_URL, + changeOrigin: true, + ws: true + } + } + }, + plugins: [ + vue(), + vueJsx(), + AutoImport({ + imports: ['vue', 'vue-router'], + resolvers: [ElementPlusResolver()], + eslintrc: { + enabled: true + } + }), + Components({ + directoryAsNamespace: true, + resolvers: [ElementPlusResolver()] + }), + createStyleImportPlugin({ + resolves: [ElementPlusResolve()] + }), + createSvgIconsPlugin({ + // 配置路劲在你的src里的svg存放文件 + iconDirs: [fileURLToPath(new URL('./src/assets/icons', import.meta.url))], + symbolId: 'local-icon-[dir]-[name]' + }) + ], + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)) } - }), - Components({ - directoryAsNamespace: true, - resolvers: [ElementPlusResolver()] - }), - createStyleImportPlugin({ - resolves: [ElementPlusResolve()] - }), - createSvgIconsPlugin({ - // 配置路劲在你的src里的svg存放文件 - iconDirs: [fileURLToPath(new URL('./src/assets/icons', import.meta.url))], - symbolId: 'local-icon-[dir]-[name]' - }) - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) } - }, - build: { - // rollupOptions: { - // output: { - // // manualChunks: { - // // 'element-plus': ['element-plus'], - // // vue: ['vue'], - // // 'vue-router': ['vue-router'], - // // axios: ['axios'], - // // echarts: ['echarts'], - // // vuedraggable: ['vuedraggable'], - // // pinia: ['pinia'], - // // 'highlight.js': ['highlight.js'] - // // } - // // manualChunks(id) { - // // if (id.includes('node_modules')) { - // // let name = id - // // .toString() - // // .replace('.pnpm/', '') - // // .split('node_modules/')[1] - // // .split('/')[0] - // // .toString() - // // console.log('name', name) - // // return name - // // } - // // } - // } - // } - } -}) + }) +} diff --git "a/docs/1.go-\346\211\223\345\214\205.md" "b/docs/1.go-\346\211\223\345\214\205.md" new file mode 100644 index 0000000..47dd8bb --- /dev/null +++ "b/docs/1.go-\346\211\223\345\214\205.md" @@ -0,0 +1,18 @@ +# 打包 +## 方式一:直接打包 +```bash +go build -o main.exe . +``` + +## 方式二:goreleaser 同时打包多平台 +```bash +# 安装工具 +go install github.com/goreleaser/goreleaser@latest +# 打包 +goreleaser release --snapshot --clean +``` + +## docker +```bash +暂时不会用docker,自己研究吧 +``` \ No newline at end of file diff --git "a/docs/2.go-\350\277\220\350\241\214.md" "b/docs/2.go-\350\277\220\350\241\214.md" new file mode 100644 index 0000000..676fd19 --- /dev/null +++ "b/docs/2.go-\350\277\220\350\241\214.md" @@ -0,0 +1,32 @@ +# 上传所有需要的文件 + +- 打包后的二进制文件.exe +- static/* +- .env + +# 部署 +我是前端工程师,所以我推荐使用pm2管理进程 +https://pm2.io/ +## 安装 +```bash +npm install pm2 -g + +# 启动 +pm2 start 打包后的文件名 --name like-server +# 开机启动 +pm2 startup +# 保存 +pm2 save + +# 停止 +```bash +pm2 stop like-server +# 重启 +```bash +pm2 restart like-server +# 查看日志 +pm2 log like-server + + +``` +## 查看状态 \ No newline at end of file diff --git "a/docs/3.go-nginx\351\205\215\347\275\256.md" "b/docs/3.go-nginx\351\205\215\347\275\256.md" new file mode 100644 index 0000000..b14cda1 --- /dev/null +++ "b/docs/3.go-nginx\351\205\215\347\275\256.md" @@ -0,0 +1,38 @@ + +# nginx配置 +## 反向代理接口 +```nginx +location ^~ /api +{ + proxy_pass http://127.0.0.1:8001; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + proxy_http_version 1.1; + # proxy_hide_header Upgrade; + + add_header X-Cache $upstream_cache_status; + #Set Nginx Cache + + set $static_fileSkF2fssP 0; + if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" ) + { + set $static_fileSkF2fssP 1; + expires 1m; + } + if ( $static_fileSkF2fssP = 0 ) + { + add_header Cache-Control no-cache; + } +} +``` +## 前端页面使用history模式需要重定向 +```nginx +location / { + index /index.html; + try_files $uri $uri/ /index.html; +} +``` \ No newline at end of file diff --git a/server.code-workspace b/server.code-workspace index 70b3a60..8c6cb20 100644 --- a/server.code-workspace +++ b/server.code-workspace @@ -5,6 +5,9 @@ }, { "path": "admin" + }, + { + "path": "docs" } ], "settings": {} diff --git a/server/.env.example b/server/.env.example index 6024493..0f2169f 100644 --- a/server/.env.example +++ b/server/.env.example @@ -1,8 +1,10 @@ +# 可配置项参考:config\config.go + #GIN_MODE='release' # 项目端口 SERVER_PORT=8001 -# 域名 -PUBLIC_URL='http://127.0.0.1:8000' +# 域名(不建议有) +# PUBLIC_URL='http://127.0.0.1:8000' # 数据库 DATABASE_URL='root:root@tcp(localhost:3306)/likeadmin?charset=utf8mb4&parseTime=True&loc=Local' diff --git a/server/admin/common/index/service.go b/server/admin/common/index/service.go index 36b0cfd..7d098d8 100644 --- a/server/admin/common/index/service.go +++ b/server/admin/common/index/service.go @@ -95,7 +95,7 @@ func (iSrv indexService) Config() (res map[string]interface{}, e error) { "webLogo": util.UrlUtil.ToAbsoluteUrl(website["logo"]), "webFavicon": util.UrlUtil.ToAbsoluteUrl(website["favicon"]), "webBackdrop": util.UrlUtil.ToAbsoluteUrl(website["backdrop"]), - "ossDomain": config.Config.PublicUrl, + "ossDomain": config.Config.OssDomain, "copyright": copyright, }, nil } diff --git a/server/config/config.go b/server/config/config.go index 25d4f26..538d58b 100644 --- a/server/config/config.go +++ b/server/config/config.go @@ -5,7 +5,6 @@ import ( "log" "path" "runtime" - "strconv" "github.com/spf13/viper" ) @@ -17,6 +16,7 @@ type envConfig struct { RootPath string // 项目根目录 GinMode string `mapstructure:"GIN_MODE"` // gin运行模式 PublicUrl string `mapstructure:"PUBLIC_URL"` // 对外发布的Url + OssDomain string `mapstructure:"OSS_DOMAIN"` // OSS域名 ServerPort int `mapstructure:"SERVER_PORT"` // 服务运行端口 DisallowModify bool `mapstructure:"DISALLOW_MODIFY"` // 禁止修改操作 (演示功能,限制POST请求) PublicPrefix string // 资源访问前缀 @@ -61,6 +61,9 @@ func loadConfig(envPath string) envConfig { GinMode: "debug", // 服务运行端口 ServerPort: 8000, + + OssDomain: "", + // 禁止修改操作 (演示功能,限制POST请求) DisallowModify: false, // 资源访问前缀 @@ -107,8 +110,8 @@ func loadConfig(envPath string) envConfig { log.Fatal("loadConfig Unmarshal err:", err) } // PublicUrl未设置设置默认值 - if config.PublicUrl == "" { - config.PublicUrl = "http://127.0.0.1:" + strconv.Itoa(config.ServerPort) - } + // if config.PublicUrl == "" { + // // config.PublicUrl = "http://127.0.0.1:" + strconv.Itoa(config.ServerPort) + // } return config } -- Gitee From 78abdaba5b896d332f70f57c5576d19e575ec569 Mon Sep 17 00:00:00 2001 From: xiangheng <11675084@qq.com> Date: Tue, 21 Nov 2023 00:39:27 +0800 Subject: [PATCH 24/41] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 20 +++++++++---------- "docs/1.go-\346\211\223\345\214\205.md" | 5 ----- "docs/2.go-\350\277\220\350\241\214.md" | 18 +++++++++-------- "docs/3.go-nginx\351\205\215\347\275\256.md" | 11 ---------- docs/assets/genCode.png | Bin 0 -> 300676 bytes docs/assets/work.png | Bin 0 -> 339639 bytes 6 files changed, 19 insertions(+), 35 deletions(-) create mode 100644 docs/assets/genCode.png create mode 100644 docs/assets/work.png diff --git a/README.md b/README.md index f98349a..2943bde 100755 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@
-![](https://md.likeshop.cn/server/index.php?s=/api/attachment/visitFile&sign=b24b2ca77cf50d28aeb085003eaa7063) +![](./docs/assets/work.png)

@@ -19,13 +19,15 @@ ## 👀 体验 ### 管理后台 - -地址:https://go-admin.likeadmin.cn
+本仓库演示地址:http://likeadmin.adtk.cn
+原仓库演示地址:https://go-admin.likeadmin.cn
账号:admin 密码:123456 + +### 开发部署文档 +1. [go-打包.md](./docs/1.go-打包.md) +2. [go-运行.md](./docs/2.go-运行.md) +3. [go-nginx配置.md](./docs/3.go-nginx配置.md) -### 开发文档 - -地址:[https://doc.likeadmin.cn/go](https://www.likeadmin.cn "https://doc.likeadmin.cn/go") ## 👨‍💻‍ 简介 @@ -38,10 +40,6 @@ 1.likeadmin 已经搭建好前后端分离的底层,包含程序安装、登录、登出、工作台、菜单权限控制、角色、管理员、部门管理、岗位管理、素材管理、网站设置、图库管理等基础功能,无需重复造轮子。 -### 🐙 后端架构方面 - -1.服务端使用 Go 开发,性能有突破性的提升。
2.使用 Gin 框架,高性能、简单易用、文档齐全、支持支持 Redis 等。 - ### 🐹 前端架构方面 #### 后台 @@ -52,4 +50,4 @@ #### 🛠️  代码生成器 一键生成前后端业务代码,大大提示开发效率。 -![](https://md.likeshop.cn/server/index.php?s=/api/attachment/visitFile&sign=b3b47da5d3752d38f025e1bd8038d231) +![](./docs/assets/genCode.png) diff --git "a/docs/1.go-\346\211\223\345\214\205.md" "b/docs/1.go-\346\211\223\345\214\205.md" index 47dd8bb..d65bb60 100644 --- "a/docs/1.go-\346\211\223\345\214\205.md" +++ "b/docs/1.go-\346\211\223\345\214\205.md" @@ -11,8 +11,3 @@ go install github.com/goreleaser/goreleaser@latest # 打包 goreleaser release --snapshot --clean ``` - -## docker -```bash -暂时不会用docker,自己研究吧 -``` \ No newline at end of file diff --git "a/docs/2.go-\350\277\220\350\241\214.md" "b/docs/2.go-\350\277\220\350\241\214.md" index 676fd19..a042544 100644 --- "a/docs/2.go-\350\277\220\350\241\214.md" +++ "b/docs/2.go-\350\277\220\350\241\214.md" @@ -1,18 +1,23 @@ -# 上传所有需要的文件 +# 部署 + +## 上传所有需要的文件 - 打包后的二进制文件.exe - static/* - .env -# 部署 + 我是前端工程师,所以我推荐使用pm2管理进程 https://pm2.io/ ## 安装 ```bash +# 需要node环境 npm install pm2 -g - +# 之前有一种不依赖node直接安装,好像不能用了 +``` +```bash # 启动 -pm2 start 打包后的文件名 --name like-server +pm2 start 打包后的二进制文件名 --name like-server # 开机启动 pm2 startup # 保存 @@ -26,7 +31,4 @@ pm2 stop like-server pm2 restart like-server # 查看日志 pm2 log like-server - - -``` -## 查看状态 \ No newline at end of file +``` \ No newline at end of file diff --git "a/docs/3.go-nginx\351\205\215\347\275\256.md" "b/docs/3.go-nginx\351\205\215\347\275\256.md" index b14cda1..0d31d0f 100644 --- "a/docs/3.go-nginx\351\205\215\347\275\256.md" +++ "b/docs/3.go-nginx\351\205\215\347\275\256.md" @@ -15,18 +15,7 @@ location ^~ /api # proxy_hide_header Upgrade; add_header X-Cache $upstream_cache_status; - #Set Nginx Cache - set $static_fileSkF2fssP 0; - if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" ) - { - set $static_fileSkF2fssP 1; - expires 1m; - } - if ( $static_fileSkF2fssP = 0 ) - { - add_header Cache-Control no-cache; - } } ``` ## 前端页面使用history模式需要重定向 diff --git a/docs/assets/genCode.png b/docs/assets/genCode.png new file mode 100644 index 0000000000000000000000000000000000000000..3e3bbdb807499489bf390503a0bf3dc892f1c2f2 GIT binary patch literal 300676 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� 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

1LIbPJ^H{@Xx9oJTWe*O4&su2q41#l}SgU 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

yaS$B#Na_{T2eV;M4j2jH zwsQHEWXb}m`B;^|?1;NtUAlU-FS&EEyH(fHc+)w9{8rzfzTS${=9`v|lZytv*=9n= z?_b((G|Y)#9aU#|N$(mFmn3>QZz!+qFYy!AH<|8Nn0~8!csuxi_$B4GZcTj9*Qwj! zOjvmw#p{+q`{`hx4Xdpl{f!e^D^XlC;fl+9%e{Gd7Qdi3;u&ng+T?Y z1C<(J^G}Glq`vE--U*Ps?E5;!1(YvIR(f-@HyUN`KWFb!6A5v_+XRa#oC=?F`LFS? znv<_lbV!d6*yg-ZTCV-)=hD55?3sF{8S?|2$R(*!ai0~Dh<5n#!mHLSkmWB3zH(}gSJeS< zI6))dmLNRIFZeX!5;qN;kr+E=9I$>6vK0JPLhiQ($1&T9IiE_O2MAv(w3SBbPYLCn z%ji^DKu@4zxUFsy-qgeLoF+HkkQ|N++EP??tRR{r(zaFf!8?oJSx&IDO?KrPgb)H& zreawI@r&`R?EH<6GHHxt)C!lt=vb% zF^l*gU4?$vCJl2{9*&Mua(AE|njHA;zwY|?fh7#;G$tgcNUXi@;f5hO2;R^@{=z^- zv^o*ovYz2(jO+QVq(&$45g$cDVc5rBUFL69iJsi%bE<>Aa}YQ@j%^^p!tA8*pCgvG zzQzY67~vlh3(|mK3(Uh6SDiCQ*s?De>%;?gvBwc(iz0T0DdW)s==fWd$c(jz}5r4ZebYgh|F07x?Y!9zi0b9XK_QR&wsv*VEY6agz_syVxoW(^`q@D*AnW@ z_jfr6!&$^KD&r_NaOW_m&s8s-LYu+9w}AL$opG#WIylp#{?Uhwi-)Pib)1R>zVS3$ zJA@2lw&pZt3f$v3o<7{q%C-z#^W#`PSP|A2tZIRkkd1Aq|A^5y;j@Vm332w}s&&2k zh5_qqzSqFCgOEsR-}&~ZnO7#*T&k>o)EwNAq8(A@&SM;fYat8VSv@#XArzokN-{O1 zBeDRc!WXE(2%0O8WwZYl)|V;TY+7M19<4BfiH;K5 z)xW@~H|W0YQXY$U_-iqk|=zxVJU9o&1wDKpg+^TL@hG5Ul~_FP=!N=fg1pJ3EAXxa=g$#{E0mYAV*9^jiZE`6M6gB z{FVgUO+6oNd2A28^LSJS3Ycubu%|4YgS7Yqjip_NkR#V-5aKWAFJV|U!jS@V^Zx4{ zCSOAir;)5ZMgby{Yij{k6aIAkU$XZ}^siyscm!`1Hli7+Vy6P;?ARg^fon!`u@M0_BK&_VmU12W^&q=vyF;wS z?Wx^J6L_{fNYd~c9@avyvTeOG4Cn^dtblT9b6ojIKz!B&TuY+I&>6E?Qmsae{VL-;8QBGakr_K}t$k1i>I9iWKt{ zIOiN9Unn14Rno-itS@v4j2vOH6ilud7vKJM@LwZw8WnnA(~D7-d(sNocKna(YK!^IcmTkGsQm0P_!?L#!I7pp|EX_{ejVqDBF5kr zCvo#9{#E!Kh^bFBmacbTBdy$hNdMVG8UdlSXC=Vwh#@S&?bQ$hSEGbcD(__eA3px5;C6N+$M$tN;;J6t_C74Y%zT35P!Ujj*pnq+A44 zBWf6q*ya}GEXL?_ZrT`I4eI_bz$d!W`KhM{SF`p>hP&=nT9N=fkjCG`;Rf)_!{JMP z3L%h+`|$EiAL3R#fA=SucpEvYb_@m!97*jF(u$MMT5{J z8u=O3n>+Y_LZKj}bO;-TprVQvX(s25&<=ASg?(Ju9R4DHkP;b%oUc(J)}Ke!M3Z}+ z`S2;x-eDhe@q)K&eZXvN?u%7LaOlH6)TXzbpmu_dHuhgf!1Cj)M+)yRF-mQ&UU&J= z0M4%$8^t=rU+YaE3c)Uge2xeNn|_YHf7FN{wi1dpy_b+(AIc@!0#Sb%}5~K!#0%) z2s39RxHe})MM^EpaT-!kMh-D&Aq)Goq9kii78$Kb?zgdO@rb6dR$ zVX*JO52vKfnfg~}6cI1EdXfu{SB{U+zlXx1n2EamZ5T#V4}3ENyRE5>+) z;mR`VJ`8stp=!~?%FpO9(PVEu#BCl6O{be)9~_XjlBj7^LGVe2dyvWm8K zO?L>=DJq@PAdMj1NQcth-Hp;9T^}t-cXvv6cXxN)1>!#Y+ zKWgQ47E^!9f?(eGAnAi;nG5<98;^bZp9I6b6$_D{-x_$w$_0qN9`^?E)w{7{PgcM^ zXjSwb+6Gszl0Woq^+~SdyH0B)KOt9&3Ev2B<&hx9~ge08$QS%Tfi-?4NP0yc-{iT7;=m_ zx)?tQLH$E1Qul)o_1INwK^+W1Vv ztLRG3vGGZ5KiEcn>gwcWPK(wia*k47Tg>M<7H*n8o4Y^t)MfO@VWCglx3nkh+bsmL zXw$^H!d<|sUEMvT z!)`DePj_%2R+W8axarzTk8^M~V%CXmfVjHeXc|SfS-b-6khpm*cCpbqcyL4QsHJ53 zr@f;7d3vIlirC?v7mIOiq^&^V^_LV`r{x{WGc7}(I)T3F`ClntwovV1VdjnZ-p}y9MbNyriTF z;}}AMFq?MTBhL^aXExC!1$H}yKSEo<9QdJF@=fZ!6TNv4c2M1&%SHcui_}2!ti3%O zp0hLK@;K4wfsdCk>RV()o^_U}Y@6NwTD?W6tM{j$GQAtWWk0*yHOS%Yv9fhsrMETf(ve&+4iq3MupqIuv@l2P#2Kn?%&jc&;~L^$Ke zGF}VI*ps(F3-*%CW~m#P>eOa6=b}?394oqN;F~};mkh9;66Fq?)kBh8OMC|hC>JXm zi=u^tOK$NItPX14&n>YfrQDscrTQC~)U{a`6nX*UAg1sQ>;vRfV0LzfJ{}|Tg`sS& z8zEr`*(ScAF$Ow*aFllk=v_71Obq8auo~zFXpIPxZYReq8`P8QgqQ{oCR8`|-Pv2l zAqOO{psnB!8~i%4@aT~I%xg3)1~iJ4@aLd67Ul`}IshuQ6m^MP$)s)&2+N-$bVsao zo}>WB%a@5EjNPr(oOR6rD)VF?Wbo4&IpL{TGD*IgHNqy-e$3HhtmhJihm}ZUDkhu* zqNHcr)tsS+&%L=Kb`Vupu|KX+qdq)Nw25`+J>*o?)@FRPQLZs~0AX`@AVuBZlwxq$ zd0VSl#6hYf%lqWca#7pj?4V!#!W5Ma4=pti(|1w`k}-n3!F1t}^Z0WynStva#JDT}r_=3M?RpZVfnIg{QK5i4Uvt!3pYS0Zm+N@ycV=#Wz)ORpZOVvy`G7htO zZ9h2+cWOQvY_oZasdaSf>R_I-iPCDxW@y?59)BTKFU?_CW&0B_;%|it72^$7&tJ^f z$#He(>hK6date^Hfa}31gnQwot5o<)O)|f!<)3wB+bdHw3;c1sg)`Uel`gl3|7WT5 zhWOFXC&(AIfwc}_W%JlL{Wsx&q}5t7{;69vrv)}3m42j(^KhL^?Yvd5o-FmZsJMFy z5^~s)*#7)}$&&U4Is;Bi0pB4b^G+}l9r*`R=BH7tunZ(c zAC8r;{iltw$5smhx&e*W6Jp+u$ddg%bH~#ix+zIl#Z~o_?c~JM-YA<*Gjw(BjiX9qCD0r&-1YT2g%pBj1o7uEb)K zQhe2@^fBgIql7W5wgdd3HH7zVy{Mw-IJ6z=V7Ia&kJL@2HivO*8v4ct4sD51HZirc zOhuznO5aaefwx_MI5=EtO&?+(xr?{cl1x&4cs7s>$EMMq=N&C%u{! z9DqW+@IX=H2`nT3J7ebf2LHQ_{Kq8obRJGJP;1+G#Ksc5Zs@94LXqy2T9q| zzqqBlWwz zR%sP~5fFxf7$NZ^1IgBpdY;jy zZXJ4=yeD8uH95q!>u(BhyHn5m;WkPjSoTd{GekHEkcZlpeiF2uepzLI5E?d^M#x5~vycKA}R|hW>Xd$Ondl3LCZL$YBe{ z)>bFyc56d}eaYwOQtM#O8AiciXy9P7e6Ln~W$OJK)^g@zN0|q3hBtL}(v{Vylf2c7 z79^90EIIlrjdjmilvs7NJY9|kIXrOGNk;C=uEKBeXW0VCdURln1w(|PNxpq%1|b_V z0~cYyp9J;LU*Lv%n&J{bnJBXYyax~(Em`cQl-9G%V@GA%+gDA@oB_WkKh5DnvWa7B zsEI%P3_IVdKF<>B&O5sB{SsBBTI?RnJ%V$d;n9?bpx`OKhX99N!P~W?n_(qR0Mu`A zNu)QX0mvcf(MJEBV}jr)QUbr@We5XT&=x&xy3Z`p^*$_ETg6swxWvZKOwa!?khk+= z6R74eNUi_VXHl!~&Q-z_bot?QFD6LwyiyJT#Itx%s<_nU-~Nliep5*Ghx= zPY7L{WGI%=PovBr{PnBXN4p6()$K3^16H22o^b&TPqnuS-3+hQOCXEi} zYsB+4xyf?{j$gFE%OL4Ge#g3a+1Rkmwyr(epyAz_esKdo{Ou}%;q<)5Pnp3#K1Jca zKRhOP3U{OBV8%gjA>k8zLz7{$VvPPPUDamp$f!D!h!L4XF_nD!XDyqfNh7jDZ^o-m z`x@VsY3qiuC^xvTJw=-Ijjqm3QcbY}i$RySt!55(&t}^|oKGz^Bq{JYJqCBmAM6l? zKLZp;fN7h>ftd&-Dknqa4oMrWC3(8S?iwbNDOu>Wc8&rp9IC?zCNSaKW=L~3pY;9U zefa@$=);-^{$X!z!-PsrI>(b|q#QMuoK{YX_$MaqAejA*Lf^vFmO+5Q8VeL2o+_p` z!UHa|bHnCjIa4d>`ijJY!DQ^~;H$R#S9;V?X$IDR6LOA9gwL$wv;HGui+Wze!+aYh z2Z*e=$}q;hp;(#eMo(vKdO zH`7j;?vl5v0c!8Gci1r~hmH{%%6dtgz15T6a1sz1CaduECy`+~I3{;>yMX=9%1 zc?(B|isDQ6R^-p}dB}<3>LIb{0>PVVc;JNdkSVbt9x^c3cz%es!7!O*Fmhibbpf$8 z`7fe$|K*pNN`*XH)$=})s@{<(fA+Q!2e_=Wz}WHqq{NZ2H^gGa|DQZ{WJg=(H3rqE zq!z;A?4LV-XI2d&X4>$y|Jl6!VXo_KY=3SV-%*5NPmChxa4LrOlTq~)D^1Jw8e<-2 z1+!zm!Lqf*1e84y_7vcL#yJR6SXOB3m+vV)?4O{~KMx!G_{2|F`_%9MLNcW-Te<96 zKoiLO3S;~pI)RjG^wU=}bf+`XZsH54_z*xtk7yC0T!FKIamZ5mi=A}MsSQt2y?a`G zf|pp&`{V2CvaLkEYYs1E1|KpX3=SWxpuqoIaEj~*r=SA!$<&r*vlRc&ta^N@P}<3V z%6KWI+6vTyY+oE0KiBJhoeF(tXq=etX4N!V{*)olx6Vvje1}NRVg4W-cDzsoFJ+Py z9M*$3W^n%i5c!>g8c%~vz%fWl)M*^3h>5Jd1iyn}-4ai37{|D;*&A>8R{|!|D9GC~ zOf2)EZR^h3_K&6=GOX7RncxpA=u@vPU&c3XcTbBr)V7+HC%3Dq_rG`EYzG56~( zkT}V;%>I)H4`^wsoi<{J2*H5r{J9*+ z;XVfkNApDvh>Jz3n0YEkVjh(}>v0?xE+VlEbbfgb6>ZDJ#dt z>b*W?yO>{pQsVY`)}}>)=?41yR$LR=R_-Om^gQWA3@ZdY<}j7MFEs<&`w4^f*(Vnm z^L93`%ra#ErFpl4BO59H055~3pxx~ajGioWMTkFeOomg#6)j|eb(;UHr3_?8cZpmd zKJb3Xzk+w(qC&~;*t7b!tlRrNR$7qg#knmReWwE~@=yMLBv6|tZMrOru_R72h*%MI&F7^F_suQNsN&de@2Ax}>T7`JZKRyYwvZe^x;1 z_S7!p|9x^Lu6)qgzUU`E3npZx??$$4;1pVjc>34l_|FPMk# zyRVe%T4Gb$9Uk59|CJI%*fQ~AHyh1u?6ZTPvNVQsBjwb9?teLhP9(~}PCig00FFLl z;wqyFCJgxqX9+XE(e|2J{&fwLE)Cpf?3)fo$v{8}FE}gP{30T6x(4?s8)O1D#bB9P zjRV@uil>#E`pLXE5A`T3Y@O7%TLEz~2*y?ijQ{m8D8Y8A5R^9Ys^pfd7AJhN9;Ss_ zo+}f|zX#1gA@ZfS(z%y3BuYSErRDYK>EOTrC%h;5eKQZ}+)pj!8&WV-ctv)B49Kdo zjj#=NJx-!XkdQN;%97~5tPpD6A^%)OS*zKT{S=BYnO9v;`Rlwfx-zm>tv>?|qk)F} zj*GyIkQkCZ{Cjj&+e%W;xlFVqz3fdLgH!04t~Yk?L_! zGoG&I$1YeL0*ZgNsXf(Q9B_u>cR#-9VDbV=GS9<%T>1&B9CE!Et zCaDB-5hH@dpoNXePAFpog|8;PPZcd=lpHAIrn$2wlBct#fBu}r7xI3cZPP-rTq!$3 z4T+$cbmwwxg?%%jA23jFPNA=QY=4Rzk%DvYD|0rXD`RX`aJWDsa10Peg|m=tP7`6d zbDWbbf8$^#1xNG~XnAd%VTp>IXoNA8_P(6vm$&eEzBYOu0tPa&mfr>T0R950g)nw^ z7T9%StGIU-i-83nNmosH1Weg+#B;m8LU~_z z)NnQ9;45GHUOP>O;#DJ?xCg6B0Tf=ALI9BDsbY+I!jNPzQPo4;wX=;I1llaQo`k~H zfi-Sz5nTV!M67iH3_cSCV@1WD>PqLvym7= zi-g~Dc{*sSSOPF1dEj_kQcAX73hwXkuHdzK;(r=QYm*NJARQ?wfS|oJ6Q5^A{XQxoZKOi>Y=k^~#$%gJJ(XfP0@V;WOt&>oeYI{t_%Q9wo24+fxC&Nymb4U)&=d1E^#6- zjF8=LXf@3~uMF#!cT%UJtAR5Q&BucDsGMNm(Sg#XIj_hMZb&K6nI|{)kSW&KW7+nH zD%U5THjHNIG&$)o`B%|qU~2eAIIn|+DaVJ$)9lU2v-^i>z;H9szZP&EANUNpvUg5G zEv;`M-n>$WRBBmWV)v$&{bX|igJGT2rp_E0Mb)SS*Y_OfxT zR_1k1c`Tp%PT>wK@!ZHj0>m|LdyBl-5II7s??c|UW{5tZ4sR|wueY3W(jZhA18hMM zP*(Zzk7oDH3|yv*0;hk5TBMgrBvn&l{2>)t9VC zNdCrQS^8KRxZOX?+f1 zKX)gBIf=O=))T46yiEAU2SmZhi7XH7#>6<6fCS~|mGjn4l{Cbap+uckX}koER^vT* z|ChE9cTk=!G*)L3WKP?6qjra*-$(njE@<@voL^4n1%u@NO*V_k_S$gVQ?JEiT*-2S zBK`ig@CMlx-V9@;gn^byL>xOqt)L?k0rMG)K_JW-W?nh7g+7{Jg1w1sMkzZ4%lE^A zV*YD|;#^1S%ltKgUMJ=f%Y|0oZvOjZrtG55WGJ)Jc-kjb*;o9hS!xB_Cknb$1jFeg z=T7A~l2Nd#A83ODl1Z!H6;lkE{9Qk%4XP&}-e*S4K5v?xILpfb@4r2dtLNDueH|c- zMktoKuPPg6&ca6~6H)v{%O^C3JZJLL48@i_zU!x0pWAXA2EM;v3+jnA(0^Kqt%4`Z zo1kX{>DBD*SVVkGT3$mnZkPA2t(*o5HGzKKSduL3t#-58KCdf!NEtMTCrUZ)TJbNi z-w?9@hOffnG%n7-MfqxdOjMRxdS`X|0TaQmHSEn#(J0nkWk!4EI4`&fKX43Q6d&~-e~+2@sPf=i>ES1kcJ$71Yt)-Qw!cC?Pw=?hwE`DU!Dk!{ zS32u=-U*}@yDNA?HpKU0$bwi5%bIiQ@bRTug}lQe;#4R5G6~_5MwA8MbU5@LUafZ8Od?ESs}AlV9GtllrAMH zAEk&)@3po^8-gSE8?nF6kYlkrWUz~dR1%o$L((G8u2`Ux)H;n&Z3fp&kpEnN0^iof6*9Rv#^FzxJTJBV!*Y5?h{MO#WxZ)0mA)kbn(S0zv><>JOM6-7Rz~ zM#U_lMi@dEUMGQFzYqs>I(tre1QxUO?^ z)|4*R&hEI!Y@v($@w9(td(RNF(Mx9_zHR&#K226aWZ4zGhQ`}A3fEGGWU*T-F*>+in} zYa{e-DlAB*i#1Y_>N78WD4ILdZHpBAmK`PVx4k zX5NveoN;qon=)&ie8NcLy$L*m-SN;KojW^858Q&{gI?2*K)IiqxQc0 z#%g+Z8`c<=1Uf|M5;$pj+hE4XU{{n}NX?`K$ltdj>qSyMOwF&lhq#e`awe%??_nm?G z<74fz^=V>CmrXx4%j`Zk(`424UPrRP{ZRVp%(Qwm5MU&X*wY&Gm4QY`6~5&mFo!RA zfIZY@%W9&59LmTkS1f8F##>7NTOLR-MC)a- z4`>_1_q&&M3LmLFMaeWb0`~9(IHohde7h1}KVp^mXTu3Cs~^9Z8=eKg5(ugCQh+F-HS)p}kZe9?3Q zw<=j*3Xyk$(i9J7q9V1F*8}`K(UPuFhiWRD=k6iRh5sFqwxtTh9|s?eE{rLMM>dCU z_#~%(;<$j+dYCfb?tN-sv$7a0w(hFLeB;&8yR%d>?w{gBh3+1Fjks+eHQ{N5aRO@= zZzb+g->hc3B0Kqc*Y}m0NH(IB;OKlIeEX2FTq^?^UaC@OrfHvFQ;N|f;9=`u-MOyP zLQJIZJ{;#7D(EBi=l$$P9xw`EjI^4xzdx6~F=MEGevRcC;!cPBHtT%IIw+8YD3;PJ3m zi(NM$bEvaVPT%))tVDbU&O9JS=8ADA+|{mLa%ZJ(!+YZ6l}8_{n?rk{jz5@dj0MOr zAD4s$RB;|qMWeFt=742XFyYkEYgLay6T9(r*+n~=0)`cKX}NiLZFz?Hm|yjN*n>73 zbGHow5qHU(eJK5#b6hlbDmE6v4oRJBI7uA(cM_O!Qt%Wl7Il{dHsz+S2CWsRwdiw~ zFxfo^uBwJiSb`#%Gqy&20kGC-zwnz`X$PN4lH8EXOcDPCz`E@4eUwSd`YohauKY?e zRz}e>V(C7oC4L22TG|G-9(F1C!rjg_t#p^Lzz-{Htm66tPH+TSjhE}oeU;bgPKxRH zp8#xqu5!d*`D`9d?Q-Gw)0tz7jXS8T>i0$Uy$n%kZWP#^sV*L9IOLavE zCEQsJz~wVUw5F!01qW?N8Abf3>;t3r923{jt`J?ZYqG=+&fNO^%RwSLASa2Yo8$o4 z!AF9b@-wr1Xg80xs1&_dNxC&Y3R5LvPK0f!v0Xby?@`mhAC}}FU=owckG~abeq&ar zNJ3$3G$^iNvSkDMSJ3Al9M*}X#g(HaQ4VT?h zahPVJopok4i%k)U2-e0G6<>9u*jCXm-qeSvHhQaiSn`vTH9-7fMSPzC2yrmGJYJnn zo7~%QVg32&5lIe2XJU4FyIVV|wIVW*s%66*n3@poD~UTy?HraoPM@LbUm2huwy(n# z!G4)=b?|hd^mM<&#!CHJ@_=kF+PJY3$X2x%CPQrg8Xjv@@gVK3MA=ddO-n3qwB}(~ z4f8ueGBWs^&>nw-9GA<*0?5*DW7s>*X;j)ZLbz{|BFa}x?fv9FhNS+&bfIYVSv+h} z%4`0ql)?P~$}yL{axQH@b-0Z4IZP_7I<@ZOr-3dn>rG)<;V|6+YieAa9TQ~GRN}bEYoA#vL>RJhKN>qlZ2K%XK9SD&i6=r za!xNIsHoPa`?urD8+5nO`%m(Y9N!FhE{w8)fUo3}Dh41Z#7@w{Q^^cN%Uwqtt&)3Q z>&m5Ydud6!e`*%BRK63oq^+jOD(q+La)8Szlpa{L5eW0l5Q`6m{ty!|?qP<~@HG^( z)l?-4@BV&-_pFHchs{VKag?m{)ouD?VA36bI$yM}AaS1eI!`-3*sx7=oN$5vri^XQ zbm2w@_52-ATzk&>Q3hp^unvuj_^)ffBGTS!@_L8H*^aLtcWOA$Mmrqx3E2NwU&hr& z;vHDtL>!Y?6sy;(2Q5a1kKIZPGjQ{IzlJ5j@&6hSbO;vOZpg-gY{|B%cc4<8QWDVJ zgd@s1u#H!2Z8}?S7Vf|}I4@tt}x(DVh-Xn4J)t* zlSd{e%6`^JHD)y_{P7fZH(%yVMlMZ2`sluE_KeET2>#>8D>2NtlZUF#X0C(RqZ7V0em_mkqo3kH@GZ(8>==vUq>kTM^vfP*muudj~! zdy)Ul!A*7aAJ0C7SaL(6Ebs4~d&H2=pCncYr-;dJ>l7rE_U#N?s@BO^n3uWwm$H4` zPKYF#b1lKbNw?U zJ%wgV2^UzF6b>*Cn-**AT68`dyY2y-Z7Ac`n;(CLoClJkH+EQi;f9{JC%{8vh(o5v zCX00+6=@~~+ZZt>FjKEz*qk0dtfAV24xrxoyGt}Ol~4rRZyd6QzJny*==J^D=$5W} zc9QTxg8NF9IPT=yY!CcYaGlB(xl7J*jaS-s7tO<)#7O;y_HeJhnO?+_?W_E-*EQ`@ z@Znh$lA%k9lw&E?5jvlzvu1XiqA+V=h)f$`acCTBNrWF}Zd1R(t$SW7Y^3<^QXYuH zd9bon1-{SOuq}A?K6GFu2tmo?YFcg1@CTQPd8g#;$YI9fcO_(O8vMv#sj-*{kJh{U z)%`T1Sr^-oz1C$K1ZzWvyDAWsLk^GK77xp6J*B;ZxP^~-tx4E_ZUtLRF-CLgMk)zK zLWPGJp{OueQ$Ke_kPAr~c6cKGB09m8_>3*^8yu2(5ocDj)D)j)oY8sYarcn;xC>*4 z-$SKs)kDB&f154*`d%-FEwoWr{nuOVF10O0I+8YNp4$OGjC$S+^Sgt;14ixDTkP>%UQrPq zt=HEBSHX9Kulso#0{b0oy&PDxmj@oJhq52vxlt*K=dzN0$1!ksb?jx@gpS*01!Bk3H7R%3q{*`FJb-Qt6IB1+|0YRHFErD%&dY95{Jl9c_Cr`O#Rhcx*#JlLO2dGFCEKz7n93q^OxrRK4j(J&7ij>H_W(3||^)+!zD z>oOPX^yl0s9+46+L&a?W4ShCswt+2wy<41&&HV1(t0!vqoW1xYs(k$FpJnYKF z(^YHn=7)+i4SC(1_p$})=54;|!_vTt`ra7mvOMv0-$g%>0V^J$QBcRU3|)#p1;;95 zlI1ZfzfE(&HIqV1KbqkwW#Ok4QY#kMgC+Z z{y(ihFC{v*g=hkJ20reNT7q(bx6%(pJseJ|9*)pOM%>)EM#Ferp>;`0`0;tn_)r^C zO6=G0RhMBZ&<582Y+CtyOemi@t9k@_tKbHDFoF?G1QiX@3la8?_%YJBSM#ed!eJqN zi*5I5;_jhCv6j>Bv$Yu*WFR7t&W83+_e4<9XpC74-bWoq^uXRtTZA)Z{$8h z-e*96I%u^w&~*#QWI3D)wVqhzW?%Vy3|ZfT;b#Ajo_qtp2J15JOx&|b=N%*`rjck7 zT(Cx^w}Hh|e}7x!0dWa^^^w%7!7p2TB3Vr9p2i1F3aIC?L*6g6wY<6Y`50uQLgsIq zN#x!&d)ddz`#mVhb+INll172eO>v3Jhd1sBrLW$9#YC9$RTPE=P#*7Scs*4Mo&(?D z5qK^UcVb)~fZ$){;b`)Jm7@6RuKA`B%D3+%IU5zXJGcGg$8K^WK@XRh>Ljv@gsG@_cwb_525wC8h=*CL7EiaQE&5sT(3~#P92q9aBR6b&)0Xlze`YDnRv~|5O zn6You6;4A+qSdopXIcZQJb1Z!h5pF<1Yk$ubv$jY6NC!Cs+2;Dyj#UWwlj2!=ChwmBpl=*IaBJbT7#m z|7QbR0H=Os`RhB&UA+gopK7*R*fHKOsCpc`U*g@7_ObY`&_+50Tpca!g%5$NhXfeJ zqD+q(cz(_^fXX$g!{$6}DH%s6V`de%u1;67bYjJ9`w3Ebg{mo1-}!riw}8{dp8?Q5_`V6z2fcH{Pwb9-2G{2Xe2QjUVuhwr;nkk~?ZR`+2wLKG5%8o*%*jFZGV(Rm*UkEuND|AaZ+Y-^?J6;}GS{_s^)E+~0cg z(wTgTo@}EhD>NZ`t;xKph0z$w*|tW!nCR&?wICZ>csO3~CAc-mKG4Y1H@Af)5;nYe zv^c4gXGO;Mo#7gI62uX6B_c_iqfLs@7X`V0amGXBoh=-}r>=|Far1qzER|i5c@I;4 zcl8Ta8Hm!E$TpAkehFHJbL`Vq)r+972H z>8?@#*3!X>VA?KGD{8u|#0{>}!{+vDh9~vm%MM$0?-T_{aNidz)1>93!|+QjI+emJ z;V5@-E=0+q2EArP)-4o4DSJ&gRb*OmmS-cHm}z>mM+vFO6}Fvh!D|`gAbL)+{n>Rb z&ENDunUbKsJp0GnRO}n#%fe-H2dquk-bUUFi_?RL`{n~k_9;8QUl=s@5{;`N&D!S} z#WQSFwLVMhEh%(S_u3p9f~aRa!|a!dT=8orqx1@m4vUORGfS;(d^HB8b4=Sug*{lQ zxSf~IJic+Cs-qr;P|s{H&c6;Y?h%)|8iys%=Ko|K>K@qv$BiVLFk$e8w%`%LVBT41OSJd^k+MliQRfROwH_^J@{i)ZcG;(x3RJtU(U(KOvapU%`ntCEdGU7WKz^&*SP;i=gLxkGIGYAB0H?8=8b z!%CBo&>@@Zw)bnu#1x9}d~A6{vS{5J33-~p2IfJL=i0lL67(C7g^=F*w?+x(qviR% zNRM+z1n0p0e$~!A-(t@#-FJvJFc%@}Q%d=`u0w1?F#=07GFuO~vSXRm1=edMq!_n5UJ+NkV!cCkl~x~y;Ymz0akQ}3o72|sfoO{+5A**{H9Fl+{x4C z_fdxJu_5&!ZP#0OS|z4YTx}~@soNnf80~?3=5;&K#4eYJ@2A|r- zwg$(NfA9MEkxxHDrYgbB%`-8@v*;fA(2-cJ-gS*tsc5^z<7)nQa|mHN%Sox#vidQd z+9OzUNU!T@07U2@l2s=n#1Joh8`ZKZDy(6Y&xPuk3bJa7J@z&MrHsA(kHxLgzJPTS zB>lv)i4XOb)u5KvZv=W!28!tT%0uOsu^%>s=s$R=N8r)+pG78ZSf0k72xp*NKCulI zr{%xiz%nBkXTFtR4#bKs9L(r2OyC;2L3B0h087SJfQj)j0cxN4I=6f5yxc1g_Az(} zMA^HopDR$eDRa$TiF@y;dNMai`tDT4WxWoY5MYp0J6RL}BXH|Lba&yTO z3~6j#(8ZIY;OS-IvUhz3d1v0Xpea~ADcF%zx^mC&ZyM>vRzu_?9fh$oUDz1Xs+CU| z%UeO>LEQBXZqDs(BNO;Flr%N5tozFAFb8|M0^GXsJ!uxZeGfj<`sGJymEF#Ii~vwh zQBMmIN03%XbZpHm6bDH|yLW2~Nkpe+n-|zp=C?JND>kUI9E(%Sui=$v+%j*;c&||l ze^`JcrqU%YZiRCfCvh_f7z_PkswSVVxP>Rpt}@#W_+Z}3xz|g;*+uP-_$8zPO{&xT z@&LV-3WB=5BCPV#%{K5uyrAcLv0q`yjpKdR6+%2#pNsV(1?ag{y$!*ySB~w8B>P`w z)}!?maTKS$mgr{ZaA0Wh!%mxcPc03m--LAuCA6%ZGH2dUNDIKcqob|rrgg=%NqH#u zu;6qf+T3B28{XXhNTwEM#qa-qrnk|igZXv=RgNo5QLq?fy*HA5BcsDDzh$Z=eQy!A zW9DA7axd0C#uV03;;sa-QbWil@iX}&7K633Mm4SEX?@8z#(vcE<>l^9EY#+)5AbP* z!RMo?4X=Llx|%e3dJ4>L7CG0^;ifsYeLMa%$KYJ0*BQziZ&|nrVhDuI%x)FcL;2#n+=*;nqH?eFp2Ybh-6t3A|0nf`F>YUC?d;MV^SA z$60S`q*1 zW~qu{=~oJPB4Xf**R-jN&BSII(e6js+6w2K01v#aYu@M*S%5Z zXQ!5Q?-xHXt+#w6Yr}eP7KpU9^^Q|p$19pjAlx3q)eB7XrCPMPK%FOe_M`om?ZJ2L+=7h_0_nz{^k$6 z{f%!~j9`ZjcT8;Bg4{(RW!c^SVx}uj{XCRO_9e>3RBvg=@+kY))x_ zCY-eUj|HVgOKyWzqxM!P0_s&JtqwPP*1uD^97QhUk>oIZij##j@UvC?9AMiL>_ydd z`397+wnWs5m$*$=GnKP{Zt*@hbVFs>^rsx5A#CMq)$l@S{9)h-Uk=1D=FHCTWsb6{ z64(`q6^%`3%<%Q*k*CNrr0aSy)k%QcH@M>6`Z~ICb|&Wr!^XA#KJCM3!#pj+X3j$J zYIUd#9SzFrRmks$_X7>%P28!89t&A`2k(A1!y`ao|Ke2a|L0gW-`@YAac`uae(b=F0#zIVx~vjQhso;fP2fEgN#cp+FmXP;+i#7v z)WlDPJTBYBUw#Y%5Cm7R$N4doxMeB*jj{`ctGx32v3j0&wibaW zwV~8^*az5G+H~gUXyKL`J5E^^IM?)dIH_^fy!6nOKenz;%8Th$eg}>XHu+GZ;x^8- zV6XdWT>|TBA2@VwJssm!#hvfLWL0v{T889$cH{U*|3?Uue%ampNqX1bE~wNoYBbcPT*QY6;i6Bo+=Nvugavb$I|Zp^iozEj3Qrlhp^g9ml*2JB6NjK-W~ zF6(DF=?iRFoCDb#LWM0R$UC!{OG4Gj?nUK9;SlqHItqX4F8n60le zb~g{acG2p;sX2`pK|qPT#mB@w*day_knpC)EWk4Gos(=Yjv zMSGQLlZ4gM65ak`KfF&?%lvNM{_239ls+V^0N}9z%8Sx$GCkW6OF_CrNl}pjbWLT+ zxsTjH_BJ##ypGnHmI7;O##P6ZQt7dcX%I}stl0a2#laglUwSBf=Oa%7yBD|PR*tWt zF__*>v2Pxw-ZeQ;z!|DL{Dw52y#IAMHp+n5y}I{ZhZT)&j^|X~0cCI!1)KrFx;VmvThD5r*wPW49{;!Bv z9bUVHpX$Pvy?2Z!NrPUO9Y4mFDLs(%9hkWErMyeCaa`yt>i zBKt4!gk}WhoXDwLOAfUFHf91CjDmZMK`x*Dw4>SRTZFlb@Z&~je}%>3=8J2tgCY7a z97}cc22os#+ah;{N#Y}@g)YgY>n^trX-AsIsdg$e!vVKl=tIG-T(Mb)Y}X##p=uWy zPKWnKb_2L_t=-T^^yHievv+42C}9soJDtBthT~!Lv|pbcPs7%477|V?(b>d0A0B_! zKcpXhMYUX>vs@cu(`Yk`WQuVFR3G;IJR-9eZ{3|Q`s+ilAzznL4>GhJ=ek`6R*P1T z(-RgtXLK0wk})Er@J1UP_o(m&LRU(`9nk;4(YHTM+d#xXm_Pu9l+KBn$BRCusRiY_+cFMX zqj$=C&eOu*peteyuf+|_n$E;!v>=lD6fOD;KiAwwaa_vyftFdTgT9_vfdjF~S=@`kI;9$)7ypgwBJ}5q^TxlVZf>Ma( zuhe69{;SJ8_w1@`WT{wnn%Sg7LCf^X6>TZn`;q;o+UXwod~6DjL>5M*mBi( zuC9xjSybvD!s!}c-!xo`4{b{Upvmv~Gm7CAqRCo@@k>$#dTq~8YPj~G>I6fbv^p%j zCjclMh`dZvPc9B)-K2O2ZX4<8Tx(FOHQvJZu~(m+@(g%Tc{So~qI@?Djdyx7O9N?8 zMCe0*@v`?81E~D~&njjIA~cz-Fy(_##eibTfGFVW2w$&5ef7At+3`VuD3F+A%?gHA z{7En~vq&9EZCK?c*nE%X<HiKWvMJsezgJqd#_O(<^>m%yZI*cuSg(D+|13eaSogFM$f+_M~1QO~qPPbehwVOglVzBlCP&H3>B#7zFl+S5Xl(ce54&O zb%cKOdQl;jWWejR=i^(mpJ3HuL{XPubiQA*UI@b9QD-h9B2R2=;xVPeU~l@d^9xG{ zXBLlN*<+%w!KMUlnD&q!93OO+;=Gwc5@W0q&GeWr#S zErHPn$Y9W4CbL7|3|$RqCu)SAmMWh3)4~>b|2sH9?mH#`jDq9|^8ju+-+KZN2_;M+ z8V0=EHB=WN2?tpO<#u?(RuiI{45%hQbMI1eg9MDjj?YV*TtC%`Ch#wQDvD>LO4nxg zM4Ww8ND~6@hEuKLe~XEbIGC~89hFWNh-xU~Hz4jCEBFGN>GbmajV%&PFFD6LU7p!z z5q9QHWpceIPPtHrRP`03*{7&sydqyQQ|KW+2QBZI+%-bVCFGm77;vp=Jr&4&|1X&@ z4J#Z#55INz^SpmmX4a=2{vK%%$Pd}rHp@^5KoBTjsH8RgR0gISF6LWt(q4xuaJr16 z_4*ZWb3i-W8K%1aB)Deq+m{0p$M85KN1;_ib;vA7f1%v~DCXlA=G*u1PZy_(IKIWx z4grfVG?7iOED$FBDhQAwnc7!ss;8Rd{%jNx@TW;x3uMY;Ez*vsVWRC2WfA}tah(m7tO?m-xLD%bbxjgP#uaH z&rp$(|6e*~I~r?Bs2_5HU4wnx>#H;Xp6A3$*BecD zW>!OHyYb2!!Boa+LP56$rH!3EyC{u-_ zCmzj+q9ITK5AzeQL5nhyHZ+~ozXOMD#>Bbjef?7gcy*Gn-^cj?aLb(!XP#d*8IM~O z1d3Y%(Cfg_dJa`V4MEVLEpAy4P2KDP7~>Z`;*jV=ClDGaRq(%F!}5wBKmD865EsE5 zjaE(fhl8Mrc`mo?3;>@hx%#?lqWegfy~}5)NCg7XHuu&;KE7XNuYk#4@`pauxLS)TH=f91yG`8OK|x{j7Y2OoagJklTG z|Ly8X-30(`T|m=vHBud}@;}6KTsYaCb^P8Rc2S(Oi)2fyT)7 z$J5F6{!LX~@v2^OD^BknsICt>DOKK*PmU;6$G2~Oz+-B@GiEl2tRI{U#t7Axocz%J zzx@q9;|J@nF=;PLzfXo?Pd)x5AJPT;pHsVqdYUf3!>UOOMXZQ5^L>HoaZ|#S)u2`; z;>P;oK3M@hJq!7v_O8*jA3<(@2vNPUW45eQL{|;p}ryW@6`+hoLppEJSH1*A zG5250yZ=;Pj4NlkNJam_xp(H7PA6H_0P^U9EG2+)v0Q021eHdIG#l`3nuNoh_)f_* zHER7M#`IJ8ngo!I0=PD8#XlWFy17I{4?emUr@ymy&Ie4iRiRM+sqz+O+WimAZ@$t( zL=c&U3W^$24qVeW?Bj?F0pZ)!MEDn&4lM1dbxJ=^(qzy&G62f&Z@fKTdauDSAe5o%XL z3`G7U8g0w@;N67u-x~D<2_i~CAN(61sNCd6j1>6*7lz0)X`(7e8w(anmGmm3nG&}D z0(xED>2x!L%2OMlK-$;T}ncn%tWfiBN5j)J^`5co731%9a zEl{-RpJqq_5s1X~mziymYtPKgD!w;w=)j&%8U5Ru!`;pE*M1W^A3f=`g0=dUC(!279)>7pu{FfP#n;~LaD&T{qstfCy~CjP zgpn3`9FfKJ)C4>}W@mkcWFo{4g7GDEj0hsbhDL8l!0)r4r9WjzYG3L2b=&xHT3U-A ztQLhjuhEbUR{W+>7Zze%bk(4Mn{#wvm}3#f)lhmTP)5=A8R&yP^*p60^Ho06_-acGmi!%n_4_id<~>uAU}F6+(&^C5fBhM z7!_Q#17$K$i+R3R(1XW~POjUl=Iv9}Siu%HG z+S+>Z<%TEyOyk=53jwNfj?MlJ;-pA1j#yyJ{f@_H#014DAqZ+MMB{u>;hQN<$bQCl zjF`xLSE1Ybb3tz21D|&_ZD2-3p^_C-m_L>4?7Ha+cl9eNlu}EXrPojq#})K~co~=k zoMz=mXeQ{|gDN+C3~T~7|F%d2nKQGQdi6(DsNC65ij7b|i61>;kg1TPf|9Jm98AI! zmLmhbnB(mOWJioiYvQl?(QgP=m8Pe7y{AIN93TUQEOV zLPe#1?4z8x=K5aEgvPESf}xaT1P*=-E}Bk&jmw-r&MnNfFIRbCoN?*ZAk zD#vs7N7*Q0VKY>^VTH6;Jl`+BS+vCrqm^eNOPO)Y`30s&E79@7_PIlw`pgM`Q!VEN zCC`JPxO)SFWRx^gODR|4qmY+ei`K47SdmLHwN7h}t+B!`G>X4lo@#w25gp-FQG~&S zp=>3Wh4G-N6&${ooA04EIjq&_KAT|poYJ{kd-=-or5~rdr7F?=z=^?sw#zesbIG;B zK?;3Bk3`HuW+}=Q*(d|9{;lS|Ix4{Ld5G3KuO4902yZ%c({;9Z10&lB2W~nGoTzer zM!5yBlF|k%U^!8u*+OO_OS~yz^yTHzkdC5>7#GU&vVH3Wn}nj2&fP<9`7#^b9*6!Q zM!k0^WN8y;Te2f$RVu$*|uk}*cNCZs;*;1*p^*Ob>`hAK7-z;uX*frCaE0Ldl1k)RgcIBYNJkY zY<2;D_aw4YY*KQ38YUuH2dp}*N(zBxFqF-U!z2y1GPom$65{xGBW(Dq1gL^|=zHdL z1?=6yxnK7Fihb^3VAo^&mLouk!z=8&EZ+PY5V}vy6K-P$&^UI56E&pisZwSFv19FQ zX`EuGy!aBY-K?%3)X1n%Bhqkm5(dlp3&V9FbVR~>fjOy?Q93(%B%KX6K>ZS&*Q!79 zULl}wyxsec_9V8BAMB)XBDavei84xWliQK7(Fb z4?yckLwCkD=98Gg2A>#)a6Xd{?pmUlhC;)~@r;IJX(aq&s&Ma0Olh+Iv)z(^&{*%8 z%PALzC$|eKY-v2nKYAiw%Zo_6CV# zax@yQTA>a_amoyd=V1`cN|28zgIv&3>7{|_^CfDRtmd@JmN=HU@g@l^A~%h8m{8k| zK9og1obI`*VHtjDQ<)sBZJ2K9RIFkf@YbWG@H>Ws*|*H^^wcvn+7DC-t>p}jHnX|lRmcnm^=!?ugkenLzuK9!PXz!|u$zWO%CQbT~p&}=Y-D$Gj+_aHUfa(+T;(+>ox^(D$ zOs$RLyA(WBq|tt~`jqBe(y!r&bg_IP!Wi$4&uz6mN4wt#HsZ_FF%_}Bil`Vh56D4q zCI_`YbA@NhS-PM76>hY%i@Xs1i`ZY?i4hh&OVZ(LK1f*xV{kq2fHY=;N@dz<;Vr(j z@p1BgUvC^h#}Jh7-68)(HO_79z$z}j4ZXAx~Yuy6{oQ%namAh zX+G=57v{qYNwqe8_|!69%DwE;%fo)G9pjsWu#vj4@*!@xE#^{o zGV)A^F^0-IcpYB!Obt6X*K~aer9igUt(vuBeCpC#y+Cm4u3E5x!=Gb4E@>0LZ2}8{ zW-mtrW4iM5klE3e3CIgFoKCVx&j4vu`cV-MU7L;TcytGv){p(KGM2YJj=UxT=&fj{TeFvU&v}x5e$it?c0^*SE$7%{O%5DJ6O&L2y^SNGL@~|%#Uqak zQ-puNSz-HC8B9gL0%;o60t}DpU+q$UA3FIlS#~x12XkS9d`v@bW)2i_VJ9h){xUce z=tzJ)58YVJ7|W;B@qsXevm0ck)Rgq4kPZ`_nqov)!LosMns#`N5_2xPOS6khS=$?w z*c@gsZh1#nwL}iEEH`pj*qX@1#Th};ilQzb7Ih25m$q1cul1%#KdY{cGxnr7_0$gNeh-tC z(Q%qG$FC`LIWA;r`Fs7eh+`*Kb?*D*_I=uK1c|xL%M`k93zi4X^*z6y+7avMF=<2+ zDwAzPEdbV{UPXk)jwS%Fs8}lbvsx3GVv&$^4pD*5K=P*oj}HDSj!N!`l0)^RTNTJ( zgW=GDU68f5Z=@ignvb}2DC>=)AHR^Nt`BN+iu$bdM%iTdcBpTK>2LZe7KSJx5s}ze z#w0u7!B{Mn5wktW)h5d7{1_B69Ru|TG?~tJDWStd#M*EYWF+o1Y-9v`5gFq{o->XJ zSyujzj!~x<4s}@{E$b3leEEQnl+@alSgv zye?b0>jEwoK9&x4W5>w}QO_r@lyPRR=koFIZdQksRRuyeDVLD;W7^}VqsU+B@$FMP z4X20?+9&F$`B?02Q5CKr!j!TWY2)QX+6|iY>G*b(m*#jZ7HH;@R(YvwQ zO0{$RQtH4MeBJCD;BNF>>pmt0aL%>;_{h_s>6^(kt7oev!BdWyS-}e2#yNQ$D@q** z`d;#Ipb!{@12^Jmh>K?GO4L)Q(R{Fpa=Td{afb_yw(7>Z^PtV@1+cj< zSZv7(7N0?JdnpntLfe=<7=W;csWmoC5?n|7iH}u?)8UANCF(6rjgpqvar~iBFSW0J z9*IoaISx~OZxHXX#Rz0_DR&jj+Sowq-Y)d5sS9`Z6MlYJ){5?lB`5NjRazIN+#i4LsKfifwSR`9ELjL9!ixtc;tx3n&Yd>v(K;!^l& zy2+v+qZe#OuZNzqm8Su=`}beZ^tnd#+AT1LEU)c@*JvN4VrW}mNh;H+aoASJ-`c## zE0+SJt5R3m5gW)+amjITz>9y9>Kbdr9=Ju;_e(0vH&yVE&Ldk$gA__v$?)MMVV#O% z>-nGN;g(8DI`jm0ec5ySqZg{-MMlK^^Sa>9oJ4tp1VAq(NQFJB*-d3{i1dLe3UxVX zWy$2bG~}FH{=F`K(FqpZ~FH`h%+L_AB)Y^$a0&te;M&li2^T-6|%2YMys+%HlBv_ zhcd`kUbEfxQGRzQVO1^2gNZEOE$bCpj1nIvkBh=t|TJyB(1$>YxT-uBSqNtcret;r7$&|gnD}bl3343CK)FOndR26XCXHzG6 zE?LYo^mY)ZXJO(i!1m}Fl1T3>51Q4=LO-3S zxnon+$a;LRWWTmnCNio)d{DsRRffTQ+zYwT|!#jk<`C`UVV|$?KzlZPhWk*ev+*kGGhLw92q&c&Yus#b`IgcW_@R;v63uKsJ;qq>T!`!i*@4QYFw&+y84AH z_NLLGj3A!_F`f<-?&`C;qx{8O<8(ST~^kucnnW_2p- z91cmUMLl@&k|gNvQ?XFPYFqPI^U_sUb2T1Ed=AaOQAu*Xj3;VLNwH8_&BnSnFv8z& zeNY_aOFx`uMj=m6JTnB=<&B$QSi+kV%w-Hra4JT9W@}Y+I%6#_`e9c6S%b5_UDWoM zP9mQ}O0YbM)~?e}Vt40_<6!XQr|QHzr{*V=#`Jm7_t4qs{#u&Mi>IOl74__L#IFa3 zAWQyp0%GJi6>cDBuOzwG`rP2-$-GBC28myHsRBi^$zQ7@G%XyCu!K!3dK{DMs%4%M z8%0Le)`!m~hP4e=3YASoBA#$0K3Qo!9aP1Zx|t`3Dd`@_1G=HSZ`9?Ev|>X774a%Qb?|cH`!R*pw?Bbe3mgU(S=NDbWiav5i&H(4l?NtrHk_d) z9^B$XhA}U(h$vHOitvzscyZ*6b&{2PZmbdtt3G2Y)~YX44rhOX>7V!JN?Tj;aX_B85NM=_O=X)@7)EK>0m3!H^QcK$C*5 zFVM8Zh?z`8YVgQn!ia^}mjR=+h!$YQa^*r6U zf6!LB67uPIUr88g+blXVn#=6qg>g=mEkj4vC3u;y?CO=fDz7{x;bimC`rWz4+2yE`OB$(*{!57 zC4^a4wW4mA!n|;bY9W2gZ25SSLfUNMBW`k@9Q!~VL~6_1V*g#%tmD6V=jv$1BcDJ9 zkdci|=||dD4-D%*U@*ywWHh6LfyFKL?bRljaG&hE*|h3p=?q)i;92JcRoHrl%Sw9P z_q4dZT~JT-NgBFnI!_A)sAF-KUo(RGr!wf%tjB@@=ulVXk zH%i*6ef%p8PjVS6l6^ZGf#Auv{QAaSbypy=zCl?%R}Y?|+IB}GE)M3dvidZbqJm?& zM;AdAq|9Hra65Nrv-;nJ_Hk|ZRlZ#33WXg-RQQPPY;+83S(+0}r@Ban_^x5TqPBi# zoocnfVj{YoL2Bt0ZLFJvf-P^GnTZnzi@iO~xpJ?RAOdTU;%tSWXeFnwcH*9g?+YtH0CSs<<*C==e&AIMY7DYqDS|Ufo#v*~ep)wWgUXi!$vdIr`R7_|z+JZICUM zLf!zE*1n)$lU`Z9$u2=#vLz&-G9W!5U9M{gc<2ts=Ts0;vENtIuTmYF2R0)}R+Yz; zeocJo@G?tm?y*#vneMCWyiqG>zb?g|woPKo>9+?rGERX}Bv7w0?>Rt5 zD8E7||H6EZJ-5g{1^qz3IVFRSR30Bft>VDGk>m0M|Ik&mX}p*mF9=tQoHNXn@PLR4 zxK-vcq#fhe$DF9lD>!M8p`$U=Gs#YR>cshI5~c+bVrhf%q@6IVdNwF+A&mDz<6hCX zv1Im09(XHo?1?gw6-&8&vbI^i=342-U;m0^+{^$8{lu^aL91~zk3y_v&(Uq-9^E|K zd1oKBFlE{18DrzVsT3 zS6ugVu99ZglQ74%S6x#Qo{vSSWcr-1e6hkkKk|D5uoeb-A5y>gGj@3r{wE^OTNy+COqBusK+X8KvhRu?;YD;9E}5(35c*F*z>+RN1l_T_fk3$zq}%mv8f zcW3EAtqB~#I%sEoMQ*dGv{UC?7oWMj8ai8!Bmn8_rG!iMqsQS32lS%q7Cvb$l~ts&u;F(NDy=_E(K%A#gv)U=jQtp86?B%c3MWre}2N`=<%!pI233G@ZEOyoIY3`gGetZCpy&ta7H;8RY7Kg+N}c;^** zp4*Wc13J)Z$M2ii&^nLeq`A$iM|+r1=65jK-CAqsew*WXuUD zgd~nUauQ_b3{JzhK_8ztH?93#DZ14UjVA_C6HH!yEWaB@lr@Wo)+V*yO?mpfu|1_n zqj!q6|K0vlBJ&RW2%4P3inc++ep+%pqjUFdq}@5nX^_-d_rTB)xLn?EOIEV$GN)|z zMUE%2Rp`157L*wA>5I2SEc1C1u(&ngl`xsj+#=p{^QJmuPejm>m3kfDksM~e>lbO& zmHeso6kUziCN_Rjj^*kM8EcDF2foVIvAsuu9sY<+HrK)7`9*C3-8cJbCaHom6= z(Xa5fXmWu3b|5ykY?eGO-1V;l0o6;ZOJ@vg^|cdf)?Bbpme)JYW|h`e`!LKFE@M8t zYlnAyQ`UxBzD!W5fEkXwg{g&DAb44EfRGGU?EkC>!Kd>`B6$j^Q6cfcqCv%|&)8Ln z2aK53;Z(es*^v&Hn^U(WhA2%MzSm*GPAGnJyil++c9};dM|-mV&WYV1SaqV2kc;yo zSxZuQ?yDFp1`)bi-53P9k--4v{wqD{4v-73B7Uivq*?Q@uS#0+qvUdCQ)l4=!fd;@ za~DLs{o&pG)rf76c8m_KSJSucUoNjr%g>)$V|9FcOp?%w+s1Q+?3A^uroj``rF^)s z6QOnFkrz-Ze*qCrz!)6?x3QWlxQVM!lr;Oxg54^w+I-_Mx9VpIhIe~dF!;I2?^5-) zVDQ~Y81NmDz%|a9*`qGN%ubJIJRf64Ds)L|qziLKkz2gI5w>0GIwVZ8`aTra#WCE2 z;9xVoHh}*_pfJ0KXi*3X68UZ9!EWU2-4}fe)-A)G(rn9?yPrz~UB-E$Cl$L3TP@AX z*MLuso^Cs7u8JE5S(miS)#325%khbbDbx=B-qB)<_4O$%qdzf`NJ!F5k~@noo^cMB zh#Zl!1D#smZjOU|i|a4p?1B^udzL{Hs~E%F$E=@+Zz`FOVS-rN!7f0$8&Yi%xwoM| zE62*emHs{xQ$X0BkkZb=^OpT}>f}`DeClEGE25+uWJWm(41ez9`T^&|e!wL?Oo;Pa zg!G4BWe>1YZmH9?7H&Vq;_Y&FFWdlzk3P|XW^~IRPxeNpHa6Fq!1Mj>s%*Uv;;mVN za&$}~p$@Rvp=%D^@br7(v5tn0-WUxH;Qo9vq z2R65ad zMVuBU?=ypzN{4TNOH{EbqTY@jM;MzsF*P_1(8A@ewP@w=rDa5CwM0MTWG~ zR$*K-)CsrR3DcRqXVcRpnSS5eS%$NUb+s=u+QVrUk5a-cYl_E4A|s!M0Nlh03xsdMLNzqykB&a!g$reazEubU75>pX8Z zu3ByJwtd3!VoXpjy=D?VFf+6mPrh6cB`|nvyPA50KhTX^Y9(Uh>VaX6)G%8mzzI74 zgNMca-Xc@-b_8v(^)*_9@z;Z^iH}gR@zF7Cy4xxl0O2jl9X|rbo6@0)Fzk*RaRF2; zEKit547PdfggRBo1*D}oLdC<^N_N?)1#Mpw4~;;*N%!Es5El+YU=z{qerRG|PBGbP zJ)NYy*m4#ezHaVoDv9uYFpn5wY2oDN)^@kSXc6=;HtfGe^Z+kJkA{0;6hH7F__>)L zA1Lij!nf_?_olXU@PH^)swzjR`8xddCc95tYJh3*A^3>SEE#nh)5_qnl&rZgs5wEV ze=KoB3rvGcugIwS-uKRbJ1<1Y_){z>>nt{vl3+zn1(5l-=>~Z^i5#Lr8$N+%bNLo4 zDAn%LUia9_2ED-eNxKVmw?D6f=4(4IwRDRL&-@Vnk;VB=H{7itRyYYkF?xq4*zQF1 zL))^5-?%r(_GCNfDA(vZonxkG)QF)Y^d_6+qc(3J^eX9PyPVU-*ku+Oda;AF99NF| zYuV2JkCCr;O^v|L{uO!j^Aq}ae9|rwIE%pwY`ixfWp`-JENY@sWql(qLAO7B%1+l0 zmSRci!YE9+-Y4#ER%M0VfcjC@$PA}k+7AupULAUYU%I)?GO$LuF?%glrR%4FjNl#; zk8;*Q@irf`#8I%OO+}@tA?R1zQ#lwKsO~E}?hN z(NNpx^lLIF0(u5bNji05z+N&X?k9PtqPXXgWwNApX(E+cR939%z4{IN!L3O0P{Y=)(=e8aQoM2Q>PkXw8OJ_4lE`W_JMm z;MW$vYslMM1fJ5VR~BAZ4#(q(bWha;-~bK)b+MxcRSBB1*pL;p|CQhWEX<(TKhb`J zQcg_JjRG3*jmr*u9wpi1?t!|fCsUE?l{%Qz(F*g@Y&a6&cO}LFMjX9kYg-uq*!=_A zy5r&eWaB}V0q-wfoVj||D}y1SRc{Qfrh()vsN!7Y78k!U6OD+k@RLq>ZzZb`KsDWE^2YDuY~ zl3G!$Cy}obl>A1Jr`?+{oA25JwTj_XV%ez2O15@MC=b|Pc^SuDW$KRt6Js|Np;e!v*ND9WURJWY1cV)P@uB!KVb?z|5MY$`74BY ziWW5u@?}J8R`X2bA5rvFL0rlQgs07e?BEq?%~VEBkUblhZe6RVmzf|cv42*)8U5PD zZ+Yf+nvQbtlR@j+z;5^$mkL!XFflBDx2$|Pj!x`w~MB|gr`(?+?oRG8CXP2#ZXKSGs-U|oUBs@3$-`x{n!2GH5Xz_P( zzv+nLM%W1QY=S30`Q4mO)zG8in%RhzvTuE011){H@KP1OLT7m|x5v?95a^o8!~@{0 zw<;Rx;mCEf=WT^w7DnMFZr6*K5(!1ZOKS6pCa$r~;pcvLdkU(g0+HnZwHE@RlDC8Y z=p|tXG67QT=dkxz4ld2eN&o4StirI%)^+RwKX3deP^P6-ul#v-n1V* zcO+WL<^NXtu={4+uC3-JrKb%%Vh5)ksy1!7}buoxiH?4_l{}eQpn`T!Nm$8t#7|pBR7kRMr-g zka{1v25Bz1GOFm%qES3jmDLoGk$lYQ(LW+1DEMU7@u><#m9pCm#>f{T@lU{c9KS#& zH4+1bmrc^wt2@e16dlP09>5*so;cu?roG5I0)g;|ZmVbP=4BsovpIM~p+IZey3zR4 zr4Ul6PQ{7>BFoKlnyHLU0d@QR);*a;!}S9uuTu(LkqGE0``FIWAE~izQmJjJ>+L+` z-{tLo;0Vl}COapB{MpuTUfQH8&r3Rsyo|h+B%YH1-7sX*!!!~ztU6l^S4V85;ouhq zO8Q;yUGvk3_3N7LU~Lt`pc9*hAWVasp4Ex{`#Hd(MX}5fGPUj#%!^vJ86F?XC%OnO zBIV7AjpV|G`I3JiBAk(}2!P2xMo0@T_4kH9sWv>7h8R=JxRezm%!t&P`jQfi;*j0k z{29WfYVE_ke#2RJ8qE%h44py77fI=;1wgG>RVk8SVCQ|1B~_9Z6SGKs!y$nh2_OpX z{duioXteSm3c!v&#pIROaRX<9M<@P?Dz9beq@*0lAjvqWWBM##uFQ1shc?l<^wVJu zake&QL~%YtJ~!3e*T$L|S%`T&PZsATIPjl`NL`^%?4SGlw+iy7Cjr8ENF5KLz-eJD zi+mz(w3%!?X5kIL1prKl1`TSn*{&cqs6X@c4QmITTx~QoJ3i#8Ycw?50_2a5#@Wmy zny@Hm6@XWGPpi1Ub)C~6n;;R_6h(i+=NtD)P(u%#N)5N3T0J#GDhuO2Rbu#AjaG7) z4iA)E$v=VCFnfOQ!`%vma5hLXet?HfpvH(!bt9q|m88*m)t}}GC@egNBFnzhvgsw> zw-!Muart@obD%fW&Wh){`#yt?04UpoO;nNEUyERB94*XeujQ+rrB*o!SsAC{^#F6+Sq)&kKC06EIp{vK5gPTfyW41-*K(wbiW1d-# zh6>SR*Hut-HpA#hsjmqvvGDX}I5&?20q%Rs}ZLPS-c?vOkq3^2>&Q#s_#Uy)7xBaWE)8E-o%uK(m`BxMT*J z8(tR$p@*bGI9?k#JeMJJ>en z;}0O;^5!R9H|5p;&O|Ab>qTN3`(gnzQS{uIz^DVEoquni_dsD80Ow~C%j^WmD1xQb zrl68E>b%f8(CpCc*?#e$ai?ekk}-Vv(~ULepqz-qIQu*5kS^=n5S4^efRq|t#Bl6kxU}Tz55bydn4(sGc4liSek&; zY^6v$#-_kOK}#3GdvM23-ZQ-kF;bYVna%4vc(emdFay=DZPzUJz$r>CGO;vA&mWD_ zO35HpqKc&Q7lSGU>|TwZ@`dCFRTbr>SO?&+cK%Mm2*r8O;(9Sz=Rf}LgbBBLVcY5N z?++Rr9xv4!v19a}fZkDT1$jl=fN>LHqRnss6`MSeIUg{2xpvq}0-dRNHqc~?ealMx zX6Zkq0hQL?aVN3a->1TTD$@Ipm{R6h^B>|V0OcpLygp!ySZyo3AoSl;xG(S^bMgvW zJdQ+pe=r++inmmu;ly7FUeNp=$mi)O5PrLn-Zse?ussZuGeE>NSk)YR@SGwlD_8&y zBJO`DVrKHq2Ddd~LV|11T(E49rGK7^W^DbTsql*pJb&!vE#lP1dZWkVb%Y1bz1jSD zV?@#U{%!z_5h@%m!Q@`OBxxI1 zL}CM+0~r_QudTWf>;~W!UP7m}v%awO9us`h-f(e$^8*dm3Te259V>|b%3io3{KL0ipJ{Bq))2k_M-3Xl=a~OFh|kPTT~sQc9R?scRJu~psryc| z8L5bpNQ8nv^^QZW@QPv8Q?&0wl$0bDM4$RBn}=%BPx|`&!6YW!w{v`jT>w~}$<&WG zg?@|YDEhDA);1{o!T0PRM7xdj|5>3_);d(Gz(1=297()On_tcEKzS*4z%(CB`j9CV>S(xQvrD~Xb>vg2nXFfaW{P#aue=O?!brLA$ zaqRMrq$hdb;leXL7y?^@iLTawH3*=G!bE{wB4{Qyn3Hi4EK;e<$LX={vK~0+hu|{`6 zn-*>UTOI^ub2WHQkOcC#$;rbn30<9`2&LNLRI#dXKSP(FP$um*_5R}|ZriBM1+HXY zrOaIQ3U0zvk)=KytMxY&cZAC~kr*2hF!kv5A^c2@@A&=ZS9c)tJzzZ(V7+g6$&Z#b zksOB^ay-*PV3)M1&?rQ`okM&n%4}H#aR|$%UNP!rlA_R8R(y%aX?lTw zwBGA8j}84wo7eP%k(`)&mgT808@{Y_%RlA{&ES~UJALGOS+%I!&ndT8(>^drqDp8B zpL**lm@+xJLOw~ezY1BMwtyx9ibo|Y`|pwOy2Q(^%yJ-R;ty?z>UI^BMxh%=%1hb6 z@QN>$$PPQJ!>k=YzDh$)4GKa7$BCvGB4*#*B05-YBqt{~Vhm_;s3-BW-NmHjvcE%R-CPFj#i{ z$r&@5NxKKVzx%usY_`M=+TlU!6c#j?GpbxLXWsHx^5*LEFb#xn@rv5wyoeMzYcY?6 z-@m3`@gFBvI7oSBCrBJDhdO`2E-~ZQAkxfU@iejbP3A*pPEA`OT{i7 z-7=6%;)9)v!UrulP!ikzdjFO`5k4=Kf@BXUaj;%r&MWf&r_A=(Q&Kv5$af9A(GweDL`L9HuUG04U8=|xHKKTt5T{;AB* zDGyz6u(#uVCsU75()1}oy^4-xmSpiucw%L=(sB{W7XEssa&=;fl}I1&f6-zxepOS; zdT(Dnf_8rjMy}u1FzKIV>0UqH>&y&jNQ5AdoULOMr`#%(m9(N!bPkUSkI=hS(EU!- z`>9jmR2)ikgJa8ya^cQP!?jk80lW3rtIf|Bl-CiIw&pH^yF~tg`wl1Dy4QcK~dETN`8A zI{h)vAfHSyqIqHnNxkFV}!hx6nLGq@d}$V2aTlL`Y`v-hZV5HM-BFb@H&7v)0hd$HpMC{Zlq zCxVPbTVo*-k1@oTmQ{UZ0ra=yzlcn#Rv(^e?tS8JP3Ss5liG}#x@5%}I0)jL!hj*n zx=-`sW?WcI+fSwuY(>Gb39ncR2M%9E`1+4k=*}<0#NnMap3+U)CHiP7SK0#F0(sY&)LWTC)h_Q|x@MKw+bf#4Y1Nd*n^= zA`6D=6BAo(R|LKn&ZGz922SBvf2fDuZJ_RoNA6HfqD!O)!LgiOpZ0pLP__r+gTowP zESk+AP`OR2kO3fBRf8$3SGh~lt#ZVH(cuHFdSfOG1FlpRtg+PKA{8h1V=)SRuVAnL zzI9lpoF2l)%}8*81SKSf3=XGonU-uvdx8{sL4XP^&a>&fczF5KWpFQnv*dz|#%?pgL>!MFemZ>A;clf`U zE4E;p(j||X`8_{Ea9693o_N*pgW%da23=g1kmDF{@&svzXnIVjOHrDbaEC5EtACx- zHomOm<9b@A$`zaT*qABCCxS{K8l8@M@6MfMWOURTgn+9kAE~O58i?bVB#;*_1J}sq z<0vR#%YBu|z?_O;tI2cY|I!j`VEIvFrT7R(;S`6lu1DaEVtUGR4=|^supIqo8$Ob1 zhW5xxPLgF#8<{Y(U;7X##qcZ=t$83`x+i|#p*~|(0Pa10fL#ztEBv7=L)Gu-=>-nW z&_=fhD5qd;6gC3yJ548LQE23HdIN}Yi;sSh-H-lyOMW~5`h}1lB;f2+dSc7VChW@= z3POm0cb;0Evji^QG+ogVr>qp7Q3IigUH9=vjjj1|L4uGLKTIn>)O^PFtK)<96xkE2 zZOAcjHbnu^`OfEjshbN&L;;hM;&^NhMjD_sgMpPHUEjor`bD=BvC6geepiC3fSRBS z3y`RlLMmIL5cfM>V_JP7|IYlSZQTQbSyl&Mj8wZ3?WM!wrS*p98EsRFy$Tdh2QOb3 zqs&+S7yN@xZReJkxI_2+Yf{(xkmzOJhZ z$R49ymKR56ZuFQPZB0HLeOK##m+t|j2EKdnp@gSmtG3W9A?f4eq4bBCsZ#Rq1+x$Y zKN?NPjL+0k%fFgTAQU`B)}_bXgnxSITVzO{!In)d^mIB)(VUnko85UbAY)p`8^Alg zzOhPP7+Y^>0u>Gd5e{*+8*PIXWRB~B$_2wsT#@BSmYN%GU57Op$C)c^9v@LYu}bq8 zBfX&T^A>6v`%0P}VbHa7m+C-L%eG*}KeT#%z~Z^~sR8$%Z8W}od$$fBl~dlKTG>;@ zX^)~*&!3erSCb5?k$^O=ue(&_TcQ1z(qseQ+R50fzj@XOr5;N0emiE{_k~w#$?=F# zhHJbwOP|UFJ0=AG48%X7t|DQFMoSeKzu-q}{0INUvOTzpgteMj@9l!`jf2x0)~1U3 zVnnPzE@iG^w0=nrY|cXfGMt;62efT`BgSBUnMYLs?aAG=F#i+^J=XW4qu%?LAF8Dugm_1Kox_so-ahu%h>kE`{ZWjZ?2s z>DRC&Ba2_>cD?7c6Kv`g7!J3F-T81$yf@(nc$B_h9CvOn_AFMB-nM=v_k?DSqAR_g zA55P3X;|8)9lnFf2eUHxy%Kla13QKOqVkg0-}iBB@pit?z`@DexTd|rp|N>0JHP(W z+rW; zNsL$lU-T-xs5rUK;of17fEaXn9@ft#4S@)L1At}UZ-l5XYE^8T6+dsn50UU6B}x97 zl9c{G>XH!vX*y{dLWfvqf6y=Ce9AsZb@*)*_AMl+a6O>t_;MzAip;^m7zM4nkX9qqN!| z`R=1vbs?02S3@CYp966)$0`@;-J0277-r~&iHBHF@uQ1oBIt6%sLN|;YcZhPJ{Xn`pa$>>pSfCTL@qg%g%c#1VU|SS- z4elhkyE_DTNpK17?(PuWNpONExVyVsa0u=W!R0Lo-??|3JKo>@V|SO$npM@^>kK!& zG$w=|-QRK==Uv`XR9b;+Y}~iG#X;n6L&kcXCEPTw5V%2i2hyXCPpu(_R#}QIZ4S#? zW^GG7=xu-dvB+4lJkPy1P_vU)4UZgZrNtIk$uHM+cC~eozWrKc#=;9-reat1S?kmd zy&lF`2qVOjF!5M>u)BSn98a4aNrc+AU#xVAo^jVd81VtkEUBmyvWK&OX|^;2w@MU0 zDOialsAV(O$`?w;O(ui-rD(l@6Cb^Y1Q|CZ5;54h^I@KsL##&D8=J{_50 zBMznO3}#7B2@QT1H@TUznotr}V60s@EZY;JTI^;1&q=4s_GTH(y(9mrR5iu9Y`Ud2 zMMVqC4k#1oR#yFO#SHGX#6_C?j}qkY-6_(#z!3x*26V48^GfMvD3z3qkKz0^qgXXqI@%xWr3@28>O%vRwVmTg%Dt}U2uMgJj zSVPK3@6skr%OdD@n}^)7`?z5|*7cP)w33=FjOc%L&l(PCfjzVTayazfTem_oN!&eA zUuo1YWhzfSjgF}@Gm%E?_45g}3{o2j=N+@4&-m#NFD>yk2v0sPL8aU!(n{c?SxLnt zHzG51$q7bt_WCSsESjUAvn0wq4!J86!{khuEQt1R{1A(M)KWjrdD*%+e4)3UvpgJe zU0GzkPO(7n?seGo-pl)xz+-Tub~=;P0A|N$1x-%W7sa+F-)??rm0n7q0A+$IKk_#x_`KS>oNLt{|<#^HQNNb_HR zYKFf5qDSZildL+yepEx!Pk88k*U<9OmT!7&Wg-eRk85oO^>9jf0{Cxri=S7zvoE;o zeOS+W{yp>gFQz(o>yx)O^?RiY?tGk&WvXF%0B?6f1+v?hmCuhuLkV(2j#50PM^j5i zdw~UBd%bquY#e*dfeQFY&R2O9UprStwb18DfKiGei^A-6uaPNs1caQJM$kuaZ1;Hk zPc!KO{(3$%s$bj<6%ERrb`tlNuXG~-pcKB;NcDE)`m@il`;qA;91i~*OUrT>++cHJ zM&iu(>^e#Ae%A2vGDOo>8H59d_V2}8rnvapz-Z4X^ZYod%AsK8PczAh#`mEync6zL zV>Z=4JZOH)Hzu1tL-aH*nie`CJ~Nj>6E1H6k#ByTl3z1=f zGdG(T%0LF0Lz2i3`DQzUEZRn;m25(fhhSop2hSgern#1U-gUm*KV9nd^jSw zv{uYXc&Go7hDrS=C^uQ&v#dvbQ7ULgtgZMs@!-#SS|f_Bxxp*^f!~0pgLyA5+EzX+ zx_{2y#^}Ua3S4FBoVa^~3yX;36+A6vZlNKXD=3Duoa3bQ`nvUwA>GSVc~aYk0q!3# z>F22GF`jpjCFvCD+O6e#Ne)wm6X3U)6y5<`+{+S=Csvlll->m51l!^~2W_T}jmGqx zNZX4U4y`QcdD^2lU$*;TQ(!WW*7$f2N-q3SZs7R5VY|w@ECZLd?VlSzZZnT^*B^hv z>XP&2~H9qy&rTpfNSehDszmo2Qket|bbf{1GgeU$Se!Xka zi@oykRKI>eAQ(Pk>K&7IT5j!YGmk65_viXPWd%xNOK3N{B-n4Xs7zm7hN3#nn-Vt{ za|4OxQwUq);SlFE>%SN z>m2;a^SOPG_w)I6KW>}|>B=H?S+%uUu;#LJMBL^))7ioNE`MbOp{AgEpN+OIcX_zZ zXzmbjecvFzlS#e20{_->bVf+y@OP-uRs<%r`yLFs6bd7`_yPL0^`3h@3Np<2_&q;oQ}n6qlk~ZoExx+ zOe_SNN{N(K0ZyX+WOk1s70has$ry#8RNZt6P5x3WSDd!hZxTRHnPD?R&zh zj|CN#DUy9w{ftEJZz$__$0U2XpoD<%CNFrjAZhKC4(&aM@A(`8?`vKW`2OsKb;D0$ zjTA~e=C7@n%s)H;*lq*Z(vj+gSan@;+dfyO*sgCUoBnqJ z(qADERnsdip0$#aa|oS#2Gv}1D}FPka&j?VDE*hyO$p8f2BHm1!Dbe2B|f_C{P}-a zvC<$f%J%NbZZD8Szq-x5uclvh16M^Zb2c0Uw3}X?0HuHUaHl%9XPVQlMK9JN^q>GC zK5KC(8F@VM%l*K}`w{9!)HFJ=p>bjXq2&2@y*2&p)Jf%oqk(DCggRUK@uMN1B*$@b z;K}3{1JU%hU839L3eW0hiN%lq%>;5ge*tc*-J#LQo*jmW?wcat4oj0aKbP z0f7&<|2Cp=+Kc3Mkw%6)%niiGRyx$DDD$ zwYLR{$gw7i-PSBqzY9t4zw*KEnOGB)Ny`oR;*_%eHuIP|o=3n1lnY78`8TxZxS`Lq z3)Uxdnu_e4Y&F}^cQ^^F;iFjTaZnc z!K{A!$Q;OwIF>_Zz>{pr7_a8jhz~qM=+rw}(K$Wc*P->g|8FIIx&~pi7*d6b?BgoR zGQm&Pk|5Cfv)D z!E+7vhvl8k-9w1(57rNjiMtzKT>#lftQ?t)AoPQTM_3GzzXO2a=&oXCArFTk?6NMq z!{+|{TiC$|VB}#xkV+&w(>yPseD5fbx7Y2!Od~L)ZoCk)^YM6Hh=}|mbo};V0sIFy zUw#f(0Z9S$nv#Nh?X7;bSyBOSKuBQ!4JlMv6YGWfKzsP=r~0U4qh|aY6wPC#Rk zaEf`PrOdzO+^D%`BRyc^YyZ=jL@zk{go*4bI7f*ZUt2lgU&9!3sgxgSX{D2Cl)5%) zDH0wt8CBVu7~>e3U=lak|E8hWt# zR?0}bmR+AwZhpb z3wYuS;2=GX#J zcajVYNobiBGL{YeK7nWtigFb&e1?h!1J1X;%^{sc*3fR&)29W9 zX{RnC1oFQH)QwJ@2-G6-k}oBQ^@{fuTP5S$i@on{qZ`%ca36h{ykMH$4TV2#WsFSz z=^#P3_5Sm&VkCTn&a}?8iL2$S*HxM8a6y1Idyh3%!#em6#x3kiK?%YSdVFtX*rxmx2zfTd-InndKEjdi)$Jg+kc0*$vV`F>lPV`E-Zj+pXCb`D@goKb+n9~ z1VHjmm^mmF_d9M+-DbWjCARp!HD6|yCwP*f4aM(}EWFx1igRwsCtj~?XrW2xj6ad* z4i0U+!%R=e9ir}&Po`Ho4B3{T<$Vz4CFM71GNxE=Bj9IRZkVN6~}m@AzT9fpSu&wRaO5A1axfgB&?3cnz~dSnmt zxI*q7bx7^M{}@M1SI-;x6>KtGTFOLjh278KxYN2>LN?eT1s6v`%z1Mva&Bb-xC$fr zu3OnSK*cnRs7=S-r%$Uqtf6(*D@osut2rDopG`BTpa5~K9gMZbn!YDfs60^+K0yAj z?zGg9;%WUMGhaRIH&a87P8N@&AWad9dI+L-D^1k|ZXQ-#9%KAQHl@RPd*mr9J{1yP zQ(Cr;ynd2ow=X8|f^J5p11lR95nJ66msS@d?7%s8YIIScihRM)1!{553PuJ&>74q2k4_tp2 z_sddBN>ky1H@m;BEFT=fHr|kqrUfgtO@tvbu1MTM@MaAtq;u5XR(?MB%@_qUB`x{1 z-O7^gOJ|}@ldDPRgtd}qb7Zl;qwiq!G~;G-&ud&-b*|Idcap|IWr8G&#I{m9TH7*w zF8Yv=3vWVymOOmwb2VtiXP2Sc?%jT7{LnWpZ026RU3l#i3A_c2W@-W_bEDA`XCy9Z z$pv%Un*wLZpC+B2HaU)fdkTWnnawR8TruO{Vf|GJ6N1=*U<93$2{#4`!T(1E7i&bk z0T~sZpKM1jRMizS@n!ei)|b?zHJh=MzU}MuhU(*kgM<46QT}?irhD&O@79_tiYHvF zD_JkxCvC8ERL9kLwshXT1b?*6P>Lx(n>-V_+X-QJUTDW9f+xl>gB0_jzQ;0LCH{S) zC}jTGB;@(7Lyt9@kYG;)qDdSAv->vNpHn8%Bo)OGX){m6L}<=UJC}(l68Tn7zYWm5 zhLIhcjtHpo^hyN=N|%o#(bc_6+hJW0EPOHrp0(=z%4M6VG7BDLci}q)Pz1*Eb2oKu zcQ5wFy|UU>pMM)zc}t8%Tj$hV0pC8#f`wk!j;<+{5X~-cAk_58KzD-u=(_+?q2GgUY?u$>KwcyfVeU1fM@R-W#O~h_N;XS z88vqLJLPQzoQZvpRw-1a| z_HAlgBP+Z~)xoJ7$Rd2E#r?tU?8c`(K%Xq$(IjNZo5cCJT*}O6ska!zV{LzyXfr#h z*c~j1&Kw@8tb%x5EK`LnjzF11!Oup&>@X(*&3s&yN;u$UI*yL~qDfpCI8Y3ON-FNL z4*jKRQ=W2~n2vwSNLqp?doSYgt&Cu;bf_hLGh%S;Y8aN?5;-OYgw?m7?h{8$1ufA1>uLa??~j1_y=xY`*K&xt#DHrLV>Mia zr|a#R;5O%coLlk*J7{dOv<@66;V8!J$>-3aZX87 z=u6S;ONjaNRh}Q~IXhzy@6==f2Q3O(uF;^|q;0LB!GHcNqN`K~x1^?ETd^gecg9H# z(-+}KT=`EK0x#4QNkP6GZza@jd(Xj3Zu*6V{N0k3Yo?N5z?6!Lw_KiB5r4b z1n!WZoJ|U$oj5g_N3v?J2&-2Wv?@bIfmglhveBuqakWFNpxpM8s@cuKp(E@#OwmiA zUn8~s*(E99i*t>0VBPxvM5@J*$LxqTJt5EYCr}N`m~f zvl2e(Ww#M<63EH$m3Bz4?MLNMDmI`~vHlU(oDBH4N-+f+g+70KfsM0wruU!3sU9a? z-9Ngz@l;-|Kbsj!SCZ@gjI|`Bk6HMvmrY=H*J2t!ziDt0e)G{sPZi{#_ zSxVq7ak3UT&4P;Qjmv4cdiHL=3Rb=LC6onZYQ2AkGQp|WJA$$4J!!IcTb>>CV6iTB zza~2Mo~gQme)_QJfD?*^)-)3(j{>pwzA%w_^NZ<00Z#Q*7GW`kR$}0maeB=(b67+t zAsuziLB)VtO7m)*9W7*N0+^W5WbozNB1}j5J*XM)SUd|Z?ym`MS6LoUoJQ}zD{i>z zYPDp#xt;Al&pfs2=8~^W|Lz@rljm=_^?@PXH!%{Od(1xnl!{R>L%6WOPs>o6bn

vxP>!hV{voWnt+x3(;Cc&F#)CK#3y#{bkwN!t>67m39*lWa|pfU-0FMJhuLbWj2$tJeB=;Z+#l z{Xpw6L$MKhwI`~{_})PM&ATp zN@xSL{mR_-GyB{W*iZVes0t|PXdN9&&2G?U0_9b2FkMTQ zyRU{})5FNVRA1qymT{t-aMKn-T7WX+7$qt-Yy>YOma}3=1cBSCGo#S-$wZFRYNY-P zzqmkIsTpamwjiD<)h?r;w+PVlRv2RnnBkZ1FnUjmhcX?uo}b{4G*Z&OXUSeI69jHY zfI2)H*K zy>vj0X;xP-L5@U;@SKh`2bR3tOj4fYJi1ahVl~NJ%3HXy2VQ}d`KSHqOfQ0+Rp}x} zoBij-lzDa<_|t)a6H^vK?hpu)8_-#VcS7YNiSI+@aw%ezOb9FbqBE*xHlYhxiG#mw zZ*%iN{~OfWIz%tB`%ceTe?Lb1>ip@xeJ^Ht`Rc}Iqvc!9wCF|UnH|*vp%D< ziRK<3%oz(-&9K4fa6wLXqN+M3y;#68P5ALkhR?PThJj=!;}Bq0RJcEB>a9U>U*mlJ ziD44Ai;=uaHvIrB)bWrHwkt#;7Ev>y!!d^y6{AYsWS^Vd8o<-SWJd_xt0JyOokO;? zWORA%ESU1HyRQ;Q-ngNOj^4l?ebmX$OEY46+TVQo>cF5cbIXAdKgC>ALxSGQCHoYV z5?Di7N{~qm(o_%b3WPb;jc{PJZ~g}89saJj>reXz9fSSUr|V{!w|g?Og5M{x>eANX)N3;NOhZ& zlTzI7hyHLYXkFf4z2gV3>y3JWBWFDUpDRYp&Y~!n)DdMuBA4G|b>EWhJgLAo607#% z^ev+g8F_lQ9x#vP23oyi#9qAz)GUl-cRFF{Yw<+HHEy6S>58ImIbeEG*$PEVYvBxN zW4RJP|5aN!bV}$b(-rump{47K0#RJk@E^ODTHiE7IxBHF<>BQl|`8s%3ghNVAAxz$$5@`HaUGJj#S{ z(_9K6hy11Jvf~uts>h?+K-#Q}_)$F4cA6I6k)($l&*I=Cx+G3sgm7TnRWZ^Q5Xne%V8;b#tT*>lV`= zFC1j2e36Rjrf7n?Z=wpb7E&l9v~cjqnGOs5UOjOcc;bOTQ_qzB6#q zbKu{$%ng5y<^-#3$*w2i7pw%`qu%&lX$DmWdcr2rkG|ZoQOQE^yShY|_@vnZeG~3ld3J zJz|Ex*3Qkx*AlTYHKpteyEb2UhG_ZSfrEaoBwbCHtk;cw6#3#GjCCgR4(I&y^n?ZM z?E*Gcxg1brfAS4Ae6}4+=9zh>3$`v zNgxh8Crw0s%f}GT&wC6^Q3af%p#^q<;0Fq&(X11TH)0M%x4)Mk*wh@4y6>o&tg!;G z@RKhz>lw7)FI_n)z9uN9vgj&}2DX41Lb44t0*g+K13?8WN+Tf<=Gh4uKeQZBGg~s0 z**M|+aWjTyiV|pt6Xa&Rugg2~{4KnFcAjoOBR0x(g2%~K_TzLuWIG5o^Zj?-x zBjqa$o+%Fa$eHw!f*l$tcj`_V3KJPGotR#U1^Q^lWVW;MDef61PT%AgMaz9SxS)~0 za|;)_g^2VxFraKA+5R2%H1%ZdOV4O0&i7M$V}y|#H%r=&)L0>Q-SG#UwfIwT8yV0A z%30n5$4^4XOF`Hs;?9f8buW=rK;_5#?QZhFNTLcaR@S6MWidUff$k?p!hm4=Qsj48 zXow+55NYi%tDMKCLHRDKpdEFGU^R->=_PgUh63_n0AB z=q^Tj>}U4HV$DZ4`6LN(koR6q^Y^`GU@KM7MacO-B^HYUK0bzc|AfDaD}Y?r_tgc!gYeh$G>!!&r zGxIC!oKNd?&O3wTAkSF5@2~z#b|O5|IF8;^vw;R7Zl(rB!;cFtv`R=40 zla{(42c1$sya9}dh0}u>Lc9Z%OvElfM$(O;nyh4Gx%JQtzwdEs&+$k2lr{A1#@>d@ zIw!wwJ+SoA1wAhiM7%BSGIM-W(7%o874?22EpwuiNmNl+7EO zf3tFjvk-TkatABm%)je6PZVe{e^>f{L8pefF8p}>jH{_D7k^&t)>6$3?H8u-Eh7)q zCAWrf7}yEtu{_JHHNJp1MbyUBV(V6n4Z-RRXD2v;+X~-bh7CNPtBvDKlgY?XJC7)Z z5DRfiPY2`MTD^aD8Q9N+?1W*_Wmep?1rO#x1G{PLA*m9fY=6e2OQ=&?)|QbZKgu~h zP8=At^`3gPW}>Ae_UpUyCc8Sv<1sG0bs;`e*=VA4^NsGg=H#yd+6MOU-0fY*3jaO z6FuD)X%jMjv(|Wz3XX4nW`^&wh&o5qm0q_bkuc(~M&yCriHIYa#tF=jHts=5MAH4Wc453f192M3$? zQ5(ngJeXcM(TB);v)oMb8_Kv_nP->mQ5)V>Zow|TbyIK+j%fPBRM>aT2)Fu2FhMqQ z@t#yC`L(1{ulXTQ&Y6ulb9u33B2ZkC)10_4VgxMaJv!{KM#Nf;jI^Yp)pe?*k72PN zM#qiYLAG^>obg=>Ae-zSPV+cNxxDRts$lz;7ttbJ9>y<@A?Y)sEDC03L+uvR=CXMj z0sx}_DEW0}hj7b~So>cUp2b&^8ppK-&th7}N6psDwIft0LR&+cq#=YlzBaxcPE*0D z85@NT2A$Zh=QSDFYi0H-?XqjqatK3@-BKG{#70FEkzVlgkn)7DSNjzGG|}Hv<|u~e zkpTMMo&i3G*K%O5(n@1{^$n@=m}ls#cWNgzJj`2H`#D4Cz9`a}M}t+sl{B*Pn$+Qn z$M{oK+~!i*`d$eyPHtQ4I@c|pWQLLQc|FLvF7#d99qpY$!?&~$$X_TQRSPUxnYfVk z@+040c6+~QbhMVvcSt4Sl}g`j;CxRxbABrWMPAE5sG&~s9CTJf5X&+s6Qck=x~%;; zc4#3cBhMr-OW04y#z#bgyI(5?TG<)S%;SJ8#*^lvhU;r zR`8myou5e(f2}E{G_g$-5ZMB*aM4LO6bQ^aE8h!^P+Ch-?T#|yKY~Ez+730bOE-0xfy@5O! zeb`i`RQ|ddz*)iypn#$mBop_GqCycW90Y9)H+~Ub%=X7EAgRH{Kp`b`<`ayI*=lOM zDG~LZ%|0`eqZt)IdUfxVI1@>S-Tq6Inv^1{tT;KaCqnQ@-8|(HMm13oH9rceJ~-+2 zv4f}7lnT{bDofzN&9UK)*AvVo5)Qwrkz`AISN=>Y=7n9b{pQX;)cohjzP}7jEsRT2 z8JPpFXbVGgwgFJa2$XF3kdq*5k7v1ezKK{W)$4FU3yJ74>HVh0k*@@e0X$^eFJj{l zRx4QO(S^R2mqGUQJJeiT%mYY3K2@?UB!!hm43rh3lJ@svAJ7SsotnTcGU9|mq6mVv zQ>uqtK|C7%r^nHEl>{#(hRcr3x)W8y8@;AW@@g110MJB{m+gcAFGQoFkhqWlPQ{O0 zBuQL1tM%JXPpdF$E+;pmIWx{2>ap~HPAJ{Oop#>yYLzrgWlel(LZ}y~fe73;5w|un~W#qyB4_xH4f~Y%RQp z`;$6Oj(0i53ptAf@ZmL7(|to#s)9|HfY}9)am*b8^Nt@V^lZXpIq0U@1U{hN%SxF^ zl;eZw@VzP$XSF=z^>lCT((Z3^d*2b+IA)O)Z)T=HTEtnK7r)eWot0|A>dQ+nU1O*? zTO?eKzBxk$lmDxrB8Exb_`)cKfMp;zu4AeRcp*G6D3}RIxhKa1fDt9gMpnWMQwb_~ zJ5HTP80Z&5XBEXCp=uB1y;l6b5!X?XA|rFOh3uN5VNk#T2K?NxR!S!UHwaXzU4qJ5 z^%^u4pwA0!FOiq*^R>t+xW)jzm1%KkGxrr5B*>U9A??jeBcOPtJ1VlsX@43)PGzA} z;_h1qjUetE&2;@{N`s0>_&}da0BU@c2|xl9*+#;o-9EC7@eyUviBzV^TwogW{i(?g?7K%IV&ZrAS@>mFQuLC9Z50+*3F*oD8iXu z|3*KY1sV-B9t)>I!p(tEs38U$N}|VyYgLeoJW01Jq`nb0g<>vyh-?2Bn891i4rMYi zQOo$fcBp`2Eup4WZgRKE1jtGxzT0^8L&`dG2H*mPv4)nFOZhDK_Ur85X{g;rtOi$m zHix2134Rq87Vc7Wo0!uWdVB$z) zj>~z_c?=K~$fT@EcjfizykZtdia>9j7bk{r2rNcO<=yARq8tX{i!Zv#RJokQ!Q|{w zvsmZWZ`Q2jYP+*qF9UEJUFkO zbCwYN1a>G8bU-rOs$i~17-WwoE@lz!pJG=ysz_p4Ni6+;bL=4BvpL*kY0!dp&~#CY zSAk931_Q?3=9%(7rgPx*ufhiu$<|CKbE`Snnp5vNKRp>7euQF<@k2Of>c?uJWY?Cr z2U=W5iVA2^c^yC}UdZTw(dXI_5up*mLUcQLOIYkzo2QX&%^zx!|0G`Wi;*&JFu#it zkMjp?WGE$>wvVCz(v%f9!l#A-QfO8!r3y-K+zLoWP=4J!GZhLu0_0v5N;AR2w|N+3 z(TKm}rQ#e>!@P_rwMTV&gRnkrtmoc z>a19x^eQ?;$#hoMFqXq7RKn3-)`1sveJ$!^bEQ({o{if$Y9|2bQRJyY_gv=i6z%(g zL^O9hX_V5Oq#j1;GA+`sc@AK{;tf+HV|@?DNrYFz_w#xhCS)IkInZf_TslR8*c3(D z9ivvxpr~)J2m`<5gz_6)ue2RnJ;4IzKfB4bTou!A?0Hg$$n7M~pOlv4pg1o{(GdO0RIx}qTDEs`6H*5s zToROtAD$Xqvx9H1<0Tk+9ZddCvd~pE$h(|{?v(M)IjPskRM_qvi&zQ*T8VZ&-Ze|h zc0!r@-sNt=x?TgQ{HOH)GkTyzV&}uQUjea#1O^W;8mZ??t}L<{y-Vr2s7`N`<6XZ6 zmw&H?eF4c!uur3$nm~tKL3Z|{_l9(e>0d=!&e!FsH|#vaSvA+VxgFUkOX}7$>eBh5 z{}(OA!4`%KBO!$p8fh;Ty!@x1(atAReg`R+dHkEmA|D-K84-D9_IbsO6r=S+KMeyi z$Q}~HGf!!GN(w7v0oOgp73)ay=2_y1UrOa!n8l)V@8G(rtM_M4(`w23+P(51BH(h5 zR(oIlk2g7M*=aAoiVDw=IG~Ma{8UDxM)k|>qvGtfD!dG&h}`4e)X0+!aJAQ4@ZCttHYxEjIW?bz|9lYKK& zZJ-tS=d10uJ@wPxurj~~W(X4l?IL(kZVAYQYB`Fdlzg zKw|u7-lH+Y8MCCmsrhE4ngD1pY+#!tW4vDZrBXVBjp|I=S^{(AFRBmSIpI4r9a^lM zraKARX3BZVNx9=%|G)E!@ls2F7YI$3mxOd?|AXCZWyR*=Z>Ksv;h7e-cedGLn(Wkh zI&VtYd{W#Z|GQC!_rMzByw9@o%EWezbc6^)b*6>@cZD=%tDLNpoOcQynv&UC=%Gy@}AD%N+?VL$Rir@aUk5lm+qp*m;^TrH81NgySq zc4-4%O+jX~^QfMmKLQ(`+(VL)7jkE2$1^{!J4(S5pZ?|XEsm{t-FWGEkBrnKN3>er^qAEsK0yaE|o%R^`JNPl?bYYWiqv|{Q{IzPwbdgDw7f0Ce&`@&Qu-3s} zR9uBqU3w`l+*P_O?4l6<_e4U)p0*TpqubOCycu=n_do3Nzz*5+(?mKg!YlqV&ECTp$1%9 zI6QNVJi!SC7aB`zP8)Ta5}AoCOiCR%-q_mQe;}63;+#Teqqgb5nc4eg4Sj6va=7`+ zM9@`*mYB$nri^E)ckq0e$*gyw{0rWQ^R^hITIe|p$Q&tWHzCw;0I&v0yg>kO-ueGd z99WupCBp_3zvYtRti;Xyqrny1U-+9+yAiebo!wSgFkDc^N31s2Ry zpiah6m=;ty{<@?KI-E?tHIHX%7LnI0W+&W^?Fw2OnEG;1!UQ;uk+x;HUts?gC|4kX znsE(U#N^_mxV>rAVa%g1P*xoAIYaiv0VfhncoHfp$A38j!&r;C(e=Y5#MQWL-#O-t z8sB>%P@stN8%NuqMHP|jNlCKk1G<64Famh|@$kw_TkY%tP|a5vDcAHx4u;qkCE!B9 z5e`Vuel2kpNVy28+zvZ@Qy!qPax8fOjCIj~8qa=T*2~}m>KHFMP4UXm7Hf9Zr z=zUFmsc6xPA{t6`_E`gqvG^bKelQ9w{L(?SIj~h%3@_*CjMfwEnOM~uoI`<4_@7P< zn4C|ijV)e50A^kAkQL@cVJ60rM$8o_`vtOZ>WF5ULS53qXTyIrjkBEeUf~9CMe;HK5ASw4*!TZz~Yw{$qT{o9QC37Q>+~Pyqp=#dYT*}=6f+u~4t_VuSl7<< znoa}~zmLJGrEXGZ_YL>g4LQ+|mt@GA#{`b95FjTb9UyM!jOp(|+J{gAo{Ywg(V zb{Bj%m}FdS`4b7{KNZ-1tPn0C9}Q~!6UDs@;a*vsMg@=qeXE7A1zmi}(u%ehg3vVZ z;}}Wmjv^C+T=nJFYPjp*=Ofsp@qiDKY|v0HADSwwcqoL&6RbQ|m2m6Yzsa&q!Pl!+gi zSHew|&d%b`AV#ElZInHE#cv)WHTx~O^i$4>=WcOilGq`vAtXarJd>M#1V?XzB$VtQ z-yIcGL`9S^3pTa8(PX0L|)wpM4|6(3O^KJEO>Ka}bZ7ivnZYBRQ5M?Yil>c_RFEXP&|Z&?y}9KE6s>1zbB zi}R0{(5;zSp{E#k=;dj&3!Zc2kebLOW-+;0L5I=FZr z&yIeGjc9(SPdw(z4!21Vyo@Kju8LzXX&?2`ls@}ikC?6UOe4`#D^0suOI!1j9q0iO z?{Vl*BWjYxHol+x?ij`UNSo# z4vfr*RS2WN^WyTm+7m_yb%kzz{k)CW&o!_`z*h`b68GD99>N;(x@-8@MBoIjytVF0 znw{8s{@A9J?{lCCk5AB`J#dM1Lu+PnVYDlAmop+EU&F6SMk(Bb%j+%X@_ThurFr&f z(X1kPLu2?1c^gfTnVql+g9oN|&X)bFYF!x5jbl-vBy2-QtWBYYfRR~Sm z)6)}8`%#7t+TGT}C8JINn*+G(v_L3_j*gtI<_)5)*Zl6s>p2zO$JIVLgLNM)s^1Hm zjrzl)QUy`}0BUeN&#Xnp<4LMvS< z2T-Og^%P5qP6D@fs=jC4u*c7~&qtq6ebu+Ur_b(Q4WKu7cz_OL!basAOUM*8T?dk5=5z6<-`~9MA!#VSB3l8sKe3lNjXxh7NTCEnHw_QDw{@Q%VYlV^C{dMsMW_ltkeNS3* zT#fS!rgk6GKA_F%uQsgr@FMq~GQNulw8`G=7ZssrOX}>f=941lvF1hEf58IxzUe6;q6j)%@-2kEW#fD>-{DYw>w_OHjv%Yw}E{z2o7JqDQ? z8mb|*c}Upg>$nQXxDrx|dzZky-zZxi5VDPFt-p25*zG*fXEr$ zVCI^j+?^$iB*EB(7}5_zqyt9K^>|C~ZV$cBH&)hIGeFdykDuV%kDSFAE)dOwX?$r3 zPh$k2ZFhQZoh5JD8$eI*+*{Z3s;!WHtrqh!PBHP{&HiDi79h*3KnYpj{QG8OGembc z^BI4D_Vo3?ha$AxgpBTuZSETHACILSRyF0K)b$o8`IS|q01@sUTq}%Mbu8X?3_J5= z3wg7+$Z(qE&{~^lLS!2UtW1YY?kg=FAYS%&6^?OWgJ4lU`S*^bnR}*I>X73bIu=r# zl<>8w*8{n4fEx^lBz{K_!nyZUkj2P&@BxxhSB`p~Ck!rDMW}_AMfSA*Pu~*iudXWI9pG|lWWSI!N^OIc#pY>nlafeN^uYFjlJ$wXmU_Jiimv%h5_0*> zF67us4_N-TdegP9p@-=DK`tU5mH%Y}@63N{?tv=sv6=(1SXN_^yG^y7sG$J1+VP`#HNH;YF9bZe~6yQ(;vc3wk6-dItyrvnJNBR;0&u8GS#UsQV)d~rRQY{i=;t$h-cc@Agztf68^DKy26%*#Nc%b5ek3}X zJXVv<18Dr{r%IW2{OouFZliB)OB4R$zYl){U{}wvl1o9RjI>90E{;4!Fj&*a1X>Qp z;+3cd%*I6PXIX~doM#P5HmBQ6>y^onVu9g8SNkXXvg_Hi!pJw@VS36X{+Z|!{wN2D zQFR=4I5>K|BXHK30U}p$FYw1Lxb8)^_SE|_Du#FMw|4stGaje!1l*kX}GYUA3!6vG$EdqE3tuiKgYCTo;Z;CZf*1Fkg4wLtrk(5a_Q~ZV; z^=t>;TQuMgYgW-T4gpoPa<+rBwJ!D`mX#8x5n2+nf5pTLw%nH)m%m@E@2fgLQYoci zmNo~qe9Fb&SbJOXd&Ynl9(bKKho*%AIu@8a45wnDE32Kn&i^SZ{_?2M$s|cuy1^t3 zFU&sZLXbYAErReTgPw?* z)1PV7y&VMcv7be>cKhoaLd(v%qrA9?@8TO?tfZYNqdDN9-FWfplKD|a-wf^Eg0FG= zf!?~7ec@XRN;h}&x1Cs~O;hH07NaM|R=%`&shPV@g%48iDI|<07TE=xD*6w-@4!Vi zuC86IK`eCmR~0b}Jon*j2~K?Yz-20BZgy*}f7_G~+>$+SHQ5F`=sXIWc||4Uk|ysA zYUOKVzU3=OJp1DzW`m=<(N=xmR>iu^XE3H6xwE{|1LVwE9Kz+kg9kkXFcA>T z(@p+XCcJ~OX|N*2FOkV)BVKWQ?CD1TyE3Zfuk@Wa^Nfs)s0IxcyW2PI3XBY!iaUyY z1Cu(_lc>=zly&F@KOKghh-@FAKKSB*rA;c{GWEID$LPB~xb-1d)%Ti!I@fi9PP-qT zodC79Whal$X5&RoZ_wk!O``pBdd1BTJJ>^?i4;!>j^04dXJQeRs%~r+3Bbmtk>%HC{Y)ytQA3%qEFq0G4E|F9$ z-w142*P7|9WHP zPVN_dGf^IB35>aTTWHw^NFDWDefx^_@_D~qDQ=-w0atyHhH zumk=!yjAF>H_|HJg`b)gFA;6J%Ij->g4wTw2Vf9c+E$gMELYX%5NK&0#mCIK3f#2O z0`;MnQQ_B_(#$FAg$2;v#lx>*GJUGAx#YY?_uD`gJDrypShgVJ**+E{Y7G_n5ViEl zSvL5wOI+{$L3Q;zeUrPbF6DX!n)Fy7yr%D71uRMCd;nO_dN(F*&9UAoTYSCooSW!= z`ENUlv;4YY%v1V@;fzMLBcK}0;Bqm6^XVc%5~srLg)?&+_(^$DLo_^ke{U zv85msk`<$Nym=Le=|oThV9#H*;>Cygf%9rR_}Aaqr2-yYidcBHKO?#=gBvwEgGMXhd$lF@<=a2+jTG$WN+X_NhuhwUNqng;^KAU zrqH!d)(p~Sk z2bVi=ZT8C@y>^EI3*RIFYjlO)aP<6HGY9ti`r>>GH4jw$o8Zp38|-)AIG7oIHl}c) zh|V^2KO&}(7EMEIJ3uBo{()3W$<=kYu$Kc@_##Z%K=$dhBXR-l3khp)?tz2;WOTxv z(*D4C+JQ)XAC=l;=W+%fRi?TA>Se16Dgft8BpeUexArpnE81N zbMVP5y91p9nKGk8Q1l}Fa-0PQnc@qzdZHESCS`)tSqW4H%7o;1`Wmc-xYS35sQ_zL zF2vz}vsR|0QBzOXO>Maahtb*oiN~uuCe71dNDOl*3??*#aqlbBEmO z#(sZ-C*3hVn0bT-iWLEG@O8{3FI`}e-pQGZd-c-KeWLd?r4r=&7hh9LI-VpSQ!3Tm zQhtH>Lxdq>zP1mHnqV&&vAx|Isx>{DvtP+t=Wa)atR1x8oY=x}rpw~$as5xmoWA~O zJ|3KGA-al|=-o+Xf3?)(5fZ+v8$Ni!cf}pIMwB`24Hu8x{nl8K{Ylq3tAeAZ{msh{ zELZJl?PsQ?^LM$rlo_zzaai8olUIE_&6G~*c;0d8XcPb9MwX9z(2Z~V)eC?>sx7rR z6Hjx8ADgo#M6V_saS=69L_r{s@{tD$C1%xFcwhRpJZV5#WwUj@n!oU=Ksp&DwQC;JlB*It_6Mr-+V~fe zU%g_y?)^?b8TjLqZa?y&1Y-i(9S0Fa8Z=Yc;WCO85QT)N1c2Rb8loHoEbIiN3LYnITVV2+U^$_OnpZqi$Z`l@0M|_T^ z;{WBG*K}cCYF%ZyL0ejKuk zqBdohFUBQJ(gS0y9s&!b8FsCGV9+aU@4BDtV8hm0R)Q(H2{+9!)$Sa*(;wU9e^n(H0utaWC}JPYBd#pu|85~apoJQ0y^4V{+V;mPe-;vH z6Fzp0AlN4He?eaAJ%wIUz?Q15=mAx%9R$Hq5GL z74hnTy*4a8T2UXUf3=>Qfb5-%(QML(Lvmh)HE?~CHNH;gH!0Hm`X^^xcWAVA3EohSgRUo(84B31R?z2=Ekmpy zHChvc!8lb@yBi>g=m&AU`}+FM9U*IuL+G3157od9t`-by=T16$iNIbI=VIyhJ2jmo zVi5ObJD-0j|67l}e2Q33>#N`PgJglXY4B@g)@b#YEmH1&%*4pcM{K_^W4}VoNMOG~ z3q!9!pN^?~QmGxrRl{r!-<>>Ln32&*ke%NqP(!i;Y;IddpD3+y?&|s$bbFt6@&4wd ztdQQQwS03lu}C}e!5V}=Ct5^haZL#749z-A&>4Oj4aJvv z57+se&ApnYz)d)WGDJDx=jX9b;)Q?y88_8jDDHjg`N)Y}2OHF8&SmTl<_5@z-<}8y zhLJ5P{qLz$35-0&_u#2;-i`YVwWp!Vx3k<2vEw064;pbW(NF(%Ax#fRp*_R+LO+*# z8aQEEqO*J655!)#U0qnq(5c-A2a_^JD~!#y@jQVxEs>zrI~-XauyN zYHR2ppW3w3Ev7YNU!y-Tl!$qkR0u-veVfT8*=w6;mp#-T$-QZZICSm%TSZCY$3YS1 z_Q>xAjsx4JPi7XFKcLRMwU2mtuQkGtVJHR`VZUX!^N#YYDQC*)dFPaERY6aGc_KQr zDoX?x?l(`eSnNUlm;baPwo^wZS6q6h%HUY#NzMm?w7!?FF7ze)}=RCPhuR2X; zY@UZ^oBR#BQQE(-0pjPYTs7O%D3QLAYI4Kb z{i*L)H_I)VY%8-ZuN>~gr6Tuv+e~W@BsTO%>u!k8SB5k{ppveka~no*(0_*LrON+| z<}ldbdmP{?Il8^>p(S}=Nt(C)ELmEq-9Q>yRIut(06dl%O*@eK<4HTNRXA-7Qc@%M zV8IZ6Rz`3^yZ)LlR{6xEUDUx34kw-`t;>z|lMnT0`$;Ik7><&n*dMps?f;l8x%i%C z?I0a?zIcK+=|ilQk;v!a!`bUXk4H*T(&5d#I!zPpgzIPp7oua>P1VEoBC{6CCoXiu z*BqLI{mCXO{(Y+PJYCOeX*xJ;piHs)k>@b4pEh%dvm$EP8}@A3%dKyRQ`gPY@58s=Zx#N3BasrQ356bY zD$;m{ld30fFuuHirT;tv;AJz~nQ-%J?Ps5nkiZm1@)7ThVJ1WET+>Bz{ifpu;WBrc zq9d=vV6`ccC9E8RF6OjU)criww?%$E7?9ZYEF1Q_SlzqQBB$6)%yd&=L*To$YzjX3 z{}1)_#VjG!S^vD0#r3fR?Gey+dXJEm5}tgsKL56%0tHB4iwg8*w2w>Z!qMGV`fH7% zZ8G3MDMpSpXjFq##^fW)VKZYS$kdvC3KG-(I6BST1_7t%3`|bTm#!X2wZRV2k0YG` zL3AL>zsZ7?hl+eJ*L&P-XR?HS~On;CssFd&5gNEMy^nME67CYYIX z%J|-pMo~k;bwI26GAvvUqJ>V4S&G`4rJmwh8%SEnrXT$0m<`K-J;GGrYJz02&|A{o zV`IWQ@66Ac6l!0Khiv5+V;;=ZJpD|UE>fjq`-;|WzKYZ_zG8vf5ogHSa zod&oOdN(Cp+8hP%aW4U}aqjQ;iA`V|eUemeBH9D4Fmm5H10^){#FHO^&Ez{tdY>HtBMraNfKyg8eOuupsIR-XR}M(t>`tIKcEHUPDvmdVlCX zMAhe0vuz7~_Ru@#54Otj&d>hQNxRr4N~vTY*@8EK3ktu?RBwxxyy9-`{}Ss?Y9P)f zjThD-_zQX_0_!nk0p+Z~VcLi4*E1_H{J#II>?|g^u#)+0*h?r@l+0x=XW8twHDk0i z=W~Xu6uPGDpn&L?i%^~Vcnc_jPk~ahbJ2+F#3e8Fd`IHF?5lav7Bw@9C<$Unlt{7+ zj(XfyAExPc>C8fY_|5FvhL?WD1H#72A^OM*h*o`%YK%fb%VmbtGoXCmcQxrl;n1Lb zdnQb3M(j&%6w^%c5s3#z+XH!#;oXi=S@4huotmQ$hbY05YYLPoB0Xq+Yok_fF5d(dVKCVvgbp8+90Y8|J@x;jR z`HD`*sI;9#vn84Iu<$aHlSmg1tFG{m>24HJ$Fz9qupN1GEY>kRBe+VZq^xeqIPjN|0AtJyF8FY+Hi8c_VW0WfQ60cUgCQZNXbObYlB6=1Z>V zq31^hSj%48&5KVum47Z1+5e6Eb-J_=zm6NfS+tUCp)z~R(=^m*QCZ4XN)4D%1d4<7uh1+G}Y(jV|bvxG; zJSSh2?O=Zsz6JgL2)pOW$^l#YC`Zv`vl6sCLnyH(Lfzg_z?VLLpjC-NXVF!RXD_pD zrrS2nx`u#>Pn(PlbO`HNBzfKaX{?WAoNSo(Lep7AE+gKDYVW}EyFZlSXwKytB#^7oyumxu0dUkMpx796M_Z$(Q))Q-Mi_$U0VOH z;cZ zTW-${e#c$oeVH`$2lI<vt#(J83=(R>Jr18N#PD z)?Dkz_rH;NMqYAS4ZFZX0q2#zAH-F;I{jIE97B-4s>1tl0~5ZAqoO$q2|j;$<8Zf= zdHN=jgb4$Nmt>V@tA&0l{TMa@U*|zadT90NXC;`HlzWjYCN#wzs~=HN0#?-e;T&u(DIe?pt>`Y*kd06i5hffA z)q3uA*Pp|_s~g+>x|{oZkLpPf!}~ zhEP2`TB9P;`6`?Q>Pl$pqonG?b<)$*tqhtv6aJh8&j(ICY@OTirOSPuZ3E>rCc+9M z>x(Uegb@W3qEJi(_?`D+-^ex3-IT^Mls6XzXXIQG2#FAHBjiMJCqb!(F0hJcC2)AK z%;_oDK-9&+#^3oly`CwZk+GyX%FMUm-V8#=x8p%a^@7DIf7ci}Z=hy$va8aDsygV= z_jg3|rwsd{#~#DxIeRINqKLjQq#^*my-^~>O8l-ML+pnTr^B0-Y6yPI*T!s-G)I6| zO7OY3xVm~WJw0JC%Bf+$tqllwSDr`>Q}=L+!=)PEqhh^PyF1rwmur0SGR9gFEpan` z=L5|^*O$+$et5ktSiYSTo4ThzQ)JP@iHU_a7W`d-Qq^sBPm89S@IH_p>JRUY$U(H- z7ESH%Gzvo0b}B;vyhi4o^Gq*C6brkGQU4g%gAL+!0lUEQ4lfq~BJCI!Kme5zfmPJ0 z$zv9$3?S5_(j;Z|580j<{xbV3{m|6Qi-Ulc2Yal@EY(*Oct7d`QyM}AghSw~YR?wl z;o>ld(94hDb%fr|Os{KA9?HFL)*alh`{-Q>t5v-s(knQuR#gtuBXE|82)ncjD-SYD z0u&BA<;Tts_V>*Q7Z(<8fQ(zX$Mb4_nExDZOeCW#KqBS!=JPYG9wnT+iw`=nRpE!& zmx&mvE1|Iy2l(RW=PQ}hv7@#WL(@>15 z!;2%dBm>H4Gi+!iG4Al=p=C{XM^a^p37ykmE73*vCVq!NZr|5w9>p3zpoTb`-GiTk zv*kbmCl{V){c})Eq;l038)Y*lcfMMaJz!Kn13NxzGk4>3-7`B`N8D9hjpuB5djTDF zwz-M=^W>UVdnu@CYje2KfX~iL)QsQ5!xm|?RD10S_#m`<-{ySXI z7nUrLqtjW8(D1`C3~45z#_?5@*o5}@M1##F_y~Lg{VoJvB{z3lE#bvIrs)kZ(-EtY z`02y%TnQIORiS0J~R?-eN9GncG37viY;-}a(Flg)lHQ6mb4 zHu00kqQyt^{tbB)R-i_Bx2oHd4t12wdnx!nBYC6gCL09mR#qPM2hBUcu^TRjV~USc zj?iAZA3%_-)}*Qsii0cvY4ljM)ag?B`6VD7sqlCTk2$@|)8@@H%8>oa_h8YSGA4kx zf8`SoJ)S8yC6`!0C&#M9hp>)VMDQo&lA`lkDw5?jdB*kN!*;^)`Fa$ixl=a}VCuUi zY?PzX;^XjQCS^tvi#7^XDgS}NtJCz3Td9i3$kl*sTG3}dkTO61mXZ~SYf$x6Q>XK{ z#TJ#fQNqG}VZMl5#LD69qCPwNOUFnhMQ88Z>5R~_oM!UNOPJs85jfZH7H1+?FU-Fa zcU7l<<>$S@6-Vb5Sd~4X`4c$dj_v04LfVzi?H@)ttBeNl=?ovFZTP%>H=S9stxjVs zBnSDfRGtK1h!i%=5mhrV0d8!&UMgi%tS-WA$@?%xq5GQhbPpuuvr?F-n`4% zIM9IVS=4pBzsa^i@jgI&6^@Z|4aJtIaCLPmXq7X)_g{Xh*a_&&97Dgxr{!VviO(@3 z>ct!X?*CnZMoy(jyk^HKzkOvVG$PyKoiL|WCbP(}u0h!~>ceWn3cN4=zQRU+Eus z_-VKYZ~);_CPJmoZXp#Q58T7fH&Tj&0Pmg?uYh_T4%05uwBRbaRd3IahV-si`tob?ZNydhr4oAb`h`zi_Jg*Z3uzYE0#Wul|0a=<@`EpZpQAuXnm~5Hr!Us@O<4{P@ zZC}c+oxJvIT5rPVcR4-xchrG(ccY4J+~*k_gzzcRcDT;GiXBG+)T)KxtmPYjy!n{5?De%6GDoF(lg0sIp1$_`M5 zC-K4&3`XzjnjAIt)*bGzp;2|%*t^hwJix*%@ZYXgf&u9o>CSCKIr5_hM zIVNuoWoP1yi3YSe;{th#(w}2WKi8?_H%B#EL@W^<+~^l!laH8Tin+F}>Mk1-jG5;p zXq*zKW=8e_Hcv$c zZSYir*%&9TEKuvVp+XT8UHj~M{CY5f84#RBN7SGB5cgnt&d zGCIA`E)IuWZD8EIF!`QWjh^ct*4hsO!A=@>j#T&_z=$Ju7GpcVQq+taf@Ljcq35yPHGT*=0>TQ3_d{+JUP&k>4f!ANU z_UitlogwdNuk>mAm*U4*9wBcbh~9}qo5)K-gvPxS4M1q68G&v7F?7;93&xo>MS*%1 z!mmh1Lx?2R3ji0ULPenB0QmfTYs{=Ucipg{Z z7@p|oicnJ}acEx{`5dRr4MWUv;PzgY1B@0~9>iYd4;p+V1QS~;K{7Ejey{rz%E0V@ z=UREQykW^+7L!34IUyA;ER$iuy-lhD!xdF8hkE|5J%ZwTt%vNR5Z{NS4 zVB!2E_Rjhy_-V>-A`DW~uy_^?s$GN}L?i(d)luM)bk-vN+fz+2d?9E@^_(+R`+{DP27hyk>rW|KCu3SKgMmsX5P^{cdQH4BoYBwT8b3M1u`!O^2G7<1@Qj5tfg+%#6;cvo9q`KfLdOuvjETxqmB5+S23<4X(iao$^5ul*W z0a`96F{}=^Dw`o0X)t*IT*-p1j8`q}O*j;KBgcmo$ZTlj#Aa-<)Zb4Q>ki>E>{8f z8UYOja$hwB8>>A##W&-nQU+E&i$U!<;zo$4)=#5u$W7Q=EZqbOnpd@t=h|H(yz!eF z-27+jc07*}Q%c~Ycr3uX&{6vGO2MJ;I&$?-(eAiQ%IMLLPM2W0R`r~w&7eN|7}JzJ zx*UbN)rZposHR1 z)+@wj`1QL?ga&(IPZl(E7^uhGI$v)yZY}t|K7E8+cJ0Lg;qLCefwCIPL{geO*pwRF zFnLE3Jj&}or*{{(!0&IgIM}t9>vF+F5*v78sNqE)w97R&{vISp2~9aNm;xf1wp?8G zf6(H)C73$Kq7tx0cnYYl7= z1?>5F!PF@))9X=k$ipjhbL`Wx28nW)?$IvQj>qcYx92BBEX?S;7xZ9Mw_VUXza}Zo z83xa_+|kP13Z58@m@!4IxwN&jif&&#@WwJAcO+DVFq%)AJXN%^3~o$<=-BVR!oK@; zEpZz#jIw61Q_yFyKTpjr%9B68QUJVYlpmc{$(a|$qc*ov>^|gV)@gPBos)UQwZut- zt~Of@HRcXuZIiDmcQ2JENkF$l*NkVZiK8S_Y5Kj+g7Q~!A^P>mPgr^+y`z>}ZB?VZ z=Z?QLzNMY6qpc5U%v_HQoj4xgs5m`#%iM1wv7y;A1iSP75yBwd=JF5pv>_+$nwUkj zX->LD4zfm-z;WRMAwRR#4$1+=h|}Q{fB60M@b6_T_spa-?K!&IKkICy$jFr)IqkGN z2@`?JX&64&>;{KA8q12;<>cnbzHTkZEe*TsEn|KJ14IMdor;TQ`Nu!uZsp2yM(CMP zUpn!c!6k^3?<`iB6_uOkHKj_stBB+L6*Ln~)Z_}l5R}1{9GaSJm005%H(*^I|^ne}8jMfMX)G0c9Gsz>_G;e%u%%LvmHk9q&Pnib8v z>aEO-c|m&5>5YK2*vzU78C|m)r+ zK&k#hol2GkI(w?iV~=_2Y6k$f1c#v1v7>CUO|cY}5ukT^&jI{HiBr|oDh1z~OeN7I zOI18c_L1YHp-uj~HwSk(H@yv!p8i+WxSnZAXZ+5{sq2bObOWv>#)0_Xbu?6(fz=p( z3n6JXk2SiO)dhx5b`uTaw@x@7g(hR%c(I(B-ZhpFhA?MD-k@MiIRED+Be-N;HzuSl z+WHBZgQ2{1f)F)9R93CQ^>1Ke+zxIYI9=%68@Yom!d zf&3!_@{b|@Z2R-?<#DF1qv0JMR`)B}&^}3a8Ci}Q{7)hUK{NaoDdpAVtYVn$Ix{8{ zII;wvEL!vs-Si3|Rs)jsIj!U&*-;k}Fz)?cr7y63^}liYlxAkzRUYWURJ*Fy!uxgZ z_$NB`3zob%Zu_hak}eM($QAOJ75D&ff7>nLRFB2{HbcsSg^+wJZ`U7|^|oTb8!?~w zWW2UtP*gYgX^XDhE_@~ssOv|ejq1{_s552G;t+;e)aMA&iK2rM29aCk7hzUn1%fZ>^;Vl|dq|7PZhptd-DTs)en>^x#{nAwe_vB)ak3n-!C` z9EQ^T61<%FnUJBEZwKe$;RdIMPX7i&aE=|-dDds1G`9cDtOQYr%H4@Zj^w5&;DZc9 z?$XI?od;S?(-IlGssJtZm(Qm(&*%IeiiuQtAR>m`bOzmxqm)G<=43>Jj|LRrM*|~; zu8E%D1-wNmK0+K{*y0(>3#B%cQS?qdOmZRgjSAK8r^{?|nVKvZ0SpaA+5 zWc1Dy;F~yxGOu5H6z?5&9^HImu zoX7J`J$hZLvzCi-LcElb1CS6AC5d6saAXs8%>Q(&dpYhl@Z6d)38&|tu^1L1bE06% zrM-IZZe~u~+ltRDg?}H#uQ^`TaR<@DH8NnK$b)UIcTT0lMDNm+T~)DEZ;B%`x~BRH zTzVDfib2mVs613s)&7sD$MroZ&`I7OIDdG=S=}2ZGA$IluHPnOcOG*Q6KW$vE4KV~ zg~<_6+|v$9!Pu2z$e>x2Tp|LNznN0&BuDl}kEOi!_@A^}Lr3Uwp~kF9blewERZr&c zqo8rMs{P#dLvJX@&kCv`m-28_4oFHqnXts)zgEom%dz<@Ji+j>%ds6wAuV*aB6#uk z@u6-Qn}y8fV3RAu*!*{AD!pc#SY&M+4xA@SD!<(?CDGB;OBHq0VQFXEC@l1n4x!7| zrRTB}TMl=Vyw8tOv%8cm1yv3DuYJa+93K`yILSYVM0SqkhquCOKYmp&2s1)3qqiYL z;S?-6ygFW^YIFNh}s<%q!dR%q5oo{=Kr*Bg}R0jl1WsgTNK;FfThOaQD#Ulu{ zuTiy7nQ!PMmpy@#u*rm1@MG)}Y}Fz*Q!$v&9*yYz0hB~{{keYBgM>88ym>WX z;|a7Hj;ad?={b7btl^fBb2i+odS{sWw-{UZC9N^~-brVdW2OAGe}gH&Me)ow;fxB| z(C`EB%Z%TOs4rz+n|Sos^tHc~#kW-{w{alRno!~(m@aLv(E2|ojT8?;XIWa_#M!gp zp_0AQF}G+~3KcS_x?9k;&TL3YW0M)PZ4Y!Pv&LU^$U&e(O-Vs;5)%=F<+Rr>S4?b5 zuvx+V;((vpw;n5}$U7Cq%P{ms_0hE^ui4iUE*d`-)>h&_!IhA*QkY@z!z>h;LkzG8xYwTv-3OG3(&6WwnTR6qMW8`qdrGxus;G5 zzq5zIb};^8ACMoy4ri6b7b>fRHb8m6hyc5SPV}- z0Ac?{`24o1<7PSV6yMtBgI^KuO{^TikC9#u2seS};g4`D;&ay(y1hQw_^Z8Ce1ujX zDY6j4`#%P*kPG0BA<|NjSzl(sgArDMG4NlgbvgybumzlCbPBIQ{#2X9+*?#W*k<>unB2hmC| zypN}FQBEmA&8TuD&v3cJ$Xk^kN-oJ{8))ktgmFy1(w8>+EADf& z=G+CH{`kE1q+6W_krcl|*f3?K?)M2tjB*dYiAoaIyiS~62<0fVv=U~&7jI1t890b6 z@2tOOg`6S)CAniIP_>!`k}c9}#hzC^$tTGB33lbK74J(jtZG!5;h*#=(>C;F<(7US0f5^HOpg(*PKaL5?^|j$1|2O#Fae{Y$!JeUDv9KG8);IVOm>xt?+3MZs+7;x0_be$Nih5*k1|9qiWJ1 zB$tZJ)8I@_1I3*0{H1g~?u3sR8I2vOOW7vi)9TM%uTPi?h169x&qSh_mTp*c( zhYc=N$~*81HXagGRx3n+?>1D88g6jxsG9dv3`(w@GQpV#3%w7z2gjP0ol4WZMeEcW zxS$nyb(#Y=6%1b0+UhCjx3juk(+QuhMh0{F+LEH*G4(HZf!lJYm~xCutfL>QFpi+^ zc+EB6K79rXLhRqSXHAD@ssn?d`U5?l@(zWAWpjsHrApdr_iUt7yZm!16yULV>De!U zP6GV_+<-Uk`}bZI%@S9z(0GVMJy>-{;)`)w!DYdKM|{}jClrk#6te>1_soxvbxlbw z3Zx+DrumdJGZFR%X%s)UR+GG3GW^11l@JQv_e1n;?3cVY&zal1dTOfGF6uP3x-sMs z5}ZC@Pw@fOt-^Cv*j=l~qP~^I&f(rxzl9Bz1(CkIYfLl}GfK}~b)VFv}&U<8fG3#nuK z|I~-{<^Es7Rtbd#gfl!!wks(qlGIaw=3x8as(_I`f+Q1iO+QJRa~s>nTJBu2?otZ4 zZ4yk}BGrJc%TXP21@F}$MQM?)u-gQuN9+1ppBA&;yM^q;i@78eR_xAW`MbO^E|yDW z)j4bpp3I43XYLp5;Nmh@5>u{0M9zGBR2=)GohA@tcW)Q8J{B!Bsldm$6aXIkY>8(+ zv;7iV!_opoh-i=b8+2yc|7a}?T+8v&z7D#gw695w4s?zqWFETb)tNX=-RA~)QM}+T zRR$)0eu-|!f9P%>0@7dVU`jS$6D+ARRXp}5`vck}B>h+Z8%L(NtlPgG)0slHrepav zWQb1OcT_q;Bnul!N4X#3F#DwVs3B4?$Zk>Q(ollr_mTLw>?ZV}E5J$L3!lkkUz+07t>;%5rmS65Bj%gg4a4P5@kzR0n4y0ME z_WT4uUZ7nK6??Dj{qEHs+mvg5DQ8P2u=5~zxCBpVEM}p%3yRurcU!*)^-%5Juh}_v zUy~bcG{WfViJ11y`dZNMtRCA_cDwD8m+-7od1xG=@M6n5)A+1BzaK>of7LVs1T zcsGST-_eLY?8nfQbnN*$?=Xu8>M636dBD+ol$#;9XKj?tJjbE~05-BGN($Qfyn{4ml-BGD0#WShmiTIZ+d=&Z+>{W5j*Q|gY-H6 zUD&$-IiR%VbJD$0{+7ZEgGJZmEXpG#yxBp<1BU=H`vfW0FIMfgP-$ZcwF9h_+_Ep> zF_5IMq!lSVs*uZlAMw&IAN~9cmZ^s6$EQrgolWEzbW(7k*=pFjO)bJIo=}Snbk{B7 ztLq|cS%SQd)L=uj^J9AhnSvYU*;9IZY>Ct*b=godQ>!Mc&i-?dW>U9Q!?VzC>j@l5 z;(~leW+B;m@!`^=v|5!EM5j!Mx#r$~wUn@HM|=IrX1NRoAKpG+D?`jeo+uOn&Q$b& z$+uj~b9#qU%C@sDrMjwRk7WH8!`N3c${3|MP$&jvU`MY`_N%USYv%;VrwUn25c3%4 zBpaETF!9OUMm47mIG&aFA0*5>;+mz>*^v!uBS!r6X{IBed4Jwda)_1LT1(*4u{BVY zriLSDVqyi9Y$cI#U6DsV7Nv+WKa-=NIXL?AoRB-c2izBtWGLpRIXPE zDM&2%f~3uG&;x=@>P7C_);MpK5?B>T8Jk;4dOnMkmvVI{8qSuW^8L5LdR4XN*7uUy&5XLXG)LiUcQI-J2!D2we zVQZE}BzOny|9$n?nY_i-(qHJR`PD@$lByp=cZ_~`f#e~@t7s7G`m68N!_ORc-d;x3 zGhUucw!BgpOzfs2?d3YwV*Vy_?s%xuZ48+?WJN%$78sjcm_Wl`G(+Gy0Ce zidO9fE~}zcmku{%RZgu7Z~LVof+8b2XYPsVmj*8TCAQK33E7d`_UMIb8+~Y2?sZIC zWBXgqgG{r1MP^M>xqQ@84mz?t6o%BmS1y#J6H!V$Qj)26ZVZa_n)CL0n)t8wbOdZt zJ}kvI%Ls~@ih1y+MYi`~u~KuuVdu)h=BlL`xj;WMWl_zocE`%3&2f;RIu$$G{|Xe9 z2%lOmBVK{HR|Fa53%|-i=39#zt6-u$vIGlKyjvX9v#A>BlN_?f7>b*Uafyr=E%88O zp&_VP76htq!UgUg9G1x1v4-HaXes2}jQRcsLXTqW`LxO2C`%H^gBiLo>_=FKid!Ei z&W=i)b2in|{t8I3K?B1s_ux3ROS+40DRzPtudsOD|YwACNfJO7JMrxO>ZWA ziEijlvR)pj)>g!cR};7cN1QyJIX6E)J($f6z@29N%5R zym$K(HX=xvDc8O9z^Gfl1Imt&NxQ%3i?TuX2KrnkrJzPx#g~_bD^`XgPWA$eGfch! zZQ&V1AstmP(RhQ>;aky?ABu?#C%6HA)iL(!LA=15%idXq40j+_(@0ESBGI!)@bgbvsE~ot1 z|K1bAL>*q^7Xdnk!GRTb(jI_My~9vwVu8oLaJ_a}=+t3acHAH1~e>-H>R&>&rtYgN|mvgx!z6O^o+ zl7X5}4sFAK-Io+z9auSzvmY0xhpZ2y_ilvrc~W{m9yB6DZNJ zg*clywbP}Xr1%K`^bze8QPbr7pNtT@M7$-|C~;Z7ZJ#VO=MHuuX^5Qkd2I zI)MulR{qm%91(dVazj>r;;R#vwhtYttn6)@UR0nRXFUz}wOdwo2$M&*EoCu;V~cNT zjku~GVN~AgFkT6@scjV9@TAgeAMeMbAG{VRowz#Dhsib=Ch%j_9l0sb^?vhCpB}wG z`6dU+G*$HhjCljj?1OYo5#Hs)Nk6AtGD<7(R(NOMF^{jBrfE)6=ClQ}ZuseQ zv*hin0>_RsEv=rd*fwJQ0K7uz`K6>NT-sw+E$C~BKst^Vwjcs(1#--Z2a9Ev4$Xf- z&;~?Zlhw+fjJ?@0fB`T-8<=Dd&Yz(0>i9|Kma6lwh<0KyGv(Cn^!IB9Y;!-W1V<^>xUJYU<_( zn@L*|otYx>Dqx~ew%g6bKo=sym8~8p_rFI;>Iz~HH3(b2ow~eeN#>7=_rWWexof00 zu6q14?_Rl&Am(G-+KJ5~bo09(`7~&=A(R<)9Qz&GZ&~c1eS3Hry~^}Y#~n1+fOi<) zgDV6fA>X2J9=5gfxPL{#u-wehGnaM!+MY5sFM3>|H}Ro4S9J<+3Ws%ympF==&RC@D zytx%K44H#j$sipQGFq?E>QfqG-`IcGn7^a42t6jUm@#>XnH#9KPqrdywDn(evUp8s z8uGHuW`G+a!0isOH(HZfz9o9G3Jh>Nz-tqNU~ewb8GI14!6nJWm6AtXY$ULsm3@1- z+tW7VIXRT#Ih^m3wY9QS%RvzlJsh8^EWf80pMn}HwOKu(eJQ@w(hlk>866nE-LYDQ z88*G#7I<@n-+h2AQ&xE)soplazr0k&Zdts<1T9@$@F%DFrK;7dgAgo$#quhE+nuD2 z&S4y2rEI>G7mG>9Y`eO-eXJ}00l0t1SD$nHTZ~ff<8M3p=4)furf+aiC0E$gMxu{! zD&cV)ZJj`U$2%NjH3iI2TjdO4Jv#x@A{Y5FxXW8(IleVB9KTYDrIh~t3!8MEq@7j+V1ZZPJC4MrdEaaQ##TLqXp1sU#;iR7!#LpAtfR?bv zN{W%~!{8kylUxmKE$92>=)AEZXNxn~nA+Op!jfBFT(>G8e zRcUk4vg~B?L|4!;EXc=f9`KF7k^wntms=9wSdACBH2LnoCSlze7t}+gzJuXw-oV=% zf5r8na`EPCR%6#mbn+mTD;LvZ|AnsiOl9jYJ$DpOta%1c&DH=3U^Pc>Kc&bxqbi?? zzeDxXAnl_WUFACS?N1wDE8lDk(iCs#we|aot_q|4zvt5&V5`pC!dhQDg-c5AyG5up}H z08)$j5TyZU?WLs1d+qhJ^-W>!UFzWL!;&Qn0@+#4W~oIGIYZdsRVM<3MP6LfEmvcJ zJ^*u+#Olhi;C-9%CFxb)GMjFsjCsrUvS2vGCL%ER7~R%%NdPDYrpx~$$ZyB;4b!si z>jo|^d5nM)PpeJmlF8BDh(Y(I z81+G41LFblBf)&G^4O60y@5<6J?slh!6pmBB>gqUH)qbHxOgKe(xgo^Y2fGF!#+=D zPVxUxUa!v)KYN<&feuO&y>gswTU0jvYC}+8&x>PnQ4{bP^Om2AT^Z}hKRAOn)RCIuh0u{ELAEXQk+sq62 zY<`fdo3-49OeTqQs`KW_XS8}`r>VR; z*4MbErF89rewJ)(nV-{a)xGsv8tpD3f&pHvGxpG)3Ks{wG^D`*XC9tqU||X;sZrjPnt7>K{2s zwEH1tWIcWzNja|hmhXqJ&%qCYcEHEkx*0g_faw2{~8I^C^XRRiH;jH3A!d?ALV}w za%zFQ3tJ`gd-OOxeRQ!~&AK&xG%`Mk)Xqv5WsG_k`D&jQfBBr8@PP)+yFPg&b5+K^ zOY75N{fZiL%xJ%ZPinoj5tJ-mT5UqRik3g5nRAezA!!6BY2;6DWCyv1S?Fw*7$eZ1 zk1SE@)R;#5P#Xt7il;|r);e&(IwP1ld*~q0rU5_|{-HowBS#1rUg%}7gGmDBY2MjJF#|1Z zshEO7@t$%*X{XQ&hc%~WvgtFzYYCgOg;0M%SZ6XpwT#_t$2C*M`Q>~Gum&+M)^C&K z$nSoohttsh!WsEezY2HS`sK{1u(l)Mv{vrv!aQS7 zse?^+OtgO2H{+yseUkuj-Ve81q;^~)-SMc)8`Upa^IIT8RnwgZ#-#B6`p@gv)KL?+>~Dr+AgR_hV}Ob)*9p0K#SGH#OZN?O9b%Nx=OM} z%eTt_+k&VeSSanN(fBLKE4&IKvTu=LP4O(uX^p=6o^Bxmm5{KYD6k<(iz@X0n7&Q$ zb^`TCy#V?tzr3^AR9>XEsLYrhGl886_zdGNt>)JtE6<3n+l>5*wcqsfr$>)3Jvsa+ zNPKoUX@+vdc0PUX=K`6 z!PH+j8LpY(O|(uNX2F7u@z^5-g&eGMZfoL7x7({xSGQL{@C#ZCXFCF_YD^=QNiN<7 zSY9*QoQz#qHV6YX9rP9*N@-qwbRfXsV zP1-?0`r8cdmU@}sSYcNl0h@O!b2jz}7@=gRQx1HMIsG=z-JsXs?VcdM`G<1h({E89 zkBr}g-8wvv*qFcKs*6F{7WVfH0_;5(>8lu*`5og@7t+B5tZ^n>-{|O7$#+z8IGrW| zH!iTO7P27b5u|5*4M6@mE)qb>D53N^`z4*6dKU!4<;LJPHv0#>kU=7P#+>;I_&NfL z0lQ7nq>{HsbRa6i=NW_NW1h%#R+}@{oUVglbi~T-bpNU5v zZzRDr?lCc%UE`2zuPu%RHCyYZXs|~aoherv|A{ULVn9cY-7lfvY3tcK%5Y(>{ zQTefWQbGa&qf_>;(a0(_2OuF`LSKo94L@su$f*8&R_3Xbl6+Zh4Eko;xZ+Td_`*dT zb$9PjvQ}8~0bTRpW_(gsxv)@3=&ziFea)VAmc?@Wprz-r z+V$>(2Jhht z`}0~ci@Q(~RBO#;yl>A~T#Y>`+(JiJ z(6)lVx3uZjys$IdFKZy1GPT`rw`wiWIpz0Q4GVq!MMb0Jf6y_WNf0E!Bo3WXOGw_^rjzg9Io zkF9So<>SN^Zl2F73OlLbkuLp&y0&iYB=IYQ8uG zJc-p%Jh8Ntl2cMv6C)NJ&k{uQm9dcu9oU>kz8ju`7G(NFLN;u+P3}<4f%0WPV9nL}zPq^@GkYo8R3{3zMx z(E8|vi>;dky|~XycKY@%MpFVQuh4ZX9;aOkldh@8cP?Gv4()aeTRZYEhh*8{+Q>I; znaflxHLJ(Z);c`iZXZs#(X)>8bc3PzeqFr8@v}k31Y9l4*#t~CYAQ)g3{FMiM|jP=e zM$cQ!mdKhO4@`5;Sx3lfUjf7FT-1nmtM;gB46uHNmF-(hpb{Mtn}v)*h#C_w5t|%} zU)Js&o9Mf(0~5}G_Oand4sNzozGR&8DHE!Tq6G@1l5?eIDDSo zf%_mkujwczFd2e}J?NB`onMVT@N8DDwi-BTKB{LymASn>upYb$rxZtswo=XwYD+7< zeOZ)|6&6KBNod1pdz@_M*m2ReBcc*l6|av^XTV1Gj3x1b4XXrAqLvZtun8uBl2?qu zC2){0{|A&5W~paausc>}yO^k0Q*N2Wix=Y6m*?XYO}AYRKk!&>|IXiaG&3qFHWyAF zwVEg~;51(vpIBVXHHxc;GJqyM_DC>89B;sG&(ghrI=NqvW(wOUPjj%nLsl?o(TIsf-efyAcfBS$CdRA!k2)TFM)&%&12xR|<1JIP8 zW{IB9-q$`oY)>}5PP$Euiwh< zJ;0DS(joCD-(Idz_FHzmPB&|q?UEP_{+wgn;v^EUM>D*eHY){V#mliasb{tmCV+m|PD zG8)a{Z=K|_!{=^C&(n9jW7Iewcn$)vXI=%S;8Xu_liWj=UiJ4QJ@(2ZJ{OjWn1*_t zf}RCFS)H%^UuOBuFUL^!x={Fr-GAU7#Sy<|=pbv1uocKb#ZD$!xol$oHT@C`1zkFz zsdV2a{%c4I9+3|?DFJGIEWN;7@5tLZAtk{Hh=hWEOjaGCY@bp~{!H8Cw-tOjrIkCa zs7~}678sdIa*S^t#Q5~3N~YV>@}?4Xa|k?|-C+2|@O(#4n1(kV)1`>*D>IM=MT>y7 zSa2zNx%fB*k47d{&Ge^9go(PVkDBr-PYNsM6?8m z??7Eul3|d_uQK(Is}}AIqk+X{#Pp3ZE$O-Cm{rU*ztDxT0AYGJ71j-&1Dfn@<|ggx z>#eQ+ejy90^MrC2iU4{(KI@^cp>Q34y-7>O9sX@u&&TT31zh&d_P>KI(91J!qe=ky zxvL#bmGaG~*8<8$n2m)U82_iZNa5hLytMqSB&1`dmVI?gdNz#z6t#@y61)Jd9MRYr zAuF<;zvLeyk@Gt%an&V{9%iQH)M0EKrs;063hfKtDJdn+JuFQdpH&QF5!yRT%8Abp z@0j+sd9H%7a!7GQcraaok{7mXzyYa<6(J=!t?LT+-oDcEp_g8q`W_Euu8Zf6S(8z# zm>~i%%~roys0Yn`W69=tajqN_cK~0YlVHUva~a>kvPjMwP#$VtouUR%~O@`JROap_4*@9Pi#EQ_0?C)ki zmq&a6J>pG+&w*Ywb!%&SzGX2=&1)m=UcNE9ZjGhSwTCDl&vFt(Z7fha)^4&x_4*B` zsq@bH6t7|hna0@jzC1p>JT=r@^gDGTwfh||SbiplVjL{G_9t%a7Sz6AX=>K=a(8#v z?7C=Sl*X*B3MmIhs@wBWi=8!i=j}xmhmIb{t!hsHiv{$Ul!b8@zqL$rRhPXH_rsj( z)vb!cVoa=g`P}Xe&X17K;qUt8HzT8ufVf^{%>FMdC8% z#d!vXe9tp;?mWf)9`YUL0EV=^{h3WJxZ`;gV+)H)M$sDPp^vGW>to%c?SCF^UvF6! zR~)njp_&fIDN|iD4{RS=k=nV|umcwkZft$rn+kn27n#)!=k7wu1AQPot{yIn)OxT&Z45D z8s@~q!(2sz+k&dWQZ?P+TceCNt3Iut3C2$ih(=e%(`2LU{wKfHQDkcruat~Mt{EsL zx(qE=*w8;pmylY_uFqkf@RZNgs(vXLyG6BUDo)+tNgrqU^fL!WmrZVxYL!Y?;RGeF z_DjoE8G}X}TRU_P?5aF1dxF`^iOCp;XbS`#K%Ht_wUy4LDU-79IJbh>^Y$ky_UAYh zj(9)ar48y@3;P+p-crw(m$x*;<)Er(1!*#FgrvH+>Em}sMP>O`4uU%0-VnhBeB1l< z6UzSe!D5aVNQ1o&<56q7e{rX3^?ZN%^=#hg;dj5wuQ8G39Z9|`6~6r^Cv@WO0}j?J*@7v?IfC~HW{lJbfO$#si%_a*7f`6TRI5PT9x%SjwjL@7f!`1)Ro zD9n~P9>l9>FDR03IZgJc9sN=<&8)6X`MP#~Up$jMWv(W+#g&&iU0cLNlgP? zzm1j^kXj&i1G8qahpGW??Vz<6%~RUkZBEJfDS=0XNHkWU{{G|*M2@~B@%x|eS8FB9 ze#kZJpcMWOe~UETg%ZS}ZzX79eUbb>jExG|p6O(6${qvR+<$+K$1-tNG?mm!YF92@ zbH{ozRi>)Rkg*_y-?hrCvx@SxNF~f~HWr7p1gJ8}+9*kb&|ji>9BTgP-n(NfL$6{5 z()>H4i|4otMLk1IKk4|#N~OIwK(5>E90P{W-7oJl#}flq6UL;Ki}v3AOmYY;GFozoBJ2nhvUEtv8-|)6`i?yaDS=O; zh-nhI0@U?TSdpUyC53uHV*HV8$z0@`sN7On{9#dvMMFhei7=w`H=}fMsR&7n*0Fs< zDpnrV&wS&7^#@O$rzV2Mk9__M&%Cv(YS}f?Cai+F7%OrXOsIQSazA$OrTkZS`a=s< zKA|36KR$pw95x?m(_4CCjTG?a6?~d--h$Uy5cTqW8(W|+etv#^C^3Nau-Gd~A|QK! zUtn!3M5kK!+3E^E08j>szi@jFiQ78i?8W5FHT?iqp78m~jppbb**9I+xB9IvY|`=H z>9Z52r$=GQzC^NP9_;R`{9Ow;{n5s)c=uj~Pw;S~>%>swH?-OSz2 zm8Q`90F%85#}Jl4#~DtMX-z^g6p@Q9DnL0u!in**E8ObAZ(_o#ZPRB}@8iL5ct#=vl z&x}V(s16aeUNsCa(sCY4t6nAc;F|2G69(wZUnA(e{CHO?n$4-dH{EPD#b+tsM#BC) z%LMHdT!0%dOq|e4zii$0$1K?|VQ`C2X5a>@amhcgde)@#>pLbEV6W*r0ygkOCBZV$ zbj2#3RGEvU1yiyPPW@iKt25qfGzZ08#u0w(HWGD;HEb)Bql%_jJcg`;>;mkpyDk3# zikmUCm&A`krNbX&9yqT@ad5YRnqUw0B~C)6WYDOf9m(!wraits#dkLCM=yJ-{&=Rr zu9rC*iQ9MHY3d@ld2Iu{Gt>tCz^92DKg~8H)tDJHFX?yU`uE+u={bAee75Y{SytTQ z6OOoNMYV-Y+VeuSgC;h}WZ9pJwbBoH`Zee8XHa?L8L%bAm4DodpMR?AkJy&8Hd}YS zM1q3((7moFP*PG=#pjZV{;oHaD?0V#kDKU(nqH)l_8B%DlSP^|-$bmT)++jSjFpj< zve!jKup_?wlOq;0S$hnPk^v~xtWAPAsk54_Ki?C7KjCjIb+Ou78k)Fm1-A+O(v^z& zb5PwZnW^o+G8afuOn&t(PO9GC^B6?l{c^ZID<#93PKbgU3uAJqw0BocO$8c(@S594 zGcvh2>RDoC)cV4Q3F9$%ZtuZ-69#ZDusM1%0QLSnBzZ(>4f`EdUyWG)fX3CV(yrmf zsR~od++!t+f<@{2DgmLWK!)r}Kw3y9{Q}kLT1`=TD#$OUR!U63WC)rdSbq7JJiw}+ zM)EJt+4xbu2&{#hlrCX5=dpiE9L72@dHn6LSdw9$IorE+=}^zmc36PgZTX6&j=f}N z2_Gj03Y~C5ef$5rr-^EAS)@{d#yZ-}0FX^c7GjycpHe*&Y$r(U| zP*|BI-TL9_nJ7;A(J9Lr_3HtFO?bVm!gDjP?@+S8uSZpDo3?{N51lz=HK@^5?icJq zPW?$1`fkh2^;21FKc?Y`UMg)*@r)2QZ`U85KOtccjz`?ic_*6Xk_ z9h!{knd>h=JUV1X0cevSzjkdBDD1vf+-o%UPY`66j4zd(3@oour8g6>F*$_jCT*=m{HA zLE*|Gg8OUb!%Ih$!9BjH8B5!&TDC50#7D&wtIERTLpS3yDUWIRwqgEB<~j);RFQAlJS*`JUeXzV!!pc-I%IcW7HHaLzO+prKVM zKV3QGrrV1W+V5m^El@oPG7|=5G^41}QbILJD#_vkYm(%~dpk*$tK4KOK^IAKTq#&k zZUKBMZy=+Y&VnsMp(F+#wV$>0MVc-xH+QiFnWREmnNB+`em6bp{}}iQw!9p-LXlk? zK@Pfv?s1bz59`tLvZGOWU(2(&=;}+-^`Vnil*UX;HCRh1`qtgdR+RA1EBR6BT6KjH z^SywVLJ0oB{CKrmXpgkE@=R+!XH^x+!uIYzH$o|J`%+Q;CgAExKe407SK|}JDJ!RH z^zOJC%4den{twjsjd|kUg|e1`^+S6VU<~Qd$spk)m%dx7-p_X#Y|lXkLQyamG&W}& zbShG02s}Gf{kssQ)F3~g9gfgMcEM_5zl-z!Y`Ft?dBJv4L|~$c=xWnQf105EUM4Gn;Z0_vQJ-Gf-_$YgU?> z3H@X$33p z*rr)=T%tJLB#AUN+s23()!xp99%ME!1N26Sn7iYiWau$T32R)F+nrCPC7m-uyprB2 z`wR-=CTu?l=Gc+s!4Ej4g@#=e9*vUG<9MVS88s^je0Ie0rG=bXmx2F)aivhlol7p1 zE`K*G|JYNsQ+N81(a$T%BMWI5TV4xQOGm*)MARZcMVY-OK;16&g@u!X39$=Vh$e~8 z$)3wna7C!8mFq(?4EmG^-Vm+m;z=cht)L$@#|@|Hab!*r6n$u|a#JzKKKOQS`F>Jg zSqki%G%dJyB3(joX_U^uGC_A{&A(v{6!4bpUP$}ELo!e2*Pj$=o7`wT^fb&e1@v_K zlZ%#z9W>+NCbPS5xYzZ}bo23?NhVetrMkN8w6D1@U-Bg`ymPI+8!4Dg$*g}E#79Sp zV{ym)hF1x`0wagDGE0(RSnb+fhLz(l)kILHvVpLQT3_X1NJ(fI)}jTzNNPNP*vaXf zEg+BwLH;5_Bp@4;VoQ4{Fmy#!iy(Sy?7`5rD-U(yx&R#2u_a1Oyl-~G` zdW9IV%Bh-Bpk_wck_5 zqOlxD=$tY1;y#fU+|@1G^I9`^65oYt2vJ`pA3qkfp7>OJA9`Aq8xKex@jTeiY6Wi0 zGJ7%nh|0iFsck=&Zv+{tlsTVlmK7Q&HdvA`Ce9$diN&mYxK?N%XP}^6cm0WyhNJ-c z*iU`up#<7O_}$+=xw7qJ>7=P)R61QuJ|(WUEhFu_J$Ue{r)n!4QtwMed{&Pxjv$U! zx>YS)N21W$v3p?gFk-Eda%>{CJLRa;UTO8|X9v4tax-G>vaYmtRpC+Lz@a(U;W&fJ zClAOEW4TXbH}n`8U)_)zdo{{QaFKR=5$blHGHNXQE@5opS-4NjRF4-pza(eO;IK*o zO~xV>Z`mp!b3!C`*jiBnLM841LCP;Z*yMj4rxVy4AKw9@9gs*5^myLXlBb5qaznSF zkH8Ev(Q{-ds>RHVV(0K8B&Gx~n$}}Yhx}J>vNy=j!k+wBx3Z{1VR(_}lZIz+kHumA zCYq|>nlDv0hbm6D*aLY^Noyz#&_`31?m!b7cSkraUg?wLc#30Vwk`aGSg4Y=-Q{~f1c8*-KmvjnPePGQUg*W)p9{N?UQypNM0HD&Q>PIX zsrXTIXy0F`s(IHqCPD=gc|=nMVQ_1rF0aC7Aj!#bIltJMdR>w(OswL#Fh9wbzfRcm z2x}^jSAq;G)wO81fgY0=lYL)CQs!v=VKnV$NGGK>rB=mM;_mGd=<S!!i9^G|gg_*I z^Wze$11P6IpEr<)c=a?rmdtw<|L0l254C1)-{t0m5?a*!W?w}L&LmRholJ1W6rB`z z*4EuqtAt?h%lI!`z6NaGbj2Tw6VP*z2&%=7$_TN|!(rIw$eR9ruut@o?8s#nGhcuJ z-*eEO2auN!Re3fNnF(OT|J8eZ$a>`4Ra`#sgPG9g(RfpzUvTOukE@~YkRH{~X2vDPtQA#KJn)@Ua2kJjBnTJ`CX|QQ*3_~3A{#T8E%<*9smuY~aR=h+8KMAsrcdMeR z_F3N{4YjO`cAAK?GDsbdwAvyKNpv=Ne)qRah=J7P2YfyfP!gn%DR7CnAYTRW*Z*^Z zU58jku@N5O0fC7Of4xE6(6`p0&r&Zi45#F3vB+0hMV^V&pknBKXh2R#{AP`^4YK_3 zRq#BES{5=smeg^ZEF*LR>f=IQo$AIaRYZmm;(r|L6Lt}H+#O&hwvZAIT}Pl%)5Jm= zBOgOjkYAZoo1nIw#}on==%3&pO_nX6IsdP7r>&)`9o72(`#873fqqUgDF2+lp`?&R z6iE~b&=#|RrF;ukOw98d&;$7(pE)(~#XFy(F5udSXguui(uE=!AbnW0Zh-EZUP!gS+s^ao! zID?e4`D*{19NKUTqZl*Rzn=6tMTK8PPZtVM|K@=bzO=b?|C3}K12-~dEO>RF)f<$v zt3=&%w~&_+r=xc`R8J*yCJiGY6{w zU`rQx)W4@UK=(~aZ$>9E$)k{!LXf`kNq}O)m9~dY@id;EdeJ~iZVO&MR!RQr z-1YT)8k>jGEVcfBV?@N<-%_*6@;>K%j)j$cL_7c!*)TUAc`A~`CkVOz4MTH~_5JeO zZscqpd8{UJ*+g_va*+a{F#0FtG8ozBK1YZe{`-EhxK%lBJEa3YT$LZFs645p`3yoJ z$VL*u@jtjNi@$<5Kvs~ySx0}S35O6d$bpyvPXL|$$G=&ZbhfbnPuO)4w53M3t$sNI z&W=-GJQ5b@NQNN&-^IFaK0yc$L8-nEi?92?CK?BkLiiVcpBS5CxQ0V2g3 zpjUc8NHu_JltVLIx_uc)LP_{R`5AK+xsd@anuqEWI4u6B6cKbSik*L>FJ+^g7t{w_ z18Zp{P+sVn6;iH^cyFhoIfA_`XabhUPy2dHC2IE09^2j+*Hd^wj4FZ{Z1zLB2q-o~zXhC}2Nvu(|5M=ock z0o&s4L;C~L@R3tD+(-ni3VKUeI)FP0x}ZSiE32uBEUo#>S@6?EVFWMXGXba}7z`Z5 z(1}2T_vQ{a-UFq&+wXmBve`fI#Ph}RH?whycb3+3_o|$Ad}oRn4_=X(v(GJOY*x-n z9*@JgFy;D%%12yeC~;2BVup1tC%3EQqZ$V$A|Cd+lC<)UP+w~m<4lmA2gh&VZ9W+V zDAX#**S)-?#p8~nsiJYkk8%%cOaulsHS{N$eE5PjjhI~ng1GN!tuVwNxDlzBdOEr_ zc!egL@kE6cw_|r}%w?7lmkRYZ+oR-gHwj1P(;YEtB5m0^R1!OTx2ow}JC0z+lB=V&}N{equPb?OeGuVgHlaSgxxVo~qZ( zzcFFTG~I)+hn_LHVi~D^4iaRSSTBiSzMfsgW=hv1J30?Vz5Mp66rPHq$t8M2mzm~7 z>w}SKP?OD#H<~nvCxcl{sTven9ecy0C`;G}kt&Nk=VpqXC*ggze$>Js$R@QbB*YeY zc?D?%61}*Z@7~mcYeMa%{KY;+r9~#DGI$2e+mTW23y0CJY=?Ba7+m9qR%7K2t7hDg zG1A2Q8MWt35$39vniH0-)>_-r8S}u$j!J#aDLDZ!mPkkOGkXyO76MkR{4+4nkP{$` z4$Kq-Z>Y4bL}IdX>X_S)jWcFoi4ynxQVpE0+^{tkTVy}vqKlBGMLNCF?mH5(v7aqE znjK)S+#9lr$IO4S z{wP0ckAW_s^DD!IKFrJPo`lONC-^pU0?tmS{MNd~pvdsf^@JcWmdMx;4re4Kh@5)* z6w%TUYd|Kjr74HI)_D_5)4L|4kKJ*Lmq0jKyX<0&$f^NPf8_Q%J7Bne$b~lTEU0Uz z*=vikl&@JKd_9(@U%sE1+W|ueZrl%N_Ts#0Po}Qg1D>ut4K>_l8~ajAX{g_K&0f}9 z;g+dY`Y0=}u$Y0)!Qf6QRZ}#$d>09f0Y&kRQM`5!jR#b$U%`(LzX*Qea+W3lv@;l2 z6fd`q^~=~Cor(!Wj3np)yf<}?MdJgu@(iZNtdH}@g6!jTvrJA`M&iJ2r>%9b)HJ8J z)n0vh{||i)H4WT)sgr>^d&?zgw?Dq2#EW&jsdG*E)Op(mGN;teef)7eDZqd`WtjRq zBunOorCp76Z*bbha;j^8p=iCT27dW5+F*Fg`2`kF^amn^MT?+sBRna%{^3PhnUffY z`SNeX-rd3d1z$_+Xq1F<^yTk;IzK2fu&)heR<7!O25{r0m@y2Uzy$RktFDgk5));g z&CvpG4od4eN_H^LRu0i~*yY2Ra3;t`%ULTgL|QA8dUiw$`|+TVJluZ?-7Pd%9C0%+ zQ!w^SDw-`G1Xi;hItODTq)&R=SgsACGiF--#3AR#%EqtX)Gt!v~rrAj#=U8 zSH3mMaDXjAA3UGtoEhT-|9m)}ip=rHL)^#7j+z3cL&?^`E^aj62DT+{^fcK7Bb;>o z60&uoWM%r--5&vx8Qa)%?mDj7P*FDN<$%1CDIe4#x$v>@dru}vXOF@vRCyU5SXQM? z8jA%t2PnQN1neI(*+ORahFIF(4%j8>&lb*~2uRW}h9QX-rRoP1e9L|WWD<_s9^9Kg zvebY%MV7i08lY#+ZssSx)jp^^^o8HS50}Wm8~Q1>VdzYoKRJWlNV7fBaqMxNwN8jP zpjqO3@A=iaS;@}gHF9XKGAt7|&@C(AD)#*LkElskic3+=S?F_=kG)69STaVWRWjAE zw4(1YM@qT~X#eJGTLU+v{Y(d>Kj8{OxC9AQUXhTdZFq?HQkvDUd!|F?fNU7JxcVXM zIVGS|6Z4bk4Pn2*jTavLTwNl6{N` zFKT;2qhpv{-*4$yaGeboWthY_y%WC4fvS3#VdR+Tw-zUpvEa5ijdYC%-;6B1- zEPC+nd@htoV?H3gmbY4T9~IP?0l|5NcLNhtJu-3RYOx^5kZ53r*xJ!f_rh&+f=(Pc z=Itk^Gn!SBaD-LNJLy*C>U?SU_b-)gW!#j~1Q(M|s@AUJ#=p2momUP@nxMoS3Q2r^K$HP*|`JL@nT_}@+po_ zwH1-z_(=UMCrAj|NX;!iDqu(b_r}w39<+fwUvllYg3J#-bIJqUL-3t@2oI*k6MiYd@6tf_1W#R)jYEYa1(Vwl+I4#L4#lkMx>z}n4FN@BuQo#y zJ~mqvtNXN0IZ(OA$#HLBWVNPyd8=wR>`*UCtbN1+ENFG}sSx|bMoPq2#X1^0A>&ZH zT*D}@!#L%@0B3Zd76sM7fcT4Et3mzuhCC40lwAU9hO~y>Ytw=>?(VBkclB%ZE%U{1 z_C~3TDP&8a+G8p|?W4>wIxjkHd`;>!=Eq+R zo?u&xjK;^a<}gHaP&VNug3+c}ZBB8jnye|OrMygfSkgWlw6iUN>AK!ORzM>~pH>T1yo;tUgriWCm19XYH zp{WKma~ey|dc%6QJXP!E+tkg=JQ8b7)6APyC@!m2^lyuRzNDS}s*Y;YoRGaW`Tj?B!{ReQ@Wa*IF0 zd;ZNbbK{K>7*2&HfA-mDyGV_Foxgq`)}Uu`D*x&uhv~o4s5_E);t+Ug{?)RNsY~79 zaC=P_S5c<6!Ez%HV^Sw5bc*fvtt#yu5O2n;Y4_A%Ca7V?oHRF`WLouH|E!A-hitP?K83 z%1?p;V`u&gfRdmSL2Bswnywfci`JmL`$3J05(F)Ar{0?{T27QhFLYVh%q%j~;Bf^+ zNDv&dlCADJ8J3P2j@j0)l9Ahc%#|Y%6M2s%7!+x8X`y*9ML0BqT$um(IYB@hi)YbN zxbbvE5xLz3eITS`s$|9JOS!6glo8ICG-^7xTF?VFi{Ay}>*B_!H0Rf&tb4O{(L+yq$w zB1V2Q-5sHT+QsHE0?do98k&e$TuTi>9G}9QD4$c*a+1r;5e>S2LHEP-+$yCR(t zSP0d%EWwD7E>?wI4_#DVybaj)8e(nEopTgN#b@6dX9H>;is_TJUt)%5G~842g}569 zh3);&NUss-n@#lgrVZ&&i2A7y#m((0guAtK!sFUByvMMaCWhBr;69Nzi>}%=1}mKw zS=09C&z{z3AFZ#53SBWm+={V{)@MdkD+3)7t~K{3relT%`|gseVyX_3!R2_AuWxRIb9wXU*GG#F5ApV2@$ zm*HJLbke)U$jzeWha>Z|FKLMRvF{8#cc%w)utd=UH4QJ7HX{{zerg)FoJN4oG*5$P zanyTymM{U_4ZBmglan@oV>g9njqb=~rAgxB!=OhC0u%jJ9ho#copc%&5is5a^p(t< z88H9f>p3Pt!JR@dBo+ETtN=m55Dw)5-9*Fwu6H~o1es#+!5@^qZhs4R7Otsu@|LsE zHvTX?sHJUbjIkXGg;Pz3O`#WDSNY3wqK#RYKgG4hnr0S8Vb z;#XXYne;P%xdl|{p>Oy-WY{cAd(C*7Ty3qJ>!ZA6tV ziEK2!s0lo|>e#WPD;D*TZNc2|_Ng+?jNn*Wv5=59^i)SM!=x`xO>OI*E^ByoXosDS z2+CSG61Qo7<0w+FEaJ?6(T*q-ead#vJNxdIdZ)VoxZWjG79Iy3Zvt&Cw#;xk(7fiu zI?Lfz1GhIL(iFB28JC?TH9ebjH|F7!VSOwF-_zxNXabj01Z_SET zRp^pO7w;$Dv(tUGabD=WBACs278y(~aK!E!yQA{M8$=uQGqC#=m(#(Pv6=ny^N%Tg z5!g{};=x$En7BC&gv=bRHedGIq*1_IO|ZIHhax+N(Yfk0u4iPUWnxD63p7w`Ge@D-~kq~>z9d=$_vgr zf$}Z2@T!{m{Ip=Pm@e&j&X>UGYz324D1bYB0`GisSE~Ub(o#;CEo#yGtJA$}qE%vI zb{f37V#CS3Vx7dm9L_dV%TJhE*j}vBkHP!{C%tXSJH!oUc_tf^p|p)Ek2|io`!0K3 zx`iflKbwA8ZPU3z8IQ09q`|xPu))t*Dy-BLSw<<5uaWs4E<|TrXBK~?kl0KP79a=x zo<42DcIr$fH+}O_bHClK>fp=3`TU~qKtOjf}=beTFlZ|$R%BcFT@TBB)@DiX% z>>zZ2aF+mAb^sOfWMJY?kOE&Pfi?kY2lP!-mA28!CvQ{pw5lbhtSP$oPu+OYyF0(; zD0A~0@T9jb4R_=Hx)Sc>u0l^^B(nVSsCKPp9()NJdtJsKN8x?CvJSX2xBy4rgc2Td0xG0H1EJ@)e)KB{C`~m__Ro@{J z{OCre?l3k$fu6}EVh664pRYn?t7q^>4#$lK;Tse+vfq+t?Rnry?-~?z!Rw71?vrCC z<*S4{E4}k}gY1yRtKa!zCAv)Tm%MAIp#w zTKwVRH9C{&QDRa=%Eg8(5$sUU3F$5mKGY&=Ou@!l^H;IJgdDgYIM|$LAMoj6Fa9lr zj)7Q}(k3(fCHW8g>DkpxtNLEs^-C`MPiM$90pB}jXrx%VVp+X{lavLkNp43KQ={uR zFE_Bsx_v@6zC{D_Wm@y}?DOibUq~}h%qJ%~TRBs7h1edgkuvE(ar>zoH5}D zlOq0TP!iu7o5A$*0z!zLOswjSToS(E6sHM?I|{y2kq8)OMO|B9?y}ol{9Ym!oQkF$ zRPp*)>PAjBx0sSuTe!SSD#tMa5$=9{n$KODhhtG5 zXPt(c)8;~a-D-F*2~~$?rvucbymne z7`rZ~q()C~C7I45bpqr{0Jc0r_1`_rtxo6IZx$v|YB%j}x#8_ld+`3@u9l+RR!Q5^N4c{(q;toW zXbu_q+LWGxV9qs|%(!VC?)?LkX}2JkZ-+SQ!#lFYqyi}hzTR~*ivJ&7e;t)&u)UAN zbhk7}2q+JYbV&&)-QC^Yh%`utbax5T-5?L$-6h>!BEK8ObIxad-puD|mRM&t^ z+G2?wfx2}D26a-E7zG`be<|HjUHiM-)>wVL)!ozD57>@UD`X;ENT7 zq|t{*W}(03brXdh#VacvL+C(X9HkEQLl{d$H<_X;*BSGZ$LdCEq1P8%nx?d7kn2^0 z8@FA+c-61(2wYCt1#I^aFcw+EzATJ%_U}O5MJr$K&YCYqlcZ9{$^!311|}iCmoT|% zd11k{;;Mgpz;qd}T{FZPUP!ecT*{mp@1FX)_rlRU-4fk!-nn91r)=rureHQ$%@6&C$9|Y14Q|2tu@r7*W&kZzg zc<5fFX>dqcH946Y+Vj*Tvy5s)^IN*{<9ftrk6F+BY>hbRjb(E`u_P3`v|u|Y&@^4wxi`Gg%z&{Ar~PlGxZstkhjj8yLhuglPFIN7DGegai(>=hjE=NXM8Kz z6^hHtdT>-e=A>R}xxmWMJla0mHaKI9>Th^%s7;T}B|j6jt4HHbljW}||Goa~!_G&9 zqTf7uGnq?dLWQ(SV|Qqvc9TS_vb?r0A^RvV-}(O6Br_-!A$ zz~0&}O0ti&?7u};TS-o{#APDPE*{o7>Ntx@|BJbI6O^6=! zYCv+#1>Ms)f7pXf3p*#OPU?OrMQCpqK-tA(QgV3iZ=cHw*c8h#M;#8X+*^T1tG1*e zQ>ZzdDZ9VGa}^yOz^c?o!t3Z+wU3{E(UeDMpB*}ZNFhH|s&mqa^zwyDCi*_#tZ9}( z5b=Qytuxql$hLK^#xk>Ies%{(2Qob_FUcLg4F<1LVd)@r+!C$cS{vOz zo#;^!Z$7*G@}hh-Dcb2||FFBq1%hEb)2u*jD%;3NcJ>R?H^_IR45pd(XAwb*kOkAh z(b-Hk9o;wbwbppQ*%=rVQk^?AxPeNwls<4q6ypCqoW)0zfWpR4=|aT~!DSi?>>wBN ziCB-Sqnz}L8=UxKNxmfKNZ+dnSS?nZ37bIh7W2kR=9T)?Vfap_w8`~F`~pQfhx{97T8j&0&k8=K1iWlPOw^!Ulc|g$-5ip! z6Ovg4*pb{5lo};uk8(8%b@FuQUH0jNA|f^v7+MmoZ0cWIx&~rzUMd2;^%Lk-G@EkB73pAg8N)mU~D?*Br(Pa`EVP6ZAeVi)zksUpk&<{`Sg;OLbZ5`XoPjwLr02H!(QT z)I7De2J7<)En&Fd>T?rE){M9NW&+YRM)nJYqi)tVj$DgBmdKX3gD=xY-bPgt355oD zl(C{*au>$y>Uhe?`=q`?YFfxTG_GC$Y}xTjOuWUe`xDU^!h!yJnO+tPy`(t$L6Dy9 zr(n^!bfr#511Ohh3N}Ltpp5`8Fh=1cdi3a5+i2TUszl(9TsPj;YclwL13^&uKeW024w^2j(<%?Pr%TRxTZ~iw6 zZpR5~RC@{wj9TMLUhK{BJNjKQ-9U4ujy%LP~MvY9daHY)! zc$N=D)J;dV$K+}^PQP=xvu$WgnvP6_)-?KPQraAe_K3pUZ_sQmwFsWPTdygvIa#i! zCmU(f-QN`3nedLB{N%1?&t8oR-7Ix?JDqXK~{k^Ak#I$z_X^S&nsQ?={y{VLi56iE@sApxtpdI)toi@u3b z%o*>AYtCu8h6i`+5fn`$7qh^c8=mMDpKXX$(;UTuRLz@v-Cd7BOkcZXbtJl08x-`*GaB#QSJWN)4(^-#GaZRzD=>a8ee)itGDx+D7>~b`To0DNi{ve zb$OdNg@yk_yERX__xFssoQ%@&Us}{O91Oao&@R#2PdzzwSSZ#zTg($RD=qv2zkOeg{^WIJ??lZI2HAD} zyxk!n9{+(wv@$Wsq0aS)Trsy2HRKSn_3+No1rjG6Y&@gqwv2T-ALl!yhfHi{PEtj`aT4oUIQpNX z7Fs*3i0y4S&sHrD2A_>WB-6t+tiJGE;~^*f939`YLnr6KX7{vs18NfC=*mtaBHeSc z|Ifj>q>OP2d(K^1*_af=H}skBTcrOK-h?cwJJ@*e^HEk+$vTo-7naUTyDlfAE4I(zpF+dsrnd9#KSA7K9=LUn1~Z2og)><-ZiBPpOoZyAuKS-J8!rd!6z2QV z<|mKWXUBmR*=Fs_ z|H_;RJbGDwH)>-_evv~Ye7j(1AGqCmtWmIU8xL++C|TWLm2z=RpZuks^q7)eJLO(? zxWlz@8}U(^NYb`gtJE#GZWj(uMT)C`&;oFdS@{-<*`jSo(;@;?osl=rXz zxpe5Q$ytAIt0eEE7#r+Q@*%hgQQ;A?Je{up+i~H0By>i^rRSd*x; zMU>C~pZ-#IKvQH^3*DfReSm${7t*-Ad(Gi16LU#PBP`?G+-!e!Br)IMQ2qi(HpY;-uCG2u z`tKEEQpvS4A)b3UZNi2+-bMdwEv?9!M_(ZMBS<`*Vk$8eUX(MX{A&oM$vZ4@HSynT z!oKC4xD=I23|?Sgg2pV6h#tnkrgPKo?>4_H^L6~E zE&cqhZvJ^4g6PjJ!Fup1VCFyPCItIrl;VJcsGo$P2tZb+@UcNqDha+AAlYP~Z@YUF z%Hhw!iS@FhqjAub%K%hqt&(^R|KmIp4clCVXX)g+SLvjyrmn1ceH&}ZtcjP>RGH9z z3#9#=t1-bp-+E0`cAsel|L2f{xw|(~2GUssKwBcC{%_Epgd7vm2W_lHNN&i2 zbsOuWY{j~I>u<5@pU)Z^L$BQzz4%D*@M8%{N>Cq{f9DtL1WxPw4-FGb!Q21qkG1u; z{*}3OW7pIh+!#ow7**(P2sCg2t1l0rWyMBugs;)pE^_=XuLcHSWMl_`n6xE~-JVOw&LippVj#6#$r}vsVK8?mT(%m|X z8hP^@vfn1p_Jh@n)~<5V6ygXsyY&-w2c46QAK*Xu!n)9cz=rNcwrg2s%& z9hf|Kvr{aCy0z6sD~(!2aX}lO1i!|C^=U0Iq_n%TIf8*Ws^XP586VLflDlBWw_Gt3KN&6n^zlLpu?oB7W z5+Z(IJTAHInyl=Cn8DcBdin4lsqLg&1IOc3B&#tOLGL?t22= zlz(l^Lgcp$v~k@w(5yjt`H2!}bW#EgY42ImK46eXX&Ep*jeHv8#D1uS^lAkZ? z>0X~j;9eiv+!0CiX#!xxJS&S;<(!|_U*)L>ws3tftJ?A|@G{v_GFS%U7M#fd&t6%7 ztWf!`^}YBVvn&V=IZqxa&2Q-OX@J{Flb2^C9|I2CT%&_fwaD5F$bA`kW#v(s^X!`?c5B7q} zha&nmsu@ED@nn*;EMROhgiTAd{oCeYgq)hI`JA^As2{;G_9pZ-I3iM*4fhU~ESZH) zsJ<%0x3e+n8U%02uN-v&k?&v#{{)os_1-WH3IXJ{{H?0(D7Eeu#e5aVv7SFE0Zb-e{n zj~H1XuzWasULR3J6qK^bH(Nv7p~3W`zuPJ+70~Z2x+PFWzSQsG)Z@_O0OO18^+vS0 z9`G*fH;=GN*SR8HL|fxifsq@^n6;a@4~H?X#KZOxj6}_ZS^d5NPL*JAe=|= zw3_kU%Emcj0wnG9Zg{er^Ya}&c>mJ9L3@h}EU^NMgf%i6ke=?3U=UUp3$1kpIsD1R zDCEu2kr86!2BE=?4)#n&l>ADpPGLZU`#*aGLAx7~TfiOGTpJ>xVUu;uzAD6t3zyHN zJ-k6*?V-PPLwsE(ZKhfW9pmf-Urj#Q@oD8-ntm!tssXXrt!!hD!%R1)O9E%dj=eTx z7E8CQgpvCk|EGwG<>6~huCEo#n5#KDUDsCkz}zR-&QuehXD-AQ2TeNFRMmJ4I6{uQ z;*aP|(Cng`tT|3Vw)o>)E;x9jxek!5JXdLIdCnwDaxJvR#MZs`A@N52bvX0yy=aJ; z(=2?GW;SUD2WGIu%#uu2nl)FC>oT}$Vo4#ja^r6Q(hC9Csr--F2_9jmj)8h%3Ew3)Q1cTmx%n1?cqJT1;vK@aO`^p<{0wQ=y#u4R`NfK3 z#=k|8($nYp7k8+7EI*RQyv59H=?V!#^(*vdvazWN_m%_bQ8&I@Y}SB?CUN=`utrYe zbuG4dbdHD(h*Ng4H-7C7B@iuoHaR|gYW;bCM|)$v{Ym)z zr&57F`dsJKkPKe80$|G-;V?6FZWeON>h;+oEEa{+An>Kz|oLjM*g1mf(312m2}r{ z?4ZCtVI(!Y;|?Bo$-+5dkEq3AXbGpHO8H!7Ewzzcriz>B&!drYqR=sVqIM%;#0n$c zeWU|_c9_H*e(!RsJWW5{gc>yA4bEpXoIyT-j7QZy4*A%A__zk)QW}&x#UDb8s{y`d z!Aj1=L>L8Ex3$K8^NO|}R0{8K0gq9edl71$EB_CtoP!*Wy13cYEzq+){eVgvD5Rk0sk@1DhrpT^o}z?B-GwUIQfady7@wh9GGjjAEAhj z1h%746V%2M<*M7i7CDQrX8${%hxE~S!~eL8Jv-xq0bvmG)l+P^nui$(4yh^*AO*@5 zk}c+7sk${_)w|3CU zEI$@`>1t&DCyQ_fU8ZW!vn-gldz5{|3_|i%FQ*)qk4%;$GsTd&!>SFem^5%Tr>$qt z7qSXqxuR|S@~oMLtN7a28vk;EyW;j38jIg$MU#@$v~~H2pt^QvT^Vn#J7@$Ad2 zSI3pG62Tl@8;$P^RSm1{M-$Hqc)K}Bu!v&yPa9?`F+;B8|Nec_z};+QPxiGaw6@1& z2(%NL1~^-Nk{;;?P4(WA?ck7kEF@ty8`pFv-#yHMR1=<-9xdhLyuO~8aJT#WmbuNvEyR72XwrUk0K|uN-ji^5ZJm3dKTkw z@UNTk(RRf@dzjD2Pb0o>cGavVwFK2yg_QoncC+QQs<@NB>-n+1XhTiywzc@``7tl% z1d8m}VXWYko;?JlqF>to@;@#@7xch2)KmAAfb1qUJ7O{gtz>hR$t`t^UWEF6712~; zr%g9PwiJJkT}26ITaDhWk1M3l>~()`kz~GRe<-s?Oi+ZFcKsvrw3?#1KNKYLPc*ST z)Srok&7#Ogkd^Bn?Zq@QhfMXKont}BQgznz*|3)AJLOzW6)XUn?Fp(7BP55x*5pPs z!Tnzfyv4c*Ct2@v4NXM!jB51lZxO8GuKsZczQVc!#}2?Yk-j0E7_3BeGzeck{>x#B zG%?vx@=}{ntPt7RpMlv5lA%V(A^4wJTxl2=D0r&VfCLo}C$_HTC!$xC9ZS{GnrNxh zxn)}|Y7Hw5RTEIDHPO>D3M@zdMy{+Ya@qg@qf zb{NI6RK}P@MN;%J7LFJ567Vel(cLOU@ROI55lZ3phKjC4;lH@ayNIu4P3e0^0s%4m z_H(Wak5Pl_X_6FpdQOaEh__)z6_W@eQWbKR%R<4>(GC{go8;)?fgQwL83{>4A2<)HKAYcX3)5wtjLfm5?9M61!2Lr5UXs+2==%zOC=`Kvzf9b<(M ztpbBJys@T>0FltkXH7p6{adhcMhWXk3MUbj)`(peei5b;6tQG4+wylD2&IE^pnptE%d;vWesamLs!{$RJL!8poO8;BsX{ zRSV|pe=gX@lkPAO`t{G+3u@->3>A>{^sz*G%m!aJ#EpIFgYbD94x4w|`Yx zS4BPLuSD_@R%X+_Fe782rzL5pS9-gN!|clm+9#F}A7(&qZz4x8@G`t48!lU1CiXWh znKoMg7?G>lU}ud$Ypg3=-Twfu1zVsNef;gePo=%-Ip?Mb0(=@5TtVJ9YnfF?FRq5Y zqm<Fj)@3`i=u|nNtoVi{$Cp;W}A|tKe#`J7fTT=amc!yA!#%MV{EtP1%Hv8*j-_ zCM0^4ATcr#SREOz3CKxg5J@wpLb|%FWT;WT1IExM;p*N}9bh5a+pP_>H@<3Ng(#^k4W)hHM4|@wMdx} zqBg)SIBwy%y>RDxDSaRnTNN_EgNU9oO0hi^tCRRd&cqWF@_(d}8Q$H>9mX%MDcF*0 zIiIVikB24mE2JwamKF0t=5Et-=HCH5#-9Fs#FA0BS$CPKq%Y|U0gll)P`(fQ7#v;>1 zPyDDZVkQ*X?{Msle3e(ri#)JQ{^v6?WW2;=Gc433GRM+6>EbAa#vTs@ut;xjhraF2;svU98r=Z}^n$BBPL!aMH21(q{8mbTQW z(`qTGG&!<@^qh|m8 zdDO5%U;n%@7k0mF`orS54+D+L0$d3&UPTOWOe|4NI%jl}5Qg41y z%ezx|Nv&BAC_Gga{2xJ%7>xUlATgGPczexj>)mmJ*E6BVODCCFxc3b>J zcg-9vjH<#0E@>PmfL5XZnbkwF==BuMAFVt_ob(->DzX!v(uE1b+D+o`mkh)ir(dAwfi^fu3J5v*32&cs^rI7pcGiEbBG)GJ_ zvRh6vP z-{P(wXBI>MNho=G$-NZ)MQq!mMbEE3D28Ov1ib=qE6kZ6`MzEkoL~6@`CQxMEfDkd zRf{E6@sgphGP|w7g33gnH9Gz*W@?g*OPy0$Lm-$dpNXb72QxDRcIBe$a zrMEO*$BcCSK|yl*Wt%VEvYo+A(dTx2aTc)Kd`>2A>NzD2@_I@4@ONt1aCnG?gpNYX z@&Z^zEi9HyO6r2nWZOB2BUtvl%fE7Igjvxu%(Z-*_e4Z~lI#T4zu^03Fe#t$iMmIu z@5UCpsx0y}lp#_-O`doUY7>Vp2>V083tN%5>2X+$C-KkDEw@Q8W%OCOTaO)|F0XUeN?0QgMrtmofQ!0I6e39*|@7)eLgTc)& z|2lY)m$+#)Xw+nr=+7Mgd`E-Nt+_g3y34gMVIe3C4%pBm5JS!FP-h+0>xz*3FBPiU zACC>CQacq#pPrrh?$-O5TFoqSN=`>!!X z&?`$O@|Np7N}TY+U9rJRP6QH2;lOkYL9blABCO!BYrYHC>r04#8BsqIb&UQCD>VoS zQdEIfAP%QSa=^vjMm>3(pACNXgwg)s^5~)!+@YE*3mPn$u&N0?fjPndQYFCC?4>i< zp)|(l|3+g?O}!;8$AJVFFa252|L6}ny}V`Fwb*5j*N}BxPFXYBHxJHtKJ)*QCh=DV zU2}rzTx&StJ;{Tt*n);AhF<(v zais3En8^;cscofY4cN&VcgvuYWLReV+%1;kzTy;kO`&}a$zRz7-@eguKgMYxjy4x+NQD05A$Vic0 z+~<4s2ER9H-Q+fvvZ>WD3|)trJFcRr$Lv3W+Zgw!>Mkru`z_7(H34V-8*{&c;nAl| z-ki8!efK+bFfx9k^UZkqz2T>KVPKTte@<+L}ss!TSPmL>ygKOMg=k6$H^)u`V@(QEe!4crL2Z2)Ap(o zPF%6@a%#&$rC2Bt;iabXJiWys_f#K?zT0fvr`7gTZYg?%T~op1a0!s_68xVTzllsS zdudsAy|Awf=n?)hlR#`J>n*zmh6H^MHY*l!8;WQ#G@49>3N^F}<+g~KekYgH`zlku z#HRpML}s$pV`xIs+7UM$aMT$O{m;bRrmDE~gdK!u>$46=_Lfn!|Ip0l98up!eR`s% z|66XVr=g9d%^N>ZLj=b^$+f8T$BAtAni+kN=GF*} z`1P2#Ja9=h%z6$YVp9HH zg8`X>c;Z)hUB+_qAC8Y-n6V75Ulm0#IJ{Am-{Yq$nG(<8_Ec_It1AAl)pSk|(5AL( zxzQqLiZ}qg>{g%vb~+64ElQyUJq19>P*HB-uVLUsp(_KhDy;n&*U#SpD2JYZFZN@Q z-=lc{E^>f#X=axzU7lol!^&X;|BO19u6yiq7jdaAEVlk)p2m{a8D2+w{yyIR@$4k? zKZdvsF#%1SxT2KJq?3%^7LSF^w63SZ&*{rq9x4Bq^|^Vn7QznW9KbDN={9UJN?U~2>uWqjnRIgl03!HdLnFljlu1JWSy`jmW<;y1pY6~rK07|{=JCt=s zNFR&1tw8-TXWZCSK^Jb~;RTpepQC5j#YNh#=kT4jQ0uH%*w^9n+fV5>cG(?C3|ec- zBx%!P5`$de`v>4kxk$TLJT8w6^6v7b=-q_Q*R0okzh60{2S4SQCt=dxq{G5r;&1ki z51Zj8<6kxq+o77UZq&Td1oUmx*Z;qavnu9A2P;j~HxtmRv8zu0J>dpx#5q2N)E0h^ zTYCQK`8^{um1;FuY(uK1-(@>|TsD=U0^M=_u++WlQnO>F#Ini^xc(w3{jNeK8oVnVQV>eDHNKTny`^(%N?tI*|-|c)8Aq9(7!TE7Iu<6(FZfQY7275c*4;xB{w+q8- ztj@K2mkN9~i_)<*fD_-M+3p$8hbMnC@FDnHWX+`B?8ENMv^;<@k8G{EZbN_GQ2V)} zcq2>_vGoQY)m0Wf*^X?PYe$)mruPLlwZ6(Zl(PwwJ3Gu~`<$)vmoi@@9$Q>yd?O2i7UbL45r!!7Q{ouy01$NIqU+j`e_hfR01>AOi78&oTrjJ$g9 z8bg*P#WSY$si)i>BLGgqpRu&Ey+K<1D+P(MoIbC7dXoDPz@eFU79ACebj3!nT>#fT zk_#SxG_dsKgx@T5MtjZ^O|M^&#Et7d%ISe?Xn(@6B>7qR3yHh=5_@uc&Pv zrGVd3ki3Rl6KQUN7kf_%-);OYx0Os1V$&cPd|ZJL%Q~r51y_{oQGb*qipyF$X&p?^ zRtPg78Bz$F;0``LHyLLGFQg7{4_efILqhNihUzcrZ~xnVF2ju(k$qu7uxxN0)T7#o4`M@*}KsUF=We)_!l zM<|El*i<Z>kih<#-$SJVi9lbUu;gNj+FSUKR4YO8}1S1;4QI$?Q>b zb4AfL={JGIOQ0Nb$VbpA2Q6r1iRq1!^+9#YqkPKVRy|*ctK2N>6PE*wi|@TpX;N8B zKC@`K02xx9gpE2N&4mDsP~n?FXj;=c;ouc>kAOXu+p62B+---jUhS zbctqL#W;(aLk-4swuHq$re@kdLhzqz`qs($bM@^4G2iR#>%)RwVf z0mzqW==paV-6EiVrHl>v63r^9`AfIyw}VVpPEfWXl6;nw8DAn}YXN?!8@s18zCoA@ ziOw{pc6~RGBk4KUrVRw}J`ui2WzwUcGb1{XiY)7=X!*YeUkMG`-HlU#4j=bBjWK>Q z%3#2(N$~y(y?Pi=KNs76^K0p%CXv0sxdV`(5PqKp?FUaePN=zD9W}BNtehFrx&^L>jf%n> zo)w$g-TCfCOJMT$Wj%w}}zA&;rZgHb3`b#vwT!E^hv{ z<9sin!p-TY(w7_(T8iH=n<_3lY+mLmgzo)Y{5aIBYVTr+`52hZ_p<5fdEQMve1J-x zt&}?82t~AUvkSe89j#$m58LV-d^(`SCAPwXA?}VdhFNHNFakBt3?^vglID%H%LO@&G<3%;IFgnnNQAjG zo?&k6xlT{#X=4!3$WR|i|Knce z?;?`4j1!j$lHnnr7H%LT0r(3c26xh6R8mzqi2w_Q+xs$NlBkzi4k&W6RN>2zGB zz^=ikS8~G38;8rbq1QS4+lRoG@%ndmkK2J40N&Ba{1y=QXeWJ=r;7GlkPx7m`JC@S z8M^%~?qm%25g|642(bBCG31>+&4!?zbVgok+fQ3fx|qbS<1S&4n%)4k1e_YbY5f$c zf`YNp+(7*O+B)JCr3>*GfjK_&9N)%qfc}W2smJ5`_CiNcTxQ=^kZAcK;rj6)Zr^#I zX5^U9QvZO-|L}%s9sT%WWosIeiSp2WKFQhL$m)R-=ADn}B>!GW_OGDeVz+{hhmRUc zQgI1UXN{z9oDMomuk_vhhQW^dKjGtvr4T&3vx+UtGdl7aq|;xFXZoYvbs@}um>ti1 zn9nft*GmE0eVHLz#)re_f9#Zj_;uI6gaR>e>bL+oP3R{XA=4bTPe=+Oc@ep^>Odf} z^9{xO;o$Dpt~t_t=KUJ2Esa}9Hnq+x{@KVZWWgy#xA4mE{ZJI@eiw%DFS#@VslG-P z(hP`tqL8=xqfVR>W?^bs#zc%t39DQS8z=ZhV8-?x7CjxX;R>qVxyK;namczXvOfxgi^xjlN8 z7{V7r!KBi6>&;;_nD?;0VwMQDB7$IVg~G4Z!w(u+cIJVgd#f#|?eOBn6f6cYA?X+Q z=q1+J)=r7smoVg8*5&&0=TaiNd!Zvuxs1Om$>*HbD#|U+@BhZDqWBd@ zbD}zMM@ojlv4N^2aTBb#NP`&XPf9-Q#}X9Z0kUNXj`{}UUn@-XYTo9dMs&82NcU#@ z+SvP2^r8F!B6RWM#pw2pC2*7*5u&9l#|d`!R^P|z8^3`fW8$;aa}@1iVX-sU|_>sa_jH(~}pp02m@ z9C_QW`lHeJ#O6d4uai0Cffzg9IC?Cvf^_Do}+}>crUnFufCxA{PGDY33(Xs=Q5P9fTxC* z?#;iTUQ2W!vqUg!yWaL~$J1E>+Y#4pL~8xobjbh%ueNQXFR|X}CpUa=xmICCXCDSbO)^)5yf54uCm9-PYEv5=+9a5%^BEx+!mFrDiW+gin%y#?l|4si~Iv6?Ns?dY>n|>-hLyeq>n2%|?hB@j3`gcs^9nePY|u5DP}a z8uQ52kk;B%=^$yg4PqGYb=(}fq1|u+gaS^_=!Eg?*gpwr+B~#VdTtI-a75&m{e%Qr z1j9`p=59g9Lk3y_>*5Ke%$}@S6egjw7!`F~N=ALiuuJ19ZJQ6^bF>?Uj3?Sp>l{)VJ{T0iqBskqV< zA!w#IKQkDVDbjhDrYim6w*5q>w30+>dc7DQt>yqV2u8 zF}47F#^X#tEYKD~b%Bbfu$Qtqg3moEwmB0yVwX6{t`eWx#>ZLT|LTBL0CY-%TsB$H z8oOX(Qb-+gMgnu`NJjsRJZ@aA?3jgzG&f`$gnyzco>(Cf}+QQ!pFN;e{2k2;Ap2=2e;de#(jatrz`y4BVXu^ zB@&}9Dbx^&Z{E}#C;TgDJknoL)?AJ5bR5@qbHvkxjF{|8Sz-qx!KEhnCIz>5nWt7 zwN-BcO(p_CP3ia(lXh&q{hgdrZReMV5y6SEABz)&&GNn8RUgzoX2;l}+4O17S9w9? z{kWHnj1+(46!P$FpFHotu6I1Ee`4?*cfLUqW~rciFu2n}a2go`K58z(;dw5y#W`3G6JDkR#^=Bu~yoDK42IOR`^y5NX zwEO(zl`VoM$c~GnP|C@NC7ZZKoQjhQl-pO_>@Wjg@ni`T{SB!uI;hSetOgRF1IG*7 z@LV=2Ts%FSx<5hhvUwZ6iPrJ*;8*PR7Bv;9a#jRj1og3G0H|0C|Cac}`Y19;3clts#NdNmQ)&NBhp7m~+t$&t6n2P1^{k5Xc`mZHsyUVOPTXI_}nsuHvqD*gPTJ|`4%U+lvelpz`)ckN8>_*@iD#NpsI%f3bf=<1jD|APEnJS=%zND9k~``qet zbJfF|=I^bDwXUjtws32&hsXlzkeKLQ)ANq{+p+Fnml@kl4~!o#j(+kdoJoa*G;YUH zRpU(%U9{#3k5m9N5#fAKqoJg9kSli$t(uN>D1fz-Z6w>d_@(^ieEc)4>uJG+D5Lee z;x*_x%7{6R3CG^ElaUqL$9E(VJFb>ZswRis_!DBn+?8F3w2S5bTRx+ zQ;2#T2W`m34eHig%&s{v8xgtRO;Og%q0qlMw~kljC)}ly*-VgXUo!F*tw9$S|2|D0 zXd@t@QopTxVX>Ew}0;DSz&Yh)SheLj<6w+X59|5V|7>c`tjtmqa zW&R=0QB;#hahKzSr`Q=Tc0E@U_2y7%d1E693)_1;L)pFlq)NA)(35%8HdTb_ZewlZ z$x)*un>x3SP26T?9yh066*qMmfcI?oMP5j%y;w;!|0`eKHg$42iKNVnRb)U!WR{zS zL+2&E&Ld|BlgFvpvTW``V1SC^OR3_#BOH%#GPES~*@8&$E}J(0oNvR+(8SpS(=pC1n=b zotNFaB6sjkA~h7M8{4MvH5jpwn(z-TnP6q)?X-v%GZa{gBhgg1Q7KZy-n=$Vm$?yA zXk(u0*XPPK9x4x<``S9i5!>O3M(2u|JJj{2+<01=vR+LuZh=*G`1d!EPJsDN`qZRB zO%0xbq>a13@QRBmHU?T4fOYNkvUY_uL6TPFq@=rBI;D}6?v#{9K)SoT`SuO?eCIjm{R4Z?nl*9FHM7Z)EI&WCp1&4YpH^RV zb^1;_YGuL=<@}U$a$Fg z3%kY@a)l?z1)jM!Fm&z<7+YGUR*+SHOJ&Gj%V_W~p?K_PGQEE>S3@2_Wxj18s*6 zDP<=@?5<|q-Vb@jGl{L^O^rMi(V4r5pr-sRWo&~nL{yj9p@r@&?sshenb*;M1Z`{N zSYL*A-i$uN+N0(J?<^xVTUHySD1;^->0=YmD*ot)>p{s z#g%OYhhxkoK(IVM5jm1(CO+Ap`5YYVugH-ZIZ(D-b-|9w@4gBls@gy#k7@F7=MyBl*=sTfWrb>1at?s&l{-1*Fu{Vb}c3 zrIH)}r06*4FF#Dw%#du`%tvA2XXgSiWCH*}W*GPt^OpXn#V#nAXGiTsf#m*=%M5VNT?*+M4ZKA#1Cz4L56lo}*~v zHUFpOC?fu;C@hsw;gbv}{h!d#<>#&yZFn^-9AuV)q%4V|@N+ontu?&kFn$@=h6^*JQ0NT(dG(`?#eIQZH zT5j_h7xR_AkKb9in~4^iuF6s999sinbkS?gWv9y%COSKRT!*dE7Zi3QY)3YZSoouw zXbO{%1l_tgVjR32w(zegUzI=|bOfTvt38_f0w%G43C1S&rdn<46Gn5rh<_ z*NmWYrqbemURn7_9b*|go?@3XNkA45tVI{B9oWc^8%&;rB_!k z!Qb}Es%ax_1fWz)8CBf@TZLtfLK$6XYS4E>>dCW@pvw*Qm-$2FOrAHBSU z(;|;t&WN9E(Ms18+6Y~ZfU>?p)=~ekbhkk6Mje^9nzkamvqT)}4#+Ct;>$l+bGQ#& zXEh3#^)|lRsi{sZSA@A>2229e^0%xXuQV}&$tv2H8y!#2k+~1BLC(v$O%8%b>!f9U zj+ZaX6dB53u*t}~Nz`(Q)6t~q2^q|MvJ*%vm*IP zuEQRVqcZ)WGj{zF;~qR(-7b4vn~{QS^Gfb;U>ZWpDEx(oBWurc zoj6)IMDC4B`m;2N0wA=Y+L?YDRU)44IAhP%fKXu_FT$JfJHz-h{;i*)jUG=QnUO1n ztb{8fJ9TFnn_5BL6({MoEcZSwEb9EDw4B3m5OZe5c+uWePgF302G&=~b4Je-KMA9A zD0TH?XHN{&VM|lZu7CAR(JPAi{v9is_)~Mws2f_(c(a$S^l*zZ`?3mk@{|zwjQQ%D zYw({<_CQ^3gxfP{Y9v^wdd}j8p4u>z5F1Ix#1VzD0PRVvAP{1}2mj+HJPC$Vgj5(^ z1iA6gS^JydAG_$|)f~U82C@u~H3kyM6Hg;r`|00od1CB#Fs0v_C^h#e=oZu>Xc$OG zh?0(!pJ})H>v3z!E5{+-ywPILykRj%|KvbRIt*=MAXLr4u{bxJCjCSWJZSmu=PQOT zBrz2Hd4YJL3KF|(9j$?Iss|iF5UmMoJy$gAW{QnE@s%7lu32||4e^iN<2lx1Q_M|f z-NhVorbS0DV|9Itp9cUP=k5bb(?msq>}o*idF9X$WjsLbPPQAM_pT@~Vl^hqQDV!cVZ5| zZgjyZ&WM=kP8}`@{a5-ZEYAunbdA*HLZRs&E96-UP69q)No_}qA87ubw@4ND0s;@B zHqVO(PoABqwTvzR<$J=hBS|6k?=5aEE3J20&Fa;+;Lx-1YBRUrk2QX*bjbJR_Gk2; zcq-9@&LM>wj6S%nBD^k&zd_9nI;GTAQZ_R|LJe%QEx|8ot%UOFE8 zexwH@?zcaKLX?CP(bv{?a4C zBz#t>g6o}l;nV2H1$*eR)ca6gdTba_B{YRu|A#%c=F@(4@khX}lAaRv$dulhR%s3VaF z*UMV?XiAQ)a_I_g6tps10lOY5#^G`>*AB-*Wcbk5`J;#VTG)wiJHiOEk&8mu2TD@q zC$=F=BmFaH!T&ksYwZ!B0VsdEylNyD-e0qR@r z*<5K=H$qeyo1q8wIWBP1^UeA(yRrD&8@jSIWz=6M z8nX@xudG^6bSr3LJ@_+=j)kw&CN;k@i!X%0);9}pgqOYaCMEPO{Mg-^HCguemF%4- zoeYhQiZ}@*RSJ{geaipgFZ1NU8}`m{#^e`|CKnF>)!g8K@<<$H2X^ zRk9v_QtpH*H8iB0E|?gl%*1Md+gN$h;5-)`>BdB^>;t^(omMnIa|NkI0WdHcGn&hC ztB&O8x;6!&ts#o8z z@ZU&=OCKsuf+M@pcDKKcUuE4%(fueqNIp{TM6<{z{CqUlgk8FaNJhC;35h5oHZ%Wk zIbZlY_eEE>;&c|?;x!^;@M+;_6{(BAn$$N7|I{Hi@Ur>DST79MiJ@W1L zsrwFoSGR8O7-Q`boV#@|{g#7C2xhnHVDb&<=LpBRVqH$9K`JNMPBKX%El1#JouOTr z_5p>j$bRSQ`D5)$c1zN|wA)hio%%tW_;f5Nu>Ro37Ub~wOz3O&3{VM1@T4fazWHal z(V&lA6&5#4yQgaQ)?@?k-L%>j2i^ure;=QBxE{`-aA>w1yical6_f0BvsROu1n^3T z{i-=U?I3;DYcUME8`M`7ho|qlUQm9d$bws!;IuPvVyUG6SLWnfFkB1UxSQ1z>83+q z6Ngy$`at9^{|X~1k#RYII-d?|yn6qE8Oo$Vft{R_@ai771Xk^WN<0)?oCU22c*rYW z$gpXPbE@N8W#`jMvp0TC7Qe!d9?WPsIOKVuqzY1C02wk4C zkGf%>-ISoSn-PKy^pvkyl#OUZrydAdiDZ8B7NbufsEc!K<``*i8Y!(mtGuGJj;dJ7 z=U}KVkWxF|NX@m8{hQFA-5b70@`9B1yd* zG{R5AAjn;N*0n9g7gXD8UN&vx@k$#)`O)f6voKec`XhwrI2$wa?08m(^TtF z$mTlPD*|Ttb~|QM?x>WS+g7ezBf1@H|Kev;kx_BM6SaGlnWwI$@yKT?yrR32nlixe z=am@>+Y-w7z)|39NW?XdY!PhwRO8q=H<;vXHPeHefDil_BI86{F7~nj{~on*a>Y@- zCHvHZOJvXpry%3c|DQY}KiW%)M4Q}{Lx=;Iy=QHZd`U3ecgM_mq!A~bc*aRM!5m!> zz#1Exfct0Zn>~Mfpb3zdT0fXC{~6MYppH3t8x;A%F;>|-CTARP8hJnHS+oK;?Ki)= zkL{lul#}u}9e1^kVBR=}WawhIGyLq2jx@<$#?CPO7F~^AoaXocK_H@9<41q!DZ}Y! zZlw6f$|XOvJ#&3qiBxY2A+7v# zy%Czs_!;mV5LYsEKXs?jM+R;(^BE>p@_=qb=NP(M{B^L=1dtec)d9n(2i{ngQ)50B zrzkFbvrB!8$(kDG70(G5v?`vP@Q&Nc7x^C!5#0a2%PX#v^|b0FK%qe6M}{YZrWSSk z2b(xh0g`9Drz3zq4h^1D@$FQlSJd^xxD@@2GTdfQD~an(~ppnyE0?GBgg8xH_U z7)k4U^KP_ZE~ty>@*mrZM;XoCZ5_&wEBpH`x9TQk;yGs#xUSUs&U8dUrG!31}^0S-C^{4 zBlKUXv_*dve-ygdm@;pzAU0$A`7?XO$hw-@@wMfD82k?&iPLq`_k&OU&z?Ulsv}Mt zkG#0g_cx}DFk4@3GRee%&c*+3)sMW7v2IQDzjY?d&2#$)E)*9L<{FeZo*Le-3UhBn zlpdP_#Dm-Bzl|orJ&PM~%P>v9mz=z?@23KZa3G_8hkc`{DY}F=&#)L`FGl14pndQ6 zGhZJVxjkvJbOe)!@YoUD3izm8mz90|+H5*x3z(4+5evsI|Gy1%5^ESz)LvRr8WY^v zZ_LkCZu1o={?{{W|J{5(f*AH9yXbLS2240;YA4Wmojr!5Bm&i#`@;%qm0!Mr=NC$W zH9?_=itpy(NDR!TRmZ5rnMFP*da`SrOuKZI^?#1X>cO{AmkRCz@Wf6iWdc|j-2MR8 zTV^PYgRkT#ue=%LdJEgL5qDDtJc+cfRsV9ZW~h}uO7|I^{UrQ*P{5k{6kvM7Pa6VF zox2{}3fb-TCSs>|)ITSHj^S4n5u8Rc6LYv#)DMQrySkLWNn?U}Jtd|hQ5|EAmMN>2x zq=fFC9ErSi41Hl^o5aAefxB9q=|BH^3Q0Fvi@kre_fwxd`S7UR9qDn8YeTi1g*L<- z%_4Q^MuMVX>FTh$BNdc4F>7yV%*|P?%882^w#b=O`#3o;stu)Yc086WaK$`r@T=34 z#};l&H{4#%$0Im0_C@{swl(!9uBii_#{OTAet5#HsH+m$&RWVUyli6unISX<729e& z?7_1|Mcc#kqR5T`hi^;k3RVHY;rHkh179iANk|xjkHuE2R*zY@hw-z;4w%oQ!b5rV zM>wXu|GNlYq@y#zT(YP6w2w9oX8~I?alftWNC2TXTQ=hl5zxWk#M2S*dno`?ZS)7( z?%x26BEE1)v%bYFnwl0Z!-ck+b-R?u%~qv>J{`p026l!-sILc$BJP{&n2xm7@W|^_ zTu%1RXiZ;k;=li0!6Koo*Ex3s{QEE_i67GCgQk9zDnkJ8*~ z7d6?5Www6M`ME7ng>$#|*xdBLKPPIG^V z0R3c{1-n4|kLU!i&)?-0(&3#e*8%~>Wa{66OKyd)F=sN|JFsI5Rl6!%&f}qRw_ON4uaRHP6YJfsLb+~nak&_j;&e|En6*@FEpk4l(9)>>d_*xQ@M+Ttji-*yft#*`qoMn*utSAaQ_-Yy*MF zkhUON&yR3eT3;wB$(1279S3afIj>s!CF&CC%cavpE!lv|xSH2&Br+&U58-QCRQ1Ws z2`n~3oJgt$ji#waH=d@Iq(2M?VDP10KP3(W^(D?!-6|MhAjUpZ_<+d)E@03<@LbwY zb_!FcmG1@c9*t;pAdQ4hiZPRIdm!EzSRT(MTuAe+HYXnHLshQv^myW#B zyfVXT-EBCz^QXVZd3Bo#mw9yfZr~c9rov2flM_aMT7Mm$%Uagduj?d>6GZ`4nWdNl)_9Ku@mpji$#G z`m!m3{tMhPvM%_ph?Xf3|KFo;@E&nN^G$!)TBV1K)tKi&S_!UMqQag3aX-UE&1yI-eZRV8%W@%EZN0qwC{)aekQt?o8NKb+~f z`TrVwxblvDe*wysmLSp0;9VMgR1`#)*R@5bLK6f_*sR;_uivPYpzFaEGg`TdkqQD& zM62DM`cdJJQXwO7uO9*|BF6U1Q1Et+Rxj{KjRQTrj-=9^JOZ^zU4mNTn*l7$O*ZN* z_j;Qc^Klx1QaL(gaEVx|h)rBhbkKg)l!(0z*uWm*{9$UexI2nn=CHN2+>Nf``dDF{ zdU294J26AyN=C3nVWYs*5x%SEM*@*}FrWAkwBnXH+*_`v!-HCM^a^)qlAUEkEY_lr znJZS%jJ`*;#(RWBjUkx-EPe31kU?uy3rXC3Leq&tTx(iGFCOQzM!+iCLgv!Q0A`-l zK2=x5X=X3WE67Eq%zF9#O6%yfO@O| zRCmt4>!uC$`_?)q8EW?nZ<{s7GK)(Hc0nnKz4^R5%OwEzyhT~l#}MnU-etSkyoW}J z?DT@9E`V8@XtFED71zOtG`A@4tEpI1RaXLWlUM|xn^pAx$EZd*XoLE%;xf`c9MoQa zWy@Irk^YYzdMzZTz~p8z|1R8$4Mf==0%$|er4>eF&!hzn{X*W>7fh2&WVfH=KW)RunNQf- zXURE5U&?A9oEqKzU28!(U@4%jVu;;*#+Tg+?jAgI2lkKSMRqAe`%ATP&1~XUF2@2? z^O;n1^}kHvgQWe8X@mdBk=aeBFmS9HRP0huM!xI#+NMnk_HuSlR${$Hj#22xFzCj- zBz3v<7F3Hq0i%b4nm4_|>tX;;(rNNHg}b%58Nxjw_m^gwG0Y7oa3xx!9JG^MX73xt zM=&W>=1XjH6I1x;+dQcwN7*RsGa<~poPep24V9UuR*nA^QPz)vcztAKsscZL0{N$$ z+^AK;T2`7dY)rP3S9@CbrazpileCr6v5Wx3ccs@wHD&B#0&zQSuxPg0hpI{_Q0xEV+2yAK3wY@ z9N8QZ-$RDF{&$kKcaWF$#Go6_-^}lzc4ro;)J7}2A!k6eVY3Lh+!#YxV{ z@gW0q<=>o*pDQK*>FHwuRosfa*w5{85qH^dy=B84#Huyp8vgJ@eJT?##WU^RPh@`OjWWC={GqdK{N`I$O3$E0s{YS8sq}=hBWF zO5j$gmim9=*RT3Ev{%Q8>fg+P)8xPkvrK@!EO=n@#s?)#m`csT+g|L>WXK3>~G#xwZacJRB^YL!9 zWvMA9qEd7X-x#J zjh_iDbv`IHC3HgjdeJ{~Z`TOW7g)-8Rsg=lTtnwtUEi#qd-{lIy#u-tp;$BX!|?U&!39(bqWg(+3dF}?P1yG z(x{44?eOUgM(ADI$}*Lt@-br}87o&7JUuM)<%YVB1OC6W*abF&$_Lut(XeD;0q0K5eOy{gj}&G6;+-W6lye7S zfUj)ilg4=)$>F~1jMKy9gkkb*$BCq3`Ex8*Aoz-xC?h#G9(Wh%lr>@=lu6ZviZJ(c zV?AdTI4bEH=UTGi({zxXgitCdQCWm)jxauiZ*7Wcp9;@|axeI0ANBc7qj(>s?%-yQ1cP2$rGxpV z=Kzd+8RdH>Vfsu=*0;bh^uZ6XJiG(iub|&)j(+ovrZA<){U@B(mTORR-O`hE!EPbC zy5ekDI$8at=fkqUW5)33IL-0;Rha#KwiKpbI{kt=L->M{!swRu@duUw_11e6J&7`E zJ>n(^A-Pa~TBpQk-E)q{SLZVTI%CWv9P1wwl&RT}FxwkOh%5f3$I=y@2^EZ=(8n8f zgX4KMn$7bSc895$YZ$>>!O1&L_(#(E2*In=uIh$Oejid1DOCt7-W}kC4u92#JM3H4ND+3TVWSP6A6Q3 zYz;J~r@i^%zT+KuvJmY0h%wtrA>ibbMWoqQcXvZPuoEI48hNZ{%SBZN zR%M$Liv75(G4P+2;H}`O zA*3_mdrvlkUy`OJu0%1Q`~_?#lALj>dG@ju>cCcLcPT=dF`M_|eGAn# z+TLW(yecbAry(b$&T6->*$i{Z=$U;;w@6L+QdjX7n`4+>!|oHCkzn?8)ZJtl0YW{tjza>70kU!4N)--324zU_5x8Wee7<`hgUG4oIwjcL1%pG1%s5ji*q}SL|=lBZy zrBbzhb%)IlMC-=a#d*%BFmSxgw#!$_fBR{+o*ng0iMhB66R%iq>fKFxq>|-?r`_T> z2+B} zDQ&+Nqbt*%b+@Kh_|-x-Tm`rVxC~ixPisP~;e*oB7h7WbwMLyjBIz1+j6vX3v$3#= z^gB<;%$}(~lX{<5d$(AyMq4xe{s{eE^wxW?G4$wN%xme4iM4M$pVfDV!N-X+K634A zA#C#V;Z^s`lWZc*koUqSNL7aZ8iL@96jwuVm^n1dvB-ViqZh?~pweU3=t%mHY#S@1 z8&pVQw7|VtQ!sK=*TLX#DV>Bg8ER|;HU~IZ`_D`qqkW>|~w$*GcF<|rs9Ng_O7Dtg;MNdC!!WQt5pS5@Q<-iXiUn;@0U zm`O=Jk6R4fPp(hEn!}$yL_h|5{VimXwu0Bq9 z8c3;GPW%le?eLt>=m`_zXqIHhk&{I)|HH|Y!D6=Gmh&7j$Ln$!zdX4r$`;|lp^O_5 z*no%r{vnwGbSG>#4i^F=PmOCfT!4;%^g5D@uz>N^K+qr%=dkpMGGafll%c7iGe3Rp zC`&`N>q&JIy4-Fa6JHB*+s$@wUVH_Z+TtoG$3@>_OAMIVNX^GXp4s~s%mbdr#S5=4 z`?CX5tb1deyeFX$lb>u?%{J=BFF>k}?Fo%+Mx2~yZ?u7z`RQ%n1}W-gClE`jgoTIH z5Yr&_huadyX%Qq74Rw8Jw9^_XdIbcbqeC=yAWbF8%AWl{!9l9nPA>Gx8IFSn>6{mH zk`Q#;-lU%I_EU%r(RMLfy49kpK&dhOB)R^yM@ z&|`|y`W3L8<|rxUdaKx?&>hD4=)p?oe%e-PmWe)>HhmsiFR9Abjg4Q?eL4*G|oc>$;?0dN(#~(3US{fUvBtcp9UR& zy65^u9N^!6f}kh3`79uR&##;&=BGVz;v3}!-VOTTl5QH85oq% zr&tIwYxhQ@ggi7e2p0UpgK=*3M*2&ZZ>>*g2O?gs zB(on@><+wC^^FOxHe+OtN|=8CG$tVJ2>B>3;^yDHk+$Tpx>C7*EBQ(SdNed`5o>Am zId0~rm(E3x**}HivV)_o?2EeU@ChpOYQ5f2W0=Fo_i7M7lZ?7%(DZ~q(KL4^n)n~B?xMo6_OfBFZX z=+Z?PbKUt+oEMY%(YegsuQp@(3y_?DOgwQ}dR$0cR^Mw>lb9J;{cEm48K7UxkTl zfb?QFO`*>d0#hd|5t6D4G~xMLJgj#VF1{Et#M@8i$=PnH3F3`;o{aAD?-s+K50?nk z#Ti%Yq31Hy0~%(qGTg9fWqO0>xCSB0nD_yc%vBo_Bk2&(o6w5E!H8wA5n7)TY=g#z zD)g{aFZdujVU^|nR-mq}gv=b+O8%A}#v0N5^#r@EC*;Srl&Yz}p_zI})iB?_L*{3V z#OsZI*dmaQ_6$#w9_cQWaE4Tce)k+jb9I%rU7NU{>n7Bb^Ms+NZ`Q!CPdZmG3~87F z*HCdIhGp$BnS-E3C=65+xvphQ`F3|q5Dsm|z3~g*#Uezja|wjB!97(w%sET2y*^}Z;w!70G^-24oU~|6n(4UyjjKQL-ho)AGc|FB~K*&td=&25!!V3)vosohm zffFoJC-E+FGOH@>F+&>AI7n%p@#yS7S5J8ub9TyWec;_?jI#TzJKA?LlDhvJaNkTU zIs%tAH3LNf6HG4Li%pUJhj+R695Q_sN!W_|g>MxTS!-IOJ)fg<)i6a|Gvu>~pV_qQ zzb7F+X0=|%KN(VJ z2W-zzg+)>bA6A_!EcY|EtrWXCA#HiA2nMoqDAi(2!EnzPI!lkmKg-L@S%@a*1F2z`VXr6jvY#GZJ~TXn z;OBuH-%@gLz>nhbYeeY9(nY@CxE1c5aI#Xqlld--Q( z(waMOiTA|cYNE^y^7=be-K4OH)& zp7h8?dacMJKGx)z2@1G>R6Brw6hWLNyg_+Y2d#mG`&@nA*=6p0UNH4*Z}B8K=vgbR zncLqBW1ROmy1vJ4rwEH!8s_8jTd{OR_9Iw8X}fW&c7w~pp##E8O*p=OTe07u3Q__a47ZXz0zN7zoYAMkwl$3}W1C6=BIuP2bhnEFSKE%) zx98wSR|jjeG@P9WMDp7qXEFENZ;WKxy6#6lcci}k_j`M{=MKnANOxCZENuSPb4}V9 z0oE%dzF1kRfE4vHa~Iv*)nMd2W~3aWo2YJIl z7xG6LD4BlgC!6WJXJ~M#fS>yn6EKiwUaN!FoF+Tx`igZl%gJGz`90a1+6I3EH(GxJ zRH531Aw5DN+$O`NukCCVyesh~W#C*$F!(*k5I1b90N`JMlHZsN36|+Jco}?Mc!#Rj zSR&yj3l{cAO?k>dieDlcs7z16l6g(v2fWmnTPF{Xha=aWQr-Jav>~xqzGG3&Gkcb# z`wjpzgKNoC>(`yB0hbjIEHmkNOG*9A!ub)K{^+<0Qinn*)~jH{^?~3rpJEQ4rS@I< zVQ+V|iYar&${8S}I4eNw{SV^CaW8ym;R5jY<$hxml+|4m;(UYaa(4}yhpktq^-9~y z)btUv%Ru|ZYJsc6+9Ub!9UvcK%$Fc(^vdWTMc)Bx#gNIOh6a0NM{xZQW!Yf;1k zklCxc@UYA^Q@v+oF1A)ePQml|qsO(CH#>VJ$EV*ex-=1&M0Jy1UN2%V?q4N&+90vl zy0z#|IMmIGF=}4=yQ+yLA3s)kX>a@T47lc!tAH|(^Yfs(Jqo-qN*GcT_+HL0EfJq! zSk3NW+H_@w-crY4soGaR$4&~o_~@u+nNh%P4hB8u7Zw&K*cq))y1Ne!plsJe(2|gv z{Ay>2gq9Juh%D`Ipe(cE>0N~-A+(bur!l9%)>AQ<#|DNB)0_yQ?`uHN?P>10Q zKca3kUTO7|jz`Y)Yjx4n{|{PKC^(^^iO)R_Q=xVROqb*KQttCX>j{C=1^Jyd|d`c819LC77Cp{S6cDhakT!n@2W^#xZJ*>kgAI`@~b0O@*W8rzna^1jfv>`qGj#Jck!*&HRPTkNw({$ z%)p8E9{?}iqB9doBkximp%^tg&pdmq=L(B)rj5 z;Cj_?J%CORH9PIJ=4#`Yu2#}#hukZ-hv@0wL6?%hcF?+PjOAJKXuSz;x#?m)6A(I0CQ_6>~<~U)jS}{C2rXO(n7lim@Q9tM!r|Pp?UT~q}_*` z9@lVU#3{lj8p22foZmm1D;}wOpb1_I&EvZ_wzRbHHi6hZDy_~UBDNm(aT%txuNL;O zKjQHpN+7Yj?BT1Jue2yl;a6E++ZIkfVTp3S)cBVi1M9uuu(}xv-Qg({mFI;v6`04iSG;l2ySQR|%+9g{>gI9022*I7 z-U_R@tsn$lfwbQr`blzNAjVlU6uZ}t-?dL9Q4!T$#^04!LXa%wpp{%_#vg)oS>1d1Lm1_7> zT-t)HINbPLyZ-5SKPw5|vH0rnTmpdBn%uPOyU1f>GHWdd1F`lDn+z2N1VX4Ux_-UL z8+*;&2=WS0TNV;hj}^tYuW%bwo8zP$WiNIh_N?KS+B(eKtJlF&RsXHE z$BHO@Oc+4EX!+u$$?tv?W5A)i$iIV&0?2iG;E0IcRWlPrm>as)a_O!oB<^#w$%eS_ zk|DeQI&xzWj0+6DDYzvG0<|ZRMw_>wFN1;N3zqShl7eI%NBxV^Us}h;X8nploeAGV zV!wZmv>3y8lF--zN4jrPa6BA&51&!#U+}0O);jwhdWH{H8F1+AJ07w;yz)gPd~fEI zgh67IXxID@@N$I<%Po9sAIR-B8^D=# zCJ1D>49EcZGb>Uj{FL@DIGeAyeB05}2^)S85o+Ju9KolZW1`e%5)#myFJTJNOB7`PzvZGz0IXOkzK1 zZe%sQm6Ihyp*Q%;g_IyrC>l>OsY^)!hJLjlh-^jBLL}of8(PsTlbeuYhh#H;`RYJ;=} zpCDMjPpW^my#_P5ZnSeiOBZM*fTHZFiQ3UWA}vXSBjD{WCS=nU%cgTTSeV_P*2uE} z$9Y*}eRVXbB}$9#yFi9Bm=ia?-$?@IIB2R=oWEJ^T~vq?;v2;Hu;Es(hDvsoy!~>T zJnT9(IYiEd2aP7_qR!(LlKGSv_DOdgBGB65tJhw*aU3|14ljLyXAj&!<7sk1inyh% zb*%HFZ5p>7VoYh@8@EPW0(-)`R`wM6BQ76nY|>sfMfN_N8Lz+k4MzP@ZoC=XuAjmF zXE*+GLOleT+YI@CHC#vpxYV#{4XgC9biRRUAo)69&=F=kL_MxhtsqG|QF^NI;Z|7p zo9u;-|*6sYjC0imud-n4sMHSLu}+G@_)JJ!S7|Beq5~n7GW> z67qCHSxP7&9`>`&v_M#Dp3(03RKx9uz}K+9G=Zhdl_pDNj#=tFt;EsD*4p@JvT^nJ z@vJ&e-K%KZ=$kJxYmYo^Z*S#kqB6MDN13YvFas^jT$!-m|0?y@4{{hQ;Ou?DePOMr ziRau0*(nUSgm8yPuCkBMSJ$?u~%nJ)Jg!R&tXJGw!Py9Hm|(Nm{O zPg`_y%^pk;^5n%H9Ggu9jtv5bXp(cfa2-A)BM^l$uj+z^gvOEy@#Nbe)(izGH{Z{} z>!3170sV^%TU3Z;dXP=cSAmPEJ)zp+4l#~hhdgT;FSw;asOGhy*1Hsgv~wHH6EU1H z+)3!6Qif;3)Z*%N=}1-cm!tQ zT+)0j;;bEaJ!NAAvMabDq9quAA9_($_z2JV@~&Bhfk2wq`!a4okqjx3Z9Iz#6Bnj4 zvcoNn`l@yh!pa`xg^Jh>%a_RyLE`ZUczm0@p^;VL{SP!OOGvdbWeT zWDE96z5WX_Q55m79cM>(p2Jjvg}T}OEY)k;kFyuwEG0T-pI9=?JDcWlD0gtLa&WtH z-Le3v=&PVg)f^D#KMoJm279*?lW|o|GSlEDHR{5cNv*Ezd$@?Nt9p(_osU)AcaZ9Z-L zE3AQZ?8iP+$ET`TR}B@QKxogTpkrgQ?=pm5Y^6YrGXM z&VbvrHa-3of}2vTCKlcL{U!ATg`BBY+*6{6M=K#s89Ve$wwnsDmWu!`3I+vE+HYVp z@GNRhTEDUTh4%W~Bn8bF=(<>06OFBUP&2>dtSxbSYNyE1r%9=PupDfPYP6Y%Q+~%xF&x}1QREg(< zBAOj8|6iO3WO6a|FXOXD{D7TNupG0()CLht*BmKAfGw`s*LI$6Vp>vB`bsr_`86pF z+w6hFo{z@tJ9Fd&+2Uv2x?s zM2HFHoOW!vV&j*$#_tbZC1xKkz0t{x(n>jdehtQd2fzt<0BG}bfd}9EBbpl|lWXQ# z`wJxeVcX3}m{5?D`g5PLG#Qv=w7^=@6_rDkq zeLLysx8zgr5Ql3C)gDtRFpP2;8`6C694&{cD*5-GBn5Eiu(tO=3@~&Pm}3kiC8AJ? zrtcZC66b6Qqiekc=2gH8h*Jpo6WMdm;~BYqS0%?e98ZfDe?R8oJWU-8pSnldem^b=pOxo!WnMBG_K54q|BP%Ck{(WZcr#!6l$8x}J09g<5g9|ASwF6+uRPJMn#yO5+S+GTR3=X3h`(P4vBHl9dTZdx2YlB< zu_vO&f72YI?>2luLoC{DkD`|wdnBrjepq`A#X2bd|8eyd3|U1>*K|vRbU!rG-QC?F z-Q7rcNjFG0DBU4~grszXgwowz-@&-|e(xXHaAr@eS+nNZt#*CeO^k})W^g(1V)|@q z^bcG;?B^avXKvZ`GtWzYEscE9AinO%6`~sN)-o*$$B6{zo^m^hH+&q?nhSxqwByY>*#E!wCu!_RDm~P*wfc><$^-%(aHBj z6;#VsqGx{&WponYUu|!kYB&{Nu`B1~J#ab>gf}yz50XJ)%0mXjQp4x*5^8Itm_0)b z=-g}Y5M)lZ;1g=C`as@-{Z?&tl~~h1pbwYEYL$OM_oj`zdbDQ3l1(47iKz6!qxqOo zb9>IiF81?Ydr!{A)z1A#DYK$*Q?oMcp`TK7uc(#WFJsES9W!Uqdl5&1OQ;N)R6sKw zwpHaDPj?lrU$>hL^k1V{-BJ z_bv6vkL-H+eiBv|fLpht{^vS#PBpY{()}(!-*$d2o!~@<{#`-RXqLKzF zyZ`sohr{>?ydMnnTX=dT3MV{XU9nzx^2p4QU+q2MRgdhJ2>h6|IdnR{_sj5#AJRe^ z91=3eIpH2xUjkQCI@HDaRF1a}XBvEqsjH2l|C;&dC!wRi7ZrYZ^Y;4Zc@6(xqXs{o zR7lbYW|f{eyZOb;g=KSSR`Oq$yg0xf+XSnEsn95rI2enRX0c^+-JBoBS@|B_?*H}?9M7Vt!u!;7KJ=l5_urA18$S+R zDo@-qI68*hSp~;F+ip%=V<7AeMexL4po%t<9PbJx7_k}{dYFuRvqKdJ+#-4Fo5;6N zB43nW{QWOC+i+J8#H=?C2W;5zVhloj!B!m}UQX=&?ARCaOAtHNL`jvI}m6@ z5N54}NJuM1qx`<{fvrcNm4`t;oE3yMjU|=BA^;%^@z1Od?|xZ%H<4EZe(IOtY%Xw( zaXDh<|6?%EC%?qG;3Pz>!8Ik1&z1odqkJlrU&YgrpV9QO&p; zYWio0^PD7P7T-I#ulrq`{*9+vqT+7?tIJn^JpbK!(-&m&p8q=dcn=9bMq-_v z>+P|_vHP#zkX9Y!K0yv+XqfkKaqfW*b#2j{Ea(wA)hajJD8># zF|YV*M*JW14%I!6_W!8;`S(CWL4LX4Mu2G=KX2)=-fZmYs7nHm{!hOxiJOTFe7^pc;JX=O)zh zk^3jTm(JLB%F@~7Mc+Ah?aqp3`^N@>A} z-hV>Cl-TjdhkwWAWRK& zp;`l&FWA8#=$)(hba0R`x1Cax_frG5)_-&BzWGLJQkA{J#$OxE$13{KHtRn9wyLK~ z?UZ}Zwo~q%pU47^va~zQIQRiry!LKb)&6V&pOz0KWGlo14ZISIC2hKeG;X6(>h$%$ z0Q(#>fP$ac{3jM-4mtd1w_pAC+fmKSrm1-yAif0i6EP){KMg1$!R;w%=2Y$H37zZZ zeKumpG%uxKAUAD>82^y&b8~M>}H_4uwU_CcB#MO z^D-3C#+Ckwi-H7+M}5*&FrI)+sB)mmeM>t!h^%WlY0P0gx!x2}N2ay-H&+3#qqqjV_z@uoBiEbeT6!<*_Nkz%&U)Q+ESZ8hhBr+QrV>Kn= zAA;0Cck2HV&C;8Ve*W7Z-~Us&MsJrgbNqj?J^tz%?(miQ4F3e~Q}gAqd?Ps0k_Ju`!*jnT)g<>d`$c+ z9AXSMmLDJZ-p+h2Jf>2M&qjl8WEqDH^2*zXL8sSLJxs&-#2cwhZ2C4gQNc*3m{w%C zEA;Yjbt;wj5V*NHCis2Ts~bMqX-O%>3bU&hcU5(rb#eL&nG^m7-q%Ab&9&F8c>X!p zpUV#_3!?b}mkLx+Rpg0L7e+=ZBN6YaaLpsMWH*&PN9_L2Sk$QUB7~NiL?ers# zeM0xMp#bDj+4gR?!1-?nZeuCPt3nc2+WqJ{<4U;GSNnvYybGDaE@l*^c=amz99#>1 z@2>-&H9X&Zmbv%m1i&F)Wvrloq8V2y0z-7v`40WJct1lWz z-u{ikfw z;^2R}2<&o+5?dusY6F>em9+mrb6dgVo3yxg07l-7)#YYxV*1)2Ypv&U$?q#=o}FRT z)zN3XTP71fl5s)yGtUyGO~y@r+jbsZK`!px#)dzJqJ0MZU$71nT@_+sxXyMZZ>VGo z$f8V*Bq$ZT5{T1J>mSlEjlRa+vH69rAN{(2(lG$Q9*}s1%<-b~G{UTfVZ3PdU{T;_ zJCVE=>Avyb>eKv`wpJi7mX@hgd8r%!9M848a+|0+EH(%DS1lhL_VPVjwwi;JZyI{I z8HN*s!MHySjDMo9r>S7jb&2G&E`vjhK0~g}I{jd+zw6e=laUzti47mRaI-0^EIPnQ zo5Fb`30~Oy*v*NAiBqx1!ojd^bEk~W#aiQrY;+;*gKXWQ`z=Mk-KBXNT3p95)j0e? z19JhUDsGr@7%QOwmJeOZ5#52nxIs)Us|qrEzRU>LIi(}0g-C1ZPZ2R&@OQ%ySO8G& z@Af44-MhQYMT_NS+aXzwJq8+~`Z_rte`^j;v_a?6d^Ty2U3`%_hxaF&?9oEEq9P4R zCeiYiZ)p>B3?v$G-&AQuKVdNB^-B{B85PB4u>@^_xMD}@yGeJKAxK;mPG3B;X5HP3 z$X#>u1@}WN<3<4?eS_2^6@=h=5#VYgU9tHZ%zwt})Gt89`Wm zoS1#Jq0eWt{;zhlf6pbJ7C3ZN@I>1^R=X9U}rTc-^jFQ{gM}ce`(<#!GbbAf-inmBPgL@N&`3&2HxS+d^ z;&Y$n1DPYY;25uUXG1N}rupra!bio_4h$)cFdS47{m-S z!Vy+lop6H$(tr)Y+dLCC64<^(*hP#fTKtxh|MY@SrmXh=O#>EN=Y=*;Q>8Soa;ECw zzNJU|k;|B?>epo`_EetJ;ue0{RNe-aX}5v(h%gN~X9dE6G%c8TEX`;}_XMqQ2ytO8 zBI>im%^(8$EY;0#Kb-EUp|3H0WM?KA=|W@MUgO@Z?j>X6iatsg4Bi5XBLFxo?n;E9 z+DiX=-euM0000>wJcPK)qe#@E3>^RMJiSREr&Fv_2z3+``TlgpzbJig@A=?c_Nkxle$&s-4>6$kJj?zCc2{LIoTX8;;8|@yO3 zBB!7jHDTF6kPy{;Ux;)o3F~A&N#(=3IL3+l7#W00nS#Sa4t4V3TZVSP#CKXdC^lHh zSPSU))>2x#cIiQ`n9 zb}Q-4;Dpxlm4R}x1{zA*RbIROZE*Mwh5c4yJKcVh8~*4#e7CT3e2inIgrhW!BFsk@ zb%~889PdGN-qCz?mXm1KoVafKL3KaEv*b6%p;%c)kl)KXXh^o3_h!9W?lVcWg?Wxp zazX?fQvHg<^}e5HT}Z*nZnVo~h`0`&iM+(O;WX=G4LyziW2=7bd6<`h=LG<66<{Tj zF+>wSg;vQ-*qc>9Qf{CO^M8lw3m0Pw=jR@1+;~edx2bd zStyh1tvWYZtUz`qLth`Ir_<*BZSi}hH$$iCZ>P=y~rQ3hR|>?_lTUDHB{GTabv{oYI?nv3D}EN2k#VqC1z(q2KQf6s+{) zj^T2YM#w%mU2=MZ6q?xu=MwtA{Hexe6lLpNn5xhusyjR?OltRdJ^6KQ0xYSpmr!QX zo|=~2B>!^Cnd1=ue*NMY@o&hM8%pTe(YY=7^CPCqi^uTRSC|rh2;HhU;F#wrPUMiF zBLkID7B>KCBuf{?t`EusOXjRB8qHH%L`6V`val2vJVWd>9%(jMT3_Q?zxBf)W@;AM zR$oPs2bMA`WcYk!Y|wUcCpsIsNH<+P8sP5>?w@_oo9sSrdxonM0k&6zmhkB-z=xzA zfOX9qsQJLi)Xu!~1rLHX&or|52lb4VW)c0Tvib07uadzc%UlV6)8z5J*!<&AtW*fEF6L+#xc*((JfebppjGQ zgOpRX%`7DlrbCiH47J|A2XB!jEgC2es^LjZpXD|P$x^m1;6g|3cOu|O!=>MAXZY$d ziisp$TjGDI=}j1`8|CZh26UY-?OZ4t)(fBaLJ}hUU-E$*^pr7|L8c|=9X>mKef=*{ zBA%(og+2ED`4Z`qULTjPdXpu<>#elKjDLJE1KIT3qRVPvlNUG=J9EUEu#zRGjGE%v zWi`mqi|FFIg}r&N{hc;Bf#(c(=D=k9`-XK#xj&6+z}5iuj-Br4UPagzvIO*)?CY@D z@5Sw}m~&Vy^%J3C4})%z`uV@bdGBkl5c>*V-pKKqpiQUbQ}e^}sKs{+-MzwO-0;(~ z1Mf*Q4dZXkaAXFngh_+G`$I$yuH<+=v`hbM!g@$`T)!;P<(`Gcy_ny{A~mIg{I~h> z*WWtRRHAU>bM{j>3Ly`5M`xXaxbP?5$JS4A15gAaj@Iy)EHP;u$t>%U2$D+Vb@)EG zu~hlj5AG`66-cZeXaOvZGulpEF0j>I6U)qWQfj(kG!-~IDrAg*V)rs=Yx}d;lF>g> zrO#MmIwdd%{E}af)73ElK>%1!DM2?$R>C0$9%GWxfR<~d=m&*rMpWBFx5KMx2Hs@-e z3(SaY{EULJfVoTZjc&tw4hZm2E)i4ivULA_QtHwSY7+ zp}nx3j^?~mzx(4oGJf+B#Du>8+K(mjWC!Ty4J)1S#pKudT<^TJ2YFat%B&d&G&odY zmaGKSp`I(V#I5NMiE1%@XKX_wJj}*kT%Dg%+Y?U}%xJO;pnQAZ;BLF@DEbi(lcYHfqf+eoakO#rejvMuC%clq9~{#6DkEq zS#lZ@5&>w5OM1{5X!#8+%FIc&@lDu49~c^Uso~y0rOo`u{U2Sut3IE4^4-cb*Le@_V{#T_q{-^Gw7nvDXO04jVZ zEkiRXcMeoJBBFf+F-r1WA0(z~`exHE)hSE3PBv20zbY-5@Cx0wV*9S+s9q99E>E(L ztSr%a?ZI5 z8qFVbPb6=xwW^Vd&c!%Mf5m;{n|IVcT|he5mXA;C6n+o_X=8*;`$$%0$qaXfgZ(f?|^#UTTu#Agf zp=jLmN{58TBqW6bXN-Jr$soO!HeMxnqe-FHQ;L3-8Txd0{}=D_@7;9Z-yZ)>^~FTF zW0w~`sZ$Nu59g)3FP?5PTZ*;GP(PlPVm3i9<`^vrt;d?AkYbb|`#M$JGJDjLJk^#D z6kPZ!ddLXB81iN|_8SF>tLcl?O>1xD9e#KY3pzs$DnB6@2PU2D$g)A9>~(DS?|O{F$n`#2aRITJdjMl(}N|SuXhJ*SA62 z$47Sncnk#$jbJ`nYs`?fpb-V48!i|`MCS{so&RQsfQ#BEyPJ>4r$9zyosA&NkwfNa zRS8Qa@_CU^4`OwZ8L?O?fqMs8-`N3*TVV$kRsvRDm{Q>-dJvL$?srY^%5O)%DIL(WkFk9=g=X~dzY5o!)6 zn5CemGNx6OZrg~n=~BP^S7jZ4Wxf05BzUGs=xGqv8iTIEQ#^Dkwmd=SQ2q1`4sZ{Rl*Xy8g^NUQk4KqTyyLi$D`cd5S{MWX$A6Cqv6n@(`L^w6#R{oDV{DqJF%-} z2%$&@mpJfpe2D1JXeVyTN$@FWsp%nj@Vgh}X#3JgiWmJCz6o9HetDo#mF$j{-2NH1 z-RY9iZ3$rIkk~6ZSD1_xGqfSIL9!c5P$x6DWUg3WU!M7{$S9?ApHZwS=bOsxpCg$d z{IS`svU7CwA5h~A+)1?b+PrWK*a`IgT3xcpBdD}d8&24JTPhbir;${}cl|#?x~mU4xh5nvzn2)9dM&e7HTC|HD&KItQsRe8gxVn|}Hab#^4M zhC+$ac=ZV`T(h*%`HhwQHd1h8oc_M+rNb;h2@`i+4f}qX&Fvq4nnK=gpx3r6jM6ZP z9+1^Y6^C5rq2VIHXqVx8qpHHQA$|jNGN$WX98`=SE|qvjzXX~aWLj*YM{A5%uJy*q z(WVy@Mo9~~{0^Rt@%9ir#Ha@+v?CRcOmkJ9<%6|tn&32N%uzySVW{l;{HH=|qqIG?@Dlhv zyo+sL?YDCCFllS=77huW(-ARhbk}^ge1WXs`{JXkD;Jlao${B5r{UD6HV9j}+KTi38G}PNuA{1R zB07f`DqLKnkBpq3w}&flQq+~iFi^*^@*d`s;xzg?oEdnXa($&0c@3r(iqqd_!ROti z9sarW6$<5gqhLFCB@Ndc9tvKi9$|9T)5J?yK`LC|x%g`jEAlqbG71V)1F1sx6?lYVDa0E=55 zn*#1iLMZE$S6E7JeR_`+j^Md$f(mk$HsK3|C*CQ)ddYNa&G8x?HtPaU%SYP@2HBU@ z4D$B~=YNejIIGp^VSy2^7fR2=9 z@G}|ppfP&4$7nX1$o)>EmRQ|MM!xH4_+(ZPob*{)zV_#`2DnA1awIn0Ep)bWTp66h zbTy+vi9lA{*l~h9ZD#}HH5;ilwqzXXua=H5#ZqW22+0YORI##hKjYt379g1Y{>ZgL zJ-2xqU?5DDY#fh<1qFxPIFD zu>yqLGsVz{!POt9V~3Yh$etHNul0s2YaS>GlUYsb&uOhpdh0fTYxEo>#i>k|>9c&* zLrymWv62*|n(Bm@L~b!ppDaeTqD`r;g^ebMI-W)L&GBl`HbyxcCK|dB;)YFOk%FXQ zGf}~Dl%I<^Ru$>8R^mO~19<1+Ozxo>mo076>fF7)_r(BI8*5OkVLv%Q+2QMP#v8U~ zSa~a1l|GHDQT4-HR%I~TGWNRJG#hH%(Xuls8{xZ zuE?hoH1^PCns}9=grjc5V_?r&etEdnxG2$D?%((_Djrijx~x2dS1cDDZKbFTP1c3< ztO{+QrH_zG<;||m2yPzF3Uz0C=v!Z`ppa{uS>Q}NLr?T6c+I2&kEfo!JdY71%!4{r z67S;dGR*5xCHb&%WAOR`RR@4~uy4 zclkeEMmb8e1aJHDBXja|*LV5LYv?@($;62owc^(*)yWVsK*(-1CN{{Ct1>zpOS|n6 zrkc6fgzDo9q!c{EgVGl$RnCMdF}Wr|T!X(N(RM{g`%{ z43{TzN^-qYEHP^KNa8SF5wST{=~d|tMwgH|`z~PJqD0AZ;4bvIno+W(;xBbBn>xfd z9JR{b8?7l{r|A4GV+b6b(slS1%86$6R;ySG13rl>f47Kv{gj!X)o5|=%qN1Z9ZbPZENv7e`} z=?o2%C0-*OQ6K6xM2o+&6H;R0>$AL#8JnORS&UcR&3yZ6?4e zMRPL|BJI0F)nnI#ZF8!4hB3PnGJ91koIsOy`YQd*3A%=4`p*T2P-E%7V?S~uC7Ulx zmJy+#Cb+W9Cw!3piJ~b$cJaR9?zFUxW|f(;nUFx@=J(aVZC>#k&9?Dp`XIIaD!!r9 zsnX1|UZ+Q~T%EA^;`1ty@6&Vvc+eSY;H~n6x5>7-6xyM@>OWknPMKa{)7oLx-zwi% zG?4B_jFkoiTIIQ5x|b2IdlstNs7SJ%T}UVV&%Bb}us$MR zuX98gcH=WOUV74|{DnjLQ3qVibpdJg1W7 z4Kn2qpJ}UmGw~mn-JanUXS$2hQ`-p!GqGfxEu4{KXXXjIg;U1HqYFcvT-1!wthU~y zd=Pdj7r|Z(bZ|P;fiyexnEr){b(iPaByF1TtL@VQ>>iW_Ytv79$Hd_Na_HBN_3RQ# zbxlkq-HEEE{f!(?oCi>X^C~aH+CYW83psKDlZlvoDP~b-QOQUcD3bG66{BH#vw0WE zdiz8zwPd|ag8q4YPBI7 zv9i6kph;Ca;J6pUfO74k3m%RO!-E|TjW%3v;z1ZpMG~%|5r4ZDSKhfmS8HFgZKOzu zaJ3WoaiC8NXhVg@^EB!w-102TZr+4l3U`)z;Cv~nS3WQ9MRXJY`jW>mLetqhmy@M9 z$9DBrLL9?M+f(tv2)2LXScOQ*!2KK(5bV|iFdzA*Umw39-~H3uHyYJ~^^>3QD6DQ` zif8L$C;gd9U#2taJG9%E64hhpj^F%8aru7mRI9*|F^XXuL1%^}(u*|5W{r({ZcAsI z5oDsha8Wp*T#Xs+jEoxD4{{2Fog~{LLQ(GDDV2>?v}$>SS!g2GeUjzwlXYHoTci;r|9#TRbT9tl;>z+_zm~<*&$W=ik`7W93BC^nBsyR>#`q74latx#SZR6 zzi{(Q&O0Oj8$j_gZ=z#RQFQV^Zm-x-lQJJ}9P}hYnp=J?HJen?8XDL&%p0tVUF&#@ zc9KE=`6uHU>~Xqg>B?}U2hq`i@e7ZrfbqeqC>+Yo42(3&E3c0riodqdi0I7=_|#?vSc8<{%F3hD&fz3u#aAi~%BbCE3QL?&05<=5 z_xTmgt>4h8oj1`<@E}DcLvLoj>1K*(n9fvxgpT*k@|W5389^Oj{N)42n_Y5DmwTdC zAgEo$O}{aEc@M}VYIF-qkH)$DBONSbF+ibF*`ebS3KK+!NEDE--%Lz^JGx$OdvV9& zM-pFa{2ncda5EL47UK+%kkd>|Ku%VIYEuos9@I;}-3PKqB~HR@$XaPSGPivCGw$G3 zh{${`g4ks*6G0u)xg6p+Um5~K7h1!n7Uh~jtA{Rhf^3dxl$;bks+3{wI$EW_`79!{ z81k^J;bV-LF4ziD0-o}9{CF@wagD)g@A3vA?(-ezi#99H!=+mA+N4npm{4f|HfUi* zjITefW9d0e3Qgne`x(RhQDjtBxXjr_STn>tpCLP+X~0XquuhqSG94VsOdHCg>)baC z_PLxFFNV|(oqKeqIa%0}sM$TlHBi8K!I|UE1CiNGsIw^K!>YHIQwdm9R$D8#R zLUB#sD~EB%Em(O8n1f*mh2bdoC&-zB;lkD&@3w&hRe&A&%{Vh&JY=#cGZnSTkPkFA zG~(wMMI^5RT#W=AbSS0>6m@9CyhZ4mn^;g~Y&IMa8)!G-3k2f1jv+d$t!@bT@p->y z_8+{99!|1&*&Y{s{Jx*M!YoWJ#r2H+M)34&13pz2G=jNhiaz)4qWF4Q4gjN#Ht1;v z_4W-ohyq0~TD+yu)l?BTd(Kl>td2`t;*}oLkcuhxPh*zBR?JjTFl1#G{gK65mcT%MkUS0mUXlhws zO01nV8802;>uiNPh4-r=#o)axH~+1`%R^NPGRofX=}fMTgs8A&0DCd4ji5*& z>sT-$oeRpFAj|R=o0-%!+56CBii+yNaaC9F&D4K0RY3I*P#1wiDGpUxu@~XmLz*uW zYgEAe)|6|Zqw*I_WPv<2Elue0^!J#ai_6DeE)9IxYED!15 z%MTEzdZ#lu%R{+Y(5krfyCu(jo&0^%R0!Z4a6&8gHI3qJKrWpA5Yo0BeKLb8(p$Mj zzGldln!|_I{uFHQOgK{T>yH6iUJ3sCs~F+RE-uAreEX2=qH%bjBBNtdqm@xZFU!Qk z-KO1w=!r&2Bgk6bo0y+dU^-iF+FKXFq6lbRawA{6CQiV!$x>#^tSGa!RJop|I+Zq{ zv5ED_5vfmdi3(|;e5I%7w#XBI%wd>$$oHO%eRbR*PY_u!AHby77WRa-OugVHeV3XB8 zL3x)~y;2dAx|%cDJU@q9A<^!%E6K=gOVhi?1`iwkIGl_8ORjxnu7v_Ne&mkXxs?VZRll3>)*sy=Z?%a|rlW zTY}9=UTU>AMbuOUt0#ASBSRrDsZLZ*(H7ygM3Z1YYyo;j_cgwescV2+dt6( zQXG~vt|AuG0qB24agFa}mo z$m$Ap3)S_B$hcvQvSGMGKX=+qT~#s$m2o4U211*od5dEL64tcDr5D6dI%*MNc&&fU z_Aud?5u_Y>Dv%%sMLsS|Ku71a#F zEjs0eMW_U_biEVI3K!$A3sJlDzI=ZUOfL0paTuxmCtYa&vbx&gzxcCa4O^Poi@{kx z;O$T}$klT&TN^vSKvfv(urejOAIfdBB4!p8IAtlJq{8!smu7^ULh@;XT*lc}gRkt>O1eBgyF(&x-T8COM=zWxf|%5dR&Lr}sy3vh>o(z|qpWY`3JhPa{gf;Frs)v=uKO^QnVZ-Ad^ z;Vts<{(f3H>VN!4GfJ_r5n&BQCK*n#-YkMzdl2MuvOOzanGv9kAumW zmP1aSm!!g}Jm;kvtP^#aja_IM84_N=UkB^ibOL6ps=Y9_8NLJETnY;!h+IRCyH3QZ zws|4!{mZz4BW$gDZ*t8#OIP(5i|=0KoH9YtWhA_i{Gv12v2x)c9W}3xQKb=~QO>^0 z{NzY*nGVn)0)424>)+OdQ`fx)sj0zgycRh!U zaYHuJFlysq^wz-@CI+%th8BUz13XJAsD}Z%lEx~#ePd#S9&^Qvvs_GHOohjgGHBUw2}FC#hY{(3G4y`j(ZWd`@jktvDAev0UFFh&*2^JYS-MQ$AdalAmi~jF z38lET1F1KfpRN*9)H(c8&eioii13K7{dCMsvikJsAa}rI#sXslAj*60&ctCZng-w3 zQV7G7+T@Uw(eeK$Vk2Bc(S8m61Y8NH(sT3&Ib^<3 zN3=|_p!J+FF7A?F15~z6->srWnav07vDYmlS!G9CI7KY`ixHCHDU)f6Ocl9xwKdFt z(jpCN4?6sqt8g_PZ_g^LPtx;mEEilFc5E*)N;^Gld&3*c4=5ErMweNB)d(x-0sH1y z0*TAhu>4NdC#N7rojKQN1UWCdKZ74EDxV!3P;7sVow<`2l^Hy3?(uPMEJ>_jxBF#P zz}(n0wxu&%u6aWz)tc>U!58opJok8FqSBl3nvKRTqEn>hc8d z3#3vNlsAn)bA{r~!4XPGNZ#S`kb$PY8qS+Dt|WFdVV zybKjHX{`L9bEaX#X;mH18O>KD$AX}*T%^G7Al4(ab&)nteEZ;nQY&(X{Gh_2EhLbh z5QjEPZIry(45tv9fg2Z}{ZU)n5#|y>p|3Fj#*DO!xG2UT_|ewpbQ0JR`q*#5!}2oE zNHHQ2=bn0{H&-d{S#tve;|yJ=+8tM}My>w+rY4|6>Ni#b_U$^jf8H!Xp8N;q7L84b zD{gLQ4sMf}S8j(yk zHQip|U)jTE8}zLw)ziu!ZI$+{>UmG$1+Wm&x4p1$hGx~Yve8b`3dWwl5yNl69qbHK zxJfSyPvw0HrVi(zDj>H^0Dowk4gNF?c9^biJV;ZQE{43~Og!XxXg56`T5moig+pb5 zRrhsb9F)8{I!-@OY#L1Sy{tYY0nyb6tG?~d`wN~MBY*R&OFlcs7hW<~>79gH{16i| zq!xX=4jAF?IO#XPl%(okS++5{Sga5W=^6{vHhX_0ZZNSQ;@0ku{(yfBAWBEb5;0%=ux>mhw62ED-giLugyT~{ESEbpJFA5=$BOY9Lp_yQ7;~NbLr*Bj z6IJ-g#m|&S!0gjKtnxQtQn{C(>syVM+C3 zAKEZOBZH$(4TdzMp|LWGfO+;D>=Tx%-N4Le6ZRgYVRH@L@MS@rRhfq>6tjbn~0$v6s-Qx6%kM7U*G*ZZ?$CPUbdAqy9ER59T}898WN~%DS-``Juk|c|J~Z@ zo2jB9Rh{`rJ6Y}gQhw)hq|6Rh~h##Mt;`ScZmy{sg?Se1N0B>PDD9n8< z)Ybc;HeF;Kt-o#|GXO`>#a2R$;j9jB-4{U?JA<-NVwgrkjfu|l%z>bui@r6p0VMJ2 zl`3hf^Qbe9F%-{;h)_~LrNsL>{J2pXRS_!L@`z97Fyw_l=C0TG7_W359_>cv*H;ut zOeu|_NLh(+`oP_^7$y>S+wzC5nQXu9J$!8$exK;5Eu;|EQ#cm0Izo7n@~#Uv9K3-zIDsQ0O^ZK+UGfrOMS8} z@b2l)Le^Oe%BrpGzYd#vo66rmdba)&BS#|~-DA|UII9v}cJ{O{$LGyq{Uv48+UZOm z1q-@Lw7`a$_DL7nc4$WBoHouk`>dV|{@gNg^ShQ?LH+?Km<&ZVY8SIK&V@8mm#{=2Jm;IZcGc%b)}4%)6i*N#)` z$ga$FAE*>80Qx9*PNL=f5vW2L_74H+P%}03+94z?$@v^~ww!}b=GpI*?VSoBs0O_+ z90-#1VGkL4xJI2hc*FDIabV>6_T;Kjd&&k{msy=z*9DR%z$GO8>Sa_ZyM~vL$P0T{ z3jlpyNafsxm+JX><>O8Qkb@A{l{sLNKZX8(GtdB*JRc4w*#WGSubXQ@|CTL%&rek= zZBHT0p(qI4Qs5mzmP8fz^T;+UVi?z)zK~_*6+%JQAOVtc45+pLTi1V@w`7si$CRZ6aPp>YsthCbN~20o$pldyl7j zxmBn9QiCgB$Eb)t1EH~g@AQ0J-T8Fqe?DWy_GFeds_ZAA;lIz;NV{zo{7GBVJc*j| z1n+_GKA>8AC&H0w*l3bj=(Lt^L%T9lmB#$;-?f;erQlB)@`5^ z;X=W9!MSWL19#1li>dh7FLeU_$q+jbds}=hH{!-mGTZawYeN6s`+RIjYJOfq zndVf3k~?aJsCMu~TkC(6zBlIW87MbnW4$ zxRB37^oSIQt&E5jM!FkuxerhhWhhG~I`3r;c6g+Fc@*A5%_2BGE&P;ZT6L*BCHbC7 z$$%_9Ceq@v7Wr)>q{wx|f~<;nxAm~>@Qm{JR$LwPFIH?|U)YEQ5j2yJ^S|3&NFaMp zYVde+RkR>%NE?VRf*qTm**jj*G@Bf?I>;@?T+aW#@y|~Fl`Z9}RuAR#abrEwZA8_b zP8lpmjqt{#&PkHR;lXnl5a#xO%1~WNWt27Hn{4mzAL%Q zN~KbsIsC|=uE(JQ?V;~5DQQ)9rR7C8==-LL)d#>QoJSm+Nd#4xUdV_xGfCr8H{P!b zhM^%;pohwF2uGDOh}<-~9JVbR2W+tzC?{e4lBZ~l^$m}vrEwTr|0$_7$a~x6!5G5d zY>7)}JwiZsI}6$jF$0-}*mNRNLM z1_qZhGwq4PkHyh+sAn#`HYT?3-8BlZXLQL?LvR-i4dDr%Xp0NCgZ6Jl>L4t%5SrmZ z5SL5VSWCBqD6qRf4Ihg*S@`xs;c}#b+DQoWD_U@(-qn1tOLp`Y zJ8*gaK(0^vvo;`F+*ai9P6|B*RibZfxdQAT!6Uu_K}s?x8s^y@Sj02JYu1ThTC>=P z^nA@DQUGBhH54RFkYEJ!&534?0-@N`U{kWQ2n}JqpO9Q-H%4UIDl1I|PSav2;Ib$N zwc8RhlzA~XOBCP#^+b;cnj_!$`11NQ>#wD#-`=AO3a9j9JYe?46W1&E(7Y8wMeB!7 zN8KwjSV8NT%^;T1j|6njk8JYaVlU$J?19B=%;^~9T!fAknQJU};+^WgdE9pkd2eYh zyW0qWwd*ekrD^qYVR$kZwIe};7=<$Ej1CK@CLQL z7-l_28lRlj;zwvZoVxxdb|5cduM7+{N_R^HHG`NlL3Rae*63QU3yR*NDr-Lu*P@W7 z^PBe|d}zHaU4~TXEIeS|8IRY#J75wd*U(cz4ecN%m0(1W3sGDH5&J9W;C>ZU`LW!j z9Q&hM@^~W+oMLTA%|10QQs-e5)#Tv)L!W~ad<;QStwaP#6rCj-+EkLCytzC6lVP?l z#z}=j@z2C875Os?^l;>U^#Br>L?qJr)n$Y2S789_HXR&v5DiFSVSM6&es2eScQ#RL zm=Wyh)6}oWUak81Kmr<*@7|#rP+tB%!<`MMc2ccJQhr?9H&;V~PC%2+7DE5P~(s3ZW}65=>M@|iV`GiHsSCGd| zBLVL>VLpiZnxp?Re6wRHZt2=u&V@{qJ+{H`sfvHRl|2j4{_jLy9Q`Lpg$!=l_u7 zSCYe_`Q>?T=>Zo=`X%q$6+jxzlOS&yKlqI}Y%CBX3JhP^vS3)`L$TCRc7$`JCH;wN z1Ky~)b|lV6F;_-A*P zJ9|wcwis`%1XiD8dGN^jXd2oO z97*8Un{**iv}$-zt2g7;k+^n3E%4(F0;Ud4?y^v($IeS!#Nn5+l75vBD!rVYwEbg| zgfd;>@`5+|o%%aFo>xiBdQ;~wkkeW95X##MS=BBTi`)nc60a1QC5iQHaZZ^Jx+8d*zM(%C4XJd&q7kCc7+01?B zEoW;xU)lKD3iS&x>xf;_!_QbvXtAirW$w7&z_TUSX80C`GhrGP=*&mFryOmTN^#C5 z$W`-Drv9^LFlFHO6=Y*^Aq$=)=opWhWedh7C8?r+7py4rCrE#L)PQSS+^X>`X=UtZ z2)y^45t-95wAM#+MzpIDuaQ~wb$NVv`?)lz;oX@Tb(D46Ut(HlyW}_qZ^9jOtdO-c zMQMh}u?9ra+l+B(SKEHJqnuV7jiukS?ey+D_c{+LC^O=s$6KDc2iKK@>Fkn!7>T&& zTlSnIXkj@Xxjxax7n`N&jPigQZaX~JzBSZb^s(vLxz~Ts_!)YO-?prKbg^+qUf?Jv zh!0f~H;0>pB)I)52u;a@Paf;1$nc5J`G=->;J!7cDV1>qhJHb+%zo)%=%u|maTXEe zoz^kNU>i10g=lHVY0zRvRWAm}>)5rqX!1L(f~yiYW`@}0Ol(HZ54r;Sv!&OwHX>`6 z`29L&p`;?vghwNx$RZ)@X*eTpPsRW_9->058G3A%<@5~=RDAH2deseqBTtIenB^?CrTYvOb z(W%h6GecRt^=uT9-I4q_)uZHWh{}^Dm#md`D{%NOuVG5X+WT^=jWWe~R3t2ZNF@h^ zn=g8KfTDbvABSOVW7z=z{To+us4jsKLS)su+qYurp@y+4dR#43J1pUgHjZ%h=^chG za>}kb_g8Ut`hQo07>hpGqgdYBB^j~VeHc3Q^z$f2g8;#LuPAIG7&<6Tukeg#aCaHQ z6n(*kl#Ca(64NG)x({w$LM3xI>$dG)w!Nvqu718sax{Ky*n;UJ7b-`c4o|Jhg@LJ! zH^!CZC823H5;*}w;ib+LDq}G2?Db1Lh!!>QDTNL>-btTXf8pbcHg2Ub;);6mHG=H# zEQGs0k#@VCx-5iWXXdkuT1DtvK6^PBjeKy zAkFUO%1s4*OzD8zVZ*jgOeWET&*1vTaJ2Bre5(?>O&Q@X*{W3~kr%B{x4m_%w8T&2zXa{Jkk$=9i z`)%U06=6;EhBB7^xxY?oT`_W`i)Mao>hlu35KCvt1ZyaYpw^iqZR9v|+XHVCW*W`2 zo6c#2oup$mW{ND{)j=3r^V@xS1P`K{FYx0nX_i(bblmHIWn@U6d$j3&O5*Zrx-*kq zytOh9+4l<4OWdR^pwpHuYE6-u7DdnwM_WlYpkLVP_#i!j6umN`O!mcFNhUp%%2Jqz z)q=L?-M(WA86V`hJKh3j3m$EX0X@5h5Vj>F${LPG5!*fcJOFIiIbM95k5Auy0A)1X zEby`1z`73H)JtxSpFk}Mw#L1~Md1`ZqOk6t7cwMiVe;GGc17*wjYhDgeq*r39eB(u z)&sMi&KPA12jw`%}w>L45N{SW?>Y%?YKQ8Dz|~m167s;OzKvA=UMXuv_5#O4z$WY`=AmM*@p? zziL!Ef*{|pj%JcpJZIxwcXHzpA8JSqCh0N#t^W8TP+3wsg0r^R6EG>e&0R2==3kkl zcEADF-wk}^mVw^gb*`X@6-_%M+EnN_rLK-ouLN`YB&NwXq$cr0&=gC{qyB`hZG~iZ z!;?7{T!?nhl@HDTT_j>_2N!CzEYIq2Ssc#q(7zd>bL*Hl(;2xBCMJ%m4QQFbT-8L` zBN&bECXhV0$}gad%Uec&VQR%pEkIT2?_J-GKgC|?dUu`WosPwW%F->h2xwn(7%B27 z^r~154(t3(Gssv@SF7k^RE66iPzv{G_#J-tv~$xhbT|r8JV2x&-}ghhobDpF8XP|I)7$Qr2L>~+b)O^VEDp*z zR2Q$qS=Z5a6slb7OnA&XZ)GHeYkJBB_o$wEbmW_%$9W>u!*W_-=+VLygxx8rBs$Eu~<9}1QWUmBJiEd*Z5H*6Ed*6t(D+GEX! z;|Ip!0*FV@>N(g>7vfA8lMv6YD)Z$s*?lbB^41!ZNxHE%FEVhtWQrsvdC(Hs#h0pgD{iv+kww4;OI9> z;n0yzpHf6pTE&&?ieAfTK>Hy_OjSI+$Wb%Y?(P(jSc+lW+xYy5o>@gpNla5joH`o% zg{K&y>Y=TjqE5qte??OMp2xANoVX=J2szI-iVtMh z<8J4(-oLbP3jjR5il=-;zVb1(x{C&Tw|Lu6Rk5c+^14h|#^frj z{bdTxu1lqXoScLeDjiI@;z!ka_0Wv1*gx#h^P~_$vUsiZ-DomiH;tr*r4T0=y7X7c zfg)NhYu`z-ckz*XS=VHRPe+BAR)@W5`Mf(eYx@u8c)kRVRNMMHzhX7+aTiu4=}#Ez z)Zx%lb$MASWR!k3@@QEC_PMCzU=$o^iIyOZyY>37Ka}~^EX|>De-RQu%|%1=5@nC} zF19=Q&XoPpjbirp{f_076R{uVkGYcoi-%ZTlsh~IAw7_M&24i|4_KRYGr6?$u;PrH5IT#js#i}_-|$jWPg zCr4#Ef^X#%YbXA7j(9&iX$59yK$xAG(l$swz1y z;o75DbA^AKhsGVV8h;7wF+v zD08BAC^0u9jE{1`yRZ|L5*@A@@)&o8du)S?`;8ZB7}t4xk>4I`xDu_*enJ-n z_5{NTmn7Uo={h(GRA}3r2wrtJ300)ubc#2z4kK*@@YomM{>BfkD;?z-Mz$*K!JXAk zz^WzG!YV)di}>oSyM|oF!e0}+^YQs|Z(VwLw;i9`wYa(p_It$)Hn=^6fR#5KQ-o#r zN5rv-x?jrn59Oj(Mk)m9#2-=IM+saC!ZdUr3PjUS{P`ziP^zZq-o}kk+zY0VPD5mKO11Qtq+33yYEdj*qgiLMVs`43_8@ zLo@{aOR*>V1gh9<3_Z1?45E5bE2D3}C^gV5o79l(ghaJwWC$hB9bO)s-c=snS?luo zB5jhod)BuvZ6puDX}-#or32vaUVIdMwHxJ~Jc7*hK;&p1sxnBrnV8&?CWtUD3QMuk zm~3}D{z!t9o{I2PG}y2XlQe^)11_Xu$}J@lxmPn?anE>ArTSxbFgy`4<%f`iM2qP% zpDk^TaW?@3);ZFSdsGCW&+3`wvKS?bFvKoHI*66Q$WV%9PbzRyWs!o?mGNLBl;Q-I z`Dwkd32p10NZf=fN+pA-e7+jg5fRPuFXPfs#9_YzdqjLn>hCD;t(wvrxZHN;*&t7? zj=!7*4VqXLNNLv`JJ^W}`T0{1E~p6^xJNFLznW~|=%ALpO1k`)VYRrjylUPGId2~y zJrwDDJL9?oPKmgH5Y^iZE-ueQ-v+UyAvmp91!a*Ysn&Zc{j;WJVzKi!rJbCyjB-8i zKnO-P>V|(rh?4U$ZQ#$3@z-bH`{S9t0*-Ns81crMUYg*(St zca)H2tPD!3{X|tE3NxmOVC0`4?umu&=yBOs6-ubBpjo5e=?~9p1@0_fDA*6-1<^u2 z(QNgP_^y1ju!^qt0Paw0$cWhuqaQE9)y>f~-N)<5DNzu!`3f!JS00D%vZNSU*iHzk zPrp8?7`pn^-c%C}3J zQ00cBP$`o9exNtQz1%&#yHKTU+$S?_LM9XbEyuFkPKh}KP#`dDkm&{s#+$BCt8dd( zfd-7kB5e0Yop!8I;|%5`b)vk z_8wl|c>v2a^>>*%y?kuPCT+%A9-DNi$GJbg!r4@@&dQfVs9ZA8rnf6d0iH@4cbQyL zDjd24Sy;+r;TN>hQCad>I_{bb?$Oey1^2ag$9*z%W%pLo&!cxmcsQ~rBPb}f@mQI9+0V|)WDhvIjhX^1_y{)e6)WNuwL_Q?s< z+vt;Di-}rOzklX=`t;=Pwi>N;NI-My3hDcse-eQF!@KGhHSg|SU!CzY@DigX*(93mac{ZNv599Yeo55sg8Uv;&jxOF1% z=wN3?rA0>5V;d15pAp6~wdxccF^x5iuvOw)B{+DbLyEZ-==4FQ2-SU+wwlqz8Ddr} zB`xMknAsBuB z6D-s985Y@`5|I zy79xvYDUI&4G%Y0-@#yum*PvMa#9ACMBjOq7h)}Ur9>Oe91PTBc-Gg-tP0dHsM>7P z;ZxXk#DS62+@N6VYOqCoPTU|56(6}|5=>tud)`Rh$S07rRP>g)0o3DCF?EFKmxadO zYHrxl5fMfdw`?Sd6g{P}hSLgCoExr8*{E~Ae9}6&ipADe!j@Xm=ih$<6@(t{)@UH7 z!!g+i;6jBRULqkgT}N}Qbadll7w;KrFLU2Ektbg%OY#|wNpnB z)g-+o390afbW`vAFM1Xm;Q@_wtMc*GJ$IhJ3}ze8+2VaGO=g+B8AK#PecPs?Pw&~< zhR+w?%R}$P_G;wp&Njs8J9R(%$9{|g3wq&hVlToxDIU>jLHE-@XyUT2;b~zjtZ_d% z3T*apttb(iTTfX>q(>t-Wr4)>+^KJ3@e4vS_Ko~W<57`q^-k}JwJ6=={bmKVr;o3e zb~2Vv%3JWZ=dmD8BavA77f3^ce(vjD#WTUMLWudQZ_Vb}=MM=3i@s^Th9uCt`>S^` z@Cn`{&NqE18rh#6<#n&&`R~(#V|@vHyzRe_zl7V_to~kD7JtekUs7b>B$svj0fBEs z80^eBWGw5SwKwfbnEw`v)4?lxG_)|!Y3sDu!p(p38x3AuE*n=>_~p!!M|9zMX<5<| zcW2^2jy_tRF-^VI$}Pvxi5ByL4P6w#ZseyZ%g3uD3?|c;3EDewqcREv8x)yBv{O+r zYaR8lM64`IJb3>5+8ySfNB!F0|1R?lfB@E9qvs#*{w{Qb8DzxW<96JFcb63>4&O$W z4olfu3VrOvcnFS%ilztu{cn3ZD0ov@k7(-3Kz+a9j)U!~Q!B+N>U-1~cl6b?{wQvY zc=JFvnd&nWTm{89U;ijuwO#l0?0dTrx>Kx8-i-Qg{@1YYnng zzJBR4SQozpPT9)d;R_2ttkFi4{Mgr_A5S8sD%@@1TzhLKgb+1JEQQXyt2C8wN^} z>Ql5Tx}i8&8BVESHPagKHRr+6>*{r-(^sViz_BZEyp8xb3nnqJw*T-ogJhIKb|Xsh zy!aH?j_rrBVBj%I;>Lter&N%|kHxE}dubk7m;4MiOX+(}AIP*)*R7v!eVVssWL zS#~abc81wf_~I)Tyj7;AS z&L7&?oej*k?)gcRWHOrYT(45GS%!iVtbR(g$j-!Ay8!o=AUeeoZMu>m!&bsMd^U7d zf9Y5ini}NY@o`Z;y>ELr;5UQ{q8?XcmpeC4jBT7Rgq{#qU1|Dg0hUmtKcdS)cAXU$H?3*9rP{fV@U0`LKYPqL)Jdp{ zNY0WvNrA(_yx++K;K$3CDw3`pd}Y_{>WtQ|&3s1LXynq(g4Gn-w}kgu<}&kd3&B>+ zf!LK<2HzwD%tj*Hski@I{e#&qucoD>{kBFb4Mr_8QNLlxU&@HLPc!Xi^(5Rh)3b8fEo{wmGd0zs)`J0Al5zW>H z(3=VnNm)$^G6$*6{3OnNggsi$nO;Fpf6dR+@HdNsT7kVe^Ms{D*U2oih1ji+C^jop z+_`ylwWSQHR1-;Z@KROD@?;v&_eTG~W?f+Q2h(-KP)mo1#gL37kcLp8?`sTB(ZJ7M_yro-0Cw(gkZ4p~+-kJ#{EHAWS&`Fpc-Kx9$4&0l zO?w6UZl%&BFsv5MWH!HR4~xMr-(MYN9?4EH?d+8AM%FiVyfgs$UV7Y$ zz2YeZmj3&RUC?jA(@*T%7B(u^N1g~<>I4N%WExZqru%SA!Rjwsn%OfHUjuEOb+?-C zB56j;-=YE1`F0xJy4inY?at>5eJruoAz7RbYz-gr1-rlAE>eOQ3kyz3+sD;I4eD1) z)L2Gf!)Z<}0p$JIxp@;8vcsZ|MDv_@u;G zx=|Ptnpc>rd43hvYDNa;Z&{HeX|WS5{}9$4h>A;M>j~Z$+{IeE&F+|H&NRHlk4znR z=7CdAtw~3BkA0W_cZ9Z?-VL@=!TwKQtNb}s1lVX3a4LSMhW=MaFn_N9-I`yY0Y?9) z(6&RrkoMZ>r;g(VIw9ZGW&nNKeBU#k>=jL+t_-f6MpbIgs#6!GE{(%vGB$FY)mYTX zhnd$KAh_?s6kR}qK8nU4^h{?-aKV2j<<;(J?A44q?M)P%5SRLxD{q zUe@f_2}J_m;PVv-nVEKU8+F}-)z~4Vide{mVaTqz|=h^rE`Clcu5G-ACT#a-}!v5QLVDvJaKaxjNJ}un2KEW&s z2(JCUcx?YIXm%3;;0{Qb=ofBP%~a@4C2$9GtZm!W9OTs)OHxEjyGP4S6;LI>$-c*X^OVB<*DU(^-OuwfFK9!n9oE zeLR;56GWPQ_68Q3blrz9C-P581~N%K46p(HuN5{ zWsu;MREbZYN8^p1ArFuEVwj7H6`V(ovl%Ico|TX_9&~m;at^(^Je9Q6a(^><{a0Ho z1UOntThuN;c-0pbUhWlMrqNaav9iBKevi;hZJx9q(Eok<@8d03LJrH9ZAbnV#aDk( z$grLPRWr6EU+FT!@1KGjbVo_7ZyRVdfOsH)BMEPU8to8-<8wvF7P*{dyW6)d(MM$C%H!_h*-kjwOEQwEs-4h4+X(JYgBDmEl;{$eQR_jUfq@pOn?lK-&ym0ws?^3qFyN+ zub0zz?k!G!r_#@%rZj05TM(!&nx7>WYZ&FvhMRpuT6X|*N!dHqFb^bN3ZKrGLUM7t zY*d`i;^3e~(1?%V!AY#;F5I{|D~6w1f@_3=LN4D$|C_%6ff?~@(toktEO4}KBm0jQ z#%iK?O90TrHmm7bP9<%vW123sZFI_jP{;SC=VqbePn{LLY$_RFI(0_F7s*mUD}R-g zEv$AF(R@Mt!Lrcx`AO{I-tHajVS}h~2bicA1Uo7>Nw97XDtr^-XEa=L8f1pIEk00x z-i$!CNJy>KRpVRA++Y1|+ci!%arR{cgvO#ysp;Hy$$ zK#1Rrls)^aDIZ40!2$ScVx1u>5(w{$%LSd2q+69X>ytaT zGX6KNJOWjdi)iV+32;{C=$wb^oc!mcDy%?cqhf50+%O2L>lv8&T3{D`rgqG@Pv zvhD(XAL%~~D)zB1tP}Hg{$?Ur*8tJt*vDRej@HMPQ*!;a^vkxi;C0r!@-M*MM$PrX z12?zYUfQ$G7qSPvu`ZqimxgtSh@z~h8n!2T`Y5qIT-TG|W3 zxNXQ2-g^e)iKBS_ujg>V3U9bS)0JEu9nBniNxHu5dk*75fVeXU@ub;HbmNPs+aoSO zDxF23&cXk5mDOAiU*vX4lg0U`g@P4o`?{zOjy!pkq?NSE3^Bg^4g|%Q}fsfjFh)sOg#qMB2lWidIX+Omj|S>q7+H4SP5UUxiRJL55sE!mv$c-sWL!;F39muJ;?Y(5ltzMCS6|&;P3> zn|Ke`sS=r{E_zlKyFT9n&`%aVSwpNgE9Od`$Ja+kPpg}T&c1C{H*GS{dlfX4JGnO( zB)`)MMyib)C|{Y~ve51FgjJrlMg4~G89Sm&(X|9-w3@NE=keZql47>?8`Q##g40A5 zMbr-x*{tzG^J!XknhhtB55*|*m6tcVso(z<#lxrAw2Zp?C;`Xs$~!@~Di^~FSUZe} zKx+#NK~!j~yf=2 ze$C57S~{2D6g5E+vL_DH1+jOD*-tABLvRWVTT4|BcSh}S{4nNzpV@L1r z;4TAh{jkd|GPmtytMJZmsW56)g~g&Jn~W}+|ASvW+8kj|BFKHq3&FFwd*7dEM+KGY&{Uxrx4`TlDT>axJs z8fbFp5QhiZKVf$rn69TTUnpDnDUv|Lt0uozy#( zFlT07M3qItUbe!?FZa_7jDf^3za#HhQ6Soa%qNu6@XOGBdIuKhwB+N;Y>M2kgq|s$RUU-&;^wka z+vdo{QVb=`M&1UyF2Eps=J@$0 za}D$<$%JoUq<69QMVte$G|yRJ5op?s8x2;74Uq|5MOiu}bBwLlP#?k-gNm)FsyfQ3 zzJsQvy7qrfjw#CM((me(_~$AzJ2{r-I_^exY6Fu9vq1gx8llBeyzOu=XJ<3Wbz{re z&LjNuKj;>d_s2BVa8D&v8T6fBF>w_vhl*MDWvHVfCgZ$H-;Hl=K%Idv8)lT1BY4RA zX-w$(>HbtG30LC_t3mR#UPc^YhGqq~weA-=gvfDJqXzdb3EPpATkb zf~b>Cb2xbKu8!7@7#vzMm@ewIJfa00PR8OHXohKq%L-8opf?ORI*N9?jPPfxc_Aze z@77hYEK)hXTcuhYW+#yRYvQnvTZXEM>^}0}u2P;}ctjAiO-v6{PYcSQj^cx~3(b7% zGMM{5fAHad2>-EF!*Sx}zDk_!*6_f`KQp+)>hB=EWD(x1%nR;8;KHg*gE~&f{I#!v z+-90t8ODaG87bo|YQWgkn{B~5;~NV6>Cb-PH?`qiH&zUn_&5SmL8Tc$jeNaI>K%M+RtZ*nL`+Sp|OyNh_* z=%{Mb#Jfo!Sz{WgY`E)|#Z?vFq2%*VUF6*T4`JMOMm=6DUP@NsYa1xr zv%Pb3^+`MPXlsA^j4xU7v_RvULNf=PTImWLw4-!qU=WNC~k<{WyJvWw(ryJHGrQS7z>e)*lOou+!0EF zAs(ZCYNf&~iF26Q?JQ$flV42Iq7Z^))cx6F+4=Od;*z)9KiiDkSsTAFt+nMZExo{y zUAEmpBrLpST!dlRL|8@HT|WzM1^3VFGZ4b!9)S@HSmd%Cy38f5&;OTnX0E=s3LNhm zDLgei+t@hIxzjg~;;ZsybapXKgWsh+=C8Rk1K{MWvTx#9KznO6$*gIF`Orb@^v>gZ z`{F_7R%$UV`li@18;uMzL2(0TSvH41WZ0O2i1iNZ|`20D0C7Xa|g*BB39Xlc|*Ojy{if{CYMw4RZ%bzvulq%-jJWE4QrqSJ1~|!(UU;2Qk2VQkytgJ#71pKLdBrKU&)EB&Gv2V~BRCwLhQ`IBs=a&c zuFt-vg){Q@@ueek2lt0frUKJD$+Q*32Tt6?l{uS=F)ap6+`}?Bj?LLcRA*>9s5^jS zdGvN&(ma&wl(b{yC&939eXxHer(H<=SxLyl(T7I_8E?0@wl}A>uatj&=lY|V2P(ee zGiqi^zLmAYIx+L{yxOV1D7XNeepAsQSm*#)aDbTgn*sMyx&+&3f~STieUg|xa>o{a zb;l>mzgLD%Gcyluu3}33_%XZHcEz-QQban*!IV9Jr2iNLZIMnpaj1OLV9;W?XaJ2z zGX0AI5C2t3R?U@?yGKJlJnJF@@vqO|aO`;x=$RNzscKn5tLsmCjJ{|MEr-Wt-Y-^g zB5?dihAv@vwLc1~JocpM;*3H=krfB&LkJ;)BSj8+%CPEPUjZQ!V94JZkgc_9S2|6> z=JG97a$c^~n!Jbl{kFNLSHROnNTSFcR*$n_HSZXFJ4$)#WUeffUr`4#I{w(Z4zUi@ zO^STZ{%YrGWVZ|$V*p-VXZ2*bvU|ho`o~$@84Y_o%rQ$sn)XxhHJ{1=BA+U;jIp~p`4!f0lI}LHpNagcj!WhYXRLCM7#GQHiq=NWKtW(o*z3Q zp*6MF2wTbT(xdbPl?AJ(%mZHo8V-6_%XaQwuB@OKR+I#S{BIBTJ#Kuz^gZp`)3djF zte?{Bi-a=qCoS%|5NEE> zoS2#C&fdl z>`vc9a-;I*vs8L{Y4%aE$HBK6^Vyf-4`QxMIK`Dg+u77=Sv3PU&nKq0UmJhsGP{xV zk@8$aw80PQgs^5_+=_ZUzn%28E**m91KY|$p;JmDv4oJ+V%q?9@x#Ajj|M*UZy~6< zBjS#$w?8O`w`4aA#KEX4~T9``Nj>-rBO%w3R`FmpTM;w<$<~QKUHl3%b9R zgFDPauEIY2qCiJQV>}3wI94u(G^h-OL?mgsK&joYa~UWxnY!Z*1h{DDnWt~D8xR*U z-nqOu$yw;%qA;-TjmIO|4IT62(CTk^&K@YjY3Jj|kM9lNSl&jeH(jJH>r9>>M|uOM z7pEb!-Jme!AQV#oc;P*;qw5f(i^)bCXcRBp22Z7)6gI0Lr0Ts;Gq}dozl9Q9Ms=ZB zsM8{N*0bPWkqYxcRDzN*(T$d7%4~(>U^$8>0`g^Sh>4)0ovKhWHh(IKd0lDw1}F{T z=IVadyxOc5dFEqO^4Y?cOZ@zs$4KG;+&g|f65M{Lb$aw52o%ATPKK!HF}0?P8O`X) zhNOGGk5iTv*z5xdfHl@?n3)W#cv#6R55`6kWYbMvv$FEY67tL z6+&zsXNT=ou7U$@9~GOf+Lks7v*RtO4z{O1aFd|GD0)J270AIo9-xCz-SRj<;D;{l z!@_2+@&leCQcoef&qa%G?QMLx0O0JWS{}Glm-;gR3*AB-HT%wrDUtT%q#!I_G}tqu zw;Bp>M#D=n9T&?LER=9!f8>fwZWt-Rw9ss+5B+N@*ILS$)2?20X%0of%#Vyli-5OT zg$v%?#K&Dt^y--Hov{yeRXiKpk3J7TLu1ie^hu7;$gwx% zbtls}gW%Ikw{{59`<6-YnRv}@c9f<`K&Bz7b-Ue-&$&sCC>)Kr*CeX}=%=?AB#F-_ zEoft~;FW+DRHO>)gw$j(Pn=P;a>_UfBk9lUvx+cI39Ba|AK4^Tu{iy<0~Tzj4MWtb ztQ^pOKQ$GNYM-=90Za@%2lLVr>jwduYR>jc!Ht01U$r*uc9ku<)ZJAyqmL<$JK_Y& zjHU=O@p$MD#Fh?)Jz~j^S&*yJ7$_A{58UGA;?%vve?m8~6#4Yf+{Ms~BosxjZcd$S zx~-mQVx_52isGwd@=|R$v%21teAC`vD0x7V8CZg~)4ni$Jmqlzk=AI9!Il(G;bnqt|^iGCs(f2*nr8cz^ zo~OBT3ppHbzf-zcQDxLmz=f$z8P6)FsgDYNx>KfVvmL}=Kk8lV8MnusP!N{ zD@9iDKyNSJ3t+@DCP7UlT*Ga=AhqR8w1$VExV@ARd7!Y;jsd=v-2#XIpLW<$Rf74R zt8)1m)BZ#JUy4@^+i#EE*pkT7Edy@-XF-84HT57=-NbM@UmgYGeae3Jz7%>));$oyUn+AT1+#n>_giWAZ~`kgjyUegWND zP?Iy>aG9buLz7(4r3`{|d#5pK2qx->4-C!kiFlB3pn4>&LTQn4#>$0u(tX?@R0 zE)p<={5cnZo#)^HCl@9IPEv*Do&Q&FTomrq{6!JYJr>5U{+UsO>_z@zpalMW{J9_6 zuc9s|8%l`mx7?IvP|LXTqk7+rlvpV)uI+P?FTTt~Z_9(R_TOnM$cq_wYYbI_{j>Mq zT|V~qY4T10+_+x=V0YS+kv z$s+xNSl>@5GGx{cZhL7`nm9HKR~5RSeM6z_lRf=`g~Dj56UNXmIcIz`BU*XD6MQCFN6l^yg&mkn-sR zAsl`~+rmB_#&>q(FHG$%KVaDbuFyaLgjk>sSRk4Si1#d6J^k}C$=DVkOX~!+(%Q-T zljTL{X?$!mVr8e?xM^djvr0mBrI&athf6UK4M+M>GLnKB=ma#t!5|ab2C>0?-Zyf; z;GIdr%Z!pEKF$6)UJzQu+eE~>tlj`9GN8>-!P@B+F2a2%B}Pv!T0c-ky%6(h*f1s0 zPSwNJvtaluuc%2tO;{9acdom!dpWLGcl@rR6e)tG=u{Lo|M)2Xz6W{d#k`q5~ z-F2+UbvpI$m;UM)Meu}x1nUSXx!AqYVGz_=+X!<4y1Ve1&WgDhXT6Xt5PZfKyGRVH ziB)92;1NC6?}#*W)-UT=Zom#=2Hpv9h*}WYL~MW3?)W@kKCoC?2kjipLEq7jQ#i{V zWHgQ5DZRm14sSN4f|<5$TE+LX%T=Ajmg)G#T?Wbose?H(ZVZCe3<+;6h|zECbFK== zKU)20Hd|vWz-^PUXf7ViZ|)r0aA|vykxOZT9}U%l6-Qcc85R958CfPyY%QO*3wl-N z40ZFiV=}-tFcGl{iwG&vUkEGjg&9({(>HOLZXryQAevte zrgn}pMnwVKqUdak8YlFhWeG{x2gy6&%4}2v207^246uo3r&H!lsty-^&Z)y*PwX7y zmU#bhJi339E5ZdN0~N!ZRuZ0UUcGRI ze3_7NuUSJgi2Cnrx;4_g3x_*fU#29BRGF~UPffCYN-5^n0m2|%%a!RKwqKvOq{PBB zzaipSa}?z(4}(7|7rLf~XRzv%P+7*Unvfc4Ize|VB z=@DuClap3k#dN>w7|Huqk&^5WmyiDo)r{Z>`3E~*zucmNHzG6?P;j>Ipw@a(;nHF2 z4_R^8)j!y~j8Br0LqAJE?JgWX^r$Orp47(Gvh7q0T|Zv~GB3_;QxAhy#8_g}MUO?u zu1VAS&hbBUS&UMS#F~-}Rl<-0wM+txN2@;9>Zi*#^v#HOd3*M;vDH}YDAmgId98FN zE-VHOQu8>M+y@#N_|a^eLEwXCCdXlySB|Mk*SuEB=o!QB2)L|2{B!kT zx_D3&9dCVT=r~T>hpy6>j{bTJZ`og*@Q+PMS~}0af!UeFxYCctMYX!EOU?rl}0Xp4fu5+Q499o;Rngh@D{8cJ) zpk97_4lYzjg7R}YtZ<>gxJUD-eiHoGIZWYVc!wU8 zwFKcWkXLOO$g?OQjFZoSpsj!jD_0>(zLxF?${xSPJUPAc;}&0-uEjQ=qMAR6R@W7py9&eh{L(K-oq#w2R)InK9R_U9gF1f7vRJxk@xVRl0sf_-#%9OkD zA)X`boLpN=KF%6Ds3D@LEPb$$99dz+TQqlc(tUgXG9ROC3U&f=f&!sdoju@~8)GYV zagn(VR`%8y6;1GfW&DyjbKMu>)f2)36AJFChDIwrF8?aLByTQUy_YKkb#ZA(Mhms< z#w~No{jNFrHgi@pRU-`=GHAwpfk#`n;4SO4l5i^UGNC5?Vqd;E)dB|`3nYJ1;%Zbyu3C~=*5X@5Ye7#=EQQGm%_o4Ae zU38PwAyf16F}y8k;hcyl42+&-K8QI%TAfhD&iU*ljB4vk8wm{ki)xOJ^)wOX`%f{#LSnS8*9## zhk~2&gW|}Qp#M#eqJOEZOVF>>=TV}@{ju`zemfedSR#wd50;(-<7ZTiM z6AXAG>`WLcMHE7K7{xZ>7Uluv1=o);cWj&l}kCZde=`v|$vstT< zQ>Ty*BXO7;bk0juUC$$VR1Yo=(&hfqT}lTpsTS;Q+D9J9c=XClZlY3kmcz`bumvBu z2tyY2NWyv++>E+MD}6+5Wn|Gi4Hw;-k8LS*+h>avU&!!CI!a-a|BFVuU8b%~0a34O zbQJIC^$}jHZqr*~NhJiLT$NcVIxeBWsyjW+)RjHW=44d@E+Y6eg%YFJMK!Ko>raam zc7PNP1g2;s85n|PS{|B>%Sf)Hf{r+5Xh_oTN1#{G2T}g$;11$dYdADY(M- z`u45DwTo3Q*#@leKI%=O}c4>77=2=A2Zyx~;W0{GK2TQ5`HtQ7f@V z^X0EVvN{{Ar-oQF;@oNiA?#feeLpwpU2>mKZs}wV zjUocG=2WP{OD4Y5GG#<(j=qZnuSs5J!w3QB-ZUV^IR*%|Jt=nQLmr(&#|w9FqK~?l z!m31M=yHcxY=CJ}u#>v~kuj@6eHXQjX?%c@e%re>q!#iEUoklC@t=;o)dV|}TA)V7 z|A(!&V5_PNyM?7Y6ogHKDBWzjySr1mJ0+Bol};VjVSeb0A& z=O3)O=A3todyFvwxg@nz(N^K3hJ!k7LFM~IgI;85sZr*(pmnUD+iSmH9GTwh5e-9aJDB|!QB_yl0 zezjtHHFs5;e28dE3^-#%-bS{#X6E`L%+6xV2O7O~T3W ziss7;9p~BAT;Pqx(Wl=Add8CO=b2Qa&^Fr8dL>+H@Uu6@46}7rBt!}*e@cD_E`FH^5&UUFN)7u60b|Lt?Cz2^mp@(-$YT4w4a@~ol z#bx3G(GVWTSDk8DD&!%FZXaQbfXP7qhIO9y(MTOD+<@G97Mpx5N&oXzMYS1Bl8tv9 zn}pO7O3-!jfDCslS& zFef&1F0)T_t>h==RM0ZoNwC=E3fnr|z@re4J*}l!cG5%ko>S zje;V~R}>k$53of}a|S1k8~;SSN{{1(!MF3d!$?O1W8VcQWg-~T6 zPs4L+{ScTwW>+SeGo?2!iN zWN$Zyy$HX|5{FSE+DJ5pb~1D5_iCfu_v)43N7ci9sucVA)vdcHhI}IZIdVo;R*s8b z#Oj5jV}lz(*UpxEX0httKtQUPsBah3#HuZtQ8PUt=o#IcZ&j&Cpv89xIz4{dV=~Tis|>iO1x9XJh>-$><9a?zr-yPvb8OWp~Kp_+`~n zGsjF--nsqIx8pCD-ko2o!cAi`X~zMs2aq5T6-xqaN21`U=)wXnNb;~u#qJj}jBmXA=OS@pF1aP}W>JyiHNVhsJ>Z^F@( zRJrT5GhQ1YIs|DJqEpw+e_V;pvV#mYr%r@S;^VEJkC_Cy@+hu_n#NH^9IGgxk5~(9 z$SA*ewBi5oDgEnvzXd4ofNh_y_m9=%dXAoXyPyU{oRkylD{$@smZ(tVn1|0w0iXCB zUOJksg9bd28_5^Yp(D5$vL=thxmkIjl68$MOIO5p&n7Ei;n&ep!t9Fg*tRL>cf#sw zletrGo-6LP-PIppLq~gY;T58Ze)Kz<%1mWIR_6z5Rd5QxdL7bQ_5#V;a}_LSd!@vX zJw|U_tt~CiFIMb=dV7#L3jyi=m2Tab*=xSOOg4WEQE#{+d3ja}o}Z~MANPvTo#|K$ zw^-<-UnPWpYH**je&!vegSwBsph7Yva&&0Lv17nl$ zsg$H2Z#WkxOPMP~5yV^7Gntt_Fq*^6zks+zu;i6-8w4t^)XQg;~zgQcUDg zsX})ZZ8pNpv=QVFF=i}x#jKkUcar#wr_CT^X~ok_^Zh3FOY;Rw;^($g)$29;{-r0j zrr=*no%u)3xw8dX&rZ&aHs5L87(nZ-n=xWbqDrklv5*`NV_T~g7@C<#0qEcdv`t-< z!7{ZR)y}Lkp9||m%2SKv7tOMqTqG|l*fk7McR4zLl%rIsQMg7Y8LTQ55hlIR<6Fv6qvN#fna z{o+Y6WBkP%AcVBo? zlTumY2S=M2Ke#$=8Z=}oOS(kW7~sQNend7iuuB)akgtVs2X0JW5$&Gv<@D>VxDQN) zHIeEW{IHkSBRs6=f3@&i&c}3nz`5~+DX~sBvY^SLZ(ENqT9Hx6U*fG*wRbhA{RiTp z-tKg$m}K@^Ax8$swmF3IDn;KjX?b}j31Gbcb!jO}E(s1e7rsq~E8Y;^-k4O+;hNMI zq1Uu8yx^w}nF~SzY;43%_z{aZ+fK(ld>qSEgp9J%g)@|H0 zZV9ctDzuEQuS`Wa1{_I)Z<03BM^I~vQ)CM@;^%FN6ij*1px*t2Os-SpoT$RxGcR*i+s1>gVgWPwSNcN!{%6aNLj=9?b!PS? zvLJj*Gdpiv4iP5nR-d2ut!-5)a(~&{#lbi(g3hxbo6r4Y8~#f6UTMc;XuKvA* zE~ygL#lh@{26+wZPlha|SS^6B�nea!a1-T)u~5&7fymF?ULV4Odm6T6f1C9wwg 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 literal 0 HcmV?d00001 -- Gitee From da8d8835a7e69febd87a115d3bf7e1aaa7ae8902 Mon Sep 17 00:00:00 2001 From: xiangheng <11675084@qq.com> Date: Tue, 21 Nov 2023 10:18:52 +0800 Subject: [PATCH 25/41] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=AF=BC=E5=87=BAsql?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/likeadmin.sql | 1473 ++++++++++++++++++++++++--------------------- 1 file changed, 794 insertions(+), 679 deletions(-) diff --git a/sql/likeadmin.sql b/sql/likeadmin.sql index 993ce1a..3da5c41 100644 --- a/sql/likeadmin.sql +++ b/sql/likeadmin.sql @@ -1,711 +1,826 @@ --- -------------------------------------------------------- --- 主机: 127.0.0.1 --- 服务器版本: 5.7.26-log - MySQL Community Server (GPL) --- 服务器操作系统: Win64 --- HeidiSQL 版本: 12.3.0.6589 --- -------------------------------------------------------- - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET NAMES utf8 */; -/*!50503 SET NAMES utf8mb4 */; -/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; -/*!40103 SET TIME_ZONE='+00:00' */; -/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; -/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; - - --- 导出 likeadmin 的数据库结构 -CREATE DATABASE IF NOT EXISTS `likeadmin` /*!40100 DEFAULT CHARACTER SET utf8 */; -USE `likeadmin`; - --- 导出 表 likeadmin.la_album 结构 -CREATE TABLE IF NOT EXISTS `la_album` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `cid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '类目ID', - `aid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '管理员ID', - `uid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '用户ID', - `type` tinyint(2) unsigned NOT NULL DEFAULT '10' COMMENT '文件类型: [10=图片, 20=视频]', - `name` varchar(100) NOT NULL DEFAULT '' COMMENT '文件名称', - `uri` varchar(200) NOT NULL COMMENT '文件路径', - `ext` varchar(10) NOT NULL DEFAULT '' COMMENT '文件扩展', - `size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '文件大小', - `is_delete` int(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除: 0=否, 1=是', - `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', - `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', - `delete_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', +/* + Navicat Premium Data Transfer + + Source Server : likeadmin + Source Server Type : MySQL + Source Server Version : 50726 (5.7.26-log) + Source Host : localhost:3306 + Source Schema : likeadmin + + Target Server Type : MySQL + Target Server Version : 50726 (5.7.26-log) + File Encoding : 65001 + + Date: 21/11/2023 10:12:07 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for la_album +-- ---------------------------- +DROP TABLE IF EXISTS `la_album`; +CREATE TABLE `la_album` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `cid` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '类目ID', + `aid` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '管理员ID', + `uid` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户ID', + `type` tinyint(2) UNSIGNED NOT NULL DEFAULT 10 COMMENT '文件类型: [10=图片, 20=视频]', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '文件名称', + `uri` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文件路径', + `ext` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '文件扩展', + `size` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '文件大小', + `is_delete` int(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除: 0=否, 1=是', + `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', + `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', + `delete_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '删除时间', PRIMARY KEY (`id`) USING BTREE, - KEY `idx_cid` (`cid`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='相册管理表'; - --- 正在导出表 likeadmin.la_album 的数据:~1 rows (大约) -REPLACE INTO `la_album` (`id`, `cid`, `aid`, `uid`, `type`, `name`, `uri`, `ext`, `size`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES - (1, 0, 1, 0, 10, 'Alx_gp73pq.png', 'image/20230911/34a557325c004f498b1da01bb068f919.png', 'png', 7138309, 0, 1699499781, 1699499781, 0), - (2, 0, 1, 0, 20, '素材中心 和另外 1 个页面 - 个人 - Microsoft​ Edge 2023-11-20 15-37-39.mp4', 'video/20232011/e5f53b824e314ab7992ef4b6e7595b86.mp4', 'mp4', 4053956, 0, 1700465870, 1700465870, 0); - --- 导出 表 likeadmin.la_album_cate 结构 -CREATE TABLE IF NOT EXISTS `la_album_cate` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `pid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '父级ID', - `type` tinyint(2) unsigned NOT NULL DEFAULT '10' COMMENT '类型: [10=图片, 20=视频]', - `name` varchar(32) NOT NULL DEFAULT '' COMMENT '分类名称', - `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除: [0=否, 1=是]', - `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', - `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', - `delete_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', + INDEX `idx_cid`(`cid`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '相册管理表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_album +-- ---------------------------- +INSERT INTO `la_album` VALUES (1, 0, 1, 0, 10, 'Alx_gp73pq.png', 'image/20230911/34a557325c004f498b1da01bb068f919.png', 'png', 7138309, 0, 1699499781, 1699499781, 0); +INSERT INTO `la_album` VALUES (2, 0, 1, 0, 20, '素材中心 和另外 1 个页面 - 个人 - Microsoft​ Edge 2023-11-20 15-37-39.mp4', 'video/20232011/e5f53b824e314ab7992ef4b6e7595b86.mp4', 'mp4', 4053956, 0, 1700465870, 1700465870, 0); + +-- ---------------------------- +-- Table structure for la_album_cate +-- ---------------------------- +DROP TABLE IF EXISTS `la_album_cate`; +CREATE TABLE `la_album_cate` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `pid` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '父级ID', + `type` tinyint(2) UNSIGNED NOT NULL DEFAULT 10 COMMENT '类型: [10=图片, 20=视频]', + `name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '分类名称', + `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除: [0=否, 1=是]', + `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', + `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', + `delete_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '删除时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='相册分类表'; - --- 正在导出表 likeadmin.la_album_cate 的数据:~0 rows (大约) -REPLACE INTO `la_album_cate` (`id`, `pid`, `type`, `name`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES - (1, 0, 10, '1', 0, 1699519913, 1699519913, 0); - --- 导出 表 likeadmin.la_article 结构 -CREATE TABLE IF NOT EXISTS `la_article` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `cid` int(10) unsigned NOT NULL COMMENT '分类', - `title` varchar(200) NOT NULL DEFAULT '' COMMENT '标题', - `intro` varchar(200) NOT NULL DEFAULT '' COMMENT '简介', - `summary` varchar(200) DEFAULT '' COMMENT '摘要', - `image` varchar(200) NOT NULL DEFAULT '' COMMENT '封面', - `content` text COMMENT '内容', - `author` varchar(32) NOT NULL DEFAULT '' COMMENT '作者', - `visit` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '浏览', - `sort` int(10) unsigned NOT NULL DEFAULT '50' COMMENT '排序', - `is_show` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否显示: 0=否, 1=是', - `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除: 0=否, 1=是', - `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', - `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', - `delete_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '相册分类表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_album_cate +-- ---------------------------- +INSERT INTO `la_album_cate` VALUES (1, 0, 10, '1', 0, 1699519913, 1699519913, 0); + +-- ---------------------------- +-- Table structure for la_article +-- ---------------------------- +DROP TABLE IF EXISTS `la_article`; +CREATE TABLE `la_article` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', + `cid` int(10) UNSIGNED NOT NULL COMMENT '分类', + `title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '标题', + `intro` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '简介', + `summary` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '摘要', + `image` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '封面', + `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '内容', + `author` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '作者', + `visit` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '浏览', + `sort` int(10) UNSIGNED NOT NULL DEFAULT 50 COMMENT '排序', + `is_show` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否显示: 0=否, 1=是', + `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除: 0=否, 1=是', + `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', + `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', + `delete_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '删除时间', PRIMARY KEY (`id`) USING BTREE, - KEY `cid_idx` (`cid`) USING BTREE COMMENT '分类索引' -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='文章资讯表'; - --- 正在导出表 likeadmin.la_article 的数据:~3 rows (大约) -REPLACE INTO `la_article` (`id`, `cid`, `title`, `intro`, `summary`, `image`, `content`, `author`, `visit`, `sort`, `is_show`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES - (1, 1, '让生活更精致!五款居家好物推荐,实用性超高', '##好物推荐🔥', '随着当代生活节奏的忙碌,很多人在闲暇之余都想好好的享受生活。随着科技的发展,也出现了越来越多可以帮助我们提升幸福感,让生活变得更精致的产品,下面周周就给大家盘点五款居家必备的好物,都是实用性很高的产品,周周可以保证大家买了肯定会喜欢。', '/api/static/article01.png', '

拥有一台投影仪,闲暇时可以在家里直接看影院级别的大片,光是想想都觉得超级爽。市面上很多投影仪大几千,其实周周觉得没必要,选泰捷这款一千多的足够了,性价比非常高。

泰捷的专业度很高,在电视TV领域研发已经十年,有诸多专利和技术创新,荣获国内外多项技术奖项,拿下了腾讯创新工场投资,打造的泰捷视频TV端和泰捷电视盒子都获得了极高评价。

这款投影仪的分辨率在3000元内无敌,做到了真1080P高分辨率,也就是跟市场售价三千DLP投影仪一样的分辨率,真正做到了分毫毕现,像桌布的花纹、天空的云彩等,这些细节都清晰可见。

亮度方面,泰捷达到了850ANSI流明,同价位一般是200ANSI。这是因为泰捷为了提升亮度和LCD技术透射率低的问题,首创高功率LED灯源,让其亮度做到同价位最好。专业媒体也进行了多次对比,效果与3000元价位投影仪相当。

操作系统周周也很喜欢,完全不卡。泰捷作为资深音视频品牌,在系统优化方面有十年的研发经验,打造出的“零极”系统是业内公认效率最高、速度最快的系统,用户也评价它流畅度能一台顶三台,而且为了解决行业广告多这一痛点,系统内不植入任何广告。

', '红花', 9, 0, 1, 0, 1663317759, 1663322726, 0), - (2, 1, '埋葬UI设计师的坟墓不是内卷,而是免费模式', '', '本文从另外一个角度,聊聊作者对UI设计师职业发展前景的担忧,欢迎从事UI设计的同学来参与讨论,会有赠书哦', '/api/static/article02.jpeg', '


一个职业,卷,根本就没什么大不了的,尤其是成熟且收入高的职业,不卷才不符合事物发展的规律。何况 UI 设计师的人力市场到今天也和 5 年前一样,还是停留在大型菜鸡互啄的场面。远不能和医疗、证券、教师或者演艺练习生相提并论。

国内互联网市场的发展,是一部浩瀚的 “免费经济” 发展史。虽然今天免费已经是深入国内民众骨髓的认知,但最早的中文互联网也是需要付费的,网游也都是要花钱的。

只是自有国情在此,付费确实阻碍了互联网行业的扩张和普及,一批创业家就开始通过免费的模式为用户提供服务,从而扩大了自己的产品覆盖面和普及程度。

印象最深的就是免费急先锋周鸿祎,和现在鲜少出现在公众视野不同,一零年前他是当之无愧的互联网教主,因为他开发出了符合中国国情的互联网产品 “打法”,让 360 的发展如日中天。

就是他在自传中提到:

只要是在互联网上每个人都需要的服务,我们就认为它是基础服务,基础服务一定是免费的,这样的话不会形成价值歧视。就是说,只要这种服务是每个人都一定要用的,我一定免费提供,而且是无条件免费。增值服务不是所有人都需要的,这个比例可能会相当低,它只是百分之几甚至更少比例的人需要,所以这种服务一定要收费……

这就是互联网的游戏规则,它决定了要想建立一个有效的商业模式,就一定要有海量的用户基数……

', '一一', 23, 0, 1, 0, 1663320938, 1663322854, 0), - (3, 2, '金山电池公布“沪广深市民绿色生活方式”调查结果', '', '60%以上受访者认为高质量的10分钟足以完成“自我充电”', '/api/static/article03.png', '

深圳,2021年10月22日)生活在一线城市的沪广深市民一向以效率见称,工作繁忙和快节奏的生活容易缺乏充足的休息。近日,一项针对沪广深市民绿色生活方式而展开的网络问卷调查引起了大家的注意。问卷的问题设定集中于市民对休息时间的看法,以及从对循环充电电池的使用方面了解其对绿色生活方式的态度。该调查采用随机抽样的模式,并对最终收集的1,500份有效问卷进行专业分析后发现,超过60%的受访者表示,在每天的工作时段能拥有10分钟高质量的休息时间,就可以高效“自我充电”。该调查结果反映出,在快节奏时代下,人们需要高质量的休息时间,也要学会利用高效率的休息方式和工具来应对快节奏的生活,以时刻保持“满电”状态。

  60%以上受访者认为高质量的10分钟足以完成“自我充电”

  这次调查超过1,500人,主要聚焦18至85岁的沪广深市民,了解他们对于休息时间的观念及使用充电电池的习惯,结果发现:

  · 90%以上有工作受访者每天工作时间在7小时以上,平均工作时间为8小时,其中43%以上的受访者工作时间超过9小时

  · 70%受访者认为在工作期间拥有10分钟“自我充电”时间不是一件困难的事情

  · 60%受访者认为在工作期间有10分钟休息时间足以为自己快速充电

  临床心理学家黄咏诗女士在发布会上分享为自己快速充电的实用技巧,她表示:“事实上,只要选择正确的休息方法,10分钟也足以为自己充电。以喝咖啡为例,我们可以使用心灵休息法 ── 静观呼吸,慢慢感受咖啡的温度和气味,如果能配合着聆听流水或海洋的声音,能够有效放松大脑及心灵。”

  这次调查结果反映出沪广深市民的希望在繁忙的工作中适时停下来,抽出10分钟喝杯咖啡、聆听音乐或小睡片刻,为自己充电。金山电池全新推出的“绿再十分充”超快速充电器仅需10分钟就能充好电,喝一杯咖啡的时间既能完成“自我充电”,也满足设备使用的用电需求,为提升工作效率和放松身心注入新能量。

  金山电池推出10分钟超快电池充电器*绿再十分充,以创新科技为市场带来革新体验

  该问卷同时从沪广深市民对循环充电电池的使用方面进行了调查,以了解其对绿色生活方式的态度:

  · 87%受访者目前没有使用充电电池,其中61%表示会考虑使用充电电池

  · 58%受访者过往曾使用过充电电池,却只有20%左右市民仍在使用

  · 60%左右受访者认为充电电池尚未被广泛使用,主要障碍来自于充电时间过长、缺乏相关教育

  · 90%以上受访者认为充电电池充满电需要1小时或更长的时间

  金山电池一直致力于为大众提供安全可靠的充电电池,并与消费者的需求和生活方式一起演变及进步。今天,金山电池宣布推出10分钟超快电池充电器*绿再十分充,只需10分钟*即可将4粒绿再十分充充电电池充好电,充电速度比其他品牌提升3倍**。充电器的LED灯可以显示每粒电池的充电状态和模式,并提示用户是否错误插入已损坏电池或一次性电池。尽管其体型小巧,却具备多项创新科技 ,如拥有独特的充电算法以优化充电电流,并能根据各个电池类型、状况和温度用最短的时间为充电电池充好电;绿再十分充内置横流扇,有效防止电池温度过热和提供低噪音的充电环境等。

', '中网资讯科技', 3, 0, 1, 0, 1663322665, 1663322665, 0); - --- 导出 表 likeadmin.la_article_category 结构 -CREATE TABLE IF NOT EXISTS `la_article_category` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `name` varchar(60) NOT NULL DEFAULT '' COMMENT '名称', - `sort` smallint(5) unsigned NOT NULL DEFAULT '50' COMMENT '排序', - `is_show` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '是否显示: 0=否, 1=是', - `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除: 0=否, 1=是', - `create_time` int(10) unsigned DEFAULT '0' COMMENT '创建时间', - `update_time` int(10) unsigned DEFAULT '0' COMMENT '更新时间', - `delete_time` int(10) unsigned DEFAULT '0' COMMENT '删除时间', + INDEX `cid_idx`(`cid`) USING BTREE COMMENT '分类索引' +) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文章资讯表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_article +-- ---------------------------- +INSERT INTO `la_article` VALUES (1, 1, '让生活更精致!五款居家好物推荐,实用性超高', '##好物推荐🔥', '随着当代生活节奏的忙碌,很多人在闲暇之余都想好好的享受生活。随着科技的发展,也出现了越来越多可以帮助我们提升幸福感,让生活变得更精致的产品,下面周周就给大家盘点五款居家必备的好物,都是实用性很高的产品,周周可以保证大家买了肯定会喜欢。', '/api/static/article01.png', '

\"\"

拥有一台投影仪,闲暇时可以在家里直接看影院级别的大片,光是想想都觉得超级爽。市面上很多投影仪大几千,其实周周觉得没必要,选泰捷这款一千多的足够了,性价比非常高。

泰捷的专业度很高,在电视TV领域研发已经十年,有诸多专利和技术创新,荣获国内外多项技术奖项,拿下了腾讯创新工场投资,打造的泰捷视频TV端和泰捷电视盒子都获得了极高评价。

这款投影仪的分辨率在3000元内无敌,做到了真1080P高分辨率,也就是跟市场售价三千DLP投影仪一样的分辨率,真正做到了分毫毕现,像桌布的花纹、天空的云彩等,这些细节都清晰可见。

亮度方面,泰捷达到了850ANSI流明,同价位一般是200ANSI。这是因为泰捷为了提升亮度和LCD技术透射率低的问题,首创高功率LED灯源,让其亮度做到同价位最好。专业媒体也进行了多次对比,效果与3000元价位投影仪相当。

操作系统周周也很喜欢,完全不卡。泰捷作为资深音视频品牌,在系统优化方面有十年的研发经验,打造出的“零极”系统是业内公认效率最高、速度最快的系统,用户也评价它流畅度能一台顶三台,而且为了解决行业广告多这一痛点,系统内不植入任何广告。

', '红花', 9, 0, 1, 0, 1663317759, 1663322726, 0); +INSERT INTO `la_article` VALUES (2, 1, '埋葬UI设计师的坟墓不是内卷,而是免费模式', '', '本文从另外一个角度,聊聊作者对UI设计师职业发展前景的担忧,欢迎从事UI设计的同学来参与讨论,会有赠书哦', '/api/static/article02.jpeg', '


一个职业,卷,根本就没什么大不了的,尤其是成熟且收入高的职业,不卷才不符合事物发展的规律。何况 UI 设计师的人力市场到今天也和 5 年前一样,还是停留在大型菜鸡互啄的场面。远不能和医疗、证券、教师或者演艺练习生相提并论。

真正会让我对 UI 设计师发展前景觉得悲观的事情就只有一件 —— 国内的互联网产品免费机制。这也是一个我一直以来想讨论的话题,就在这次写一写。

国内互联网市场的发展,是一部浩瀚的 “免费经济” 发展史。虽然今天免费已经是深入国内民众骨髓的认知,但最早的中文互联网也是需要付费的,网游也都是要花钱的。

只是自有国情在此,付费确实阻碍了互联网行业的扩张和普及,一批创业家就开始通过免费的模式为用户提供服务,从而扩大了自己的产品覆盖面和普及程度。

印象最深的就是免费急先锋周鸿祎,和现在鲜少出现在公众视野不同,一零年前他是当之无愧的互联网教主,因为他开发出了符合中国国情的互联网产品 “打法”,让 360 的发展如日中天。

就是他在自传中提到:

只要是在互联网上每个人都需要的服务,我们就认为它是基础服务,基础服务一定是免费的,这样的话不会形成价值歧视。就是说,只要这种服务是每个人都一定要用的,我一定免费提供,而且是无条件免费。增值服务不是所有人都需要的,这个比例可能会相当低,它只是百分之几甚至更少比例的人需要,所以这种服务一定要收费……

这就是互联网的游戏规则,它决定了要想建立一个有效的商业模式,就一定要有海量的用户基数……

', '一一', 23, 0, 1, 0, 1663320938, 1663322854, 0); +INSERT INTO `la_article` VALUES (3, 2, '金山电池公布“沪广深市民绿色生活方式”调查结果', '', '60%以上受访者认为高质量的10分钟足以完成“自我充电”', '/api/static/article03.png', '

深圳,2021年10月22日)生活在一线城市的沪广深市民一向以效率见称,工作繁忙和快节奏的生活容易缺乏充足的休息。近日,一项针对沪广深市民绿色生活方式而展开的网络问卷调查引起了大家的注意。问卷的问题设定集中于市民对休息时间的看法,以及从对循环充电电池的使用方面了解其对绿色生活方式的态度。该调查采用随机抽样的模式,并对最终收集的1,500份有效问卷进行专业分析后发现,超过60%的受访者表示,在每天的工作时段能拥有10分钟高质量的休息时间,就可以高效“自我充电”。该调查结果反映出,在快节奏时代下,人们需要高质量的休息时间,也要学会利用高效率的休息方式和工具来应对快节奏的生活,以时刻保持“满电”状态。

  60%以上受访者认为高质量的10分钟足以完成“自我充电”

  这次调查超过1,500人,主要聚焦18至85岁的沪广深市民,了解他们对于休息时间的观念及使用充电电池的习惯,结果发现:

  · 90%以上有工作受访者每天工作时间在7小时以上,平均工作时间为8小时,其中43%以上的受访者工作时间超过9小时

  · 70%受访者认为在工作期间拥有10分钟“自我充电”时间不是一件困难的事情

  · 60%受访者认为在工作期间有10分钟休息时间足以为自己快速充电

  临床心理学家黄咏诗女士在发布会上分享为自己快速充电的实用技巧,她表示:“事实上,只要选择正确的休息方法,10分钟也足以为自己充电。以喝咖啡为例,我们可以使用心灵休息法 ── 静观呼吸,慢慢感受咖啡的温度和气味,如果能配合着聆听流水或海洋的声音,能够有效放松大脑及心灵。”

  这次调查结果反映出沪广深市民的希望在繁忙的工作中适时停下来,抽出10分钟喝杯咖啡、聆听音乐或小睡片刻,为自己充电。金山电池全新推出的“绿再十分充”超快速充电器仅需10分钟就能充好电,喝一杯咖啡的时间既能完成“自我充电”,也满足设备使用的用电需求,为提升工作效率和放松身心注入新能量。

  金山电池推出10分钟超快电池充电器*绿再十分充,以创新科技为市场带来革新体验

  该问卷同时从沪广深市民对循环充电电池的使用方面进行了调查,以了解其对绿色生活方式的态度:

  · 87%受访者目前没有使用充电电池,其中61%表示会考虑使用充电电池

  · 58%受访者过往曾使用过充电电池,却只有20%左右市民仍在使用

  · 60%左右受访者认为充电电池尚未被广泛使用,主要障碍来自于充电时间过长、缺乏相关教育

  · 90%以上受访者认为充电电池充满电需要1小时或更长的时间

  金山电池一直致力于为大众提供安全可靠的充电电池,并与消费者的需求和生活方式一起演变及进步。今天,金山电池宣布推出10分钟超快电池充电器*绿再十分充,只需10分钟*即可将4粒绿再十分充充电电池充好电,充电速度比其他品牌提升3倍**。充电器的LED灯可以显示每粒电池的充电状态和模式,并提示用户是否错误插入已损坏电池或一次性电池。尽管其体型小巧,却具备多项创新科技 ,如拥有独特的充电算法以优化充电电流,并能根据各个电池类型、状况和温度用最短的时间为充电电池充好电;绿再十分充内置横流扇,有效防止电池温度过热和提供低噪音的充电环境等。

', '中网资讯科技', 3, 0, 1, 0, 1663322665, 1663322665, 0); + +-- ---------------------------- +-- Table structure for la_article_category +-- ---------------------------- +DROP TABLE IF EXISTS `la_article_category`; +CREATE TABLE `la_article_category` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '名称', + `sort` smallint(5) UNSIGNED NOT NULL DEFAULT 50 COMMENT '排序', + `is_show` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '是否显示: 0=否, 1=是', + `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除: 0=否, 1=是', + `create_time` int(10) UNSIGNED NULL DEFAULT 0 COMMENT '创建时间', + `update_time` int(10) UNSIGNED NULL DEFAULT 0 COMMENT '更新时间', + `delete_time` int(10) UNSIGNED NULL DEFAULT 0 COMMENT '删除时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='文章分类表'; - --- 正在导出表 likeadmin.la_article_category 的数据:~2 rows (大约) -REPLACE INTO `la_article_category` (`id`, `name`, `sort`, `is_show`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES - (1, '文章资讯', 0, 1, 0, 1663317280, 1663317282, 0), - (2, '社会热点', 0, 1, 0, 1663321464, 1663321494, 0); - --- 导出 表 likeadmin.la_article_collect 结构 -CREATE TABLE IF NOT EXISTS `la_article_collect` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `user_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '用户ID', - `article_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '文章ID', - `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除', - `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', - `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', - `delete_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除', +) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文章分类表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_article_category +-- ---------------------------- +INSERT INTO `la_article_category` VALUES (1, '文章资讯', 0, 1, 0, 1663317280, 1663317282, 0); +INSERT INTO `la_article_category` VALUES (2, '社会热点', 0, 1, 0, 1663321464, 1663321494, 0); + +-- ---------------------------- +-- Table structure for la_article_collect +-- ---------------------------- +DROP TABLE IF EXISTS `la_article_collect`; +CREATE TABLE `la_article_collect` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', + `user_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户ID', + `article_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '文章ID', + `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除', + `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', + `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', + `delete_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='文章收藏表'; - --- 正在导出表 likeadmin.la_article_collect 的数据:~2 rows (大约) -REPLACE INTO `la_article_collect` (`id`, `user_id`, `article_id`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES - (1, 0, 0, 1, 0, 0, 0), - (5, 1, 1, 1, 0, 0, 0); - --- 导出 表 likeadmin.la_decorate_page 结构 -CREATE TABLE IF NOT EXISTS `la_decorate_page` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `page_type` tinyint(2) unsigned NOT NULL DEFAULT '10' COMMENT '页面类型', - `page_name` varchar(100) NOT NULL DEFAULT '' COMMENT '页面名称', - `page_data` text COMMENT '页面数据', - `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', - `update_time` int(10) unsigned NOT NULL COMMENT '更新时间', +) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文章收藏表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_article_collect +-- ---------------------------- +INSERT INTO `la_article_collect` VALUES (1, 0, 0, 1, 0, 0, 0); +INSERT INTO `la_article_collect` VALUES (5, 1, 1, 1, 0, 0, 0); + +-- ---------------------------- +-- Table structure for la_decorate_page +-- ---------------------------- +DROP TABLE IF EXISTS `la_decorate_page`; +CREATE TABLE `la_decorate_page` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', + `page_type` tinyint(2) UNSIGNED NOT NULL DEFAULT 10 COMMENT '页面类型', + `page_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '页面名称', + `page_data` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '页面数据', + `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', + `update_time` int(10) UNSIGNED NOT NULL COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='页面装修表'; - --- 正在导出表 likeadmin.la_decorate_page 的数据:~3 rows (大约) -REPLACE INTO `la_decorate_page` (`id`, `page_type`, `page_name`, `page_data`, `create_time`, `update_time`) VALUES - (1, 1, '商城首页', '[{"title":"搜索","name":"search","disabled":1,"content":{},"styles":{}},{"title":"首页轮播图","name":"banner","content":{"enabled":1,"data":[{"image":"/api/static/banner01.png","name":"","link":{"path":"/pages/index/index","name":"商城首页","type":"shop"}},{"image":"/api/static/banner02.png","name":"","link":{}}]},"styles":{}},{"title":"导航菜单","name":"nav","content":{"enabled":1,"data":[{"image":"/api/static/nav01.png","name":"资讯中心","link":{"path":"/pages/news/news","name":"文章资讯","type":"shop"}},{"image":"/api/static/nav02.png","name":"我的收藏","link":{"path":"/pages/collection/collection","name":"我的收藏","type":"shop"}},{"image":"/api/static/nav03.png","name":"个人设置","link":{"path":"/pages/user_set/user_set","name":"个人设置","type":"shop"}},{"image":"/api/static/nav04.png","name":"联系客服","link":{"path":"/pages/customer_service/customer_service","name":"联系客服","type":"shop"}},{"image":"/api/static/nav05.png","name":"关于我们","link":{"path":"/pages/as_us/as_us","name":"关于我们","type":"shop"}}]},"styles":{}},{"id":"l84almsk2uhyf","title":"资讯","name":"news","disabled":1,"content":{},"styles":{}}]', 1661757188, 1663321380), - (2, 2, '个人中心', '[{"title":"用户信息","name":"user-info","disabled":1,"content":{},"styles":{}},{"title":"我的服务","name":"my-service","content":{"style":2,"title":"服务中心","data":[{"image":"/api/static/user_collect.png","name":"我的收藏","link":{"path":"/pages/collection/collection","name":"我的收藏","type":"shop"}},{"image":"/api/static/user_setting.png","name":"个人设置","link":{"path":"/pages/user_set/user_set","name":"个人设置","type":"shop"}},{"image":"/api/static/user_kefu.png","name":"联系客服","link":{"path":"/pages/customer_service/customer_service","name":"联系客服","type":"shop"}}]},"styles":{}},{"title":"个人中心广告图","name":"user-banner","content":{"enabled":1,"data":[{"image":"/api/static/ad01.jpg","name":"","link":{}}]},"styles":{}}]', 1661757188, 1663320728), - (3, 3, '客服设置', '[{"title":"客服设置","name":"customer-service","content":{"title":"添加客服二维码","time":"早上 9:00 - 22:00","mobile":"13800138000","qrcode":""},"styles":{}}]', 1661757188, 1662689155); - --- 导出 表 likeadmin.la_decorate_tabbar 结构 -CREATE TABLE IF NOT EXISTS `la_decorate_tabbar` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `name` varchar(20) NOT NULL DEFAULT '' COMMENT '导航名称', - `selected` varchar(200) NOT NULL DEFAULT '' COMMENT '未选图标', - `unselected` varchar(200) NOT NULL DEFAULT '' COMMENT '已选图标', - `link` varchar(200) NOT NULL COMMENT '链接地址', - `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', - `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', +) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '页面装修表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_decorate_page +-- ---------------------------- +INSERT INTO `la_decorate_page` VALUES (1, 1, '商城首页', '[{\"title\":\"搜索\",\"name\":\"search\",\"disabled\":1,\"content\":{},\"styles\":{}},{\"title\":\"首页轮播图\",\"name\":\"banner\",\"content\":{\"enabled\":1,\"data\":[{\"image\":\"/api/static/banner01.png\",\"name\":\"\",\"link\":{\"path\":\"/pages/index/index\",\"name\":\"商城首页\",\"type\":\"shop\"}},{\"image\":\"/api/static/banner02.png\",\"name\":\"\",\"link\":{}}]},\"styles\":{}},{\"title\":\"导航菜单\",\"name\":\"nav\",\"content\":{\"enabled\":1,\"data\":[{\"image\":\"/api/static/nav01.png\",\"name\":\"资讯中心\",\"link\":{\"path\":\"/pages/news/news\",\"name\":\"文章资讯\",\"type\":\"shop\"}},{\"image\":\"/api/static/nav02.png\",\"name\":\"我的收藏\",\"link\":{\"path\":\"/pages/collection/collection\",\"name\":\"我的收藏\",\"type\":\"shop\"}},{\"image\":\"/api/static/nav03.png\",\"name\":\"个人设置\",\"link\":{\"path\":\"/pages/user_set/user_set\",\"name\":\"个人设置\",\"type\":\"shop\"}},{\"image\":\"/api/static/nav04.png\",\"name\":\"联系客服\",\"link\":{\"path\":\"/pages/customer_service/customer_service\",\"name\":\"联系客服\",\"type\":\"shop\"}},{\"image\":\"/api/static/nav05.png\",\"name\":\"关于我们\",\"link\":{\"path\":\"/pages/as_us/as_us\",\"name\":\"关于我们\",\"type\":\"shop\"}}]},\"styles\":{}},{\"id\":\"l84almsk2uhyf\",\"title\":\"资讯\",\"name\":\"news\",\"disabled\":1,\"content\":{},\"styles\":{}}]', 1661757188, 1663321380); +INSERT INTO `la_decorate_page` VALUES (2, 2, '个人中心', '[{\"title\":\"用户信息\",\"name\":\"user-info\",\"disabled\":1,\"content\":{},\"styles\":{}},{\"title\":\"我的服务\",\"name\":\"my-service\",\"content\":{\"style\":2,\"title\":\"服务中心\",\"data\":[{\"image\":\"/api/static/user_collect.png\",\"name\":\"我的收藏\",\"link\":{\"path\":\"/pages/collection/collection\",\"name\":\"我的收藏\",\"type\":\"shop\"}},{\"image\":\"/api/static/user_setting.png\",\"name\":\"个人设置\",\"link\":{\"path\":\"/pages/user_set/user_set\",\"name\":\"个人设置\",\"type\":\"shop\"}},{\"image\":\"/api/static/user_kefu.png\",\"name\":\"联系客服\",\"link\":{\"path\":\"/pages/customer_service/customer_service\",\"name\":\"联系客服\",\"type\":\"shop\"}}]},\"styles\":{}},{\"title\":\"个人中心广告图\",\"name\":\"user-banner\",\"content\":{\"enabled\":1,\"data\":[{\"image\":\"/api/static/ad01.jpg\",\"name\":\"\",\"link\":{}}]},\"styles\":{}}]', 1661757188, 1663320728); +INSERT INTO `la_decorate_page` VALUES (3, 3, '客服设置', '[{\"title\":\"客服设置\",\"name\":\"customer-service\",\"content\":{\"title\":\"添加客服二维码\",\"time\":\"早上 9:00 - 22:00\",\"mobile\":\"13800138000\",\"qrcode\":\"\"},\"styles\":{}}]', 1661757188, 1662689155); + +-- ---------------------------- +-- Table structure for la_decorate_tabbar +-- ---------------------------- +DROP TABLE IF EXISTS `la_decorate_tabbar`; +CREATE TABLE `la_decorate_tabbar` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '导航名称', + `selected` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '未选图标', + `unselected` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '已选图标', + `link` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '链接地址', + `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', + `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='底部装修表'; - --- 正在导出表 likeadmin.la_decorate_tabbar 的数据:~3 rows (大约) -REPLACE INTO `la_decorate_tabbar` (`id`, `name`, `selected`, `unselected`, `link`, `create_time`, `update_time`) VALUES - (13, '首页', '/api/static/tabbar_home_sel.png', '/api/static/tabbar_home.png', '{"path":"/pages/index/index","name":"商城首页","type":"shop"}', 1662688157, 1662688157), - (14, '资讯', '/api/static/tabbar_text_sel.png', '/api/static/tabbar_text.png', '{"path":"/pages/news/news","name":"文章资讯","type":"shop"}', 1662688157, 1662688157), - (15, '我的', '/api/static/tabbar_me_sel.png', '/api/static/tabbar_me.png', '{"path":"/pages/user/user","name":"个人中心","type":"shop"}', 1662688157, 1662688157); - --- 导出 表 likeadmin.la_dict_data 结构 -CREATE TABLE IF NOT EXISTS `la_dict_data` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `type_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '类型', - `name` varchar(100) NOT NULL COMMENT '键名', - `value` varchar(200) NOT NULL COMMENT '数值', - `remark` varchar(200) NOT NULL COMMENT '备注', - `sort` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '排序', +) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '底部装修表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_decorate_tabbar +-- ---------------------------- +INSERT INTO `la_decorate_tabbar` VALUES (13, '首页', '/api/static/tabbar_home_sel.png', '/api/static/tabbar_home.png', '{\"path\":\"/pages/index/index\",\"name\":\"商城首页\",\"type\":\"shop\"}', 1662688157, 1662688157); +INSERT INTO `la_decorate_tabbar` VALUES (14, '资讯', '/api/static/tabbar_text_sel.png', '/api/static/tabbar_text.png', '{\"path\":\"/pages/news/news\",\"name\":\"文章资讯\",\"type\":\"shop\"}', 1662688157, 1662688157); +INSERT INTO `la_decorate_tabbar` VALUES (15, '我的', '/api/static/tabbar_me_sel.png', '/api/static/tabbar_me.png', '{\"path\":\"/pages/user/user\",\"name\":\"个人中心\",\"type\":\"shop\"}', 1662688157, 1662688157); + +-- ---------------------------- +-- Table structure for la_dict_data +-- ---------------------------- +DROP TABLE IF EXISTS `la_dict_data`; +CREATE TABLE `la_dict_data` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', + `type_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '类型', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '键名', + `value` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数值', + `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '备注', + `sort` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '排序', `status` tinyint(1) NOT NULL COMMENT '状态: 0=停用, 1=正常', - `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除: 0=否, 1=是', - `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', - `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', - `delete_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', + `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除: 0=否, 1=是', + `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', + `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', + `delete_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '删除时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='字典数据表'; - --- 正在导出表 likeadmin.la_dict_data 的数据:~0 rows (大约) - --- 导出 表 likeadmin.la_dict_type 结构 -CREATE TABLE IF NOT EXISTS `la_dict_type` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `dict_name` varchar(100) NOT NULL DEFAULT '' COMMENT '字典名称', - `dict_type` varchar(100) NOT NULL DEFAULT '' COMMENT '字典类型', - `dict_remark` varchar(200) NOT NULL DEFAULT '' COMMENT '字典备注', - `dict_status` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '字典状态: 0=停用, 1=正常', - `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除: 0=否, 1=是', - `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', - `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', - `delete_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典数据表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_dict_data +-- ---------------------------- + +-- ---------------------------- +-- Table structure for la_dict_type +-- ---------------------------- +DROP TABLE IF EXISTS `la_dict_type`; +CREATE TABLE `la_dict_type` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', + `dict_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '字典名称', + `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '字典类型', + `dict_remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '字典备注', + `dict_status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '字典状态: 0=停用, 1=正常', + `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除: 0=否, 1=是', + `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', + `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', + `delete_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '删除时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='字典类型表'; - --- 正在导出表 likeadmin.la_dict_type 的数据:~0 rows (大约) -REPLACE INTO `la_dict_type` (`id`, `dict_name`, `dict_type`, `dict_remark`, `dict_status`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES - (1, 'a', 'a', 'a', 1, 0, 1699343341, 1699343341, 0); - --- 导出 表 likeadmin.la_gen_table 结构 -CREATE TABLE IF NOT EXISTS `la_gen_table` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `table_name` varchar(200) NOT NULL DEFAULT '' COMMENT '表名称', - `table_comment` varchar(200) NOT NULL DEFAULT '' COMMENT '表描述', - `sub_table_name` varchar(200) NOT NULL DEFAULT '' COMMENT '关联表名称', - `sub_table_fk` varchar(200) NOT NULL DEFAULT '' COMMENT '关联表外键', - `author_name` varchar(100) NOT NULL DEFAULT '' COMMENT '作者的名称', - `entity_name` varchar(100) NOT NULL DEFAULT '' COMMENT '实体的名称', - `module_name` varchar(60) NOT NULL DEFAULT '' COMMENT '生成模块名', - `function_name` varchar(60) NOT NULL DEFAULT '' COMMENT '生成功能名', - `tree_primary` varchar(60) NOT NULL DEFAULT '' COMMENT '树主键字段', - `tree_parent` varchar(60) NOT NULL DEFAULT '' COMMENT '树父级字段', - `tree_name` varchar(60) NOT NULL DEFAULT '' COMMENT '树显示字段', - `gen_tpl` varchar(20) NOT NULL DEFAULT 'crud' COMMENT '生成模板方式: [crud=单表, tree=树表]', - `gen_type` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '生成代码方式: [0=zip压缩包, 1=自定义路径]', - `gen_path` varchar(200) NOT NULL DEFAULT '/' COMMENT '生成代码路径: [不填默认项目路径]', - `remarks` varchar(200) NOT NULL DEFAULT '' COMMENT '备注信息', - `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', - `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典类型表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_dict_type +-- ---------------------------- +INSERT INTO `la_dict_type` VALUES (1, 'a', 'a', 'a', 1, 0, 1699343341, 1699343341, 0); + +-- ---------------------------- +-- Table structure for la_gen_table +-- ---------------------------- +DROP TABLE IF EXISTS `la_gen_table`; +CREATE TABLE `la_gen_table` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', + `table_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '表名称', + `table_comment` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '表描述', + `sub_table_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '关联表名称', + `sub_table_fk` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '关联表外键', + `author_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '作者的名称', + `entity_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '实体的名称', + `module_name` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '生成模块名', + `function_name` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '生成功能名', + `tree_primary` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '树主键字段', + `tree_parent` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '树父级字段', + `tree_name` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '树显示字段', + `gen_tpl` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'crud' COMMENT '生成模板方式: [crud=单表, tree=树表]', + `gen_type` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '生成代码方式: [0=zip压缩包, 1=自定义路径]', + `gen_path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '/' COMMENT '生成代码路径: [不填默认项目路径]', + `remarks` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '备注信息', + `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', + `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='代码生成业务表'; - --- 正在导出表 likeadmin.la_gen_table 的数据:~0 rows (大约) -REPLACE INTO `la_gen_table` (`id`, `table_name`, `table_comment`, `sub_table_name`, `sub_table_fk`, `author_name`, `entity_name`, `module_name`, `function_name`, `tree_primary`, `tree_parent`, `tree_name`, `gen_tpl`, `gen_type`, `gen_path`, `remarks`, `create_time`, `update_time`) VALUES - (10, 'la_article_collect', '文章收藏表', '', '', '', 'articleCollect', 'article_collect', '文章收藏', '', '', '', 'crud', 0, '/', '', 1700321456, 1700449469); - --- 导出 表 likeadmin.la_gen_table_column 结构 -CREATE TABLE IF NOT EXISTS `la_gen_table_column` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '列主键', - `table_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '表外键', - `column_name` varchar(200) NOT NULL DEFAULT '' COMMENT '列名称', - `column_comment` varchar(200) NOT NULL DEFAULT '' COMMENT '列描述', - `column_length` varchar(5) DEFAULT '0' COMMENT '列长度', - `column_type` varchar(100) NOT NULL DEFAULT '' COMMENT '列类型 ', - `go_type` varchar(50) NOT NULL DEFAULT '0' COMMENT 'JAVA类型', - `go_field` varchar(100) NOT NULL DEFAULT '' COMMENT 'JAVA字段', - `is_pk` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否主键: [1=是, 0=否]', - `is_increment` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否自增: [1=是, 0=否]', - `is_required` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否必填: [1=是, 0=否]', - `is_insert` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否插入字段: [1=是, 0=否]', - `is_edit` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否编辑字段: [1=是, 0=否]', - `is_list` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否列表字段: [1=是, 0=否]', - `is_query` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否查询字段: [1=是, 0=否]', - `query_type` varchar(30) NOT NULL DEFAULT 'EQ' COMMENT '查询方式: [等于、不等于、大于、小于、范围]', - `html_type` varchar(30) NOT NULL DEFAULT '' COMMENT '显示类型: [文本框、文本域、下拉框、复选框、单选框、日期控件]', - `dict_type` varchar(200) NOT NULL DEFAULT '' COMMENT '字典类型', - `sort` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '排序编号', - `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', - `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', +) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成业务表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_gen_table +-- ---------------------------- +INSERT INTO `la_gen_table` VALUES (10, 'la_article_collect', '文章收藏表', '', '', '', 'articleCollect', 'article_collect', '文章收藏', '', '', '', 'crud', 0, '/', '', 1700321456, 1700449469); + +-- ---------------------------- +-- Table structure for la_gen_table_column +-- ---------------------------- +DROP TABLE IF EXISTS `la_gen_table_column`; +CREATE TABLE `la_gen_table_column` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '列主键', + `table_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '表外键', + `column_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '列名称', + `column_comment` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '列描述', + `column_length` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '列长度', + `column_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '列类型 ', + `go_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT 'JAVA类型', + `go_field` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'JAVA字段', + `is_pk` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否主键: [1=是, 0=否]', + `is_increment` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否自增: [1=是, 0=否]', + `is_required` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否必填: [1=是, 0=否]', + `is_insert` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否插入字段: [1=是, 0=否]', + `is_edit` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否编辑字段: [1=是, 0=否]', + `is_list` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否列表字段: [1=是, 0=否]', + `is_query` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否查询字段: [1=是, 0=否]', + `query_type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'EQ' COMMENT '查询方式: [等于、不等于、大于、小于、范围]', + `html_type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '显示类型: [文本框、文本域、下拉框、复选框、单选框、日期控件]', + `dict_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '字典类型', + `sort` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '排序编号', + `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', + `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=91 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='代码生成字段表'; - --- 正在导出表 likeadmin.la_gen_table_column 的数据:~7 rows (大约) -REPLACE INTO `la_gen_table_column` (`id`, `table_id`, `column_name`, `column_comment`, `column_length`, `column_type`, `go_type`, `go_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_time`, `update_time`) VALUES - (84, 10, 'id', '主键', '10', 'int', 'int', 'id', 1, 1, 0, 0, 0, 0, 0, '=', 'input', '', 0, 0, 1700449469), - (85, 10, 'user_id', '用户ID', '10', 'int', 'int', 'user_id', 0, 0, 1, 1, 1, 1, 1, '=', 'select', 'a', 0, 0, 1700449469), - (86, 10, 'article_id', '文章ID', '10', 'int', 'int', 'article_id', 0, 0, 1, 1, 1, 1, 1, '=', 'input', '', 0, 0, 1700449469), - (87, 10, 'is_delete', '是否删除', '1', 'tinyint', 'int', 'is_delete', 0, 0, 0, 0, 0, 0, 0, '=', 'input', '', 0, 0, 1700449469), - (88, 10, 'create_time', '创建时间', '10', 'int', 'core.TsTime', 'create_time', 0, 0, 0, 0, 0, 1, 0, '=', 'datetime', '', 0, 0, 1700449469), - (89, 10, 'update_time', '更新时间', '10', 'int', 'core.TsTime', 'update_time', 0, 0, 0, 0, 0, 1, 0, '=', 'datetime', '', 0, 0, 1700449469), - (90, 10, 'delete_time', '是否删除', '10', 'int', 'core.TsTime', 'delete_time', 0, 0, 0, 0, 0, 0, 0, '=', 'datetime', '', 0, 0, 1700449469); - --- 导出 表 likeadmin.la_hot_search 结构 -CREATE TABLE IF NOT EXISTS `la_hot_search` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `name` varchar(200) NOT NULL DEFAULT '' COMMENT '关键词', - `sort` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '排序号', +) ENGINE = InnoDB AUTO_INCREMENT = 91 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成字段表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_gen_table_column +-- ---------------------------- +INSERT INTO `la_gen_table_column` VALUES (84, 10, 'id', '主键', '10', 'int', 'int', 'id', 1, 1, 0, 0, 0, 0, 0, '=', 'input', '', 0, 0, 1700449469); +INSERT INTO `la_gen_table_column` VALUES (85, 10, 'user_id', '用户ID', '10', 'int', 'int', 'user_id', 0, 0, 1, 1, 1, 1, 1, '=', 'select', 'a', 0, 0, 1700449469); +INSERT INTO `la_gen_table_column` VALUES (86, 10, 'article_id', '文章ID', '10', 'int', 'int', 'article_id', 0, 0, 1, 1, 1, 1, 1, '=', 'input', '', 0, 0, 1700449469); +INSERT INTO `la_gen_table_column` VALUES (87, 10, 'is_delete', '是否删除', '1', 'tinyint', 'int', 'is_delete', 0, 0, 0, 0, 0, 0, 0, '=', 'input', '', 0, 0, 1700449469); +INSERT INTO `la_gen_table_column` VALUES (88, 10, 'create_time', '创建时间', '10', 'int', 'core.TsTime', 'create_time', 0, 0, 0, 0, 0, 1, 0, '=', 'datetime', '', 0, 0, 1700449469); +INSERT INTO `la_gen_table_column` VALUES (89, 10, 'update_time', '更新时间', '10', 'int', 'core.TsTime', 'update_time', 0, 0, 0, 0, 0, 1, 0, '=', 'datetime', '', 0, 0, 1700449469); +INSERT INTO `la_gen_table_column` VALUES (90, 10, 'delete_time', '是否删除', '10', 'int', 'core.TsTime', 'delete_time', 0, 0, 0, 0, 0, 0, 0, '=', 'datetime', '', 0, 0, 1700449469); + +-- ---------------------------- +-- Table structure for la_hot_search +-- ---------------------------- +DROP TABLE IF EXISTS `la_hot_search`; +CREATE TABLE `la_hot_search` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '关键词', + `sort` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '排序号', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='热门搜索配置表'; - --- 正在导出表 likeadmin.la_hot_search 的数据:~0 rows (大约) - --- 导出 表 likeadmin.la_notice_setting 结构 -CREATE TABLE IF NOT EXISTS `la_notice_setting` ( - `id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `scene` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '场景编号', - `name` varchar(100) NOT NULL DEFAULT '' COMMENT '场景名称', - `remarks` varchar(200) NOT NULL DEFAULT '' COMMENT '场景描述', - `recipient` tinyint(1) NOT NULL DEFAULT '1' COMMENT '接收人员: [1=用户, 2=平台]', - `type` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '通知类型: [1=业务, 2=验证]', - `system_notice` text COMMENT '系统的通知设置', - `sms_notice` text COMMENT '短信的通知设置', - `oa_notice` text COMMENT '公众号通知设置', - `mnp_notice` text COMMENT '小程序通知设置', - `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除', - `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', - `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', - `delete_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '热门搜索配置表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_hot_search +-- ---------------------------- + +-- ---------------------------- +-- Table structure for la_notice_setting +-- ---------------------------- +DROP TABLE IF EXISTS `la_notice_setting`; +CREATE TABLE `la_notice_setting` ( + `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, + `scene` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '场景编号', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '场景名称', + `remarks` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '场景描述', + `recipient` tinyint(1) NOT NULL DEFAULT 1 COMMENT '接收人员: [1=用户, 2=平台]', + `type` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '通知类型: [1=业务, 2=验证]', + `system_notice` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '系统的通知设置', + `sms_notice` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '短信的通知设置', + `oa_notice` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '公众号通知设置', + `mnp_notice` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '小程序通知设置', + `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除', + `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', + `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', + `delete_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '删除时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='消息通知设置表'; - --- 正在导出表 likeadmin.la_notice_setting 的数据:~4 rows (大约) -REPLACE INTO `la_notice_setting` (`id`, `scene`, `name`, `remarks`, `recipient`, `type`, `system_notice`, `sms_notice`, `oa_notice`, `mnp_notice`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES - (1, 101, '登录验证码', '用户手机号码登录时发送', 1, 2, '{}', '{"type":"sms","templateId":"SMS_222458159","content":"您正在登录,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。","tips":["可选变量 验证码:code","示例:您正在登录,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。","生效条件:1、管理后台完成短信设置。2、第三方短信平台申请模板。"],"status":"1"}', '{}', '{}', 0, 1648696695, 1648696695, 0), - (2, 102, '绑定手机验证码', '用户绑定手机号码时发送', 1, 2, '{}', '{"type":"sms","templateId":"SMS_175615069","content":"您正在绑定手机号,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。","tips":["可选变量 验证码:code","示例:您正在绑定手机号,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。","生效条件:1、管理后台完成短信设置。2、第三方短信平台申请模板。"],"status":"1"}', '{}', '{}', 0, 1648696695, 1648696695, 0), - (3, 103, '变更手机验证码', '用户变更手机号码时发送', 1, 2, '{}', '{"type":"sms","templateId":"SMS_207952628","content":"您正在变更手机号,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。","tips":["可选变量 验证码:code","示例:您正在变更手机号,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。","生效条件:1、管理后台完成短信设置。2、第三方短信平台申请模板。"],"status":"1"}', '{}', '{}', 0, 1648696695, 1648696695, 0), - (4, 104, '找回登录密码验证码', '用户找回登录密码号码时发送', 1, 2, '{}', '{"type":"sms","templateId":"SMS_175615069","content":"您正在找回登录密码,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。","tips":["可选变量 验证码:code","示例:您正在找回登录密码,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。","条验证码有效期5分钟。"],"status":"1"}', '{}', '{}', 0, 1648696695, 1648696695, 0); - --- 导出 表 likeadmin.la_official_reply 结构 -CREATE TABLE IF NOT EXISTS `la_official_reply` ( - `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `name` varchar(64) NOT NULL DEFAULT '' COMMENT '规则名', - `keyword` varchar(64) NOT NULL DEFAULT '' COMMENT '关键词', - `reply_type` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '回复类型: [1=关注回复 2=关键字回复, 3=默认回复]', - `matching_type` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '匹配方式: [1=全匹配, 2=模糊匹配]', - `content_type` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '内容类型: [1=文本]', - `status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '启动状态: [1=启动, 0=关闭]', - `content` text NOT NULL COMMENT '回复内容', - `sort` int(11) unsigned NOT NULL DEFAULT '50' COMMENT '排序编号', - `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除', - `create_time` int(10) unsigned DEFAULT '0' COMMENT '创建时间', - `update_time` int(10) unsigned DEFAULT '0' COMMENT '更新时间', - `delete_time` int(10) unsigned DEFAULT '0' COMMENT '删除时间', +) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息通知设置表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_notice_setting +-- ---------------------------- +INSERT INTO `la_notice_setting` VALUES (1, 101, '登录验证码', '用户手机号码登录时发送', 1, 2, '{}', '{\"type\":\"sms\",\"templateId\":\"SMS_222458159\",\"content\":\"您正在登录,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。\",\"tips\":[\"可选变量 验证码:code\",\"示例:您正在登录,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。\",\"生效条件:1、管理后台完成短信设置。2、第三方短信平台申请模板。\"],\"status\":\"1\"}', '{}', '{}', 0, 1648696695, 1648696695, 0); +INSERT INTO `la_notice_setting` VALUES (2, 102, '绑定手机验证码', '用户绑定手机号码时发送', 1, 2, '{}', '{\"type\":\"sms\",\"templateId\":\"SMS_175615069\",\"content\":\"您正在绑定手机号,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。\",\"tips\":[\"可选变量 验证码:code\",\"示例:您正在绑定手机号,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。\",\"生效条件:1、管理后台完成短信设置。2、第三方短信平台申请模板。\"],\"status\":\"1\"}', '{}', '{}', 0, 1648696695, 1648696695, 0); +INSERT INTO `la_notice_setting` VALUES (3, 103, '变更手机验证码', '用户变更手机号码时发送', 1, 2, '{}', '{\"type\":\"sms\",\"templateId\":\"SMS_207952628\",\"content\":\"您正在变更手机号,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。\",\"tips\":[\"可选变量 验证码:code\",\"示例:您正在变更手机号,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。\",\"生效条件:1、管理后台完成短信设置。2、第三方短信平台申请模板。\"],\"status\":\"1\"}', '{}', '{}', 0, 1648696695, 1648696695, 0); +INSERT INTO `la_notice_setting` VALUES (4, 104, '找回登录密码验证码', '用户找回登录密码号码时发送', 1, 2, '{}', '{\"type\":\"sms\",\"templateId\":\"SMS_175615069\",\"content\":\"您正在找回登录密码,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。\",\"tips\":[\"可选变量 验证码:code\",\"示例:您正在找回登录密码,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。\",\"条验证码有效期5分钟。\"],\"status\":\"1\"}', '{}', '{}', 0, 1648696695, 1648696695, 0); + +-- ---------------------------- +-- Table structure for la_official_reply +-- ---------------------------- +DROP TABLE IF EXISTS `la_official_reply`; +CREATE TABLE `la_official_reply` ( + `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '规则名', + `keyword` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '关键词', + `reply_type` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '回复类型: [1=关注回复 2=关键字回复, 3=默认回复]', + `matching_type` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '匹配方式: [1=全匹配, 2=模糊匹配]', + `content_type` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '内容类型: [1=文本]', + `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '启动状态: [1=启动, 0=关闭]', + `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '回复内容', + `sort` int(11) UNSIGNED NOT NULL DEFAULT 50 COMMENT '排序编号', + `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除', + `create_time` int(10) UNSIGNED NULL DEFAULT 0 COMMENT '创建时间', + `update_time` int(10) UNSIGNED NULL DEFAULT 0 COMMENT '更新时间', + `delete_time` int(10) UNSIGNED NULL DEFAULT 0 COMMENT '删除时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='公众号的回复表'; +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '公众号的回复表' ROW_FORMAT = DYNAMIC; --- 正在导出表 likeadmin.la_official_reply 的数据:~0 rows (大约) +-- ---------------------------- +-- Records of la_official_reply +-- ---------------------------- --- 导出 表 likeadmin.la_product 结构 -CREATE TABLE IF NOT EXISTS `la_product` ( +-- ---------------------------- +-- Table structure for la_product +-- ---------------------------- +DROP TABLE IF EXISTS `la_product`; +CREATE TABLE `la_product` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(100) NOT NULL DEFAULT '0' COMMENT '产品名称', - `category` int(11) unsigned NOT NULL COMMENT '产品分类', - `pics` mediumtext, - PRIMARY KEY (`id`), - FULLTEXT KEY `name` (`name`) -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='产品表'; - --- 正在导出表 likeadmin.la_product 的数据:~2 rows (大约) -REPLACE INTO `la_product` (`id`, `name`, `category`, `pics`) VALUES - (1, 'aaa', 2, '11'), - (2, 'a', 0, '3'); - --- 导出 表 likeadmin.la_system_auth_admin 结构 -CREATE TABLE IF NOT EXISTS `la_system_auth_admin` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `dept_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '部门ID', - `post_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '岗位ID', - `username` varchar(32) NOT NULL DEFAULT '' COMMENT '用户账号', - `nickname` varchar(32) NOT NULL DEFAULT '' COMMENT '用户昵称', - `password` varchar(200) NOT NULL DEFAULT '' COMMENT '用户密码', - `avatar` varchar(200) NOT NULL DEFAULT '' COMMENT '用户头像', - `role` varchar(200) NOT NULL DEFAULT '' COMMENT '角色主键', - `salt` varchar(20) NOT NULL DEFAULT '' COMMENT '加密盐巴', - `sort` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '排序编号', - `is_multipoint` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '多端登录: 0=否, 1=是', - `is_disable` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否禁用: 0=否, 1=是', - `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除: 0=否, 1=是', - `last_login_ip` varchar(20) NOT NULL DEFAULT '' COMMENT '最后登录IP', - `last_login_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最后登录', - `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', - `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', - `delete_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', + `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '产品名称', + `category` int(11) UNSIGNED NOT NULL COMMENT '产品分类', + `pics` mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL, + PRIMARY KEY (`id`) USING BTREE, + FULLTEXT INDEX `name`(`name`) +) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '产品表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of la_product +-- ---------------------------- +INSERT INTO `la_product` VALUES (1, 'aaa', 2, '11'); +INSERT INTO `la_product` VALUES (2, 'a', 0, '3'); + +-- ---------------------------- +-- Table structure for la_system_auth_admin +-- ---------------------------- +DROP TABLE IF EXISTS `la_system_auth_admin`; +CREATE TABLE `la_system_auth_admin` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', + `dept_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '部门ID', + `post_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '岗位ID', + `username` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '用户账号', + `nickname` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '用户昵称', + `password` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '用户密码', + `avatar` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '用户头像', + `role` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '角色主键', + `salt` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '加密盐巴', + `sort` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '排序编号', + `is_multipoint` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '多端登录: 0=否, 1=是', + `is_disable` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否禁用: 0=否, 1=是', + `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除: 0=否, 1=是', + `last_login_ip` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '最后登录IP', + `last_login_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '最后登录', + `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', + `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', + `delete_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '删除时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='系统管理成员表'; - --- 正在导出表 likeadmin.la_system_auth_admin 的数据:~0 rows (大约) -REPLACE INTO `la_system_auth_admin` (`id`, `dept_id`, `post_id`, `username`, `nickname`, `password`, `avatar`, `role`, `salt`, `sort`, `is_multipoint`, `is_disable`, `is_delete`, `last_login_ip`, `last_login_time`, `create_time`, `update_time`, `delete_time`) VALUES - (1, 1, 0, 'admin', 'admin', '7fac2474740becfaf1ecbdd6cc8fb076', '/api/static/backend_avatar.png', '0', '5Xar0', 0, 1, 0, 0, '127.0.0.1', 1700462131, 1642321599, 1700462131, 0); - --- 导出 表 likeadmin.la_system_auth_dept 结构 -CREATE TABLE IF NOT EXISTS `la_system_auth_dept` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `pid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '上级主键', - `name` varchar(100) NOT NULL DEFAULT '' COMMENT '部门名称', - `duty` varchar(30) NOT NULL DEFAULT '' COMMENT '负责人名', - `mobile` varchar(30) NOT NULL DEFAULT '' COMMENT '联系电话', - `sort` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '排序编号', - `is_stop` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否禁用: 0=否, 1=是', - `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除: 0=否, 1=是', - `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', - `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', - `delete_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统管理成员表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_system_auth_admin +-- ---------------------------- +INSERT INTO `la_system_auth_admin` VALUES (1, 1, 0, 'admin', 'admin', '7fac2474740becfaf1ecbdd6cc8fb076', '/api/static/backend_avatar.png', '0', '5Xar0', 0, 1, 0, 0, '127.0.0.1', 1700462131, 1642321599, 1700462131, 0); + +-- ---------------------------- +-- Table structure for la_system_auth_dept +-- ---------------------------- +DROP TABLE IF EXISTS `la_system_auth_dept`; +CREATE TABLE `la_system_auth_dept` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', + `pid` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '上级主键', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '部门名称', + `duty` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '负责人名', + `mobile` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '联系电话', + `sort` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '排序编号', + `is_stop` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否禁用: 0=否, 1=是', + `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除: 0=否, 1=是', + `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', + `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', + `delete_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '删除时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='系统部门管理表'; - --- 正在导出表 likeadmin.la_system_auth_dept 的数据:~0 rows (大约) -REPLACE INTO `la_system_auth_dept` (`id`, `pid`, `name`, `duty`, `mobile`, `sort`, `is_stop`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES - (1, 0, '默认部门', '康明', '18327647788', 10, 0, 0, 1649841995, 1660190949, 0); - --- 导出 表 likeadmin.la_system_auth_menu 结构 -CREATE TABLE IF NOT EXISTS `la_system_auth_menu` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `pid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '上级菜单', - `menu_type` char(2) NOT NULL DEFAULT '' COMMENT '权限类型: M=目录,C=菜单,A=按钮', - `menu_name` varchar(100) NOT NULL DEFAULT '' COMMENT '菜单名称', - `menu_icon` varchar(100) NOT NULL DEFAULT '' COMMENT '菜单图标', - `menu_sort` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '菜单排序', - `perms` varchar(100) NOT NULL DEFAULT '' COMMENT '权限标识', - `paths` varchar(100) NOT NULL DEFAULT '' COMMENT '路由地址', - `component` varchar(200) NOT NULL DEFAULT '' COMMENT '前端组件', - `selected` varchar(200) NOT NULL DEFAULT '' COMMENT '选中路径', - `params` varchar(200) NOT NULL DEFAULT '' COMMENT '路由参数', - `is_cache` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否缓存: 0=否, 1=是', - `is_show` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '是否显示: 0=否, 1=是', - `is_disable` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否禁用: 0=否, 1=是', - `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', - `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统部门管理表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_system_auth_dept +-- ---------------------------- +INSERT INTO `la_system_auth_dept` VALUES (1, 0, '默认部门', '康明', '18327647788', 10, 0, 0, 1649841995, 1660190949, 0); + +-- ---------------------------- +-- Table structure for la_system_auth_menu +-- ---------------------------- +DROP TABLE IF EXISTS `la_system_auth_menu`; +CREATE TABLE `la_system_auth_menu` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', + `pid` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '上级菜单', + `menu_type` char(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '权限类型: M=目录,C=菜单,A=按钮', + `menu_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '菜单名称', + `menu_icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '菜单图标', + `menu_sort` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '菜单排序', + `perms` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '权限标识', + `paths` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '路由地址', + `component` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '前端组件', + `selected` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '选中路径', + `params` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '路由参数', + `is_cache` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否缓存: 0=否, 1=是', + `is_show` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '是否显示: 0=否, 1=是', + `is_disable` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否禁用: 0=否, 1=是', + `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', + `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=778 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='系统菜单管理表'; - --- 正在导出表 likeadmin.la_system_auth_menu 的数据:~75 rows (大约) -REPLACE INTO `la_system_auth_menu` (`id`, `pid`, `menu_type`, `menu_name`, `menu_icon`, `menu_sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_cache`, `is_show`, `is_disable`, `create_time`, `update_time`) VALUES - (1, 0, 'C', '工作台', 'el-icon-Monitor', 50, 'index:console', 'workbench', 'workbench/index', '', '', 1, 1, 0, 1650341765, 1668672757), - (100, 0, 'M', '权限管理', 'el-icon-Lock', 44, '', 'permission', '', '', '', 0, 1, 0, 1650341765, 1662626201), - (101, 100, 'C', '管理员', 'local-icon-wode', 0, 'system:admin:list', 'admin', 'permission/admin/index', '', '', 1, 1, 0, 1650341765, 1663301404), - (102, 101, 'A', '管理员详情', '', 0, 'system:admin:detail', '', '', '', '', 0, 1, 0, 1650341765, 1660201785), - (103, 101, 'A', '管理员新增', '', 0, 'system:admin:add', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), - (104, 101, 'A', '管理员编辑', '', 0, 'system:admin:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), - (105, 101, 'A', '管理员删除', '', 0, 'system:admin:del', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), - (106, 101, 'A', '管理员状态', '', 0, 'system:admin:disable', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), - (110, 100, 'C', '角色管理', 'el-icon-Female', 0, 'system:role:list', 'role', 'permission/role/index', '', '', 1, 1, 0, 1650341765, 1663301451), - (111, 110, 'A', '角色详情', '', 0, 'system:role:detail', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), - (112, 110, 'A', '角色新增', '', 0, 'system:role:add', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), - (113, 110, 'A', '角色编辑', '', 0, 'system:role:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), - (114, 110, 'A', '角色删除', '', 0, 'system:role:del', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), - (120, 100, 'C', '菜单管理', 'el-icon-Operation', 0, 'system:menu:list', 'menu', 'permission/menu/index', '', '', 1, 1, 0, 1650341765, 1663301388), - (121, 120, 'A', '菜单详情', '', 0, 'system:menu:detail', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), - (122, 120, 'A', '菜单新增', '', 0, 'system:menu:add', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), - (123, 120, 'A', '菜单编辑', '', 0, 'system:menu:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), - (124, 120, 'A', '菜单删除', '', 0, 'system:menu:del', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), - (130, 0, 'M', '组织管理', 'el-icon-OfficeBuilding', 45, '', 'organization', '', '', '', 0, 1, 0, 1650341765, 1664416715), - (131, 130, 'C', '部门管理', 'el-icon-Coordinate', 0, 'system:dept:list', 'department', 'organization/department/index', '', '', 1, 1, 0, 1650341765, 1660201994), - (132, 131, 'A', '部门详情', '', 0, 'system:dept:detail', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), - (133, 131, 'A', '部门新增', '', 0, 'system:dept:add', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), - (134, 131, 'A', '部门编辑', '', 0, 'system:dept:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), - (135, 131, 'A', '部门删除', '', 0, 'system:dept:del', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), - (140, 130, 'C', '岗位管理', 'el-icon-PriceTag', 0, 'system:post:list', 'post', 'organization/post/index', '', '', 1, 1, 0, 1650341765, 1660202057), - (141, 140, 'A', '岗位详情', '', 0, 'system:post:detail', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), - (142, 140, 'A', '岗位新增', '', 0, 'system:post:add', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), - (143, 140, 'A', '岗位编辑', '', 0, 'system:post:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), - (144, 140, 'A', '岗位删除', '', 0, 'system:post:del', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), - (200, 0, 'M', '其它管理', '', 0, '', '', '', '', '', 0, 0, 0, 1650341765, 1660636870), - (201, 200, 'M', '图库管理', '', 0, '', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), - (202, 201, 'A', '文件列表', '', 0, 'albums:albumList', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), - (203, 201, 'A', '文件命名', '', 0, 'albums:albumRename', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), - (204, 201, 'A', '文件移动', '', 0, 'albums:albumMove', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), - (205, 201, 'A', '文件删除', '', 0, 'albums:albumDel', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), - (206, 201, 'A', '分类列表', '', 0, 'albums:cateList', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), - (207, 201, 'A', '分类新增', '', 0, 'albums:cateAdd', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), - (208, 201, 'A', '分类命名', '', 0, 'albums:cateRename', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), - (209, 201, 'A', '分类删除', '', 0, 'albums:cateDel', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), - (215, 200, 'M', '上传管理', '', 0, '', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), - (216, 215, 'A', '上传图片', '', 0, 'upload:image', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), - (217, 215, 'A', '上传视频', '', 0, 'upload:video', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), - (500, 0, 'M', '系统设置', 'el-icon-Setting', 0, '', 'setting', '', '', '', 0, 1, 0, 1650341765, 1662626322), - (501, 500, 'M', '网站设置', 'el-icon-Basketball', 10, '', 'website', '', '', '', 0, 1, 0, 1650341765, 1663233572), - (502, 501, 'C', '网站信息', '', 0, 'setting:website:detail', 'information', 'setting/website/information', '', '', 0, 1, 0, 1650341765, 1660202218), - (503, 502, 'A', '保存配置', '', 0, 'setting:website:save', '', '', '', '', 0, 0, 0, 1650341765, 1650341765), - (505, 501, 'C', '网站备案', '', 0, 'setting:copyright:detail', 'filing', 'setting/website/filing', '', '', 0, 1, 0, 1650341765, 1660202294), - (506, 505, 'A', '备案保存', '', 0, 'setting:copyright:save', '', 'setting/website/protocol', '', '', 0, 0, 0, 1650341765, 1650341765), - (510, 501, 'C', '政策协议', '', 0, 'setting:protocol:detail', 'protocol', 'setting/website/protocol', '', '', 0, 1, 0, 1660027606, 1660202312), - (511, 510, 'A', '协议保存', '', 0, 'setting:protocol:save', '', '', '', '', 0, 0, 0, 1660027606, 1663670865), - (515, 600, 'C', '字典管理', 'el-icon-Box', 0, 'setting:dict:type:list', 'dict', 'setting/dict/type/index', '', '', 0, 1, 0, 1660035436, 1663226087), - (516, 515, 'A', '字典类型新增', '', 0, 'setting:dict:type:add', '', '', '', '', 0, 1, 0, 1660202761, 1660202761), - (517, 515, 'A', '字典类型编辑', '', 0, 'setting:dict:type:edit', '', '', '', '', 0, 1, 0, 1660202842, 1660202842), - (518, 515, 'A', '字典类型删除', '', 0, 'setting:dict:type:del', '', '', '', '', 0, 1, 0, 1660202903, 1660202903), - (519, 600, 'C', '字典数据管理', '', 0, 'setting:dict:data:list', 'dict/data', 'setting/dict/data/index', '/dev_tools/dict', '', 0, 0, 0, 1660202948, 1663309252), - (520, 515, 'A', '字典数据新增', '', 0, 'setting:dict:data:add', '', '', '', '', 0, 1, 0, 1660203117, 1660203117), - (521, 515, 'A', '字典数据编辑', '', 0, 'setting:dict:data:edit', '', '', '', '', 0, 1, 0, 1660203142, 1660203142), - (522, 515, 'A', '字典数据删除', '', 0, 'setting:dict:data:del', '', '', '', '', 0, 1, 0, 1660203159, 1660203159), - (550, 500, 'M', '系统维护', 'el-icon-SetUp', 0, '', 'system', '', '', '', 0, 1, 0, 1650341765, 1660202466), - (551, 550, 'C', '系统环境', '', 0, 'monitor:server', 'environment', 'setting/system/environment', '', '', 0, 1, 0, 1650341765, 1650341765), - (552, 550, 'C', '系统缓存', '', 0, 'monitor:cache', 'cache', 'setting/system/cache', '', '', 0, 1, 0, 1650341765, 1650341765), - (553, 550, 'C', '系统日志', '', 0, 'system:log:operate', 'journal', 'setting/system/journal', '', '', 0, 1, 0, 1650341765, 1650341765), - (555, 500, 'C', '存储设置', 'el-icon-FolderOpened', 6, 'setting:storage:list', 'storage', 'setting/storage/index', '', '', 0, 1, 0, 1650341765, 1663312996), - (556, 555, 'A', '保存配置', '', 0, 'setting:storage:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765), - (600, 0, 'M', '开发工具', 'el-icon-EditPen', 0, '', 'dev_tools', '', '', '', 0, 1, 0, 1660027606, 1664335701), - (610, 600, 'C', '代码生成器', 'el-icon-DocumentAdd', 0, 'gen:list', 'code', 'dev_tools/code/index', '', '', 0, 1, 0, 1660028954, 1660532510), - (611, 610, 'A', '导入数据表', '', 0, 'gen:importTable', '', '', '', '', 0, 1, 0, 1660532389, 1660532389), - (612, 610, 'A', '生成代码', '', 0, 'gen:genCode', '', '', '', '', 0, 1, 0, 1660532421, 1660532421), - (613, 610, 'A', '下载代码', '', 0, 'gen:downloadCode', '', '', '', '', 0, 1, 0, 1660532437, 1660532437), - (614, 610, 'A', '预览代码', '', 0, 'gen:previewCode', '', '', '', '', 0, 1, 0, 1660532549, 1660532549), - (616, 610, 'A', '同步表结构', '', 0, 'gen:syncTable', '', '', '', '', 0, 1, 0, 1660532781, 1660532781), - (617, 610, 'A', '删除数据表', '', 0, 'gen:delTable', '', '', '', '', 0, 1, 0, 1660532800, 1660532800), - (618, 610, 'A', '数据表详情', '', 0, 'gen:detail', '', '', '', '', 0, 1, 0, 1660532964, 1660532977), - (700, 0, 'M', '素材管理', 'el-icon-Picture', 43, '', 'material', '', '', '', 0, 1, 0, 1660203293, 1663300847), - (701, 700, 'C', '素材中心', 'el-icon-PictureRounded', 0, '', 'index', 'material/index', '', '', 0, 1, 0, 1660203402, 1663301493), - (775, 600, 'C', '代码生成器编辑', 'el-icon-EditPen', 0, 'gen:editTable', 'dev_tools/code/edit', 'dev_tools/code/edit', '', '', 0, 0, 0, 1699344389, 1699344389), - (776, 0, 'C', '产品', 'el-icon-Aim', 0, '', 'product/index', 'product/index', '', '', 1, 1, 0, 1699719599, 1699719599), - (777, 0, 'C', 'article_collect', '', 0, 'article_collect:list', 'article_collect/index', 'article_collect/index', '', '', 1, 1, 0, 1700329092, 1700329092); - --- 导出 表 likeadmin.la_system_auth_perm 结构 -CREATE TABLE IF NOT EXISTS `la_system_auth_perm` ( - `id` varchar(100) NOT NULL DEFAULT '' COMMENT '主键', - `role_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '角色ID', - `menu_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '菜单ID', +) ENGINE = InnoDB AUTO_INCREMENT = 778 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统菜单管理表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_system_auth_menu +-- ---------------------------- +INSERT INTO `la_system_auth_menu` VALUES (1, 0, 'C', '工作台', 'el-icon-Monitor', 50, 'index:console', 'workbench', 'workbench/index', '', '', 1, 1, 0, 1650341765, 1668672757); +INSERT INTO `la_system_auth_menu` VALUES (100, 0, 'M', '权限管理', 'el-icon-Lock', 44, '', 'permission', '', '', '', 0, 1, 0, 1650341765, 1662626201); +INSERT INTO `la_system_auth_menu` VALUES (101, 100, 'C', '管理员', 'local-icon-wode', 0, 'system:admin:list', 'admin', 'permission/admin/index', '', '', 1, 1, 0, 1650341765, 1663301404); +INSERT INTO `la_system_auth_menu` VALUES (102, 101, 'A', '管理员详情', '', 0, 'system:admin:detail', '', '', '', '', 0, 1, 0, 1650341765, 1660201785); +INSERT INTO `la_system_auth_menu` VALUES (103, 101, 'A', '管理员新增', '', 0, 'system:admin:add', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (104, 101, 'A', '管理员编辑', '', 0, 'system:admin:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (105, 101, 'A', '管理员删除', '', 0, 'system:admin:del', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (106, 101, 'A', '管理员状态', '', 0, 'system:admin:disable', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (110, 100, 'C', '角色管理', 'el-icon-Female', 0, 'system:role:list', 'role', 'permission/role/index', '', '', 1, 1, 0, 1650341765, 1663301451); +INSERT INTO `la_system_auth_menu` VALUES (111, 110, 'A', '角色详情', '', 0, 'system:role:detail', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (112, 110, 'A', '角色新增', '', 0, 'system:role:add', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (113, 110, 'A', '角色编辑', '', 0, 'system:role:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (114, 110, 'A', '角色删除', '', 0, 'system:role:del', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (120, 100, 'C', '菜单管理', 'el-icon-Operation', 0, 'system:menu:list', 'menu', 'permission/menu/index', '', '', 1, 1, 0, 1650341765, 1663301388); +INSERT INTO `la_system_auth_menu` VALUES (121, 120, 'A', '菜单详情', '', 0, 'system:menu:detail', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (122, 120, 'A', '菜单新增', '', 0, 'system:menu:add', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (123, 120, 'A', '菜单编辑', '', 0, 'system:menu:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (124, 120, 'A', '菜单删除', '', 0, 'system:menu:del', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (130, 0, 'M', '组织管理', 'el-icon-OfficeBuilding', 45, '', 'organization', '', '', '', 0, 1, 0, 1650341765, 1664416715); +INSERT INTO `la_system_auth_menu` VALUES (131, 130, 'C', '部门管理', 'el-icon-Coordinate', 0, 'system:dept:list', 'department', 'organization/department/index', '', '', 1, 1, 0, 1650341765, 1660201994); +INSERT INTO `la_system_auth_menu` VALUES (132, 131, 'A', '部门详情', '', 0, 'system:dept:detail', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (133, 131, 'A', '部门新增', '', 0, 'system:dept:add', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (134, 131, 'A', '部门编辑', '', 0, 'system:dept:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (135, 131, 'A', '部门删除', '', 0, 'system:dept:del', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (140, 130, 'C', '岗位管理', 'el-icon-PriceTag', 0, 'system:post:list', 'post', 'organization/post/index', '', '', 1, 1, 0, 1650341765, 1660202057); +INSERT INTO `la_system_auth_menu` VALUES (141, 140, 'A', '岗位详情', '', 0, 'system:post:detail', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (142, 140, 'A', '岗位新增', '', 0, 'system:post:add', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (143, 140, 'A', '岗位编辑', '', 0, 'system:post:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (144, 140, 'A', '岗位删除', '', 0, 'system:post:del', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (200, 0, 'M', '其它管理', '', 0, '', '', '', '', '', 0, 0, 0, 1650341765, 1660636870); +INSERT INTO `la_system_auth_menu` VALUES (201, 200, 'M', '图库管理', '', 0, '', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (202, 201, 'A', '文件列表', '', 0, 'albums:albumList', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (203, 201, 'A', '文件命名', '', 0, 'albums:albumRename', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (204, 201, 'A', '文件移动', '', 0, 'albums:albumMove', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (205, 201, 'A', '文件删除', '', 0, 'albums:albumDel', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (206, 201, 'A', '分类列表', '', 0, 'albums:cateList', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (207, 201, 'A', '分类新增', '', 0, 'albums:cateAdd', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (208, 201, 'A', '分类命名', '', 0, 'albums:cateRename', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (209, 201, 'A', '分类删除', '', 0, 'albums:cateDel', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (215, 200, 'M', '上传管理', '', 0, '', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (216, 215, 'A', '上传图片', '', 0, 'upload:image', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (217, 215, 'A', '上传视频', '', 0, 'upload:video', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (500, 0, 'M', '系统设置', 'el-icon-Setting', 0, '', 'setting', '', '', '', 0, 1, 0, 1650341765, 1662626322); +INSERT INTO `la_system_auth_menu` VALUES (501, 500, 'M', '网站设置', 'el-icon-Basketball', 10, '', 'website', '', '', '', 0, 1, 0, 1650341765, 1663233572); +INSERT INTO `la_system_auth_menu` VALUES (502, 501, 'C', '网站信息', '', 0, 'setting:website:detail', 'information', 'setting/website/information', '', '', 0, 1, 0, 1650341765, 1660202218); +INSERT INTO `la_system_auth_menu` VALUES (503, 502, 'A', '保存配置', '', 0, 'setting:website:save', '', '', '', '', 0, 0, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (505, 501, 'C', '网站备案', '', 0, 'setting:copyright:detail', 'filing', 'setting/website/filing', '', '', 0, 1, 0, 1650341765, 1660202294); +INSERT INTO `la_system_auth_menu` VALUES (506, 505, 'A', '备案保存', '', 0, 'setting:copyright:save', '', 'setting/website/protocol', '', '', 0, 0, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (510, 501, 'C', '政策协议', '', 0, 'setting:protocol:detail', 'protocol', 'setting/website/protocol', '', '', 0, 1, 0, 1660027606, 1660202312); +INSERT INTO `la_system_auth_menu` VALUES (511, 510, 'A', '协议保存', '', 0, 'setting:protocol:save', '', '', '', '', 0, 0, 0, 1660027606, 1663670865); +INSERT INTO `la_system_auth_menu` VALUES (515, 600, 'C', '字典管理', 'el-icon-Box', 0, 'setting:dict:type:list', 'dict', 'setting/dict/type/index', '', '', 0, 1, 0, 1660035436, 1663226087); +INSERT INTO `la_system_auth_menu` VALUES (516, 515, 'A', '字典类型新增', '', 0, 'setting:dict:type:add', '', '', '', '', 0, 1, 0, 1660202761, 1660202761); +INSERT INTO `la_system_auth_menu` VALUES (517, 515, 'A', '字典类型编辑', '', 0, 'setting:dict:type:edit', '', '', '', '', 0, 1, 0, 1660202842, 1660202842); +INSERT INTO `la_system_auth_menu` VALUES (518, 515, 'A', '字典类型删除', '', 0, 'setting:dict:type:del', '', '', '', '', 0, 1, 0, 1660202903, 1660202903); +INSERT INTO `la_system_auth_menu` VALUES (519, 600, 'C', '字典数据管理', '', 0, 'setting:dict:data:list', 'dict/data', 'setting/dict/data/index', '/dev_tools/dict', '', 0, 0, 0, 1660202948, 1663309252); +INSERT INTO `la_system_auth_menu` VALUES (520, 515, 'A', '字典数据新增', '', 0, 'setting:dict:data:add', '', '', '', '', 0, 1, 0, 1660203117, 1660203117); +INSERT INTO `la_system_auth_menu` VALUES (521, 515, 'A', '字典数据编辑', '', 0, 'setting:dict:data:edit', '', '', '', '', 0, 1, 0, 1660203142, 1660203142); +INSERT INTO `la_system_auth_menu` VALUES (522, 515, 'A', '字典数据删除', '', 0, 'setting:dict:data:del', '', '', '', '', 0, 1, 0, 1660203159, 1660203159); +INSERT INTO `la_system_auth_menu` VALUES (550, 500, 'M', '系统维护', 'el-icon-SetUp', 0, '', 'system', '', '', '', 0, 1, 0, 1650341765, 1660202466); +INSERT INTO `la_system_auth_menu` VALUES (551, 550, 'C', '系统环境', '', 0, 'monitor:server', 'environment', 'setting/system/environment', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (552, 550, 'C', '系统缓存', '', 0, 'monitor:cache', 'cache', 'setting/system/cache', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (553, 550, 'C', '系统日志', '', 0, 'system:log:operate', 'journal', 'setting/system/journal', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (555, 500, 'C', '存储设置', 'el-icon-FolderOpened', 6, 'setting:storage:list', 'storage', 'setting/storage/index', '', '', 0, 1, 0, 1650341765, 1663312996); +INSERT INTO `la_system_auth_menu` VALUES (556, 555, 'A', '保存配置', '', 0, 'setting:storage:edit', '', '', '', '', 0, 1, 0, 1650341765, 1650341765); +INSERT INTO `la_system_auth_menu` VALUES (600, 0, 'M', '开发工具', 'el-icon-EditPen', 0, '', 'dev_tools', '', '', '', 0, 1, 0, 1660027606, 1664335701); +INSERT INTO `la_system_auth_menu` VALUES (610, 600, 'C', '代码生成器', 'el-icon-DocumentAdd', 0, 'gen:list', 'code', 'dev_tools/code/index', '', '', 0, 1, 0, 1660028954, 1660532510); +INSERT INTO `la_system_auth_menu` VALUES (611, 610, 'A', '导入数据表', '', 0, 'gen:importTable', '', '', '', '', 0, 1, 0, 1660532389, 1660532389); +INSERT INTO `la_system_auth_menu` VALUES (612, 610, 'A', '生成代码', '', 0, 'gen:genCode', '', '', '', '', 0, 1, 0, 1660532421, 1660532421); +INSERT INTO `la_system_auth_menu` VALUES (613, 610, 'A', '下载代码', '', 0, 'gen:downloadCode', '', '', '', '', 0, 1, 0, 1660532437, 1660532437); +INSERT INTO `la_system_auth_menu` VALUES (614, 610, 'A', '预览代码', '', 0, 'gen:previewCode', '', '', '', '', 0, 1, 0, 1660532549, 1660532549); +INSERT INTO `la_system_auth_menu` VALUES (616, 610, 'A', '同步表结构', '', 0, 'gen:syncTable', '', '', '', '', 0, 1, 0, 1660532781, 1660532781); +INSERT INTO `la_system_auth_menu` VALUES (617, 610, 'A', '删除数据表', '', 0, 'gen:delTable', '', '', '', '', 0, 1, 0, 1660532800, 1660532800); +INSERT INTO `la_system_auth_menu` VALUES (618, 610, 'A', '数据表详情', '', 0, 'gen:detail', '', '', '', '', 0, 1, 0, 1660532964, 1660532977); +INSERT INTO `la_system_auth_menu` VALUES (700, 0, 'M', '素材管理', 'el-icon-Picture', 43, '', 'material', '', '', '', 0, 1, 0, 1660203293, 1663300847); +INSERT INTO `la_system_auth_menu` VALUES (701, 700, 'C', '素材中心', 'el-icon-PictureRounded', 0, '', 'index', 'material/index', '', '', 0, 1, 0, 1660203402, 1663301493); +INSERT INTO `la_system_auth_menu` VALUES (775, 600, 'C', '代码生成器编辑', 'el-icon-EditPen', 0, 'gen:editTable', 'dev_tools/code/edit', 'dev_tools/code/edit', '', '', 0, 0, 0, 1699344389, 1699344389); +INSERT INTO `la_system_auth_menu` VALUES (776, 0, 'C', '产品', 'el-icon-Aim', 0, '', 'product/index', 'product/index', '', '', 1, 1, 0, 1699719599, 1699719599); +INSERT INTO `la_system_auth_menu` VALUES (777, 0, 'C', 'article_collect', '', 0, 'article_collect:list', 'article_collect/index', 'article_collect/index', '', '', 1, 1, 0, 1700329092, 1700329092); + +-- ---------------------------- +-- Table structure for la_system_auth_perm +-- ---------------------------- +DROP TABLE IF EXISTS `la_system_auth_perm`; +CREATE TABLE `la_system_auth_perm` ( + `id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '主键', + `role_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '角色ID', + `menu_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '菜单ID', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='系统角色菜单表'; - --- 正在导出表 likeadmin.la_system_auth_perm 的数据:~0 rows (大约) - --- 导出 表 likeadmin.la_system_auth_post 结构 -CREATE TABLE IF NOT EXISTS `la_system_auth_post` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `code` varchar(30) NOT NULL DEFAULT '' COMMENT '岗位编码', - `name` varchar(30) NOT NULL DEFAULT '' COMMENT '岗位名称', - `remarks` varchar(250) NOT NULL DEFAULT '' COMMENT '岗位备注', - `sort` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '岗位排序', - `is_stop` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否停用: 0=否, 1=是', - `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除: 0=否, 1=是', - `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', - `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', - `delete_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统角色菜单表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_system_auth_perm +-- ---------------------------- + +-- ---------------------------- +-- Table structure for la_system_auth_post +-- ---------------------------- +DROP TABLE IF EXISTS `la_system_auth_post`; +CREATE TABLE `la_system_auth_post` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', + `code` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '岗位编码', + `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '岗位名称', + `remarks` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '岗位备注', + `sort` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '岗位排序', + `is_stop` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否停用: 0=否, 1=是', + `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除: 0=否, 1=是', + `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', + `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', + `delete_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '删除时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='系统岗位管理表'; - --- 正在导出表 likeadmin.la_system_auth_post 的数据:~0 rows (大约) -REPLACE INTO `la_system_auth_post` (`id`, `code`, `name`, `remarks`, `sort`, `is_stop`, `is_delete`, `create_time`, `update_time`, `delete_time`) VALUES - (1, 'a', '啊', 'aa', 0, 0, 1, 1699718138, 1699718141, 0); - --- 导出 表 likeadmin.la_system_auth_role 结构 -CREATE TABLE IF NOT EXISTS `la_system_auth_role` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `name` varchar(100) NOT NULL DEFAULT '' COMMENT '角色名称', - `remark` varchar(200) NOT NULL DEFAULT '' COMMENT '备注信息', - `sort` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '角色排序', - `is_disable` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否禁用: 0=否, 1=是', - `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', - `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统岗位管理表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_system_auth_post +-- ---------------------------- +INSERT INTO `la_system_auth_post` VALUES (1, 'a', '啊', 'aa', 0, 0, 1, 1699718138, 1699718141, 0); + +-- ---------------------------- +-- Table structure for la_system_auth_role +-- ---------------------------- +DROP TABLE IF EXISTS `la_system_auth_role`; +CREATE TABLE `la_system_auth_role` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '角色名称', + `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '备注信息', + `sort` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '角色排序', + `is_disable` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否禁用: 0=否, 1=是', + `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', + `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='系统角色管理表'; - --- 正在导出表 likeadmin.la_system_auth_role 的数据:~0 rows (大约) -REPLACE INTO `la_system_auth_role` (`id`, `name`, `remark`, `sort`, `is_disable`, `create_time`, `update_time`) VALUES - (1, '审核员', '审核数据', 0, 0, 1668679451, 1699458583); - --- 导出 表 likeadmin.la_system_config 结构 -CREATE TABLE IF NOT EXISTS `la_system_config` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `type` varchar(30) DEFAULT '' COMMENT '类型', - `name` varchar(60) NOT NULL DEFAULT '' COMMENT '键', - `value` text COMMENT '值', - `create_time` int(10) unsigned DEFAULT '0' COMMENT '创建时间', - `update_time` int(10) unsigned DEFAULT '0' COMMENT '更新时间', +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统角色管理表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_system_auth_role +-- ---------------------------- +INSERT INTO `la_system_auth_role` VALUES (1, '审核员', '审核数据', 0, 0, 1668679451, 1699458583); + +-- ---------------------------- +-- Table structure for la_system_config +-- ---------------------------- +DROP TABLE IF EXISTS `la_system_config`; +CREATE TABLE `la_system_config` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', + `type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '类型', + `name` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '键', + `value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '值', + `create_time` int(10) UNSIGNED NULL DEFAULT 0 COMMENT '创建时间', + `update_time` int(10) UNSIGNED NULL DEFAULT 0 COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=81 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='系统全局配置表'; - --- 正在导出表 likeadmin.la_system_config 的数据:~46 rows (大约) -REPLACE INTO `la_system_config` (`id`, `type`, `name`, `value`, `create_time`, `update_time`) VALUES - (1, 'storage', 'default', 'local', 1660620367, 1662620927), - (2, 'storage', 'local', '{"name":"本地存储"}', 1660620367, 1662620927), - (3, 'storage', 'qiniu', '{"name":"七牛云存储","bucket":"","secretKey":"","accessKey":"","domain":""}', 1660620367, 1660620367), - (4, 'storage', 'aliyun', '{"name":"阿里云存储","bucket":"","secretKey":"","accessKey":"","domain":""}', 1660620367, 1662620071), - (5, 'storage', 'qcloud', '{"name":"腾讯云存储","bucket":"","secretKey":"","accessKey":"","domain":"","region":""}', 1660620367, 1660620367), - (6, 'sms', 'default', 'aliyun', 1660620367, 1660620367), - (7, 'sms', 'aliyun', '{"name":"阿里云短信","alias":"aliyun","sign":"","appKey":"","secretKey":""}', 1660620367, 1660620367), - (8, 'sms', 'tencent', '{"name":"腾讯云短信","alias":"tencent","sign":"","appId":"","secretId":"","secretKey":""}', 1660620367, 1660620367), - (9, 'sms', 'huawei', '{"name":"华为云短信","alias":"huawei"}', 1660620367, 1660620367), - (10, 'website', 'name', 'Admin开源后台', 1660620367, 1699524151), - (11, 'website', 'logo', '/api/static/backend_logo.png', 1660620367, 1699524151), - (12, 'website', 'favicon', '/api/static/backend_favicon.ico', 1660620367, 1699524151), - (13, 'website', 'backdrop', '/api/static/backend_backdrop.png', 1660620367, 1699524151), - (14, 'website', 'copyright', '[{"name":"LikeAdmin开源系统","link":"http://www.beian.gov.cn"}]', 1660620367, 1660620367), - (15, 'website', 'shopName', 'Admin开源系统', 1631255140, 1699524151), - (16, 'website', 'shopLogo', '/api/static/shop_logo.png', 1631255140, 1699524151), - (17, 'protocol', 'service', '{"name":"服务协议","content":"\\u003cp\\u003e服务协议\\u003c/p\\u003e"}', 1660620367, 1699496132), - (18, 'protocol', 'privacy', '{"name":"隐私协议","content":"\\u003cp\\u003e隐私协议\\u003c/p\\u003e"}', 1660620367, 1699496132), - (19, 'tabbar', 'style', '{"defaultColor":"#4A5DFF","selectedColor":"#EA5455"}', 1660620367, 1662544900), - (20, 'search', 'isHotSearch', '0', 1660620367, 1662546997), - (30, 'h5_channel', 'status', '1', 1660620367, 1660620367), - (31, 'h5_channel', 'close', '0', 1660620367, 1660620367), - (32, 'h5_channel', 'url', '', 1660620367, 1660620367), - (40, 'mp_channel', 'name', '', 1660620367, 1662551403), - (41, 'mp_channel', 'primaryId', '', 1660620367, 1662551403), - (42, 'mp_channel', 'appId', '', 1660620367, 1662551403), - (43, 'mp_channel', 'appSecret', '', 1660620367, 1662551403), - (44, 'mp_channel', 'qrCode', '', 1660620367, 1662551403), - (50, 'wx_channel', 'appId', '', 1660620367, 1660620367), - (51, 'wx_channel', 'appSecret', '', 1660620367, 1660620367), - (55, 'oa_channel', 'name', '', 1660620367, 1662551337), - (56, 'oa_channel', 'primaryId', ' ', 1660620367, 1662551337), - (57, 'oa_channel', 'qrCode', '', 1662551337, 1662551337), - (58, 'oa_channel', 'appId', '', 1660620367, 1662551337), - (59, 'oa_channel', 'appSecret', '', 1660620367, 1662551337), - (60, 'oa_channel', 'url', '', 1660620367, 1662551337), - (61, 'oa_channel', 'token', '', 1660620367, 1662551337), - (62, 'oa_channel', 'encodingAesKey', '', 1660620367, 1662551337), - (63, 'oa_channel', 'encryptionType', '1', 1660620367, 1662551337), - (64, 'oa_channel', 'menus', '[]', 1631255140, 1663118712), - (70, 'login', 'loginWay', '1,2', 1660620367, 1662538771), - (71, 'login', 'forceBindMobile', '0', 1660620367, 1662538771), - (72, 'login', 'openAgreement', '1', 1660620367, 1662538771), - (73, 'login', 'openOtherAuth', '1', 1660620367, 1662538771), - (74, 'login', 'autoLoginAuth', '1,2', 1660620367, 1662538771), - (80, 'user', 'defaultAvatar', '/api/static/default_avatar.png', 1660620367, 1662535156); - --- 导出 表 likeadmin.la_system_log_login 结构 -CREATE TABLE IF NOT EXISTS `la_system_log_login` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '注解', - `admin_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '管理员ID', - `username` varchar(30) NOT NULL DEFAULT '' COMMENT '登录账号', - `ip` varchar(30) NOT NULL COMMENT '登录地址', - `os` varchar(100) NOT NULL DEFAULT '' COMMENT '操作系统', - `browser` varchar(100) DEFAULT '' COMMENT '浏览器', - `status` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '操作状态: 1=成功, 2=失败', - `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', +) ENGINE = InnoDB AUTO_INCREMENT = 81 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统全局配置表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_system_config +-- ---------------------------- +INSERT INTO `la_system_config` VALUES (1, 'storage', 'default', 'local', 1660620367, 1662620927); +INSERT INTO `la_system_config` VALUES (2, 'storage', 'local', '{\"name\":\"本地存储\"}', 1660620367, 1662620927); +INSERT INTO `la_system_config` VALUES (3, 'storage', 'qiniu', '{\"name\":\"七牛云存储\",\"bucket\":\"\",\"secretKey\":\"\",\"accessKey\":\"\",\"domain\":\"\"}', 1660620367, 1660620367); +INSERT INTO `la_system_config` VALUES (4, 'storage', 'aliyun', '{\"name\":\"阿里云存储\",\"bucket\":\"\",\"secretKey\":\"\",\"accessKey\":\"\",\"domain\":\"\"}', 1660620367, 1662620071); +INSERT INTO `la_system_config` VALUES (5, 'storage', 'qcloud', '{\"name\":\"腾讯云存储\",\"bucket\":\"\",\"secretKey\":\"\",\"accessKey\":\"\",\"domain\":\"\",\"region\":\"\"}', 1660620367, 1660620367); +INSERT INTO `la_system_config` VALUES (6, 'sms', 'default', 'aliyun', 1660620367, 1660620367); +INSERT INTO `la_system_config` VALUES (7, 'sms', 'aliyun', '{\"name\":\"阿里云短信\",\"alias\":\"aliyun\",\"sign\":\"\",\"appKey\":\"\",\"secretKey\":\"\"}', 1660620367, 1660620367); +INSERT INTO `la_system_config` VALUES (8, 'sms', 'tencent', '{\"name\":\"腾讯云短信\",\"alias\":\"tencent\",\"sign\":\"\",\"appId\":\"\",\"secretId\":\"\",\"secretKey\":\"\"}', 1660620367, 1660620367); +INSERT INTO `la_system_config` VALUES (9, 'sms', 'huawei', '{\"name\":\"华为云短信\",\"alias\":\"huawei\"}', 1660620367, 1660620367); +INSERT INTO `la_system_config` VALUES (10, 'website', 'name', 'Admin开源后台', 1660620367, 1699524151); +INSERT INTO `la_system_config` VALUES (11, 'website', 'logo', '/api/static/backend_logo.png', 1660620367, 1699524151); +INSERT INTO `la_system_config` VALUES (12, 'website', 'favicon', '/api/static/backend_favicon.ico', 1660620367, 1699524151); +INSERT INTO `la_system_config` VALUES (13, 'website', 'backdrop', '/api/static/backend_backdrop.png', 1660620367, 1699524151); +INSERT INTO `la_system_config` VALUES (14, 'website', 'copyright', '[{\"name\":\"LikeAdmin开源系统\",\"link\":\"http://www.beian.gov.cn\"}]', 1660620367, 1660620367); +INSERT INTO `la_system_config` VALUES (15, 'website', 'shopName', 'Admin开源系统', 1631255140, 1699524151); +INSERT INTO `la_system_config` VALUES (16, 'website', 'shopLogo', '/api/static/shop_logo.png', 1631255140, 1699524151); +INSERT INTO `la_system_config` VALUES (17, 'protocol', 'service', '{\"name\":\"服务协议\",\"content\":\"\\u003cp\\u003e服务协议\\u003c/p\\u003e\"}', 1660620367, 1699496132); +INSERT INTO `la_system_config` VALUES (18, 'protocol', 'privacy', '{\"name\":\"隐私协议\",\"content\":\"\\u003cp\\u003e隐私协议\\u003c/p\\u003e\"}', 1660620367, 1699496132); +INSERT INTO `la_system_config` VALUES (19, 'tabbar', 'style', '{\"defaultColor\":\"#4A5DFF\",\"selectedColor\":\"#EA5455\"}', 1660620367, 1662544900); +INSERT INTO `la_system_config` VALUES (20, 'search', 'isHotSearch', '0', 1660620367, 1662546997); +INSERT INTO `la_system_config` VALUES (30, 'h5_channel', 'status', '1', 1660620367, 1660620367); +INSERT INTO `la_system_config` VALUES (31, 'h5_channel', 'close', '0', 1660620367, 1660620367); +INSERT INTO `la_system_config` VALUES (32, 'h5_channel', 'url', '', 1660620367, 1660620367); +INSERT INTO `la_system_config` VALUES (40, 'mp_channel', 'name', '', 1660620367, 1662551403); +INSERT INTO `la_system_config` VALUES (41, 'mp_channel', 'primaryId', '', 1660620367, 1662551403); +INSERT INTO `la_system_config` VALUES (42, 'mp_channel', 'appId', '', 1660620367, 1662551403); +INSERT INTO `la_system_config` VALUES (43, 'mp_channel', 'appSecret', '', 1660620367, 1662551403); +INSERT INTO `la_system_config` VALUES (44, 'mp_channel', 'qrCode', '', 1660620367, 1662551403); +INSERT INTO `la_system_config` VALUES (50, 'wx_channel', 'appId', '', 1660620367, 1660620367); +INSERT INTO `la_system_config` VALUES (51, 'wx_channel', 'appSecret', '', 1660620367, 1660620367); +INSERT INTO `la_system_config` VALUES (55, 'oa_channel', 'name', '', 1660620367, 1662551337); +INSERT INTO `la_system_config` VALUES (56, 'oa_channel', 'primaryId', ' ', 1660620367, 1662551337); +INSERT INTO `la_system_config` VALUES (57, 'oa_channel', 'qrCode', '', 1662551337, 1662551337); +INSERT INTO `la_system_config` VALUES (58, 'oa_channel', 'appId', '', 1660620367, 1662551337); +INSERT INTO `la_system_config` VALUES (59, 'oa_channel', 'appSecret', '', 1660620367, 1662551337); +INSERT INTO `la_system_config` VALUES (60, 'oa_channel', 'url', '', 1660620367, 1662551337); +INSERT INTO `la_system_config` VALUES (61, 'oa_channel', 'token', '', 1660620367, 1662551337); +INSERT INTO `la_system_config` VALUES (62, 'oa_channel', 'encodingAesKey', '', 1660620367, 1662551337); +INSERT INTO `la_system_config` VALUES (63, 'oa_channel', 'encryptionType', '1', 1660620367, 1662551337); +INSERT INTO `la_system_config` VALUES (64, 'oa_channel', 'menus', '[]', 1631255140, 1663118712); +INSERT INTO `la_system_config` VALUES (70, 'login', 'loginWay', '1,2', 1660620367, 1662538771); +INSERT INTO `la_system_config` VALUES (71, 'login', 'forceBindMobile', '0', 1660620367, 1662538771); +INSERT INTO `la_system_config` VALUES (72, 'login', 'openAgreement', '1', 1660620367, 1662538771); +INSERT INTO `la_system_config` VALUES (73, 'login', 'openOtherAuth', '1', 1660620367, 1662538771); +INSERT INTO `la_system_config` VALUES (74, 'login', 'autoLoginAuth', '1,2', 1660620367, 1662538771); +INSERT INTO `la_system_config` VALUES (80, 'user', 'defaultAvatar', '/api/static/default_avatar.png', 1660620367, 1662535156); + +-- ---------------------------- +-- Table structure for la_system_log_login +-- ---------------------------- +DROP TABLE IF EXISTS `la_system_log_login`; +CREATE TABLE `la_system_log_login` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '注解', + `admin_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '管理员ID', + `username` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '登录账号', + `ip` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '登录地址', + `os` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '操作系统', + `browser` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '浏览器', + `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '操作状态: 1=成功, 2=失败', + `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='系统登录日志表'; - --- 正在导出表 likeadmin.la_system_log_login 的数据:~22 rows (大约) -REPLACE INTO `la_system_log_login` (`id`, `admin_id`, `username`, `ip`, `os`, `browser`, `status`, `create_time`) VALUES - (1, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699342613), - (2, 0, 'admin', '127.0.0.1', 'Windows', 'Edge', 0, 1699343960), - (3, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 0, 1699343975), - (4, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699343985), - (5, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699454100), - (6, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699454113), - (7, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699456315), - (8, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699493828), - (9, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699507466), - (10, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699547693), - (11, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699705884), - (12, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699706435), - (13, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699707397), - (14, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699715636), - (15, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699803153), - (16, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700142837), - (17, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700150134), - (18, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700298162), - (19, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700381343), - (20, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700402870), - (21, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700449387), - (22, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700462131); - --- 导出 表 likeadmin.la_system_log_operate 结构 -CREATE TABLE IF NOT EXISTS `la_system_log_operate` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `admin_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '操作人ID', - `type` varchar(30) NOT NULL DEFAULT '' COMMENT '请求类型: GET/POST/PUT', - `title` varchar(30) DEFAULT '' COMMENT '操作标题', - `ip` varchar(30) NOT NULL DEFAULT '' COMMENT '请求IP', - `url` varchar(200) NOT NULL DEFAULT '' COMMENT '请求接口', - `method` varchar(200) NOT NULL DEFAULT '' COMMENT '请求方法', - `args` text COMMENT '请求参数', - `error` text COMMENT '错误信息', - `status` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '执行状态: 1=成功, 2=失败', - `start_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '开始时间', - `end_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '结束时间', - `task_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '执行耗时', - `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', +) ENGINE = InnoDB AUTO_INCREMENT = 25 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统登录日志表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_system_log_login +-- ---------------------------- +INSERT INTO `la_system_log_login` VALUES (1, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699342613); +INSERT INTO `la_system_log_login` VALUES (2, 0, 'admin', '127.0.0.1', 'Windows', 'Edge', 0, 1699343960); +INSERT INTO `la_system_log_login` VALUES (3, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 0, 1699343975); +INSERT INTO `la_system_log_login` VALUES (4, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699343985); +INSERT INTO `la_system_log_login` VALUES (5, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699454100); +INSERT INTO `la_system_log_login` VALUES (6, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699454113); +INSERT INTO `la_system_log_login` VALUES (7, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699456315); +INSERT INTO `la_system_log_login` VALUES (8, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699493828); +INSERT INTO `la_system_log_login` VALUES (9, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699507466); +INSERT INTO `la_system_log_login` VALUES (10, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699547693); +INSERT INTO `la_system_log_login` VALUES (11, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699705884); +INSERT INTO `la_system_log_login` VALUES (12, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699706435); +INSERT INTO `la_system_log_login` VALUES (13, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699707397); +INSERT INTO `la_system_log_login` VALUES (14, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699715636); +INSERT INTO `la_system_log_login` VALUES (15, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1699803153); +INSERT INTO `la_system_log_login` VALUES (16, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700142837); +INSERT INTO `la_system_log_login` VALUES (17, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700150134); +INSERT INTO `la_system_log_login` VALUES (18, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700298162); +INSERT INTO `la_system_log_login` VALUES (19, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700381343); +INSERT INTO `la_system_log_login` VALUES (20, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700402870); +INSERT INTO `la_system_log_login` VALUES (21, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700449387); +INSERT INTO `la_system_log_login` VALUES (22, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700462131); +INSERT INTO `la_system_log_login` VALUES (23, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700493100); +INSERT INTO `la_system_log_login` VALUES (24, 1, 'admin', '127.0.0.1', 'Windows', 'Edge', 1, 1700493528); + +-- ---------------------------- +-- Table structure for la_system_log_operate +-- ---------------------------- +DROP TABLE IF EXISTS `la_system_log_operate`; +CREATE TABLE `la_system_log_operate` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', + `admin_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '操作人ID', + `type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '请求类型: GET/POST/PUT', + `title` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '操作标题', + `ip` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '请求IP', + `url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '请求接口', + `method` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '请求方法', + `args` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '请求参数', + `error` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '错误信息', + `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '执行状态: 1=成功, 2=失败', + `start_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '开始时间', + `end_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '结束时间', + `task_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '执行耗时', + `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=193 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='系统操作日志表'; - --- 正在导出表 likeadmin.la_system_log_operate 的数据:~7 rows (大约) -REPLACE INTO `la_system_log_operate` (`id`, `admin_id`, `type`, `title`, `ip`, `url`, `method`, `args`, `error`, `status`, `start_time`, `end_time`, `task_time`, `create_time`) VALUES - (1, 1, 'GET', '角色列表', '127.0.0.1', '/api/system/role/list', 'likeadmin/admin/routers/system.roleHandler.list-fm', 'pageNo=1&pageSize=15', '', 1, 1699343137, 1699343138, 4, 1699343138), - (187, 1, 'POST', '上传图片', '127.0.0.1', '/api/common/upload/image', 'likeadmin/admin/common/upload.uploadHandler.uploadImage-fm', '5c8950e543e8046320.mp3', 'Error #01: 300:不被支持的图片扩展: mp3\n', 2, 1700465126, 1700465126, 161, 1700465126), - (188, 1, 'POST', '上传图片', '127.0.0.1', '/api/common/upload/image', 'likeadmin/admin/common/upload.uploadHandler.uploadImage-fm', 'hrxz.com-30nsh0dvpby60530.mp3', 'Error #01: 300:不被支持的图片扩展: mp3\n', 2, 1700465176, 1700465176, 1, 1700465176), - (189, 1, 'POST', '上传图片', '127.0.0.1', '/api/common/upload/image', 'likeadmin/admin/common/upload.uploadHandler.uploadImage-fm', 'yiji.mp3', 'Error #01: 300:不被支持的图片扩展: mp3\n', 2, 1700465204, 1700465204, 10, 1700465204), - (190, 1, 'POST', '上传视频', '127.0.0.1', '/api/common/upload/video', 'likeadmin/admin/common/upload.uploadHandler.uploadVideo-fm', '素材中心 和另外 1 个页面 - 个人 - Microsoft​ Edge 2023-11-20 15-37-39.mp4', '', 1, 1700465870, 1700465870, 85, 1700465870), - (191, 1, 'GET', '角色列表', '127.0.0.1', '/api/system/role/list', 'likeadmin/admin/system/role.RoleHandler.List-fm', 'pageNo=1&pageSize=15', '', 1, 1700466101, 1700466101, 26, 1700466101), - (192, 1, 'GET', '角色列表', '127.0.0.1', '/api/system/role/list', 'likeadmin/admin/system/role.RoleHandler.List-fm', 'pageNo=1&pageSize=15', '', 1, 1700466116, 1700466116, 3, 1700466116); - --- 导出 表 likeadmin.la_system_log_sms 结构 -CREATE TABLE IF NOT EXISTS `la_system_log_sms` ( - `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', - `scene` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '场景编号', - `mobile` varchar(11) NOT NULL DEFAULT '' COMMENT '手机号码', - `content` varchar(255) NOT NULL DEFAULT '' COMMENT '发送内容', - `status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '发送状态:[0=发送中, 1=发送成功, 2=发送失败]', - `results` text COMMENT '短信结果', - `send_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '发送时间', - `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', - `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', +) ENGINE = InnoDB AUTO_INCREMENT = 197 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统操作日志表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_system_log_operate +-- ---------------------------- +INSERT INTO `la_system_log_operate` VALUES (1, 1, 'GET', '角色列表', '127.0.0.1', '/api/system/role/list', 'likeadmin/admin/routers/system.roleHandler.list-fm', 'pageNo=1&pageSize=15', '', 1, 1699343137, 1699343138, 4, 1699343138); +INSERT INTO `la_system_log_operate` VALUES (187, 1, 'POST', '上传图片', '127.0.0.1', '/api/common/upload/image', 'likeadmin/admin/common/upload.uploadHandler.uploadImage-fm', '5c8950e543e8046320.mp3', 'Error #01: 300:不被支持的图片扩展: mp3\n', 2, 1700465126, 1700465126, 161, 1700465126); +INSERT INTO `la_system_log_operate` VALUES (188, 1, 'POST', '上传图片', '127.0.0.1', '/api/common/upload/image', 'likeadmin/admin/common/upload.uploadHandler.uploadImage-fm', 'hrxz.com-30nsh0dvpby60530.mp3', 'Error #01: 300:不被支持的图片扩展: mp3\n', 2, 1700465176, 1700465176, 1, 1700465176); +INSERT INTO `la_system_log_operate` VALUES (189, 1, 'POST', '上传图片', '127.0.0.1', '/api/common/upload/image', 'likeadmin/admin/common/upload.uploadHandler.uploadImage-fm', 'yiji.mp3', 'Error #01: 300:不被支持的图片扩展: mp3\n', 2, 1700465204, 1700465204, 10, 1700465204); +INSERT INTO `la_system_log_operate` VALUES (190, 1, 'POST', '上传视频', '127.0.0.1', '/api/common/upload/video', 'likeadmin/admin/common/upload.uploadHandler.uploadVideo-fm', '素材中心 和另外 1 个页面 - 个人 - Microsoft​ Edge 2023-11-20 15-37-39.mp4', '', 1, 1700465870, 1700465870, 85, 1700465870); +INSERT INTO `la_system_log_operate` VALUES (191, 1, 'GET', '角色列表', '127.0.0.1', '/api/system/role/list', 'likeadmin/admin/system/role.RoleHandler.List-fm', 'pageNo=1&pageSize=15', '', 1, 1700466101, 1700466101, 26, 1700466101); +INSERT INTO `la_system_log_operate` VALUES (192, 1, 'GET', '角色列表', '127.0.0.1', '/api/system/role/list', 'likeadmin/admin/system/role.RoleHandler.List-fm', 'pageNo=1&pageSize=15', '', 1, 1700466116, 1700466116, 3, 1700466116); +INSERT INTO `la_system_log_operate` VALUES (193, 1, 'GET', '角色列表', '127.0.0.1', '/api/system/role/list', 'likeadmin/admin/system/role.RoleHandler.List-fm', 'pageNo=1&pageSize=15', '', 1, 1700493553, 1700493553, 1, 1700493553); +INSERT INTO `la_system_log_operate` VALUES (194, 1, 'GET', '角色列表', '127.0.0.1', '/api/system/role/list', 'likeadmin/admin/system/role.RoleHandler.List-fm', 'pageNo=1&pageSize=15', '', 1, 1700494088, 1700494088, 2, 1700494088); +INSERT INTO `la_system_log_operate` VALUES (195, 1, 'GET', '角色列表', '127.0.0.1', '/api/system/role/list', 'likeadmin/admin/system/role.RoleHandler.List-fm', 'pageNo=1&pageSize=15', '', 1, 1700494182, 1700494182, 7, 1700494182); +INSERT INTO `la_system_log_operate` VALUES (196, 1, 'GET', '角色列表', '127.0.0.1', '/api/system/role/list', 'likeadmin/admin/system/role.RoleHandler.List-fm', 'pageNo=1&pageSize=15', '', 1, 1700497573, 1700497573, 2, 1700497573); + +-- ---------------------------- +-- Table structure for la_system_log_sms +-- ---------------------------- +DROP TABLE IF EXISTS `la_system_log_sms`; +CREATE TABLE `la_system_log_sms` ( + `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id', + `scene` int(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '场景编号', + `mobile` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '手机号码', + `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '发送内容', + `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '发送状态:[0=发送中, 1=发送成功, 2=发送失败]', + `results` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '短信结果', + `send_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '发送时间', + `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', + `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='系统短信日志表'; - --- 正在导出表 likeadmin.la_system_log_sms 的数据:~0 rows (大约) - --- 导出 表 likeadmin.la_user 结构 -CREATE TABLE IF NOT EXISTS `la_user` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `sn` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '编号', - `avatar` varchar(200) NOT NULL DEFAULT '' COMMENT '头像', - `real_name` varchar(32) NOT NULL DEFAULT '' COMMENT '真实姓名', - `nickname` varchar(32) NOT NULL DEFAULT '' COMMENT '用户昵称', - `username` varchar(32) NOT NULL DEFAULT '' COMMENT '用户账号', - `password` varchar(32) NOT NULL DEFAULT '' COMMENT '用户密码', - `mobile` varchar(32) NOT NULL DEFAULT '' COMMENT '用户电话', - `salt` varchar(32) NOT NULL DEFAULT '' COMMENT '加密盐巴', - `sex` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '用户性别: [1=男, 2=女]', - `channel` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '注册渠道: [1=微信小程序, 2=微信公众号, 3=手机H5, 4=电脑PC, 5=苹果APP, 6=安卓APP]', - `is_disable` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否禁用: [0=否, 1=是]', - `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除: [0=否, 1=是]', - `last_login_ip` varchar(30) NOT NULL DEFAULT '' COMMENT '最后登录IP', - `last_login_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最后登录时间', - `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', - `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', - `delete_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统短信日志表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_system_log_sms +-- ---------------------------- + +-- ---------------------------- +-- Table structure for la_user +-- ---------------------------- +DROP TABLE IF EXISTS `la_user`; +CREATE TABLE `la_user` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', + `sn` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '编号', + `avatar` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '头像', + `real_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '真实姓名', + `nickname` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '用户昵称', + `username` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '用户账号', + `password` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '用户密码', + `mobile` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '用户电话', + `salt` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '加密盐巴', + `sex` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户性别: [1=男, 2=女]', + `channel` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '注册渠道: [1=微信小程序, 2=微信公众号, 3=手机H5, 4=电脑PC, 5=苹果APP, 6=安卓APP]', + `is_disable` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否禁用: [0=否, 1=是]', + `is_delete` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除: [0=否, 1=是]', + `last_login_ip` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '最后登录IP', + `last_login_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '最后登录时间', + `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', + `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', + `delete_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '删除时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='用户信息表'; - --- 正在导出表 likeadmin.la_user 的数据:~0 rows (大约) - --- 导出 表 likeadmin.la_user_auth 结构 -CREATE TABLE IF NOT EXISTS `la_user_auth` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `user_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '用户ID', - `openid` varchar(200) NOT NULL DEFAULT '' COMMENT 'Openid', - `unionid` varchar(200) NOT NULL DEFAULT '' COMMENT 'Unionid', - `client` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '客户端类型: [1=微信小程序, 2=微信公众号, 3=手机H5, 4=电脑PC, 5=苹果APP, 6=安卓APP]', - `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', - `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户信息表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of la_user +-- ---------------------------- + +-- ---------------------------- +-- Table structure for la_user_auth +-- ---------------------------- +DROP TABLE IF EXISTS `la_user_auth`; +CREATE TABLE `la_user_auth` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', + `user_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户ID', + `openid` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Openid', + `unionid` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Unionid', + `client` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '客户端类型: [1=微信小程序, 2=微信公众号, 3=手机H5, 4=电脑PC, 5=苹果APP, 6=安卓APP]', + `create_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间', + `update_time` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE, - UNIQUE KEY `openid` (`openid`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='用户授权表'; + UNIQUE INDEX `openid`(`openid`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户授权表' ROW_FORMAT = DYNAMIC; --- 正在导出表 likeadmin.la_user_auth 的数据:~0 rows (大约) +-- ---------------------------- +-- Records of la_user_auth +-- ---------------------------- -/*!40103 SET TIME_ZONE=IFNULL(@OLD_TIME_ZONE, 'system') */; -/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */; -/*!40014 SET FOREIGN_KEY_CHECKS=IFNULL(@OLD_FOREIGN_KEY_CHECKS, 1) */; -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40111 SET SQL_NOTES=IFNULL(@OLD_SQL_NOTES, 1) */; +SET FOREIGN_KEY_CHECKS = 1; -- Gitee From e7c2438117d64b11092e8bb11386114c06c883f6 Mon Sep 17 00:00:00 2001 From: xiangheng <11675084@qq.com> Date: Thu, 23 Nov 2023 12:33:17 +0800 Subject: [PATCH 26/41] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/src/components/material/index.vue | 3 +- admin/src/components/material/picker.vue | 2 +- admin/src/views/permission/admin/edit.vue | 90 +++++++++++++++++++---- 3 files changed, 77 insertions(+), 18 deletions(-) diff --git a/admin/src/components/material/index.vue b/admin/src/components/material/index.vue index 26a49af..5c9eab8 100644 --- a/admin/src/components/material/index.vue +++ b/admin/src/components/material/index.vue @@ -1,5 +1,6 @@ - diff --git a/admin/src/views/product/index.vue b/admin/src/views/product/index.vue deleted file mode 100644 index 21d0913..0000000 --- a/admin/src/views/product/index.vue +++ /dev/null @@ -1,97 +0,0 @@ - - -- Gitee From d3cb289569cb07c9c4d2f37699c44eed8bee9aa2 Mon Sep 17 00:00:00 2001 From: xiangheng <11675084@qq.com> Date: Fri, 24 Nov 2023 00:07:24 +0800 Subject: [PATCH 35/41] =?UTF-8?q?=E4=BC=98=E5=8C=96rand.Seed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/util/tools.go | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/server/util/tools.go b/server/util/tools.go index d509535..1243bfb 100644 --- a/server/util/tools.go +++ b/server/util/tools.go @@ -4,7 +4,6 @@ import ( "crypto/md5" "encoding/hex" "encoding/json" - "github.com/google/uuid" "likeadmin/config" "math" "math/rand" @@ -13,41 +12,40 @@ import ( "strconv" "strings" "time" -) -func init() { - rand.Seed(time.Now().UnixNano()) -} + "github.com/google/uuid" +) var ( ToolsUtil = toolsUtil{} allRandomStr = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" ) -//toolsUtil 常用工具集合类 +// toolsUtil 常用工具集合类 type toolsUtil struct{} -//RandomString 返回随机字符串 +// RandomString 返回随机字符串 func (tu toolsUtil) RandomString(length int) string { + r := rand.New(rand.NewSource(time.Now().UnixNano())) byteList := make([]byte, length) for i := 0; i < length; i++ { - byteList[i] = allRandomStr[rand.Intn(62)] + byteList[i] = allRandomStr[r.Intn(62)] } return string(byteList) } -//MakeUuid 制作UUID +// MakeUuid 制作UUID func (tu toolsUtil) MakeUuid() string { return strings.ReplaceAll(uuid.New().String(), "-", "") } -//MakeMd5 制作MD5 +// MakeMd5 制作MD5 func (tu toolsUtil) MakeMd5(data string) string { sum := md5.Sum([]byte(data)) return hex.EncodeToString(sum[:]) } -//MakeToken 生成唯一Token +// MakeToken 生成唯一Token func (tu toolsUtil) MakeToken() string { ms := time.Now().UnixMilli() token := tu.MakeMd5(tu.MakeUuid() + strconv.FormatInt(ms, 10) + tu.RandomString(8)) @@ -55,7 +53,7 @@ func (tu toolsUtil) MakeToken() string { return tu.MakeMd5(tokenSecret) + tu.RandomString(6) } -//Contains 判断src是否包含elem元素 +// Contains 判断src是否包含elem元素 func (tu toolsUtil) Contains(src interface{}, elem interface{}) bool { srcArr := reflect.ValueOf(src) if srcArr.Kind() == reflect.Ptr { @@ -71,18 +69,18 @@ func (tu toolsUtil) Contains(src interface{}, elem interface{}) bool { return false } -//Round float四舍五入 +// Round float四舍五入 func (tu toolsUtil) Round(val float64, n int) float64 { base := math.Pow(10, float64(n)) return math.Round(base*val) / base } -//JsonToObj JSON转Obj +// JsonToObj JSON转Obj func (tu toolsUtil) JsonToObj(jsonStr string, toVal interface{}) (err error) { return json.Unmarshal([]byte(jsonStr), &toVal) } -//ObjToJson Obj转JSON +// ObjToJson Obj转JSON func (tu toolsUtil) ObjToJson(data interface{}) (res string, err error) { b, err := json.Marshal(data) if err != nil { @@ -92,7 +90,7 @@ func (tu toolsUtil) ObjToJson(data interface{}) (res string, err error) { return res, nil } -//IsFileExist 判断文件或目录是否存在 +// IsFileExist 判断文件或目录是否存在 func (tu toolsUtil) IsFileExist(path string) bool { _, err := os.Stat(path) return err == nil || os.IsExist(err) -- Gitee From d459c682dd108e8864f36a33f018aa03e2aee641 Mon Sep 17 00:00:00 2001 From: xiangheng <11675084@qq.com> Date: Fri, 24 Nov 2023 00:42:38 +0800 Subject: [PATCH 36/41] =?UTF-8?q?fix:=E6=A0=A1=E9=AA=8C=E8=A7=92=E8=89=B2?= =?UTF-8?q?=E7=9A=84=E6=9D=83=E9=99=90=EF=BC=8Credis=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E5=B0=B1=E9=87=8D=E6=96=B0=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/middleware/auth.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/middleware/auth.go b/server/middleware/auth.go index f1bbfe5..c365499 100644 --- a/server/middleware/auth.go +++ b/server/middleware/auth.go @@ -118,9 +118,9 @@ func TokenAuth() gin.HandlerFunc { return } - // 校验角色权限是否存在 + // 校验角色的权限,redis没有就重新查询 roleId := mapping.Role - if util.RedisUtil.HExists(config.AdminConfig.BackstageRolesKey, roleId) { + if !util.RedisUtil.HExists(config.AdminConfig.BackstageRolesKey, roleId) { i, err := strconv.ParseUint(roleId, 10, 32) if err != nil { core.Logger.Errorf("TokenAuth Atoi roleId err: err=[%+v]", err) -- Gitee From 5211989b5a89557e4be9173f9b253e94ca83ae68 Mon Sep 17 00:00:00 2001 From: xiangheng <11675084@qq.com> Date: Fri, 24 Nov 2023 01:48:06 +0800 Subject: [PATCH 37/41] =?UTF-8?q?fix=EF=BC=9A=E8=AF=BB=E5=8F=96=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/config/config.go | 19 ++++++++++++------- server/middleware/auth.go | 1 + 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/server/config/config.go b/server/config/config.go index 538d58b..344978d 100644 --- a/server/config/config.go +++ b/server/config/config.go @@ -2,9 +2,9 @@ package config import ( "flag" + "fmt" "log" - "path" - "runtime" + "os" "github.com/spf13/viper" ) @@ -52,12 +52,17 @@ func loadConfig(envPath string) envConfig { viper.SetConfigFile(cfgPath) } viper.AutomaticEnv() - var runPath string - if _, filename, _, ok := runtime.Caller(0); ok { - runPath = path.Dir(path.Dir(filename)) + // var rootPath string + // if _, filename, _, ok := runtime.Caller(0); ok { + // rootPath = path.Dir(path.Dir(filename)) + // } + rootPath, err := os.Getwd() + if err != nil { + log.Fatal(err) } + fmt.Println("rootPath:", rootPath) config := envConfig{ - RootPath: runPath, + RootPath: rootPath, GinMode: "debug", // 服务运行端口 ServerPort: 8000, @@ -101,7 +106,7 @@ func loadConfig(envPath string) envConfig { // 上传视频扩展 UploadVideoExt: []string{"mp4", "mp3", "avi", "flv", "rmvb", "mov"}, } - err := viper.ReadInConfig() + err = viper.ReadInConfig() if err != nil { log.Fatal("loadConfig ReadInConfig err:", err) } diff --git a/server/middleware/auth.go b/server/middleware/auth.go index c365499..69595c4 100644 --- a/server/middleware/auth.go +++ b/server/middleware/auth.go @@ -144,5 +144,6 @@ func TokenAuth() gin.HandlerFunc { c.Abort() return } + c.Next() } } -- Gitee From c0cc99487aff9393a1e6af4536dc719825d53332 Mon Sep 17 00:00:00 2001 From: xiangheng <11675084@qq.com> Date: Fri, 24 Nov 2023 11:44:38 +0800 Subject: [PATCH 38/41] =?UTF-8?q?fix:=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E7=B1=BB=E5=9E=8Bjpg?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/src/components/upload/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/src/components/upload/index.vue b/admin/src/components/upload/index.vue index e4925f6..8f4a5e9 100644 --- a/admin/src/components/upload/index.vue +++ b/admin/src/components/upload/index.vue @@ -121,7 +121,7 @@ export default defineComponent({ const getAccept = computed(() => { switch (props.type) { case 'image': - return '.jpj,.png,.gif,.jpeg,.ico,.bmp' + return '.jpg,.png,.gif,.webp,.jpeg,.ico,.bmp' case 'video': return '.wmv,.avi,.mov,.mp4,.flv,.rmvb' default: -- Gitee From a199e3b142295025b1222c6e0207c6db49dd6790 Mon Sep 17 00:00:00 2001 From: xiangheng <11675084@qq.com> Date: Fri, 24 Nov 2023 11:45:02 +0800 Subject: [PATCH 39/41] =?UTF-8?q?fix:=E4=BE=9D=E8=B5=96=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2943bde..d5f93f9 100755 --- a/README.md +++ b/README.md @@ -1,8 +1,9 @@

likeadmin通用管理后台(Go)

🚀快速开发、✅后台多端自适应

- + +

本仓库基于:https://gitee.com/likeadmin/likeadmin_go

-- Gitee From 911c210afa53aa77358d9a51c14176b754b44f1f Mon Sep 17 00:00:00 2001 From: xiangheng <11675084@qq.com> Date: Fri, 24 Nov 2023 15:44:49 +0800 Subject: [PATCH 40/41] =?UTF-8?q?=E6=9B=B4=E6=96=B0sql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/go.mod | 1 - sql/likeadmin.sql | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/server/go.mod b/server/go.mod index 286de79..f77e4df 100644 --- a/server/go.mod +++ b/server/go.mod @@ -1,7 +1,6 @@ module likeadmin go 1.21 - require ( github.com/fatih/structs v1.1.0 diff --git a/sql/likeadmin.sql b/sql/likeadmin.sql index 3da5c41..511e27e 100644 --- a/sql/likeadmin.sql +++ b/sql/likeadmin.sql @@ -470,7 +470,7 @@ CREATE TABLE `la_system_auth_menu` ( -- ---------------------------- -- Records of la_system_auth_menu -- ---------------------------- -INSERT INTO `la_system_auth_menu` VALUES (1, 0, 'C', '工作台', 'el-icon-Monitor', 50, 'index:console', 'workbench', 'workbench/index', '', '', 1, 1, 0, 1650341765, 1668672757); +INSERT INTO `la_system_auth_menu` VALUES (1, 0, 'C', '工作台', 'el-icon-Monitor', 50, 'common:index:console', 'workbench', 'workbench/index', '', '', 1, 1, 0, 1650341765, 1668672757); INSERT INTO `la_system_auth_menu` VALUES (100, 0, 'M', '权限管理', 'el-icon-Lock', 44, '', 'permission', '', '', '', 0, 1, 0, 1650341765, 1662626201); INSERT INTO `la_system_auth_menu` VALUES (101, 100, 'C', '管理员', 'local-icon-wode', 0, 'system:admin:list', 'admin', 'permission/admin/index', '', '', 1, 1, 0, 1650341765, 1663301404); INSERT INTO `la_system_auth_menu` VALUES (102, 101, 'A', '管理员详情', '', 0, 'system:admin:detail', '', '', '', '', 0, 1, 0, 1650341765, 1660201785); -- Gitee From f97a19e5dab0b3b86521bc8b9bdf23bd5bb061a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9A=90?= <11675084@qq.com> Date: Mon, 27 Nov 2023 09:22:21 +0000 Subject: [PATCH 41/41] update README.md. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 隐 <11675084@qq.com> --- README.md | 42 +----------------------------------------- 1 file changed, 1 insertion(+), 41 deletions(-) diff --git a/README.md b/README.md index d5f93f9..a2f28f3 100755 --- a/README.md +++ b/README.md @@ -10,45 +10,5 @@

本仓库经过魔改精简。

-
-![](./docs/assets/work.png) - -
-
- -## 👀 体验 - -### 管理后台 -本仓库演示地址:http://likeadmin.adtk.cn
-原仓库演示地址:https://go-admin.likeadmin.cn
-账号:admin 密码:123456 - -### 开发部署文档 -1. [go-打包.md](./docs/1.go-打包.md) -2. [go-运行.md](./docs/2.go-运行.md) -3. [go-nginx配置.md](./docs/3.go-nginx配置.md) - - -## 👨‍💻‍ 简介 - -我们希望能够为开源社区做出更多的贡献,推出永久免费开源的 likeadmin 通用前后端分离管理后台系统。遵循 MIT 开源许可协议,您可以免费使用,甚至允许把你基于 likeadmin 开发的软件应用开源、发布、销售。 -
- -## 🧐 进一步了解 - -### 🧰 场景介绍 - -1.likeadmin 已经搭建好前后端分离的底层,包含程序安装、登录、登出、工作台、菜单权限控制、角色、管理员、部门管理、岗位管理、素材管理、网站设置、图库管理等基础功能,无需重复造轮子。 - -### 🐹 前端架构方面 - -#### 后台 - -1.使用最流性的前后端分离方案 typescript、vue3、vite 开发,保持了代码的简洁、一致和规范。
2.后台界面使用 element-plus UI 框架,简单精美的后台界面,丰富的组件库,方便快速开发,满足各种后台交互。 -
- -#### 🛠️  代码生成器 - -一键生成前后端业务代码,大大提示开发效率。 -![](./docs/assets/genCode.png) +新的仓库,本仓库搁置: https://gitee.com/xiangheng/x_admin.git \ No newline at end of file -- Gitee

真正会让我对 UI 设计师发展前景觉得悲观的事情就只有一件 —— 国内的互联网产品免费机制。这也是一个我一直以来想讨论的话题,就在这次写一写。