commit 7d450caf774ee03db6233c5b95a0c8e71215ed9d
Author: code <2388224167@qq.com>
Date: Mon Nov 11 14:42:47 2024 +0800
111
diff --git a/.env b/.env
new file mode 100644
index 0000000..923f2a7
--- /dev/null
+++ b/.env
@@ -0,0 +1,13 @@
+# ******************** start 开发环境 start ********************
+
+VITE_APP_DEV_SERVICE =http://localhost:48080/app-api
+# VITE_APP_DEV_SERVICE =http://123.156.228.134:48080/dev-api/app-api
+
+# ******************** end 开发环境 end ********************
+
+
+# ******************** start 生产环境 start ********************
+
+VITE_APP_PROD_SERVICE = http://123.156.228.134:48080
+
+# ******************** end 生产环境 end ********************
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..7ce6e50
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,21 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+.DS_Store
+dist
+*.local
+
+# Editor directories and files
+.idea
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
\ No newline at end of file
diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 0000000..e69de29
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..f4e1ded
--- /dev/null
+++ b/index.html
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..79d41db
--- /dev/null
+++ b/package.json
@@ -0,0 +1,87 @@
+{
+ "name": "uni-preset-vue",
+ "version": "0.0.0",
+ "scripts": {
+ "dev:app": "uni -p app",
+ "dev:app-android": "uni -p app-android",
+ "dev:app-ios": "uni -p app-ios",
+ "dev:app-harmony": "uni -p app-harmony",
+ "dev:custom": "uni -p",
+ "dev:h5": "uni",
+ "dev:h5:ssr": "uni --ssr",
+ "dev:mp-alipay": "uni -p mp-alipay",
+ "dev:mp-baidu": "uni -p mp-baidu",
+ "dev:mp-jd": "uni -p mp-jd",
+ "dev:mp-kuaishou": "uni -p mp-kuaishou",
+ "dev:mp-lark": "uni -p mp-lark",
+ "dev:mp-qq": "uni -p mp-qq",
+ "dev:mp-toutiao": "uni -p mp-toutiao",
+ "dev:mp-weixin": "uni -p mp-weixin",
+ "dev:mp-xhs": "uni -p mp-xhs",
+ "dev:quickapp-webview": "uni -p quickapp-webview",
+ "dev:quickapp-webview-huawei": "uni -p quickapp-webview-huawei",
+ "dev:quickapp-webview-union": "uni -p quickapp-webview-union",
+ "build:app": "uni build -p app",
+ "build:app-android": "uni build -p app-android",
+ "build:app-ios": "uni build -p app-ios",
+ "build:app-harmony": "uni build -p app-harmony",
+ "build:custom": "uni build -p",
+ "build:h5": "uni build",
+ "build:h5:ssr": "uni build --ssr",
+ "build:mp-alipay": "uni build -p mp-alipay",
+ "build:mp-baidu": "uni build -p mp-baidu",
+ "build:mp-jd": "uni build -p mp-jd",
+ "build:mp-kuaishou": "uni build -p mp-kuaishou",
+ "build:mp-lark": "uni build -p mp-lark",
+ "build:mp-qq": "uni build -p mp-qq",
+ "build:mp-toutiao": "uni build -p mp-toutiao",
+ "build:mp-weixin": "uni build -p mp-weixin",
+ "build:mp-xhs": "uni build -p mp-xhs",
+ "build:quickapp-webview": "uni build -p quickapp-webview",
+ "build:quickapp-webview-huawei": "uni build -p quickapp-webview-huawei",
+ "build:quickapp-webview-union": "uni build -p quickapp-webview-union",
+ "type-check": "vue-tsc --noEmit"
+ },
+ "dependencies": {
+ "@dcloudio/uni-app": "3.0.0-4020920240930001",
+ "@dcloudio/uni-app-harmony": "3.0.0-4020920240930001",
+ "@dcloudio/uni-app-plus": "3.0.0-4020920240930001",
+ "@dcloudio/uni-components": "3.0.0-4020920240930001",
+ "@dcloudio/uni-h5": "3.0.0-4020920240930001",
+ "@dcloudio/uni-mp-alipay": "3.0.0-4020920240930001",
+ "@dcloudio/uni-mp-baidu": "3.0.0-4020920240930001",
+ "@dcloudio/uni-mp-jd": "3.0.0-4020920240930001",
+ "@dcloudio/uni-mp-kuaishou": "3.0.0-4020920240930001",
+ "@dcloudio/uni-mp-lark": "3.0.0-4020920240930001",
+ "@dcloudio/uni-mp-qq": "3.0.0-4020920240930001",
+ "@dcloudio/uni-mp-toutiao": "3.0.0-4020920240930001",
+ "@dcloudio/uni-mp-weixin": "3.0.0-4020920240930001",
+ "@dcloudio/uni-mp-xhs": "3.0.0-4020920240930001",
+ "@dcloudio/uni-quickapp-webview": "3.0.0-4020920240930001",
+ "@vue/compiler-core": "^3.5.11",
+ "dayjs": "^1.11.13",
+ "luch-request": "^3.1.1",
+ "pinia": "^2.2.6",
+ "radash": "^12.1.0",
+ "vue": "^3.3.11",
+ "vue-i18n": "^9.1.9",
+ "z-paging": "^2.8.0"
+ },
+ "devDependencies": {
+ "@dcloudio/types": "^3.4.12",
+ "@dcloudio/uni-automator": "3.0.0-4020920240930001",
+ "@dcloudio/uni-cli-shared": "3.0.0-4020920240930001",
+ "@dcloudio/uni-stacktracey": "3.0.0-4020920240930001",
+ "@dcloudio/vite-plugin-uni": "3.0.0-4020920240930001",
+ "@types/node": "^18.0.0",
+ "@vue/runtime-core": "^3.3.11",
+ "@vue/tsconfig": "^0.1.3",
+ "sass": "1.71.1",
+ "sass-loader": "10.0.5",
+ "typescript": "^4.9.4",
+ "unocss": "^0.58.5",
+ "unocss-preset-weapp": "^0.58.6",
+ "vite": "5.2.8",
+ "vue-tsc": "^1.0.24"
+ }
+}
\ No newline at end of file
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
new file mode 100644
index 0000000..c96ffa6
--- /dev/null
+++ b/pnpm-lock.yaml
@@ -0,0 +1,7773 @@
+lockfileVersion: '6.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+dependencies:
+ '@dcloudio/uni-app':
+ specifier: 3.0.0-4020920240930001
+ version: 3.0.0-4020920240930001(@dcloudio/types@3.4.14)(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-app-harmony':
+ specifier: 3.0.0-4020920240930001
+ version: 3.0.0-4020920240930001(postcss@8.4.47)(vite@5.2.8)(vue@3.5.12)
+ '@dcloudio/uni-app-plus':
+ specifier: 3.0.0-4020920240930001
+ version: 3.0.0-4020920240930001(postcss@8.4.47)(vite@5.2.8)(vue@3.5.12)
+ '@dcloudio/uni-components':
+ specifier: 3.0.0-4020920240930001
+ version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-h5':
+ specifier: 3.0.0-4020920240930001
+ version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-alipay':
+ specifier: 3.0.0-4020920240930001
+ version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-baidu':
+ specifier: 3.0.0-4020920240930001
+ version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-jd':
+ specifier: 3.0.0-4020920240930001
+ version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-kuaishou':
+ specifier: 3.0.0-4020920240930001
+ version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-lark':
+ specifier: 3.0.0-4020920240930001
+ version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-qq':
+ specifier: 3.0.0-4020920240930001
+ version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-toutiao':
+ specifier: 3.0.0-4020920240930001
+ version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-weixin':
+ specifier: 3.0.0-4020920240930001
+ version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-xhs':
+ specifier: 3.0.0-4020920240930001
+ version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-quickapp-webview':
+ specifier: 3.0.0-4020920240930001
+ version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@vue/compiler-core':
+ specifier: ^3.5.11
+ version: 3.5.12
+ dayjs:
+ specifier: ^1.11.13
+ version: 1.11.13
+ luch-request:
+ specifier: ^3.1.1
+ version: 3.1.1
+ pinia:
+ specifier: ^2.2.6
+ version: 2.2.6(typescript@4.9.5)(vue@3.5.12)
+ radash:
+ specifier: ^12.1.0
+ version: 12.1.0
+ vue:
+ specifier: ^3.3.11
+ version: 3.5.12(typescript@4.9.5)
+ vue-i18n:
+ specifier: ^9.1.9
+ version: 9.14.1(vue@3.5.12)
+ z-paging:
+ specifier: ^2.8.0
+ version: 2.8.0
+
+devDependencies:
+ '@dcloudio/types':
+ specifier: ^3.4.12
+ version: 3.4.14
+ '@dcloudio/uni-automator':
+ specifier: 3.0.0-4020920240930001
+ version: 3.0.0-4020920240930001(jest-environment-node@27.5.1)(jest@27.0.4)(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-cli-shared':
+ specifier: 3.0.0-4020920240930001
+ version: 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-stacktracey':
+ specifier: 3.0.0-4020920240930001
+ version: 3.0.0-4020920240930001
+ '@dcloudio/vite-plugin-uni':
+ specifier: 3.0.0-4020920240930001
+ version: 3.0.0-4020920240930001(postcss@8.4.47)(vite@5.2.8)(vue@3.5.12)
+ '@types/node':
+ specifier: ^18.0.0
+ version: 18.19.64
+ '@vue/runtime-core':
+ specifier: ^3.3.11
+ version: 3.5.12
+ '@vue/tsconfig':
+ specifier: ^0.1.3
+ version: 0.1.3(@types/node@18.19.64)
+ sass:
+ specifier: 1.71.1
+ version: 1.71.1
+ sass-loader:
+ specifier: 10.0.5
+ version: 10.0.5(sass@1.71.1)(webpack@5.96.1)
+ typescript:
+ specifier: ^4.9.4
+ version: 4.9.5
+ unocss:
+ specifier: ^0.58.5
+ version: 0.58.9(postcss@8.4.47)(vite@5.2.8)
+ unocss-preset-weapp:
+ specifier: ^0.58.6
+ version: 0.58.8
+ vite:
+ specifier: 5.2.8
+ version: 5.2.8(@types/node@18.19.64)(sass@1.71.1)(terser@5.36.0)
+ vue-tsc:
+ specifier: ^1.0.24
+ version: 1.8.27(typescript@4.9.5)
+
+packages:
+
+ /@ampproject/remapping@2.3.0:
+ resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+
+ /@antfu/install-pkg@0.4.1:
+ resolution: {integrity: sha512-T7yB5QNG29afhWVkVq7XeIMBa5U/vs9mX69YqayXypPRmYzUmzwnYltplHmPtZ4HPCn+sQKeXW8I47wCbuBOjw==}
+ dependencies:
+ package-manager-detector: 0.2.2
+ tinyexec: 0.3.1
+ dev: true
+
+ /@antfu/utils@0.7.10:
+ resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==}
+
+ /@babel/code-frame@7.26.2:
+ resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-validator-identifier': 7.25.9
+ js-tokens: 4.0.0
+ picocolors: 1.1.1
+
+ /@babel/compat-data@7.26.2:
+ resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/core@7.26.0:
+ resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@babel/code-frame': 7.26.2
+ '@babel/generator': 7.26.2
+ '@babel/helper-compilation-targets': 7.25.9
+ '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)
+ '@babel/helpers': 7.26.0
+ '@babel/parser': 7.26.2
+ '@babel/template': 7.25.9
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.26.0
+ convert-source-map: 2.0.0
+ debug: 4.3.7
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/generator@7.26.2:
+ resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/parser': 7.26.2
+ '@babel/types': 7.26.0
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+ jsesc: 3.0.2
+
+ /@babel/helper-annotate-as-pure@7.25.9:
+ resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.26.0
+ dev: true
+
+ /@babel/helper-builder-binary-assignment-operator-visitor@7.25.9:
+ resolution: {integrity: sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.26.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/helper-compilation-targets@7.25.9:
+ resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/compat-data': 7.26.2
+ '@babel/helper-validator-option': 7.25.9
+ browserslist: 4.24.2
+ lru-cache: 5.1.1
+ semver: 6.3.1
+
+ /@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-annotate-as-pure': 7.25.9
+ '@babel/helper-member-expression-to-functions': 7.25.9
+ '@babel/helper-optimise-call-expression': 7.25.9
+ '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
+ '@babel/traverse': 7.25.9
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/helper-create-regexp-features-plugin@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-annotate-as-pure': 7.25.9
+ regexpu-core: 6.1.1
+ semver: 6.3.1
+ dev: true
+
+ /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.26.0):
+ resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-compilation-targets': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ debug: 4.3.7
+ lodash.debounce: 4.0.8
+ resolve: 1.22.8
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/helper-member-expression-to-functions@7.25.9:
+ resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.26.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/helper-module-imports@7.25.9:
+ resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0):
+ resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-module-imports': 7.25.9
+ '@babel/helper-validator-identifier': 7.25.9
+ '@babel/traverse': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/helper-optimise-call-expression@7.25.9:
+ resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.26.0
+ dev: true
+
+ /@babel/helper-plugin-utils@7.25.9:
+ resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
+ /@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-annotate-as-pure': 7.25.9
+ '@babel/helper-wrap-function': 7.25.9
+ '@babel/traverse': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/helper-replace-supers@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-member-expression-to-functions': 7.25.9
+ '@babel/helper-optimise-call-expression': 7.25.9
+ '@babel/traverse': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/helper-simple-access@7.25.9:
+ resolution: {integrity: sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.26.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/helper-skip-transparent-expression-wrappers@7.25.9:
+ resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.26.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/helper-string-parser@7.25.9:
+ resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/helper-validator-identifier@7.25.9:
+ resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/helper-validator-option@7.25.9:
+ resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/helper-wrap-function@7.25.9:
+ resolution: {integrity: sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.25.9
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.26.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/helpers@7.26.0:
+ resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.25.9
+ '@babel/types': 7.26.0
+
+ /@babel/parser@7.26.2:
+ resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+ dependencies:
+ '@babel/types': 7.26.0
+
+ /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/traverse': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.13.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
+ '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/traverse': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0):
+ resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ dev: true
+
+ /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.0):
+ resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.0):
+ resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.0):
+ resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.0):
+ resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.0):
+ resolution: {integrity: sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.0):
+ resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.0):
+ resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.0):
+ resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.0):
+ resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.0):
+ resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.0):
+ resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.0):
+ resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.0):
+ resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.0):
+ resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.0):
+ resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.0):
+ resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.0):
+ resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-async-generator-functions@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0)
+ '@babel/traverse': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-module-imports': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-block-scoped-functions@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.0):
+ resolution: {integrity: sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.12.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-annotate-as-pure': 7.25.9
+ '@babel/helper-compilation-targets': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0)
+ '@babel/traverse': 7.25.9
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/template': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-exponentiation-operator@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-builder-binary-assignment-operator-visitor': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-for-of@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-compilation-targets': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/traverse': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-modules-commonjs@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-simple-access': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-validator-identifier': 7.25.9
+ '@babel/traverse': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-nullish-coalescing-operator@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-compilation-targets': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0)
+ dev: true
+
+ /@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-annotate-as-pure': 7.25.9
+ '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ regenerator-transform: 0.15.2
+ dev: true
+
+ /@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.0):
+ resolution: {integrity: sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-template-literals@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-typeof-symbol@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-typescript@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-annotate-as-pure': 7.25.9
+ '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
+ '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.0):
+ resolution: {integrity: sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ dev: true
+
+ /@babel/preset-env@7.26.0(@babel/core@7.26.0):
+ resolution: {integrity: sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/compat-data': 7.26.2
+ '@babel/core': 7.26.0
+ '@babel/helper-compilation-targets': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-validator-option': 7.25.9
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0)
+ '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.0)
+ '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0)
+ '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.0)
+ '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-block-scoped-functions': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.0)
+ '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-exponentiation-operator': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-modules-commonjs': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-nullish-coalescing-operator': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.0)
+ '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-template-literals': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-typeof-symbol': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.0)
+ '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.0)
+ babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.26.0)
+ babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0)
+ babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.26.0)
+ core-js-compat: 3.39.0
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.0):
+ resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/types': 7.26.0
+ esutils: 2.0.3
+ dev: true
+
+ /@babel/preset-typescript@7.26.0(@babel/core@7.26.0):
+ resolution: {integrity: sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-validator-option': 7.25.9
+ '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-modules-commonjs': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-typescript': 7.25.9(@babel/core@7.26.0)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/runtime@7.26.0:
+ resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ regenerator-runtime: 0.14.1
+
+ /@babel/template@7.25.9:
+ resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.26.2
+ '@babel/parser': 7.26.2
+ '@babel/types': 7.26.0
+
+ /@babel/traverse@7.25.9:
+ resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.26.2
+ '@babel/generator': 7.26.2
+ '@babel/parser': 7.26.2
+ '@babel/template': 7.25.9
+ '@babel/types': 7.26.0
+ debug: 4.3.7
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/types@7.26.0:
+ resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-string-parser': 7.25.9
+ '@babel/helper-validator-identifier': 7.25.9
+
+ /@bcoe/v8-coverage@0.2.3:
+ resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
+ dev: true
+
+ /@dcloudio/types@2.6.12:
+ resolution: {integrity: sha512-mrCMwcINy1IFjU9VUqLeWBkj404yWs5paLDttBcA+eqUjanuUQbBcTVPqlrGgkyzLXDcV2oDDZRSNxNpXi4kMQ==}
+ dev: false
+
+ /@dcloudio/types@3.4.14:
+ resolution: {integrity: sha512-VolQeZfTh8pQFsr2IlfIVX93blfvGTuBoJuZUc7iWOqtHV8gDrq6fXLhzsVlgZyuhhRZLOxlo33rkEqnY+ucAw==}
+
+ /@dcloudio/uni-app-harmony@3.0.0-4020920240930001(postcss@8.4.47)(vite@5.2.8)(vue@3.5.12):
+ resolution: {integrity: sha512-YHAJSX1DCaLTr7MDc4mOJ/0JfECn2YS9b5EvMyl5WUy8CIDSupOxFpygnpcUHTlyExdQOivp35TerYfLa0BDew==}
+ dependencies:
+ '@dcloudio/uni-app-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vite@5.2.8)(vue@3.5.12)
+ debug: 4.3.7
+ fs-extra: 10.1.0
+ licia: 1.44.0
+ postcss-selector-parser: 6.1.2
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vite
+ - vue
+ - webpack-sources
+ dev: false
+
+ /@dcloudio/uni-app-plus@3.0.0-4020920240930001(postcss@8.4.47)(vite@5.2.8)(vue@3.5.12):
+ resolution: {integrity: sha512-0MQx5lAZ+y8E5/jjkjSfpyZvhUNaqRZbcD7u+cragHjE17PndQo+h7wmyGYgzGQYmuikiD8CX+o+NtTo4Z/TiA==}
+ dependencies:
+ '@dcloudio/uni-app-uts': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-app-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vite@5.2.8)(vue@3.5.12)
+ '@dcloudio/uni-app-vue': 3.0.0-4020920240930001
+ debug: 4.3.7
+ fs-extra: 10.1.0
+ licia: 1.44.0
+ postcss-selector-parser: 6.1.2
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vite
+ - vue
+ - webpack-sources
+ dev: false
+
+ /@dcloudio/uni-app-uts@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12):
+ resolution: {integrity: sha512-OaEyI9hrjR6I8bNc9GdfOos/zWfiA0eIy4gLLVpkGxpMmAoqR9j5fs7g804SDAn3NtzNtzOJrAXx7sl5mJwsIw==}
+ dependencies:
+ '@babel/parser': 7.26.2
+ '@babel/types': 7.26.0
+ '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-i18n': 3.0.0-4020920240930001
+ '@dcloudio/uni-nvue-styler': 3.0.0-4020920240930001
+ '@dcloudio/uni-shared': 3.0.0-4020920240930001
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+ '@rollup/pluginutils': 5.1.3
+ '@vue/compiler-core': 3.4.21
+ '@vue/compiler-dom': 3.4.21
+ '@vue/compiler-sfc': 3.4.21
+ '@vue/consolidate': 1.0.0
+ '@vue/shared': 3.4.21
+ debug: 4.3.7
+ es-module-lexer: 1.5.4
+ estree-walker: 2.0.2
+ fs-extra: 10.1.0
+ magic-string: 0.30.12
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
+ unimport: 3.13.1
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ - webpack-sources
+ dev: false
+
+ /@dcloudio/uni-app-vite@3.0.0-4020920240930001(postcss@8.4.47)(vite@5.2.8)(vue@3.5.12):
+ resolution: {integrity: sha512-hG7aTOb1Clgli8qeMVFItadlAT51Kbw2J7CpbWJ5Pkv8uv63QAo2ruRiHs2eYTWRpfXRqr7nZ3J7d74VbrUZ7A==}
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-i18n': 3.0.0-4020920240930001
+ '@dcloudio/uni-nvue-styler': 3.0.0-4020920240930001
+ '@dcloudio/uni-shared': 3.0.0-4020920240930001
+ '@rollup/pluginutils': 5.1.3
+ '@vitejs/plugin-vue': 5.1.0(vite@5.2.8)(vue@3.5.12)
+ '@vue/compiler-dom': 3.4.21
+ '@vue/compiler-sfc': 3.4.21
+ debug: 4.3.7
+ fs-extra: 10.1.0
+ picocolors: 1.1.1
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vite
+ - vue
+ - webpack-sources
+ dev: false
+
+ /@dcloudio/uni-app-vue@3.0.0-4020920240930001:
+ resolution: {integrity: sha512-GMmN0NJjyb0I/G3tE8kBN9DkvwTBKJjjnXzSCCPDbXJbH8YJiThjzyBBdyXb1cJwdgAhwTbwX8dWu7uyT+bllA==}
+ dev: false
+
+ /@dcloudio/uni-app@3.0.0-4020920240930001(@dcloudio/types@3.4.14)(postcss@8.4.47)(vue@3.5.12):
+ resolution: {integrity: sha512-Er2pOCUTss7h5sYL32gLAWbYysYyhYzj8ZYKAjF/1aX+YkigD7beU1oX4M/m5yOo1RoogsQNTs5dyUn7R1sFrA==}
+ peerDependencies:
+ '@dcloudio/types': ^3.4.11
+ dependencies:
+ '@dcloudio/types': 3.4.14
+ '@dcloudio/uni-cloud': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-components': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-i18n': 3.0.0-4020920240930001
+ '@dcloudio/uni-push': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-shared': 3.0.0-4020920240930001
+ '@dcloudio/uni-stat': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@vue/shared': 3.4.21
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ - webpack-sources
+ dev: false
+
+ /@dcloudio/uni-automator@3.0.0-4020920240930001(jest-environment-node@27.5.1)(jest@27.0.4)(postcss@8.4.47)(vue@3.5.12):
+ resolution: {integrity: sha512-HsCw/ulfiG8Kavn1cz1bCHOcUiBxCvyphOjMMjnNIJZb/cgQl7HpJQ7PThpQXDpEn2oNRKw/6fKsX2ZTLWfWZA==}
+ peerDependencies:
+ jest: 27.0.4
+ jest-environment-node: 27.5.1
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ address: 1.2.2
+ cross-env: 7.0.3
+ debug: 4.3.7
+ default-gateway: 6.0.3
+ fs-extra: 10.1.0
+ jest: 27.0.4
+ jest-environment-node: 27.5.1
+ jsonc-parser: 3.3.1
+ licia: 1.44.0
+ merge: 2.1.1
+ qrcode-reader: 1.0.4
+ qrcode-terminal: 0.12.0
+ ws: 8.18.0
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - bufferutil
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - utf-8-validate
+ - vue
+ - webpack-sources
+ dev: true
+
+ /@dcloudio/uni-cli-shared@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12):
+ resolution: {integrity: sha512-DpKcXXtAiyZXX8WxDSSRjl/PuTYFPBvWDcS7UfWR3Vw13gM3TUEu3WPl1URgGlxmwr30x5YLv6ZA6UoXSZ6MNw==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@babel/code-frame': 7.26.2
+ '@babel/core': 7.26.0
+ '@babel/parser': 7.26.2
+ '@babel/types': 7.26.0
+ '@dcloudio/uni-i18n': 3.0.0-4020920240930001
+ '@dcloudio/uni-shared': 3.0.0-4020920240930001
+ '@intlify/core-base': 9.1.9
+ '@intlify/shared': 9.1.9
+ '@intlify/vue-devtools': 9.1.9
+ '@rollup/pluginutils': 5.1.3
+ '@vue/compiler-core': 3.4.21
+ '@vue/compiler-dom': 3.4.21
+ '@vue/compiler-sfc': 3.4.21
+ '@vue/compiler-ssr': 3.4.21
+ '@vue/server-renderer': 3.4.21(vue@3.5.12)
+ '@vue/shared': 3.4.21
+ adm-zip: 0.5.16
+ autoprefixer: 10.4.20(postcss@8.4.47)
+ base64url: 3.0.1
+ chokidar: 3.6.0
+ compare-versions: 3.6.0
+ debug: 4.3.7
+ es-module-lexer: 1.5.4
+ esbuild: 0.20.2
+ estree-walker: 2.0.2
+ fast-glob: 3.3.2
+ fs-extra: 10.1.0
+ hash-sum: 2.0.0
+ isbinaryfile: 5.0.4
+ jsonc-parser: 3.3.1
+ lines-and-columns: 2.0.4
+ magic-string: 0.30.12
+ merge: 2.1.1
+ mime: 3.0.0
+ module-alias: 2.2.3
+ os-locale-s-fix: 1.0.8-fix-1
+ picocolors: 1.1.1
+ postcss-import: 14.1.0(postcss@8.4.47)
+ postcss-load-config: 3.1.4(postcss@8.4.47)
+ postcss-modules: 4.3.1(postcss@8.4.47)
+ postcss-selector-parser: 6.1.2
+ resolve: 1.22.8
+ source-map-js: 1.2.1
+ tapable: 2.2.1
+ unplugin-auto-import: 0.16.7
+ xregexp: 3.1.0
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ - webpack-sources
+
+ /@dcloudio/uni-cloud@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12):
+ resolution: {integrity: sha512-N4/4mv+PhtQkg3w0xrjBnir2SA5t23gOs8ZC3Mp3q2+iMS9Lo4puc/81mGaQxc2pZhdsV5MzxWCoquFdbyWCzA==}
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-i18n': 3.0.0-4020920240930001
+ '@dcloudio/uni-shared': 3.0.0-4020920240930001
+ '@vue/shared': 3.4.21
+ fast-glob: 3.3.2
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ - webpack-sources
+ dev: false
+
+ /@dcloudio/uni-components@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12):
+ resolution: {integrity: sha512-ZC3z/RIeHtx3SkJtKwArKGAq+poDevzcQG3MV6gKLubwPAkri8UR4ptSjJwzvs7ESoGwGwqxy6aNndUIx6+fsw==}
+ dependencies:
+ '@dcloudio/uni-cloud': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-h5': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-i18n': 3.0.0-4020920240930001
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ - webpack-sources
+ dev: false
+
+ /@dcloudio/uni-h5-vite@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12):
+ resolution: {integrity: sha512-9kZvdOmAl59vNcVDPH4doQRhnGhEB7oT+LEy6uW+BIDvkMZN/hw9MYUzv7WIysXCg51gY0vRJdIkU1OpDCz8tg==}
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-shared': 3.0.0-4020920240930001
+ '@rollup/pluginutils': 5.1.3
+ '@vue/compiler-dom': 3.4.21
+ '@vue/compiler-sfc': 3.4.21
+ '@vue/server-renderer': 3.4.21(vue@3.5.12)
+ '@vue/shared': 3.4.21
+ debug: 4.3.7
+ fs-extra: 10.1.0
+ mime: 3.0.0
+ module-alias: 2.2.3
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ - webpack-sources
+ dev: false
+
+ /@dcloudio/uni-h5-vue@3.0.0-4020920240930001(vue@3.5.12):
+ resolution: {integrity: sha512-kUfK+50xilnGJVQq35N8VHA5bb0q7JmT5Cc8I8mPVFuVdl38zpumsjG6Qg8dhS5E/9GqjjWqH3aWOn6ugTFMxQ==}
+ dependencies:
+ '@dcloudio/uni-shared': 3.0.0-4020920240930001
+ '@vue/server-renderer': 3.4.21(vue@3.5.12)
+ transitivePeerDependencies:
+ - vue
+ dev: false
+
+ /@dcloudio/uni-h5@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12):
+ resolution: {integrity: sha512-9M7UqJVVC1KEP6mcmRzmdWX8+VWp3Y+FSKGQ4ymWJ+T0Xest4i3oggj2nLBDTfyhYMEZ3hNFI885o5cUoolMCw==}
+ dependencies:
+ '@dcloudio/uni-h5-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-h5-vue': 3.0.0-4020920240930001(vue@3.5.12)
+ '@dcloudio/uni-i18n': 3.0.0-4020920240930001
+ '@dcloudio/uni-shared': 3.0.0-4020920240930001
+ '@vue/server-renderer': 3.4.21(vue@3.5.12)
+ '@vue/shared': 3.4.21
+ debug: 4.3.7
+ localstorage-polyfill: 1.0.1
+ postcss-selector-parser: 6.1.2
+ safe-area-insets: 1.4.1
+ vue-router: 4.4.5(vue@3.5.12)
+ xmlhttprequest: 1.8.0
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ - webpack-sources
+ dev: false
+
+ /@dcloudio/uni-i18n@3.0.0-4020920240930001:
+ resolution: {integrity: sha512-ltKiciML0ptWRytvbFt1dd4YglEjh4fsUc0D/dY+y5YKNxK7h/V2HT3qkQtP05T1kjEput4KrWNn23fczO3YFg==}
+
+ /@dcloudio/uni-mp-alipay@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12):
+ resolution: {integrity: sha512-52XHUPmZixd8TZQ9BKrme139Uq5wfYy6DjMdeSQRJ9DJRtVe4WsWxgJ6DoKdPJLtiG1OSljmZOjU5V35WuhsWA==}
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-vue': 3.0.0-4020920240930001
+ '@dcloudio/uni-shared': 3.0.0-4020920240930001
+ '@vue/compiler-core': 3.4.21
+ '@vue/shared': 3.4.21
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ - webpack-sources
+ dev: false
+
+ /@dcloudio/uni-mp-baidu@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12):
+ resolution: {integrity: sha512-2MyZYMQdiU3Xog/f/HdRZLoQk5uVPICfysfnxirjdd4O/umhsRkdwMjq092mmmmkSEdTQIlwiQGK+8d3snLofQ==}
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-vue': 3.0.0-4020920240930001
+ '@dcloudio/uni-mp-weixin': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-shared': 3.0.0-4020920240930001
+ '@vue/compiler-core': 3.4.21
+ '@vue/shared': 3.4.21
+ jimp: 0.10.3
+ licia: 1.44.0
+ qrcode-reader: 1.0.4
+ qrcode-terminal: 0.12.0
+ ws: 8.18.0
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - bufferutil
+ - debug
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - utf-8-validate
+ - vue
+ - webpack-sources
+ dev: false
+
+ /@dcloudio/uni-mp-compiler@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12):
+ resolution: {integrity: sha512-ngbbKTDWCzE8j3Xf5ezBRdV4NiXPTIS9GylIvL1quJVjcWEwbfoSvROTCBxLv+i8unu5+UbtRa1+KdsrUKtFOQ==}
+ dependencies:
+ '@babel/generator': 7.26.2
+ '@babel/parser': 7.26.2
+ '@babel/types': 7.26.0
+ '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-shared': 3.0.0-4020920240930001
+ '@vue/compiler-core': 3.4.21
+ '@vue/compiler-dom': 3.4.21
+ '@vue/shared': 3.4.21
+ estree-walker: 2.0.2
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ - webpack-sources
+ dev: false
+
+ /@dcloudio/uni-mp-jd@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12):
+ resolution: {integrity: sha512-L9WncaToo27wZcmLbFFZGkIo7iBKEk53bOy6fntUhECPJe0076q2KUnWyFF8Mq9euOz9KESazBo8u6PyoZkwuA==}
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-vue': 3.0.0-4020920240930001
+ '@dcloudio/uni-shared': 3.0.0-4020920240930001
+ '@vue/shared': 3.4.21
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ - webpack-sources
+ dev: false
+
+ /@dcloudio/uni-mp-kuaishou@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12):
+ resolution: {integrity: sha512-y8xmnGZX1cjgx5A3V0g43+0LrNrafb6J7NjdYjjzvlelTalAICofMMxOB/TMY4kIvAcAO8pTrvJ8gsxQTj3Law==}
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-vue': 3.0.0-4020920240930001
+ '@dcloudio/uni-mp-weixin': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-shared': 3.0.0-4020920240930001
+ '@vue/compiler-core': 3.4.21
+ '@vue/shared': 3.4.21
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - bufferutil
+ - debug
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - utf-8-validate
+ - vue
+ - webpack-sources
+ dev: false
+
+ /@dcloudio/uni-mp-lark@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12):
+ resolution: {integrity: sha512-6siEc/tbZLGh3DDZin+3hEWtncUs+Nk6ttEsZgIyNwX+SPTf2pFDj23dZAq3h/Lc89EvIgSjyFOuKJ1yivrLdg==}
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-toutiao': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-vue': 3.0.0-4020920240930001
+ '@dcloudio/uni-shared': 3.0.0-4020920240930001
+ '@vue/compiler-core': 3.4.21
+ '@vue/shared': 3.4.21
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ - webpack-sources
+ dev: false
+
+ /@dcloudio/uni-mp-qq@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12):
+ resolution: {integrity: sha512-TD4HUZiXa/3pjhRFJo0uMygMCZZk09pbzmR9FPU/kMQk3pxfgrMrMAY3To9boMULKNJenT1pIVy/QxEXiTyH1Q==}
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-vue': 3.0.0-4020920240930001
+ '@dcloudio/uni-shared': 3.0.0-4020920240930001
+ '@vue/shared': 3.4.21
+ fs-extra: 10.1.0
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ - webpack-sources
+ dev: false
+
+ /@dcloudio/uni-mp-toutiao@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12):
+ resolution: {integrity: sha512-eo0a+cwY9mgs/DxMplKpqTyIJmJUJpPr/hT2DPsqnPA8OXAbIKbhJBZbwC2z/EJDduOhzNpCkliHhv4Ahks2vQ==}
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-vue': 3.0.0-4020920240930001
+ '@dcloudio/uni-shared': 3.0.0-4020920240930001
+ '@vue/compiler-core': 3.4.21
+ '@vue/shared': 3.4.21
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ - webpack-sources
+ dev: false
+
+ /@dcloudio/uni-mp-vite@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12):
+ resolution: {integrity: sha512-awTd9X+yZ67shjBVxZ02bJ5ImU4/mODprz2lmYHA19RjjhzfNrDsIYBWAtfWMZ2WP5z1OL7WnZNiwPHWiuh9mQ==}
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-i18n': 3.0.0-4020920240930001
+ '@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-vue': 3.0.0-4020920240930001
+ '@dcloudio/uni-shared': 3.0.0-4020920240930001
+ '@vue/compiler-sfc': 3.4.21
+ '@vue/shared': 3.4.21
+ debug: 4.3.7
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ - webpack-sources
+ dev: false
+
+ /@dcloudio/uni-mp-vue@3.0.0-4020920240930001:
+ resolution: {integrity: sha512-65zNSA4jybW+sNRBLnR2Fni1dMNycJj0T6S1Lbhb/7ofJ7mosZdwjk8OFym3ZWjghov9x0Z3xAXGDIdWmSWNNw==}
+ dependencies:
+ '@dcloudio/uni-shared': 3.0.0-4020920240930001
+ '@vue/shared': 3.4.21
+ dev: false
+
+ /@dcloudio/uni-mp-weixin@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12):
+ resolution: {integrity: sha512-ip/OtXFLlnkztxOXMXPsjktp9rSo+c1OxlCase32xBVn+Jt0GyIFiA6Js9icz5uwIXtt14jWi4mRXfjncUV7QA==}
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-vue': 3.0.0-4020920240930001
+ '@dcloudio/uni-shared': 3.0.0-4020920240930001
+ '@vue/shared': 3.4.21
+ jimp: 0.10.3
+ licia: 1.44.0
+ qrcode-reader: 1.0.4
+ qrcode-terminal: 0.12.0
+ ws: 8.18.0
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - bufferutil
+ - debug
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - utf-8-validate
+ - vue
+ - webpack-sources
+ dev: false
+
+ /@dcloudio/uni-mp-xhs@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12):
+ resolution: {integrity: sha512-4+3qaWsqfbIentMmFCSUdf7ngpQXqt/2k/TqT6+6985tfzXUKoi0YrGwnZbf5e6b6RVDMuLMsokm2z7kfSXdXw==}
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-vue': 3.0.0-4020920240930001
+ '@dcloudio/uni-shared': 3.0.0-4020920240930001
+ '@vue/shared': 3.4.21
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ - webpack-sources
+ dev: false
+
+ /@dcloudio/uni-nvue-styler@3.0.0-4020920240930001:
+ resolution: {integrity: sha512-bmMJKf4FoSQy6PfTfojOeskcc1239V38B3dtG/zFFll7pzBAVi68xYvgF9KgYDBkztTM0PmAukyVNRl1VAFOww==}
+ dependencies:
+ parse-css-font: 4.0.0
+ postcss: 8.4.47
+ dev: false
+
+ /@dcloudio/uni-push@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12):
+ resolution: {integrity: sha512-AL03ysBAi8d/VBQ0/UG0EqcC0Fiohb/pkzR88kNLxIn3VouMje3pw3h++zH5Oa/DppP4M47TTMDoGlcAqBpqrg==}
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ - webpack-sources
+ dev: false
+
+ /@dcloudio/uni-quickapp-webview@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12):
+ resolution: {integrity: sha512-P0G/u/DSJyEw+Txnpxbg8fMOJE1nNcRLwdTCWe43KefPBQRiRVo4n/tWWxBgV+tnbryqolPivkxLsLDfi358+w==}
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-mp-vue': 3.0.0-4020920240930001
+ '@dcloudio/uni-shared': 3.0.0-4020920240930001
+ '@vue/shared': 3.4.21
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ - webpack-sources
+ dev: false
+
+ /@dcloudio/uni-shared@3.0.0-4020920240930001:
+ resolution: {integrity: sha512-8EEQAaY+Y9BRCZIqpoaI7ciQFTO/sggxPO1kJNVAkxvJs/GVb4mawPlW9UNsMiWEqRvOJlV7KldCu6eMYlyyfg==}
+ dependencies:
+ '@vue/shared': 3.4.21
+
+ /@dcloudio/uni-stacktracey@3.0.0-4020920240930001:
+ resolution: {integrity: sha512-YBAHXAWsiZiG4DbIcfle0W0PfILxG8Pymx/Lp2A2+OzMYANRjs2M2kq4S9g73ZVkIyUVxgHqqQRRdGgAwOUbhg==}
+ dev: true
+
+ /@dcloudio/uni-stat@3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12):
+ resolution: {integrity: sha512-ZPn4WQPlZ3lObaZM9Q1fryewIsan1XD4qy+oWsqAuGop1kaHDQKUfg2D+jclAOCr4+95u4Jfn+RH0HNqrI0eqg==}
+ dependencies:
+ '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-shared': 3.0.0-4020920240930001
+ debug: 4.3.7
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ - webpack-sources
+ dev: false
+
+ /@dcloudio/vite-plugin-uni@3.0.0-4020920240930001(postcss@8.4.47)(vite@5.2.8)(vue@3.5.12):
+ resolution: {integrity: sha512-ZtV5x4Jj8d2FzaK8uamYdfYwzRbMseWY3l6MTUdc94uMNIvnb2fBhJccoY3xexSDYRFRElPKk7+ed6AQ7tYtuw==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ hasBin: true
+ peerDependencies:
+ vite: ^5.2.8
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.0)
+ '@babel/plugin-transform-typescript': 7.25.9(@babel/core@7.26.0)
+ '@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.47)(vue@3.5.12)
+ '@dcloudio/uni-shared': 3.0.0-4020920240930001
+ '@rollup/pluginutils': 5.1.3
+ '@vitejs/plugin-legacy': 5.3.2(terser@5.36.0)(vite@5.2.8)
+ '@vitejs/plugin-vue': 5.1.0(vite@5.2.8)(vue@3.5.12)
+ '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.2.8)(vue@3.5.12)
+ '@vue/compiler-core': 3.4.21
+ '@vue/compiler-dom': 3.4.21
+ '@vue/compiler-sfc': 3.4.21
+ '@vue/shared': 3.4.21
+ cac: 6.7.9
+ debug: 4.3.7
+ estree-walker: 2.0.2
+ express: 4.21.1
+ fast-glob: 3.3.2
+ fs-extra: 10.1.0
+ hash-sum: 2.0.0
+ jsonc-parser: 3.3.1
+ magic-string: 0.30.12
+ picocolors: 1.1.1
+ terser: 5.36.0
+ unplugin-auto-import: 0.16.7
+ vite: 5.2.8(@types/node@18.19.64)(sass@1.71.1)(terser@5.36.0)
+ transitivePeerDependencies:
+ - '@nuxt/kit'
+ - '@vueuse/core'
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ - webpack-sources
+ dev: true
+
+ /@esbuild/aix-ppc64@0.20.2:
+ resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [aix]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/android-arm64@0.20.2:
+ resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/android-arm@0.20.2:
+ resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/android-x64@0.20.2:
+ resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/darwin-arm64@0.20.2:
+ resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/darwin-x64@0.20.2:
+ resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/freebsd-arm64@0.20.2:
+ resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/freebsd-x64@0.20.2:
+ resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-arm64@0.20.2:
+ resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-arm@0.20.2:
+ resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-ia32@0.20.2:
+ resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-loong64@0.20.2:
+ resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-mips64el@0.20.2:
+ resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-ppc64@0.20.2:
+ resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-riscv64@0.20.2:
+ resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-s390x@0.20.2:
+ resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-x64@0.20.2:
+ resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/netbsd-x64@0.20.2:
+ resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/openbsd-x64@0.20.2:
+ resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/sunos-x64@0.20.2:
+ resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/win32-arm64@0.20.2:
+ resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/win32-ia32@0.20.2:
+ resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/win32-x64@0.20.2:
+ resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@iconify/types@2.0.0:
+ resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
+ dev: true
+
+ /@iconify/utils@2.1.33:
+ resolution: {integrity: sha512-jP9h6v/g0BIZx0p7XGJJVtkVnydtbgTgt9mVNcGDYwaa7UhdHdI9dvoq+gKj9sijMSJKxUPEG2JyjsgXjxL7Kw==}
+ dependencies:
+ '@antfu/install-pkg': 0.4.1
+ '@antfu/utils': 0.7.10
+ '@iconify/types': 2.0.0
+ debug: 4.3.7
+ kolorist: 1.8.0
+ local-pkg: 0.5.0
+ mlly: 1.7.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@intlify/core-base@9.1.9:
+ resolution: {integrity: sha512-x5T0p/Ja0S8hs5xs+ImKyYckVkL4CzcEXykVYYV6rcbXxJTe2o58IquSqX9bdncVKbRZP7GlBU1EcRaQEEJ+vw==}
+ engines: {node: '>= 10'}
+ dependencies:
+ '@intlify/devtools-if': 9.1.9
+ '@intlify/message-compiler': 9.1.9
+ '@intlify/message-resolver': 9.1.9
+ '@intlify/runtime': 9.1.9
+ '@intlify/shared': 9.1.9
+ '@intlify/vue-devtools': 9.1.9
+
+ /@intlify/core-base@9.14.1:
+ resolution: {integrity: sha512-rG5/hlNW6Qfve41go37szEf0mVLcfhYuOu83JcY0jZKasnwsrcZYYWDzebCcuO5I/6Sy1JFWo9p+nvkQS1Dy+w==}
+ engines: {node: '>= 16'}
+ dependencies:
+ '@intlify/message-compiler': 9.14.1
+ '@intlify/shared': 9.14.1
+ dev: false
+
+ /@intlify/devtools-if@9.1.9:
+ resolution: {integrity: sha512-oKSMKjttG3Ut/1UGEZjSdghuP3fwA15zpDPcjkf/1FjlOIm6uIBGMNS5jXzsZy593u+P/YcnrZD6cD3IVFz9vQ==}
+ engines: {node: '>= 10'}
+ dependencies:
+ '@intlify/shared': 9.1.9
+
+ /@intlify/message-compiler@9.1.9:
+ resolution: {integrity: sha512-6YgCMF46Xd0IH2hMRLCssZI3gFG4aywidoWQ3QP4RGYQXQYYfFC54DxhSgfIPpVoPLQ+4AD29eoYmhiHZ+qLFQ==}
+ engines: {node: '>= 10'}
+ dependencies:
+ '@intlify/message-resolver': 9.1.9
+ '@intlify/shared': 9.1.9
+ source-map: 0.6.1
+
+ /@intlify/message-compiler@9.14.1:
+ resolution: {integrity: sha512-MY8hwukJBnXvGAncVKlHsqKDQ5ZcQx4peqEmI8wBUTXn4pezrtTGYXNoz81cLyEEHB+L/zlKWVBSh5TiX4gYoQ==}
+ engines: {node: '>= 16'}
+ dependencies:
+ '@intlify/shared': 9.14.1
+ source-map-js: 1.2.1
+ dev: false
+
+ /@intlify/message-resolver@9.1.9:
+ resolution: {integrity: sha512-Lx/DBpigeK0sz2BBbzv5mu9/dAlt98HxwbG7xLawC3O2xMF9MNWU5FtOziwYG6TDIjNq0O/3ZbOJAxwITIWXEA==}
+ engines: {node: '>= 10'}
+
+ /@intlify/runtime@9.1.9:
+ resolution: {integrity: sha512-XgPw8+UlHCiie3fI41HPVa/VDJb3/aSH7bLhY1hJvlvNV713PFtb4p4Jo+rlE0gAoMsMCGcsiT982fImolSltg==}
+ engines: {node: '>= 10'}
+ dependencies:
+ '@intlify/message-compiler': 9.1.9
+ '@intlify/message-resolver': 9.1.9
+ '@intlify/shared': 9.1.9
+
+ /@intlify/shared@9.1.9:
+ resolution: {integrity: sha512-xKGM1d0EAxdDFCWedcYXOm6V5Pfw/TMudd6/qCdEb4tv0hk9EKeg7lwQF1azE0dP2phvx0yXxrt7UQK+IZjNdw==}
+ engines: {node: '>= 10'}
+
+ /@intlify/shared@9.14.1:
+ resolution: {integrity: sha512-XjHu6PEQup9MnP1x0W9y0nXXfq9jFftAYSfV11hryjtH4XqXP8HrzMvXI+ZVifF+jZLszaTzIhvukllplxTQTg==}
+ engines: {node: '>= 16'}
+ dev: false
+
+ /@intlify/vue-devtools@9.1.9:
+ resolution: {integrity: sha512-YPehH9uL4vZcGXky4Ev5qQIITnHKIvsD2GKGXgqf+05osMUI6WSEQHaN9USRa318Rs8RyyPCiDfmA0hRu3k7og==}
+ engines: {node: '>= 10'}
+ dependencies:
+ '@intlify/message-resolver': 9.1.9
+ '@intlify/runtime': 9.1.9
+ '@intlify/shared': 9.1.9
+
+ /@istanbuljs/load-nyc-config@1.1.0:
+ resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ camelcase: 5.3.1
+ find-up: 4.1.0
+ get-package-type: 0.1.0
+ js-yaml: 3.14.1
+ resolve-from: 5.0.0
+ dev: true
+
+ /@istanbuljs/schema@0.1.3:
+ resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /@jest/console@27.5.1:
+ resolution: {integrity: sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@jest/types': 27.5.1
+ '@types/node': 18.19.64
+ chalk: 4.1.2
+ jest-message-util: 27.5.1
+ jest-util: 27.5.1
+ slash: 3.0.0
+ dev: true
+
+ /@jest/core@27.5.1:
+ resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+ dependencies:
+ '@jest/console': 27.5.1
+ '@jest/reporters': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 18.19.64
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ emittery: 0.8.1
+ exit: 0.1.2
+ graceful-fs: 4.2.11
+ jest-changed-files: 27.5.1
+ jest-config: 27.5.1
+ jest-haste-map: 27.5.1
+ jest-message-util: 27.5.1
+ jest-regex-util: 27.5.1
+ jest-resolve: 27.5.1
+ jest-resolve-dependencies: 27.5.1
+ jest-runner: 27.5.1
+ jest-runtime: 27.5.1
+ jest-snapshot: 27.5.1
+ jest-util: 27.5.1
+ jest-validate: 27.5.1
+ jest-watcher: 27.5.1
+ micromatch: 4.0.8
+ rimraf: 3.0.2
+ slash: 3.0.0
+ strip-ansi: 6.0.1
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - ts-node
+ - utf-8-validate
+ dev: true
+
+ /@jest/environment@27.5.1:
+ resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@jest/fake-timers': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 18.19.64
+ jest-mock: 27.5.1
+ dev: true
+
+ /@jest/fake-timers@27.5.1:
+ resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@jest/types': 27.5.1
+ '@sinonjs/fake-timers': 8.1.0
+ '@types/node': 18.19.64
+ jest-message-util: 27.5.1
+ jest-mock: 27.5.1
+ jest-util: 27.5.1
+ dev: true
+
+ /@jest/globals@27.5.1:
+ resolution: {integrity: sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/types': 27.5.1
+ expect: 27.5.1
+ dev: true
+
+ /@jest/reporters@27.5.1:
+ resolution: {integrity: sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+ dependencies:
+ '@bcoe/v8-coverage': 0.2.3
+ '@jest/console': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 18.19.64
+ chalk: 4.1.2
+ collect-v8-coverage: 1.0.2
+ exit: 0.1.2
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ istanbul-lib-coverage: 3.2.2
+ istanbul-lib-instrument: 5.2.1
+ istanbul-lib-report: 3.0.1
+ istanbul-lib-source-maps: 4.0.1
+ istanbul-reports: 3.1.7
+ jest-haste-map: 27.5.1
+ jest-resolve: 27.5.1
+ jest-util: 27.5.1
+ jest-worker: 27.5.1
+ slash: 3.0.0
+ source-map: 0.6.1
+ string-length: 4.0.2
+ terminal-link: 2.1.1
+ v8-to-istanbul: 8.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@jest/source-map@27.5.1:
+ resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ callsites: 3.1.0
+ graceful-fs: 4.2.11
+ source-map: 0.6.1
+ dev: true
+
+ /@jest/test-result@27.5.1:
+ resolution: {integrity: sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@jest/console': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/istanbul-lib-coverage': 2.0.6
+ collect-v8-coverage: 1.0.2
+ dev: true
+
+ /@jest/test-sequencer@27.5.1:
+ resolution: {integrity: sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@jest/test-result': 27.5.1
+ graceful-fs: 4.2.11
+ jest-haste-map: 27.5.1
+ jest-runtime: 27.5.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@jest/transform@27.5.1:
+ resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@babel/core': 7.26.0
+ '@jest/types': 27.5.1
+ babel-plugin-istanbul: 6.1.1
+ chalk: 4.1.2
+ convert-source-map: 1.9.0
+ fast-json-stable-stringify: 2.1.0
+ graceful-fs: 4.2.11
+ jest-haste-map: 27.5.1
+ jest-regex-util: 27.5.1
+ jest-util: 27.5.1
+ micromatch: 4.0.8
+ pirates: 4.0.6
+ slash: 3.0.0
+ source-map: 0.6.1
+ write-file-atomic: 3.0.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@jest/types@27.5.1:
+ resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.6
+ '@types/istanbul-reports': 3.0.4
+ '@types/node': 18.19.64
+ '@types/yargs': 16.0.9
+ chalk: 4.1.2
+ dev: true
+
+ /@jimp/bmp@0.10.3(@jimp/custom@0.10.3):
+ resolution: {integrity: sha512-keMOc5woiDmONXsB/6aXLR4Z5Q+v8lFq3EY2rcj2FmstbDMhRuGbmcBxlEgOqfRjwvtf/wOtJ3Of37oAWtVfLg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ bmp-js: 0.1.0
+ core-js: 3.39.0
+ dev: false
+
+ /@jimp/core@0.10.3:
+ resolution: {integrity: sha512-Gd5IpL3U2bFIO57Fh/OA3HCpWm4uW/pU01E75rI03BXfTdz3T+J7TwvyG1XaqsQ7/DSlS99GXtLQPlfFIe28UA==}
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/utils': 0.10.3
+ any-base: 1.1.0
+ buffer: 5.7.1
+ core-js: 3.39.0
+ exif-parser: 0.1.12
+ file-type: 9.0.0
+ load-bmfont: 1.4.2
+ mkdirp: 0.5.6
+ phin: 2.9.3
+ pixelmatch: 4.0.2
+ tinycolor2: 1.6.0
+ transitivePeerDependencies:
+ - debug
+ dev: false
+
+ /@jimp/custom@0.10.3:
+ resolution: {integrity: sha512-nZmSI+jwTi5IRyNLbKSXQovoeqsw+D0Jn0SxW08wYQvdkiWA8bTlDQFgQ7HVwCAKBm8oKkDB/ZEo9qvHJ+1gAQ==}
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/core': 0.10.3
+ core-js: 3.39.0
+ transitivePeerDependencies:
+ - debug
+ dev: false
+
+ /@jimp/gif@0.10.3(@jimp/custom@0.10.3):
+ resolution: {integrity: sha512-vjlRodSfz1CrUvvrnUuD/DsLK1GHB/yDZXHthVdZu23zYJIW7/WrIiD1IgQ5wOMV7NocfrvPn2iqUfBP81/WWA==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ omggif: 1.0.10
+ dev: false
+
+ /@jimp/jpeg@0.10.3(@jimp/custom@0.10.3):
+ resolution: {integrity: sha512-AAANwgUZOt6f6P7LZxY9lyJ9xclqutYJlsxt3JbriXUGJgrrFAIkcKcqv1nObgmQASSAQKYaMV9KdHjMlWFKlQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ jpeg-js: 0.3.7
+ dev: false
+
+ /@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3):
+ resolution: {integrity: sha512-5zlKlCfx4JWw9qUVC7GI4DzXyxDWyFvgZLaoGFoT00mlXlN75SarlDwc9iZ/2e2kp4bJWxz3cGgG4G/WXrbg3Q==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ dev: false
+
+ /@jimp/plugin-blur@0.10.3(@jimp/custom@0.10.3):
+ resolution: {integrity: sha512-cTOK3rjh1Yjh23jSfA6EHCHjsPJDEGLC8K2y9gM7dnTUK1y9NNmkFS23uHpyjgsWFIoH9oRh2SpEs3INjCpZhQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ dev: false
+
+ /@jimp/plugin-circle@0.10.3(@jimp/custom@0.10.3):
+ resolution: {integrity: sha512-51GAPIVelqAcfuUpaM5JWJ0iWl4vEjNXB7p4P7SX5udugK5bxXUjO6KA2qgWmdpHuCKtoNgkzWU9fNSuYp7tCA==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ dev: false
+
+ /@jimp/plugin-color@0.10.3(@jimp/custom@0.10.3):
+ resolution: {integrity: sha512-RgeHUElmlTH7vpI4WyQrz6u59spiKfVQbsG/XUzfWGamFSixa24ZDwX/yV/Ts+eNaz7pZeIuv533qmKPvw2ujg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ tinycolor2: 1.6.0
+ dev: false
+
+ /@jimp/plugin-contain@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3)(@jimp/plugin-resize@0.10.3)(@jimp/plugin-scale@0.10.3):
+ resolution: {integrity: sha512-bYJKW9dqzcB0Ihc6u7jSyKa3juStzbLs2LFr6fu8TzA2WkMS/R8h+ddkiO36+F9ILTWHP0CIA3HFe5OdOGcigw==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-blit': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+ '@jimp/plugin-scale': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/plugin-blit': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-scale': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3)
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ dev: false
+
+ /@jimp/plugin-cover@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-crop@0.10.3)(@jimp/plugin-resize@0.10.3)(@jimp/plugin-scale@0.10.3):
+ resolution: {integrity: sha512-pOxu0cM0BRPzdV468n4dMocJXoMbTnARDY/EpC3ZW15SpMuc/dr1KhWQHgoQX5kVW1Wt8zgqREAJJCQ5KuPKDA==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-crop': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+ '@jimp/plugin-scale': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/plugin-crop': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-scale': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3)
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ dev: false
+
+ /@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3):
+ resolution: {integrity: sha512-nB7HgOjjl9PgdHr076xZ3Sr6qHYzeBYBs9qvs3tfEEUeYMNnvzgCCGtUl6eMakazZFCMk3mhKmcB9zQuHFOvkg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ dev: false
+
+ /@jimp/plugin-displace@0.10.3(@jimp/custom@0.10.3):
+ resolution: {integrity: sha512-8t3fVKCH5IVqI4lewe4lFFjpxxr69SQCz5/tlpDLQZsrNScNJivHdQ09zljTrVTCSgeCqQJIKgH2Q7Sk/pAZ0w==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ dev: false
+
+ /@jimp/plugin-dither@0.10.3(@jimp/custom@0.10.3):
+ resolution: {integrity: sha512-JCX/oNSnEg1kGQ8ffZ66bEgQOLCY3Rn+lrd6v1jjLy/mn9YVZTMsxLtGCXpiCDC2wG/KTmi4862ysmP9do9dAQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ dev: false
+
+ /@jimp/plugin-fisheye@0.10.3(@jimp/custom@0.10.3):
+ resolution: {integrity: sha512-RRZb1wqe+xdocGcFtj2xHU7sF7xmEZmIa6BmrfSchjyA2b32TGPWKnP3qyj7p6LWEsXn+19hRYbjfyzyebPElQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ dev: false
+
+ /@jimp/plugin-flip@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-rotate@0.10.3):
+ resolution: {integrity: sha512-0epbi8XEzp0wmSjoW9IB0iMu0yNF17aZOxLdURCN3Zr+8nWPs5VNIMqSVa1Y62GSyiMDpVpKF/ITiXre+EqrPg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-rotate': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/plugin-rotate': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3)(@jimp/plugin-crop@0.10.3)(@jimp/plugin-resize@0.10.3)
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ dev: false
+
+ /@jimp/plugin-gaussian@0.10.3(@jimp/custom@0.10.3):
+ resolution: {integrity: sha512-25eHlFbHUDnMMGpgRBBeQ2AMI4wsqCg46sue0KklI+c2BaZ+dGXmJA5uT8RTOrt64/K9Wz5E+2n7eBnny4dfpQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ dev: false
+
+ /@jimp/plugin-invert@0.10.3(@jimp/custom@0.10.3):
+ resolution: {integrity: sha512-effYSApWY/FbtlzqsKXlTLkgloKUiHBKjkQnqh5RL4oQxh/33j6aX+HFdDyQKtsXb8CMd4xd7wyiD2YYabTa0g==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ dev: false
+
+ /@jimp/plugin-mask@0.10.3(@jimp/custom@0.10.3):
+ resolution: {integrity: sha512-twrg8q8TIhM9Z6Jcu9/5f+OCAPaECb0eKrrbbIajJqJ3bCUlj5zbfgIhiQIzjPJ6KjpnFPSqHQfHkU1Vvk/nVw==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ dev: false
+
+ /@jimp/plugin-normalize@0.10.3(@jimp/custom@0.10.3):
+ resolution: {integrity: sha512-xkb5eZI/mMlbwKkDN79+1/t/+DBo8bBXZUMsT4gkFgMRKNRZ6NQPxlv1d3QpRzlocsl6UMxrHnhgnXdLAcgrXw==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ dev: false
+
+ /@jimp/plugin-print@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3):
+ resolution: {integrity: sha512-wjRiI6yjXsAgMe6kVjizP+RgleUCLkH256dskjoNvJzmzbEfO7xQw9g6M02VET+emnbY0CO83IkrGm2q43VRyg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-blit': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/plugin-blit': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ load-bmfont: 1.4.2
+ transitivePeerDependencies:
+ - debug
+ dev: false
+
+ /@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3):
+ resolution: {integrity: sha512-rf8YmEB1d7Sg+g4LpqF0Mp+dfXfb6JFJkwlAIWPUOR7lGsPWALavEwTW91c0etEdnp0+JB9AFpy6zqq7Lwkq6w==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ dev: false
+
+ /@jimp/plugin-rotate@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3)(@jimp/plugin-crop@0.10.3)(@jimp/plugin-resize@0.10.3):
+ resolution: {integrity: sha512-YXLlRjm18fkW9MOHUaVAxWjvgZM851ofOipytz5FyKp4KZWDLk+dZK1JNmVmK7MyVmAzZ5jsgSLhIgj+GgN0Eg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-blit': '>=0.3.5'
+ '@jimp/plugin-crop': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/plugin-blit': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-crop': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ dev: false
+
+ /@jimp/plugin-scale@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3):
+ resolution: {integrity: sha512-5DXD7x7WVcX1gUgnlFXQa8F+Q3ThRYwJm+aesgrYvDOY+xzRoRSdQvhmdd4JEEue3lyX44DvBSgCIHPtGcEPaw==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ dev: false
+
+ /@jimp/plugin-shadow@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blur@0.10.3)(@jimp/plugin-resize@0.10.3):
+ resolution: {integrity: sha512-/nkFXpt2zVcdP4ETdkAUL0fSzyrC5ZFxdcphbYBodqD7fXNqChS/Un1eD4xCXWEpW8cnG9dixZgQgStjywH0Mg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-blur': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/plugin-blur': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ dev: false
+
+ /@jimp/plugin-threshold@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-color@0.10.3)(@jimp/plugin-resize@0.10.3):
+ resolution: {integrity: sha512-Dzh0Yq2wXP2SOnxcbbiyA4LJ2luwrdf1MghNIt9H+NX7B+IWw/N8qA2GuSm9n4BPGSLluuhdAWJqHcTiREriVA==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-color': '>=0.8.0'
+ '@jimp/plugin-resize': '>=0.8.0'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/plugin-color': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ dev: false
+
+ /@jimp/plugins@0.10.3(@jimp/custom@0.10.3):
+ resolution: {integrity: sha512-jTT3/7hOScf0EIKiAXmxwayHhryhc1wWuIe3FrchjDjr9wgIGNN2a7XwCgPl3fML17DXK1x8EzDneCdh261bkw==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/plugin-blit': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-blur': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-circle': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-color': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-contain': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3)(@jimp/plugin-resize@0.10.3)(@jimp/plugin-scale@0.10.3)
+ '@jimp/plugin-cover': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-crop@0.10.3)(@jimp/plugin-resize@0.10.3)(@jimp/plugin-scale@0.10.3)
+ '@jimp/plugin-crop': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-displace': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-dither': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-fisheye': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-flip': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-rotate@0.10.3)
+ '@jimp/plugin-gaussian': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-invert': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-mask': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-normalize': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-print': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3)
+ '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/plugin-rotate': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3)(@jimp/plugin-crop@0.10.3)(@jimp/plugin-resize@0.10.3)
+ '@jimp/plugin-scale': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3)
+ '@jimp/plugin-shadow': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blur@0.10.3)(@jimp/plugin-resize@0.10.3)
+ '@jimp/plugin-threshold': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-color@0.10.3)(@jimp/plugin-resize@0.10.3)
+ core-js: 3.39.0
+ timm: 1.7.1
+ transitivePeerDependencies:
+ - debug
+ dev: false
+
+ /@jimp/png@0.10.3(@jimp/custom@0.10.3):
+ resolution: {integrity: sha512-YKqk/dkl+nGZxSYIDQrqhmaP8tC3IK8H7dFPnnzFVvbhDnyYunqBZZO3SaZUKTichClRw8k/CjBhbc+hifSGWg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/utils': 0.10.3
+ core-js: 3.39.0
+ pngjs: 3.4.0
+ dev: false
+
+ /@jimp/tiff@0.10.3(@jimp/custom@0.10.3):
+ resolution: {integrity: sha512-7EsJzZ5Y/EtinkBGuwX3Bi4S+zgbKouxjt9c82VJTRJOQgLWsE/RHqcyRCOQBhHAZ9QexYmDz34medfLKdoX0g==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ core-js: 3.39.0
+ utif: 2.0.1
+ dev: false
+
+ /@jimp/types@0.10.3(@jimp/custom@0.10.3):
+ resolution: {integrity: sha512-XGmBakiHZqseSWr/puGN+CHzx0IKBSpsKlmEmsNV96HKDiP6eu8NSnwdGCEq2mmIHe0JNcg1hqg59hpwtQ7Tiw==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/bmp': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/custom': 0.10.3
+ '@jimp/gif': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/jpeg': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/png': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/tiff': 0.10.3(@jimp/custom@0.10.3)
+ core-js: 3.39.0
+ timm: 1.7.1
+ dev: false
+
+ /@jimp/utils@0.10.3:
+ resolution: {integrity: sha512-VcSlQhkil4ReYmg1KkN+WqHyYfZ2XfZxDsKAHSfST1GEz/RQHxKZbX+KhFKtKflnL0F4e6DlNQj3vznMNXCR2w==}
+ dependencies:
+ '@babel/runtime': 7.26.0
+ core-js: 3.39.0
+ regenerator-runtime: 0.13.11
+ dev: false
+
+ /@jridgewell/gen-mapping@0.3.5:
+ resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ '@jridgewell/set-array': 1.2.1
+ '@jridgewell/sourcemap-codec': 1.5.0
+ '@jridgewell/trace-mapping': 0.3.25
+
+ /@jridgewell/resolve-uri@3.1.2:
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
+ engines: {node: '>=6.0.0'}
+
+ /@jridgewell/set-array@1.2.1:
+ resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
+ engines: {node: '>=6.0.0'}
+
+ /@jridgewell/source-map@0.3.6:
+ resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==}
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+
+ /@jridgewell/sourcemap-codec@1.5.0:
+ resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
+
+ /@jridgewell/trace-mapping@0.3.25:
+ resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.0
+
+ /@meoc/utils@0.2.8:
+ resolution: {integrity: sha512-SogV9QQpK05CVO3Gz071fRFH/PbbXxCP566VYOs/ux62RTuTbfAVeT8jkiYfzBpg+ImqpKkkK6o6tcbGM0rESQ==}
+ dependencies:
+ dayjs: 1.11.13
+ 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
+
+ /@nodelib/fs.stat@2.0.5:
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+
+ /@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.17.1
+
+ /@polka/url@1.0.0-next.28:
+ resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==}
+ dev: true
+
+ /@rollup/pluginutils@5.1.3:
+ resolution: {integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==}
+ 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.6
+ estree-walker: 2.0.2
+ picomatch: 4.0.2
+
+ /@rollup/rollup-android-arm-eabi@4.24.4:
+ resolution: {integrity: sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ optional: true
+
+ /@rollup/rollup-android-arm64@4.24.4:
+ resolution: {integrity: sha512-j4nrEO6nHU1nZUuCfRKoCcvh7PIywQPUCBa2UsootTHvTHIoIu2BzueInGJhhvQO/2FTRdNYpf63xsgEqH9IhA==}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ optional: true
+
+ /@rollup/rollup-darwin-arm64@4.24.4:
+ resolution: {integrity: sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ==}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /@rollup/rollup-darwin-x64@4.24.4:
+ resolution: {integrity: sha512-N6oDBiZCBKlwYcsEPXGDE4g9RoxZLK6vT98M8111cW7VsVJFpNEqvJeIPfsCzbf0XEakPslh72X0gnlMi4Ddgg==}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /@rollup/rollup-freebsd-arm64@4.24.4:
+ resolution: {integrity: sha512-py5oNShCCjCyjWXCZNrRGRpjWsF0ic8f4ieBNra5buQz0O/U6mMXCpC1LvrHuhJsNPgRt36tSYMidGzZiJF6mw==}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ optional: true
+
+ /@rollup/rollup-freebsd-x64@4.24.4:
+ resolution: {integrity: sha512-L7VVVW9FCnTTp4i7KrmHeDsDvjB4++KOBENYtNYAiYl96jeBThFfhP6HVxL74v4SiZEVDH/1ILscR5U9S4ms4g==}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ optional: true
+
+ /@rollup/rollup-linux-arm-gnueabihf@4.24.4:
+ resolution: {integrity: sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==}
+ cpu: [arm]
+ os: [linux]
+ libc: [glibc]
+ requiresBuild: true
+ optional: true
+
+ /@rollup/rollup-linux-arm-musleabihf@4.24.4:
+ resolution: {integrity: sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==}
+ cpu: [arm]
+ os: [linux]
+ libc: [musl]
+ requiresBuild: true
+ optional: true
+
+ /@rollup/rollup-linux-arm64-gnu@4.24.4:
+ resolution: {integrity: sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+ requiresBuild: true
+ optional: true
+
+ /@rollup/rollup-linux-arm64-musl@4.24.4:
+ resolution: {integrity: sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+ requiresBuild: true
+ optional: true
+
+ /@rollup/rollup-linux-powerpc64le-gnu@4.24.4:
+ resolution: {integrity: sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+ requiresBuild: true
+ optional: true
+
+ /@rollup/rollup-linux-riscv64-gnu@4.24.4:
+ resolution: {integrity: sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+ requiresBuild: true
+ optional: true
+
+ /@rollup/rollup-linux-s390x-gnu@4.24.4:
+ resolution: {integrity: sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+ requiresBuild: true
+ optional: true
+
+ /@rollup/rollup-linux-x64-gnu@4.24.4:
+ resolution: {integrity: sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+ requiresBuild: true
+ optional: true
+
+ /@rollup/rollup-linux-x64-musl@4.24.4:
+ resolution: {integrity: sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+ requiresBuild: true
+ optional: true
+
+ /@rollup/rollup-win32-arm64-msvc@4.24.4:
+ resolution: {integrity: sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA==}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@rollup/rollup-win32-ia32-msvc@4.24.4:
+ resolution: {integrity: sha512-V3nCe+eTt/W6UYNr/wGvO1fLpHUrnlirlypZfKCT1fG6hWfqhPgQV/K/mRBXBpxc0eKLIF18pIOFVPh0mqHjlg==}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@rollup/rollup-win32-x64-msvc@4.24.4:
+ resolution: {integrity: sha512-LTw1Dfd0mBIEqUVCxbvTE/LLo+9ZxVC9k99v1v4ahg9Aak6FpqOfNu5kRkeTAn0wphoC4JU7No1/rL+bBCEwhg==}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@sinonjs/commons@1.8.6:
+ resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==}
+ dependencies:
+ type-detect: 4.0.8
+ dev: true
+
+ /@sinonjs/fake-timers@8.1.0:
+ resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==}
+ dependencies:
+ '@sinonjs/commons': 1.8.6
+ dev: true
+
+ /@tootallnate/once@1.1.2:
+ resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==}
+ engines: {node: '>= 6'}
+ dev: true
+
+ /@types/babel__core@7.20.5:
+ resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
+ dependencies:
+ '@babel/parser': 7.26.2
+ '@babel/types': 7.26.0
+ '@types/babel__generator': 7.6.8
+ '@types/babel__template': 7.4.4
+ '@types/babel__traverse': 7.20.6
+ dev: true
+
+ /@types/babel__generator@7.6.8:
+ resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
+ dependencies:
+ '@babel/types': 7.26.0
+ dev: true
+
+ /@types/babel__template@7.4.4:
+ resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
+ dependencies:
+ '@babel/parser': 7.26.2
+ '@babel/types': 7.26.0
+ dev: true
+
+ /@types/babel__traverse@7.20.6:
+ resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==}
+ dependencies:
+ '@babel/types': 7.26.0
+ dev: true
+
+ /@types/eslint-scope@3.7.7:
+ resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
+ dependencies:
+ '@types/eslint': 9.6.1
+ '@types/estree': 1.0.6
+ dev: true
+
+ /@types/eslint@9.6.1:
+ resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==}
+ dependencies:
+ '@types/estree': 1.0.6
+ '@types/json-schema': 7.0.15
+ dev: true
+
+ /@types/estree@1.0.6:
+ resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
+
+ /@types/graceful-fs@4.1.9:
+ resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==}
+ dependencies:
+ '@types/node': 18.19.64
+ dev: true
+
+ /@types/istanbul-lib-coverage@2.0.6:
+ resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
+ dev: true
+
+ /@types/istanbul-lib-report@3.0.3:
+ resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==}
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.6
+ dev: true
+
+ /@types/istanbul-reports@3.0.4:
+ resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
+ dependencies:
+ '@types/istanbul-lib-report': 3.0.3
+ dev: true
+
+ /@types/json-schema@7.0.15:
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+ dev: true
+
+ /@types/node@18.19.64:
+ resolution: {integrity: sha512-955mDqvO2vFf/oL7V3WiUtiz+BugyX8uVbaT2H8oj3+8dRyH2FLiNdowe7eNqRM7IOIZvzDH76EoAT+gwm6aIQ==}
+ dependencies:
+ undici-types: 5.26.5
+
+ /@types/prettier@2.7.3:
+ resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==}
+ dev: true
+
+ /@types/stack-utils@2.0.3:
+ resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
+ dev: true
+
+ /@types/yargs-parser@21.0.3:
+ resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
+ dev: true
+
+ /@types/yargs@16.0.9:
+ resolution: {integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==}
+ dependencies:
+ '@types/yargs-parser': 21.0.3
+ dev: true
+
+ /@unocss/astro@0.58.9(vite@5.2.8):
+ resolution: {integrity: sha512-VWfHNC0EfawFxLfb3uI+QcMGBN+ju+BYtutzeZTjilLKj31X2UpqIh8fepixL6ljgZzB3fweqg2xtUMC0gMnoQ==}
+ peerDependencies:
+ vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
+ peerDependenciesMeta:
+ vite:
+ optional: true
+ dependencies:
+ '@unocss/core': 0.58.9
+ '@unocss/reset': 0.58.9
+ '@unocss/vite': 0.58.9(vite@5.2.8)
+ vite: 5.2.8(@types/node@18.19.64)(sass@1.71.1)(terser@5.36.0)
+ transitivePeerDependencies:
+ - rollup
+ dev: true
+
+ /@unocss/cli@0.58.9:
+ resolution: {integrity: sha512-q7qlwX3V6UaqljWUQ5gMj36yTA9eLuuRywahdQWt1ioy4aPF/MEEfnMBZf/ntrqf5tIT5TO8fE11nvCco2Q/sA==}
+ engines: {node: '>=14'}
+ hasBin: true
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@rollup/pluginutils': 5.1.3
+ '@unocss/config': 0.58.9
+ '@unocss/core': 0.58.9
+ '@unocss/preset-uno': 0.58.9
+ cac: 6.7.14
+ chokidar: 3.6.0
+ colorette: 2.0.20
+ consola: 3.2.3
+ fast-glob: 3.3.2
+ magic-string: 0.30.12
+ pathe: 1.1.2
+ perfect-debounce: 1.0.0
+ transitivePeerDependencies:
+ - rollup
+ dev: true
+
+ /@unocss/config@0.58.9:
+ resolution: {integrity: sha512-90wRXIyGNI8UenWxvHUcH4l4rgq813MsTzYWsf6ZKyLLvkFjV2b2EfGXI27GPvZ7fVE1OAqx+wJNTw8CyQxwag==}
+ engines: {node: '>=14'}
+ dependencies:
+ '@unocss/core': 0.58.9
+ unconfig: 0.3.13
+ dev: true
+
+ /@unocss/core@0.58.9:
+ resolution: {integrity: sha512-wYpPIPPsOIbIoMIDuH8ihehJk5pAZmyFKXIYO/Kro98GEOFhz6lJoLsy6/PZuitlgp2/TSlubUuWGjHWvp5osw==}
+ dev: true
+
+ /@unocss/extractor-arbitrary-variants@0.58.9:
+ resolution: {integrity: sha512-M/BvPdbEEMdhcFQh/z2Bf9gylO1Ky/ZnpIvKWS1YJPLt4KA7UWXSUf+ZNTFxX+X58Is5qAb5hNh/XBQmL3gbXg==}
+ dependencies:
+ '@unocss/core': 0.58.9
+ dev: true
+
+ /@unocss/inspector@0.58.9:
+ resolution: {integrity: sha512-uRzqkCNeBmEvFePXcfIFcQPMlCXd9/bLwa5OkBthiOILwQdH1uRIW3GWAa2SWspu+kZLP0Ly3SjZ9Wqi+5ZtTw==}
+ dependencies:
+ '@unocss/core': 0.58.9
+ '@unocss/rule-utils': 0.58.9
+ gzip-size: 6.0.0
+ sirv: 2.0.4
+ dev: true
+
+ /@unocss/postcss@0.58.9(postcss@8.4.47):
+ resolution: {integrity: sha512-PnKmH6Qhimw35yO6u6yx9SHaX2NmvbRNPDvMDHA/1xr3M8L0o8U88tgKbWfm65NEGF3R1zJ9A8rjtZn/LPkgPA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ postcss: ^8.4.21
+ dependencies:
+ '@unocss/config': 0.58.9
+ '@unocss/core': 0.58.9
+ '@unocss/rule-utils': 0.58.9
+ css-tree: 2.3.1
+ fast-glob: 3.3.2
+ magic-string: 0.30.12
+ postcss: 8.4.47
+ dev: true
+
+ /@unocss/preset-attributify@0.58.9:
+ resolution: {integrity: sha512-ucP+kXRFcwmBmHohUVv31bE/SejMAMo7Hjb0QcKVLyHlzRWUJsfNR+jTAIGIUSYxN7Q8MeigYsongGo3nIeJnQ==}
+ dependencies:
+ '@unocss/core': 0.58.9
+ dev: true
+
+ /@unocss/preset-icons@0.58.9:
+ resolution: {integrity: sha512-9dS48+yAunsbS0ylOW2Wisozwpn3nGY1CqTiidkUnrMnrZK3al579A7srUX9NyPWWDjprO7eU/JkWbdDQSmFFA==}
+ dependencies:
+ '@iconify/utils': 2.1.33
+ '@unocss/core': 0.58.9
+ ofetch: 1.4.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@unocss/preset-mini@0.58.9:
+ resolution: {integrity: sha512-m4aDGYtueP8QGsU3FsyML63T/w5Mtr4htme2jXy6m50+tzC1PPHaIBstMTMQfLc6h8UOregPJyGHB5iYQZGEvQ==}
+ dependencies:
+ '@unocss/core': 0.58.9
+ '@unocss/extractor-arbitrary-variants': 0.58.9
+ '@unocss/rule-utils': 0.58.9
+ dev: true
+
+ /@unocss/preset-tagify@0.58.9:
+ resolution: {integrity: sha512-obh75XrRmxYwrQMflzvhQUMeHwd/R9bEDhTWUW9aBTolBy4eNypmQwOhHCKh5Xi4Dg6o0xj6GWC/jcCj1SPLog==}
+ dependencies:
+ '@unocss/core': 0.58.9
+ dev: true
+
+ /@unocss/preset-typography@0.58.9:
+ resolution: {integrity: sha512-hrsaqKlcZni3Vh4fwXC+lP9e92FQYbqtmlZw2jpxlVwwH5aLzwk4d4MiFQGyhCfzuSDYm0Zd52putFVV02J7bA==}
+ dependencies:
+ '@unocss/core': 0.58.9
+ '@unocss/preset-mini': 0.58.9
+ dev: true
+
+ /@unocss/preset-uno@0.58.9:
+ resolution: {integrity: sha512-Fze+X2Z/EegCkRdDRgwwvFBmXBenNR1AG8KxAyz8iPeWbhOBaRra2sn2ScryrfH6SbJHpw26ZyJXycAdS0Fq3A==}
+ dependencies:
+ '@unocss/core': 0.58.9
+ '@unocss/preset-mini': 0.58.9
+ '@unocss/preset-wind': 0.58.9
+ '@unocss/rule-utils': 0.58.9
+ dev: true
+
+ /@unocss/preset-web-fonts@0.58.9:
+ resolution: {integrity: sha512-XtiO+Z+RYnNYomNkS2XxaQiY++CrQZKOfNGw5htgIrb32QtYVQSkyYQ3jDw7JmMiCWlZ4E72cV/zUb++WrZLxg==}
+ dependencies:
+ '@unocss/core': 0.58.9
+ ofetch: 1.4.1
+ dev: true
+
+ /@unocss/preset-wind@0.58.9:
+ resolution: {integrity: sha512-7l+7Vx5UoN80BmJKiqDXaJJ6EUqrnUQYv8NxCThFi5lYuHzxsYWZPLU3k3XlWRUQt8XL+6rYx7mMBmD7EUSHyw==}
+ dependencies:
+ '@unocss/core': 0.58.9
+ '@unocss/preset-mini': 0.58.9
+ '@unocss/rule-utils': 0.58.9
+ dev: true
+
+ /@unocss/reset@0.58.9:
+ resolution: {integrity: sha512-nA2pg3tnwlquq+FDOHyKwZvs20A6iBsKPU7Yjb48JrNnzoaXqE+O9oN6782IG2yKVW4AcnsAnAnM4cxXhGzy1w==}
+ dev: true
+
+ /@unocss/rule-utils@0.58.9:
+ resolution: {integrity: sha512-45bDa+elmlFLthhJmKr2ltKMAB0yoXnDMQ6Zp5j3OiRB7dDMBkwYRPvHLvIe+34Ey7tDt/kvvDPtWMpPl2quUQ==}
+ engines: {node: '>=14'}
+ dependencies:
+ '@unocss/core': 0.58.9
+ magic-string: 0.30.12
+ dev: true
+
+ /@unocss/scope@0.58.9:
+ resolution: {integrity: sha512-BIwcpx0R3bE0rYa9JVDJTk0GX32EBvnbvufBpNkWfC5tb7g+B7nMkVq9ichanksYCCxrIQQo0mrIz5PNzu9sGA==}
+ dev: true
+
+ /@unocss/transformer-attributify-jsx-babel@0.58.9:
+ resolution: {integrity: sha512-UGaQoGZg+3QrsPtnGHPECmsGn4EQb2KSdZ4eGEn2YssjKv+CcQhzRvpEUgnuF/F+jGPkCkS/G/YEQBHRWBY54Q==}
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0)
+ '@babel/preset-typescript': 7.26.0(@babel/core@7.26.0)
+ '@unocss/core': 0.58.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@unocss/transformer-attributify-jsx@0.58.9:
+ resolution: {integrity: sha512-jpL3PRwf8t43v1agUdQn2EHGgfdWfvzsMxFtoybO88xzOikzAJaaouteNtojc/fQat2T9iBduDxVj5egdKmhdQ==}
+ dependencies:
+ '@unocss/core': 0.58.9
+ dev: true
+
+ /@unocss/transformer-compile-class@0.58.9:
+ resolution: {integrity: sha512-l2VpCqelJ6Tgc1kfSODxBtg7fCGPVRr2EUzTg1LrGYKa2McbKuc/wV/2DWKHGxL6+voWi7a2C9XflqGDXXutuQ==}
+ dependencies:
+ '@unocss/core': 0.58.9
+ dev: true
+
+ /@unocss/transformer-directives@0.58.9:
+ resolution: {integrity: sha512-pLOUsdoY2ugVntJXg0xuGjO9XZ2xCiMxTPRtpZ4TsEzUtdEzMswR06Y8VWvNciTB/Zqxcz9ta8rD0DKePOfSuw==}
+ dependencies:
+ '@unocss/core': 0.58.9
+ '@unocss/rule-utils': 0.58.9
+ css-tree: 2.3.1
+ dev: true
+
+ /@unocss/transformer-variant-group@0.58.9:
+ resolution: {integrity: sha512-3A6voHSnFcyw6xpcZT6oxE+KN4SHRnG4z862tdtWvRGcN+jGyNr20ylEZtnbk4xj0VNMeGHHQRZ0WLvmrAwvOQ==}
+ dependencies:
+ '@unocss/core': 0.58.9
+ dev: true
+
+ /@unocss/vite@0.58.9(vite@5.2.8):
+ resolution: {integrity: sha512-mmppBuulAHCal+sC0Qz36Y99t0HicAmznpj70Kzwl7g/yvXwm58/DW2OnpCWw+uA8/JBft/+z3zE+XvrI+T1HA==}
+ peerDependencies:
+ vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@rollup/pluginutils': 5.1.3
+ '@unocss/config': 0.58.9
+ '@unocss/core': 0.58.9
+ '@unocss/inspector': 0.58.9
+ '@unocss/scope': 0.58.9
+ '@unocss/transformer-directives': 0.58.9
+ chokidar: 3.6.0
+ fast-glob: 3.3.2
+ magic-string: 0.30.12
+ vite: 5.2.8(@types/node@18.19.64)(sass@1.71.1)(terser@5.36.0)
+ transitivePeerDependencies:
+ - rollup
+ dev: true
+
+ /@vitejs/plugin-legacy@5.3.2(terser@5.36.0)(vite@5.2.8):
+ resolution: {integrity: sha512-8moCOrIMaZ/Rjln0Q6GsH6s8fAt1JOI3k8nmfX4tXUxE5KAExVctSyOBk+A25GClsdSWqIk2yaUthH3KJ2X4tg==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ peerDependencies:
+ terser: ^5.4.0
+ vite: ^5.0.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/preset-env': 7.26.0(@babel/core@7.26.0)
+ browserslist: 4.24.2
+ browserslist-to-esbuild: 2.1.1(browserslist@4.24.2)
+ core-js: 3.39.0
+ magic-string: 0.30.12
+ regenerator-runtime: 0.14.1
+ systemjs: 6.15.1
+ terser: 5.36.0
+ vite: 5.2.8(@types/node@18.19.64)(sass@1.71.1)(terser@5.36.0)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.8)(vue@3.5.12):
+ resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ vite: ^4.0.0 || ^5.0.0
+ vue: ^3.0.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/plugin-transform-typescript': 7.25.9(@babel/core@7.26.0)
+ '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.26.0)
+ vite: 5.2.8(@types/node@18.19.64)(sass@1.71.1)(terser@5.36.0)
+ vue: 3.5.12(typescript@4.9.5)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@vitejs/plugin-vue@5.1.0(vite@5.2.8)(vue@3.5.12):
+ resolution: {integrity: sha512-QMRxARyrdiwi1mj3AW4fLByoHTavreXq0itdEW696EihXglf1MB3D4C2gBvE0jMPH29ZjC3iK8aIaUMLf4EOGA==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ peerDependencies:
+ vite: ^5.0.0
+ vue: ^3.2.25
+ dependencies:
+ vite: 5.2.8(@types/node@18.19.64)(sass@1.71.1)(terser@5.36.0)
+ vue: 3.5.12(typescript@4.9.5)
+
+ /@volar/language-core@1.11.1:
+ resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==}
+ dependencies:
+ '@volar/source-map': 1.11.1
+ dev: true
+
+ /@volar/source-map@1.11.1:
+ resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==}
+ dependencies:
+ muggle-string: 0.3.1
+ dev: true
+
+ /@volar/typescript@1.11.1:
+ resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==}
+ dependencies:
+ '@volar/language-core': 1.11.1
+ path-browserify: 1.0.1
+ dev: true
+
+ /@vue/babel-helper-vue-transform-on@1.2.5:
+ resolution: {integrity: sha512-lOz4t39ZdmU4DJAa2hwPYmKc8EsuGa2U0L9KaZaOJUt0UwQNjNA3AZTq6uEivhOKhhG1Wvy96SvYBoFmCg3uuw==}
+ dev: true
+
+ /@vue/babel-plugin-jsx@1.2.5(@babel/core@7.26.0):
+ resolution: {integrity: sha512-zTrNmOd4939H9KsRIGmmzn3q2zvv1mjxkYZHgqHZgDrXz5B1Q3WyGEjO2f+JrmKghvl1JIRcvo63LgM1kH5zFg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-module-imports': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0)
+ '@babel/template': 7.25.9
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.26.0
+ '@vue/babel-helper-vue-transform-on': 1.2.5
+ '@vue/babel-plugin-resolve-type': 1.2.5(@babel/core@7.26.0)
+ html-tags: 3.3.1
+ svg-tags: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@vue/babel-plugin-resolve-type@1.2.5(@babel/core@7.26.0):
+ resolution: {integrity: sha512-U/ibkQrf5sx0XXRnUZD1mo5F7PkpKyTbfXM3a3rC4YnUz6crHEz9Jg09jzzL6QYlXNto/9CePdOg/c87O4Nlfg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/code-frame': 7.26.2
+ '@babel/core': 7.26.0
+ '@babel/helper-module-imports': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/parser': 7.26.2
+ '@vue/compiler-sfc': 3.5.12
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@vue/compiler-core@3.4.21:
+ resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==}
+ dependencies:
+ '@babel/parser': 7.26.2
+ '@vue/shared': 3.4.21
+ entities: 4.5.0
+ estree-walker: 2.0.2
+ source-map-js: 1.2.1
+
+ /@vue/compiler-core@3.5.12:
+ resolution: {integrity: sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==}
+ dependencies:
+ '@babel/parser': 7.26.2
+ '@vue/shared': 3.5.12
+ entities: 4.5.0
+ estree-walker: 2.0.2
+ source-map-js: 1.2.1
+
+ /@vue/compiler-dom@3.4.21:
+ resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==}
+ dependencies:
+ '@vue/compiler-core': 3.4.21
+ '@vue/shared': 3.4.21
+
+ /@vue/compiler-dom@3.5.12:
+ resolution: {integrity: sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==}
+ dependencies:
+ '@vue/compiler-core': 3.5.12
+ '@vue/shared': 3.5.12
+
+ /@vue/compiler-sfc@3.4.21:
+ resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==}
+ dependencies:
+ '@babel/parser': 7.26.2
+ '@vue/compiler-core': 3.4.21
+ '@vue/compiler-dom': 3.4.21
+ '@vue/compiler-ssr': 3.4.21
+ '@vue/shared': 3.4.21
+ estree-walker: 2.0.2
+ magic-string: 0.30.12
+ postcss: 8.4.47
+ source-map-js: 1.2.1
+
+ /@vue/compiler-sfc@3.5.12:
+ resolution: {integrity: sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==}
+ dependencies:
+ '@babel/parser': 7.26.2
+ '@vue/compiler-core': 3.5.12
+ '@vue/compiler-dom': 3.5.12
+ '@vue/compiler-ssr': 3.5.12
+ '@vue/shared': 3.5.12
+ estree-walker: 2.0.2
+ magic-string: 0.30.12
+ postcss: 8.4.47
+ source-map-js: 1.2.1
+
+ /@vue/compiler-ssr@3.4.21:
+ resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==}
+ dependencies:
+ '@vue/compiler-dom': 3.4.21
+ '@vue/shared': 3.4.21
+
+ /@vue/compiler-ssr@3.5.12:
+ resolution: {integrity: sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==}
+ dependencies:
+ '@vue/compiler-dom': 3.5.12
+ '@vue/shared': 3.5.12
+
+ /@vue/consolidate@1.0.0:
+ resolution: {integrity: sha512-oTyUE+QHIzLw2PpV14GD/c7EohDyP64xCniWTcqcEmTd699eFqTIwOmtDYjcO1j3QgdXoJEoWv1/cCdLrRoOfg==}
+ engines: {node: '>= 0.12.0'}
+ dev: false
+
+ /@vue/devtools-api@6.6.4:
+ resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==}
+ dev: false
+
+ /@vue/language-core@1.8.27(typescript@4.9.5):
+ resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@volar/language-core': 1.11.1
+ '@volar/source-map': 1.11.1
+ '@vue/compiler-dom': 3.5.12
+ '@vue/shared': 3.5.12
+ computeds: 0.0.1
+ minimatch: 9.0.5
+ muggle-string: 0.3.1
+ path-browserify: 1.0.1
+ typescript: 4.9.5
+ vue-template-compiler: 2.7.16
+ dev: true
+
+ /@vue/reactivity@3.5.12:
+ resolution: {integrity: sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==}
+ dependencies:
+ '@vue/shared': 3.5.12
+
+ /@vue/runtime-core@3.5.12:
+ resolution: {integrity: sha512-hrMUYV6tpocr3TL3Ad8DqxOdpDe4zuQY4HPY3X/VRh+L2myQO8MFXPAMarIOSGNu0bFAjh1yBkMPXZBqCk62Uw==}
+ dependencies:
+ '@vue/reactivity': 3.5.12
+ '@vue/shared': 3.5.12
+
+ /@vue/runtime-dom@3.5.12:
+ resolution: {integrity: sha512-q8VFxR9A2MRfBr6/55Q3umyoN7ya836FzRXajPB6/Vvuv0zOPL+qltd9rIMzG/DbRLAIlREmnLsplEF/kotXKA==}
+ dependencies:
+ '@vue/reactivity': 3.5.12
+ '@vue/runtime-core': 3.5.12
+ '@vue/shared': 3.5.12
+ csstype: 3.1.3
+
+ /@vue/server-renderer@3.4.21(vue@3.5.12):
+ resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==}
+ peerDependencies:
+ vue: 3.4.21
+ dependencies:
+ '@vue/compiler-ssr': 3.4.21
+ '@vue/shared': 3.4.21
+ vue: 3.5.12(typescript@4.9.5)
+
+ /@vue/server-renderer@3.5.12(vue@3.5.12):
+ resolution: {integrity: sha512-I3QoeDDeEPZm8yR28JtY+rk880Oqmj43hreIBVTicisFTx/Dl7JpG72g/X7YF8hnQD3IFhkky5i2bPonwrTVPg==}
+ peerDependencies:
+ vue: 3.5.12
+ dependencies:
+ '@vue/compiler-ssr': 3.5.12
+ '@vue/shared': 3.5.12
+ vue: 3.5.12(typescript@4.9.5)
+
+ /@vue/shared@3.4.21:
+ resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==}
+
+ /@vue/shared@3.5.12:
+ resolution: {integrity: sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==}
+
+ /@vue/tsconfig@0.1.3(@types/node@18.19.64):
+ resolution: {integrity: sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==}
+ peerDependencies:
+ '@types/node': '*'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ dependencies:
+ '@types/node': 18.19.64
+ dev: true
+
+ /@webassemblyjs/ast@1.14.1:
+ resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==}
+ dependencies:
+ '@webassemblyjs/helper-numbers': 1.13.2
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+ dev: true
+
+ /@webassemblyjs/floating-point-hex-parser@1.13.2:
+ resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==}
+ dev: true
+
+ /@webassemblyjs/helper-api-error@1.13.2:
+ resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==}
+ dev: true
+
+ /@webassemblyjs/helper-buffer@1.14.1:
+ resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==}
+ dev: true
+
+ /@webassemblyjs/helper-numbers@1.13.2:
+ resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==}
+ dependencies:
+ '@webassemblyjs/floating-point-hex-parser': 1.13.2
+ '@webassemblyjs/helper-api-error': 1.13.2
+ '@xtuc/long': 4.2.2
+ dev: true
+
+ /@webassemblyjs/helper-wasm-bytecode@1.13.2:
+ resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==}
+ dev: true
+
+ /@webassemblyjs/helper-wasm-section@1.14.1:
+ resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==}
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-buffer': 1.14.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+ '@webassemblyjs/wasm-gen': 1.14.1
+ dev: true
+
+ /@webassemblyjs/ieee754@1.13.2:
+ resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==}
+ dependencies:
+ '@xtuc/ieee754': 1.2.0
+ dev: true
+
+ /@webassemblyjs/leb128@1.13.2:
+ resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==}
+ dependencies:
+ '@xtuc/long': 4.2.2
+ dev: true
+
+ /@webassemblyjs/utf8@1.13.2:
+ resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==}
+ dev: true
+
+ /@webassemblyjs/wasm-edit@1.14.1:
+ resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==}
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-buffer': 1.14.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+ '@webassemblyjs/helper-wasm-section': 1.14.1
+ '@webassemblyjs/wasm-gen': 1.14.1
+ '@webassemblyjs/wasm-opt': 1.14.1
+ '@webassemblyjs/wasm-parser': 1.14.1
+ '@webassemblyjs/wast-printer': 1.14.1
+ dev: true
+
+ /@webassemblyjs/wasm-gen@1.14.1:
+ resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==}
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+ '@webassemblyjs/ieee754': 1.13.2
+ '@webassemblyjs/leb128': 1.13.2
+ '@webassemblyjs/utf8': 1.13.2
+ dev: true
+
+ /@webassemblyjs/wasm-opt@1.14.1:
+ resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==}
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-buffer': 1.14.1
+ '@webassemblyjs/wasm-gen': 1.14.1
+ '@webassemblyjs/wasm-parser': 1.14.1
+ dev: true
+
+ /@webassemblyjs/wasm-parser@1.14.1:
+ resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==}
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-api-error': 1.13.2
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+ '@webassemblyjs/ieee754': 1.13.2
+ '@webassemblyjs/leb128': 1.13.2
+ '@webassemblyjs/utf8': 1.13.2
+ dev: true
+
+ /@webassemblyjs/wast-printer@1.14.1:
+ resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==}
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@xtuc/long': 4.2.2
+ dev: true
+
+ /@xtuc/ieee754@1.2.0:
+ resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
+ dev: true
+
+ /@xtuc/long@4.2.2:
+ resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
+ dev: true
+
+ /abab@2.0.6:
+ resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==}
+ deprecated: Use your platform's native atob() and btoa() methods instead
+ dev: true
+
+ /accepts@1.3.8:
+ resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-types: 2.1.35
+ negotiator: 0.6.3
+ dev: true
+
+ /acorn-globals@6.0.0:
+ resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==}
+ dependencies:
+ acorn: 7.4.1
+ acorn-walk: 7.2.0
+ dev: true
+
+ /acorn-walk@7.2.0:
+ resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
+ engines: {node: '>=0.4.0'}
+ dev: true
+
+ /acorn@7.4.1:
+ resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+ dev: true
+
+ /acorn@8.14.0:
+ resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ /address@1.2.2:
+ resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==}
+ engines: {node: '>= 10.0.0'}
+ dev: true
+
+ /adm-zip@0.5.16:
+ resolution: {integrity: sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==}
+ engines: {node: '>=12.0'}
+
+ /agent-base@6.0.2:
+ resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
+ engines: {node: '>= 6.0.0'}
+ dependencies:
+ debug: 4.3.7
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /ajv-keywords@3.5.2(ajv@6.12.6):
+ resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
+ peerDependencies:
+ ajv: ^6.9.1
+ dependencies:
+ ajv: 6.12.6
+ 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-escapes@4.3.2:
+ resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ type-fest: 0.21.3
+ dev: true
+
+ /ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+ dependencies:
+ color-convert: 2.0.1
+ dev: true
+
+ /ansi-styles@5.2.0:
+ resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /any-base@1.1.0:
+ resolution: {integrity: sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==}
+ dev: false
+
+ /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
+
+ /argparse@1.0.10:
+ resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
+ dependencies:
+ sprintf-js: 1.0.3
+ dev: true
+
+ /array-flatten@1.1.1:
+ resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
+ dev: true
+
+ /asynckit@0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+ dev: true
+
+ /autoprefixer@10.4.20(postcss@8.4.47):
+ resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ browserslist: 4.24.2
+ caniuse-lite: 1.0.30001678
+ fraction.js: 4.3.7
+ normalize-range: 0.1.2
+ picocolors: 1.1.1
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+
+ /babel-jest@27.5.1(@babel/core@7.26.0):
+ resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ peerDependencies:
+ '@babel/core': ^7.8.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/babel__core': 7.20.5
+ babel-plugin-istanbul: 6.1.1
+ babel-preset-jest: 27.5.1(@babel/core@7.26.0)
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ slash: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /babel-plugin-istanbul@6.1.1:
+ resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
+ engines: {node: '>=8'}
+ dependencies:
+ '@babel/helper-plugin-utils': 7.25.9
+ '@istanbuljs/load-nyc-config': 1.1.0
+ '@istanbuljs/schema': 0.1.3
+ istanbul-lib-instrument: 5.2.1
+ test-exclude: 6.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /babel-plugin-jest-hoist@27.5.1:
+ resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@babel/template': 7.25.9
+ '@babel/types': 7.26.0
+ '@types/babel__core': 7.20.5
+ '@types/babel__traverse': 7.20.6
+ dev: true
+
+ /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.26.0):
+ resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/compat-data': 7.26.2
+ '@babel/core': 7.26.0
+ '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.26.0)
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.26.0):
+ resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.26.0)
+ core-js-compat: 3.39.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.26.0):
+ resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.26.0)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /babel-preset-current-node-syntax@1.1.0(@babel/core@7.26.0):
+ resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.0)
+ '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.0)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.26.0)
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.26.0)
+ '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.0)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.0)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.0)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.0)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.0)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.0)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.0)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.0)
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.0)
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.0)
+ dev: true
+
+ /babel-preset-jest@27.5.1(@babel/core@7.26.0):
+ resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.26.0
+ babel-plugin-jest-hoist: 27.5.1
+ babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.0)
+ dev: true
+
+ /balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ /base64-js@1.5.1:
+ resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+ dev: false
+
+ /base64url@3.0.1:
+ resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==}
+ engines: {node: '>=6.0.0'}
+
+ /big.js@5.2.2:
+ resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
+ dev: true
+
+ /binary-extensions@2.3.0:
+ resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
+ engines: {node: '>=8'}
+
+ /bmp-js@0.1.0:
+ resolution: {integrity: sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==}
+ dev: false
+
+ /body-parser@1.20.3:
+ resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+ dependencies:
+ bytes: 3.1.2
+ content-type: 1.0.5
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ http-errors: 2.0.0
+ iconv-lite: 0.4.24
+ on-finished: 2.4.1
+ qs: 6.13.0
+ raw-body: 2.5.2
+ type-is: 1.6.18
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+ 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
+
+ /braces@3.0.3:
+ resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
+ engines: {node: '>=8'}
+ dependencies:
+ fill-range: 7.1.1
+
+ /browser-process-hrtime@1.0.0:
+ resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==}
+ dev: true
+
+ /browserslist-to-esbuild@2.1.1(browserslist@4.24.2):
+ resolution: {integrity: sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==}
+ engines: {node: '>=18'}
+ hasBin: true
+ peerDependencies:
+ browserslist: '*'
+ dependencies:
+ browserslist: 4.24.2
+ meow: 13.2.0
+ dev: true
+
+ /browserslist@4.24.2:
+ resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+ dependencies:
+ caniuse-lite: 1.0.30001678
+ electron-to-chromium: 1.5.54
+ node-releases: 2.0.18
+ update-browserslist-db: 1.1.1(browserslist@4.24.2)
+
+ /bser@2.1.1:
+ resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
+ dependencies:
+ node-int64: 0.4.0
+ dev: true
+
+ /buffer-equal@0.0.1:
+ resolution: {integrity: sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==}
+ engines: {node: '>=0.4.0'}
+ dev: false
+
+ /buffer-from@1.1.2:
+ resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+
+ /buffer@5.7.1:
+ resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
+ dev: false
+
+ /bytes@3.1.2:
+ resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /cac@6.7.14:
+ resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /cac@6.7.9:
+ resolution: {integrity: sha512-XN5qEpfNQCJ8jRaZgitSkkukjMRCGio+X3Ks5KUbGGlPbV+pSem1l9VuzooCBXOiMFshUZgyYqg6rgN8rjkb/w==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /call-bind@1.0.7:
+ resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.4
+ set-function-length: 1.2.2
+ dev: true
+
+ /callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /camelcase@5.3.1:
+ resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /camelcase@6.3.0:
+ resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /caniuse-lite@1.0.30001678:
+ resolution: {integrity: sha512-RR+4U/05gNtps58PEBDZcPWTgEO2MBeoPZ96aQcjmfkBWRIDfN451fW2qyDA9/+HohLLIL5GqiMwA+IB1pWarw==}
+
+ /centra@2.7.0:
+ resolution: {integrity: sha512-PbFMgMSrmgx6uxCdm57RUos9Tc3fclMvhLSATYN39XsDV29B89zZ3KA89jmY0vwSGazyU+uerqwa6t+KaodPcg==}
+ dependencies:
+ follow-redirects: 1.15.9
+ transitivePeerDependencies:
+ - debug
+ dev: false
+
+ /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
+
+ /char-regex@1.0.2:
+ resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /chokidar@3.6.0:
+ resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
+ engines: {node: '>= 8.10.0'}
+ dependencies:
+ anymatch: 3.1.3
+ braces: 3.0.3
+ 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
+
+ /chrome-trace-event@1.0.4:
+ resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==}
+ engines: {node: '>=6.0'}
+ dev: true
+
+ /ci-info@3.9.0:
+ resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /cjs-module-lexer@1.4.1:
+ resolution: {integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==}
+ dev: true
+
+ /cliui@7.0.4:
+ resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
+ dev: true
+
+ /co@4.6.0:
+ resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
+ engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
+ dev: true
+
+ /collect-v8-coverage@1.0.2:
+ resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==}
+ dev: true
+
+ /color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+ dependencies:
+ color-name: 1.1.4
+ dev: true
+
+ /color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+ dev: true
+
+ /colorette@2.0.20:
+ resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
+ dev: true
+
+ /combined-stream@1.0.8:
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ delayed-stream: 1.0.0
+ dev: true
+
+ /commander@2.20.3:
+ resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+
+ /compare-versions@3.6.0:
+ resolution: {integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==}
+
+ /computeds@0.0.1:
+ resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==}
+ dev: true
+
+ /concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+ dev: true
+
+ /confbox@0.1.8:
+ resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
+
+ /consola@3.2.3:
+ resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==}
+ engines: {node: ^14.18.0 || >=16.10.0}
+ dev: true
+
+ /content-disposition@0.5.4:
+ resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: true
+
+ /content-type@1.0.5:
+ resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /convert-source-map@1.9.0:
+ resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+ dev: true
+
+ /convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+
+ /cookie-signature@1.0.6:
+ resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
+ dev: true
+
+ /cookie@0.7.1:
+ resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /core-js-compat@3.39.0:
+ resolution: {integrity: sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==}
+ dependencies:
+ browserslist: 4.24.2
+ dev: true
+
+ /core-js@3.39.0:
+ resolution: {integrity: sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==}
+ requiresBuild: true
+
+ /cross-env@7.0.3:
+ resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
+ engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
+ hasBin: true
+ dependencies:
+ cross-spawn: 7.0.5
+ dev: true
+
+ /cross-spawn@7.0.5:
+ resolution: {integrity: sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==}
+ engines: {node: '>= 8'}
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+ dev: true
+
+ /css-font-size-keywords@1.0.0:
+ resolution: {integrity: sha512-Q+svMDbMlelgCfH/RVDKtTDaf5021O486ZThQPIpahnIjUkMUslC+WuOQSWTgGSrNCH08Y7tYNEmmy0hkfMI8Q==}
+ dev: false
+
+ /css-font-stretch-keywords@1.0.1:
+ resolution: {integrity: sha512-KmugPO2BNqoyp9zmBIUGwt58UQSfyk1X5DbOlkb2pckDXFSAfjsD5wenb88fNrD6fvS+vu90a/tsPpb9vb0SLg==}
+ dev: false
+
+ /css-font-style-keywords@1.0.1:
+ resolution: {integrity: sha512-0Fn0aTpcDktnR1RzaBYorIxQily85M2KXRpzmxQPgh8pxUN9Fcn00I8u9I3grNr1QXVgCl9T5Imx0ZwKU973Vg==}
+ dev: false
+
+ /css-font-weight-keywords@1.0.0:
+ resolution: {integrity: sha512-5So8/NH+oDD+EzsnF4iaG4ZFHQ3vaViePkL1ZbZ5iC/KrsCY+WHq/lvOgrtmuOQ9pBBZ1ADGpaf+A4lj1Z9eYA==}
+ dev: false
+
+ /css-list-helpers@2.0.0:
+ resolution: {integrity: sha512-9Bj8tZ0jWbAM3u/U6m/boAzAwLPwtjzFvwivr2piSvyVa3K3rChJzQy4RIHkNkKiZCHrEMWDJWtTR8UyVhdDnQ==}
+ dev: false
+
+ /css-system-font-keywords@1.0.0:
+ resolution: {integrity: sha512-1umTtVd/fXS25ftfjB71eASCrYhilmEsvDEI6wG/QplnmlfmVM5HkZ/ZX46DT5K3eblFPgLUHt5BRCb0YXkSFA==}
+ dev: false
+
+ /css-tree@2.3.1:
+ resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+ dependencies:
+ mdn-data: 2.0.30
+ source-map-js: 1.2.1
+ dev: true
+
+ /cssesc@3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ /cssom@0.3.8:
+ resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==}
+ dev: true
+
+ /cssom@0.4.4:
+ resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==}
+ dev: true
+
+ /cssstyle@2.3.0:
+ resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==}
+ engines: {node: '>=8'}
+ dependencies:
+ cssom: 0.3.8
+ dev: true
+
+ /csstype@3.1.3:
+ resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+
+ /data-urls@2.0.0:
+ resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ abab: 2.0.6
+ whatwg-mimetype: 2.3.0
+ whatwg-url: 8.7.0
+ dev: true
+
+ /dayjs@1.11.13:
+ resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==}
+
+ /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:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.0.0
+ dev: true
+
+ /debug@4.3.7:
+ resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.3
+
+ /decimal.js@10.4.3:
+ resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
+ dev: true
+
+ /dedent@0.7.0:
+ resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
+ dev: true
+
+ /deepmerge@4.3.1:
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /default-gateway@6.0.3:
+ resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==}
+ engines: {node: '>= 10'}
+ dependencies:
+ execa: 5.1.1
+ dev: true
+
+ /define-data-property@1.1.4:
+ resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ gopd: 1.0.1
+ dev: true
+
+ /defu@6.1.4:
+ resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
+ dev: true
+
+ /delayed-stream@1.0.0:
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+ engines: {node: '>=0.4.0'}
+ dev: true
+
+ /depd@2.0.0:
+ resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /destr@2.0.3:
+ resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==}
+ dev: true
+
+ /destroy@1.2.0:
+ resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+ dev: true
+
+ /detect-newline@3.1.0:
+ resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /diff-sequences@27.5.1:
+ resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dev: true
+
+ /dom-walk@0.1.2:
+ resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==}
+ dev: false
+
+ /domexception@2.0.1:
+ resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==}
+ engines: {node: '>=8'}
+ deprecated: Use your platform's native DOMException instead
+ dependencies:
+ webidl-conversions: 5.0.0
+ dev: true
+
+ /duplexer@0.1.2:
+ resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
+ dev: true
+
+ /ee-first@1.1.1:
+ resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
+ dev: true
+
+ /electron-to-chromium@1.5.54:
+ resolution: {integrity: sha512-TX6vHleisn5i/4pekTyy1sdoLXQNy8VFvBK/fJRXSyp7GUO27KioLTG0Qo5wFjM3ZF4ryKinDo4m+IJ+rwUWSw==}
+
+ /emittery@0.8.1:
+ resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+ dev: true
+
+ /emojis-list@3.0.0:
+ resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==}
+ engines: {node: '>= 4'}
+ dev: true
+
+ /encodeurl@1.0.2:
+ resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /encodeurl@2.0.0:
+ resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /enhanced-resolve@5.17.1:
+ resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.2.1
+ dev: true
+
+ /entities@4.5.0:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+ engines: {node: '>=0.12'}
+
+ /error-ex@1.3.2:
+ resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+ dependencies:
+ is-arrayish: 0.2.1
+ dev: true
+
+ /es-define-property@1.0.0:
+ resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.4
+ dev: true
+
+ /es-errors@1.3.0:
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /es-module-lexer@1.5.4:
+ resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==}
+
+ /esbuild@0.20.2:
+ resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.20.2
+ '@esbuild/android-arm': 0.20.2
+ '@esbuild/android-arm64': 0.20.2
+ '@esbuild/android-x64': 0.20.2
+ '@esbuild/darwin-arm64': 0.20.2
+ '@esbuild/darwin-x64': 0.20.2
+ '@esbuild/freebsd-arm64': 0.20.2
+ '@esbuild/freebsd-x64': 0.20.2
+ '@esbuild/linux-arm': 0.20.2
+ '@esbuild/linux-arm64': 0.20.2
+ '@esbuild/linux-ia32': 0.20.2
+ '@esbuild/linux-loong64': 0.20.2
+ '@esbuild/linux-mips64el': 0.20.2
+ '@esbuild/linux-ppc64': 0.20.2
+ '@esbuild/linux-riscv64': 0.20.2
+ '@esbuild/linux-s390x': 0.20.2
+ '@esbuild/linux-x64': 0.20.2
+ '@esbuild/netbsd-x64': 0.20.2
+ '@esbuild/openbsd-x64': 0.20.2
+ '@esbuild/sunos-x64': 0.20.2
+ '@esbuild/win32-arm64': 0.20.2
+ '@esbuild/win32-ia32': 0.20.2
+ '@esbuild/win32-x64': 0.20.2
+
+ /escalade@3.2.0:
+ resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
+ engines: {node: '>=6'}
+
+ /escape-html@1.0.3:
+ resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
+ dev: true
+
+ /escape-string-regexp@2.0.0:
+ resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /escape-string-regexp@5.0.0:
+ resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
+ engines: {node: '>=12'}
+
+ /escodegen@2.1.0:
+ resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
+ engines: {node: '>=6.0'}
+ hasBin: true
+ dependencies:
+ esprima: 4.0.1
+ estraverse: 5.3.0
+ esutils: 2.0.3
+ optionalDependencies:
+ source-map: 0.6.1
+ 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
+
+ /esprima@4.0.1:
+ resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
+ engines: {node: '>=4'}
+ hasBin: true
+ 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==}
+
+ /estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+ dependencies:
+ '@types/estree': 1.0.6
+
+ /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
+
+ /events@3.3.0:
+ resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
+ engines: {node: '>=0.8.x'}
+ dev: true
+
+ /execa@5.1.1:
+ resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
+ engines: {node: '>=10'}
+ dependencies:
+ cross-spawn: 7.0.5
+ 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
+
+ /exif-parser@0.1.12:
+ resolution: {integrity: sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==}
+ dev: false
+
+ /exit@0.1.2:
+ resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
+ engines: {node: '>= 0.8.0'}
+ dev: true
+
+ /expect@27.5.1:
+ resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@jest/types': 27.5.1
+ jest-get-type: 27.5.1
+ jest-matcher-utils: 27.5.1
+ jest-message-util: 27.5.1
+ dev: true
+
+ /express@4.21.1:
+ resolution: {integrity: sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==}
+ engines: {node: '>= 0.10.0'}
+ dependencies:
+ accepts: 1.3.8
+ array-flatten: 1.1.1
+ body-parser: 1.20.3
+ content-disposition: 0.5.4
+ content-type: 1.0.5
+ cookie: 0.7.1
+ cookie-signature: 1.0.6
+ debug: 2.6.9
+ depd: 2.0.0
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ etag: 1.8.1
+ finalhandler: 1.3.1
+ fresh: 0.5.2
+ http-errors: 2.0.0
+ merge-descriptors: 1.0.3
+ methods: 1.1.2
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ path-to-regexp: 0.1.10
+ proxy-addr: 2.0.7
+ qs: 6.13.0
+ range-parser: 1.2.1
+ safe-buffer: 5.2.1
+ send: 0.19.0
+ serve-static: 1.16.2
+ setprototypeof: 1.2.0
+ statuses: 2.0.1
+ type-is: 1.6.18
+ utils-merge: 1.0.1
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+ dev: true
+
+ /fast-glob@3.3.2:
+ resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
+ engines: {node: '>=8.6.0'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.8
+
+ /fast-json-stable-stringify@2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+ dev: true
+
+ /fastq@1.17.1:
+ resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
+ dependencies:
+ reusify: 1.0.4
+
+ /fb-watchman@2.0.2:
+ resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
+ dependencies:
+ bser: 2.1.1
+ dev: true
+
+ /file-type@9.0.0:
+ resolution: {integrity: sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /fill-range@7.1.1:
+ resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
+ engines: {node: '>=8'}
+ dependencies:
+ to-regex-range: 5.0.1
+
+ /finalhandler@1.3.1:
+ resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ debug: 2.6.9
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ statuses: 2.0.1
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /find-up@4.1.0:
+ resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
+ engines: {node: '>=8'}
+ dependencies:
+ locate-path: 5.0.0
+ path-exists: 4.0.0
+ dev: true
+
+ /follow-redirects@1.15.9:
+ resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+ dev: false
+
+ /form-data@3.0.2:
+ resolution: {integrity: sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ==}
+ engines: {node: '>= 6'}
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ mime-types: 2.1.35
+ dev: true
+
+ /forwarded@0.2.0:
+ resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /fraction.js@4.3.7:
+ resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
+
+ /fresh@0.5.2:
+ resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
+ engines: {node: '>= 0.6'}
+ 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
+
+ /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
+ optional: true
+
+ /function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+
+ /generic-names@4.0.0:
+ resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==}
+ dependencies:
+ loader-utils: 3.3.1
+
+ /gensync@1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+
+ /get-caller-file@2.0.5:
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+ dev: true
+
+ /get-intrinsic@1.2.4:
+ resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ has-proto: 1.0.3
+ has-symbols: 1.0.3
+ hasown: 2.0.2
+ dev: true
+
+ /get-package-type@0.1.0:
+ resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
+ engines: {node: '>=8.0.0'}
+ dev: true
+
+ /get-stream@6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /glob-parent@5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+ dependencies:
+ is-glob: 4.0.3
+
+ /glob-to-regexp@0.4.1:
+ resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
+ dev: true
+
+ /glob@7.2.3:
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ deprecated: Glob versions prior to v9 are no longer supported
+ 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
+
+ /global@4.4.0:
+ resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==}
+ dependencies:
+ min-document: 2.19.0
+ process: 0.11.10
+ dev: false
+
+ /globals@11.12.0:
+ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
+ engines: {node: '>=4'}
+
+ /gopd@1.0.1:
+ resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+ dependencies:
+ get-intrinsic: 1.2.4
+ dev: true
+
+ /graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+
+ /gzip-size@6.0.0:
+ resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ duplexer: 0.1.2
+ dev: true
+
+ /has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /has-property-descriptors@1.0.2:
+ resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
+ dependencies:
+ es-define-property: 1.0.0
+ dev: true
+
+ /has-proto@1.0.3:
+ resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /has-symbols@1.0.3:
+ resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /hash-sum@2.0.0:
+ resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==}
+
+ /hasown@2.0.2:
+ resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ function-bind: 1.1.2
+
+ /he@1.2.0:
+ resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
+ hasBin: true
+ dev: true
+
+ /html-encoding-sniffer@2.0.1:
+ resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ whatwg-encoding: 1.0.5
+ dev: true
+
+ /html-escaper@2.0.2:
+ resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
+ dev: true
+
+ /html-tags@3.3.1:
+ resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /http-errors@2.0.0:
+ resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ depd: 2.0.0
+ inherits: 2.0.4
+ setprototypeof: 1.2.0
+ statuses: 2.0.1
+ toidentifier: 1.0.1
+ dev: true
+
+ /http-proxy-agent@4.0.1:
+ resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==}
+ engines: {node: '>= 6'}
+ dependencies:
+ '@tootallnate/once': 1.1.2
+ agent-base: 6.0.2
+ debug: 4.3.7
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /https-proxy-agent@5.0.1:
+ resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
+ engines: {node: '>= 6'}
+ dependencies:
+ agent-base: 6.0.2
+ debug: 4.3.7
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /human-signals@2.1.0:
+ resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
+ engines: {node: '>=10.17.0'}
+ dev: true
+
+ /iconv-lite@0.4.24:
+ resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ safer-buffer: 2.1.2
+ dev: true
+
+ /icss-replace-symbols@1.1.0:
+ resolution: {integrity: sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==}
+
+ /icss-utils@5.1.0(postcss@8.4.47):
+ resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ postcss: 8.4.47
+
+ /ieee754@1.2.1:
+ resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
+ dev: false
+
+ /immutable@4.3.7:
+ resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==}
+
+ /import-local@3.2.0:
+ resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==}
+ engines: {node: '>=8'}
+ hasBin: true
+ dependencies:
+ pkg-dir: 4.2.0
+ resolve-cwd: 3.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==}
+ deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+ dev: true
+
+ /inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ dev: true
+
+ /invert-kv@3.0.1:
+ resolution: {integrity: sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==}
+ engines: {node: '>=8'}
+
+ /ipaddr.js@1.9.1:
+ resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
+ engines: {node: '>= 0.10'}
+ dev: true
+
+ /is-arrayish@0.2.1:
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+ dev: true
+
+ /is-binary-path@2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+ engines: {node: '>=8'}
+ dependencies:
+ binary-extensions: 2.3.0
+
+ /is-core-module@2.15.1:
+ resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ hasown: 2.0.2
+
+ /is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+
+ /is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /is-function@1.0.2:
+ resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==}
+ dev: false
+
+ /is-generator-fn@2.1.0:
+ resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-extglob: 2.1.1
+
+ /is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+
+ /is-potential-custom-element-name@1.0.1:
+ resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
+ dev: true
+
+ /is-stream@2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /is-typedarray@1.0.0:
+ resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
+ dev: true
+
+ /isbinaryfile@5.0.4:
+ resolution: {integrity: sha512-YKBKVkKhty7s8rxddb40oOkuP0NbaeXrQvLin6QMHL7Ypiy2RW9LwOVrVgZRyOrhQlayMd9t+D8yDy8MKFTSDQ==}
+ engines: {node: '>= 18.0.0'}
+
+ /isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+ dev: true
+
+ /istanbul-lib-coverage@3.2.2:
+ resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /istanbul-lib-instrument@5.2.1:
+ resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
+ engines: {node: '>=8'}
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/parser': 7.26.2
+ '@istanbuljs/schema': 0.1.3
+ istanbul-lib-coverage: 3.2.2
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /istanbul-lib-report@3.0.1:
+ resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
+ engines: {node: '>=10'}
+ dependencies:
+ istanbul-lib-coverage: 3.2.2
+ make-dir: 4.0.0
+ supports-color: 7.2.0
+ dev: true
+
+ /istanbul-lib-source-maps@4.0.1:
+ resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
+ engines: {node: '>=10'}
+ dependencies:
+ debug: 4.3.7
+ istanbul-lib-coverage: 3.2.2
+ source-map: 0.6.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /istanbul-reports@3.1.7:
+ resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==}
+ engines: {node: '>=8'}
+ dependencies:
+ html-escaper: 2.0.2
+ istanbul-lib-report: 3.0.1
+ dev: true
+
+ /jest-changed-files@27.5.1:
+ resolution: {integrity: sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@jest/types': 27.5.1
+ execa: 5.1.1
+ throat: 6.0.2
+ dev: true
+
+ /jest-circus@27.5.1:
+ resolution: {integrity: sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 18.19.64
+ chalk: 4.1.2
+ co: 4.6.0
+ dedent: 0.7.0
+ expect: 27.5.1
+ is-generator-fn: 2.1.0
+ jest-each: 27.5.1
+ jest-matcher-utils: 27.5.1
+ jest-message-util: 27.5.1
+ jest-runtime: 27.5.1
+ jest-snapshot: 27.5.1
+ jest-util: 27.5.1
+ pretty-format: 27.5.1
+ slash: 3.0.0
+ stack-utils: 2.0.6
+ throat: 6.0.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /jest-cli@27.5.1:
+ resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ hasBin: true
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+ dependencies:
+ '@jest/core': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/types': 27.5.1
+ chalk: 4.1.2
+ exit: 0.1.2
+ graceful-fs: 4.2.11
+ import-local: 3.2.0
+ jest-config: 27.5.1
+ jest-util: 27.5.1
+ jest-validate: 27.5.1
+ prompts: 2.4.2
+ yargs: 16.2.0
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - ts-node
+ - utf-8-validate
+ dev: true
+
+ /jest-config@27.5.1:
+ resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ peerDependencies:
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ ts-node:
+ optional: true
+ dependencies:
+ '@babel/core': 7.26.0
+ '@jest/test-sequencer': 27.5.1
+ '@jest/types': 27.5.1
+ babel-jest: 27.5.1(@babel/core@7.26.0)
+ chalk: 4.1.2
+ ci-info: 3.9.0
+ deepmerge: 4.3.1
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ jest-circus: 27.5.1
+ jest-environment-jsdom: 27.5.1
+ jest-environment-node: 27.5.1
+ jest-get-type: 27.5.1
+ jest-jasmine2: 27.5.1
+ jest-regex-util: 27.5.1
+ jest-resolve: 27.5.1
+ jest-runner: 27.5.1
+ jest-util: 27.5.1
+ jest-validate: 27.5.1
+ micromatch: 4.0.8
+ parse-json: 5.2.0
+ pretty-format: 27.5.1
+ slash: 3.0.0
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - utf-8-validate
+ dev: true
+
+ /jest-diff@27.5.1:
+ resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ chalk: 4.1.2
+ diff-sequences: 27.5.1
+ jest-get-type: 27.5.1
+ pretty-format: 27.5.1
+ dev: true
+
+ /jest-docblock@27.5.1:
+ resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ detect-newline: 3.1.0
+ dev: true
+
+ /jest-each@27.5.1:
+ resolution: {integrity: sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@jest/types': 27.5.1
+ chalk: 4.1.2
+ jest-get-type: 27.5.1
+ jest-util: 27.5.1
+ pretty-format: 27.5.1
+ dev: true
+
+ /jest-environment-jsdom@27.5.1:
+ resolution: {integrity: sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/fake-timers': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 18.19.64
+ jest-mock: 27.5.1
+ jest-util: 27.5.1
+ jsdom: 16.7.0
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - utf-8-validate
+ dev: true
+
+ /jest-environment-node@27.5.1:
+ resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/fake-timers': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 18.19.64
+ jest-mock: 27.5.1
+ jest-util: 27.5.1
+ dev: true
+
+ /jest-get-type@27.5.1:
+ resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dev: true
+
+ /jest-haste-map@27.5.1:
+ resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@jest/types': 27.5.1
+ '@types/graceful-fs': 4.1.9
+ '@types/node': 18.19.64
+ anymatch: 3.1.3
+ fb-watchman: 2.0.2
+ graceful-fs: 4.2.11
+ jest-regex-util: 27.5.1
+ jest-serializer: 27.5.1
+ jest-util: 27.5.1
+ jest-worker: 27.5.1
+ micromatch: 4.0.8
+ walker: 1.0.8
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
+ /jest-jasmine2@27.5.1:
+ resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/source-map': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 18.19.64
+ chalk: 4.1.2
+ co: 4.6.0
+ expect: 27.5.1
+ is-generator-fn: 2.1.0
+ jest-each: 27.5.1
+ jest-matcher-utils: 27.5.1
+ jest-message-util: 27.5.1
+ jest-runtime: 27.5.1
+ jest-snapshot: 27.5.1
+ jest-util: 27.5.1
+ pretty-format: 27.5.1
+ throat: 6.0.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /jest-leak-detector@27.5.1:
+ resolution: {integrity: sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ jest-get-type: 27.5.1
+ pretty-format: 27.5.1
+ dev: true
+
+ /jest-matcher-utils@27.5.1:
+ resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ chalk: 4.1.2
+ jest-diff: 27.5.1
+ jest-get-type: 27.5.1
+ pretty-format: 27.5.1
+ dev: true
+
+ /jest-message-util@27.5.1:
+ resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@babel/code-frame': 7.26.2
+ '@jest/types': 27.5.1
+ '@types/stack-utils': 2.0.3
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ micromatch: 4.0.8
+ pretty-format: 27.5.1
+ slash: 3.0.0
+ stack-utils: 2.0.6
+ dev: true
+
+ /jest-mock@27.5.1:
+ resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@jest/types': 27.5.1
+ '@types/node': 18.19.64
+ dev: true
+
+ /jest-pnp-resolver@1.2.3(jest-resolve@27.5.1):
+ resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==}
+ engines: {node: '>=6'}
+ peerDependencies:
+ jest-resolve: '*'
+ peerDependenciesMeta:
+ jest-resolve:
+ optional: true
+ dependencies:
+ jest-resolve: 27.5.1
+ dev: true
+
+ /jest-regex-util@27.5.1:
+ resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dev: true
+
+ /jest-resolve-dependencies@27.5.1:
+ resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@jest/types': 27.5.1
+ jest-regex-util: 27.5.1
+ jest-snapshot: 27.5.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /jest-resolve@27.5.1:
+ resolution: {integrity: sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@jest/types': 27.5.1
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ jest-haste-map: 27.5.1
+ jest-pnp-resolver: 1.2.3(jest-resolve@27.5.1)
+ jest-util: 27.5.1
+ jest-validate: 27.5.1
+ resolve: 1.22.8
+ resolve.exports: 1.1.1
+ slash: 3.0.0
+ dev: true
+
+ /jest-runner@27.5.1:
+ resolution: {integrity: sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@jest/console': 27.5.1
+ '@jest/environment': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 18.19.64
+ chalk: 4.1.2
+ emittery: 0.8.1
+ graceful-fs: 4.2.11
+ jest-docblock: 27.5.1
+ jest-environment-jsdom: 27.5.1
+ jest-environment-node: 27.5.1
+ jest-haste-map: 27.5.1
+ jest-leak-detector: 27.5.1
+ jest-message-util: 27.5.1
+ jest-resolve: 27.5.1
+ jest-runtime: 27.5.1
+ jest-util: 27.5.1
+ jest-worker: 27.5.1
+ source-map-support: 0.5.21
+ throat: 6.0.2
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - utf-8-validate
+ dev: true
+
+ /jest-runtime@27.5.1:
+ resolution: {integrity: sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/fake-timers': 27.5.1
+ '@jest/globals': 27.5.1
+ '@jest/source-map': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ chalk: 4.1.2
+ cjs-module-lexer: 1.4.1
+ collect-v8-coverage: 1.0.2
+ execa: 5.1.1
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ jest-haste-map: 27.5.1
+ jest-message-util: 27.5.1
+ jest-mock: 27.5.1
+ jest-regex-util: 27.5.1
+ jest-resolve: 27.5.1
+ jest-snapshot: 27.5.1
+ jest-util: 27.5.1
+ slash: 3.0.0
+ strip-bom: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /jest-serializer@27.5.1:
+ resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@types/node': 18.19.64
+ graceful-fs: 4.2.11
+ dev: true
+
+ /jest-snapshot@27.5.1:
+ resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/generator': 7.26.2
+ '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0)
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.26.0
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/babel__traverse': 7.20.6
+ '@types/prettier': 2.7.3
+ babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.0)
+ chalk: 4.1.2
+ expect: 27.5.1
+ graceful-fs: 4.2.11
+ jest-diff: 27.5.1
+ jest-get-type: 27.5.1
+ jest-haste-map: 27.5.1
+ jest-matcher-utils: 27.5.1
+ jest-message-util: 27.5.1
+ jest-util: 27.5.1
+ natural-compare: 1.4.0
+ pretty-format: 27.5.1
+ semver: 7.6.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /jest-util@27.5.1:
+ resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@jest/types': 27.5.1
+ '@types/node': 18.19.64
+ chalk: 4.1.2
+ ci-info: 3.9.0
+ graceful-fs: 4.2.11
+ picomatch: 2.3.1
+ dev: true
+
+ /jest-validate@27.5.1:
+ resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@jest/types': 27.5.1
+ camelcase: 6.3.0
+ chalk: 4.1.2
+ jest-get-type: 27.5.1
+ leven: 3.1.0
+ pretty-format: 27.5.1
+ dev: true
+
+ /jest-watcher@27.5.1:
+ resolution: {integrity: sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ '@jest/test-result': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 18.19.64
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ jest-util: 27.5.1
+ string-length: 4.0.2
+ dev: true
+
+ /jest-worker@27.5.1:
+ resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
+ engines: {node: '>= 10.13.0'}
+ dependencies:
+ '@types/node': 18.19.64
+ merge-stream: 2.0.0
+ supports-color: 8.1.1
+ dev: true
+
+ /jest@27.0.4:
+ resolution: {integrity: sha512-Px1iKFooXgGSkk1H8dJxxBIrM3tsc5SIuI4kfKYK2J+4rvCvPGr/cXktxh0e9zIPQ5g09kOMNfHQEmusBUf/ZA==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ hasBin: true
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+ dependencies:
+ '@jest/core': 27.5.1
+ import-local: 3.2.0
+ jest-cli: 27.5.1
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - ts-node
+ - utf-8-validate
+ dev: true
+
+ /jimp@0.10.3:
+ resolution: {integrity: sha512-meVWmDMtyUG5uYjFkmzu0zBgnCvvxwWNi27c4cg55vWNVC9ES4Lcwb+ogx+uBBQE3Q+dLKjXaLl0JVW+nUNwbQ==}
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@jimp/custom': 0.10.3
+ '@jimp/plugins': 0.10.3(@jimp/custom@0.10.3)
+ '@jimp/types': 0.10.3(@jimp/custom@0.10.3)
+ core-js: 3.39.0
+ regenerator-runtime: 0.13.11
+ transitivePeerDependencies:
+ - debug
+ dev: false
+
+ /jiti@1.21.6:
+ resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==}
+ hasBin: true
+ dev: true
+
+ /jpeg-js@0.3.7:
+ resolution: {integrity: sha512-9IXdWudL61npZjvLuVe/ktHiA41iE8qFyLB+4VDTblEsWBzeg8WQTlktdUK4CdncUqtUgUg0bbOmTE2bKBKaBQ==}
+ dev: false
+
+ /js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ /js-tokens@9.0.0:
+ resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==}
+
+ /js-yaml@3.14.1:
+ resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
+ hasBin: true
+ dependencies:
+ argparse: 1.0.10
+ esprima: 4.0.1
+ dev: true
+
+ /jsdom@16.7.0:
+ resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ canvas: ^2.5.0
+ peerDependenciesMeta:
+ canvas:
+ optional: true
+ dependencies:
+ abab: 2.0.6
+ acorn: 8.14.0
+ acorn-globals: 6.0.0
+ cssom: 0.4.4
+ cssstyle: 2.3.0
+ data-urls: 2.0.0
+ decimal.js: 10.4.3
+ domexception: 2.0.1
+ escodegen: 2.1.0
+ form-data: 3.0.2
+ html-encoding-sniffer: 2.0.1
+ http-proxy-agent: 4.0.1
+ https-proxy-agent: 5.0.1
+ is-potential-custom-element-name: 1.0.1
+ nwsapi: 2.2.13
+ parse5: 6.0.1
+ saxes: 5.0.1
+ symbol-tree: 3.2.4
+ tough-cookie: 4.1.4
+ w3c-hr-time: 1.0.2
+ w3c-xmlserializer: 2.0.0
+ webidl-conversions: 6.1.0
+ whatwg-encoding: 1.0.5
+ whatwg-mimetype: 2.3.0
+ whatwg-url: 8.7.0
+ ws: 7.5.10
+ xml-name-validator: 3.0.0
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+ dev: true
+
+ /jsesc@3.0.2:
+ resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ /json-parse-even-better-errors@2.3.1:
+ resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+ dev: true
+
+ /json-schema-traverse@0.4.1:
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+ dev: true
+
+ /json5@2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ /jsonc-parser@3.3.1:
+ resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==}
+
+ /jsonfile@6.1.0:
+ resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
+ dependencies:
+ universalify: 2.0.1
+ optionalDependencies:
+ graceful-fs: 4.2.11
+
+ /kleur@3.0.3:
+ resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /klona@2.0.6:
+ resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /kolorist@1.8.0:
+ resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
+ dev: true
+
+ /lcid@3.1.1:
+ resolution: {integrity: sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==}
+ engines: {node: '>=8'}
+ dependencies:
+ invert-kv: 3.0.1
+
+ /leven@3.1.0:
+ resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /licia@1.44.0:
+ resolution: {integrity: sha512-REBoVyObS1ghIbk8Qjbpdd1uzKOkwMHzBouZYVozVooAfKBm5G1Hvtx3o6/KbVSNYF+VzORJJmuqbkiLeqHPYw==}
+
+ /lilconfig@2.1.0:
+ resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
+ engines: {node: '>=10'}
+
+ /lines-and-columns@1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+ dev: true
+
+ /lines-and-columns@2.0.4:
+ resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ /load-bmfont@1.4.2:
+ resolution: {integrity: sha512-qElWkmjW9Oq1F9EI5Gt7aD9zcdHb9spJCW1L/dmPf7KzCCEJxq8nhHz5eCgI9aMf7vrG/wyaCqdsI+Iy9ZTlog==}
+ dependencies:
+ buffer-equal: 0.0.1
+ mime: 1.6.0
+ parse-bmfont-ascii: 1.0.6
+ parse-bmfont-binary: 1.0.6
+ parse-bmfont-xml: 1.1.6
+ phin: 3.7.1
+ xhr: 2.6.0
+ xtend: 4.0.2
+ transitivePeerDependencies:
+ - debug
+ dev: false
+
+ /loader-runner@4.3.0:
+ resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
+ engines: {node: '>=6.11.5'}
+ dev: true
+
+ /loader-utils@2.0.4:
+ resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==}
+ engines: {node: '>=8.9.0'}
+ dependencies:
+ big.js: 5.2.2
+ emojis-list: 3.0.0
+ json5: 2.2.3
+ dev: true
+
+ /loader-utils@3.3.1:
+ resolution: {integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==}
+ engines: {node: '>= 12.13.0'}
+
+ /local-pkg@0.5.0:
+ resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
+ engines: {node: '>=14'}
+ dependencies:
+ mlly: 1.7.2
+ pkg-types: 1.2.1
+
+ /localstorage-polyfill@1.0.1:
+ resolution: {integrity: sha512-m4iHVZxFH5734oQcPKU08025gIz2+4bjWR9lulP8ZYxEJR0BpA0w32oJmkzh8y3UI9ci7xCBehQDc3oA1X+VHw==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /locate-path@5.0.0:
+ resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
+ engines: {node: '>=8'}
+ dependencies:
+ p-locate: 4.1.0
+ dev: true
+
+ /lodash.camelcase@4.3.0:
+ resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
+
+ /lodash.debounce@4.0.8:
+ resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+ dev: true
+
+ /lodash@4.17.21:
+ resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+ dev: true
+
+ /lru-cache@5.1.1:
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+ dependencies:
+ yallist: 3.1.1
+
+ /luch-request@3.1.1:
+ resolution: {integrity: sha512-p7+mlcEtgRcd0OfXC4XZbyiwSr1XgCeqNT7LlVUjnk7InYl/8d5Rk7BUqAYNA2WRafI1wRIUQWRWZRpeUwWR0w==}
+ dependencies:
+ '@dcloudio/types': 2.6.12
+ dev: false
+
+ /magic-string@0.30.12:
+ resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==}
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.0
+
+ /make-dir@4.0.0:
+ resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
+ engines: {node: '>=10'}
+ dependencies:
+ semver: 7.6.3
+ dev: true
+
+ /makeerror@1.0.12:
+ resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
+ dependencies:
+ tmpl: 1.0.5
+ dev: true
+
+ /mdn-data@2.0.30:
+ resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
+ dev: true
+
+ /media-typer@0.3.0:
+ resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /meow@13.2.0:
+ resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==}
+ engines: {node: '>=18'}
+ dev: true
+
+ /merge-descriptors@1.0.3:
+ resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==}
+ 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'}
+
+ /merge@2.1.1:
+ resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==}
+
+ /methods@1.1.2:
+ resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /micromatch@4.0.8:
+ resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
+ engines: {node: '>=8.6'}
+ dependencies:
+ braces: 3.0.3
+ picomatch: 2.3.1
+
+ /mime-db@1.52.0:
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /mime-types@2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-db: 1.52.0
+ dev: true
+
+ /mime@1.6.0:
+ resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ /mime@3.0.0:
+ resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==}
+ engines: {node: '>=10.0.0'}
+ hasBin: true
+
+ /mimic-fn@2.1.0:
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /min-document@2.19.0:
+ resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==}
+ dependencies:
+ dom-walk: 0.1.2
+ dev: false
+
+ /minimatch@3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ dependencies:
+ brace-expansion: 1.1.11
+ dev: true
+
+ /minimatch@9.0.5:
+ resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dependencies:
+ brace-expansion: 2.0.1
+
+ /minimist@1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+ dev: false
+
+ /mkdirp@0.5.6:
+ resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
+ hasBin: true
+ dependencies:
+ minimist: 1.2.8
+ dev: false
+
+ /mlly@1.7.2:
+ resolution: {integrity: sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==}
+ dependencies:
+ acorn: 8.14.0
+ pathe: 1.1.2
+ pkg-types: 1.2.1
+ ufo: 1.5.4
+
+ /module-alias@2.2.3:
+ resolution: {integrity: sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q==}
+
+ /mrmime@2.0.0:
+ resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /ms@2.0.0:
+ resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
+ dev: true
+
+ /ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+ /muggle-string@0.3.1:
+ resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==}
+ dev: true
+
+ /nanoid@3.3.7:
+ resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+ /natural-compare@1.4.0:
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+ dev: true
+
+ /negotiator@0.6.3:
+ resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /neo-async@2.6.2:
+ resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
+ dev: true
+
+ /node-fetch-native@1.6.4:
+ resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==}
+ dev: true
+
+ /node-int64@0.4.0:
+ resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
+ dev: true
+
+ /node-releases@2.0.18:
+ resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==}
+
+ /normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+
+ /normalize-range@0.1.2:
+ resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
+ engines: {node: '>=0.10.0'}
+
+ /npm-run-path@4.0.1:
+ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-key: 3.1.1
+ dev: true
+
+ /nwsapi@2.2.13:
+ resolution: {integrity: sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==}
+ dev: true
+
+ /object-inspect@1.13.2:
+ resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /ofetch@1.4.1:
+ resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==}
+ dependencies:
+ destr: 2.0.3
+ node-fetch-native: 1.6.4
+ ufo: 1.5.4
+ dev: true
+
+ /omggif@1.0.10:
+ resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==}
+ dev: false
+
+ /on-finished@2.4.1:
+ resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ ee-first: 1.1.1
+ dev: true
+
+ /once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+ dependencies:
+ wrappy: 1.0.2
+ dev: true
+
+ /onetime@5.1.2:
+ resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
+ engines: {node: '>=6'}
+ dependencies:
+ mimic-fn: 2.1.0
+ dev: true
+
+ /os-locale-s-fix@1.0.8-fix-1:
+ resolution: {integrity: sha512-Sv0OvhPiMutICiwORAUefv02DCPb62IelBmo8ZsSrRHyI3FStqIWZvjqDkvtjU+lcujo7UNir+dCwKSqlEQ/5w==}
+ engines: {node: '>=10', yarn: ^1.22.4}
+ dependencies:
+ lcid: 3.1.1
+
+ /p-limit@2.3.0:
+ resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
+ engines: {node: '>=6'}
+ dependencies:
+ p-try: 2.2.0
+ dev: true
+
+ /p-locate@4.1.0:
+ resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
+ engines: {node: '>=8'}
+ dependencies:
+ p-limit: 2.3.0
+ dev: true
+
+ /p-try@2.2.0:
+ resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /package-manager-detector@0.2.2:
+ resolution: {integrity: sha512-VgXbyrSNsml4eHWIvxxG/nTL4wgybMTXCV2Un/+yEc3aDKKU6nQBZjbeP3Pl3qm9Qg92X/1ng4ffvCeD/zwHgg==}
+ dev: true
+
+ /pako@1.0.11:
+ resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
+ dev: false
+
+ /parse-bmfont-ascii@1.0.6:
+ resolution: {integrity: sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==}
+ dev: false
+
+ /parse-bmfont-binary@1.0.6:
+ resolution: {integrity: sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==}
+ dev: false
+
+ /parse-bmfont-xml@1.1.6:
+ resolution: {integrity: sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA==}
+ dependencies:
+ xml-parse-from-string: 1.0.1
+ xml2js: 0.5.0
+ dev: false
+
+ /parse-css-font@4.0.0:
+ resolution: {integrity: sha512-lnY7dTUfjRXsSo5G5C639L8RaBBaVSgL+5hacIFKsNHzeCJQ5SFSZv1DZmc7+wZv/22PFGOq2YbaEHLdaCS/mQ==}
+ dependencies:
+ css-font-size-keywords: 1.0.0
+ css-font-stretch-keywords: 1.0.1
+ css-font-style-keywords: 1.0.1
+ css-font-weight-keywords: 1.0.0
+ css-list-helpers: 2.0.0
+ css-system-font-keywords: 1.0.0
+ unquote: 1.1.1
+ dev: false
+
+ /parse-headers@2.0.5:
+ resolution: {integrity: sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==}
+ dev: false
+
+ /parse-json@5.2.0:
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
+ engines: {node: '>=8'}
+ dependencies:
+ '@babel/code-frame': 7.26.2
+ error-ex: 1.3.2
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
+ dev: true
+
+ /parse5@6.0.1:
+ resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==}
+ dev: true
+
+ /parseurl@1.3.3:
+ resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /path-browserify@1.0.1:
+ resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
+ 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-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+
+ /path-to-regexp@0.1.10:
+ resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==}
+ dev: true
+
+ /pathe@1.1.2:
+ resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
+
+ /perfect-debounce@1.0.0:
+ resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
+ dev: true
+
+ /phin@2.9.3:
+ resolution: {integrity: sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==}
+ deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
+ dev: false
+
+ /phin@3.7.1:
+ resolution: {integrity: sha512-GEazpTWwTZaEQ9RhL7Nyz0WwqilbqgLahDM3D0hxWwmVDI52nXEybHqiN6/elwpkJBhcuj+WbBu+QfT0uhPGfQ==}
+ engines: {node: '>= 8'}
+ dependencies:
+ centra: 2.7.0
+ transitivePeerDependencies:
+ - debug
+ dev: false
+
+ /picocolors@1.1.1:
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+
+ /picomatch@2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+
+ /picomatch@4.0.2:
+ resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
+ engines: {node: '>=12'}
+
+ /pify@2.3.0:
+ resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
+ engines: {node: '>=0.10.0'}
+
+ /pinia@2.2.6(typescript@4.9.5)(vue@3.5.12):
+ resolution: {integrity: sha512-vIsR8JkDN5Ga2vAxqOE2cJj4VtsHnzpR1Fz30kClxlh0yCHfec6uoMeM3e/ddqmwFUejK3NlrcQa/shnpyT4hA==}
+ peerDependencies:
+ '@vue/composition-api': ^1.4.0
+ typescript: '>=4.4.4'
+ vue: ^2.6.14 || ^3.5.11
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
+ typescript:
+ optional: true
+ dependencies:
+ '@vue/devtools-api': 6.6.4
+ typescript: 4.9.5
+ vue: 3.5.12(typescript@4.9.5)
+ vue-demi: 0.14.10(vue@3.5.12)
+ dev: false
+
+ /pirates@4.0.6:
+ resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
+ engines: {node: '>= 6'}
+ dev: true
+
+ /pixelmatch@4.0.2:
+ resolution: {integrity: sha512-J8B6xqiO37sU/gkcMglv6h5Jbd9xNER7aHzpfRdNmV4IbQBzBpe4l9XmbG+xPF/znacgu2jfEw+wHffaq/YkXA==}
+ hasBin: true
+ dependencies:
+ pngjs: 3.4.0
+ dev: false
+
+ /pkg-dir@4.2.0:
+ resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ find-up: 4.1.0
+ dev: true
+
+ /pkg-types@1.2.1:
+ resolution: {integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==}
+ dependencies:
+ confbox: 0.1.8
+ mlly: 1.7.2
+ pathe: 1.1.2
+
+ /pngjs@3.4.0:
+ resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==}
+ engines: {node: '>=4.0.0'}
+ dev: false
+
+ /postcss-import@14.1.0(postcss@8.4.47):
+ resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ postcss: ^8.0.0
+ dependencies:
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+ read-cache: 1.0.0
+ resolve: 1.22.8
+
+ /postcss-load-config@3.1.4(postcss@8.4.47):
+ resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
+ engines: {node: '>= 10'}
+ 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.47
+ yaml: 1.10.2
+
+ /postcss-modules-extract-imports@3.1.0(postcss@8.4.47):
+ resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ postcss: 8.4.47
+
+ /postcss-modules-local-by-default@4.0.5(postcss@8.4.47):
+ resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.4.47)
+ postcss: 8.4.47
+ postcss-selector-parser: 6.1.2
+ postcss-value-parser: 4.2.0
+
+ /postcss-modules-scope@3.2.0(postcss@8.4.47):
+ resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ postcss: 8.4.47
+ postcss-selector-parser: 6.1.2
+
+ /postcss-modules-values@4.0.0(postcss@8.4.47):
+ resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.4.47)
+ postcss: 8.4.47
+
+ /postcss-modules@4.3.1(postcss@8.4.47):
+ resolution: {integrity: sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==}
+ peerDependencies:
+ postcss: ^8.0.0
+ dependencies:
+ generic-names: 4.0.0
+ icss-replace-symbols: 1.1.0
+ lodash.camelcase: 4.3.0
+ postcss: 8.4.47
+ postcss-modules-extract-imports: 3.1.0(postcss@8.4.47)
+ postcss-modules-local-by-default: 4.0.5(postcss@8.4.47)
+ postcss-modules-scope: 3.2.0(postcss@8.4.47)
+ postcss-modules-values: 4.0.0(postcss@8.4.47)
+ string-hash: 1.1.3
+
+ /postcss-selector-parser@6.1.2:
+ resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
+ engines: {node: '>=4'}
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
+ /postcss-value-parser@4.2.0:
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+
+ /postcss@8.4.47:
+ resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.3.7
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
+
+ /pretty-format@27.5.1:
+ resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ ansi-regex: 5.0.1
+ ansi-styles: 5.2.0
+ react-is: 17.0.2
+ dev: true
+
+ /process@0.11.10:
+ resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
+ engines: {node: '>= 0.6.0'}
+ dev: false
+
+ /prompts@2.4.2:
+ resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
+ engines: {node: '>= 6'}
+ dependencies:
+ kleur: 3.0.3
+ sisteransi: 1.0.5
+ dev: true
+
+ /proxy-addr@2.0.7:
+ resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
+ engines: {node: '>= 0.10'}
+ dependencies:
+ forwarded: 0.2.0
+ ipaddr.js: 1.9.1
+ dev: true
+
+ /psl@1.10.0:
+ resolution: {integrity: sha512-KSKHEbjAnpUuAUserOq0FxGXCUrzC3WniuSJhvdbs102rL55266ZcHBqLWOsG30spQMlPdpy7icATiAQehg/iA==}
+ dependencies:
+ punycode: 2.3.1
+ dev: true
+
+ /punycode@2.3.1:
+ resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /qrcode-reader@1.0.4:
+ resolution: {integrity: sha512-rRjALGNh9zVqvweg1j5OKIQKNsw3bLC+7qwlnead5K/9cb1cEIAGkwikt/09U0K+2IDWGD9CC6SP7tHAjUeqvQ==}
+
+ /qrcode-terminal@0.12.0:
+ resolution: {integrity: sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==}
+ hasBin: true
+
+ /qs@6.13.0:
+ resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==}
+ engines: {node: '>=0.6'}
+ dependencies:
+ side-channel: 1.0.6
+ dev: true
+
+ /querystringify@2.2.0:
+ resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
+ dev: true
+
+ /queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+
+ /radash@12.1.0:
+ resolution: {integrity: sha512-b0Zcf09AhqKS83btmUeYBS8tFK7XL2e3RvLmZcm0sTdF1/UUlHSsjXdCcWNxe7yfmAlPve5ym0DmKGtTzP6kVQ==}
+ engines: {node: '>=14.18.0'}
+ dev: false
+
+ /randombytes@2.1.0:
+ resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: true
+
+ /range-parser@1.2.1:
+ resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /raw-body@2.5.2:
+ resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ bytes: 3.1.2
+ http-errors: 2.0.0
+ iconv-lite: 0.4.24
+ unpipe: 1.0.0
+ dev: true
+
+ /react-is@17.0.2:
+ resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
+ dev: true
+
+ /read-cache@1.0.0:
+ resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
+ dependencies:
+ pify: 2.3.0
+
+ /readdirp@3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+ dependencies:
+ picomatch: 2.3.1
+
+ /regenerate-unicode-properties@10.2.0:
+ resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==}
+ engines: {node: '>=4'}
+ dependencies:
+ regenerate: 1.4.2
+ dev: true
+
+ /regenerate@1.4.2:
+ resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
+ dev: true
+
+ /regenerator-runtime@0.13.11:
+ resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
+ dev: false
+
+ /regenerator-runtime@0.14.1:
+ resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
+
+ /regenerator-transform@0.15.2:
+ resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
+ dependencies:
+ '@babel/runtime': 7.26.0
+ dev: true
+
+ /regexpu-core@6.1.1:
+ resolution: {integrity: sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==}
+ engines: {node: '>=4'}
+ dependencies:
+ regenerate: 1.4.2
+ regenerate-unicode-properties: 10.2.0
+ regjsgen: 0.8.0
+ regjsparser: 0.11.2
+ unicode-match-property-ecmascript: 2.0.0
+ unicode-match-property-value-ecmascript: 2.2.0
+ dev: true
+
+ /regjsgen@0.8.0:
+ resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==}
+ dev: true
+
+ /regjsparser@0.11.2:
+ resolution: {integrity: sha512-3OGZZ4HoLJkkAZx/48mTXJNlmqTGOzc0o9OWQPuWpkOlXXPbyN6OafCcoXUnBqE2D3f/T5L+pWc1kdEmnfnRsA==}
+ hasBin: true
+ dependencies:
+ jsesc: 3.0.2
+ dev: true
+
+ /require-directory@2.1.1:
+ resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /requires-port@1.0.0:
+ resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
+ dev: true
+
+ /resolve-cwd@3.0.0:
+ resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
+ engines: {node: '>=8'}
+ dependencies:
+ resolve-from: 5.0.0
+ dev: true
+
+ /resolve-from@5.0.0:
+ resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /resolve.exports@1.1.1:
+ resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /resolve@1.22.8:
+ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+ hasBin: true
+ dependencies:
+ is-core-module: 2.15.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+
+ /reusify@1.0.4:
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+
+ /rimraf@3.0.2:
+ resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+ deprecated: Rimraf versions prior to v4 are no longer supported
+ hasBin: true
+ dependencies:
+ glob: 7.2.3
+ dev: true
+
+ /rollup@4.24.4:
+ resolution: {integrity: sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
+ dependencies:
+ '@types/estree': 1.0.6
+ optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.24.4
+ '@rollup/rollup-android-arm64': 4.24.4
+ '@rollup/rollup-darwin-arm64': 4.24.4
+ '@rollup/rollup-darwin-x64': 4.24.4
+ '@rollup/rollup-freebsd-arm64': 4.24.4
+ '@rollup/rollup-freebsd-x64': 4.24.4
+ '@rollup/rollup-linux-arm-gnueabihf': 4.24.4
+ '@rollup/rollup-linux-arm-musleabihf': 4.24.4
+ '@rollup/rollup-linux-arm64-gnu': 4.24.4
+ '@rollup/rollup-linux-arm64-musl': 4.24.4
+ '@rollup/rollup-linux-powerpc64le-gnu': 4.24.4
+ '@rollup/rollup-linux-riscv64-gnu': 4.24.4
+ '@rollup/rollup-linux-s390x-gnu': 4.24.4
+ '@rollup/rollup-linux-x64-gnu': 4.24.4
+ '@rollup/rollup-linux-x64-musl': 4.24.4
+ '@rollup/rollup-win32-arm64-msvc': 4.24.4
+ '@rollup/rollup-win32-ia32-msvc': 4.24.4
+ '@rollup/rollup-win32-x64-msvc': 4.24.4
+ fsevents: 2.3.3
+
+ /run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+ dependencies:
+ queue-microtask: 1.2.3
+
+ /safe-area-insets@1.4.1:
+ resolution: {integrity: sha512-r/nRWTjFGhhm3w1Z6Kd/jY11srN+lHt2mNl1E/emQGW8ic7n3Avu4noibklfSM+Y34peNphHD/BSZecav0sXYQ==}
+ dev: false
+
+ /safe-buffer@5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+ dev: true
+
+ /safer-buffer@2.1.2:
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+ dev: true
+
+ /sass-loader@10.0.5(sass@1.71.1)(webpack@5.96.1):
+ resolution: {integrity: sha512-2LqoNPtKkZq/XbXNQ4C64GFEleSEHKv6NPSI+bMC/l+jpEXGJhiRYkAQToO24MR7NU4JRY2RpLpJ/gjo2Uf13w==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ fibers: '>= 3.1.0'
+ node-sass: ^4.0.0 || ^5.0.0
+ sass: ^1.3.0
+ webpack: ^4.36.0 || ^5.0.0
+ peerDependenciesMeta:
+ fibers:
+ optional: true
+ node-sass:
+ optional: true
+ sass:
+ optional: true
+ dependencies:
+ klona: 2.0.6
+ loader-utils: 2.0.4
+ neo-async: 2.6.2
+ sass: 1.71.1
+ schema-utils: 3.3.0
+ semver: 7.6.3
+ webpack: 5.96.1
+ dev: true
+
+ /sass@1.71.1:
+ resolution: {integrity: sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+ dependencies:
+ chokidar: 3.6.0
+ immutable: 4.3.7
+ source-map-js: 1.2.1
+
+ /sax@1.4.1:
+ resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==}
+ dev: false
+
+ /saxes@5.0.1:
+ resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==}
+ engines: {node: '>=10'}
+ dependencies:
+ xmlchars: 2.2.0
+ dev: true
+
+ /schema-utils@3.3.0:
+ resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
+ engines: {node: '>= 10.13.0'}
+ dependencies:
+ '@types/json-schema': 7.0.15
+ ajv: 6.12.6
+ ajv-keywords: 3.5.2(ajv@6.12.6)
+ dev: true
+
+ /scule@1.3.0:
+ resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==}
+
+ /semver@6.3.1:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
+
+ /semver@7.6.3:
+ resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dev: true
+
+ /send@0.19.0:
+ resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ etag: 1.8.1
+ fresh: 0.5.2
+ http-errors: 2.0.0
+ mime: 1.6.0
+ ms: 2.1.3
+ on-finished: 2.4.1
+ range-parser: 1.2.1
+ statuses: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /serialize-javascript@6.0.2:
+ resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
+ dependencies:
+ randombytes: 2.1.0
+ dev: true
+
+ /serve-static@1.16.2:
+ resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ parseurl: 1.3.3
+ send: 0.19.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /set-function-length@1.2.2:
+ resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.4
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.4
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.2
+ dev: true
+
+ /setprototypeof@1.2.0:
+ resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
+ 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
+
+ /side-channel@1.0.6:
+ resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+ object-inspect: 1.13.2
+ dev: true
+
+ /signal-exit@3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+ dev: true
+
+ /sirv@2.0.4:
+ resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
+ engines: {node: '>= 10'}
+ dependencies:
+ '@polka/url': 1.0.0-next.28
+ mrmime: 2.0.0
+ totalist: 3.0.1
+ dev: true
+
+ /sisteransi@1.0.5:
+ resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
+ dev: true
+
+ /slash@3.0.0:
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /source-map-js@1.2.1:
+ resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
+ engines: {node: '>=0.10.0'}
+
+ /source-map-support@0.5.21:
+ resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
+ dependencies:
+ buffer-from: 1.1.2
+ source-map: 0.6.1
+
+ /source-map@0.6.1:
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
+ engines: {node: '>=0.10.0'}
+
+ /source-map@0.7.4:
+ resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /sprintf-js@1.0.3:
+ resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
+ dev: true
+
+ /stack-utils@2.0.6:
+ resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ escape-string-regexp: 2.0.0
+ dev: true
+
+ /statuses@2.0.1:
+ resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /string-hash@1.1.3:
+ resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==}
+
+ /string-length@4.0.2:
+ resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ char-regex: 1.0.2
+ strip-ansi: 6.0.1
+ dev: true
+
+ /string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+ dev: true
+
+ /strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+ dependencies:
+ ansi-regex: 5.0.1
+ dev: true
+
+ /strip-bom@4.0.0:
+ resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /strip-final-newline@2.0.0:
+ resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /strip-json-comments@3.1.1:
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /strip-literal@2.1.0:
+ resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==}
+ dependencies:
+ js-tokens: 9.0.0
+
+ /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-color@8.1.1:
+ resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ has-flag: 4.0.0
+ dev: true
+
+ /supports-hyperlinks@2.3.0:
+ resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==}
+ engines: {node: '>=8'}
+ dependencies:
+ has-flag: 4.0.0
+ supports-color: 7.2.0
+ dev: true
+
+ /supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+
+ /svg-tags@1.0.0:
+ resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==}
+ dev: true
+
+ /symbol-tree@3.2.4:
+ resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
+ dev: true
+
+ /systemjs@6.15.1:
+ resolution: {integrity: sha512-Nk8c4lXvMB98MtbmjX7JwJRgJOL8fluecYCfCeYBznwmpOs8Bf15hLM6z4z71EDAhQVrQrI+wt1aLWSXZq+hXA==}
+ dev: true
+
+ /tapable@2.2.1:
+ resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
+ engines: {node: '>=6'}
+
+ /terminal-link@2.1.1:
+ resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ ansi-escapes: 4.3.2
+ supports-hyperlinks: 2.3.0
+ dev: true
+
+ /terser-webpack-plugin@5.3.10(webpack@5.96.1):
+ resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ '@swc/core': '*'
+ esbuild: '*'
+ uglify-js: '*'
+ webpack: ^5.1.0
+ peerDependenciesMeta:
+ '@swc/core':
+ optional: true
+ esbuild:
+ optional: true
+ uglify-js:
+ optional: true
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.25
+ jest-worker: 27.5.1
+ schema-utils: 3.3.0
+ serialize-javascript: 6.0.2
+ terser: 5.36.0
+ webpack: 5.96.1
+ dev: true
+
+ /terser@5.36.0:
+ resolution: {integrity: sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ '@jridgewell/source-map': 0.3.6
+ acorn: 8.14.0
+ commander: 2.20.3
+ source-map-support: 0.5.21
+
+ /test-exclude@6.0.0:
+ resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
+ engines: {node: '>=8'}
+ dependencies:
+ '@istanbuljs/schema': 0.1.3
+ glob: 7.2.3
+ minimatch: 3.1.2
+ dev: true
+
+ /throat@6.0.2:
+ resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==}
+ dev: true
+
+ /timm@1.7.1:
+ resolution: {integrity: sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==}
+ dev: false
+
+ /tinycolor2@1.6.0:
+ resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==}
+ dev: false
+
+ /tinyexec@0.3.1:
+ resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==}
+ dev: true
+
+ /tmpl@1.0.5:
+ resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
+ 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
+
+ /toidentifier@1.0.1:
+ resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
+ engines: {node: '>=0.6'}
+ dev: true
+
+ /totalist@3.0.1:
+ resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /tough-cookie@4.1.4:
+ resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==}
+ engines: {node: '>=6'}
+ dependencies:
+ psl: 1.10.0
+ punycode: 2.3.1
+ universalify: 0.2.0
+ url-parse: 1.5.10
+ dev: true
+
+ /tr46@2.1.0:
+ resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==}
+ engines: {node: '>=8'}
+ dependencies:
+ punycode: 2.3.1
+ dev: true
+
+ /type-detect@4.0.8:
+ resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /type-fest@0.21.3:
+ resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /type-is@1.6.18:
+ resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ media-typer: 0.3.0
+ mime-types: 2.1.35
+ dev: true
+
+ /typedarray-to-buffer@3.1.5:
+ resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
+ dependencies:
+ is-typedarray: 1.0.0
+ dev: true
+
+ /typescript@4.9.5:
+ resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==}
+ engines: {node: '>=4.2.0'}
+ hasBin: true
+
+ /ufo@1.5.4:
+ resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==}
+
+ /unconfig@0.3.13:
+ resolution: {integrity: sha512-N9Ph5NC4+sqtcOjPfHrRcHekBCadCXWTBzp2VYYbySOHW0PfD9XLCeXshTXjkPYwLrBr9AtSeU0CZmkYECJhng==}
+ dependencies:
+ '@antfu/utils': 0.7.10
+ defu: 6.1.4
+ jiti: 1.21.6
+ dev: true
+
+ /undici-types@5.26.5:
+ resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+
+ /unicode-canonical-property-names-ecmascript@2.0.1:
+ resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /unicode-match-property-ecmascript@2.0.0:
+ resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
+ engines: {node: '>=4'}
+ dependencies:
+ unicode-canonical-property-names-ecmascript: 2.0.1
+ unicode-property-aliases-ecmascript: 2.1.0
+ dev: true
+
+ /unicode-match-property-value-ecmascript@2.2.0:
+ resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /unicode-property-aliases-ecmascript@2.1.0:
+ resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /unimport@3.13.1:
+ resolution: {integrity: sha512-nNrVzcs93yrZQOW77qnyOVHtb68LegvhYFwxFMfuuWScmwQmyVCG/NBuN8tYsaGzgQUVYv34E/af+Cc9u4og4A==}
+ dependencies:
+ '@rollup/pluginutils': 5.1.3
+ acorn: 8.14.0
+ escape-string-regexp: 5.0.0
+ estree-walker: 3.0.3
+ fast-glob: 3.3.2
+ local-pkg: 0.5.0
+ magic-string: 0.30.12
+ mlly: 1.7.2
+ pathe: 1.1.2
+ pkg-types: 1.2.1
+ scule: 1.3.0
+ strip-literal: 2.1.0
+ unplugin: 1.15.0
+ transitivePeerDependencies:
+ - rollup
+ - webpack-sources
+
+ /universalify@0.2.0:
+ resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
+ engines: {node: '>= 4.0.0'}
+ dev: true
+
+ /universalify@2.0.1:
+ resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
+ engines: {node: '>= 10.0.0'}
+
+ /unocss-preset-weapp@0.58.8:
+ resolution: {integrity: sha512-H8rQvidbl09cSOsWOCuVLd3vdR26uBYDxrhUKZVW/gfhCVWrmkjdXGrc7iP/CcDUK5RxrGIGSDNXqjY7+nbvnQ==}
+ dependencies:
+ '@rollup/pluginutils': 5.1.3
+ '@unocss/core': 0.58.9
+ '@unocss/extractor-arbitrary-variants': 0.58.9
+ '@unocss/rule-utils': 0.58.9
+ unplugin-attributify-to-class: 0.2.5
+ unplugin-transform-class: 0.5.3
+ transitivePeerDependencies:
+ - rollup
+ - webpack-sources
+ dev: true
+
+ /unocss@0.58.9(postcss@8.4.47)(vite@5.2.8):
+ resolution: {integrity: sha512-aqANXXP0RrtN4kSaTLn/7I6wh8o45LUdVgPzGu7Fan2DfH2+wpIs6frlnlHlOymnb+52dp6kXluQinddaUKW1A==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@unocss/webpack': 0.58.9
+ vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
+ peerDependenciesMeta:
+ '@unocss/webpack':
+ optional: true
+ vite:
+ optional: true
+ dependencies:
+ '@unocss/astro': 0.58.9(vite@5.2.8)
+ '@unocss/cli': 0.58.9
+ '@unocss/core': 0.58.9
+ '@unocss/extractor-arbitrary-variants': 0.58.9
+ '@unocss/postcss': 0.58.9(postcss@8.4.47)
+ '@unocss/preset-attributify': 0.58.9
+ '@unocss/preset-icons': 0.58.9
+ '@unocss/preset-mini': 0.58.9
+ '@unocss/preset-tagify': 0.58.9
+ '@unocss/preset-typography': 0.58.9
+ '@unocss/preset-uno': 0.58.9
+ '@unocss/preset-web-fonts': 0.58.9
+ '@unocss/preset-wind': 0.58.9
+ '@unocss/reset': 0.58.9
+ '@unocss/transformer-attributify-jsx': 0.58.9
+ '@unocss/transformer-attributify-jsx-babel': 0.58.9
+ '@unocss/transformer-compile-class': 0.58.9
+ '@unocss/transformer-directives': 0.58.9
+ '@unocss/transformer-variant-group': 0.58.9
+ '@unocss/vite': 0.58.9(vite@5.2.8)
+ vite: 5.2.8(@types/node@18.19.64)(sass@1.71.1)(terser@5.36.0)
+ transitivePeerDependencies:
+ - postcss
+ - rollup
+ - supports-color
+ dev: true
+
+ /unpipe@1.0.0:
+ resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /unplugin-attributify-to-class@0.2.5:
+ resolution: {integrity: sha512-0lTUi01mI19PmTTX4420QO6gJFic1wK4LqNnHeBNDrthQEKI0xw/lYg0bGnWYgPmyqXz88hAdLG+ibaypibXqg==}
+ dependencies:
+ '@rollup/pluginutils': 5.1.3
+ unplugin: 1.15.0
+ unplugin-transform-class: 0.5.3
+ transitivePeerDependencies:
+ - rollup
+ - webpack-sources
+ dev: true
+
+ /unplugin-auto-import@0.16.7:
+ 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.7.10
+ '@rollup/pluginutils': 5.1.3
+ fast-glob: 3.3.2
+ local-pkg: 0.5.0
+ magic-string: 0.30.12
+ minimatch: 9.0.5
+ unimport: 3.13.1
+ unplugin: 1.15.0
+ transitivePeerDependencies:
+ - rollup
+ - webpack-sources
+
+ /unplugin-transform-class@0.5.3:
+ resolution: {integrity: sha512-4xBvfoeBDqlqi9aD0Hv3TTs8JpRs2h9l8LBMXIRXFNTf8biRk6hAQir+zEM/GpBKoMzvt7JqqbMIYzMazQZysQ==}
+ dependencies:
+ '@meoc/utils': 0.2.8
+ '@rollup/pluginutils': 5.1.3
+ unplugin: 1.7.1
+ transitivePeerDependencies:
+ - rollup
+ dev: true
+
+ /unplugin@1.15.0:
+ resolution: {integrity: sha512-jTPIs63W+DUEDW207ztbaoO7cQ4p5aVaB823LSlxpsFEU3Mykwxf3ZGC/wzxFJeZlASZYgVrWeo7LgOrqJZ8RA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ webpack-sources: ^3
+ peerDependenciesMeta:
+ webpack-sources:
+ optional: true
+ dependencies:
+ acorn: 8.14.0
+ webpack-virtual-modules: 0.6.2
+
+ /unplugin@1.7.1:
+ resolution: {integrity: sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw==}
+ dependencies:
+ acorn: 8.14.0
+ chokidar: 3.6.0
+ webpack-sources: 3.2.3
+ webpack-virtual-modules: 0.6.2
+ dev: true
+
+ /unquote@1.1.1:
+ resolution: {integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==}
+ dev: false
+
+ /update-browserslist-db@1.1.1(browserslist@4.24.2):
+ resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+ dependencies:
+ browserslist: 4.24.2
+ escalade: 3.2.0
+ picocolors: 1.1.1
+
+ /uri-js@4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ dependencies:
+ punycode: 2.3.1
+ dev: true
+
+ /url-parse@1.5.10:
+ resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
+ dependencies:
+ querystringify: 2.2.0
+ requires-port: 1.0.0
+ dev: true
+
+ /utif@2.0.1:
+ resolution: {integrity: sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==}
+ dependencies:
+ pako: 1.0.11
+ dev: false
+
+ /util-deprecate@1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+
+ /utils-merge@1.0.1:
+ resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
+ engines: {node: '>= 0.4.0'}
+ dev: true
+
+ /v8-to-istanbul@8.1.1:
+ resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==}
+ engines: {node: '>=10.12.0'}
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.6
+ convert-source-map: 1.9.0
+ source-map: 0.7.4
+ dev: true
+
+ /vary@1.1.2:
+ resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /vite@5.2.8(@types/node@18.19.64)(sass@1.71.1)(terser@5.36.0):
+ resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^18.0.0 || >=20.0.0
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ dependencies:
+ '@types/node': 18.19.64
+ esbuild: 0.20.2
+ postcss: 8.4.47
+ rollup: 4.24.4
+ sass: 1.71.1
+ terser: 5.36.0
+ optionalDependencies:
+ fsevents: 2.3.3
+
+ /vue-demi@0.14.10(vue@3.5.12):
+ resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==}
+ 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.5.12(typescript@4.9.5)
+ dev: false
+
+ /vue-i18n@9.14.1(vue@3.5.12):
+ resolution: {integrity: sha512-xjxV0LYc1xQ8TbAVfIyZiOSS8qoU1R0YwV7V5I8I6Fd64+zvsTsdPgtylPsie3Vdt9wekeYhr+smKDeaK6RBuA==}
+ engines: {node: '>= 16'}
+ peerDependencies:
+ vue: ^3.0.0
+ dependencies:
+ '@intlify/core-base': 9.14.1
+ '@intlify/shared': 9.14.1
+ '@vue/devtools-api': 6.6.4
+ vue: 3.5.12(typescript@4.9.5)
+ dev: false
+
+ /vue-router@4.4.5(vue@3.5.12):
+ resolution: {integrity: sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q==}
+ peerDependencies:
+ vue: ^3.2.0
+ dependencies:
+ '@vue/devtools-api': 6.6.4
+ vue: 3.5.12(typescript@4.9.5)
+ dev: false
+
+ /vue-template-compiler@2.7.16:
+ resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==}
+ dependencies:
+ de-indent: 1.0.2
+ he: 1.2.0
+ dev: true
+
+ /vue-tsc@1.8.27(typescript@4.9.5):
+ resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==}
+ hasBin: true
+ peerDependencies:
+ typescript: '*'
+ dependencies:
+ '@volar/typescript': 1.11.1
+ '@vue/language-core': 1.8.27(typescript@4.9.5)
+ semver: 7.6.3
+ typescript: 4.9.5
+ dev: true
+
+ /vue@3.5.12(typescript@4.9.5):
+ resolution: {integrity: sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@vue/compiler-dom': 3.5.12
+ '@vue/compiler-sfc': 3.5.12
+ '@vue/runtime-dom': 3.5.12
+ '@vue/server-renderer': 3.5.12(vue@3.5.12)
+ '@vue/shared': 3.5.12
+ typescript: 4.9.5
+
+ /w3c-hr-time@1.0.2:
+ resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==}
+ deprecated: Use your platform's native performance.now() and performance.timeOrigin.
+ dependencies:
+ browser-process-hrtime: 1.0.0
+ dev: true
+
+ /w3c-xmlserializer@2.0.0:
+ resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==}
+ engines: {node: '>=10'}
+ dependencies:
+ xml-name-validator: 3.0.0
+ dev: true
+
+ /walker@1.0.8:
+ resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
+ dependencies:
+ makeerror: 1.0.12
+ dev: true
+
+ /watchpack@2.4.2:
+ resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+ dev: true
+
+ /webidl-conversions@5.0.0:
+ resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /webidl-conversions@6.1.0:
+ resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==}
+ engines: {node: '>=10.4'}
+ dev: true
+
+ /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.6.2:
+ resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==}
+
+ /webpack@5.96.1:
+ resolution: {integrity: sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ peerDependencies:
+ webpack-cli: '*'
+ peerDependenciesMeta:
+ webpack-cli:
+ optional: true
+ dependencies:
+ '@types/eslint-scope': 3.7.7
+ '@types/estree': 1.0.6
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/wasm-edit': 1.14.1
+ '@webassemblyjs/wasm-parser': 1.14.1
+ acorn: 8.14.0
+ browserslist: 4.24.2
+ chrome-trace-event: 1.0.4
+ enhanced-resolve: 5.17.1
+ es-module-lexer: 1.5.4
+ eslint-scope: 5.1.1
+ events: 3.3.0
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+ json-parse-even-better-errors: 2.3.1
+ loader-runner: 4.3.0
+ mime-types: 2.1.35
+ neo-async: 2.6.2
+ schema-utils: 3.3.0
+ tapable: 2.2.1
+ terser-webpack-plugin: 5.3.10(webpack@5.96.1)
+ watchpack: 2.4.2
+ webpack-sources: 3.2.3
+ transitivePeerDependencies:
+ - '@swc/core'
+ - esbuild
+ - uglify-js
+ dev: true
+
+ /whatwg-encoding@1.0.5:
+ resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==}
+ dependencies:
+ iconv-lite: 0.4.24
+ dev: true
+
+ /whatwg-mimetype@2.3.0:
+ resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==}
+ dev: true
+
+ /whatwg-url@8.7.0:
+ resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==}
+ engines: {node: '>=10'}
+ dependencies:
+ lodash: 4.17.21
+ tr46: 2.1.0
+ webidl-conversions: 6.1.0
+ dev: true
+
+ /which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+ dependencies:
+ isexe: 2.0.0
+ dev: true
+
+ /wrap-ansi@7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ dev: true
+
+ /wrappy@1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+ dev: true
+
+ /write-file-atomic@3.0.3:
+ resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
+ dependencies:
+ imurmurhash: 0.1.4
+ is-typedarray: 1.0.0
+ signal-exit: 3.0.7
+ typedarray-to-buffer: 3.1.5
+ dev: true
+
+ /ws@7.5.10:
+ resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==}
+ engines: {node: '>=8.3.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: ^5.0.2
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ dev: true
+
+ /ws@8.18.0:
+ resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+
+ /xhr@2.6.0:
+ resolution: {integrity: sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==}
+ dependencies:
+ global: 4.4.0
+ is-function: 1.0.2
+ parse-headers: 2.0.5
+ xtend: 4.0.2
+ dev: false
+
+ /xml-name-validator@3.0.0:
+ resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==}
+ dev: true
+
+ /xml-parse-from-string@1.0.1:
+ resolution: {integrity: sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==}
+ dev: false
+
+ /xml2js@0.5.0:
+ resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==}
+ engines: {node: '>=4.0.0'}
+ dependencies:
+ sax: 1.4.1
+ xmlbuilder: 11.0.1
+ dev: false
+
+ /xmlbuilder@11.0.1:
+ resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==}
+ engines: {node: '>=4.0'}
+ dev: false
+
+ /xmlchars@2.2.0:
+ resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
+ dev: true
+
+ /xmlhttprequest@1.8.0:
+ resolution: {integrity: sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==}
+ engines: {node: '>=0.4.0'}
+ dev: false
+
+ /xregexp@3.1.0:
+ resolution: {integrity: sha512-4Y1x6DyB8xRoxosooa6PlGWqmmSKatbzhrftZ7Purmm4B8R4qIEJG1A2hZsdz5DhmIqS0msC0I7KEq93GphEVg==}
+
+ /xtend@4.0.2:
+ resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
+ engines: {node: '>=0.4'}
+ dev: false
+
+ /y18n@5.0.8:
+ resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /yallist@3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+
+ /yaml@1.10.2:
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
+ engines: {node: '>= 6'}
+
+ /yargs-parser@20.2.9:
+ resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /yargs@16.2.0:
+ resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
+ engines: {node: '>=10'}
+ dependencies:
+ cliui: 7.0.4
+ escalade: 3.2.0
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ string-width: 4.2.3
+ y18n: 5.0.8
+ yargs-parser: 20.2.9
+ dev: true
+
+ /z-paging@2.8.0:
+ resolution: {integrity: sha512-RogzPiqg621c6E/0S1fMXCwwEOcunH6h1yO9WWF6OB68v6dq89EedfSQBABa9S7KYlTHvxfaPq3M8uUjvEDKGw==}
+ engines: {HBuilderX: ^3.0.7}
+ dev: false
diff --git a/shims-uni.d.ts b/shims-uni.d.ts
new file mode 100644
index 0000000..ed4adcf
--- /dev/null
+++ b/shims-uni.d.ts
@@ -0,0 +1,10 @@
+///
+import 'vue'
+
+declare module '@vue/runtime-core' {
+ type Hooks = App.AppInstance & Page.PageInstance;
+
+ interface ComponentCustomOptions extends Hooks {
+
+ }
+}
diff --git a/src/App.vue b/src/App.vue
new file mode 100644
index 0000000..1370b98
--- /dev/null
+++ b/src/App.vue
@@ -0,0 +1,18 @@
+
+
+
+
diff --git a/src/components.d.ts b/src/components.d.ts
new file mode 100644
index 0000000..aec2bbb
--- /dev/null
+++ b/src/components.d.ts
@@ -0,0 +1,42 @@
+/* eslint-disable */
+// @ts-nocheck
+// Generated by unplugin-vue-components
+// Read more: https://github.com/vuejs/core/pull/3399
+export {}
+
+/* prettier-ignore */
+declare module 'vue' {
+ export interface GlobalComponents {
+ PickerItem: typeof import('./src/uni_modules/tm-ui/components/tm-picker-view/picker-item.vue')['default']
+ RouterLink: typeof import('vue-router')['RouterLink']
+ RouterView: typeof import('vue-router')['RouterView']
+ TmAlert: typeof import('./src/uni_modules/tm-ui/components/tm-alert/tm-alert.vue')['default']
+ TmBadge: typeof import('./src/uni_modules/tm-ui/components/tm-badge/tm-badge.vue')['default']
+ TmBetweenTime: typeof import('./src/uni_modules/tm-ui/components/tm-between-time/tm-between-time.vue')['default']
+ TmButton: typeof import('./src/uni_modules/tm-ui/components/tm-button/tm-button.vue')['default']
+ TmCell: typeof import('./src/uni_modules/tm-ui/components/tm-cell/tm-cell.vue')['default']
+ TmCheckbox: typeof import('./src/uni_modules/tm-ui/components/tm-checkbox/tm-checkbox.vue')['default']
+ TmCheckboxGroup: typeof import('./src/uni_modules/tm-ui/components/tm-checkbox-group/tm-checkbox-group.vue')['default']
+ TmCol: typeof import('./src/uni_modules/tm-ui/components/tm-col/tm-col.vue')['default']
+ TmCollapse: typeof import('./src/uni_modules/tm-ui/components/tm-collapse/tm-collapse.vue')['default']
+ TmCollapseItem: typeof import('./src/uni_modules/tm-ui/components/tm-collapse-item/tm-collapse-item.vue')['default']
+ TmDateView: typeof import('./src/uni_modules/tm-ui/components/tm-date-view/tm-date-view.vue')['default']
+ TmDrawer: typeof import('./src/uni_modules/tm-ui/components/tm-drawer/tm-drawer.vue')['default']
+ TmIcon: typeof import('./src/uni_modules/tm-ui/components/tm-icon/tm-icon.vue')['default']
+ TmImage: typeof import('./src/uni_modules/tm-ui/components/tm-image/tm-image.vue')['default']
+ TmInput: typeof import('./src/uni_modules/tm-ui/components/tm-input/tm-input.vue')['default']
+ TmModal: typeof import('./src/uni_modules/tm-ui/components/tm-modal/tm-modal.vue')['default']
+ TmPicker: typeof import('./src/uni_modules/tm-ui/components/tm-picker/tm-picker.vue')['default']
+ TmPickerDate: typeof import('./src/uni_modules/tm-ui/components/tm-picker-date/tm-picker-date.vue')['default']
+ TmPickerView: typeof import('./src/uni_modules/tm-ui/components/tm-picker-view/tm-picker-view.vue')['default']
+ TmRadio: typeof import('./src/uni_modules/tm-ui/components/tm-radio/tm-radio.vue')['default']
+ TmRadioGroup: typeof import('./src/uni_modules/tm-ui/components/tm-radio-group/tm-radio-group.vue')['default']
+ TmRow: typeof import('./src/uni_modules/tm-ui/components/tm-row/tm-row.vue')['default']
+ TmSheet: typeof import('./src/uni_modules/tm-ui/components/tm-sheet/tm-sheet.vue')['default']
+ TmSwitch: typeof import('./src/uni_modules/tm-ui/components/tm-switch/tm-switch.vue')['default']
+ TmTabs: typeof import('./src/uni_modules/tm-ui/components/tm-tabs/tm-tabs.vue')['default']
+ TmTabsItem: typeof import('./src/uni_modules/tm-ui/components/tm-tabs-item/tm-tabs-item.vue')['default']
+ TmTag: typeof import('./src/uni_modules/tm-ui/components/tm-tag/tm-tag.vue')['default']
+ TmText: typeof import('./src/uni_modules/tm-ui/components/tm-text/tm-text.vue')['default']
+ }
+}
diff --git a/src/env.d.ts b/src/env.d.ts
new file mode 100644
index 0000000..d27eb5a
--- /dev/null
+++ b/src/env.d.ts
@@ -0,0 +1,8 @@
+///
+
+declare module '*.vue' {
+ import { DefineComponent } from 'vue'
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
+ const component: DefineComponent<{}, {}, any>
+ export default component
+}
diff --git a/src/global.d.ts b/src/global.d.ts
new file mode 100644
index 0000000..9411dd1
--- /dev/null
+++ b/src/global.d.ts
@@ -0,0 +1,3 @@
+declare const __TABBAR__: Array;
+declare const __ROUTES__: Array;
+declare const __APP_SERVICE__: string;
diff --git a/src/main.ts b/src/main.ts
new file mode 100644
index 0000000..1de055c
--- /dev/null
+++ b/src/main.ts
@@ -0,0 +1,18 @@
+import { createSSRApp } from "vue";
+import "uno.css";
+import * as Pinia from "pinia";
+
+import App from "./App.vue";
+import tmUi from "./uni_modules/tm-ui";
+
+export function createApp() {
+ const app = createSSRApp(App);
+
+ app.use(Pinia.createPinia());
+ app.use(tmUi);
+
+ return {
+ app,
+ Pinia,
+ };
+}
diff --git a/src/manifest.json b/src/manifest.json
new file mode 100644
index 0000000..309b9ec
--- /dev/null
+++ b/src/manifest.json
@@ -0,0 +1,72 @@
+{
+ "name" : "",
+ "appid" : "",
+ "description" : "",
+ "versionName" : "1.0.0",
+ "versionCode" : "100",
+ "transformPx" : false,
+ /* 5+App特有相关 */
+ "app-plus" : {
+ "usingComponents" : true,
+ "nvueStyleCompiler" : "uni-app",
+ "compilerVersion" : 3,
+ "splashscreen" : {
+ "alwaysShowBeforeRender" : true,
+ "waiting" : true,
+ "autoclose" : true,
+ "delay" : 0
+ },
+ /* 模块配置 */
+ "modules" : {},
+ /* 应用发布信息 */
+ "distribute" : {
+ /* android打包配置 */
+ "android" : {
+ "permissions" : [
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
+ /* ios打包配置 */
+ "ios" : {},
+ /* SDK配置 */
+ "sdkConfigs" : {}
+ }
+ },
+ /* 快应用特有相关 */
+ "quickapp" : {},
+ /* 小程序特有相关 */
+ "mp-weixin" : {
+ "appid" : "",
+ "setting" : {
+ "urlCheck" : false
+ },
+ "usingComponents" : true
+ },
+ "mp-alipay" : {
+ "usingComponents" : true
+ },
+ "mp-baidu" : {
+ "usingComponents" : true
+ },
+ "mp-toutiao" : {
+ "usingComponents" : true
+ },
+ "uniStatistics": {
+ "enable": false
+ },
+ "vueVersion" : "3"
+}
diff --git a/src/pages.json b/src/pages.json
new file mode 100644
index 0000000..68e8ab9
--- /dev/null
+++ b/src/pages.json
@@ -0,0 +1,152 @@
+{
+ "easycom": {
+ "autoscan": true,
+ "custom": {
+ "^base-(.*)": "@/sheep/components/base/base-$1/base-$1.vue",
+ "^crud-(.*)": "@/sheep/components/crud/crud-$1/crud-$1.vue",
+ "^tm-(.*)": "@/uni_modules/tm-ui/components/tm-$1/tm-$1.vue",
+ "^(?!z-paging-refresh|z-paging-load-more)z-paging(.*)": "z-paging/components/z-paging$1/z-paging$1.vue"
+ }
+ },
+ "pages": [
+ {
+ "path": "pages/tabbar/home",
+ "style": {
+ "navigationBarTitleText": "",
+ "disableScroll": true
+ }
+ },
+ {
+ "path": "pages/tabbar/food",
+ "style": {
+ "navigationBarTitleText": "菜谱",
+ "disableScroll": true
+ }
+ },
+ {
+ "path": "pages/tabbar/order",
+ "style": {
+ "navigationBarTitleText": "订单",
+ "disableScroll": true
+ }
+ },
+ {
+ "path": "pages/tabbar/my",
+ "style": {
+ "navigationBarTitleText": "我的",
+ "disableScroll": true
+ }
+ }
+ ],
+ "subPackages": [
+ {
+ "root": "pages/order",
+ "pages": []
+ },
+ {
+ "root": "pages/shop",
+ "pages": []
+ },
+ {
+ "root": "pages/apply",
+ "pages": [
+ {
+ "path": "foreign-apply",
+ "style": {
+ "navigationBarTitleText": "",
+ "disableScroll": true
+ }
+ },
+ {
+ "path": "foreign-list",
+ "style": {
+ "navigationBarTitleText": "",
+ "disableScroll": true
+ }
+ },
+ {
+ "path": "foreign-items",
+ "style": {
+ "navigationBarTitleText": "",
+ "disableScroll": true
+ }
+ },
+ {
+ "path": "stride-apply",
+ "style": {
+ "navigationBarTitleText": "",
+ "disableScroll": true
+ }
+ },
+ {
+ "path": "stride-list",
+ "style": {
+ "navigationBarTitleText": "",
+ "disableScroll": true
+ }
+ }
+ ]
+ },
+ {
+ "root": "pages/wallet",
+ "pages": [
+ {
+ "path": "list",
+ "style": {
+ "navigationBarTitleText": "",
+ "disableScroll": true
+ }
+ },
+ {
+ "path": "detail",
+ "style": {
+ "navigationBarTitleText": "",
+ "disableScroll": true
+ }
+ },
+ {
+ "path": "recharge",
+ "style": {
+ "navigationBarTitleText": "",
+ "disableScroll": true
+ }
+ }
+ ]
+ }
+ ],
+ "globalStyle": {
+ "navigationBarTextStyle": "black",
+ "navigationBarTitleText": "浦江小程序",
+ "navigationBarBackgroundColor": "#1777FF",
+ "backgroundColor": "#ecf4f9",
+ "navigationStyle": "custom"
+ },
+ "tabBar": {
+ "list": [
+ {
+ "pagePath": "pages/tabbar/home",
+ "text": "首页",
+ "iconPath": "static/tabbar/home.png",
+ "selectedIconPath": "static/tabbar/home-select.png"
+ },
+ {
+ "pagePath": "pages/tabbar/food",
+ "text": "菜谱",
+ "iconPath": "static/tabbar/food.png",
+ "selectedIconPath": "static/tabbar/food-select.png"
+ },
+ {
+ "pagePath": "pages/tabbar/order",
+ "text": "订单",
+ "iconPath": "static/tabbar/order.png",
+ "selectedIconPath": "static/tabbar/order-select.png"
+ },
+ {
+ "pagePath": "pages/tabbar/my",
+ "text": "我的",
+ "iconPath": "static/tabbar/my.png",
+ "selectedIconPath": "static/tabbar/my-select.png"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/src/pages/apply/foreign-apply.vue b/src/pages/apply/foreign-apply.vue
new file mode 100644
index 0000000..e7ace46
--- /dev/null
+++ b/src/pages/apply/foreign-apply.vue
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/apply/foreign-items.vue b/src/pages/apply/foreign-items.vue
new file mode 100644
index 0000000..3f4d4bf
--- /dev/null
+++ b/src/pages/apply/foreign-items.vue
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 未使用
+ 已使用
+
+ {{ v.userNameStr }}
+ {{ v.userMobile }}
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/apply/foreign-list.vue b/src/pages/apply/foreign-list.vue
new file mode 100644
index 0000000..ba0ac07
--- /dev/null
+++ b/src/pages/apply/foreign-list.vue
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 电子餐券
+ {{ hooks.useTime(v.createTime, "") }}
+
+
+
+ 有效期
+
+ {{ hooks.useTime(v.applyStartTime, " {y}-{m}-{d}") }}
+ ~
+ {{ hooks.useTime(v.applyEndTime, "{y}-{m}-{d}") }}
+
+
+
+ 数量
+ {{ v.count }}
+
+
+
+
+
+ 申请
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/apply/stride-apply.vue b/src/pages/apply/stride-apply.vue
new file mode 100644
index 0000000..2065365
--- /dev/null
+++ b/src/pages/apply/stride-apply.vue
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/apply/stride-list.vue b/src/pages/apply/stride-list.vue
new file mode 100644
index 0000000..f6043ff
--- /dev/null
+++ b/src/pages/apply/stride-list.vue
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 申请
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/tabbar/food.vue b/src/pages/tabbar/food.vue
new file mode 100644
index 0000000..551dd57
--- /dev/null
+++ b/src/pages/tabbar/food.vue
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/tabbar/home.vue b/src/pages/tabbar/home.vue
new file mode 100644
index 0000000..551dd57
--- /dev/null
+++ b/src/pages/tabbar/home.vue
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/tabbar/my.vue b/src/pages/tabbar/my.vue
new file mode 100644
index 0000000..0ddea3e
--- /dev/null
+++ b/src/pages/tabbar/my.vue
@@ -0,0 +1,122 @@
+
+
+
+
+
+
+
+
+
+
+ {{ state.userInfo.nickname }}
+
+
+ ID {{ state.userInfo.id }}
+
+
+ 请先登录
+
+
+
+
+
+ 我的服务
+
+
+
+ {{ v.text }}
+
+
+
+
+
+
+
+ 退出登录
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/tabbar/order.vue b/src/pages/tabbar/order.vue
new file mode 100644
index 0000000..551dd57
--- /dev/null
+++ b/src/pages/tabbar/order.vue
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/wallet/detail.vue b/src/pages/wallet/detail.vue
new file mode 100644
index 0000000..5989608
--- /dev/null
+++ b/src/pages/wallet/detail.vue
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ v.title }}
+ 支付交易
+ {{ v.title }}
+
+
+ {{ v.price }}
+
+
+
+ {{ hooks.useTime(v.createTime, "") }}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/wallet/list.vue b/src/pages/wallet/list.vue
new file mode 100644
index 0000000..cc36050
--- /dev/null
+++ b/src/pages/wallet/list.vue
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ v.walletTypeStr }}
+
+
+ {{ v.cardNumber }}
+
+
+
+ 去充值
+
+
+
+
+ 余额 ¥{{ hooks.useMoney(v.balance) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 绑定
+
+
+
+
+
+
+
+
+
+
+
+ 冻结
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/wallet/recharge.vue b/src/pages/wallet/recharge.vue
new file mode 100644
index 0000000..6b507ae
--- /dev/null
+++ b/src/pages/wallet/recharge.vue
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+
+
+
+
+ {{ state.detail.walletTypeStr }}
+
+
+
+ ¥{{ hooks.useMoney(state.detail.balance) }}
+
+
+
+ 充值
+
+
+ ¥{{ hooks.useMoney(v.payPrice) }}
+
+
+ 支付
+
+
+
+
+
+
+ 确认充值
+
+
+
+
+
\ No newline at end of file
diff --git a/src/sheep/api/apply.ts b/src/sheep/api/apply.ts
new file mode 100644
index 0000000..7968551
--- /dev/null
+++ b/src/sheep/api/apply.ts
@@ -0,0 +1,49 @@
+import request from "@/sheep/utils/request";
+
+export default {
+ foreignList: (params: any) =>
+ request({
+ url: "pay/foreign-ticket/get-all",
+ method: "GET",
+ params,
+ custom: {
+ showLoading: false,
+ },
+ }),
+ foreignItems: (params: any) =>
+ request({
+ url: "pay/foreign-ticket/get-items",
+ method: "GET",
+ params,
+ custom: {
+ showLoading: false,
+ },
+ }),
+ foreignApply: (data: any) =>
+ request({
+ url: "pay/foreign-ticket/apply",
+ method: "POST",
+ data,
+ custom: {
+ showLoading: false,
+ },
+ }),
+ strideList: (params: any) =>
+ request({
+ url: "pay/stride-dept/get-all",
+ method: "GET",
+ params,
+ custom: {
+ showLoading: false,
+ },
+ }),
+ strideApply: (data: any) =>
+ request({
+ url: "pay/stride-dept/apply",
+ method: "POST",
+ data,
+ custom: {
+ showLoading: false,
+ },
+ }),
+};
diff --git a/src/sheep/api/common.ts b/src/sheep/api/common.ts
new file mode 100644
index 0000000..8c60b54
--- /dev/null
+++ b/src/sheep/api/common.ts
@@ -0,0 +1,3 @@
+import request from "@/sheep/utils/request";
+
+export default {};
diff --git a/src/sheep/api/food.ts b/src/sheep/api/food.ts
new file mode 100644
index 0000000..8c60b54
--- /dev/null
+++ b/src/sheep/api/food.ts
@@ -0,0 +1,3 @@
+import request from "@/sheep/utils/request";
+
+export default {};
diff --git a/src/sheep/api/index.ts b/src/sheep/api/index.ts
new file mode 100644
index 0000000..a36c3e0
--- /dev/null
+++ b/src/sheep/api/index.ts
@@ -0,0 +1,17 @@
+export { default as applyApi } from "./apply";
+
+export { default as commonApi } from "./common";
+
+export { default as foodApi } from "./food";
+
+export { default as merchantApi } from "./merchant";
+
+export { default as orderApi } from "./order";
+
+export { default as payApi } from "./pay";
+
+export { default as productApi } from "./product";
+
+export { default as userApi } from "./user";
+
+export { default as walletApi } from "./wallet";
diff --git a/src/sheep/api/merchant.ts b/src/sheep/api/merchant.ts
new file mode 100644
index 0000000..23275d2
--- /dev/null
+++ b/src/sheep/api/merchant.ts
@@ -0,0 +1,12 @@
+import request from "@/sheep/utils/request";
+
+export default {
+ merchantList: () =>
+ request({
+ url: "/merchant/manage/page-join",
+ method: "GET",
+ custom: {
+ showLoading: false,
+ },
+ }),
+};
diff --git a/src/sheep/api/order.ts b/src/sheep/api/order.ts
new file mode 100644
index 0000000..8c60b54
--- /dev/null
+++ b/src/sheep/api/order.ts
@@ -0,0 +1,3 @@
+import request from "@/sheep/utils/request";
+
+export default {};
diff --git a/src/sheep/api/pay.ts b/src/sheep/api/pay.ts
new file mode 100644
index 0000000..eb08162
--- /dev/null
+++ b/src/sheep/api/pay.ts
@@ -0,0 +1,20 @@
+import request from "@/sheep/utils/request";
+
+export default {
+ // 获得支付订单
+ getOrder: (id, sync) => {
+ return request({
+ url: "/pay/order/get",
+ method: "GET",
+ params: { id, sync },
+ });
+ },
+ // 提交支付订单
+ submitOrder: (data) => {
+ return request({
+ url: "/pay/order/submit",
+ method: "POST",
+ data,
+ });
+ },
+};
diff --git a/src/sheep/api/product.ts b/src/sheep/api/product.ts
new file mode 100644
index 0000000..8c60b54
--- /dev/null
+++ b/src/sheep/api/product.ts
@@ -0,0 +1,3 @@
+import request from "@/sheep/utils/request";
+
+export default {};
diff --git a/src/sheep/api/user.ts b/src/sheep/api/user.ts
new file mode 100644
index 0000000..2c80c17
--- /dev/null
+++ b/src/sheep/api/user.ts
@@ -0,0 +1,33 @@
+import request from "@/sheep/utils/request";
+
+export default {
+ userInfo: () =>
+ request({
+ url: "/sys/user/get",
+ method: "GET",
+ custom: {
+ showLoading: false,
+ loadingMsg: "登录中",
+ },
+ }),
+
+ auth: (str: any) =>
+ request({
+ url: `/sys/auth/zzdsso/${str}`,
+ method: "GET",
+ custom: {
+ showLoading: false,
+ loadingMsg: "授权中",
+ },
+ }),
+
+ refreshToken: (params: any) =>
+ request({
+ url: `/sys/auth/refresh-token`,
+ method: "POST",
+ params,
+ custom: {
+ showLoading: false,
+ },
+ }),
+};
diff --git a/src/sheep/api/wallet.ts b/src/sheep/api/wallet.ts
new file mode 100644
index 0000000..10bcb03
--- /dev/null
+++ b/src/sheep/api/wallet.ts
@@ -0,0 +1,84 @@
+import request from "@/sheep/utils/request";
+
+export default {
+ all: () =>
+ request({
+ url: "pay/wallet/get-all",
+ method: "GET",
+ custom: {
+ showLoading: false,
+ },
+ }),
+ detail: (params: any) =>
+ request({
+ url: "pay/wallet/detail",
+ method: "GET",
+ params,
+ custom: {
+ showLoading: false,
+ },
+ }),
+ bind: (data: any) =>
+ request({
+ url: "pay/wallet/bind-card",
+ method: "POST",
+ data,
+ custom: {
+ showLoading: false,
+ },
+ }),
+ freeze: (data: any) =>
+ request({
+ url: "pay/wallet/apply-freeze",
+ method: "POST",
+ data,
+ custom: {
+ showLoading: false,
+ },
+ }),
+ balanceDetail: (params: any) =>
+ request({
+ url: "pay/wallet/get-id",
+ method: "GET",
+ params,
+ custom: {
+ showLoading: false,
+ },
+ }),
+ transaction: (params: any) =>
+ request({
+ url: "pay/wallet-transaction/page-by-id",
+ method: "GET",
+ params,
+ custom: {
+ showLoading: false,
+ },
+ }),
+ summary: (params: any) =>
+ request({
+ url: "pay/wallet-transaction/get-summary-by-id",
+ method: "GET",
+ params,
+ custom: {
+ showLoading: false,
+ },
+ }),
+ rechargeList: (params: any) =>
+ request({
+ url: "pay/wallet-recharge-package/list",
+ method: "GET",
+ params,
+ custom: {
+ showLoading: false,
+ },
+ }),
+ recharge: (data: any) =>
+ request({
+ url: "pay/wallet-recharge/create",
+ method: "POST",
+ data,
+ custom: {
+ showLoading: false,
+ },
+ }),
+};
diff --git a/src/sheep/components/base/base-just-flot-nav/base-just-flot-nav.vue b/src/sheep/components/base/base-just-flot-nav/base-just-flot-nav.vue
new file mode 100644
index 0000000..eb3b346
--- /dev/null
+++ b/src/sheep/components/base/base-just-flot-nav/base-just-flot-nav.vue
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/sheep/components/base/base-nav/base-nav.vue b/src/sheep/components/base/base-nav/base-nav.vue
new file mode 100644
index 0000000..31d2a28
--- /dev/null
+++ b/src/sheep/components/base/base-nav/base-nav.vue
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
+ {{ props.title }}
+
+
+
+
diff --git a/src/sheep/components/base/base-safe-height/base-safe-height.vue b/src/sheep/components/base/base-safe-height/base-safe-height.vue
new file mode 100644
index 0000000..1f48f7a
--- /dev/null
+++ b/src/sheep/components/base/base-safe-height/base-safe-height.vue
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/sheep/components/crud/crud-layout/crud-layout.vue b/src/sheep/components/crud/crud-layout/crud-layout.vue
new file mode 100644
index 0000000..d7ec867
--- /dev/null
+++ b/src/sheep/components/crud/crud-layout/crud-layout.vue
@@ -0,0 +1,163 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/sheep/components/other/z-tabs/config/index.js b/src/sheep/components/other/z-tabs/config/index.js
new file mode 100644
index 0000000..9fbc9fb
--- /dev/null
+++ b/src/sheep/components/other/z-tabs/config/index.js
@@ -0,0 +1,6 @@
+// z-tabs全局配置文件,注意避免更新时此文件被覆盖,若被覆盖,可在此文件中右键->点击本地历史记录,找回覆盖前的配置
+export default {
+ 'bg-color': 'transparent',
+ 'active-color': '#1777FF',
+ 'inactive-color': '#999999'
+}
\ No newline at end of file
diff --git a/src/sheep/components/other/z-tabs/z-tabs.vue b/src/sheep/components/other/z-tabs/z-tabs.vue
new file mode 100644
index 0000000..a18a479
--- /dev/null
+++ b/src/sheep/components/other/z-tabs/z-tabs.vue
@@ -0,0 +1,736 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item[nameKey]||item}}
+
+ {{_formatCount(item.badge.count)}}
+
+
+
+
+
+ :style="[{transform:`translateX(${bottomDotX}px)`,transition:dotTransition,background:activeColor},finalDotStyle]"
+
+
+ :style="[{background:activeColor},finalDotStyle]"
+
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/sheep/constant/img-constant.ts b/src/sheep/constant/img-constant.ts
new file mode 100644
index 0000000..2d52e58
--- /dev/null
+++ b/src/sheep/constant/img-constant.ts
@@ -0,0 +1,3 @@
+export default {
+ logo: "/static/constant/logo.png"
+}
\ No newline at end of file
diff --git a/src/sheep/constant/index.ts b/src/sheep/constant/index.ts
new file mode 100644
index 0000000..a80bc11
--- /dev/null
+++ b/src/sheep/constant/index.ts
@@ -0,0 +1,3 @@
+export { default as imgConstant } from "./img-constant";
+
+export { default as storageConstant } from "./storage-constant";
diff --git a/src/sheep/constant/storage-constant.ts b/src/sheep/constant/storage-constant.ts
new file mode 100644
index 0000000..b802b87
--- /dev/null
+++ b/src/sheep/constant/storage-constant.ts
@@ -0,0 +1,4 @@
+export default {
+ TOKEN: "token",
+ USERINFO: "user_info",
+};
diff --git a/src/sheep/hooks/index.ts b/src/sheep/hooks/index.ts
new file mode 100644
index 0000000..0070364
--- /dev/null
+++ b/src/sheep/hooks/index.ts
@@ -0,0 +1,3 @@
+export * from "./use-page";
+
+export * from "./use-unit";
diff --git a/src/sheep/hooks/use-page.ts b/src/sheep/hooks/use-page.ts
new file mode 100644
index 0000000..80effdc
--- /dev/null
+++ b/src/sheep/hooks/use-page.ts
@@ -0,0 +1,78 @@
+import { reactive, onMounted } from "vue";
+
+export const usePage = (
+ ref: any = null,
+ fn: Function | null = null,
+ sticky = null,
+ struct = "data"
+) => {
+ const state = reactive({
+ loading: true,
+ list: [],
+ headerHeight: 0,
+ scrollable: true,
+ });
+ const scroll = (e: any) => {
+ const scrollTop = e.detail.scrollTop;
+ if (scrollTop < state.headerHeight) {
+ state.scrollable = true;
+ } else {
+ state.scrollable = false;
+ }
+ };
+ onMounted(() => {
+ if (sticky != null) {
+ const query = uni.createSelectorQuery();
+ query
+ .select(sticky)
+ .boundingClientRect((data) => {
+ state.headerHeight = (data as any).height;
+ })
+ .exec();
+ }
+ });
+ const setPage = async (list: Array) => {
+ if (ref == null) return;
+ state.list.totalList = await ref.value.complete(list);
+ console.log(state.list, "list");
+ };
+ const startPage = async (
+ page: number,
+ pagesize: number,
+ isPage = false,
+ query = {}
+ ) => {
+ if (!fn || typeof fn !== "function") {
+ console.warn("startPage 方法请传入 pageFunc 参数 模拟5条假数据");
+ state.list = Array.from(new Array(5));
+ setPage(state.list);
+ state.startPage = startPage;
+ state.scroll = scroll;
+ return state;
+ }
+ const _data = {
+ pageNo: page,
+ pagesize: pagesize,
+ ...query,
+ };
+ try {
+ const res = await fn(_data);
+ let _arr = res;
+ for (let key of struct.split(".")) {
+ _arr = _arr[key];
+ }
+ setPage(_arr);
+ } catch (e) {
+ console.log(e);
+ }
+ setTimeout((_) => {
+ if (state.loading == true) {
+ state.loading = false;
+ }
+ }, 500);
+ };
+
+ state.startPage = startPage;
+ state.scroll = scroll;
+ return state;
+};
diff --git a/src/sheep/hooks/use-unit.ts b/src/sheep/hooks/use-unit.ts
new file mode 100644
index 0000000..3f67726
--- /dev/null
+++ b/src/sheep/hooks/use-unit.ts
@@ -0,0 +1,49 @@
+export const useMoney = (num) => {
+ if (typeof num === "undefined") return "0.00";
+ const parsedNumber = typeof num === "string" ? parseFloat(num) : num;
+ return (parsedNumber / 100.0).toFixed(1);
+};
+
+export function useTime(time, pattern) {
+ if (arguments.length === 0 || !time) {
+ return null;
+ }
+ const format = pattern || "{y}-{m}-{d} {h}:{i}:{s}";
+ let date;
+ if (typeof time === "object") {
+ date = time;
+ } else {
+ if (typeof time === "string" && /^[0-9]+$/.test(time)) {
+ time = parseInt(time);
+ } else if (typeof time === "string") {
+ time = time
+ .replace(new RegExp(/-/gm), "/")
+ .replace("T", " ")
+ .replace(new RegExp(/\.[\d]{3}/gm), "");
+ }
+ if (typeof time === "number" && time.toString().length === 10) {
+ time = time * 1000;
+ }
+ date = new Date(time);
+ }
+ const formatObj = {
+ y: date.getFullYear(),
+ m: date.getMonth() + 1,
+ d: date.getDate(),
+ h: date.getHours(),
+ i: date.getMinutes(),
+ s: date.getSeconds(),
+ a: date.getDay(),
+ };
+ const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
+ let value = formatObj[key];
+ if (key === "a") {
+ return ["日", "一", "二", "三", "四", "五", "六"][value];
+ }
+ if (result.length > 0 && value < 10) {
+ value = "0" + value;
+ }
+ return value || 0;
+ });
+ return time_str;
+}
diff --git a/src/sheep/index.ts b/src/sheep/index.ts
new file mode 100644
index 0000000..0206c58
--- /dev/null
+++ b/src/sheep/index.ts
@@ -0,0 +1,7 @@
+export * from "./plugs/index";
+
+export * as router from "./router";
+
+export * as constant from "./constant";
+
+export * as hooks from "./hooks";
diff --git a/src/sheep/plugs/index.ts b/src/sheep/plugs/index.ts
new file mode 100644
index 0000000..eadff34
--- /dev/null
+++ b/src/sheep/plugs/index.ts
@@ -0,0 +1 @@
+export {useRouter} from "./use-router/vite-router-plug"
\ No newline at end of file
diff --git a/src/sheep/plugs/use-router/strip-json-comments.ts b/src/sheep/plugs/use-router/strip-json-comments.ts
new file mode 100644
index 0000000..4a999c1
--- /dev/null
+++ b/src/sheep/plugs/use-router/strip-json-comments.ts
@@ -0,0 +1,78 @@
+const singleComment = Symbol('singleComment');
+const multiComment = Symbol('multiComment');
+
+const stripWithoutWhitespace = () => '';
+const stripWithWhitespace = (string: any, start: any = "", end: any) => string.slice(start, end).replace(/\S/g, ' ');
+
+const isEscaped = (jsonString: any, quotePosition: any) => {
+ let index = quotePosition - 1;
+ let backslashCount = 0;
+
+ while (jsonString[index] === '\\') {
+ index -= 1;
+ backslashCount += 1;
+ }
+
+ return Boolean(backslashCount % 2);
+};
+
+export default function stripJsonComments(jsonString: any, { whitespace = true } = {}) {
+ if (typeof jsonString !== 'string') {
+ throw new TypeError(
+ `Expected argument \`jsonString\` to be a \`string\`, got \`${typeof jsonString}\``,
+ );
+ }
+
+ const strip = whitespace ? stripWithWhitespace : stripWithoutWhitespace;
+
+ let isInsideString = false;
+ let isInsideComment: any = false;
+ let offset = 0;
+ let result = '';
+
+ for (let index = 0; index < jsonString.length; index++) {
+ const currentCharacter = jsonString[index];
+ const nextCharacter = jsonString[index + 1];
+
+ if (!isInsideComment && currentCharacter === '"') {
+ const escaped = isEscaped(jsonString, index);
+ if (!escaped) {
+ isInsideString = !isInsideString;
+ }
+ }
+
+ if (isInsideString) {
+ continue;
+ }
+
+ if (!isInsideComment && currentCharacter + nextCharacter === '//') {
+ result += jsonString.slice(offset, index);
+ offset = index;
+ isInsideComment = singleComment;
+ index++;
+ } else if (isInsideComment === singleComment && currentCharacter + nextCharacter === '\r\n') {
+ index++;
+ isInsideComment = false;
+ result += strip(jsonString, offset, index);
+ offset = index;
+ continue;
+ } else if (isInsideComment === singleComment && currentCharacter === '\n') {
+ isInsideComment = false;
+ result += strip(jsonString, offset, index);
+ offset = index;
+ } else if (!isInsideComment && currentCharacter + nextCharacter === '/*') {
+ result += jsonString.slice(offset, index);
+ offset = index;
+ isInsideComment = multiComment;
+ index++;
+ continue;
+ } else if (isInsideComment === multiComment && currentCharacter + nextCharacter === '*/') {
+ index++;
+ isInsideComment = false;
+ result += strip(jsonString, offset, index + 1);
+ offset = index + 1;
+ continue;
+ }
+ }
+ return result + (isInsideComment ? (strip as any)(jsonString.slice(offset)) : jsonString.slice(offset));
+}
diff --git a/src/sheep/plugs/use-router/vite-router-plug.ts b/src/sheep/plugs/use-router/vite-router-plug.ts
new file mode 100644
index 0000000..ad0935e
--- /dev/null
+++ b/src/sheep/plugs/use-router/vite-router-plug.ts
@@ -0,0 +1,99 @@
+import fs from 'fs';
+import stripJsonComments from './strip-json-comments';
+
+class TransformPages {
+ routes: any = []
+ tabbar: any = []
+ includes = []
+ uniPagesJSON: any = ""
+
+ constructor({
+ includes,
+ pagesJsonDir
+ }: any) {
+ this.includes = includes;
+ this.uniPagesJSON = JSON.parse(stripJsonComments(fs.readFileSync(pagesJsonDir, 'utf-8')))
+ this.routes = this.getPagesRoutes().concat(this.getSubPackagesRoutes())
+ this.tabbar = this.getTabbarRoutes()
+ }
+
+ getPagesRoutes(pages = this.uniPagesJSON.pages, rootPath = null) {
+ let routes = [];
+ for (let i = 0; i < pages.length; i++) {
+ const item = pages[i];
+ let route: any = {};
+ for (let j = 0; j < this.includes.length; j++) {
+ const key = this.includes[j];
+ let value = item[key];
+ if (key === 'path') {
+ value = rootPath ? `/${rootPath}/${value}` : `/${value}`;
+ }
+ if (key === 'aliasPath' && i == 0 && rootPath == null) {
+ route[key] = route[key] || '/';
+ } else if (value !== undefined) {
+ route[key] = value;
+ }
+ }
+ routes.push(route);
+ }
+ return routes;
+ }
+
+ getSubPackagesRoutes() {
+ if (!(this.uniPagesJSON && this.uniPagesJSON.subPackages)) {
+ return [];
+ }
+ const subPackages = this.uniPagesJSON.subPackages;
+ let routes: any = [];
+ for (let i = 0; i < subPackages.length; i++) {
+ const subPages = subPackages[i].pages;
+ const root = subPackages[i].root;
+ const subRoutes = this.getPagesRoutes(subPages, root);
+ routes = routes.concat(subRoutes);
+ }
+ return routes;
+ }
+
+ getTabbarRoutes() {
+ if (!(this.uniPagesJSON && this.uniPagesJSON.tabBar && this.uniPagesJSON.tabBar.list)) {
+ return [];
+ }
+ const tabbar = this.uniPagesJSON.tabBar.list;
+ let tabbarMap: any = [];
+ tabbar.forEach((bar: { pagePath: string; }) => {
+ tabbarMap.push('/' + bar.pagePath);
+ });
+ return tabbarMap;
+ }
+
+}
+
+
+export const useRouter = ({
+ pagesJsonDir,
+ includes = []
+}: any) => {
+ let defaultIncludes = ['path', 'aliasPath', 'name'];
+ includes = [...defaultIncludes, ...includes];
+ let pages = new TransformPages({
+ pagesJsonDir,
+ includes,
+ });
+ if (pages.tabbar && pages.tabbar.length) {
+ console.table(pages.tabbar);
+ }
+ if (pages.routes && pages.routes.length) {
+ console.table(pages.routes);
+ }
+ return {
+ name: 'use-router',
+ config() {
+ return {
+ define: {
+ __ROUTES__: JSON.stringify(pages.routes),
+ __TABBAR__: `(${JSON.stringify(pages.tabbar)})`
+ }
+ }
+ }
+ }
+}
diff --git a/src/sheep/router/index.ts b/src/sheep/router/index.ts
new file mode 100644
index 0000000..d44cd9e
--- /dev/null
+++ b/src/sheep/router/index.ts
@@ -0,0 +1,82 @@
+import { throttle } from "radash";
+
+function paramsToQuery(params: { [key: string]: string }) {
+ let query = [];
+ for (let key in params) {
+ query.push(key + "=" + params[key]);
+ }
+ return query.join("&");
+}
+
+// 路由跳转
+function _jump(path = "", params = {}, type = 1) {
+ if (!path) {
+ console.error("router::jump>>path 不能为空");
+ }
+ if (hasTabbar(path)) {
+ uni.switchTab({ url: path });
+ return;
+ }
+ let url: string = "";
+ if (Object.keys(params)) {
+ url = `${path}?${paramsToQuery(params)}`;
+ }
+ if (type == 1) {
+ uni.navigateTo({ url: url });
+ return;
+ }
+ if (type == 2) {
+ uni.redirectTo({ url: url });
+ return;
+ }
+ if (type == 3) {
+ uni.reLaunch({ url: url });
+ return;
+ }
+}
+
+// 路由返回
+function _back(page = 1) {
+ if (hasHistory()) {
+ uni.navigateBack({
+ delta: page,
+ });
+ } else {
+ _jump(__TABBAR__[0], {});
+ }
+}
+
+export function jump(...args: any) {
+ throttle({ interval: 500 }, () => _jump(...args))();
+}
+
+export function back(...args: any) {
+ throttle({ interval: 500 }, () => _back(...args))();
+}
+
+export function hasHistory() {
+ const pages = getCurrentPages();
+ if (pages.length > 1) {
+ return true;
+ }
+ return false;
+}
+
+export function getCurrentPage() {
+ const pages = getCurrentPages();
+ return pages[pages.length - 1];
+}
+
+export function hasTabbar(str: string = "") {
+ if (!str) {
+ const { route } = getCurrentPage();
+ if (route) {
+ str = `/${route}`;
+ }
+ }
+ if (Array.isArray(__TABBAR__) && __TABBAR__.indexOf(str) !== -1) {
+ return true;
+ } else {
+ return false;
+ }
+}
diff --git a/src/sheep/scss/font/iconfont.scss b/src/sheep/scss/font/iconfont.scss
new file mode 100644
index 0000000..cdd5fac
--- /dev/null
+++ b/src/sheep/scss/font/iconfont.scss
@@ -0,0 +1,31 @@
+@font-face {
+ font-family: "iconfont";
+ /* Project id 4740692 */
+ src: url('//at.alicdn.com/t/c/font_4740692_ozdkialdak.woff2?t=1731275285379') format('woff2'),
+ url('//at.alicdn.com/t/c/font_4740692_ozdkialdak.woff?t=1731275285379') format('woff'),
+ url('//at.alicdn.com/t/c/font_4740692_ozdkialdak.ttf?t=1731275285379') format('truetype');
+}
+
+.iconfont {
+ font-family: "iconfont" !important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-xiangxiajiantouxiao:before {
+ content: "\e64e";
+}
+
+.icon-jiebang:before {
+ content: "\ee1e";
+}
+
+.icon-bangding:before {
+ content: "\ee1f";
+}
+
+.icon-youjiantou:before {
+ content: "\e928";
+}
\ No newline at end of file
diff --git a/src/sheep/scss/font/sheepicon.scss b/src/sheep/scss/font/sheepicon.scss
new file mode 100644
index 0000000..6ba63ee
--- /dev/null
+++ b/src/sheep/scss/font/sheepicon.scss
@@ -0,0 +1,17 @@
+@font-face {
+ font-family: 'sheepicon';
+ src: url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2');
+}
+
+[class*='sicon-'] {
+ font-family: 'sheepicon';
+ display: inline-block;
+}
+
+.sicon-back:before {
+ content: '\e706';
+}
+
+.sicon-home:before {
+ content: '\e70c';
+}
\ No newline at end of file
diff --git a/src/sheep/scss/global.scss b/src/sheep/scss/global.scss
new file mode 100644
index 0000000..ba3ee17
--- /dev/null
+++ b/src/sheep/scss/global.scss
@@ -0,0 +1,35 @@
+@import "font/sheepicon";
+@import "font/iconfont";
+
+view,
+text,
+scroll-view {
+ box-sizing: border-box;
+}
+
+
+view,
+text {
+ line-height: 1.4em;
+}
+
+navigator {
+ display: inline-flex;
+}
+
+page {
+ // 解决ios滑动不流畅
+ -webkit-overflow-scrolling: touch;
+ height: 100%;
+ width: 100%;
+ //英文文本不换行
+ word-break: break-all;
+ white-space: normal;
+}
+
+::-webkit-scrollbar {
+ width: 0;
+ height: 0;
+ color: transparent;
+ display: none;
+}
\ No newline at end of file
diff --git a/src/sheep/utils/index.ts b/src/sheep/utils/index.ts
new file mode 100644
index 0000000..bc2da4b
--- /dev/null
+++ b/src/sheep/utils/index.ts
@@ -0,0 +1 @@
+export * from './request'
\ No newline at end of file
diff --git a/src/sheep/utils/request.ts b/src/sheep/utils/request.ts
new file mode 100644
index 0000000..5f3f17a
--- /dev/null
+++ b/src/sheep/utils/request.ts
@@ -0,0 +1,158 @@
+import Request from "luch-request";
+import { isEmpty } from "radash";
+
+import { userApi } from "@@/api";
+import { router, constant } from "@@/index";
+
+const options = {
+ // 显示操作成功消息 默认不显示
+ showSuccess: false,
+ // 成功提醒 默认使用后端返回值
+ successMsg: "",
+ // 显示失败消息 默认显示
+ showError: true,
+ // 失败提醒 默认使用后端返回信息
+ errorMsg: "",
+ // 显示请求时loading模态框 默认显示
+ showLoading: true,
+ // loading提醒文字
+ loadingMsg: "加载中",
+ // 需要授权才能请求 默认放开
+ auth: false,
+};
+
+let LoadingInstance = {
+ target: null,
+ count: 0,
+};
+
+function closeLoading() {
+ if (LoadingInstance.count > 0) LoadingInstance.count--;
+ if (LoadingInstance.count === 0) uni.hideLoading();
+}
+const http = new Request({
+ baseURL: __APP_SERVICE__,
+ timeout: 8000,
+ method: "GET",
+ header: {
+ Accept: "*/*",
+ "Content-Type": "application/json;charset=UTF-8",
+ Authorization: "",
+ "tenant-id": "",
+ },
+ withCredentials: true,
+ custom: options,
+});
+
+http.interceptors.request.use(
+ (config) => {
+ const tokenKey = constant.storageConstant.TOKEN;
+ const tokenStorage = uni.getStorageSync(tokenKey);
+ const config_header: any = config?.header;
+ config_header["tenant-id"] = "1";
+ if (tokenStorage && tokenStorage.accessToken && config_header) {
+ config_header.Authorization = tokenStorage.accessToken;
+ }
+ if (config.custom && config.custom.showLoading) {
+ LoadingInstance.count++;
+ LoadingInstance.count === 1 &&
+ uni.showLoading({
+ title: config.custom.loadingMsg,
+ mask: true,
+ fail: () => {
+ uni.hideLoading();
+ },
+ });
+ }
+ return config;
+ },
+ (error) => {
+ return Promise.reject(error);
+ }
+);
+
+http.interceptors.response.use(
+ async (response) => {
+ response.config &&
+ response.config.custom &&
+ response.config.custom.showLoading &&
+ closeLoading();
+ if (response.data.code !== 0) {
+ if (
+ response.config &&
+ response.config.custom &&
+ response.config.custom.showError
+ ) {
+ switch (response.data.code) {
+ case 401:
+ setTimeout(() => {
+ const tokenKey = constant.storageConstant.TOKEN;
+ const userInfoKey = constant.storageConstant.USERINFO;
+ uni.removeStorageSync(tokenKey);
+ uni.removeStorageSync(userInfoKey);
+ router.jump("/pages/tabbar/my", {}, 2);
+ }, 500);
+ break;
+ case 500:
+ uni.showToast({
+ title: response.data.message || "服务器开小差啦,请稍后再试~",
+ icon: "none",
+ mask: true,
+ });
+ break;
+ }
+ return Promise.resolve(response.data);
+ }
+ }
+ if (
+ response.data.code === 200 &&
+ response.data.message !== "" &&
+ response.config &&
+ response.config.custom &&
+ response.config.custom.showSuccess
+ ) {
+ uni.showToast({
+ title: response.config.custom.successMsg || response.data.message,
+ icon: "none",
+ });
+ }
+ const tokenKey = constant.storageConstant.TOKEN;
+ const tokenStorage = uni.getStorageSync(tokenKey);
+ if (
+ !isEmpty(tokenStorage) &&
+ response.config.url != "/sys/auth/refresh-token"
+ ) {
+ const { refreshToken, expiresTime } = tokenStorage;
+ const now = new Date().getTime();
+ const remain = expiresTime - now;
+ if (remain <= 1000 * 60 * 20) {
+ const _pa = { refreshToken: refreshToken };
+ const refreshData = await userApi.refreshToken(_pa);
+ console.log(refreshData, "refreshData");
+ if (!isEmpty(refreshData.data)) {
+ uni.setStorageSync(tokenKey, refreshData.data);
+ }
+ }
+ }
+ return Promise.resolve(response.data);
+ },
+ (error) => {
+ let errorMessage = "";
+ if (error !== undefined) {
+ if (errorMessage) {
+ uni.showToast({
+ title: errorMessage || "",
+ icon: "none",
+ mask: true,
+ });
+ }
+ }
+ return false;
+ }
+);
+
+const request = (config: any) => {
+ return http.middleware(config);
+};
+
+export default request;
diff --git a/src/shime-uni.d.ts b/src/shime-uni.d.ts
new file mode 100644
index 0000000..5ecbb26
--- /dev/null
+++ b/src/shime-uni.d.ts
@@ -0,0 +1,6 @@
+export {}
+
+declare module "vue" {
+ type Hooks = App.AppInstance & Page.PageInstance;
+ interface ComponentCustomOptions extends Hooks {}
+}
\ No newline at end of file
diff --git a/src/static/icon/default-avatar.png b/src/static/icon/default-avatar.png
new file mode 100644
index 0000000..aea12ae
Binary files /dev/null and b/src/static/icon/default-avatar.png differ
diff --git a/src/static/icon/service_1.png b/src/static/icon/service_1.png
new file mode 100644
index 0000000..c2e9490
Binary files /dev/null and b/src/static/icon/service_1.png differ
diff --git a/src/static/icon/service_2.png b/src/static/icon/service_2.png
new file mode 100644
index 0000000..c58bdaf
Binary files /dev/null and b/src/static/icon/service_2.png differ
diff --git a/src/static/icon/service_3.png b/src/static/icon/service_3.png
new file mode 100644
index 0000000..e8f0358
Binary files /dev/null and b/src/static/icon/service_3.png differ
diff --git a/src/static/icon/vip.png b/src/static/icon/vip.png
new file mode 100644
index 0000000..36302bb
Binary files /dev/null and b/src/static/icon/vip.png differ
diff --git a/src/static/page/blue-bg.png b/src/static/page/blue-bg.png
new file mode 100644
index 0000000..5e459a7
Binary files /dev/null and b/src/static/page/blue-bg.png differ
diff --git a/src/static/tabbar/food-select.png b/src/static/tabbar/food-select.png
new file mode 100644
index 0000000..70750b4
Binary files /dev/null and b/src/static/tabbar/food-select.png differ
diff --git a/src/static/tabbar/food.png b/src/static/tabbar/food.png
new file mode 100644
index 0000000..dd7cb98
Binary files /dev/null and b/src/static/tabbar/food.png differ
diff --git a/src/static/tabbar/home-select.png b/src/static/tabbar/home-select.png
new file mode 100644
index 0000000..5d4d531
Binary files /dev/null and b/src/static/tabbar/home-select.png differ
diff --git a/src/static/tabbar/home.png b/src/static/tabbar/home.png
new file mode 100644
index 0000000..9f65dd2
Binary files /dev/null and b/src/static/tabbar/home.png differ
diff --git a/src/static/tabbar/my-select.png b/src/static/tabbar/my-select.png
new file mode 100644
index 0000000..7ad5dd1
Binary files /dev/null and b/src/static/tabbar/my-select.png differ
diff --git a/src/static/tabbar/my.png b/src/static/tabbar/my.png
new file mode 100644
index 0000000..e55b5e2
Binary files /dev/null and b/src/static/tabbar/my.png differ
diff --git a/src/static/tabbar/order-select.png b/src/static/tabbar/order-select.png
new file mode 100644
index 0000000..6315da2
Binary files /dev/null and b/src/static/tabbar/order-select.png differ
diff --git a/src/static/tabbar/order.png b/src/static/tabbar/order.png
new file mode 100644
index 0000000..df9a2c2
Binary files /dev/null and b/src/static/tabbar/order.png differ
diff --git a/src/uni.scss b/src/uni.scss
new file mode 100644
index 0000000..265ef15
--- /dev/null
+++ b/src/uni.scss
@@ -0,0 +1,60 @@
+/* 行为相关颜色 */
+$uni-color-primary: #007aff;
+$uni-color-success: #4cd964;
+$uni-color-warning: #f0ad4e;
+$uni-color-error: #dd524d;
+
+/* 文字基本颜色 */
+$uni-text-color: #333; // 基本色
+$uni-text-color-inverse: #fff; // 反色
+$uni-text-color-grey: #999; // 辅助灰色,如加载更多的提示信息
+$uni-text-color-placeholder: #808080;
+$uni-text-color-disable: #c0c0c0;
+
+/* 背景颜色 */
+$uni-bg-color: #fff;
+$uni-bg-color-grey: #f8f8f8;
+$uni-bg-color-hover: #f1f1f1; // 点击状态颜色
+$uni-bg-color-mask: rgba(0, 0, 0, 0.4); // 遮罩颜色
+
+/* 边框颜色 */
+$uni-border-color: #c8c7cc;
+
+/* 尺寸变量 */
+
+/* 文字尺寸 */
+$uni-font-size-sm: 12px;
+$uni-font-size-base: 14px;
+$uni-font-size-lg: 16;
+
+/* 图片尺寸 */
+$uni-img-size-sm: 20px;
+$uni-img-size-base: 26px;
+$uni-img-size-lg: 40px;
+
+/* Border Radius */
+$uni-border-radius-sm: 2px;
+$uni-border-radius-base: 3px;
+$uni-border-radius-lg: 6px;
+$uni-border-radius-circle: 50%;
+
+/* 水平间距 */
+$uni-spacing-row-sm: 5px;
+$uni-spacing-row-base: 10px;
+$uni-spacing-row-lg: 15px;
+
+/* 垂直间距 */
+$uni-spacing-col-sm: 4px;
+$uni-spacing-col-base: 8px;
+$uni-spacing-col-lg: 12px;
+
+/* 透明度 */
+$uni-opacity-disabled: 0.3; // 组件禁用态的透明度
+
+/* 文章场景相关 */
+$uni-color-title: #2c405a; // 文章标题颜色
+$uni-font-size-title: 20px;
+$uni-color-subtitle: #555; // 二级标题颜色
+$uni-font-size-subtitle: 18px;
+$uni-color-paragraph: #3f536e; // 文章段落颜色
+$uni-font-size-paragraph: 15px;
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/changelog.md b/src/uni_modules/tm-ui/changelog.md
new file mode 100644
index 0000000..a8f3000
--- /dev/null
+++ b/src/uni_modules/tm-ui/changelog.md
@@ -0,0 +1,13 @@
+## 3.2.0(2024-10-11)
+* [注意]本版本不向下兼容,可以直接通过市场导入或者在插件目录右键升级到项目中
+* [3.2.x文档链接](https://tmui.design/)
+* 1. 本版本不向下兼容!!!!!
+* 2. 不再兼容nvue平台,请谨慎升级
+* 3. 本版本不是之前的3.1.x版本的升级版本,无法平移过度到本版本
+* 4. 本版本为全新的tmui4.0x版本的小程序版本,风格,标准,细节与其一样,属性也大多相同,但内部是本质的不同.不可以4.0x混用
+* 5. 本版本以webview app + 小程序为准兼容,并且不提供任何原生插件,如果需要原生请使用tmui4.0x来支持我.
+* 6. 本版本一样是免费的,可以自由的使用,商用,任意修改不用担心版权问题.但请保留版权信息.但不得发布为公共的竞品版本,发现立即追究版权.
+* 7. 本版本更新迭代比较慢,力求后续兼容鸿蒙系统及所有小程序,因此会逐步减少组件数量,但会保证组件质量,保留最基本的组件库功能.
+* 8. 如果需要赞助或者捐赠,可以通过官网付款码赞助支持我的开发或者购买tmui4.0x以支持.
+* 发布第一个3.2.0版本为公测版本
+* 如果有遇到问题请提交bug至[Gitee](https://gitee.com/LYTB/tm-vuetify-for-vue3)
diff --git a/src/uni_modules/tm-ui/components/tm-alert/tm-alert.vue b/src/uni_modules/tm-ui/components/tm-alert/tm-alert.vue
new file mode 100644
index 0000000..b698fd6
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-alert/tm-alert.vue
@@ -0,0 +1,346 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-badge/tm-badge.vue b/src/uni_modules/tm-ui/components/tm-badge/tm-badge.vue
new file mode 100644
index 0000000..f0c2f4b
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-badge/tm-badge.vue
@@ -0,0 +1,222 @@
+
+
+
+
+
+
+
+ {{ _label}}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-between-time/tm-between-time.vue b/src/uni_modules/tm-ui/components/tm-between-time/tm-between-time.vue
new file mode 100644
index 0000000..a067b51
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-between-time/tm-between-time.vue
@@ -0,0 +1,516 @@
+
+
+
+
+
+
+
+
+
+ {{ title }}
+ 清空
+
+
+
+
+ {{
+ item.str }}
+
+
+
+
+
+
+ 至
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-button/tm-button.vue b/src/uni_modules/tm-ui/components/tm-button/tm-button.vue
new file mode 100644
index 0000000..037ef1f
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-button/tm-button.vue
@@ -0,0 +1,541 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/uni_modules/tm-ui/components/tm-cell/tm-cell.vue b/src/uni_modules/tm-ui/components/tm-cell/tm-cell.vue
new file mode 100644
index 0000000..f235244
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-cell/tm-cell.vue
@@ -0,0 +1,505 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ _allAttr.title
+ }}
+
+
+
+ {{
+ _allAttr.desc }}
+
+
+
+
+
+ {{ _allAttr.label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-checkbox-group/tm-checkbox-group.vue b/src/uni_modules/tm-ui/components/tm-checkbox-group/tm-checkbox-group.vue
new file mode 100644
index 0000000..bbaeedb
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-checkbox-group/tm-checkbox-group.vue
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/uni_modules/tm-ui/components/tm-checkbox/tm-checkbox.vue b/src/uni_modules/tm-ui/components/tm-checkbox/tm-checkbox.vue
new file mode 100644
index 0000000..3e1fc6e
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-checkbox/tm-checkbox.vue
@@ -0,0 +1,377 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ _label }}
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-col/tm-col.vue b/src/uni_modules/tm-ui/components/tm-col/tm-col.vue
new file mode 100644
index 0000000..6ec2a8a
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-col/tm-col.vue
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-collapse-item/tm-collapse-item.vue b/src/uni_modules/tm-ui/components/tm-collapse-item/tm-collapse-item.vue
new file mode 100644
index 0000000..783ac51
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-collapse-item/tm-collapse-item.vue
@@ -0,0 +1,332 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ _title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-collapse/tm-collapse.vue b/src/uni_modules/tm-ui/components/tm-collapse/tm-collapse.vue
new file mode 100644
index 0000000..594a67e
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-collapse/tm-collapse.vue
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-date-view/tm-date-view.vue b/src/uni_modules/tm-ui/components/tm-date-view/tm-date-view.vue
new file mode 100644
index 0000000..6d12009
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-date-view/tm-date-view.vue
@@ -0,0 +1,470 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-drawer/tm-drawer.vue b/src/uni_modules/tm-ui/components/tm-drawer/tm-drawer.vue
new file mode 100644
index 0000000..a4b0048
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-drawer/tm-drawer.vue
@@ -0,0 +1,757 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ _title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-echart/canvasinit.ts b/src/uni_modules/tm-ui/components/tm-echart/canvasinit.ts
new file mode 100644
index 0000000..9dfa139
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-echart/canvasinit.ts
@@ -0,0 +1,109 @@
+// @ts-nocheck
+export default class WxCanvas {
+ constructor(ctx, canvasId, isNew, canvasNode) {
+ this.ctx = ctx;
+ this.canvasId = canvasId;
+ this.chart = null;
+ this.isNew = isNew
+ if (isNew) {
+ this.canvasNode = canvasNode;
+ }
+ else {
+ this._initStyle(ctx);
+ }
+
+ // this._initCanvas(zrender, ctx);
+
+ this._initEvent();
+ }
+
+ getContext(contextType) {
+ if (contextType === '2d') {
+ return this.ctx;
+ }
+ }
+
+ // canvasToTempFilePath(opt) {
+ // if (!opt.canvasId) {
+ // opt.canvasId = this.canvasId;
+ // }
+ // return wx.canvasToTempFilePath(opt, this);
+ // }
+
+ setChart(chart) {
+ this.chart = chart;
+ }
+
+ attachEvent() {
+ // noop
+ }
+
+ detachEvent() {
+ // noop
+ }
+
+ _initCanvas(zrender, ctx) {
+ zrender.util.getContext = function () {
+ return ctx;
+ };
+
+ zrender.util.$override('measureText', function (text, font) {
+ ctx.font = font || '12px sans-serif';
+ return ctx.measureText(text);
+ });
+ }
+
+ _initStyle(ctx) {
+ // @ts-ignore
+ ctx.createRadialGradient = () => {
+ return ctx.createCircularGradient(arguments);
+ };
+ }
+
+ _initEvent() {
+ this.event = {};
+ const eventNames = [{
+ wxName: 'touchStart',
+ ecName: 'mousedown'
+ }, {
+ wxName: 'touchMove',
+ ecName: 'mousemove'
+ }, {
+ wxName: 'touchEnd',
+ ecName: 'mouseup'
+ }, {
+ wxName: 'touchEnd',
+ ecName: 'click'
+ }];
+
+ eventNames.forEach(name => {
+ this.event[name.wxName] = e => {
+ const touch = e.touches[0];
+ this.chart.getZr().handler.dispatch(name.ecName, {
+ zrX: name.wxName === 'tap' ? touch.clientX : touch.x,
+ zrY: name.wxName === 'tap' ? touch.clientY : touch.y
+ });
+ };
+ });
+ }
+ addEventListener(el, name, handler, opt) {
+ // el?.addEventListener(name, handler, opt);
+ }
+ set width(w) {
+ if (this.canvasNode) this.canvasNode.width = w
+ }
+ set height(h) {
+ if (this.canvasNode) this.canvasNode.height = h
+ }
+
+ get width() {
+ if (this.canvasNode)
+ return this.canvasNode.width
+ return 0
+ }
+ get height() {
+ if (this.canvasNode)
+ return this.canvasNode.height
+ return 0
+ }
+ }
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-echart/simple.js b/src/uni_modules/tm-ui/components/tm-echart/simple.js
new file mode 100644
index 0000000..7e77e4d
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-echart/simple.js
@@ -0,0 +1,12 @@
+import { use } from 'echarts/lib/extension.js';
+export * from 'echarts/lib/export/core.js';
+import { install as CanvasRenderer } from 'echarts/lib/renderer/installCanvasRenderer.js';
+import { install as LineChart } from 'echarts/lib/chart/line/install.js';
+import { install as BarChart } from 'echarts/lib/chart/bar/install.js';
+import { install as PieChart } from 'echarts/lib/chart/pie/install.js';
+import { install as GridSimpleComponent } from 'echarts/lib/component/grid/installSimple.js';
+import { install as AriaComponent } from 'echarts/lib/component/aria/install.js';
+import { install as DatasetComponent } from 'echarts/lib/component/dataset/install.js';
+use([CanvasRenderer]);
+use([LineChart, BarChart, PieChart]);
+use([GridSimpleComponent, AriaComponent, DatasetComponent]);
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-echart/tm-echart.vue b/src/uni_modules/tm-ui/components/tm-echart/tm-echart.vue
new file mode 100644
index 0000000..6e0f548
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-echart/tm-echart.vue
@@ -0,0 +1,397 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-form-item/tm-form-item.vue b/src/uni_modules/tm-ui/components/tm-form-item/tm-form-item.vue
new file mode 100644
index 0000000..1fb12c9
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-form-item/tm-form-item.vue
@@ -0,0 +1,262 @@
+
+
+
+
+
+
+
+ {{ _required }}
+
+ {{ _label }}
+
+
+
+
+
+
+
+
+ {{ errorMessage }}
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-form/tm-form.vue b/src/uni_modules/tm-ui/components/tm-form/tm-form.vue
new file mode 100644
index 0000000..bd9832c
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-form/tm-form.vue
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-form/validator.ts b/src/uni_modules/tm-ui/components/tm-form/validator.ts
new file mode 100644
index 0000000..815e710
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-form/validator.ts
@@ -0,0 +1,82 @@
+//指定了类型校验
+const defaultValidatorByType = (value: any, rule: TM.FORM_RULE_TYPE) => {
+
+ //但也有可能是string
+ if (rule.type == 'number') {
+ let val = typeof value == 'string' ? parseFloat(value) : value
+ if (isNaN(value)) return false;
+ if (rule.max == -1) return value >= rule.min
+ return value >= rule.min && value <= rule.max
+ }
+ if (typeof value == 'undefined' || typeof value == null) {
+ return false
+ }
+ if (rule.type == 'string') {
+ let val = value.trim()
+ if (val === '') return false;
+ let len = value.split('').length
+ if (rule.max == -1) return len >= rule.min
+ return len >= rule.min && len <= rule.max
+ }
+ if (Array.isArray(value) && rule.type == 'array') {
+ if (value.length == 0) return false;
+ if (rule.max == -1) return value.length >= rule.min
+ return value.length >= rule.min && value.length <= rule.max
+ }
+
+ if (rule.type == 'date') {
+ if (typeof value == 'string') {
+ let date = new Date(value.replace(/-/g, '/')).getTime()
+ return !isNaN(date)
+ } else if (typeof value == 'number') {
+ let date = new Date(value).getTime()
+ return !isNaN(date)
+ }
+ }
+ if (rule.type == 'phone') {
+ let val = typeof value == 'string' ? value : value.toString()
+ let reg = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/
+ return val.match(reg);
+ }
+ if (rule.type == 'email' && typeof value == 'string') {
+ let reg = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
+ return reg.test(value)
+ }
+
+ return true
+}
+export const defaultValidator = (value: any, rule: TM.FORM_RULE_TYPE) => {
+ if (!rule.required) return true;
+ if(rule.validator) return rule.validator(value);
+ if(rule.rule) {
+ return rule.rule.test(value);
+ }
+ if (rule.type != 'auto') return defaultValidatorByType(value, rule)
+ if (typeof value == 'number') {
+ if (isNaN(value)) return false;
+ if (rule.max == -1) return value >= rule.min
+ return value >= rule.min && value <= rule.max
+ }
+ if (typeof value == 'undefined' || typeof value == null) {
+ return false
+ }
+ if (typeof value == 'string') {
+ let val = value.trim()
+ if (val === '') return false;
+ let len = value.split('').length
+ if (rule.max == -1) return len >= rule.min
+ return len >= rule.min && len <= rule.max
+ }
+ if (Array.isArray(value)) {
+ if (value.length == 0) return false;
+ if (rule.max == -1) return value.length >= rule.min
+ return value.length >= rule.min && value.length <= rule.max
+ }
+
+ if (typeof value == 'object') {
+ let keys = Object.keys(value)
+ return keys.length > 0
+ }
+
+ return true
+}
diff --git a/src/uni_modules/tm-ui/components/tm-html/mp-node.vue b/src/uni_modules/tm-ui/components/tm-html/mp-node.vue
new file mode 100644
index 0000000..f6d298c
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-html/mp-node.vue
@@ -0,0 +1,623 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{n.text}}
+
+
+ {{n.text}}
+
+ \n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-html/pare.ts b/src/uni_modules/tm-ui/components/tm-html/pare.ts
new file mode 100644
index 0000000..d668227
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-html/pare.ts
@@ -0,0 +1,1395 @@
+/**
+ * @fileoverview html 解析器
+ */
+
+// 配置
+const config = {
+ // 信任的标签(保持标签名不变)
+ trustTags: makeMap('a,abbr,ad,audio,b,blockquote,br,code,col,colgroup,dd,del,dl,dt,div,em,fieldset,h1,h2,h3,h4,h5,h6,hr,i,img,ins,label,legend,li,ol,p,q,ruby,rt,source,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,title,ul,video'),
+
+ // 块级标签(转为 div,其他的非信任标签转为 span)
+ blockTags: makeMap('address,article,aside,body,caption,center,cite,footer,header,html,nav,pre,section'),
+
+ // #ifdef (MP-WEIXIN || MP-QQ || APP-PLUS || MP-360) && VUE3
+ // 行内标签
+ inlineTags: makeMap('abbr,b,big,code,del,em,i,ins,label,q,small,span,strong,sub,sup'),
+ // #endif
+
+ // 要移除的标签
+ ignoreTags: makeMap('area,base,canvas,embed,frame,head,iframe,input,link,map,meta,param,rp,script,source,style,textarea,title,track,wbr'),
+
+ // 自闭合的标签
+ voidTags: makeMap('area,base,br,col,circle,ellipse,embed,frame,hr,img,input,line,link,meta,param,path,polygon,rect,source,track,use,wbr'),
+
+ // html 实体
+ entities: {
+ lt: '<',
+ gt: '>',
+ quot: '"',
+ apos: "'",
+ ensp: '\u2002',
+ emsp: '\u2003',
+ nbsp: '\xA0',
+ semi: ';',
+ ndash: '–',
+ mdash: '—',
+ middot: '·',
+ lsquo: '‘',
+ rsquo: '’',
+ ldquo: '“',
+ rdquo: '”',
+ bull: '•',
+ hellip: '…',
+ larr: '←',
+ uarr: '↑',
+ rarr: '→',
+ darr: '↓'
+ },
+
+ // 默认的标签样式
+ tagStyle: {
+ // #ifndef APP-PLUS-NVUE
+ address: 'font-style:italic',
+ big: 'display:inline;font-size:1.2em',
+ caption: 'display:table-caption;text-align:center',
+ center: 'text-align:center',
+ cite: 'font-style:italic',
+ dd: 'margin-left:40px',
+ mark: 'background-color:yellow',
+ pre: 'font-family:monospace;white-space:pre',
+ s: 'text-decoration:line-through',
+ small: 'display:inline;font-size:0.8em',
+ strike: 'text-decoration:line-through',
+ u: 'text-decoration:underline'
+ // #endif
+ },
+
+ // svg 大小写对照表
+ svgDict: {
+ animatetransform: 'animateTransform',
+ lineargradient: 'linearGradient',
+ viewbox: 'viewBox',
+ attributename: 'attributeName',
+ repeatcount: 'repeatCount',
+ repeatdur: 'repeatDur',
+ foreignobject: 'foreignObject'
+ }
+}
+const tagSelector = {}
+const {
+ windowWidth,
+ // #ifdef MP-WEIXIN
+ system
+ // #endif
+} = uni.getSystemInfoSync()
+const blankChar = makeMap(' ,\r,\n,\t,\f')
+let idIndex = 0
+
+// #ifdef H5 || APP-PLUS
+config.ignoreTags.iframe = undefined
+config.trustTags.iframe = true
+config.ignoreTags.embed = undefined
+config.trustTags.embed = true
+// #endif
+// #ifdef APP-PLUS-NVUE
+config.ignoreTags.source = undefined
+config.ignoreTags.style = undefined
+// #endif
+
+/**
+ * @description 创建 map
+ * @param {String} str 逗号分隔
+ */
+function makeMap(str) {
+ const map = Object.create(null)
+ const list = str.split(',')
+ for (let i = list.length; i--;) {
+ map[list[i]] = true
+ }
+ return map
+}
+
+/**
+ * @description 解码 html 实体
+ * @param {String} str 要解码的字符串
+ * @param {Boolean} amp 要不要解码 &
+ * @returns {String} 解码后的字符串
+ */
+function decodeEntity(str, amp) {
+ let i = str.indexOf('&')
+ while (i !== -1) {
+ const j = str.indexOf(';', i + 3)
+ let code
+ if (j === -1) break
+ if (str[i + 1] === '#') {
+ // { 形式的实体
+ code = parseInt((str[i + 2] === 'x' ? '0' : '') + str.substring(i + 2, j))
+ if (!isNaN(code)) {
+ str = str.substr(0, i) + String.fromCharCode(code) + str.substr(j + 1)
+ }
+ } else {
+ // 形式的实体
+ code = str.substring(i + 1, j)
+ if (config.entities[code] || (code === 'amp' && amp)) {
+ str = str.substr(0, i) + (config.entities[code] || '&') + str.substr(j + 1)
+ }
+ }
+ i = str.indexOf('&', i + 1)
+ }
+ return str
+}
+
+/**
+ * @description 合并多个块级标签,加快长内容渲染
+ * @param {Array} nodes 要合并的标签数组
+ */
+function mergeNodes(nodes) {
+ let i = nodes.length - 1
+ for (let j = i; j >= -1; j--) {
+ if (j === -1 || nodes[j].c || !nodes[j].name || (nodes[j].name !== 'div' && nodes[j].name !== 'p' && nodes[j].name[0] !== 'h') || (nodes[j].attrs.style || '').includes('inline')) {
+ if (i - j >= 5) {
+ nodes.splice(j + 1, i - j, {
+ name: 'div',
+ attrs: {},
+ children: nodes.slice(j + 1, i + 1)
+ })
+ }
+ i = j - 1
+ }
+ }
+}
+
+/**
+ * @description html 解析器
+ * @param {Object} vm 组件实例
+ */
+function Parser(vm) {
+
+ this.options = vm || {}
+
+ this.tagStyle = Object.assign({}, config.tagStyle, this.options.tagStyle)
+ this.imgList = vm.imgList || []
+ this.imgList._unloadimgs = 0
+ this.plugins = vm.plugins || []
+ this.attrs = Object.create(null)
+ this.stack = []
+ this.nodes = []
+ this.pre = (this.options.containerStyle || '').includes('white-space') && this.options.containerStyle.includes('pre') ? 2 : 0
+}
+
+/**
+ * @description 执行解析
+ * @param {String} content 要解析的文本
+ */
+Parser.prototype.parse = function (content) {
+ // 插件处理
+ for (let i = this.plugins.length; i--;) {
+ if (this.plugins[i].onUpdate) {
+ content = this.plugins[i].onUpdate(content, config) || content
+ }
+ }
+
+ new Lexer(this).parse(content)
+ // 出栈未闭合的标签
+ while (this.stack.length) {
+ this.popNode()
+ }
+ if (this.nodes.length > 50) {
+ mergeNodes(this.nodes)
+ }
+ return this.nodes
+}
+
+/**
+ * @description 将标签暴露出来(不被 rich-text 包含)
+ */
+Parser.prototype.expose = function () {
+ // #ifndef APP-PLUS-NVUE
+ for (let i = this.stack.length; i--;) {
+ const item = this.stack[i]
+ if (item.c || item.name === 'a' || item.name === 'video' || item.name === 'audio') return
+ item.c = 1
+ }
+ // #endif
+}
+
+/**
+ * @description 处理插件
+ * @param {Object} node 要处理的标签
+ * @returns {Boolean} 是否要移除此标签
+ */
+Parser.prototype.hook = function (node) {
+ for (let i = this.plugins.length; i--;) {
+ if (this.plugins[i].onParse && this.plugins[i].onParse(node, this) === false) {
+ return false
+ }
+ }
+ return true
+}
+
+/**
+ * @description 将链接拼接上主域名
+ * @param {String} url 需要拼接的链接
+ * @returns {String} 拼接后的链接
+ */
+Parser.prototype.getUrl = function (url) {
+ const domain = this.options.domain
+ if (url[0] === '/') {
+ if (url[1] === '/') {
+ // // 开头的补充协议名
+ url = (domain ? domain.split('://')[0] : 'http') + ':' + url
+ } else if (domain) {
+ // 否则补充整个域名
+ url = domain + url
+ } /* #ifdef APP-PLUS */ else {
+ url = plus.io.convertLocalFileSystemURL(url)
+ } /* #endif */
+ } else if (!url.includes('data:') && !url.includes('://')) {
+ if (domain) {
+ url = domain + '/' + url
+ } /* #ifdef APP-PLUS */ else {
+ url = plus.io.convertLocalFileSystemURL(url)
+ } /* #endif */
+ }
+ return url
+}
+
+/**
+ * @description 解析样式表
+ * @param {Object} node 标签
+ * @returns {Object}
+ */
+Parser.prototype.parseStyle = function (node) {
+ const attrs = node.attrs
+ const list = (this.tagStyle[node.name] || '').split(';').concat((attrs.style || '').split(';'))
+ const styleObj = {}
+ let tmp = ''
+
+ if (attrs.id && !this.xml) {
+ // 暴露锚点
+ if (this.options.useAnchor) {
+ this.expose()
+ } else if (node.name !== 'img' && node.name !== 'a' && node.name !== 'video' && node.name !== 'audio') {
+ attrs.id = undefined
+ }
+ }
+
+ // 转换 width 和 height 属性
+ if (attrs.width) {
+ styleObj.width = parseFloat(attrs.width) + (attrs.width.includes('%') ? '%' : 'px')
+ attrs.width = undefined
+ }
+ if (attrs.height) {
+ styleObj.height = parseFloat(attrs.height) + (attrs.height.includes('%') ? '%' : 'px')
+ attrs.height = undefined
+ }
+
+ for (let i = 0, len = list.length; i < len; i++) {
+ const info = list[i].split(':')
+ if (info.length < 2) continue
+ const key = info.shift().trim().toLowerCase()
+ let value = info.join(':').trim()
+ if ((value[0] === '-' && value.lastIndexOf('-') > 0) || value.includes('safe')) {
+ // 兼容性的 css 不压缩
+ tmp += `;${key}:${value}`
+ } else if (!styleObj[key] || value.includes('import') || !styleObj[key].includes('import')) {
+ // 重复的样式进行覆盖
+ if (value.includes('url')) {
+ // 填充链接
+ let j = value.indexOf('(') + 1
+ if (j) {
+ while (value[j] === '"' || value[j] === "'" || blankChar[value[j]]) {
+ j++
+ }
+ value = value.substr(0, j) + this.getUrl(value.substr(j))
+ }
+ } else if (value.includes('rpx')) {
+ // 转换 rpx(rich-text 内部不支持 rpx)
+ value = value.replace(/[0-9.]+\s*rpx/g, $ => parseFloat($) * windowWidth / 750 + 'px')
+ }
+ styleObj[key] = value
+ }
+ }
+
+ node.attrs.style = tmp
+ return styleObj
+}
+
+/**
+ * @description 解析到标签名
+ * @param {String} name 标签名
+ * @private
+ */
+Parser.prototype.onTagName = function (name) {
+ this.tagName = this.xml ? name : name.toLowerCase()
+ if (this.tagName === 'svg') {
+ this.xml = (this.xml || 0) + 1 // svg 标签内大小写敏感
+ config.ignoreTags.style = undefined // svg 标签内 style 可用
+ }
+}
+
+/**
+ * @description 解析到属性名
+ * @param {String} name 属性名
+ * @private
+ */
+Parser.prototype.onAttrName = function (name) {
+ name = this.xml ? name : name.toLowerCase()
+ // #ifdef (VUE3 && (H5 || APP-PLUS)) || APP-PLUS-NVUE
+ if (name.includes('?') || name.includes(';')) {
+ this.attrName = undefined
+ return
+ }
+ // #endif
+ if (name.substr(0, 5) === 'data-') {
+ if (name === 'data-src' && !this.attrs.src) {
+ // data-src 自动转为 src
+ this.attrName = 'src'
+ } else if (this.tagName === 'img' || this.tagName === 'a') {
+ // a 和 img 标签保留 data- 的属性,可以在 imgtap 和 linktap 事件中使用
+ this.attrName = name
+ } else {
+ // 剩余的移除以减小大小
+ this.attrName = undefined
+ }
+ } else {
+ this.attrName = name
+ this.attrs[name] = 'T' // boolean 型属性缺省设置
+ }
+}
+
+/**
+ * @description 解析到属性值
+ * @param {String} val 属性值
+ * @private
+ */
+Parser.prototype.onAttrVal = function (val) {
+ const name = this.attrName || ''
+ if (name === 'style' || name === 'href') {
+ // 部分属性进行实体解码
+ this.attrs[name] = decodeEntity(val, true)
+ } else if (name.includes('src')) {
+ // 拼接主域名
+ this.attrs[name] = this.getUrl(decodeEntity(val, true))
+ } else if (name) {
+ this.attrs[name] = val
+ }
+}
+
+/**
+ * @description 解析到标签开始
+ * @param {Boolean} selfClose 是否有自闭合标识 />
+ * @private
+ */
+Parser.prototype.onOpenTag = function (selfClose) {
+ // 拼装 node
+ const node = Object.create(null)
+ node.name = this.tagName
+ node.attrs = this.attrs
+ // 避免因为自动 diff 使得 type 被设置为 null 导致部分内容不显示
+ if (this.options.nodes.length) {
+ node.type = 'node'
+ }
+ this.attrs = Object.create(null)
+
+ const attrs = node.attrs
+ const parent = this.stack[this.stack.length - 1]
+ const siblings = parent ? parent.children : this.nodes
+ const close = this.xml ? selfClose : config.voidTags[node.name]
+
+ // 替换标签名选择器
+ if (tagSelector[node.name]) {
+ attrs.class = tagSelector[node.name] + (attrs.class ? ' ' + attrs.class : '')
+ }
+
+ // 转换 embed 标签
+ if (node.name === 'embed') {
+ // #ifndef H5 || APP-PLUS
+ const src = attrs.src || ''
+ // 按照后缀名和 type 将 embed 转为 video 或 audio
+ if (src.includes('.mp4') || src.includes('.3gp') || src.includes('.m3u8') || (attrs.type || '').includes('video')) {
+ node.name = 'video'
+ } else if (src.includes('.mp3') || src.includes('.wav') || src.includes('.aac') || src.includes('.m4a') || (attrs.type || '').includes('audio')) {
+ node.name = 'audio'
+ }
+ if (attrs.autostart) {
+ attrs.autoplay = 'T'
+ }
+ attrs.controls = 'T'
+ // #endif
+ // #ifdef H5 || APP-PLUS
+ this.expose()
+ // #endif
+ }
+
+ // #ifndef APP-PLUS-NVUE
+ // 处理音视频
+ if (node.name === 'video' || node.name === 'audio') {
+ // 设置 id 以便获取 context
+ if (node.name === 'video' && !attrs.id) {
+ attrs.id = 'v' + idIndex++
+ }
+ // 没有设置 controls 也没有设置 autoplay 的自动设置 controls
+ if (!attrs.controls && !attrs.autoplay) {
+ attrs.controls = 'T'
+ }
+ // 用数组存储所有可用的 source
+ node.src = []
+ if (attrs.src) {
+ node.src.push(attrs.src)
+ attrs.src = undefined
+ }
+ this.expose()
+ }
+ // #endif
+
+ // 处理自闭合标签
+ if (close) {
+ if (!this.hook(node) || config.ignoreTags[node.name]) {
+ // 通过 base 标签设置主域名
+ if (node.name === 'base' && !this.options.domain) {
+ this.options.domain = attrs.href
+ } /* #ifndef APP-PLUS-NVUE */ else if (node.name === 'source' && parent && (parent.name === 'video' || parent.name === 'audio') && attrs.src) {
+ // 设置 source 标签(仅父节点为 video 或 audio 时有效)
+ parent.src.push(attrs.src)
+ } /* #endif */
+ return
+ }
+
+ // 解析 style
+ const styleObj = this.parseStyle(node)
+
+ // 处理图片
+ if (node.name === 'img') {
+ if (attrs.src) {
+ // 标记 webp
+ if (attrs.src.includes('webp')) {
+ node.webp = 'T'
+ }
+ // data url 图片如果没有设置 original-src 默认为不可预览的小图片
+ if (attrs.src.includes('data:') && this.options.previewImg !== 'all' && !attrs['original-src']) {
+ attrs.ignore = 'T'
+ }
+ if (!attrs.ignore || node.webp || attrs.src.includes('cloud://')) {
+ for (let i = this.stack.length; i--;) {
+ const item = this.stack[i]
+ if (item.name === 'a') {
+ node.a = item.attrs
+ }
+ if (item.name === 'table' && !node.webp && !attrs.src.includes('cloud://')) {
+ if (!styleObj.display || styleObj.display.includes('inline')) {
+ node.t = 'inline-block'
+ } else {
+ node.t = styleObj.display
+ }
+ styleObj.display = undefined
+ }
+ // #ifndef H5 || APP-PLUS
+ const style = item.attrs.style || ''
+ if (style.includes('flex:') && !style.includes('flex:0') && !style.includes('flex: 0') && (!styleObj.width || parseInt(styleObj.width) > 100)) {
+ styleObj.width = '100% !important'
+ styleObj.height = ''
+ for (let j = i + 1; j < this.stack.length; j++) {
+ this.stack[j].attrs.style = (this.stack[j].attrs.style || '').replace('inline-', '')
+ }
+ } else if (style.includes('flex') && styleObj.width === '100%') {
+ for (let j = i + 1; j < this.stack.length; j++) {
+ const style = this.stack[j].attrs.style || ''
+ if (!style.includes(';width') && !style.includes(' width') && style.indexOf('width') !== 0) {
+ styleObj.width = ''
+ break
+ }
+ }
+ } else if (style.includes('inline-block')) {
+ if (styleObj.width && styleObj.width[styleObj.width.length - 1] === '%') {
+ item.attrs.style += ';max-width:' + styleObj.width
+ styleObj.width = ''
+ } else {
+ item.attrs.style += ';max-width:100%'
+ }
+ }
+ // #endif
+ item.c = 1
+ }
+ attrs.i = this.imgList.length.toString()
+ let src = attrs['original-src'] || attrs.src
+ // #ifndef H5 || MP-ALIPAY || APP-PLUS || MP-360
+ if (this.imgList.includes(src)) {
+ // 如果有重复的链接则对域名进行随机大小写变换避免预览时错位
+ let i = src.indexOf('://')
+ if (i !== -1) {
+ i += 3
+ let newSrc = src.substr(0, i)
+ for (; i < src.length; i++) {
+ if (src[i] === '/') break
+ newSrc += Math.random() > 0.5 ? src[i].toUpperCase() : src[i]
+ }
+ newSrc += src.substr(i)
+ src = newSrc
+ }
+ }
+ // #endif
+ this.imgList.push(src)
+ if (!node.t) {
+ this.imgList._unloadimgs += 1
+ }
+ // #ifdef H5 || APP-PLUS
+ if (this.options.lazyLoad) {
+ attrs['data-src'] = attrs.src
+ attrs.src = undefined
+ }
+ // #endif
+ }
+ }
+ if (styleObj.display === 'inline') {
+ styleObj.display = ''
+ }
+ // #ifndef APP-PLUS-NVUE
+ if (attrs.ignore) {
+ styleObj['max-width'] = styleObj['max-width'] || '100%'
+ attrs.style += ';-webkit-touch-callout:none'
+ }
+ // #endif
+ // 设置的宽度超出屏幕,为避免变形,高度转为自动
+ if (parseInt(styleObj.width) > windowWidth) {
+ styleObj.height = undefined
+ }
+ // 记录是否设置了宽高
+ if (!isNaN(parseInt(styleObj.width))) {
+ node.w = 'T'
+ }
+ if (!isNaN(parseInt(styleObj.height)) && (!styleObj.height.includes('%') || (parent && (parent.attrs.style || '').includes('height')))) {
+ node.h = 'T'
+ }
+ if (node.w && node.h && styleObj['object-fit']) {
+ if (styleObj['object-fit'] === 'contain') {
+ node.m = 'aspectFit'
+ } else if (styleObj['object-fit'] === 'cover') {
+ node.m = 'aspectFill'
+ }
+ }
+ } else if (node.name === 'svg') {
+ siblings.push(node)
+ this.stack.push(node)
+ this.popNode()
+ return
+ }
+ for (const key in styleObj) {
+ if (styleObj[key]) {
+ attrs.style += `;${key}:${styleObj[key].replace(' !important', '')}`
+ }
+ }
+ attrs.style = attrs.style.substr(1) || undefined
+ // #ifdef (MP-WEIXIN || MP-QQ) && VUE3
+ if (!attrs.style) {
+ delete attrs.style
+ }
+ // #endif
+ } else {
+ if ((node.name === 'pre' || ((attrs.style || '').includes('white-space') && attrs.style.includes('pre'))) && this.pre !== 2) {
+ this.pre = node.pre = 1
+ }
+ node.children = []
+ this.stack.push(node)
+ }
+
+ // 加入节点树
+ siblings.push(node)
+}
+
+/**
+ * @description 解析到标签结束
+ * @param {String} name 标签名
+ * @private
+ */
+Parser.prototype.onCloseTag = function (name) {
+ // 依次出栈到匹配为止
+ name = this.xml ? name : name.toLowerCase()
+ let i
+ for (i = this.stack.length; i--;) {
+ if (this.stack[i].name === name) break
+ }
+ if (i !== -1) {
+ while (this.stack.length > i) {
+ this.popNode()
+ }
+ } else if (name === 'p' || name === 'br') {
+ const siblings = this.stack.length ? this.stack[this.stack.length - 1].children : this.nodes
+ siblings.push({
+ name,
+ attrs: {
+ class: tagSelector[name] || '',
+ style: this.tagStyle[name] || ''
+ }
+ })
+ }
+}
+
+/**
+ * @description 处理标签出栈
+ * @private
+ */
+Parser.prototype.popNode = function () {
+ const node = this.stack.pop()
+ let attrs = node.attrs
+ const children = node.children
+ const parent = this.stack[this.stack.length - 1]
+ const siblings = parent ? parent.children : this.nodes
+
+ if (!this.hook(node) || config.ignoreTags[node.name]) {
+ // 获取标题
+ if (node.name === 'title' && children.length && children[0].type === 'text' && this.options.setTitle) {
+ uni.setNavigationBarTitle({
+ title: children[0].text
+ })
+ }
+ siblings.pop()
+ return
+ }
+
+ if (node.pre && this.pre !== 2) {
+ // 是否合并空白符标识
+ this.pre = node.pre = undefined
+ for (let i = this.stack.length; i--;) {
+ if (this.stack[i].pre) {
+ this.pre = 1
+ }
+ }
+ }
+
+ const styleObj = {}
+
+ // 转换 svg
+ if (node.name === 'svg') {
+ if (this.xml > 1) {
+ // 多层 svg 嵌套
+ this.xml--
+ return
+ }
+ // #ifdef APP-PLUS-NVUE
+ (function traversal(node) {
+ if (node.name) {
+ // 调整 svg 的大小写
+ node.name = config.svgDict[node.name] || node.name
+ for (const item in node.attrs) {
+ if (config.svgDict[item]) {
+ node.attrs[config.svgDict[item]] = node.attrs[item]
+ node.attrs[item] = undefined
+ }
+ }
+ for (let i = 0; i < (node.children || []).length; i++) {
+ traversal(node.children[i])
+ }
+ }
+ })(node)
+ // #endif
+ // #ifndef APP-PLUS-NVUE
+ let src = ''
+ const style = attrs.style
+ attrs.style = ''
+ attrs.xmlns = 'http://www.w3.org/2000/svg';
+ (function traversal(node) {
+ if (node.type === 'text') {
+ src += node.text
+ return
+ }
+ const name = config.svgDict[node.name] || node.name
+ if (name === 'foreignObject') {
+ for (const child of (node.children || [])) {
+ if (child.attrs && !child.attrs.xmlns) {
+ child.attrs.xmlns = 'http://www.w3.org/1999/xhtml'
+ break
+ }
+ }
+ }
+ src += '<' + name
+ for (const item in node.attrs) {
+ const val = node.attrs[item]
+ if (val) {
+ src += ` ${config.svgDict[item] || item}="${val.replace(/"/g, '')}"`
+ }
+ }
+ if (!node.children) {
+ src += '/>'
+ } else {
+ src += '>'
+ for (let i = 0; i < node.children.length; i++) {
+ traversal(node.children[i])
+ }
+ src += '' + name + '>'
+ }
+ })(node)
+ node.name = 'img'
+ node.attrs = {
+ src: 'data:image/svg+xml;utf8,' + src.replace(/#/g, '%23'),
+ style,
+ ignore: 'T'
+ }
+ node.children = undefined
+ // #endif
+ this.xml = false
+ config.ignoreTags.style = true
+ return
+ }
+
+ // #ifndef APP-PLUS-NVUE
+ // 转换 align 属性
+ if (attrs.align) {
+ if (node.name === 'table') {
+ if (attrs.align === 'center') {
+ styleObj['margin-inline-start'] = styleObj['margin-inline-end'] = 'auto'
+ } else {
+ styleObj.float = attrs.align
+ }
+ } else {
+ styleObj['text-align'] = attrs.align
+ }
+ attrs.align = undefined
+ }
+
+ // 转换 dir 属性
+ if (attrs.dir) {
+ styleObj.direction = attrs.dir
+ attrs.dir = undefined
+ }
+
+ // 转换 font 标签的属性
+ if (node.name === 'font') {
+ if (attrs.color) {
+ styleObj.color = attrs.color
+ attrs.color = undefined
+ }
+ if (attrs.face) {
+ styleObj['font-family'] = attrs.face
+ attrs.face = undefined
+ }
+ if (attrs.size) {
+ let size = parseInt(attrs.size)
+ if (!isNaN(size)) {
+ if (size < 1) {
+ size = 1
+ } else if (size > 7) {
+ size = 7
+ }
+ styleObj['font-size'] = ['x-small', 'small', 'medium', 'large', 'x-large', 'xx-large', 'xxx-large'][size - 1]
+ }
+ attrs.size = undefined
+ }
+ }
+ // #endif
+
+ // 一些编辑器的自带 class
+ if ((attrs.class || '').includes('align-center')) {
+ styleObj['text-align'] = 'center'
+ }
+
+ Object.assign(styleObj, this.parseStyle(node))
+
+ if (node.name !== 'table' && parseInt(styleObj.width) > windowWidth) {
+ styleObj['max-width'] = '100%'
+ styleObj['box-sizing'] = 'border-box'
+ }
+
+ // #ifndef APP-PLUS-NVUE
+ if (config.blockTags[node.name]) {
+ node.name = 'div'
+ } else if (!config.trustTags[node.name] && !this.xml) {
+ // 未知标签转为 span,避免无法显示
+ node.name = 'span'
+ }
+
+ if (node.name === 'a' || node.name === 'ad'
+ // #ifdef H5 || APP-PLUS
+ || node.name === 'iframe' // eslint-disable-line
+ // #endif
+ ) {
+ this.expose()
+ } else if (node.name === 'video') {
+ if ((styleObj.height || '').includes('auto')) {
+ styleObj.height = undefined
+ }
+ /* #ifdef APP-PLUS */
+ let str = ''
+ node.html = str
+ /* #endif */
+ } else if ((node.name === 'ul' || node.name === 'ol') && node.c) {
+ // 列表处理
+ const types = {
+ a: 'lower-alpha',
+ A: 'upper-alpha',
+ i: 'lower-roman',
+ I: 'upper-roman'
+ }
+ if (types[attrs.type]) {
+ attrs.style += ';list-style-type:' + types[attrs.type]
+ attrs.type = undefined
+ }
+ for (let i = children.length; i--;) {
+ if (children[i].name === 'li') {
+ children[i].c = 1
+ }
+ }
+ } else if (node.name === 'table') {
+ // 表格处理
+ // cellpadding、cellspacing、border 这几个常用表格属性需要通过转换实现
+ let padding = parseFloat(attrs.cellpadding)
+ let spacing = parseFloat(attrs.cellspacing)
+ const border = parseFloat(attrs.border)
+ const bordercolor = styleObj['border-color']
+ const borderstyle = styleObj['border-style']
+ if (node.c) {
+ // padding 和 spacing 默认 2
+ if (isNaN(padding)) {
+ padding = 2
+ }
+ if (isNaN(spacing)) {
+ spacing = 2
+ }
+ }
+ if (border) {
+ attrs.style += `;border:${border}px ${borderstyle || 'solid'} ${bordercolor || 'gray'}`
+ }
+ if (node.flag && node.c) {
+ // 有 colspan 或 rowspan 且含有链接的表格通过 grid 布局实现
+ styleObj.display = 'grid'
+ if (styleObj['border-collapse'] === 'collapse') {
+ styleObj['border-collapse'] = undefined
+ spacing = 0
+ }
+ if (spacing) {
+ styleObj['grid-gap'] = spacing + 'px'
+ styleObj.padding = spacing + 'px'
+ } else if (border) {
+ // 无间隔的情况下避免边框重叠
+ attrs.style += ';border-left:0;border-top:0'
+ }
+
+ const width = [] // 表格的列宽
+ const trList = [] // tr 列表
+ const cells = [] // 保存新的单元格
+ const map = {}; // 被合并单元格占用的格子
+
+ (function traversal(nodes) {
+ for (let i = 0; i < nodes.length; i++) {
+ if (nodes[i].name === 'tr') {
+ trList.push(nodes[i])
+ } else if (nodes[i].name === 'colgroup') {
+ let colI = 1
+ for (const col of (nodes[i].children || [])) {
+ if (col.name === 'col') {
+ const style = col.attrs.style || ''
+ const start = style.indexOf('width') ? style.indexOf(';width') : 0
+ // 提取出宽度
+ if (start !== -1) {
+ let end = style.indexOf(';', start + 6)
+ if (end === -1) {
+ end = style.length
+ }
+ width[colI] = style.substring(start ? start + 7 : 6, end)
+ }
+ colI += 1
+ }
+ }
+ } else {
+ traversal(nodes[i].children || [])
+ }
+ }
+ })(children)
+
+ for (let row = 1; row <= trList.length; row++) {
+ let col = 1
+ for (let j = 0; j < trList[row - 1].children.length; j++) {
+ const td = trList[row - 1].children[j]
+ if (td.name === 'td' || td.name === 'th') {
+ // 这个格子被上面的单元格占用,则列号++
+ while (map[row + '.' + col]) {
+ col++
+ }
+ let style = td.attrs.style || ''
+ let start = style.indexOf('width') ? style.indexOf(';width') : 0
+ // 提取出 td 的宽度
+ if (start !== -1) {
+ let end = style.indexOf(';', start + 6)
+ if (end === -1) {
+ end = style.length
+ }
+ if (!td.attrs.colspan) {
+ width[col] = style.substring(start ? start + 7 : 6, end)
+ }
+ style = style.substr(0, start) + style.substr(end)
+ }
+ // 设置竖直对齐
+ style += ';display:flex'
+ start = style.indexOf('vertical-align')
+ if (start !== -1) {
+ const val = style.substr(start + 15, 10)
+ if (val.includes('middle')) {
+ style += ';align-items:center'
+ } else if (val.includes('bottom')) {
+ style += ';align-items:flex-end'
+ }
+ } else {
+ style += ';align-items:center'
+ }
+ // 设置水平对齐
+ start = style.indexOf('text-align')
+ if (start !== -1) {
+ const val = style.substr(start + 11, 10)
+ if (val.includes('center')) {
+ style += ';justify-content: center'
+ } else if (val.includes('right')) {
+ style += ';justify-content: right'
+ }
+ }
+ style = (border ? `;border:${border}px ${borderstyle || 'solid'} ${bordercolor || 'gray'}` + (spacing ? '' : ';border-right:0;border-bottom:0') : '') + (padding ? `;padding:${padding}px` : '') + ';' + style
+ // 处理列合并
+ if (td.attrs.colspan) {
+ style += `;grid-column-start:${col};grid-column-end:${col + parseInt(td.attrs.colspan)}`
+ if (!td.attrs.rowspan) {
+ style += `;grid-row-start:${row};grid-row-end:${row + 1}`
+ }
+ col += parseInt(td.attrs.colspan) - 1
+ }
+ // 处理行合并
+ if (td.attrs.rowspan) {
+ style += `;grid-row-start:${row};grid-row-end:${row + parseInt(td.attrs.rowspan)}`
+ if (!td.attrs.colspan) {
+ style += `;grid-column-start:${col};grid-column-end:${col + 1}`
+ }
+ // 记录下方单元格被占用
+ for (let rowspan = 1; rowspan < td.attrs.rowspan; rowspan++) {
+ for (let colspan = 0; colspan < (td.attrs.colspan || 1); colspan++) {
+ map[(row + rowspan) + '.' + (col - colspan)] = 1
+ }
+ }
+ }
+ if (style) {
+ td.attrs.style = style
+ }
+ cells.push(td)
+ col++
+ }
+ }
+ if (row === 1) {
+ let temp = ''
+ for (let i = 1; i < col; i++) {
+ temp += (width[i] ? width[i] : 'auto') + ' '
+ }
+ styleObj['grid-template-columns'] = temp
+ }
+ }
+ node.children = cells
+ } else {
+ // 没有使用合并单元格的表格通过 table 布局实现
+ if (node.c) {
+ styleObj.display = 'table'
+ }
+ if (!isNaN(spacing)) {
+ styleObj['border-spacing'] = spacing + 'px'
+ }
+ if (border || padding) {
+ // 遍历
+ (function traversal(nodes) {
+ for (let i = 0; i < nodes.length; i++) {
+ const td = nodes[i]
+ if (td.name === 'th' || td.name === 'td') {
+ if (border) {
+ td.attrs.style = `border:${border}px ${borderstyle || 'solid'} ${bordercolor || 'gray'};${td.attrs.style || ''}`
+ }
+ if (padding) {
+ td.attrs.style = `padding:${padding}px;${td.attrs.style || ''}`
+ }
+ } else if (td.children) {
+ traversal(td.children)
+ }
+ }
+ })(children)
+ }
+ }
+ // 给表格添加一个单独的横向滚动层
+ if (this.options.scrollTable && !(attrs.style || '').includes('inline')) {
+ const table = Object.assign({}, node)
+ node.name = 'div'
+ node.attrs = {
+ style: 'overflow:auto'
+ }
+ node.children = [table]
+ attrs = table.attrs
+ }
+ } else if ((node.name === 'tbody' || node.name === 'tr') && node.flag && node.c) {
+ node.flag = undefined;
+ (function traversal(nodes) {
+ for (let i = 0; i < nodes.length; i++) {
+ if (nodes[i].name === 'td') {
+ // 颜色样式设置给单元格避免丢失
+ for (const style of ['color', 'background', 'background-color']) {
+ if (styleObj[style]) {
+ nodes[i].attrs.style = style + ':' + styleObj[style] + ';' + (nodes[i].attrs.style || '')
+ }
+ }
+ } else {
+ traversal(nodes[i].children || [])
+ }
+ }
+ })(children)
+ } else if ((node.name === 'td' || node.name === 'th') && (attrs.colspan || attrs.rowspan)) {
+ for (let i = this.stack.length; i--;) {
+ if (this.stack[i].name === 'table' || this.stack[i].name === 'tbody' || this.stack[i].name === 'tr') {
+ this.stack[i].flag = 1 // 指示含有合并单元格
+ }
+ }
+ } else if (node.name === 'ruby') {
+ // 转换 ruby
+ node.name = 'span'
+ for (let i = 0; i < children.length - 1; i++) {
+ if (children[i].type === 'text' && children[i + 1].name === 'rt') {
+ children[i] = {
+ name: 'div',
+ attrs: {
+ style: 'display:inline-block;text-align:center'
+ },
+ children: [{
+ name: 'div',
+ attrs: {
+ style: 'font-size:50%;' + (children[i + 1].attrs.style || '')
+ },
+ children: children[i + 1].children
+ }, children[i]]
+ }
+ children.splice(i + 1, 1)
+ }
+ }
+ } else if (node.c) {
+ (function traversal(node) {
+ node.c = 2
+ for (let i = node.children.length; i--;) {
+ const child = node.children[i]
+ // #ifdef (MP-WEIXIN || MP-QQ || APP-PLUS || MP-360) && VUE3
+ if (child.name && (config.inlineTags[child.name] || ((child.attrs.style || '').includes('inline') && child.children)) && !child.c) {
+ traversal(child)
+ }
+ // #endif
+ if (!child.c || child.name === 'table') {
+ node.c = 1
+ }
+ }
+ })(node)
+ }
+
+ if ((styleObj.display || '').includes('flex') && !node.c) {
+ for (let i = children.length; i--;) {
+ const item = children[i]
+ if (item.f) {
+ item.attrs.style = (item.attrs.style || '') + item.f
+ item.f = undefined
+ }
+ }
+ }
+ // flex 布局时部分样式需要提取到 rich-text 外层
+ const flex = parent && ((parent.attrs.style || '').includes('flex') || (parent.attrs.style || '').includes('grid'))
+ // #ifdef MP-WEIXIN
+ // 检查基础库版本 virtualHost 是否可用
+ && !(node.c && wx.getNFCAdapter) // eslint-disable-line
+ // #endif
+ // #ifndef MP-WEIXIN || MP-QQ || MP-BAIDU || MP-TOUTIAO
+ && !node.c // eslint-disable-line
+ // #endif
+ if (flex) {
+ node.f = ';max-width:100%'
+ }
+
+ if (children.length >= 50 && node.c && !(styleObj.display || '').includes('flex')) {
+ mergeNodes(children)
+ }
+ // #endif
+
+ for (const key in styleObj) {
+ if (styleObj[key]) {
+ const val = `;${key}:${styleObj[key].replace(' !important', '')}`
+ /* #ifndef APP-PLUS-NVUE */
+ if (flex && ((key.includes('flex') && key !== 'flex-direction') || key === 'align-self' || key.includes('grid') || styleObj[key][0] === '-' || (key.includes('width') && val.includes('%')))) {
+ node.f += val
+ if (key === 'width') {
+ attrs.style += ';width:100%'
+ }
+ } else /* #endif */ {
+ attrs.style += val
+ }
+ }
+ }
+ attrs.style = attrs.style.substr(1) || undefined
+ // #ifdef (MP-WEIXIN || MP-QQ) && VUE3
+ for (const key in attrs) {
+ if (!attrs[key]) {
+ delete attrs[key]
+ }
+ }
+ // #endif
+}
+
+/**
+ * @description 解析到文本
+ * @param {String} text 文本内容
+ */
+Parser.prototype.onText = function (text) {
+ if (!this.pre) {
+ // 合并空白符
+ let trim = ''
+ let flag
+ for (let i = 0, len = text.length; i < len; i++) {
+ if (!blankChar[text[i]]) {
+ trim += text[i]
+ } else {
+ if (trim[trim.length - 1] !== ' ') {
+ trim += ' '
+ }
+ if (text[i] === '\n' && !flag) {
+ flag = true
+ }
+ }
+ }
+ // 去除含有换行符的空串
+ if (trim === ' ') {
+ if (flag) return
+ // #ifdef VUE3
+ else {
+ const parent = this.stack[this.stack.length - 1]
+ if (parent && parent.name[0] === 't') return
+ }
+ // #endif
+ }
+ text = trim
+ }
+ const node = Object.create(null)
+ node.type = 'text'
+ // #ifdef (MP-BAIDU || MP-ALIPAY || MP-TOUTIAO) && VUE3
+ node.attrs = {}
+ // #endif
+ node.text = decodeEntity(text)
+ if (this.hook(node)) {
+ // #ifdef MP-WEIXIN
+ if (this.options.selectable === 'force' && system.includes('iOS') && !uni.canIUse('rich-text.user-select')) {
+ this.expose()
+ }
+ // #endif
+ const siblings = this.stack.length ? this.stack[this.stack.length - 1].children : this.nodes
+ siblings.push(node)
+ }
+}
+
+/**
+ * @description html 词法分析器
+ * @param {Object} handler 高层处理器
+ */
+function Lexer(handler) {
+ this.handler = handler
+}
+
+/**
+ * @description 执行解析
+ * @param {String} content 要解析的文本
+ */
+Lexer.prototype.parse = function (content) {
+ this.content = content || ''
+ this.i = 0 // 标记解析位置
+ this.start = 0 // 标记一个单词的开始位置
+ this.state = this.text // 当前状态
+ for (let len = this.content.length; this.i !== -1 && this.i < len;) {
+ this.state()
+ }
+}
+
+/**
+ * @description 检查标签是否闭合
+ * @param {String} method 如果闭合要进行的操作
+ * @returns {Boolean} 是否闭合
+ * @private
+ */
+Lexer.prototype.checkClose = function (method) {
+ const selfClose = this.content[this.i] === '/'
+ if (this.content[this.i] === '>' || (selfClose && this.content[this.i + 1] === '>')) {
+ if (method) {
+ this.handler[method](this.content.substring(this.start, this.i))
+ }
+ this.i += selfClose ? 2 : 1
+ this.start = this.i
+ this.handler.onOpenTag(selfClose)
+ if (this.handler.tagName === 'script') {
+ this.i = this.content.indexOf('', this.i)
+ if (this.i !== -1) {
+ this.i += 2
+ this.start = this.i
+ }
+ this.state = this.endTag
+ } else {
+ this.state = this.text
+ }
+ return true
+ }
+ return false
+}
+
+/**
+ * @description 文本状态
+ * @private
+ */
+Lexer.prototype.text = function () {
+ this.i = this.content.indexOf('<', this.i) // 查找最近的标签
+ if (this.i === -1) {
+ // 没有标签了
+ if (this.start < this.content.length) {
+ this.handler.onText(this.content.substring(this.start, this.content.length))
+ }
+ return
+ }
+ const c = this.content[this.i + 1]
+ if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {
+ // 标签开头
+ if (this.start !== this.i) {
+ this.handler.onText(this.content.substring(this.start, this.i))
+ }
+ this.start = ++this.i
+ this.state = this.tagName
+ } else if (c === '/' || c === '!' || c === '?') {
+ if (this.start !== this.i) {
+ this.handler.onText(this.content.substring(this.start, this.i))
+ }
+ const next = this.content[this.i + 2]
+ if (c === '/' && ((next >= 'a' && next <= 'z') || (next >= 'A' && next <= 'Z'))) {
+ // 标签结尾
+ this.i += 2
+ this.start = this.i
+ this.state = this.endTag
+ return
+ }
+ // 处理注释
+ let end = '-->'
+ if (c !== '!' || this.content[this.i + 2] !== '-' || this.content[this.i + 3] !== '-') {
+ end = '>'
+ }
+ this.i = this.content.indexOf(end, this.i)
+ if (this.i !== -1) {
+ this.i += end.length
+ this.start = this.i
+ }
+ } else {
+ this.i++
+ }
+}
+
+/**
+ * @description 标签名状态
+ * @private
+ */
+Lexer.prototype.tagName = function () {
+ if (blankChar[this.content[this.i]]) {
+ // 解析到标签名
+ this.handler.onTagName(this.content.substring(this.start, this.i))
+ while (blankChar[this.content[++this.i]]);
+ if (this.i < this.content.length && !this.checkClose()) {
+ this.start = this.i
+ this.state = this.attrName
+ }
+ } else if (!this.checkClose('onTagName')) {
+ this.i++
+ }
+}
+
+/**
+ * @description 属性名状态
+ * @private
+ */
+Lexer.prototype.attrName = function () {
+ let c = this.content[this.i]
+ if (blankChar[c] || c === '=') {
+ // 解析到属性名
+ this.handler.onAttrName(this.content.substring(this.start, this.i))
+ let needVal = c === '='
+ const len = this.content.length
+ while (++this.i < len) {
+ c = this.content[this.i]
+ if (!blankChar[c]) {
+ if (this.checkClose()) return
+ if (needVal) {
+ // 等号后遇到第一个非空字符
+ this.start = this.i
+ this.state = this.attrVal
+ return
+ }
+ if (this.content[this.i] === '=') {
+ needVal = true
+ } else {
+ this.start = this.i
+ this.state = this.attrName
+ return
+ }
+ }
+ }
+ } else if (!this.checkClose('onAttrName')) {
+ this.i++
+ }
+}
+
+/**
+ * @description 属性值状态
+ * @private
+ */
+Lexer.prototype.attrVal = function () {
+ const c = this.content[this.i]
+ const len = this.content.length
+ if (c === '"' || c === "'") {
+ // 有冒号的属性
+ this.start = ++this.i
+ this.i = this.content.indexOf(c, this.i)
+ if (this.i === -1) return
+ this.handler.onAttrVal(this.content.substring(this.start, this.i))
+ } else {
+ // 没有冒号的属性
+ for (; this.i < len; this.i++) {
+ if (blankChar[this.content[this.i]]) {
+ this.handler.onAttrVal(this.content.substring(this.start, this.i))
+ break
+ } else if (this.checkClose('onAttrVal')) return
+ }
+ }
+ while (blankChar[this.content[++this.i]]);
+ if (this.i < len && !this.checkClose()) {
+ this.start = this.i
+ this.state = this.attrName
+ }
+}
+
+/**
+ * @description 结束标签状态
+ * @returns {String} 结束的标签名
+ * @private
+ */
+Lexer.prototype.endTag = function () {
+ const c = this.content[this.i]
+ if (blankChar[c] || c === '>' || c === '/') {
+ this.handler.onCloseTag(this.content.substring(this.start, this.i))
+ if (c !== '>') {
+ this.i = this.content.indexOf('>', this.i)
+ if (this.i === -1) return
+ }
+ this.start = ++this.i
+ this.state = this.text
+ } else {
+ this.i++
+ }
+}
+
+export default Parser
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-html/tm-html.vue b/src/uni_modules/tm-ui/components/tm-html/tm-html.vue
new file mode 100644
index 0000000..0b24b91
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-html/tm-html.vue
@@ -0,0 +1,300 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-icon/tm-icon.vue b/src/uni_modules/tm-ui/components/tm-icon/tm-icon.vue
new file mode 100644
index 0000000..24b037a
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-icon/tm-icon.vue
@@ -0,0 +1,171 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/uni_modules/tm-ui/components/tm-image/tm-image.vue b/src/uni_modules/tm-ui/components/tm-image/tm-image.vue
new file mode 100644
index 0000000..07278af
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-image/tm-image.vue
@@ -0,0 +1,399 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-input/tm-input.vue b/src/uni_modules/tm-ui/components/tm-input/tm-input.vue
new file mode 100644
index 0000000..252b792
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-input/tm-input.vue
@@ -0,0 +1,778 @@
+
+
+
+
+ {{
+ _attrs.leftText
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ String(nowValue).length + '/' + _attrs.maxlength }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{
+ _attrs.rightText
+ }}
+
+
+
+
+
+
+
diff --git a/src/uni_modules/tm-ui/components/tm-modal/tm-modal.vue b/src/uni_modules/tm-ui/components/tm-modal/tm-modal.vue
new file mode 100644
index 0000000..c4f874f
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-modal/tm-modal.vue
@@ -0,0 +1,601 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ _title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-navbar/tm-navbar.vue b/src/uni_modules/tm-ui/components/tm-navbar/tm-navbar.vue
new file mode 100644
index 0000000..efee376
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-navbar/tm-navbar.vue
@@ -0,0 +1,419 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{
+ _title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/uni_modules/tm-ui/components/tm-picker-date/tm-picker-date.vue b/src/uni_modules/tm-ui/components/tm-picker-date/tm-picker-date.vue
new file mode 100644
index 0000000..b4dfce0
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-picker-date/tm-picker-date.vue
@@ -0,0 +1,543 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-picker-view/picker-item copy.vue b/src/uni_modules/tm-ui/components/tm-picker-view/picker-item copy.vue
new file mode 100644
index 0000000..70c2add
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-picker-view/picker-item copy.vue
@@ -0,0 +1,326 @@
+
+
+
+
+
+ {{ _unitsName }}
+
+
+
+
+
+
+
+ {{ item[rangText] }}
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-picker-view/picker-item.vue b/src/uni_modules/tm-ui/components/tm-picker-view/picker-item.vue
new file mode 100644
index 0000000..f223a0a
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-picker-view/picker-item.vue
@@ -0,0 +1,242 @@
+
+
+
+
+
+
+ {{ item }}
+
+
+
+
+
+
+ {{ item[rangText] || "" }}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-picker-view/tm-picker-view copy.vue b/src/uni_modules/tm-ui/components/tm-picker-view/tm-picker-view copy.vue
new file mode 100644
index 0000000..42fe184
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-picker-view/tm-picker-view copy.vue
@@ -0,0 +1,283 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-picker-view/tm-picker-view.vue b/src/uni_modules/tm-ui/components/tm-picker-view/tm-picker-view.vue
new file mode 100644
index 0000000..7041120
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-picker-view/tm-picker-view.vue
@@ -0,0 +1,276 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-picker-view/util.ts b/src/uni_modules/tm-ui/components/tm-picker-view/util.ts
new file mode 100644
index 0000000..9eb39f6
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-picker-view/util.ts
@@ -0,0 +1,129 @@
+type TM_PICKER_X_ITEM = Record
+/**
+ * 当前树有多少个被选中了。
+ */
+export function getTreeSelectedNum(item: TM_PICKER_X_ITEM[], target: Set): number {
+ let inx = 0;
+ function jshz(tree: TM_PICKER_X_ITEM[]) {
+ for (let i = 0; i < tree.length; i++) {
+ let item = tree[i]
+ if (item.children.length > 0) {
+ jshz(item.children)
+ } else if (target.has(item.id)) {
+ inx += 1
+ }
+ }
+ }
+ jshz(item)
+ return inx;
+}
+
+/**
+ * 根据目标节点,过滤掉父节点。
+ * @param item
+ * @param target
+ */
+export function filterParentNode(item: TM_PICKER_X_ITEM[], target: Set): string[] {
+ function jshz(tree: TM_PICKER_X_ITEM[]): string[] {
+ let arr = [] as string[]
+ for (let i = 0; i < tree.length; i++) {
+ let item = tree[i]
+ if (item.children.length > 0) {
+ arr = arr.concat(jshz(item.children))
+ } else if (target.has(item.id)) {
+ arr.push(item.id)
+ }
+ }
+ return arr;
+ }
+ return jshz(item)
+}
+
+/**
+ * 根据给定的长度值,赋值默认值
+ */
+export function setDefaultByValueAr(list: TM_PICKER_X_ITEM[], value: string[], maxLen: number): string[] {
+ let v = value;
+ let pr = [] as string[];
+ for (let j = 0; j < maxLen; j++) {
+ pr.push("")
+ }
+ v = v.concat(pr).slice(0, maxLen)
+ let defaultAr = [] as string[];
+ function setvalue(item: TM_PICKER_X_ITEM[]) {
+ if (item.length > 0) {
+ defaultAr.push(item[0].id);
+ if (item[0].children.length > 0) {
+ setvalue(item[0].children)
+ }
+ }
+ }
+
+ setvalue(list);
+
+ for (let i = 0; i < maxLen; i++) {
+ if (defaultAr.length - 1 >= i && v[i] == "") {
+ v[i] = defaultAr[i]
+ }
+ }
+
+
+ return v;
+}
+
+
+
+// 通过 ID 查找节点的函数
+export function findNodeById(TreeNode: TM_PICKER_X_ITEM[], id: string): TM_PICKER_X_ITEM | null {
+ let newnode = null as TM_PICKER_X_ITEM | null
+ for (let i = 0; i < TreeNode.length; i++) {
+ let node = TreeNode[i]
+ if (node.id === id) {
+ newnode = node;
+ break;
+ }
+ if (node.children.length > 0) {
+ const foundNode = findNodeById(node.children, id);
+ if (foundNode != null) {
+ newnode = foundNode;
+ break;
+ }
+ }
+
+ }
+
+ return newnode;
+}
+
+
+// 查找节点的上级节点
+export function findParentNode(nodes: TM_PICKER_X_ITEM[], targetNodeId: string): TM_PICKER_X_ITEM | null {
+ function search(node: TM_PICKER_X_ITEM): TM_PICKER_X_ITEM | null {
+ if (node.children.length > 0) {
+ for (let i = 0; i < node.children.length; i++) {
+ const child = node.children[i];
+ if (child.id === targetNodeId) {
+ return node;
+ } else {
+ const foundParent = search(child);
+ if (foundParent != null) {
+ return foundParent;
+ }
+ }
+ }
+ }
+
+ return null;
+ }
+
+ // 使用for循环遍历根节点数组
+ for (let i = 0; i < nodes.length; i++) {
+ const root = nodes[i];
+ const parentNode = search(root);
+ if (parentNode != null) {
+ return parentNode;
+ }
+ }
+
+ return null; // 如果未找到目标节点的父节点,则返回undefined
+}
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-picker/tm-picker.vue b/src/uni_modules/tm-ui/components/tm-picker/tm-picker.vue
new file mode 100644
index 0000000..69378b5
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-picker/tm-picker.vue
@@ -0,0 +1,339 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-radio-group/tm-radio-group.vue b/src/uni_modules/tm-ui/components/tm-radio-group/tm-radio-group.vue
new file mode 100644
index 0000000..380c124
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-radio-group/tm-radio-group.vue
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/uni_modules/tm-ui/components/tm-radio/tm-radio.vue b/src/uni_modules/tm-ui/components/tm-radio/tm-radio.vue
new file mode 100644
index 0000000..28a6bc7
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-radio/tm-radio.vue
@@ -0,0 +1,368 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ _label }}
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-rate/tm-rate.vue b/src/uni_modules/tm-ui/components/tm-rate/tm-rate.vue
new file mode 100644
index 0000000..f4a0678
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-rate/tm-rate.vue
@@ -0,0 +1,295 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{score.toFixed(1)}}
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-row/tm-row.vue b/src/uni_modules/tm-ui/components/tm-row/tm-row.vue
new file mode 100644
index 0000000..c4a4fcb
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-row/tm-row.vue
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-sheet/tm-sheet.vue b/src/uni_modules/tm-ui/components/tm-sheet/tm-sheet.vue
new file mode 100644
index 0000000..1ffb7df
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-sheet/tm-sheet.vue
@@ -0,0 +1,289 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/uni_modules/tm-ui/components/tm-stepper/tm-stepper.vue b/src/uni_modules/tm-ui/components/tm-stepper/tm-stepper.vue
new file mode 100644
index 0000000..92dfe2a
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-stepper/tm-stepper.vue
@@ -0,0 +1,361 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-sticky-header/tm-sticky-header.vue b/src/uni_modules/tm-ui/components/tm-sticky-header/tm-sticky-header.vue
new file mode 100644
index 0000000..601c46e
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-sticky-header/tm-sticky-header.vue
@@ -0,0 +1,63 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-sticky/tm-sticky.vue b/src/uni_modules/tm-ui/components/tm-sticky/tm-sticky.vue
new file mode 100644
index 0000000..a326619
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-sticky/tm-sticky.vue
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-switch/tm-switch.vue b/src/uni_modules/tm-ui/components/tm-switch/tm-switch.vue
new file mode 100644
index 0000000..c051d85
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-switch/tm-switch.vue
@@ -0,0 +1,371 @@
+
+
+
+
+
+
+
+
+ {{ !opened ? '' : _label[0] }}
+ {{ opened ? '' : _label[1] }}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-tabs/tm-tabs.vue b/src/uni_modules/tm-ui/components/tm-tabs/tm-tabs.vue
new file mode 100644
index 0000000..6ba9abe
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-tabs/tm-tabs.vue
@@ -0,0 +1,466 @@
+
+
+
+
+
+
+
+
+ {{ getValue(item) }}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-tag/tm-tag.vue b/src/uni_modules/tm-ui/components/tm-tag/tm-tag.vue
new file mode 100644
index 0000000..5d91444
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-tag/tm-tag.vue
@@ -0,0 +1,357 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-text/tm-text.vue b/src/uni_modules/tm-ui/components/tm-text/tm-text.vue
new file mode 100644
index 0000000..1441ae9
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-text/tm-text.vue
@@ -0,0 +1,277 @@
+
+
+
+
+ {{ _attrs.label }}
+
+
+ {{ item.text }}
+
+
+
+
+
+
+
diff --git a/src/uni_modules/tm-ui/components/tm-upload-photo/tm-upload-photo.vue b/src/uni_modules/tm-ui/components/tm-upload-photo/tm-upload-photo.vue
new file mode 100644
index 0000000..8c38054
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-upload-photo/tm-upload-photo.vue
@@ -0,0 +1,629 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.statusText
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/tm-upload-video/tm-upload-video.vue b/src/uni_modules/tm-ui/components/tm-upload-video/tm-upload-video.vue
new file mode 100644
index 0000000..eb9bda3
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/tm-upload-video/tm-upload-video.vue
@@ -0,0 +1,552 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.statusText
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/components/� b/src/uni_modules/tm-ui/components/�
new file mode 100644
index 0000000..3b49718
--- /dev/null
+++ b/src/uni_modules/tm-ui/components/�
@@ -0,0 +1,36 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/css/RemixIcon_Collection_2409112337.remixicon b/src/uni_modules/tm-ui/css/RemixIcon_Collection_2409112337.remixicon
new file mode 100644
index 0000000..4f714dd
--- /dev/null
+++ b/src/uni_modules/tm-ui/css/RemixIcon_Collection_2409112337.remixicon
@@ -0,0 +1 @@
+arrow-right-line,arrow-down-line,arrow-left-line,arrow-up-line,arrow-up-s-line,arrow-right-s-line,arrow-down-s-line,arrow-left-s-line,arrow-up-s-fill,arrow-right-s-fill,arrow-down-s-fill,arrow-left-s-fill,skip-up-line,skip-right-line,skip-down-line,skip-left-line,skip-up-fill,skip-right-fill,skip-down-fill,skip-left-fill,arrow-up-down-line,arrow-left-right-line,arrow-up-wide-line,arrow-down-wide-line,corner-up-left-double-line,corner-up-right-double-line,arrow-left-double-line,arrow-right-double-fill,expand-up-down-line,expand-up-down-fill,expand-left-right-line,expand-left-right-fill,arrow-go-forward-line,arrow-turn-back-line,arrow-turn-forward-line,arrow-go-back-line,home-line,home-fill,home-4-line,home-4-fill,home-smile-2-line,home-smile-2-fill,building-2-line,building-2-fill,ancient-gate-line,ancient-gate-fill,store-2-line,store-2-fill,mail-unread-line,mail-check-line,mail-send-line,mail-open-line,mail-open-fill,mail-send-fill,mail-unread-fill,mail-check-fill,mail-add-line,mail-add-fill,mail-close-line,mail-close-fill,inbox-archive-line,inbox-archive-fill,cloud-off-line,cloud-off-fill,cloud-fill,cloud-line,inbox-unarchive-line,inbox-unarchive-fill,attachment-line,attachment-fill,profile-line,profile-fill,archive-2-line,archive-2-fill,at-line,award-fill,medal-fill,medal-2-fill,verified-badge-fill,verified-badge-line,archive-stack-line,archive-stack-fill,bar-chart-grouped-line,bar-chart-grouped-fill,bar-chart-2-line,bar-chart-2-fill,bar-chart-line,bar-chart-fill,bookmark-line,bookmark-fill,calendar-check-line,calendar-close-line,calendar-event-line,calendar-2-line,flag-2-line,triangular-flag-line,triangular-flag-fill,flag-2-fill,global-line,global-fill,honour-line,honour-fill,customer-service-line,customer-service-fill,calendar-schedule-line,calendar-schedule-fill,links-line,printer-line,printer-fill,reply-line,reply-fill,send-plane-line,send-plane-fill,stack-line,stack-fill,shake-hands-line,shake-hands-fill,copyright-line,copyright-fill,megaphone-line,megaphone-fill,pass-valid-line,pass-valid-fill,pass-pending-line,pass-pending-fill,pass-expired-line,pass-expired-fill,id-card-line,id-card-fill,chat-3-line,chat-3-fill,chat-2-line,chat-2-fill,message-3-line,message-3-fill,message-2-line,message-2-fill,chat-unread-line,chat-unread-fill,chat-smile-2-line,chat-smile-2-fill,chat-smile-line,chat-smile-fill,discuss-fill,discuss-line,chat-history-line,chat-history-fill,video-chat-line,video-chat-fill,chat-voice-fill,chat-voice-line,speak-fill,speak-line,edit-2-line,edit-2-fill,quill-pen-line,quill-pen-fill,sip-line,sip-fill,markup-line,markup-fill,edit-box-line,edit-box-fill,brush-line,brush-fill,brush-2-fill,brush-2-line,paint-brush-line,paint-brush-fill,drop-line,drop-fill,blur-off-line,blur-off-fill,color-filter-line,color-filter-fill,crop-line,artboard-2-line,paint-line,paint-fill,palette-line,palette-fill,pantone-line,pantone-fill,magic-line,magic-fill,anticlockwise-line,anticlockwise-fill,tools-line,tools-fill,clockwise-line,clockwise-fill,drag-drop-line,drag-drop-fill,hammer-fill,hammer-line,circle-line,circle-fill,code-line,code-fill,terminal-line,terminal-fill,cursor-line,cursor-fill,smartphone-line,computer-line,mac-line,macbook-line,phone-line,phone-fill,device-line,tablet-line,database-2-line,database-2-fill,server-line,server-fill,hard-drive-fill,hard-drive-line,qr-scan-2-line,qr-scan-line,qr-code-line,barcode-line,shut-down-line,fingerprint-line,bluetooth-line,wifi-line,wifi-off-line,rss-line,rss-fill,gps-line,gps-fill,dashboard-3-line,dashboard-3-fill,file-2-line,file-2-fill,sticky-note-add-line,sticky-note-add-fill,file-list-line,file-list-fill,file-text-line,file-text-fill,file-list-3-line,file-list-3-fill,file-copy-line,file-copy-fill,clipboard-line,clipboard-fill,survey-line,survey-fill,article-line,article-fill,book-marked-line,book-marked-fill,todo-line,todo-fill,file-marked-line,file-marked-fill,book-3-line,book-3-fill,book-open-line,book-open-fill,folder-add-line,folder-add-fill,folder-check-line,folder-check-fill,folder-open-line,folder-open-fill,folder-line,folder-fill,align-center,list-check,indent-decrease,indent-increase,list-indefinite,attachment-2,link,hashtag,sketching,wallet-line,wallet-fill,bank-card-line,bank-card-fill,price-tag-3-line,price-tag-3-fill,coupon-line,coupon-fill,price-tag-line,price-tag-fill,shopping-bag-line,shopping-bag-fill,shopping-basket-line,shopping-basket-fill,shopping-cart-line,shopping-cart-fill,trophy-line,trophy-fill,vip-diamond-fill,vip-diamond-line,vip-crown-2-line,vip-crown-2-fill,vip-crown-line,vip-crown-fill,vip-line,vip-fill,exchange-line,exchange-fill,exchange-dollar-line,exchange-dollar-fill,money-cny-circle-line,money-cny-circle-fill,copper-coin-line,copper-coin-fill,exchange-cny-line,exchange-cny-fill,money-euro-circle-line,money-euro-circle-fill,red-packet-line,red-packet-fill,water-flash-line,water-flash-fill,coin-line,coin-fill,stock-line,stock-fill,gift-line,gift-fill,24-hours-line,24-hours-fill,shopping-bag-4-line,shopping-bag-4-fill,bowl-line,bowl-fill,heart-3-line,heart-3-fill,dislike-line,dislike-fill,heart-pulse-line,heart-pulse-fill,alipay-line,android-line,alibaba-cloud-line,app-store-line,apple-line,baidu-line,bilibili-line,chrome-line,dingding-line,drive-line,dribbble-line,evernote-line,facebook-circle-line,firebase-line,flutter-line,github-line,google-line,google-play-line,instagram-line,invision-line,meta-line,qq-line,snapchat-line,tiktok-line,twitter-line,wechat-line,wechat-2-line,weibo-line,wechat-pay-line,whatsapp-line,zhihu-line,youtube-line,map-pin-2-line,map-pin-2-fill,map-pin-time-line,map-pin-time-fill,pushpin-line,pushpin-fill,map-pin-user-line,map-pin-user-fill,rocket-line,rocket-fill,planet-line,planet-fill,parking-line,parking-fill,road-map-line,road-map-fill,earth-line,earth-fill,car-line,car-fill,plane-line,image-line,image-fill,image-circle-line,image-circle-fill,landscape-line,landscape-fill,video-on-line,video-on-fill,video-line,video-fill,live-line,live-fill,camera-line,camera-fill,camera-off-line,camera-off-fill,headphone-line,headphone-fill,mic-off-line,mic-off-fill,mic-2-fill,mic-2-line,volume-down-line,volume-down-fill,volume-mute-line,volume-mute-fill,volume-up-line,volume-up-fill,notification-line,notification-fill,notification-off-line,notification-off-fill,play-circle-line,play-circle-fill,pause-circle-line,pause-circle-fill,stop-circle-line,stop-circle-fill,equalizer-line,equalizer-fill,menu-line,menu-fill,apps-line,apps-fill,more-line,more-fill,more-2-line,more-2-fill,star-line,star-fill,settings-2-line,settings-2-fill,forbid-line,forbid-fill,information-line,information-fill,checkbox-blank-circle-line,checkbox-blank-circle-fill,checkbox-line,checkbox-fill,checkbox-indeterminate-line,checkbox-indeterminate-fill,add-box-line,add-box-fill,checkbox-circle-line,checkbox-circle-fill,indeterminate-circle-line,indeterminate-circle-fill,add-circle-fill,add-circle-line,close-circle-line,close-circle-fill,radio-button-line,radio-button-fill,check-line,check-double-line,close-line,add-line,checkbox-multiple-line,checkbox-multiple-fill,subtract-line,equal-line,upload-line,download-line,download-cloud-line,upload-cloud-line,login-box-line,logout-circle-line,logout-circle-r-line,shield-line,shield-fill,shield-cross-line,shield-cross-fill,shield-check-line,shield-check-fill,shield-user-fill,shield-user-line,delete-bin-2-line,delete-bin-2-fill,delete-bin-fill,delete-bin-line,delete-back-2-line,delete-back-2-fill,lock-password-line,lock-password-fill,lock-2-line,lock-2-fill,lock-unlock-line,lock-unlock-fill,eye-off-line,eye-line,eye-fill,eye-close-line,eye-close-fill,eye-off-fill,search-2-line,search-2-fill,zoom-out-line,zoom-in-line,zoom-in-fill,zoom-out-fill,share-line,share-fill,share-circle-line,share-circle-fill,alarm-line,alarm-fill,thumb-up-line,thumb-up-fill,thumb-down-line,thumb-down-fill,alarm-warning-line,alarm-warning-fill,filter-2-line,filter-2-fill,loader-line,loader-fill,loop-right-line,loop-right-fill,loader-4-line,loader-4-fill,reset-right-line,user-line,user-fill,account-box-line,account-box-fill,user-add-line,user-add-fill,user-minus-fill,user-follow-fill,user-follow-line,user-minus-line,user-unfollow-line,user-unfollow-fill,user-shared-fill,user-shared-line,account-pin-circle-line,account-pin-circle-fill,group-line,group-fill,emotion-happy-line,emotion-happy-fill,emotion-normal-fill,emotion-normal-line,emotion-unhappy-line,emotion-unhappy-fill,emotion-sad-line,emotion-sad-fill,women-line,men-line,star-smile-line,star-smile-fill,sun-line,sun-fill,moon-fill,moon-line,lightbulb-line,key-2-line,key-line,outlet-line,lightbulb-flash-line,t-shirt-line,t-shirt-fill,seedling-fill,seedling-line,leaf-line,leaf-fill,character-recognition-line,character-recognition-fill,recycle-line,recycle-fill,door-line,door-fill,graduation-cap-line,graduation-cap-fill,sofa-line,sofa-fill,error-warning-line,error-warning-fill,question-line,question-fill,spam-3-line,spam-3-fill,prohibited-line,prohibited-fill,information-off-line,information-off-fill,star-half-line,star-half-fill,settings-line,settings-fill,checkbox-multiple-blank-line,alert-line,alert-fill
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/css/remixicon.css b/src/uni_modules/tm-ui/css/remixicon.css
new file mode 100644
index 0000000..c16b7ba
--- /dev/null
+++ b/src/uni_modules/tm-ui/css/remixicon.css
@@ -0,0 +1,616 @@
+/*
+* https://remixicon.com
+* https://github.com/Remix-Design/RemixIcon
+* Copyright RemixIcon.com
+* Released under the Apache License Version 2.0
+*/
+@font-face {
+ font-family: "remixicon";
+ src: url("data:application/font-woff2;base64,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") format("woff2");
+ font-display: swap;
+}
+
+.ri-arrow-right-line:before { content: "\ea6c"; }
+.ri-arrow-down-line:before { content: "\ea4c"; }
+.ri-arrow-left-line:before { content: "\ea60"; }
+.ri-arrow-up-line:before { content: "\ea76"; }
+.ri-arrow-up-s-line:before { content: "\ea78"; }
+.ri-arrow-right-s-line:before { content: "\ea6e"; }
+.ri-arrow-down-s-line:before { content: "\ea4e"; }
+.ri-arrow-left-s-line:before { content: "\ea64"; }
+.ri-arrow-up-s-fill:before { content: "\ea77"; }
+.ri-arrow-right-s-fill:before { content: "\ea6d"; }
+.ri-arrow-down-s-fill:before { content: "\ea4d"; }
+.ri-arrow-left-s-fill:before { content: "\ea63"; }
+.ri-skip-up-line:before { content: "\f367"; }
+.ri-skip-right-line:before { content: "\f365"; }
+.ri-skip-down-line:before { content: "\f361"; }
+.ri-skip-left-line:before { content: "\f363"; }
+.ri-skip-up-fill:before { content: "\f366"; }
+.ri-skip-right-fill:before { content: "\f364"; }
+.ri-skip-down-fill:before { content: "\f360"; }
+.ri-skip-left-fill:before { content: "\f362"; }
+.ri-arrow-up-down-line:before { content: "\ea74"; }
+.ri-arrow-left-right-line:before { content: "\ea62"; }
+.ri-arrow-up-wide-line:before { content: "\f498"; }
+.ri-arrow-down-wide-line:before { content: "\f492"; }
+.ri-corner-up-left-double-line:before { content: "\f313"; }
+.ri-corner-up-right-double-line:before { content: "\f317"; }
+.ri-arrow-left-double-line:before { content: "\f2e3"; }
+.ri-arrow-right-double-fill:before { content: "\f2e4"; }
+.ri-expand-up-down-line:before { content: "\f327"; }
+.ri-expand-up-down-fill:before { content: "\f326"; }
+.ri-expand-left-right-line:before { content: "\f323"; }
+.ri-expand-left-right-fill:before { content: "\f322"; }
+.ri-arrow-go-forward-line:before { content: "\ea5a"; }
+.ri-arrow-turn-back-line:before { content: "\f2e7"; }
+.ri-arrow-turn-forward-line:before { content: "\f2e9"; }
+.ri-arrow-go-back-line:before { content: "\ea58"; }
+.ri-home-line:before { content: "\ee2b"; }
+.ri-home-fill:before { content: "\ee26"; }
+.ri-home-4-line:before { content: "\ee1d"; }
+.ri-home-4-fill:before { content: "\ee1c"; }
+.ri-home-smile-2-line:before { content: "\ee2d"; }
+.ri-home-smile-2-fill:before { content: "\ee2c"; }
+.ri-building-2-line:before { content: "\eb09"; }
+.ri-building-2-fill:before { content: "\eb08"; }
+.ri-ancient-gate-line:before { content: "\ea32"; }
+.ri-ancient-gate-fill:before { content: "\ea31"; }
+.ri-store-2-line:before { content: "\f1a5"; }
+.ri-store-2-fill:before { content: "\f1a4"; }
+.ri-mail-unread-line:before { content: "\ef02"; }
+.ri-mail-check-line:before { content: "\eeee"; }
+.ri-mail-send-line:before { content: "\eefc"; }
+.ri-mail-open-line:before { content: "\eefa"; }
+.ri-mail-open-fill:before { content: "\eef9"; }
+.ri-mail-send-fill:before { content: "\eefb"; }
+.ri-mail-unread-fill:before { content: "\ef01"; }
+.ri-mail-check-fill:before { content: "\eeed"; }
+.ri-mail-add-line:before { content: "\eeec"; }
+.ri-mail-add-fill:before { content: "\eeeb"; }
+.ri-mail-close-line:before { content: "\eef0"; }
+.ri-mail-close-fill:before { content: "\eeef"; }
+.ri-inbox-archive-line:before { content: "\ee4d"; }
+.ri-inbox-archive-fill:before { content: "\ee4c"; }
+.ri-cloud-off-line:before { content: "\eb9f"; }
+.ri-cloud-off-fill:before { content: "\eb9e"; }
+.ri-cloud-fill:before { content: "\eb9c"; }
+.ri-cloud-line:before { content: "\eb9d"; }
+.ri-inbox-unarchive-line:before { content: "\ee51"; }
+.ri-inbox-unarchive-fill:before { content: "\ee50"; }
+.ri-attachment-line:before { content: "\ea86"; }
+.ri-attachment-fill:before { content: "\ea85"; }
+.ri-profile-line:before { content: "\f02d"; }
+.ri-profile-fill:before { content: "\f02c"; }
+.ri-archive-2-line:before { content: "\f3a7"; }
+.ri-archive-2-fill:before { content: "\f3a6"; }
+.ri-at-line:before { content: "\ea83"; }
+.ri-award-fill:before { content: "\ea89"; }
+.ri-medal-fill:before { content: "\ef27"; }
+.ri-medal-2-fill:before { content: "\ef25"; }
+.ri-verified-badge-fill:before { content: "\f3e8"; }
+.ri-verified-badge-line:before { content: "\f3e9"; }
+.ri-archive-stack-line:before { content: "\f428"; }
+.ri-archive-stack-fill:before { content: "\f427"; }
+.ri-bar-chart-grouped-line:before { content: "\ea9b"; }
+.ri-bar-chart-grouped-fill:before { content: "\ea9a"; }
+.ri-bar-chart-2-line:before { content: "\ea96"; }
+.ri-bar-chart-2-fill:before { content: "\ea95"; }
+.ri-bar-chart-line:before { content: "\ea9e"; }
+.ri-bar-chart-fill:before { content: "\ea99"; }
+.ri-bookmark-line:before { content: "\eae5"; }
+.ri-bookmark-fill:before { content: "\eae4"; }
+.ri-calendar-check-line:before { content: "\eb23"; }
+.ri-calendar-close-line:before { content: "\f38e"; }
+.ri-calendar-event-line:before { content: "\eb25"; }
+.ri-calendar-2-line:before { content: "\eb21"; }
+.ri-flag-2-line:before { content: "\ed39"; }
+.ri-triangular-flag-line:before { content: "\f54a"; }
+.ri-triangular-flag-fill:before { content: "\f549"; }
+.ri-flag-2-fill:before { content: "\ed38"; }
+.ri-global-line:before { content: "\edcf"; }
+.ri-global-fill:before { content: "\edce"; }
+.ri-honour-line:before { content: "\ee35"; }
+.ri-honour-fill:before { content: "\ee34"; }
+.ri-customer-service-line:before { content: "\ec0e"; }
+.ri-customer-service-fill:before { content: "\ec0d"; }
+.ri-calendar-schedule-line:before { content: "\f3f3"; }
+.ri-calendar-schedule-fill:before { content: "\f3f2"; }
+.ri-links-line:before { content: "\eeb8"; }
+.ri-printer-line:before { content: "\f029"; }
+.ri-printer-fill:before { content: "\f028"; }
+.ri-reply-line:before { content: "\f07a"; }
+.ri-reply-fill:before { content: "\f079"; }
+.ri-send-plane-line:before { content: "\f0da"; }
+.ri-send-plane-fill:before { content: "\f0d9"; }
+.ri-stack-line:before { content: "\f181"; }
+.ri-stack-fill:before { content: "\f180"; }
+.ri-shake-hands-line:before { content: "\f3ab"; }
+.ri-shake-hands-fill:before { content: "\f3aa"; }
+.ri-copyright-line:before { content: "\ebe2"; }
+.ri-copyright-fill:before { content: "\ebe1"; }
+.ri-megaphone-line:before { content: "\f385"; }
+.ri-megaphone-fill:before { content: "\f384"; }
+.ri-pass-valid-line:before { content: "\f38b"; }
+.ri-pass-valid-fill:before { content: "\f38a"; }
+.ri-pass-pending-line:before { content: "\f389"; }
+.ri-pass-pending-fill:before { content: "\f388"; }
+.ri-pass-expired-line:before { content: "\f387"; }
+.ri-pass-expired-fill:before { content: "\f386"; }
+.ri-id-card-line:before { content: "\f4e9"; }
+.ri-id-card-fill:before { content: "\f4e8"; }
+.ri-chat-3-line:before { content: "\eb51"; }
+.ri-chat-3-fill:before { content: "\eb50"; }
+.ri-chat-2-line:before { content: "\eb4f"; }
+.ri-chat-2-fill:before { content: "\eb4e"; }
+.ri-message-3-line:before { content: "\ef46"; }
+.ri-message-3-fill:before { content: "\ef45"; }
+.ri-message-2-line:before { content: "\ef44"; }
+.ri-message-2-fill:before { content: "\ef43"; }
+.ri-chat-unread-line:before { content: "\f52a"; }
+.ri-chat-unread-fill:before { content: "\f529"; }
+.ri-chat-smile-2-line:before { content: "\eb6f"; }
+.ri-chat-smile-2-fill:before { content: "\eb6e"; }
+.ri-chat-smile-line:before { content: "\eb73"; }
+.ri-chat-smile-fill:before { content: "\eb72"; }
+.ri-discuss-fill:before { content: "\ec39"; }
+.ri-discuss-line:before { content: "\ec3a"; }
+.ri-chat-history-line:before { content: "\eb61"; }
+.ri-chat-history-fill:before { content: "\eb60"; }
+.ri-video-chat-line:before { content: "\f27e"; }
+.ri-video-chat-fill:before { content: "\f27d"; }
+.ri-chat-voice-fill:before { content: "\eb76"; }
+.ri-chat-voice-line:before { content: "\eb77"; }
+.ri-speak-fill:before { content: "\f36e"; }
+.ri-speak-line:before { content: "\f36f"; }
+.ri-edit-2-line:before { content: "\ec80"; }
+.ri-edit-2-fill:before { content: "\ec7f"; }
+.ri-quill-pen-line:before { content: "\f04a"; }
+.ri-quill-pen-fill:before { content: "\f049"; }
+.ri-sip-line:before { content: "\f13e"; }
+.ri-sip-fill:before { content: "\f13d"; }
+.ri-markup-line:before { content: "\ef20"; }
+.ri-markup-fill:before { content: "\ef1f"; }
+.ri-edit-box-line:before { content: "\ec82"; }
+.ri-edit-box-fill:before { content: "\ec81"; }
+.ri-brush-line:before { content: "\eb01"; }
+.ri-brush-fill:before { content: "\eb00"; }
+.ri-brush-2-fill:before { content: "\eafa"; }
+.ri-brush-2-line:before { content: "\eafb"; }
+.ri-paint-brush-line:before { content: "\efc1"; }
+.ri-paint-brush-fill:before { content: "\efc0"; }
+.ri-drop-line:before { content: "\ec6a"; }
+.ri-drop-fill:before { content: "\ec69"; }
+.ri-blur-off-line:before { content: "\eace"; }
+.ri-blur-off-fill:before { content: "\eacd"; }
+.ri-color-filter-line:before { content: "\f42f"; }
+.ri-color-filter-fill:before { content: "\f42e"; }
+.ri-crop-line:before { content: "\ec02"; }
+.ri-artboard-2-line:before { content: "\ea7a"; }
+.ri-paint-line:before { content: "\efc3"; }
+.ri-paint-fill:before { content: "\efc2"; }
+.ri-palette-line:before { content: "\efc5"; }
+.ri-palette-fill:before { content: "\efc4"; }
+.ri-pantone-line:before { content: "\efc7"; }
+.ri-pantone-fill:before { content: "\efc6"; }
+.ri-magic-line:before { content: "\eeea"; }
+.ri-magic-fill:before { content: "\eee9"; }
+.ri-anticlockwise-line:before { content: "\ea3c"; }
+.ri-anticlockwise-fill:before { content: "\ea3b"; }
+.ri-tools-line:before { content: "\f21b"; }
+.ri-tools-fill:before { content: "\f21a"; }
+.ri-clockwise-line:before { content: "\eb95"; }
+.ri-clockwise-fill:before { content: "\eb94"; }
+.ri-drag-drop-line:before { content: "\ec5e"; }
+.ri-drag-drop-fill:before { content: "\ec5d"; }
+.ri-hammer-fill:before { content: "\edee"; }
+.ri-hammer-line:before { content: "\edef"; }
+.ri-circle-line:before { content: "\f3c2"; }
+.ri-circle-fill:before { content: "\f3c1"; }
+.ri-code-line:before { content: "\eba9"; }
+.ri-code-fill:before { content: "\eba8"; }
+.ri-terminal-line:before { content: "\f1f8"; }
+.ri-terminal-fill:before { content: "\f1f7"; }
+.ri-cursor-line:before { content: "\ec0a"; }
+.ri-cursor-fill:before { content: "\ec09"; }
+.ri-smartphone-line:before { content: "\f15a"; }
+.ri-computer-line:before { content: "\ebca"; }
+.ri-mac-line:before { content: "\eee6"; }
+.ri-macbook-line:before { content: "\eee8"; }
+.ri-phone-line:before { content: "\efec"; }
+.ri-phone-fill:before { content: "\efe9"; }
+.ri-device-line:before { content: "\ec2e"; }
+.ri-tablet-line:before { content: "\f1e0"; }
+.ri-database-2-line:before { content: "\ec16"; }
+.ri-database-2-fill:before { content: "\ec15"; }
+.ri-server-line:before { content: "\f0e0"; }
+.ri-server-fill:before { content: "\f0df"; }
+.ri-hard-drive-fill:before { content: "\edfa"; }
+.ri-hard-drive-line:before { content: "\edfb"; }
+.ri-qr-scan-2-line:before { content: "\f03f"; }
+.ri-qr-scan-line:before { content: "\f041"; }
+.ri-qr-code-line:before { content: "\f03d"; }
+.ri-barcode-line:before { content: "\eaa2"; }
+.ri-shut-down-line:before { content: "\f126"; }
+.ri-fingerprint-line:before { content: "\ed31"; }
+.ri-bluetooth-line:before { content: "\eacc"; }
+.ri-wifi-line:before { content: "\f2c0"; }
+.ri-wifi-off-line:before { content: "\f2c2"; }
+.ri-rss-line:before { content: "\f09f"; }
+.ri-rss-fill:before { content: "\f09e"; }
+.ri-gps-line:before { content: "\eddb"; }
+.ri-gps-fill:before { content: "\edda"; }
+.ri-dashboard-3-line:before { content: "\ec12"; }
+.ri-dashboard-3-fill:before { content: "\ec11"; }
+.ri-file-2-line:before { content: "\ecc3"; }
+.ri-file-2-fill:before { content: "\ecc2"; }
+.ri-sticky-note-add-line:before { content: "\f466"; }
+.ri-sticky-note-add-fill:before { content: "\f465"; }
+.ri-file-list-line:before { content: "\ecf1"; }
+.ri-file-list-fill:before { content: "\ecf0"; }
+.ri-file-text-line:before { content: "\ed0f"; }
+.ri-file-text-fill:before { content: "\ed0e"; }
+.ri-file-list-3-line:before { content: "\ecef"; }
+.ri-file-list-3-fill:before { content: "\ecee"; }
+.ri-file-copy-line:before { content: "\ecd5"; }
+.ri-file-copy-fill:before { content: "\ecd4"; }
+.ri-clipboard-line:before { content: "\eb91"; }
+.ri-clipboard-fill:before { content: "\eb90"; }
+.ri-survey-line:before { content: "\f1c7"; }
+.ri-survey-fill:before { content: "\f1c6"; }
+.ri-article-line:before { content: "\ea7e"; }
+.ri-article-fill:before { content: "\ea7d"; }
+.ri-book-marked-line:before { content: "\ead9"; }
+.ri-book-marked-fill:before { content: "\ead8"; }
+.ri-todo-line:before { content: "\f217"; }
+.ri-todo-fill:before { content: "\f216"; }
+.ri-file-marked-line:before { content: "\ecf5"; }
+.ri-file-marked-fill:before { content: "\ecf4"; }
+.ri-book-3-line:before { content: "\ead5"; }
+.ri-book-3-fill:before { content: "\ead4"; }
+.ri-book-open-line:before { content: "\eadb"; }
+.ri-book-open-fill:before { content: "\eada"; }
+.ri-folder-add-line:before { content: "\ed5a"; }
+.ri-folder-add-fill:before { content: "\ed59"; }
+.ri-folder-check-line:before { content: "\f43e"; }
+.ri-folder-check-fill:before { content: "\f43d"; }
+.ri-folder-open-line:before { content: "\ed70"; }
+.ri-folder-open-fill:before { content: "\ed6f"; }
+.ri-folder-line:before { content: "\ed6a"; }
+.ri-folder-fill:before { content: "\ed61"; }
+.ri-align-center:before { content: "\ea25"; }
+.ri-list-check:before { content: "\eeba"; }
+.ri-indent-decrease:before { content: "\ee54"; }
+.ri-indent-increase:before { content: "\ee55"; }
+.ri-list-indefinite:before { content: "\f399"; }
+.ri-attachment-2:before { content: "\ea84"; }
+.ri-link:before { content: "\eeb2"; }
+.ri-hashtag:before { content: "\edfc"; }
+.ri-sketching:before { content: "\f35f"; }
+.ri-wallet-line:before { content: "\f2ae"; }
+.ri-wallet-fill:before { content: "\f2ad"; }
+.ri-bank-card-line:before { content: "\ea92"; }
+.ri-bank-card-fill:before { content: "\ea91"; }
+.ri-price-tag-3-line:before { content: "\f023"; }
+.ri-price-tag-3-fill:before { content: "\f022"; }
+.ri-coupon-line:before { content: "\ebee"; }
+.ri-coupon-fill:before { content: "\ebed"; }
+.ri-price-tag-line:before { content: "\f025"; }
+.ri-price-tag-fill:before { content: "\f024"; }
+.ri-shopping-bag-line:before { content: "\f118"; }
+.ri-shopping-bag-fill:before { content: "\f117"; }
+.ri-shopping-basket-line:before { content: "\f11c"; }
+.ri-shopping-basket-fill:before { content: "\f11b"; }
+.ri-shopping-cart-line:before { content: "\f120"; }
+.ri-shopping-cart-fill:before { content: "\f11f"; }
+.ri-trophy-line:before { content: "\f22f"; }
+.ri-trophy-fill:before { content: "\f22e"; }
+.ri-vip-diamond-fill:before { content: "\f28f"; }
+.ri-vip-diamond-line:before { content: "\f290"; }
+.ri-vip-crown-2-line:before { content: "\f28c"; }
+.ri-vip-crown-2-fill:before { content: "\f28b"; }
+.ri-vip-crown-line:before { content: "\f28e"; }
+.ri-vip-crown-fill:before { content: "\f28d"; }
+.ri-vip-line:before { content: "\f292"; }
+.ri-vip-fill:before { content: "\f291"; }
+.ri-exchange-line:before { content: "\ecad"; }
+.ri-exchange-fill:before { content: "\ecaa"; }
+.ri-exchange-dollar-line:before { content: "\eca9"; }
+.ri-exchange-dollar-fill:before { content: "\eca8"; }
+.ri-money-cny-circle-line:before { content: "\ef61"; }
+.ri-money-cny-circle-fill:before { content: "\ef60"; }
+.ri-copper-coin-line:before { content: "\ebdc"; }
+.ri-copper-coin-fill:before { content: "\ebdb"; }
+.ri-exchange-cny-line:before { content: "\eca7"; }
+.ri-exchange-cny-fill:before { content: "\eca6"; }
+.ri-money-euro-circle-line:before { content: "\ef69"; }
+.ri-money-euro-circle-fill:before { content: "\ef68"; }
+.ri-red-packet-line:before { content: "\f060"; }
+.ri-red-packet-fill:before { content: "\f05f"; }
+.ri-water-flash-line:before { content: "\f2b0"; }
+.ri-water-flash-fill:before { content: "\f2af"; }
+.ri-coin-line:before { content: "\ebb2"; }
+.ri-coin-fill:before { content: "\ebb1"; }
+.ri-stock-line:before { content: "\f19d"; }
+.ri-stock-fill:before { content: "\f19c"; }
+.ri-gift-line:before { content: "\edbb"; }
+.ri-gift-fill:before { content: "\edba"; }
+.ri-24-hours-line:before { content: "\ea02"; }
+.ri-24-hours-fill:before { content: "\ea01"; }
+.ri-shopping-bag-4-line:before { content: "\f511"; }
+.ri-shopping-bag-4-fill:before { content: "\f510"; }
+.ri-bowl-line:before { content: "\f42a"; }
+.ri-bowl-fill:before { content: "\f429"; }
+.ri-heart-3-line:before { content: "\ee0b"; }
+.ri-heart-3-fill:before { content: "\ee0a"; }
+.ri-dislike-line:before { content: "\ec3c"; }
+.ri-dislike-fill:before { content: "\ec3b"; }
+.ri-heart-pulse-line:before { content: "\ee11"; }
+.ri-heart-pulse-fill:before { content: "\ee10"; }
+.ri-alipay-line:before { content: "\ea2c"; }
+.ri-android-line:before { content: "\ea36"; }
+.ri-alibaba-cloud-line:before { content: "\f4b8"; }
+.ri-app-store-line:before { content: "\ea3e"; }
+.ri-apple-line:before { content: "\ea40"; }
+.ri-baidu-line:before { content: "\ea8c"; }
+.ri-bilibili-line:before { content: "\eac0"; }
+.ri-chrome-line:before { content: "\eb8d"; }
+.ri-dingding-line:before { content: "\ec32"; }
+.ri-drive-line:before { content: "\ec66"; }
+.ri-dribbble-line:before { content: "\ec64"; }
+.ri-evernote-line:before { content: "\eca3"; }
+.ri-facebook-circle-line:before { content: "\ecbb"; }
+.ri-firebase-line:before { content: "\f4d4"; }
+.ri-flutter-line:before { content: "\ed48"; }
+.ri-github-line:before { content: "\edcb"; }
+.ri-google-line:before { content: "\edd5"; }
+.ri-google-play-line:before { content: "\edd7"; }
+.ri-instagram-line:before { content: "\ee66"; }
+.ri-invision-line:before { content: "\ee6a"; }
+.ri-meta-line:before { content: "\f343"; }
+.ri-qq-line:before { content: "\f03b"; }
+.ri-snapchat-line:before { content: "\f15c"; }
+.ri-tiktok-line:before { content: "\f373"; }
+.ri-twitter-line:before { content: "\f23b"; }
+.ri-wechat-line:before { content: "\f2b6"; }
+.ri-wechat-2-line:before { content: "\f2b4"; }
+.ri-weibo-line:before { content: "\f2ba"; }
+.ri-wechat-pay-line:before { content: "\f2b8"; }
+.ri-whatsapp-line:before { content: "\f2bc"; }
+.ri-zhihu-line:before { content: "\f2d9"; }
+.ri-youtube-line:before { content: "\f2d5"; }
+.ri-map-pin-2-line:before { content: "\ef0a"; }
+.ri-map-pin-2-fill:before { content: "\ef09"; }
+.ri-map-pin-time-line:before { content: "\ef18"; }
+.ri-map-pin-time-fill:before { content: "\ef17"; }
+.ri-pushpin-line:before { content: "\f039"; }
+.ri-pushpin-fill:before { content: "\f038"; }
+.ri-map-pin-user-line:before { content: "\ef1a"; }
+.ri-map-pin-user-fill:before { content: "\ef19"; }
+.ri-rocket-line:before { content: "\f096"; }
+.ri-rocket-fill:before { content: "\f095"; }
+.ri-planet-line:before { content: "\f39f"; }
+.ri-planet-fill:before { content: "\f39e"; }
+.ri-parking-line:before { content: "\efd0"; }
+.ri-parking-fill:before { content: "\efcf"; }
+.ri-road-map-line:before { content: "\f08e"; }
+.ri-road-map-fill:before { content: "\f08d"; }
+.ri-earth-line:before { content: "\ec7a"; }
+.ri-earth-fill:before { content: "\ec79"; }
+.ri-car-line:before { content: "\eb39"; }
+.ri-car-fill:before { content: "\eb38"; }
+.ri-plane-line:before { content: "\f005"; }
+.ri-image-line:before { content: "\ee4b"; }
+.ri-image-fill:before { content: "\ee4a"; }
+.ri-image-circle-line:before { content: "\f413"; }
+.ri-image-circle-fill:before { content: "\f412"; }
+.ri-landscape-line:before { content: "\ee7d"; }
+.ri-landscape-fill:before { content: "\ee7c"; }
+.ri-video-on-line:before { content: "\f51e"; }
+.ri-video-on-fill:before { content: "\f51d"; }
+.ri-video-line:before { content: "\f282"; }
+.ri-video-fill:before { content: "\f281"; }
+.ri-live-line:before { content: "\eec0"; }
+.ri-live-fill:before { content: "\eebf"; }
+.ri-camera-line:before { content: "\eb31"; }
+.ri-camera-fill:before { content: "\eb2e"; }
+.ri-camera-off-line:before { content: "\eb33"; }
+.ri-camera-off-fill:before { content: "\eb32"; }
+.ri-headphone-line:before { content: "\ee05"; }
+.ri-headphone-fill:before { content: "\ee04"; }
+.ri-mic-off-line:before { content: "\ef52"; }
+.ri-mic-off-fill:before { content: "\ef51"; }
+.ri-mic-2-fill:before { content: "\ef4d"; }
+.ri-mic-2-line:before { content: "\ef4e"; }
+.ri-volume-down-line:before { content: "\f29c"; }
+.ri-volume-down-fill:before { content: "\f29b"; }
+.ri-volume-mute-line:before { content: "\f29e"; }
+.ri-volume-mute-fill:before { content: "\f29d"; }
+.ri-volume-up-line:before { content: "\f2a2"; }
+.ri-volume-up-fill:before { content: "\f2a1"; }
+.ri-notification-line:before { content: "\ef9a"; }
+.ri-notification-fill:before { content: "\ef99"; }
+.ri-notification-off-line:before { content: "\ef9c"; }
+.ri-notification-off-fill:before { content: "\ef9b"; }
+.ri-play-circle-line:before { content: "\f009"; }
+.ri-play-circle-fill:before { content: "\f008"; }
+.ri-pause-circle-line:before { content: "\efd6"; }
+.ri-pause-circle-fill:before { content: "\efd5"; }
+.ri-stop-circle-line:before { content: "\f19f"; }
+.ri-stop-circle-fill:before { content: "\f19e"; }
+.ri-equalizer-line:before { content: "\ec9d"; }
+.ri-equalizer-fill:before { content: "\ec9c"; }
+.ri-menu-line:before { content: "\ef3e"; }
+.ri-menu-fill:before { content: "\ef3b"; }
+.ri-apps-line:before { content: "\ea44"; }
+.ri-apps-fill:before { content: "\ea43"; }
+.ri-more-line:before { content: "\ef79"; }
+.ri-more-fill:before { content: "\ef78"; }
+.ri-more-2-line:before { content: "\ef77"; }
+.ri-more-2-fill:before { content: "\ef76"; }
+.ri-star-line:before { content: "\f18b"; }
+.ri-star-fill:before { content: "\f186"; }
+.ri-settings-2-line:before { content: "\f0e4"; }
+.ri-settings-2-fill:before { content: "\f0e3"; }
+.ri-forbid-line:before { content: "\ed95"; }
+.ri-forbid-fill:before { content: "\ed94"; }
+.ri-information-line:before { content: "\ee59"; }
+.ri-information-fill:before { content: "\ee58"; }
+.ri-checkbox-blank-circle-line:before { content: "\eb7d"; }
+.ri-checkbox-blank-circle-fill:before { content: "\eb7c"; }
+.ri-checkbox-line:before { content: "\eb85"; }
+.ri-checkbox-fill:before { content: "\eb82"; }
+.ri-checkbox-indeterminate-line:before { content: "\eb84"; }
+.ri-checkbox-indeterminate-fill:before { content: "\eb83"; }
+.ri-add-box-line:before { content: "\ea0f"; }
+.ri-add-box-fill:before { content: "\ea0e"; }
+.ri-checkbox-circle-line:before { content: "\eb81"; }
+.ri-checkbox-circle-fill:before { content: "\eb80"; }
+.ri-indeterminate-circle-line:before { content: "\ee57"; }
+.ri-indeterminate-circle-fill:before { content: "\ee56"; }
+.ri-add-circle-fill:before { content: "\ea10"; }
+.ri-add-circle-line:before { content: "\ea11"; }
+.ri-close-circle-line:before { content: "\eb97"; }
+.ri-close-circle-fill:before { content: "\eb96"; }
+.ri-radio-button-line:before { content: "\f050"; }
+.ri-radio-button-fill:before { content: "\f04f"; }
+.ri-check-line:before { content: "\eb7b"; }
+.ri-check-double-line:before { content: "\eb79"; }
+.ri-close-line:before { content: "\eb99"; }
+.ri-add-line:before { content: "\ea13"; }
+.ri-checkbox-multiple-line:before { content: "\eb89"; }
+.ri-checkbox-multiple-fill:before { content: "\eb88"; }
+.ri-subtract-line:before { content: "\f1af"; }
+.ri-equal-line:before { content: "\f31f"; }
+.ri-upload-line:before { content: "\f250"; }
+.ri-download-line:before { content: "\ec5a"; }
+.ri-download-cloud-line:before { content: "\ec58"; }
+.ri-upload-cloud-line:before { content: "\f24e"; }
+.ri-login-box-line:before { content: "\eed4"; }
+.ri-logout-circle-line:before { content: "\eedc"; }
+.ri-logout-circle-r-line:before { content: "\eede"; }
+.ri-shield-line:before { content: "\f108"; }
+.ri-shield-fill:before { content: "\f103"; }
+.ri-shield-cross-line:before { content: "\f102"; }
+.ri-shield-cross-fill:before { content: "\f101"; }
+.ri-shield-check-line:before { content: "\f100"; }
+.ri-shield-check-fill:before { content: "\f0ff"; }
+.ri-shield-user-fill:before { content: "\f10b"; }
+.ri-shield-user-line:before { content: "\f10c"; }
+.ri-delete-bin-2-line:before { content: "\ec1e"; }
+.ri-delete-bin-2-fill:before { content: "\ec1d"; }
+.ri-delete-bin-fill:before { content: "\ec29"; }
+.ri-delete-bin-line:before { content: "\ec2a"; }
+.ri-delete-back-2-line:before { content: "\ec1a"; }
+.ri-delete-back-2-fill:before { content: "\ec19"; }
+.ri-lock-password-line:before { content: "\eed0"; }
+.ri-lock-password-fill:before { content: "\eecf"; }
+.ri-lock-2-line:before { content: "\eecc"; }
+.ri-lock-2-fill:before { content: "\eecb"; }
+.ri-lock-unlock-line:before { content: "\eed2"; }
+.ri-lock-unlock-fill:before { content: "\eed1"; }
+.ri-eye-off-line:before { content: "\ecb7"; }
+.ri-eye-line:before { content: "\ecb5"; }
+.ri-eye-fill:before { content: "\ecb4"; }
+.ri-eye-close-line:before { content: "\ecb3"; }
+.ri-eye-close-fill:before { content: "\ecb2"; }
+.ri-eye-off-fill:before { content: "\ecb6"; }
+.ri-search-2-line:before { content: "\f0cd"; }
+.ri-search-2-fill:before { content: "\f0cc"; }
+.ri-zoom-out-line:before { content: "\f2dd"; }
+.ri-zoom-in-line:before { content: "\f2db"; }
+.ri-zoom-in-fill:before { content: "\f2da"; }
+.ri-zoom-out-fill:before { content: "\f2dc"; }
+.ri-share-line:before { content: "\f0fe"; }
+.ri-share-fill:before { content: "\f0f7"; }
+.ri-share-circle-line:before { content: "\f0f6"; }
+.ri-share-circle-fill:before { content: "\f0f5"; }
+.ri-alarm-line:before { content: "\ea1b"; }
+.ri-alarm-fill:before { content: "\ea1a"; }
+.ri-thumb-up-line:before { content: "\f207"; }
+.ri-thumb-up-fill:before { content: "\f206"; }
+.ri-thumb-down-line:before { content: "\f205"; }
+.ri-thumb-down-fill:before { content: "\f204"; }
+.ri-alarm-warning-line:before { content: "\ea1d"; }
+.ri-alarm-warning-fill:before { content: "\ea1c"; }
+.ri-filter-2-line:before { content: "\ed23"; }
+.ri-filter-2-fill:before { content: "\ed22"; }
+.ri-loader-line:before { content: "\eeca"; }
+.ri-loader-fill:before { content: "\eec9"; }
+.ri-loop-right-line:before { content: "\f33f"; }
+.ri-loop-right-fill:before { content: "\f33e"; }
+.ri-loader-4-line:before { content: "\eec6"; }
+.ri-loader-4-fill:before { content: "\eec5"; }
+.ri-reset-right-line:before { content: "\f544"; }
+.ri-user-line:before { content: "\f264"; }
+.ri-user-fill:before { content: "\f25f"; }
+.ri-account-box-line:before { content: "\ea07"; }
+.ri-account-box-fill:before { content: "\ea06"; }
+.ri-user-add-line:before { content: "\f25e"; }
+.ri-user-add-fill:before { content: "\f25d"; }
+.ri-user-minus-fill:before { content: "\f54b"; }
+.ri-user-follow-fill:before { content: "\f260"; }
+.ri-user-follow-line:before { content: "\f261"; }
+.ri-user-minus-line:before { content: "\f54c"; }
+.ri-user-unfollow-line:before { content: "\f278"; }
+.ri-user-unfollow-fill:before { content: "\f277"; }
+.ri-user-shared-fill:before { content: "\f271"; }
+.ri-user-shared-line:before { content: "\f272"; }
+.ri-account-pin-circle-line:before { content: "\ea0d"; }
+.ri-account-pin-circle-fill:before { content: "\ea0c"; }
+.ri-group-line:before { content: "\ede3"; }
+.ri-group-fill:before { content: "\ede2"; }
+.ri-emotion-happy-line:before { content: "\ec8d"; }
+.ri-emotion-happy-fill:before { content: "\ec8c"; }
+.ri-emotion-normal-fill:before { content: "\ec91"; }
+.ri-emotion-normal-line:before { content: "\ec92"; }
+.ri-emotion-unhappy-line:before { content: "\ec96"; }
+.ri-emotion-unhappy-fill:before { content: "\ec95"; }
+.ri-emotion-sad-line:before { content: "\ec94"; }
+.ri-emotion-sad-fill:before { content: "\ec93"; }
+.ri-women-line:before { content: "\f2ce"; }
+.ri-men-line:before { content: "\ef2e"; }
+.ri-star-smile-line:before { content: "\f18f"; }
+.ri-star-smile-fill:before { content: "\f18e"; }
+.ri-sun-line:before { content: "\f1bf"; }
+.ri-sun-fill:before { content: "\f1bc"; }
+.ri-moon-fill:before { content: "\ef72"; }
+.ri-moon-line:before { content: "\ef75"; }
+.ri-lightbulb-line:before { content: "\eea9"; }
+.ri-key-2-line:before { content: "\ee6f"; }
+.ri-key-line:before { content: "\ee71"; }
+.ri-outlet-line:before { content: "\efbc"; }
+.ri-lightbulb-flash-line:before { content: "\eea8"; }
+.ri-t-shirt-line:before { content: "\f1d9"; }
+.ri-t-shirt-fill:before { content: "\f1d8"; }
+.ri-seedling-fill:before { content: "\f0d4"; }
+.ri-seedling-line:before { content: "\f0d5"; }
+.ri-leaf-line:before { content: "\eea3"; }
+.ri-leaf-fill:before { content: "\eea2"; }
+.ri-character-recognition-line:before { content: "\eb47"; }
+.ri-character-recognition-fill:before { content: "\eb46"; }
+.ri-recycle-line:before { content: "\f05e"; }
+.ri-recycle-fill:before { content: "\f05d"; }
+.ri-door-line:before { content: "\ec46"; }
+.ri-door-fill:before { content: "\ec45"; }
+.ri-graduation-cap-line:before { content: "\f333"; }
+.ri-graduation-cap-fill:before { content: "\f332"; }
+.ri-sofa-line:before { content: "\f41e"; }
+.ri-sofa-fill:before { content: "\f41d"; }
+.ri-error-warning-line:before { content: "\eca1"; }
+.ri-error-warning-fill:before { content: "\eca0"; }
+.ri-question-line:before { content: "\f045"; }
+.ri-question-fill:before { content: "\f044"; }
+.ri-spam-3-line:before { content: "\f16b"; }
+.ri-spam-3-fill:before { content: "\f16a"; }
+.ri-prohibited-line:before { content: "\f3a1"; }
+.ri-prohibited-fill:before { content: "\f3a0"; }
+.ri-information-off-line:before { content: "\f4eb"; }
+.ri-information-off-fill:before { content: "\f4ea"; }
+.ri-star-half-line:before { content: "\f188"; }
+.ri-star-half-fill:before { content: "\f187"; }
+.ri-settings-line:before { content: "\f0ee"; }
+.ri-settings-fill:before { content: "\f0ed"; }
+.ri-checkbox-multiple-blank-line:before { content: "\eb87"; }
+.ri-alert-line:before { content: "\ea21"; }
+.ri-alert-fill:before { content: "\ea20"; }
diff --git a/src/uni_modules/tm-ui/css/remixicon.min.css b/src/uni_modules/tm-ui/css/remixicon.min.css
new file mode 100644
index 0000000..3c02eba
--- /dev/null
+++ b/src/uni_modules/tm-ui/css/remixicon.min.css
@@ -0,0 +1 @@
+@font-face{font-family:remixicon;src:url(data:application/font-woff2;base64,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) format("woff2");font-display:swap}.ri-arrow-right-line:before{content:"\ea6c"}.ri-arrow-down-line:before{content:"\ea4c"}.ri-arrow-left-line:before{content:"\ea60"}.ri-arrow-up-line:before{content:"\ea76"}.ri-arrow-up-s-line:before{content:"\ea78"}.ri-arrow-right-s-line:before{content:"\ea6e"}.ri-arrow-down-s-line:before{content:"\ea4e"}.ri-arrow-left-s-line:before{content:"\ea64"}.ri-arrow-up-s-fill:before{content:"\ea77"}.ri-arrow-right-s-fill:before{content:"\ea6d"}.ri-arrow-down-s-fill:before{content:"\ea4d"}.ri-arrow-left-s-fill:before{content:"\ea63"}.ri-skip-up-line:before{content:"\f367"}.ri-skip-right-line:before{content:"\f365"}.ri-skip-down-line:before{content:"\f361"}.ri-skip-left-line:before{content:"\f363"}.ri-skip-up-fill:before{content:"\f366"}.ri-skip-right-fill:before{content:"\f364"}.ri-skip-down-fill:before{content:"\f360"}.ri-skip-left-fill:before{content:"\f362"}.ri-arrow-up-down-line:before{content:"\ea74"}.ri-arrow-left-right-line:before{content:"\ea62"}.ri-arrow-up-wide-line:before{content:"\f498"}.ri-arrow-down-wide-line:before{content:"\f492"}.ri-corner-up-left-double-line:before{content:"\f313"}.ri-corner-up-right-double-line:before{content:"\f317"}.ri-arrow-left-double-line:before{content:"\f2e3"}.ri-arrow-right-double-fill:before{content:"\f2e4"}.ri-expand-up-down-line:before{content:"\f327"}.ri-expand-up-down-fill:before{content:"\f326"}.ri-expand-left-right-line:before{content:"\f323"}.ri-expand-left-right-fill:before{content:"\f322"}.ri-arrow-go-forward-line:before{content:"\ea5a"}.ri-arrow-turn-back-line:before{content:"\f2e7"}.ri-arrow-turn-forward-line:before{content:"\f2e9"}.ri-arrow-go-back-line:before{content:"\ea58"}.ri-home-line:before{content:"\ee2b"}.ri-home-fill:before{content:"\ee26"}.ri-home-4-line:before{content:"\ee1d"}.ri-home-4-fill:before{content:"\ee1c"}.ri-home-smile-2-line:before{content:"\ee2d"}.ri-home-smile-2-fill:before{content:"\ee2c"}.ri-building-2-line:before{content:"\eb09"}.ri-building-2-fill:before{content:"\eb08"}.ri-ancient-gate-line:before{content:"\ea32"}.ri-ancient-gate-fill:before{content:"\ea31"}.ri-store-2-line:before{content:"\f1a5"}.ri-store-2-fill:before{content:"\f1a4"}.ri-mail-unread-line:before{content:"\ef02"}.ri-mail-check-line:before{content:"\eeee"}.ri-mail-send-line:before{content:"\eefc"}.ri-mail-open-line:before{content:"\eefa"}.ri-mail-open-fill:before{content:"\eef9"}.ri-mail-send-fill:before{content:"\eefb"}.ri-mail-unread-fill:before{content:"\ef01"}.ri-mail-check-fill:before{content:"\eeed"}.ri-mail-add-line:before{content:"\eeec"}.ri-mail-add-fill:before{content:"\eeeb"}.ri-mail-close-line:before{content:"\eef0"}.ri-mail-close-fill:before{content:"\eeef"}.ri-inbox-archive-line:before{content:"\ee4d"}.ri-inbox-archive-fill:before{content:"\ee4c"}.ri-cloud-off-line:before{content:"\eb9f"}.ri-cloud-off-fill:before{content:"\eb9e"}.ri-cloud-fill:before{content:"\eb9c"}.ri-cloud-line:before{content:"\eb9d"}.ri-inbox-unarchive-line:before{content:"\ee51"}.ri-inbox-unarchive-fill:before{content:"\ee50"}.ri-attachment-line:before{content:"\ea86"}.ri-attachment-fill:before{content:"\ea85"}.ri-profile-line:before{content:"\f02d"}.ri-profile-fill:before{content:"\f02c"}.ri-archive-2-line:before{content:"\f3a7"}.ri-archive-2-fill:before{content:"\f3a6"}.ri-at-line:before{content:"\ea83"}.ri-award-fill:before{content:"\ea89"}.ri-medal-fill:before{content:"\ef27"}.ri-medal-2-fill:before{content:"\ef25"}.ri-verified-badge-fill:before{content:"\f3e8"}.ri-verified-badge-line:before{content:"\f3e9"}.ri-archive-stack-line:before{content:"\f428"}.ri-archive-stack-fill:before{content:"\f427"}.ri-bar-chart-grouped-line:before{content:"\ea9b"}.ri-bar-chart-grouped-fill:before{content:"\ea9a"}.ri-bar-chart-2-line:before{content:"\ea96"}.ri-bar-chart-2-fill:before{content:"\ea95"}.ri-bar-chart-line:before{content:"\ea9e"}.ri-bar-chart-fill:before{content:"\ea99"}.ri-bookmark-line:before{content:"\eae5"}.ri-bookmark-fill:before{content:"\eae4"}.ri-calendar-check-line:before{content:"\eb23"}.ri-calendar-close-line:before{content:"\f38e"}.ri-calendar-event-line:before{content:"\eb25"}.ri-calendar-2-line:before{content:"\eb21"}.ri-flag-2-line:before{content:"\ed39"}.ri-triangular-flag-line:before{content:"\f54a"}.ri-triangular-flag-fill:before{content:"\f549"}.ri-flag-2-fill:before{content:"\ed38"}.ri-global-line:before{content:"\edcf"}.ri-global-fill:before{content:"\edce"}.ri-honour-line:before{content:"\ee35"}.ri-honour-fill:before{content:"\ee34"}.ri-customer-service-line:before{content:"\ec0e"}.ri-customer-service-fill:before{content:"\ec0d"}.ri-calendar-schedule-line:before{content:"\f3f3"}.ri-calendar-schedule-fill:before{content:"\f3f2"}.ri-links-line:before{content:"\eeb8"}.ri-printer-line:before{content:"\f029"}.ri-printer-fill:before{content:"\f028"}.ri-reply-line:before{content:"\f07a"}.ri-reply-fill:before{content:"\f079"}.ri-send-plane-line:before{content:"\f0da"}.ri-send-plane-fill:before{content:"\f0d9"}.ri-stack-line:before{content:"\f181"}.ri-stack-fill:before{content:"\f180"}.ri-shake-hands-line:before{content:"\f3ab"}.ri-shake-hands-fill:before{content:"\f3aa"}.ri-copyright-line:before{content:"\ebe2"}.ri-copyright-fill:before{content:"\ebe1"}.ri-megaphone-line:before{content:"\f385"}.ri-megaphone-fill:before{content:"\f384"}.ri-pass-valid-line:before{content:"\f38b"}.ri-pass-valid-fill:before{content:"\f38a"}.ri-pass-pending-line:before{content:"\f389"}.ri-pass-pending-fill:before{content:"\f388"}.ri-pass-expired-line:before{content:"\f387"}.ri-pass-expired-fill:before{content:"\f386"}.ri-id-card-line:before{content:"\f4e9"}.ri-id-card-fill:before{content:"\f4e8"}.ri-chat-3-line:before{content:"\eb51"}.ri-chat-3-fill:before{content:"\eb50"}.ri-chat-2-line:before{content:"\eb4f"}.ri-chat-2-fill:before{content:"\eb4e"}.ri-message-3-line:before{content:"\ef46"}.ri-message-3-fill:before{content:"\ef45"}.ri-message-2-line:before{content:"\ef44"}.ri-message-2-fill:before{content:"\ef43"}.ri-chat-unread-line:before{content:"\f52a"}.ri-chat-unread-fill:before{content:"\f529"}.ri-chat-smile-2-line:before{content:"\eb6f"}.ri-chat-smile-2-fill:before{content:"\eb6e"}.ri-chat-smile-line:before{content:"\eb73"}.ri-chat-smile-fill:before{content:"\eb72"}.ri-discuss-fill:before{content:"\ec39"}.ri-discuss-line:before{content:"\ec3a"}.ri-chat-history-line:before{content:"\eb61"}.ri-chat-history-fill:before{content:"\eb60"}.ri-video-chat-line:before{content:"\f27e"}.ri-video-chat-fill:before{content:"\f27d"}.ri-chat-voice-fill:before{content:"\eb76"}.ri-chat-voice-line:before{content:"\eb77"}.ri-speak-fill:before{content:"\f36e"}.ri-speak-line:before{content:"\f36f"}.ri-edit-2-line:before{content:"\ec80"}.ri-edit-2-fill:before{content:"\ec7f"}.ri-quill-pen-line:before{content:"\f04a"}.ri-quill-pen-fill:before{content:"\f049"}.ri-sip-line:before{content:"\f13e"}.ri-sip-fill:before{content:"\f13d"}.ri-markup-line:before{content:"\ef20"}.ri-markup-fill:before{content:"\ef1f"}.ri-edit-box-line:before{content:"\ec82"}.ri-edit-box-fill:before{content:"\ec81"}.ri-brush-line:before{content:"\eb01"}.ri-brush-fill:before{content:"\eb00"}.ri-brush-2-fill:before{content:"\eafa"}.ri-brush-2-line:before{content:"\eafb"}.ri-paint-brush-line:before{content:"\efc1"}.ri-paint-brush-fill:before{content:"\efc0"}.ri-drop-line:before{content:"\ec6a"}.ri-drop-fill:before{content:"\ec69"}.ri-blur-off-line:before{content:"\eace"}.ri-blur-off-fill:before{content:"\eacd"}.ri-color-filter-line:before{content:"\f42f"}.ri-color-filter-fill:before{content:"\f42e"}.ri-crop-line:before{content:"\ec02"}.ri-artboard-2-line:before{content:"\ea7a"}.ri-paint-line:before{content:"\efc3"}.ri-paint-fill:before{content:"\efc2"}.ri-palette-line:before{content:"\efc5"}.ri-palette-fill:before{content:"\efc4"}.ri-pantone-line:before{content:"\efc7"}.ri-pantone-fill:before{content:"\efc6"}.ri-magic-line:before{content:"\eeea"}.ri-magic-fill:before{content:"\eee9"}.ri-anticlockwise-line:before{content:"\ea3c"}.ri-anticlockwise-fill:before{content:"\ea3b"}.ri-tools-line:before{content:"\f21b"}.ri-tools-fill:before{content:"\f21a"}.ri-clockwise-line:before{content:"\eb95"}.ri-clockwise-fill:before{content:"\eb94"}.ri-drag-drop-line:before{content:"\ec5e"}.ri-drag-drop-fill:before{content:"\ec5d"}.ri-hammer-fill:before{content:"\edee"}.ri-hammer-line:before{content:"\edef"}.ri-circle-line:before{content:"\f3c2"}.ri-circle-fill:before{content:"\f3c1"}.ri-code-line:before{content:"\eba9"}.ri-code-fill:before{content:"\eba8"}.ri-terminal-line:before{content:"\f1f8"}.ri-terminal-fill:before{content:"\f1f7"}.ri-cursor-line:before{content:"\ec0a"}.ri-cursor-fill:before{content:"\ec09"}.ri-smartphone-line:before{content:"\f15a"}.ri-computer-line:before{content:"\ebca"}.ri-mac-line:before{content:"\eee6"}.ri-macbook-line:before{content:"\eee8"}.ri-phone-line:before{content:"\efec"}.ri-phone-fill:before{content:"\efe9"}.ri-device-line:before{content:"\ec2e"}.ri-tablet-line:before{content:"\f1e0"}.ri-database-2-line:before{content:"\ec16"}.ri-database-2-fill:before{content:"\ec15"}.ri-server-line:before{content:"\f0e0"}.ri-server-fill:before{content:"\f0df"}.ri-hard-drive-fill:before{content:"\edfa"}.ri-hard-drive-line:before{content:"\edfb"}.ri-qr-scan-2-line:before{content:"\f03f"}.ri-qr-scan-line:before{content:"\f041"}.ri-qr-code-line:before{content:"\f03d"}.ri-barcode-line:before{content:"\eaa2"}.ri-shut-down-line:before{content:"\f126"}.ri-fingerprint-line:before{content:"\ed31"}.ri-bluetooth-line:before{content:"\eacc"}.ri-wifi-line:before{content:"\f2c0"}.ri-wifi-off-line:before{content:"\f2c2"}.ri-rss-line:before{content:"\f09f"}.ri-rss-fill:before{content:"\f09e"}.ri-gps-line:before{content:"\eddb"}.ri-gps-fill:before{content:"\edda"}.ri-dashboard-3-line:before{content:"\ec12"}.ri-dashboard-3-fill:before{content:"\ec11"}.ri-file-2-line:before{content:"\ecc3"}.ri-file-2-fill:before{content:"\ecc2"}.ri-sticky-note-add-line:before{content:"\f466"}.ri-sticky-note-add-fill:before{content:"\f465"}.ri-file-list-line:before{content:"\ecf1"}.ri-file-list-fill:before{content:"\ecf0"}.ri-file-text-line:before{content:"\ed0f"}.ri-file-text-fill:before{content:"\ed0e"}.ri-file-list-3-line:before{content:"\ecef"}.ri-file-list-3-fill:before{content:"\ecee"}.ri-file-copy-line:before{content:"\ecd5"}.ri-file-copy-fill:before{content:"\ecd4"}.ri-clipboard-line:before{content:"\eb91"}.ri-clipboard-fill:before{content:"\eb90"}.ri-survey-line:before{content:"\f1c7"}.ri-survey-fill:before{content:"\f1c6"}.ri-article-line:before{content:"\ea7e"}.ri-article-fill:before{content:"\ea7d"}.ri-book-marked-line:before{content:"\ead9"}.ri-book-marked-fill:before{content:"\ead8"}.ri-todo-line:before{content:"\f217"}.ri-todo-fill:before{content:"\f216"}.ri-file-marked-line:before{content:"\ecf5"}.ri-file-marked-fill:before{content:"\ecf4"}.ri-book-3-line:before{content:"\ead5"}.ri-book-3-fill:before{content:"\ead4"}.ri-book-open-line:before{content:"\eadb"}.ri-book-open-fill:before{content:"\eada"}.ri-folder-add-line:before{content:"\ed5a"}.ri-folder-add-fill:before{content:"\ed59"}.ri-folder-check-line:before{content:"\f43e"}.ri-folder-check-fill:before{content:"\f43d"}.ri-folder-open-line:before{content:"\ed70"}.ri-folder-open-fill:before{content:"\ed6f"}.ri-folder-line:before{content:"\ed6a"}.ri-folder-fill:before{content:"\ed61"}.ri-align-center:before{content:"\ea25"}.ri-list-check:before{content:"\eeba"}.ri-indent-decrease:before{content:"\ee54"}.ri-indent-increase:before{content:"\ee55"}.ri-list-indefinite:before{content:"\f399"}.ri-attachment-2:before{content:"\ea84"}.ri-link:before{content:"\eeb2"}.ri-hashtag:before{content:"\edfc"}.ri-sketching:before{content:"\f35f"}.ri-wallet-line:before{content:"\f2ae"}.ri-wallet-fill:before{content:"\f2ad"}.ri-bank-card-line:before{content:"\ea92"}.ri-bank-card-fill:before{content:"\ea91"}.ri-price-tag-3-line:before{content:"\f023"}.ri-price-tag-3-fill:before{content:"\f022"}.ri-coupon-line:before{content:"\ebee"}.ri-coupon-fill:before{content:"\ebed"}.ri-price-tag-line:before{content:"\f025"}.ri-price-tag-fill:before{content:"\f024"}.ri-shopping-bag-line:before{content:"\f118"}.ri-shopping-bag-fill:before{content:"\f117"}.ri-shopping-basket-line:before{content:"\f11c"}.ri-shopping-basket-fill:before{content:"\f11b"}.ri-shopping-cart-line:before{content:"\f120"}.ri-shopping-cart-fill:before{content:"\f11f"}.ri-trophy-line:before{content:"\f22f"}.ri-trophy-fill:before{content:"\f22e"}.ri-vip-diamond-fill:before{content:"\f28f"}.ri-vip-diamond-line:before{content:"\f290"}.ri-vip-crown-2-line:before{content:"\f28c"}.ri-vip-crown-2-fill:before{content:"\f28b"}.ri-vip-crown-line:before{content:"\f28e"}.ri-vip-crown-fill:before{content:"\f28d"}.ri-vip-line:before{content:"\f292"}.ri-vip-fill:before{content:"\f291"}.ri-exchange-line:before{content:"\ecad"}.ri-exchange-fill:before{content:"\ecaa"}.ri-exchange-dollar-line:before{content:"\eca9"}.ri-exchange-dollar-fill:before{content:"\eca8"}.ri-money-cny-circle-line:before{content:"\ef61"}.ri-money-cny-circle-fill:before{content:"\ef60"}.ri-copper-coin-line:before{content:"\ebdc"}.ri-copper-coin-fill:before{content:"\ebdb"}.ri-exchange-cny-line:before{content:"\eca7"}.ri-exchange-cny-fill:before{content:"\eca6"}.ri-money-euro-circle-line:before{content:"\ef69"}.ri-money-euro-circle-fill:before{content:"\ef68"}.ri-red-packet-line:before{content:"\f060"}.ri-red-packet-fill:before{content:"\f05f"}.ri-water-flash-line:before{content:"\f2b0"}.ri-water-flash-fill:before{content:"\f2af"}.ri-coin-line:before{content:"\ebb2"}.ri-coin-fill:before{content:"\ebb1"}.ri-stock-line:before{content:"\f19d"}.ri-stock-fill:before{content:"\f19c"}.ri-gift-line:before{content:"\edbb"}.ri-gift-fill:before{content:"\edba"}.ri-24-hours-line:before{content:"\ea02"}.ri-24-hours-fill:before{content:"\ea01"}.ri-shopping-bag-4-line:before{content:"\f511"}.ri-shopping-bag-4-fill:before{content:"\f510"}.ri-bowl-line:before{content:"\f42a"}.ri-bowl-fill:before{content:"\f429"}.ri-heart-3-line:before{content:"\ee0b"}.ri-heart-3-fill:before{content:"\ee0a"}.ri-dislike-line:before{content:"\ec3c"}.ri-dislike-fill:before{content:"\ec3b"}.ri-heart-pulse-line:before{content:"\ee11"}.ri-heart-pulse-fill:before{content:"\ee10"}.ri-alipay-line:before{content:"\ea2c"}.ri-android-line:before{content:"\ea36"}.ri-alibaba-cloud-line:before{content:"\f4b8"}.ri-app-store-line:before{content:"\ea3e"}.ri-apple-line:before{content:"\ea40"}.ri-baidu-line:before{content:"\ea8c"}.ri-bilibili-line:before{content:"\eac0"}.ri-chrome-line:before{content:"\eb8d"}.ri-dingding-line:before{content:"\ec32"}.ri-drive-line:before{content:"\ec66"}.ri-dribbble-line:before{content:"\ec64"}.ri-evernote-line:before{content:"\eca3"}.ri-facebook-circle-line:before{content:"\ecbb"}.ri-firebase-line:before{content:"\f4d4"}.ri-flutter-line:before{content:"\ed48"}.ri-github-line:before{content:"\edcb"}.ri-google-line:before{content:"\edd5"}.ri-google-play-line:before{content:"\edd7"}.ri-instagram-line:before{content:"\ee66"}.ri-invision-line:before{content:"\ee6a"}.ri-meta-line:before{content:"\f343"}.ri-qq-line:before{content:"\f03b"}.ri-snapchat-line:before{content:"\f15c"}.ri-tiktok-line:before{content:"\f373"}.ri-twitter-line:before{content:"\f23b"}.ri-wechat-line:before{content:"\f2b6"}.ri-wechat-2-line:before{content:"\f2b4"}.ri-weibo-line:before{content:"\f2ba"}.ri-wechat-pay-line:before{content:"\f2b8"}.ri-whatsapp-line:before{content:"\f2bc"}.ri-zhihu-line:before{content:"\f2d9"}.ri-youtube-line:before{content:"\f2d5"}.ri-map-pin-2-line:before{content:"\ef0a"}.ri-map-pin-2-fill:before{content:"\ef09"}.ri-map-pin-time-line:before{content:"\ef18"}.ri-map-pin-time-fill:before{content:"\ef17"}.ri-pushpin-line:before{content:"\f039"}.ri-pushpin-fill:before{content:"\f038"}.ri-map-pin-user-line:before{content:"\ef1a"}.ri-map-pin-user-fill:before{content:"\ef19"}.ri-rocket-line:before{content:"\f096"}.ri-rocket-fill:before{content:"\f095"}.ri-planet-line:before{content:"\f39f"}.ri-planet-fill:before{content:"\f39e"}.ri-parking-line:before{content:"\efd0"}.ri-parking-fill:before{content:"\efcf"}.ri-road-map-line:before{content:"\f08e"}.ri-road-map-fill:before{content:"\f08d"}.ri-earth-line:before{content:"\ec7a"}.ri-earth-fill:before{content:"\ec79"}.ri-car-line:before{content:"\eb39"}.ri-car-fill:before{content:"\eb38"}.ri-plane-line:before{content:"\f005"}.ri-image-line:before{content:"\ee4b"}.ri-image-fill:before{content:"\ee4a"}.ri-image-circle-line:before{content:"\f413"}.ri-image-circle-fill:before{content:"\f412"}.ri-landscape-line:before{content:"\ee7d"}.ri-landscape-fill:before{content:"\ee7c"}.ri-video-on-line:before{content:"\f51e"}.ri-video-on-fill:before{content:"\f51d"}.ri-video-line:before{content:"\f282"}.ri-video-fill:before{content:"\f281"}.ri-live-line:before{content:"\eec0"}.ri-live-fill:before{content:"\eebf"}.ri-camera-line:before{content:"\eb31"}.ri-camera-fill:before{content:"\eb2e"}.ri-camera-off-line:before{content:"\eb33"}.ri-camera-off-fill:before{content:"\eb32"}.ri-headphone-line:before{content:"\ee05"}.ri-headphone-fill:before{content:"\ee04"}.ri-mic-off-line:before{content:"\ef52"}.ri-mic-off-fill:before{content:"\ef51"}.ri-mic-2-fill:before{content:"\ef4d"}.ri-mic-2-line:before{content:"\ef4e"}.ri-volume-down-line:before{content:"\f29c"}.ri-volume-down-fill:before{content:"\f29b"}.ri-volume-mute-line:before{content:"\f29e"}.ri-volume-mute-fill:before{content:"\f29d"}.ri-volume-up-line:before{content:"\f2a2"}.ri-volume-up-fill:before{content:"\f2a1"}.ri-notification-line:before{content:"\ef9a"}.ri-notification-fill:before{content:"\ef99"}.ri-notification-off-line:before{content:"\ef9c"}.ri-notification-off-fill:before{content:"\ef9b"}.ri-play-circle-line:before{content:"\f009"}.ri-play-circle-fill:before{content:"\f008"}.ri-pause-circle-line:before{content:"\efd6"}.ri-pause-circle-fill:before{content:"\efd5"}.ri-stop-circle-line:before{content:"\f19f"}.ri-stop-circle-fill:before{content:"\f19e"}.ri-equalizer-line:before{content:"\ec9d"}.ri-equalizer-fill:before{content:"\ec9c"}.ri-menu-line:before{content:"\ef3e"}.ri-menu-fill:before{content:"\ef3b"}.ri-apps-line:before{content:"\ea44"}.ri-apps-fill:before{content:"\ea43"}.ri-more-line:before{content:"\ef79"}.ri-more-fill:before{content:"\ef78"}.ri-more-2-line:before{content:"\ef77"}.ri-more-2-fill:before{content:"\ef76"}.ri-star-line:before{content:"\f18b"}.ri-star-fill:before{content:"\f186"}.ri-settings-2-line:before{content:"\f0e4"}.ri-settings-2-fill:before{content:"\f0e3"}.ri-forbid-line:before{content:"\ed95"}.ri-forbid-fill:before{content:"\ed94"}.ri-information-line:before{content:"\ee59"}.ri-information-fill:before{content:"\ee58"}.ri-checkbox-blank-circle-line:before{content:"\eb7d"}.ri-checkbox-blank-circle-fill:before{content:"\eb7c"}.ri-checkbox-line:before{content:"\eb85"}.ri-checkbox-fill:before{content:"\eb82"}.ri-checkbox-indeterminate-line:before{content:"\eb84"}.ri-checkbox-indeterminate-fill:before{content:"\eb83"}.ri-add-box-line:before{content:"\ea0f"}.ri-add-box-fill:before{content:"\ea0e"}.ri-checkbox-circle-line:before{content:"\eb81"}.ri-checkbox-circle-fill:before{content:"\eb80"}.ri-indeterminate-circle-line:before{content:"\ee57"}.ri-indeterminate-circle-fill:before{content:"\ee56"}.ri-add-circle-fill:before{content:"\ea10"}.ri-add-circle-line:before{content:"\ea11"}.ri-close-circle-line:before{content:"\eb97"}.ri-close-circle-fill:before{content:"\eb96"}.ri-radio-button-line:before{content:"\f050"}.ri-radio-button-fill:before{content:"\f04f"}.ri-check-line:before{content:"\eb7b"}.ri-check-double-line:before{content:"\eb79"}.ri-close-line:before{content:"\eb99"}.ri-add-line:before{content:"\ea13"}.ri-checkbox-multiple-line:before{content:"\eb89"}.ri-checkbox-multiple-fill:before{content:"\eb88"}.ri-subtract-line:before{content:"\f1af"}.ri-equal-line:before{content:"\f31f"}.ri-upload-line:before{content:"\f250"}.ri-download-line:before{content:"\ec5a"}.ri-download-cloud-line:before{content:"\ec58"}.ri-upload-cloud-line:before{content:"\f24e"}.ri-login-box-line:before{content:"\eed4"}.ri-logout-circle-line:before{content:"\eedc"}.ri-logout-circle-r-line:before{content:"\eede"}.ri-shield-line:before{content:"\f108"}.ri-shield-fill:before{content:"\f103"}.ri-shield-cross-line:before{content:"\f102"}.ri-shield-cross-fill:before{content:"\f101"}.ri-shield-check-line:before{content:"\f100"}.ri-shield-check-fill:before{content:"\f0ff"}.ri-shield-user-fill:before{content:"\f10b"}.ri-shield-user-line:before{content:"\f10c"}.ri-delete-bin-2-line:before{content:"\ec1e"}.ri-delete-bin-2-fill:before{content:"\ec1d"}.ri-delete-bin-fill:before{content:"\ec29"}.ri-delete-bin-line:before{content:"\ec2a"}.ri-delete-back-2-line:before{content:"\ec1a"}.ri-delete-back-2-fill:before{content:"\ec19"}.ri-lock-password-line:before{content:"\eed0"}.ri-lock-password-fill:before{content:"\eecf"}.ri-lock-2-line:before{content:"\eecc"}.ri-lock-2-fill:before{content:"\eecb"}.ri-lock-unlock-line:before{content:"\eed2"}.ri-lock-unlock-fill:before{content:"\eed1"}.ri-eye-off-line:before{content:"\ecb7"}.ri-eye-line:before{content:"\ecb5"}.ri-eye-fill:before{content:"\ecb4"}.ri-eye-close-line:before{content:"\ecb3"}.ri-eye-close-fill:before{content:"\ecb2"}.ri-eye-off-fill:before{content:"\ecb6"}.ri-search-2-line:before{content:"\f0cd"}.ri-search-2-fill:before{content:"\f0cc"}.ri-zoom-out-line:before{content:"\f2dd"}.ri-zoom-in-line:before{content:"\f2db"}.ri-zoom-in-fill:before{content:"\f2da"}.ri-zoom-out-fill:before{content:"\f2dc"}.ri-share-line:before{content:"\f0fe"}.ri-share-fill:before{content:"\f0f7"}.ri-share-circle-line:before{content:"\f0f6"}.ri-share-circle-fill:before{content:"\f0f5"}.ri-alarm-line:before{content:"\ea1b"}.ri-alarm-fill:before{content:"\ea1a"}.ri-thumb-up-line:before{content:"\f207"}.ri-thumb-up-fill:before{content:"\f206"}.ri-thumb-down-line:before{content:"\f205"}.ri-thumb-down-fill:before{content:"\f204"}.ri-alarm-warning-line:before{content:"\ea1d"}.ri-alarm-warning-fill:before{content:"\ea1c"}.ri-filter-2-line:before{content:"\ed23"}.ri-filter-2-fill:before{content:"\ed22"}.ri-loader-line:before{content:"\eeca"}.ri-loader-fill:before{content:"\eec9"}.ri-loop-right-line:before{content:"\f33f"}.ri-loop-right-fill:before{content:"\f33e"}.ri-loader-4-line:before{content:"\eec6"}.ri-loader-4-fill:before{content:"\eec5"}.ri-reset-right-line:before{content:"\f544"}.ri-user-line:before{content:"\f264"}.ri-user-fill:before{content:"\f25f"}.ri-account-box-line:before{content:"\ea07"}.ri-account-box-fill:before{content:"\ea06"}.ri-user-add-line:before{content:"\f25e"}.ri-user-add-fill:before{content:"\f25d"}.ri-user-minus-fill:before{content:"\f54b"}.ri-user-follow-fill:before{content:"\f260"}.ri-user-follow-line:before{content:"\f261"}.ri-user-minus-line:before{content:"\f54c"}.ri-user-unfollow-line:before{content:"\f278"}.ri-user-unfollow-fill:before{content:"\f277"}.ri-user-shared-fill:before{content:"\f271"}.ri-user-shared-line:before{content:"\f272"}.ri-account-pin-circle-line:before{content:"\ea0d"}.ri-account-pin-circle-fill:before{content:"\ea0c"}.ri-group-line:before{content:"\ede3"}.ri-group-fill:before{content:"\ede2"}.ri-emotion-happy-line:before{content:"\ec8d"}.ri-emotion-happy-fill:before{content:"\ec8c"}.ri-emotion-normal-fill:before{content:"\ec91"}.ri-emotion-normal-line:before{content:"\ec92"}.ri-emotion-unhappy-line:before{content:"\ec96"}.ri-emotion-unhappy-fill:before{content:"\ec95"}.ri-emotion-sad-line:before{content:"\ec94"}.ri-emotion-sad-fill:before{content:"\ec93"}.ri-women-line:before{content:"\f2ce"}.ri-men-line:before{content:"\ef2e"}.ri-star-smile-line:before{content:"\f18f"}.ri-star-smile-fill:before{content:"\f18e"}.ri-sun-line:before{content:"\f1bf"}.ri-sun-fill:before{content:"\f1bc"}.ri-moon-fill:before{content:"\ef72"}.ri-moon-line:before{content:"\ef75"}.ri-lightbulb-line:before{content:"\eea9"}.ri-key-2-line:before{content:"\ee6f"}.ri-key-line:before{content:"\ee71"}.ri-outlet-line:before{content:"\efbc"}.ri-lightbulb-flash-line:before{content:"\eea8"}.ri-t-shirt-line:before{content:"\f1d9"}.ri-t-shirt-fill:before{content:"\f1d8"}.ri-seedling-fill:before{content:"\f0d4"}.ri-seedling-line:before{content:"\f0d5"}.ri-leaf-line:before{content:"\eea3"}.ri-leaf-fill:before{content:"\eea2"}.ri-character-recognition-line:before{content:"\eb47"}.ri-character-recognition-fill:before{content:"\eb46"}.ri-recycle-line:before{content:"\f05e"}.ri-recycle-fill:before{content:"\f05d"}.ri-door-line:before{content:"\ec46"}.ri-door-fill:before{content:"\ec45"}.ri-graduation-cap-line:before{content:"\f333"}.ri-graduation-cap-fill:before{content:"\f332"}.ri-sofa-line:before{content:"\f41e"}.ri-sofa-fill:before{content:"\f41d"}.ri-error-warning-line:before{content:"\eca1"}.ri-error-warning-fill:before{content:"\eca0"}.ri-question-line:before{content:"\f045"}.ri-question-fill:before{content:"\f044"}.ri-spam-3-line:before{content:"\f16b"}.ri-spam-3-fill:before{content:"\f16a"}.ri-prohibited-line:before{content:"\f3a1"}.ri-prohibited-fill:before{content:"\f3a0"}.ri-information-off-line:before{content:"\f4eb"}.ri-information-off-fill:before{content:"\f4ea"}.ri-star-half-line:before{content:"\f188"}.ri-star-half-fill:before{content:"\f187"}.ri-settings-line:before{content:"\f0ee"}.ri-settings-fill:before{content:"\f0ed"}.ri-checkbox-multiple-blank-line:before{content:"\eb87"}.ri-alert-line:before{content:"\ea21"}.ri-alert-fill:before{content:"\ea20"}
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/css/tmui.css b/src/uni_modules/tm-ui/css/tmui.css
new file mode 100644
index 0000000..2781972
--- /dev/null
+++ b/src/uni_modules/tm-ui/css/tmui.css
@@ -0,0 +1,8401 @@
+.uni-input-input[type=password]::-ms-reveal {
+ display: none;
+}
+
+.tableHeader .uni-scroll-view::-webkit-scrollbar,
+.tableHeader .uni-scroll-view::-webkit-scrollbar {
+ display: none;
+}
+
+.safe-height {
+ height: var(--window-bottom);
+}
+
+.safe-top {
+ height: var(--window-top);
+}
+
+.safe-statusbar {
+ height: var(--status-bar-height);
+}
+
+.blur {
+ -webkit-backdrop-filter: blur(10px);
+ backdrop-filter: blur(10px);
+ background-color: rgba(0, 0, 0, 0.3);
+}
+
+.pointer {
+ cursor: pointer;
+}
+
+.pointer:hover {
+ opacity: 0.7;
+}
+
+.overflow {
+ overflow: hidden;
+}
+
+.overflow-x {
+ overflow-x: hidden;
+ overflow-y: auto;
+}
+
+.overflow-y {
+ overflow-x: auto;
+ overflow-y: hidden;
+}
+
+.relative {
+ position: relative !important;
+}
+
+.absolute {
+ position: absolute !important;
+}
+
+.fixed {
+ position: fixed !important;
+}
+
+.sticky {
+ position: sticky !important;
+}
+
+.fulled-height {
+ display: flex;
+ align-items: stretch;
+}
+
+.clear {
+ clear: both;
+}
+
+.fulled {
+ width: 100%;
+ display: block;
+}
+
+.fulled-height {
+ height: 100%;
+ display: block;
+}
+
+.gray-100 {
+ filter: grayscale(100%);
+}
+
+.gray {
+ filter: grayscale(25%);
+}
+
+.d-inline-block {
+ display: inline-block !important;
+}
+
+.d-block {
+ display: block;
+}
+
+.vertical-align-top {
+ vertical-align: top;
+}
+
+.vertical-align-middle {
+ vertical-align: middle;
+}
+
+.vertical-align-bottom {
+ vertical-align: bottom;
+}
+
+.wrap {
+ white-space: pre-wrap;
+ word-break: break-all;
+}
+
+.nowrap {
+ white-space: nowrap;
+}
+
+.vertical-align-top {
+ vertical-align: top;
+}
+
+.vertical-align-middle {
+ vertical-align: middle;
+}
+
+.vertical-align-bottom {
+ vertical-align: bottom;
+}
+
+.zIndex-0 {
+ z-index: 0;
+}
+
+.zIndex-n0 {
+ z-index: 0;
+}
+
+.zIndex-1 {
+ z-index: 1;
+}
+
+.zIndex-n1 {
+ z-index: 4;
+}
+
+.zIndex-2 {
+ z-index: 2;
+}
+
+.zIndex-n2 {
+ z-index: 8;
+}
+
+.zIndex-3 {
+ z-index: 3;
+}
+
+.zIndex-n3 {
+ z-index: 12;
+}
+
+.zIndex-4 {
+ z-index: 4;
+}
+
+.zIndex-n4 {
+ z-index: 16;
+}
+
+.zIndex-5 {
+ z-index: 5;
+}
+
+.zIndex-n5 {
+ z-index: 20;
+}
+
+.zIndex-6 {
+ z-index: 6;
+}
+
+.zIndex-n6 {
+ z-index: 24;
+}
+
+.zIndex-7 {
+ z-index: 7;
+}
+
+.zIndex-n7 {
+ z-index: 28;
+}
+
+.zIndex-8 {
+ z-index: 8;
+}
+
+.zIndex-n8 {
+ z-index: 32;
+}
+
+.zIndex-9 {
+ z-index: 9;
+}
+
+.zIndex-n9 {
+ z-index: 36;
+}
+
+.zIndex-10 {
+ z-index: 10;
+}
+
+.zIndex-n10 {
+ z-index: 40;
+}
+
+.zIndex-11 {
+ z-index: 11;
+}
+
+.zIndex-n11 {
+ z-index: 44;
+}
+
+.zIndex-12 {
+ z-index: 12;
+}
+
+.zIndex-n12 {
+ z-index: 48;
+}
+
+.zIndex-13 {
+ z-index: 13;
+}
+
+.zIndex-n13 {
+ z-index: 52;
+}
+
+.zIndex-14 {
+ z-index: 14;
+}
+
+.zIndex-n14 {
+ z-index: 56;
+}
+
+.zIndex-15 {
+ z-index: 15;
+}
+
+.zIndex-n15 {
+ z-index: 60;
+}
+
+.zIndex-16 {
+ z-index: 16;
+}
+
+.zIndex-n16 {
+ z-index: 64;
+}
+
+.zIndex-17 {
+ z-index: 17;
+}
+
+.zIndex-n17 {
+ z-index: 68;
+}
+
+.zIndex-18 {
+ z-index: 18;
+}
+
+.zIndex-n18 {
+ z-index: 72;
+}
+
+.zIndex-19 {
+ z-index: 19;
+}
+
+.zIndex-n19 {
+ z-index: 76;
+}
+
+.zIndex-20 {
+ z-index: 20;
+}
+
+.zIndex-n20 {
+ z-index: 80;
+}
+
+.zIndex-21 {
+ z-index: 21;
+}
+
+.zIndex-n21 {
+ z-index: 84;
+}
+
+.zIndex-22 {
+ z-index: 22;
+}
+
+.zIndex-n22 {
+ z-index: 88;
+}
+
+.zIndex-23 {
+ z-index: 23;
+}
+
+.zIndex-n23 {
+ z-index: 92;
+}
+
+.zIndex-24 {
+ z-index: 24;
+}
+
+.zIndex-n24 {
+ z-index: 96;
+}
+
+.zIndex-25 {
+ z-index: 25;
+}
+
+.zIndex-n25 {
+ z-index: 100;
+}
+
+.zIndex-26 {
+ z-index: 26;
+}
+
+.zIndex-n26 {
+ z-index: 104;
+}
+
+.text-overflow {
+ width: 100%;
+ display: block;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.text-overflow-1 {
+ width: 100%;
+ display: -webkit-box;
+ white-space: inherit;
+ overflow: hidden;
+ -webkit-line-clamp: 1;
+ -webkit-box-orient: vertical;
+ text-overflow: ellipsis;
+}
+
+.text-overflow-2 {
+ width: 100%;
+ display: -webkit-box;
+ white-space: inherit;
+ overflow: hidden;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ text-overflow: ellipsis;
+}
+
+.text-overflow-3 {
+ width: 100%;
+ display: -webkit-box;
+ white-space: inherit;
+ overflow: hidden;
+ -webkit-line-clamp: 3;
+ -webkit-box-orient: vertical;
+ text-overflow: ellipsis;
+}
+
+.text-overflow-4 {
+ width: 100%;
+ display: -webkit-box;
+ white-space: inherit;
+ overflow: hidden;
+ -webkit-line-clamp: 4;
+ -webkit-box-orient: vertical;
+ text-overflow: ellipsis;
+}
+
+.text-delete {
+ text-decoration: line-through;
+}
+
+.text-underline {
+ text-decoration: underline;
+}
+
+.text-size-xxs {
+ font-size: 20rpx;
+}
+
+.text-size-xs {
+ font-size: 22rpx;
+}
+
+.text-size-s {
+ font-size: 24rpx;
+}
+
+.text-size-m {
+ font-size: 28rpx;
+}
+
+.text-size-n {
+ font-size: 30rpx;
+}
+
+.text-size-g {
+ font-size: 34rpx;
+}
+
+.text-size-lg {
+ font-size: 36rpx;
+}
+
+.text-size-xl {
+ font-size: 40rpx;
+}
+
+.text-weight-s {
+ font-weight: 100;
+}
+
+.text-weight-n {
+ font-weight: 400;
+}
+
+.text-weight-b {
+ font-weight: 700;
+}
+
+.text-align-left {
+ text-align: left;
+}
+
+.text-align-right {
+ text-align: right;
+}
+
+.text-align-center {
+ text-align: center;
+}
+
+.round-tl-0 {
+ border-top-left-radius: 0rpx !important;
+}
+
+.round-tl-1 {
+ border-top-left-radius: 4rpx !important;
+}
+
+.round-tl-2 {
+ border-top-left-radius: 8rpx !important;
+}
+
+.round-tl-3 {
+ border-top-left-radius: 12rpx !important;
+}
+
+.round-tl-4 {
+ border-top-left-radius: 16rpx !important;
+}
+
+.round-tl-5 {
+ border-top-left-radius: 20rpx !important;
+}
+
+.round-tl-6 {
+ border-top-left-radius: 24rpx !important;
+}
+
+.round-tl-7 {
+ border-top-left-radius: 28rpx !important;
+}
+
+.round-tl-8 {
+ border-top-left-radius: 32rpx !important;
+}
+
+.round-tl-9 {
+ border-top-left-radius: 36rpx !important;
+}
+
+.round-tl-10 {
+ border-top-left-radius: 40rpx !important;
+}
+
+.round-tl-11 {
+ border-top-left-radius: 44rpx !important;
+}
+
+.round-tl-12 {
+ border-top-left-radius: 48rpx !important;
+}
+
+.round-tl-13 {
+ border-top-left-radius: 52rpx !important;
+}
+
+.round-tl-14 {
+ border-top-left-radius: 56rpx !important;
+}
+
+.round-tl-15 {
+ border-top-left-radius: 60rpx !important;
+}
+
+.round-tl-16 {
+ border-top-left-radius: 64rpx !important;
+}
+
+.round-tl-17 {
+ border-top-left-radius: 68rpx !important;
+}
+
+.round-tl-18 {
+ border-top-left-radius: 72rpx !important;
+}
+
+.round-tl-19 {
+ border-top-left-radius: 76rpx !important;
+}
+
+.round-tl-20 {
+ border-top-left-radius: 80rpx !important;
+}
+
+.round-tl-21 {
+ border-top-left-radius: 84rpx !important;
+}
+
+.round-tl-22 {
+ border-top-left-radius: 88rpx !important;
+}
+
+.round-tl-23 {
+ border-top-left-radius: 92rpx !important;
+}
+
+.round-tl-24 {
+ border-top-left-radius: 96rpx !important;
+}
+
+.round-tl-25 {
+ border-top-left-radius: 100rpx !important;
+}
+
+.round-tr-0 {
+ border-top-right-radius: 0rpx !important;
+}
+
+.round-tr-1 {
+ border-top-right-radius: 4rpx !important;
+}
+
+.round-tr-2 {
+ border-top-right-radius: 8rpx !important;
+}
+
+.round-tr-3 {
+ border-top-right-radius: 12rpx !important;
+}
+
+.round-tr-4 {
+ border-top-right-radius: 16rpx !important;
+}
+
+.round-tr-5 {
+ border-top-right-radius: 20rpx !important;
+}
+
+.round-tr-6 {
+ border-top-right-radius: 24rpx !important;
+}
+
+.round-tr-7 {
+ border-top-right-radius: 28rpx !important;
+}
+
+.round-tr-8 {
+ border-top-right-radius: 32rpx !important;
+}
+
+.round-tr-9 {
+ border-top-right-radius: 36rpx !important;
+}
+
+.round-tr-10 {
+ border-top-right-radius: 40rpx !important;
+}
+
+.round-tr-11 {
+ border-top-right-radius: 44rpx !important;
+}
+
+.round-tr-12 {
+ border-top-right-radius: 48rpx !important;
+}
+
+.round-tr-13 {
+ border-top-right-radius: 52rpx !important;
+}
+
+.round-tr-14 {
+ border-top-right-radius: 56rpx !important;
+}
+
+.round-tr-15 {
+ border-top-right-radius: 60rpx !important;
+}
+
+.round-tr-16 {
+ border-top-right-radius: 64rpx !important;
+}
+
+.round-tr-17 {
+ border-top-right-radius: 68rpx !important;
+}
+
+.round-tr-18 {
+ border-top-right-radius: 72rpx !important;
+}
+
+.round-tr-19 {
+ border-top-right-radius: 76rpx !important;
+}
+
+.round-tr-20 {
+ border-top-right-radius: 80rpx !important;
+}
+
+.round-tr-21 {
+ border-top-right-radius: 84rpx !important;
+}
+
+.round-tr-22 {
+ border-top-right-radius: 88rpx !important;
+}
+
+.round-tr-23 {
+ border-top-right-radius: 92rpx !important;
+}
+
+.round-tr-24 {
+ border-top-right-radius: 96rpx !important;
+}
+
+.round-tr-25 {
+ border-top-right-radius: 100rpx !important;
+}
+
+.round-bl-0 {
+ border-bottom-left-radius: 0rpx !important;
+}
+
+.round-bl-1 {
+ border-bottom-left-radius: 4rpx !important;
+}
+
+.round-bl-2 {
+ border-bottom-left-radius: 8rpx !important;
+}
+
+.round-bl-3 {
+ border-bottom-left-radius: 12rpx !important;
+}
+
+.round-bl-4 {
+ border-bottom-left-radius: 16rpx !important;
+}
+
+.round-bl-5 {
+ border-bottom-left-radius: 20rpx !important;
+}
+
+.round-bl-6 {
+ border-bottom-left-radius: 24rpx !important;
+}
+
+.round-bl-7 {
+ border-bottom-left-radius: 28rpx !important;
+}
+
+.round-bl-8 {
+ border-bottom-left-radius: 32rpx !important;
+}
+
+.round-bl-9 {
+ border-bottom-left-radius: 36rpx !important;
+}
+
+.round-bl-10 {
+ border-bottom-left-radius: 40rpx !important;
+}
+
+.round-bl-11 {
+ border-bottom-left-radius: 44rpx !important;
+}
+
+.round-bl-12 {
+ border-bottom-left-radius: 48rpx !important;
+}
+
+.round-bl-13 {
+ border-bottom-left-radius: 52rpx !important;
+}
+
+.round-bl-14 {
+ border-bottom-left-radius: 56rpx !important;
+}
+
+.round-bl-15 {
+ border-bottom-left-radius: 60rpx !important;
+}
+
+.round-bl-16 {
+ border-bottom-left-radius: 64rpx !important;
+}
+
+.round-bl-17 {
+ border-bottom-left-radius: 68rpx !important;
+}
+
+.round-bl-18 {
+ border-bottom-left-radius: 72rpx !important;
+}
+
+.round-bl-19 {
+ border-bottom-left-radius: 76rpx !important;
+}
+
+.round-bl-20 {
+ border-bottom-left-radius: 80rpx !important;
+}
+
+.round-bl-21 {
+ border-bottom-left-radius: 84rpx !important;
+}
+
+.round-bl-22 {
+ border-bottom-left-radius: 88rpx !important;
+}
+
+.round-bl-23 {
+ border-bottom-left-radius: 92rpx !important;
+}
+
+.round-bl-24 {
+ border-bottom-left-radius: 96rpx !important;
+}
+
+.round-bl-25 {
+ border-bottom-left-radius: 100rpx !important;
+}
+
+.round-br-0 {
+ border-bottom-right-radius: 0rpx !important;
+}
+
+.round-br-1 {
+ border-bottom-right-radius: 4rpx !important;
+}
+
+.round-br-2 {
+ border-bottom-right-radius: 8rpx !important;
+}
+
+.round-br-3 {
+ border-bottom-right-radius: 12rpx !important;
+}
+
+.round-br-4 {
+ border-bottom-right-radius: 16rpx !important;
+}
+
+.round-br-5 {
+ border-bottom-right-radius: 20rpx !important;
+}
+
+.round-br-6 {
+ border-bottom-right-radius: 24rpx !important;
+}
+
+.round-br-7 {
+ border-bottom-right-radius: 28rpx !important;
+}
+
+.round-br-8 {
+ border-bottom-right-radius: 32rpx !important;
+}
+
+.round-br-9 {
+ border-bottom-right-radius: 36rpx !important;
+}
+
+.round-br-10 {
+ border-bottom-right-radius: 40rpx !important;
+}
+
+.round-br-11 {
+ border-bottom-right-radius: 44rpx !important;
+}
+
+.round-br-12 {
+ border-bottom-right-radius: 48rpx !important;
+}
+
+.round-br-13 {
+ border-bottom-right-radius: 52rpx !important;
+}
+
+.round-br-14 {
+ border-bottom-right-radius: 56rpx !important;
+}
+
+.round-br-15 {
+ border-bottom-right-radius: 60rpx !important;
+}
+
+.round-br-16 {
+ border-bottom-right-radius: 64rpx !important;
+}
+
+.round-br-17 {
+ border-bottom-right-radius: 68rpx !important;
+}
+
+.round-br-18 {
+ border-bottom-right-radius: 72rpx !important;
+}
+
+.round-br-19 {
+ border-bottom-right-radius: 76rpx !important;
+}
+
+.round-br-20 {
+ border-bottom-right-radius: 80rpx !important;
+}
+
+.round-br-21 {
+ border-bottom-right-radius: 84rpx !important;
+}
+
+.round-br-22 {
+ border-bottom-right-radius: 88rpx !important;
+}
+
+.round-br-23 {
+ border-bottom-right-radius: 92rpx !important;
+}
+
+.round-br-24 {
+ border-bottom-right-radius: 96rpx !important;
+}
+
+.round-br-25 {
+ border-bottom-right-radius: 100rpx !important;
+}
+
+.round-a-0 {
+ border-radius: 0rpx !important;
+}
+
+.round-a-1 {
+ border-radius: 4rpx !important;
+}
+
+.round-a-2 {
+ border-radius: 8rpx !important;
+}
+
+.round-a-3 {
+ border-radius: 12rpx !important;
+}
+
+.round-a-4 {
+ border-radius: 16rpx !important;
+}
+
+.round-a-5 {
+ border-radius: 20rpx !important;
+}
+
+.round-a-6 {
+ border-radius: 24rpx !important;
+}
+
+.round-a-7 {
+ border-radius: 28rpx !important;
+}
+
+.round-a-8 {
+ border-radius: 32rpx !important;
+}
+
+.round-a-9 {
+ border-radius: 36rpx !important;
+}
+
+.round-a-10 {
+ border-radius: 40rpx !important;
+}
+
+.round-a-11 {
+ border-radius: 44rpx !important;
+}
+
+.round-a-12 {
+ border-radius: 48rpx !important;
+}
+
+.round-a-13 {
+ border-radius: 52rpx !important;
+}
+
+.round-a-14 {
+ border-radius: 56rpx !important;
+}
+
+.round-a-15 {
+ border-radius: 60rpx !important;
+}
+
+.round-a-16 {
+ border-radius: 64rpx !important;
+}
+
+.round-a-17 {
+ border-radius: 68rpx !important;
+}
+
+.round-a-18 {
+ border-radius: 72rpx !important;
+}
+
+.round-a-19 {
+ border-radius: 76rpx !important;
+}
+
+.round-a-20 {
+ border-radius: 80rpx !important;
+}
+
+.round-a-21 {
+ border-radius: 84rpx !important;
+}
+
+.round-a-22 {
+ border-radius: 88rpx !important;
+}
+
+.round-a-23 {
+ border-radius: 92rpx !important;
+}
+
+.round-a-24 {
+ border-radius: 96rpx !important;
+}
+
+.round-a-25 {
+ border-radius: 100rpx !important;
+}
+
+.round-t-0 {
+ border-top-left-radius: 0rpx !important;
+ border-top-right-radius: 0rpx !important;
+}
+
+.round-t-1 {
+ border-top-left-radius: 4rpx !important;
+ border-top-right-radius: 4rpx !important;
+}
+
+.round-t-2 {
+ border-top-left-radius: 8rpx !important;
+ border-top-right-radius: 8rpx !important;
+}
+
+.round-t-3 {
+ border-top-left-radius: 12rpx !important;
+ border-top-right-radius: 12rpx !important;
+}
+
+.round-t-4 {
+ border-top-left-radius: 16rpx !important;
+ border-top-right-radius: 16rpx !important;
+}
+
+.round-t-5 {
+ border-top-left-radius: 20rpx !important;
+ border-top-right-radius: 20rpx !important;
+}
+
+.round-t-6 {
+ border-top-left-radius: 24rpx !important;
+ border-top-right-radius: 24rpx !important;
+}
+
+.round-t-7 {
+ border-top-left-radius: 28rpx !important;
+ border-top-right-radius: 28rpx !important;
+}
+
+.round-t-8 {
+ border-top-left-radius: 32rpx !important;
+ border-top-right-radius: 32rpx !important;
+}
+
+.round-t-9 {
+ border-top-left-radius: 36rpx !important;
+ border-top-right-radius: 36rpx !important;
+}
+
+.round-t-10 {
+ border-top-left-radius: 40rpx !important;
+ border-top-right-radius: 40rpx !important;
+}
+
+.round-t-11 {
+ border-top-left-radius: 44rpx !important;
+ border-top-right-radius: 44rpx !important;
+}
+
+.round-t-12 {
+ border-top-left-radius: 48rpx !important;
+ border-top-right-radius: 48rpx !important;
+}
+
+.round-t-13 {
+ border-top-left-radius: 52rpx !important;
+ border-top-right-radius: 52rpx !important;
+}
+
+.round-t-14 {
+ border-top-left-radius: 56rpx !important;
+ border-top-right-radius: 56rpx !important;
+}
+
+.round-t-15 {
+ border-top-left-radius: 60rpx !important;
+ border-top-right-radius: 60rpx !important;
+}
+
+.round-t-16 {
+ border-top-left-radius: 64rpx !important;
+ border-top-right-radius: 64rpx !important;
+}
+
+.round-t-17 {
+ border-top-left-radius: 68rpx !important;
+ border-top-right-radius: 68rpx !important;
+}
+
+.round-t-18 {
+ border-top-left-radius: 72rpx !important;
+ border-top-right-radius: 72rpx !important;
+}
+
+.round-t-19 {
+ border-top-left-radius: 76rpx !important;
+ border-top-right-radius: 76rpx !important;
+}
+
+.round-t-20 {
+ border-top-left-radius: 80rpx !important;
+ border-top-right-radius: 80rpx !important;
+}
+
+.round-t-21 {
+ border-top-left-radius: 84rpx !important;
+ border-top-right-radius: 84rpx !important;
+}
+
+.round-t-22 {
+ border-top-left-radius: 88rpx !important;
+ border-top-right-radius: 88rpx !important;
+}
+
+.round-t-23 {
+ border-top-left-radius: 92rpx !important;
+ border-top-right-radius: 92rpx !important;
+}
+
+.round-t-24 {
+ border-top-left-radius: 96rpx !important;
+ border-top-right-radius: 96rpx !important;
+}
+
+.round-t-25 {
+ border-top-left-radius: 100rpx !important;
+ border-top-right-radius: 100rpx !important;
+}
+
+.round-b-0 {
+ border-bottom-left-radius: 0rpx !important;
+ border-bottom-right-radius: 0rpx !important;
+}
+
+.round-b-1 {
+ border-bottom-left-radius: 4rpx !important;
+ border-bottom-right-radius: 4rpx !important;
+}
+
+.round-b-2 {
+ border-bottom-left-radius: 8rpx !important;
+ border-bottom-right-radius: 8rpx !important;
+}
+
+.round-b-3 {
+ border-bottom-left-radius: 12rpx !important;
+ border-bottom-right-radius: 12rpx !important;
+}
+
+.round-b-4 {
+ border-bottom-left-radius: 16rpx !important;
+ border-bottom-right-radius: 16rpx !important;
+}
+
+.round-b-5 {
+ border-bottom-left-radius: 20rpx !important;
+ border-bottom-right-radius: 20rpx !important;
+}
+
+.round-b-6 {
+ border-bottom-left-radius: 24rpx !important;
+ border-bottom-right-radius: 24rpx !important;
+}
+
+.round-b-7 {
+ border-bottom-left-radius: 28rpx !important;
+ border-bottom-right-radius: 28rpx !important;
+}
+
+.round-b-8 {
+ border-bottom-left-radius: 32rpx !important;
+ border-bottom-right-radius: 32rpx !important;
+}
+
+.round-b-9 {
+ border-bottom-left-radius: 36rpx !important;
+ border-bottom-right-radius: 36rpx !important;
+}
+
+.round-b-10 {
+ border-bottom-left-radius: 40rpx !important;
+ border-bottom-right-radius: 40rpx !important;
+}
+
+.round-b-11 {
+ border-bottom-left-radius: 44rpx !important;
+ border-bottom-right-radius: 44rpx !important;
+}
+
+.round-b-12 {
+ border-bottom-left-radius: 48rpx !important;
+ border-bottom-right-radius: 48rpx !important;
+}
+
+.round-b-13 {
+ border-bottom-left-radius: 52rpx !important;
+ border-bottom-right-radius: 52rpx !important;
+}
+
+.round-b-14 {
+ border-bottom-left-radius: 56rpx !important;
+ border-bottom-right-radius: 56rpx !important;
+}
+
+.round-b-15 {
+ border-bottom-left-radius: 60rpx !important;
+ border-bottom-right-radius: 60rpx !important;
+}
+
+.round-b-16 {
+ border-bottom-left-radius: 64rpx !important;
+ border-bottom-right-radius: 64rpx !important;
+}
+
+.round-b-17 {
+ border-bottom-left-radius: 68rpx !important;
+ border-bottom-right-radius: 68rpx !important;
+}
+
+.round-b-18 {
+ border-bottom-left-radius: 72rpx !important;
+ border-bottom-right-radius: 72rpx !important;
+}
+
+.round-b-19 {
+ border-bottom-left-radius: 76rpx !important;
+ border-bottom-right-radius: 76rpx !important;
+}
+
+.round-b-20 {
+ border-bottom-left-radius: 80rpx !important;
+ border-bottom-right-radius: 80rpx !important;
+}
+
+.round-b-21 {
+ border-bottom-left-radius: 84rpx !important;
+ border-bottom-right-radius: 84rpx !important;
+}
+
+.round-b-22 {
+ border-bottom-left-radius: 88rpx !important;
+ border-bottom-right-radius: 88rpx !important;
+}
+
+.round-b-23 {
+ border-bottom-left-radius: 92rpx !important;
+ border-bottom-right-radius: 92rpx !important;
+}
+
+.round-b-24 {
+ border-bottom-left-radius: 96rpx !important;
+ border-bottom-right-radius: 96rpx !important;
+}
+
+.round-b-25 {
+ border-bottom-left-radius: 100rpx !important;
+ border-bottom-right-radius: 100rpx !important;
+}
+
+.round-l-0 {
+ border-top-left-radius: 0rpx !important;
+ border-bottom-left-radius: 0rpx !important;
+}
+
+.round-l-1 {
+ border-top-left-radius: 4rpx !important;
+ border-bottom-left-radius: 4rpx !important;
+}
+
+.round-l-2 {
+ border-top-left-radius: 8rpx !important;
+ border-bottom-left-radius: 8rpx !important;
+}
+
+.round-l-3 {
+ border-top-left-radius: 12rpx !important;
+ border-bottom-left-radius: 12rpx !important;
+}
+
+.round-l-4 {
+ border-top-left-radius: 16rpx !important;
+ border-bottom-left-radius: 16rpx !important;
+}
+
+.round-l-5 {
+ border-top-left-radius: 20rpx !important;
+ border-bottom-left-radius: 20rpx !important;
+}
+
+.round-l-6 {
+ border-top-left-radius: 24rpx !important;
+ border-bottom-left-radius: 24rpx !important;
+}
+
+.round-l-7 {
+ border-top-left-radius: 28rpx !important;
+ border-bottom-left-radius: 28rpx !important;
+}
+
+.round-l-8 {
+ border-top-left-radius: 32rpx !important;
+ border-bottom-left-radius: 32rpx !important;
+}
+
+.round-l-9 {
+ border-top-left-radius: 36rpx !important;
+ border-bottom-left-radius: 36rpx !important;
+}
+
+.round-l-10 {
+ border-top-left-radius: 40rpx !important;
+ border-bottom-left-radius: 40rpx !important;
+}
+
+.round-l-11 {
+ border-top-left-radius: 44rpx !important;
+ border-bottom-left-radius: 44rpx !important;
+}
+
+.round-l-12 {
+ border-top-left-radius: 48rpx !important;
+ border-bottom-left-radius: 48rpx !important;
+}
+
+.round-l-13 {
+ border-top-left-radius: 52rpx !important;
+ border-bottom-left-radius: 52rpx !important;
+}
+
+.round-l-14 {
+ border-top-left-radius: 56rpx !important;
+ border-bottom-left-radius: 56rpx !important;
+}
+
+.round-l-15 {
+ border-top-left-radius: 60rpx !important;
+ border-bottom-left-radius: 60rpx !important;
+}
+
+.round-l-16 {
+ border-top-left-radius: 64rpx !important;
+ border-bottom-left-radius: 64rpx !important;
+}
+
+.round-l-17 {
+ border-top-left-radius: 68rpx !important;
+ border-bottom-left-radius: 68rpx !important;
+}
+
+.round-l-18 {
+ border-top-left-radius: 72rpx !important;
+ border-bottom-left-radius: 72rpx !important;
+}
+
+.round-l-19 {
+ border-top-left-radius: 76rpx !important;
+ border-bottom-left-radius: 76rpx !important;
+}
+
+.round-l-20 {
+ border-top-left-radius: 80rpx !important;
+ border-bottom-left-radius: 80rpx !important;
+}
+
+.round-l-21 {
+ border-top-left-radius: 84rpx !important;
+ border-bottom-left-radius: 84rpx !important;
+}
+
+.round-l-22 {
+ border-top-left-radius: 88rpx !important;
+ border-bottom-left-radius: 88rpx !important;
+}
+
+.round-l-23 {
+ border-top-left-radius: 92rpx !important;
+ border-bottom-left-radius: 92rpx !important;
+}
+
+.round-l-24 {
+ border-top-left-radius: 96rpx !important;
+ border-bottom-left-radius: 96rpx !important;
+}
+
+.round-l-25 {
+ border-top-left-radius: 100rpx !important;
+ border-bottom-left-radius: 100rpx !important;
+}
+
+.round-r-0 {
+ border-top-right-radius: 0rpx !important;
+ border-bottom-right-radius: 0rpx !important;
+}
+
+.round-r-1 {
+ border-top-right-radius: 4rpx !important;
+ border-bottom-right-radius: 4rpx !important;
+}
+
+.round-r-2 {
+ border-top-right-radius: 8rpx !important;
+ border-bottom-right-radius: 8rpx !important;
+}
+
+.round-r-3 {
+ border-top-right-radius: 12rpx !important;
+ border-bottom-right-radius: 12rpx !important;
+}
+
+.round-r-4 {
+ border-top-right-radius: 16rpx !important;
+ border-bottom-right-radius: 16rpx !important;
+}
+
+.round-r-5 {
+ border-top-right-radius: 20rpx !important;
+ border-bottom-right-radius: 20rpx !important;
+}
+
+.round-r-6 {
+ border-top-right-radius: 24rpx !important;
+ border-bottom-right-radius: 24rpx !important;
+}
+
+.round-r-7 {
+ border-top-right-radius: 28rpx !important;
+ border-bottom-right-radius: 28rpx !important;
+}
+
+.round-r-8 {
+ border-top-right-radius: 32rpx !important;
+ border-bottom-right-radius: 32rpx !important;
+}
+
+.round-r-9 {
+ border-top-right-radius: 36rpx !important;
+ border-bottom-right-radius: 36rpx !important;
+}
+
+.round-r-10 {
+ border-top-right-radius: 40rpx !important;
+ border-bottom-right-radius: 40rpx !important;
+}
+
+.round-r-11 {
+ border-top-right-radius: 44rpx !important;
+ border-bottom-right-radius: 44rpx !important;
+}
+
+.round-r-12 {
+ border-top-right-radius: 48rpx !important;
+ border-bottom-right-radius: 48rpx !important;
+}
+
+.round-r-13 {
+ border-top-right-radius: 52rpx !important;
+ border-bottom-right-radius: 52rpx !important;
+}
+
+.round-r-14 {
+ border-top-right-radius: 56rpx !important;
+ border-bottom-right-radius: 56rpx !important;
+}
+
+.round-r-15 {
+ border-top-right-radius: 60rpx !important;
+ border-bottom-right-radius: 60rpx !important;
+}
+
+.round-r-16 {
+ border-top-right-radius: 64rpx !important;
+ border-bottom-right-radius: 64rpx !important;
+}
+
+.round-r-17 {
+ border-top-right-radius: 68rpx !important;
+ border-bottom-right-radius: 68rpx !important;
+}
+
+.round-r-18 {
+ border-top-right-radius: 72rpx !important;
+ border-bottom-right-radius: 72rpx !important;
+}
+
+.round-r-19 {
+ border-top-right-radius: 76rpx !important;
+ border-bottom-right-radius: 76rpx !important;
+}
+
+.round-r-20 {
+ border-top-right-radius: 80rpx !important;
+ border-bottom-right-radius: 80rpx !important;
+}
+
+.round-r-21 {
+ border-top-right-radius: 84rpx !important;
+ border-bottom-right-radius: 84rpx !important;
+}
+
+.round-r-22 {
+ border-top-right-radius: 88rpx !important;
+ border-bottom-right-radius: 88rpx !important;
+}
+
+.round-r-23 {
+ border-top-right-radius: 92rpx !important;
+ border-bottom-right-radius: 92rpx !important;
+}
+
+.round-r-24 {
+ border-top-right-radius: 96rpx !important;
+ border-bottom-right-radius: 96rpx !important;
+}
+
+.round-r-25 {
+ border-top-right-radius: 100rpx !important;
+ border-bottom-right-radius: 100rpx !important;
+}
+
+.round-0 {
+ border-radius: 0rpx;
+}
+
+.round-1 {
+ border-radius: 4rpx;
+}
+
+.round-2 {
+ border-radius: 8rpx;
+}
+
+.round-3 {
+ border-radius: 12rpx;
+}
+
+.round-4 {
+ border-radius: 16rpx;
+}
+
+.round-5 {
+ border-radius: 20rpx;
+}
+
+.round-6 {
+ border-radius: 24rpx;
+}
+
+.round-7 {
+ border-radius: 28rpx;
+}
+
+.round-8 {
+ border-radius: 32rpx;
+}
+
+.round-9 {
+ border-radius: 36rpx;
+}
+
+.round-10 {
+ border-radius: 40rpx;
+}
+
+.round-11 {
+ border-radius: 44rpx;
+}
+
+.round-12 {
+ border-radius: 48rpx;
+}
+
+.round-13 {
+ border-radius: 52rpx;
+}
+
+.round-14 {
+ border-radius: 56rpx;
+}
+
+.round-15 {
+ border-radius: 60rpx;
+}
+
+.round-16 {
+ border-radius: 64rpx;
+}
+
+.round-17 {
+ border-radius: 68rpx;
+}
+
+.round-18 {
+ border-radius: 72rpx;
+}
+
+.round-19 {
+ border-radius: 76rpx;
+}
+
+.round-20 {
+ border-radius: 80rpx;
+}
+
+.round-21 {
+ border-radius: 84rpx;
+}
+
+.round-22 {
+ border-radius: 88rpx;
+}
+
+.round-23 {
+ border-radius: 92rpx;
+}
+
+.round-24 {
+ border-radius: 96rpx;
+}
+
+.round-25 {
+ border-radius: 100rpx;
+}
+
+.round-26 {
+ border-radius: 104rpx;
+}
+
+.rounded {
+ border-radius: 50% !important;
+}
+
+.opacity-0 {
+ opacity: 0;
+}
+
+.opacity-1 {
+ opacity: 0.1;
+}
+
+.opacity-2 {
+ opacity: 0.2;
+}
+
+.opacity-3 {
+ opacity: 0.3;
+}
+
+.opacity-4 {
+ opacity: 0.4;
+}
+
+.opacity-5 {
+ opacity: 0.5;
+}
+
+.opacity-6 {
+ opacity: 0.6;
+}
+
+.opacity-7 {
+ opacity: 0.7;
+}
+
+.opacity-8 {
+ opacity: 0.8;
+}
+
+.opacity-9 {
+ opacity: 0.9;
+}
+
+.opacity-10 {
+ opacity: 1;
+}
+
+.shadow {
+ box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-0 {
+ box-shadow: 0 0rpx 10rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-1 {
+ box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-2 {
+ box-shadow: 0 4rpx 14rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-3 {
+ box-shadow: 0 6rpx 16rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-4 {
+ box-shadow: 0 8rpx 18rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-5 {
+ box-shadow: 0 10rpx 20rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-6 {
+ box-shadow: 0 12rpx 22rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-7 {
+ box-shadow: 0 14rpx 24rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-8 {
+ box-shadow: 0 16rpx 26rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-9 {
+ box-shadow: 0 18rpx 28rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-10 {
+ box-shadow: 0 20rpx 30rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-11 {
+ box-shadow: 0 22rpx 32rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-12 {
+ box-shadow: 0 24rpx 34rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-13 {
+ box-shadow: 0 26rpx 36rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-14 {
+ box-shadow: 0 28rpx 38rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-15 {
+ box-shadow: 0 30rpx 40rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-16 {
+ box-shadow: 0 32rpx 42rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-17 {
+ box-shadow: 0 34rpx 44rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-18 {
+ box-shadow: 0 36rpx 46rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-19 {
+ box-shadow: 0 38rpx 48rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-20 {
+ box-shadow: 0 40rpx 50rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-21 {
+ box-shadow: 0 42rpx 52rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-22 {
+ box-shadow: 0 44rpx 54rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-23 {
+ box-shadow: 0 46rpx 56rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-24 {
+ box-shadow: 0 48rpx 58rpx rgba(0, 0, 0, 0.08);
+}
+
+.shadow-25 {
+ box-shadow: 0 50rpx 60rpx rgba(0, 0, 0, 0.08);
+}
+
+.border-0 {
+ border: solid 0rpx #f5f5f5 !important;
+}
+
+.border-0-bk {
+ border: solid 0rpx #282828 !important;
+}
+
+.border {
+ border: solid 2rpx #f5f5f5 !important;
+}
+
+.border-bk {
+ border: solid 2rpx #282828 !important;
+}
+
+.border-1 {
+ border: solid 2px #f5f5f5 !important;
+}
+
+.border-1-bk {
+ border: solid 2px #f5f5f5 !important;
+}
+
+.border-2 {
+ border: solid 4px #f5f5f5 !important;
+}
+
+.border-2-bk {
+ border: solid 4px #f5f5f5 !important;
+}
+
+.border-3 {
+ border: solid 6px #f5f5f5 !important;
+}
+
+.border-3-bk {
+ border: solid 6px #f5f5f5 !important;
+}
+
+.border-4 {
+ border: solid 8px #f5f5f5 !important;
+}
+
+.border-4-bk {
+ border: solid 8px #f5f5f5 !important;
+}
+
+.border-5 {
+ border: solid 10px #f5f5f5 !important;
+}
+
+.border-5-bk {
+ border: solid 10px #f5f5f5 !important;
+}
+
+.border-l-1 {
+ border-left: solid 2rpx whitesmoke !important;
+}
+
+.border-l-1-bk {
+ border-left: solid 2rpx #282828 !important;
+}
+
+.border-l-2 {
+ border-left: solid 4rpx whitesmoke !important;
+}
+
+.border-l-2-bk {
+ border-left: solid 4rpx #282828 !important;
+}
+
+.border-l-3 {
+ border-left: solid 6rpx whitesmoke !important;
+}
+
+.border-l-3-bk {
+ border-left: solid 6rpx #282828 !important;
+}
+
+.border-l-4 {
+ border-left: solid 8rpx whitesmoke !important;
+}
+
+.border-l-4-bk {
+ border-left: solid 8rpx #282828 !important;
+}
+
+.border-l-5 {
+ border-left: solid 10rpx whitesmoke !important;
+}
+
+.border-l-5-bk {
+ border-left: solid 10rpx #282828 !important;
+}
+
+.border-r-1 {
+ border-right: solid 2rpx whitesmoke !important;
+}
+
+.border-r-1-bk {
+ border-right: solid 2rpx #282828 !important;
+}
+
+.border-r-2 {
+ border-right: solid 4rpx whitesmoke !important;
+}
+
+.border-r-2-bk {
+ border-right: solid 4rpx #282828 !important;
+}
+
+.border-r-3 {
+ border-right: solid 6rpx whitesmoke !important;
+}
+
+.border-r-3-bk {
+ border-right: solid 6rpx #282828 !important;
+}
+
+.border-r-4 {
+ border-right: solid 8rpx whitesmoke !important;
+}
+
+.border-r-4-bk {
+ border-right: solid 8rpx #282828 !important;
+}
+
+.border-r-5 {
+ border-right: solid 10rpx whitesmoke !important;
+}
+
+.border-r-5-bk {
+ border-right: solid 10rpx #282828 !important;
+}
+
+.border-t-1 {
+ border-top: solid 2rpx whitesmoke !important;
+}
+
+.border-t-1-bk {
+ border-top: solid 2rpx #282828 !important;
+}
+
+.border-t-2 {
+ border-top: solid 4rpx whitesmoke !important;
+}
+
+.border-t-2-bk {
+ border-top: solid 4rpx #282828 !important;
+}
+
+.border-t-3 {
+ border-top: solid 6rpx whitesmoke !important;
+}
+
+.border-t-3-bk {
+ border-top: solid 6rpx #282828 !important;
+}
+
+.border-t-4 {
+ border-top: solid 8rpx whitesmoke !important;
+}
+
+.border-t-4-bk {
+ border-top: solid 8rpx #282828 !important;
+}
+
+.border-t-5 {
+ border-top: solid 10rpx whitesmoke !important;
+}
+
+.border-t-5-bk {
+ border-top: solid 10rpx #282828 !important;
+}
+
+.border-b-1 {
+ border-bottom: solid 2rpx whitesmoke !important;
+}
+
+.border-b-1-bk {
+ border-bottom: solid 2rpx #282828 !important;
+}
+
+.border-b-2 {
+ border-bottom: solid 4rpx whitesmoke !important;
+}
+
+.border-b-2-bk {
+ border-bottom: solid 4rpx #282828 !important;
+}
+
+.border-b-3 {
+ border-bottom: solid 6rpx whitesmoke !important;
+}
+
+.border-b-3-bk {
+ border-bottom: solid 6rpx #282828 !important;
+}
+
+.border-b-4 {
+ border-bottom: solid 8rpx whitesmoke !important;
+}
+
+.border-b-4-bk {
+ border-bottom: solid 8rpx #282828 !important;
+}
+
+.border-b-5 {
+ border-bottom: solid 10rpx whitesmoke !important;
+}
+
+.border-b-5-bk {
+ border-bottom: solid 10rpx #282828 !important;
+}
+
+.border-a-1 {
+ border: solid 2rpx whitesmoke !important;
+}
+
+.border-a-1-bk {
+ border: solid 2rpx #282828 !important;
+}
+
+.border-a-2 {
+ border: solid 4rpx whitesmoke !important;
+}
+
+.border-a-2-bk {
+ border: solid 4rpx #282828 !important;
+}
+
+.border-a-3 {
+ border: solid 6rpx whitesmoke !important;
+}
+
+.border-a-3-bk {
+ border: solid 6rpx #282828 !important;
+}
+
+.border-a-4 {
+ border: solid 8rpx whitesmoke !important;
+}
+
+.border-a-4-bk {
+ border: solid 8rpx #282828 !important;
+}
+
+.border-a-5 {
+ border: solid 10rpx whitesmoke !important;
+}
+
+.border-a-5-bk {
+ border: solid 10rpx #282828 !important;
+}
+
+.pa-0 {
+ padding: 0rpx;
+}
+
+.pa-1 {
+ padding: 1rpx;
+}
+
+.pa-2 {
+ padding: 2rpx;
+}
+
+.pa-3 {
+ padding: 3rpx;
+}
+
+.pa-4 {
+ padding: 4rpx;
+}
+
+.pa-5 {
+ padding: 5rpx;
+}
+
+.pa-6 {
+ padding: 6rpx;
+}
+
+.pa-7 {
+ padding: 7rpx;
+}
+
+.pa-8 {
+ padding: 8rpx;
+}
+
+.pa-9 {
+ padding: 9rpx;
+}
+
+.pa-10 {
+ padding: 10rpx;
+}
+
+.pa-11 {
+ padding: 11rpx;
+}
+
+.pa-12 {
+ padding: 12rpx;
+}
+
+.pa-13 {
+ padding: 13rpx;
+}
+
+.pa-14 {
+ padding: 14rpx;
+}
+
+.pa-15 {
+ padding: 15rpx;
+}
+
+.pa-16 {
+ padding: 16rpx;
+}
+
+.pa-17 {
+ padding: 17rpx;
+}
+
+.pa-18 {
+ padding: 18rpx;
+}
+
+.pa-19 {
+ padding: 19rpx;
+}
+
+.pa-20 {
+ padding: 20rpx;
+}
+
+.pa-21 {
+ padding: 21rpx;
+}
+
+.pa-22 {
+ padding: 22rpx;
+}
+
+.pa-23 {
+ padding: 23rpx;
+}
+
+.pa-24 {
+ padding: 24rpx;
+}
+
+.pa-25 {
+ padding: 25rpx;
+}
+
+.pa-n1 {
+ padding: 4rpx;
+}
+
+.pa-n2 {
+ padding: 8rpx;
+}
+
+.pa-n3 {
+ padding: 12rpx;
+}
+
+.pa-n4 {
+ padding: 16rpx;
+}
+
+.pa-n5 {
+ padding: 20rpx;
+}
+
+.pa-n6 {
+ padding: 24rpx;
+}
+
+.pa-n7 {
+ padding: 28rpx;
+}
+
+.pa-n8 {
+ padding: 32rpx;
+}
+
+.pa-n9 {
+ padding: 36rpx;
+}
+
+.pa-n10 {
+ padding: 40rpx;
+}
+
+.pa-n11 {
+ padding: 44rpx;
+}
+
+.pa-n12 {
+ padding: 48rpx;
+}
+
+.pa-n13 {
+ padding: 52rpx;
+}
+
+.pa-n14 {
+ padding: 56rpx;
+}
+
+.pa-n15 {
+ padding: 60rpx;
+}
+
+.pa-n16 {
+ padding: 64rpx;
+}
+
+.pa-n17 {
+ padding: 68rpx;
+}
+
+.pa-n18 {
+ padding: 72rpx;
+}
+
+.pa-n19 {
+ padding: 76rpx;
+}
+
+.pa-n20 {
+ padding: 80rpx;
+}
+
+.pa-n21 {
+ padding: 84rpx;
+}
+
+.pa-n22 {
+ padding: 88rpx;
+}
+
+.pa-n23 {
+ padding: 92rpx;
+}
+
+.pa-n24 {
+ padding: 96rpx;
+}
+
+.pa-n25 {
+ padding: 100rpx;
+}
+
+.pt-0 {
+ padding-top: 0rpx;
+}
+
+.pt-1 {
+ padding-top: 1rpx;
+}
+
+.pt-2 {
+ padding-top: 2rpx;
+}
+
+.pt-3 {
+ padding-top: 3rpx;
+}
+
+.pt-4 {
+ padding-top: 4rpx;
+}
+
+.pt-5 {
+ padding-top: 5rpx;
+}
+
+.pt-6 {
+ padding-top: 6rpx;
+}
+
+.pt-7 {
+ padding-top: 7rpx;
+}
+
+.pt-8 {
+ padding-top: 8rpx;
+}
+
+.pt-9 {
+ padding-top: 9rpx;
+}
+
+.pt-10 {
+ padding-top: 10rpx;
+}
+
+.pt-11 {
+ padding-top: 11rpx;
+}
+
+.pt-12 {
+ padding-top: 12rpx;
+}
+
+.pt-13 {
+ padding-top: 13rpx;
+}
+
+.pt-14 {
+ padding-top: 14rpx;
+}
+
+.pt-15 {
+ padding-top: 15rpx;
+}
+
+.pt-16 {
+ padding-top: 16rpx;
+}
+
+.pt-17 {
+ padding-top: 17rpx;
+}
+
+.pt-18 {
+ padding-top: 18rpx;
+}
+
+.pt-19 {
+ padding-top: 19rpx;
+}
+
+.pt-20 {
+ padding-top: 20rpx;
+}
+
+.pt-21 {
+ padding-top: 21rpx;
+}
+
+.pt-22 {
+ padding-top: 22rpx;
+}
+
+.pt-23 {
+ padding-top: 23rpx;
+}
+
+.pt-24 {
+ padding-top: 24rpx;
+}
+
+.pt-25 {
+ padding-top: 25rpx;
+}
+
+.pt-n1 {
+ padding-top: 4rpx;
+}
+
+.pt-n2 {
+ padding-top: 8rpx;
+}
+
+.pt-n3 {
+ padding-top: 12rpx;
+}
+
+.pt-n4 {
+ padding-top: 16rpx;
+}
+
+.pt-n5 {
+ padding-top: 20rpx;
+}
+
+.pt-n6 {
+ padding-top: 24rpx;
+}
+
+.pt-n7 {
+ padding-top: 28rpx;
+}
+
+.pt-n8 {
+ padding-top: 32rpx;
+}
+
+.pt-n9 {
+ padding-top: 36rpx;
+}
+
+.pt-n10 {
+ padding-top: 40rpx;
+}
+
+.pt-n11 {
+ padding-top: 44rpx;
+}
+
+.pt-n12 {
+ padding-top: 48rpx;
+}
+
+.pt-n13 {
+ padding-top: 52rpx;
+}
+
+.pt-n14 {
+ padding-top: 56rpx;
+}
+
+.pt-n15 {
+ padding-top: 60rpx;
+}
+
+.pt-n16 {
+ padding-top: 64rpx;
+}
+
+.pt-n17 {
+ padding-top: 68rpx;
+}
+
+.pt-n18 {
+ padding-top: 72rpx;
+}
+
+.pt-n19 {
+ padding-top: 76rpx;
+}
+
+.pt-n20 {
+ padding-top: 80rpx;
+}
+
+.pt-n21 {
+ padding-top: 84rpx;
+}
+
+.pt-n22 {
+ padding-top: 88rpx;
+}
+
+.pt-n23 {
+ padding-top: 92rpx;
+}
+
+.pt-n24 {
+ padding-top: 96rpx;
+}
+
+.pt-n25 {
+ padding-top: 100rpx;
+}
+
+.pr-0 {
+ padding-right: 0rpx;
+}
+
+.pr-1 {
+ padding-right: 1rpx;
+}
+
+.pr-2 {
+ padding-right: 2rpx;
+}
+
+.pr-3 {
+ padding-right: 3rpx;
+}
+
+.pr-4 {
+ padding-right: 4rpx;
+}
+
+.pr-5 {
+ padding-right: 5rpx;
+}
+
+.pr-6 {
+ padding-right: 6rpx;
+}
+
+.pr-7 {
+ padding-right: 7rpx;
+}
+
+.pr-8 {
+ padding-right: 8rpx;
+}
+
+.pr-9 {
+ padding-right: 9rpx;
+}
+
+.pr-10 {
+ padding-right: 10rpx;
+}
+
+.pr-11 {
+ padding-right: 11rpx;
+}
+
+.pr-12 {
+ padding-right: 12rpx;
+}
+
+.pr-13 {
+ padding-right: 13rpx;
+}
+
+.pr-14 {
+ padding-right: 14rpx;
+}
+
+.pr-15 {
+ padding-right: 15rpx;
+}
+
+.pr-16 {
+ padding-right: 16rpx;
+}
+
+.pr-17 {
+ padding-right: 17rpx;
+}
+
+.pr-18 {
+ padding-right: 18rpx;
+}
+
+.pr-19 {
+ padding-right: 19rpx;
+}
+
+.pr-20 {
+ padding-right: 20rpx;
+}
+
+.pr-21 {
+ padding-right: 21rpx;
+}
+
+.pr-22 {
+ padding-right: 22rpx;
+}
+
+.pr-23 {
+ padding-right: 23rpx;
+}
+
+.pr-24 {
+ padding-right: 24rpx;
+}
+
+.pr-25 {
+ padding-right: 25rpx;
+}
+
+.pr-n1 {
+ padding-right: 4rpx;
+}
+
+.pr-n2 {
+ padding-right: 8rpx;
+}
+
+.pr-n3 {
+ padding-right: 12rpx;
+}
+
+.pr-n4 {
+ padding-right: 16rpx;
+}
+
+.pr-n5 {
+ padding-right: 20rpx;
+}
+
+.pr-n6 {
+ padding-right: 24rpx;
+}
+
+.pr-n7 {
+ padding-right: 28rpx;
+}
+
+.pr-n8 {
+ padding-right: 32rpx;
+}
+
+.pr-n9 {
+ padding-right: 36rpx;
+}
+
+.pr-n10 {
+ padding-right: 40rpx;
+}
+
+.pr-n11 {
+ padding-right: 44rpx;
+}
+
+.pr-n12 {
+ padding-right: 48rpx;
+}
+
+.pr-n13 {
+ padding-right: 52rpx;
+}
+
+.pr-n14 {
+ padding-right: 56rpx;
+}
+
+.pr-n15 {
+ padding-right: 60rpx;
+}
+
+.pr-n16 {
+ padding-right: 64rpx;
+}
+
+.pr-n17 {
+ padding-right: 68rpx;
+}
+
+.pr-n18 {
+ padding-right: 72rpx;
+}
+
+.pr-n19 {
+ padding-right: 76rpx;
+}
+
+.pr-n20 {
+ padding-right: 80rpx;
+}
+
+.pr-n21 {
+ padding-right: 84rpx;
+}
+
+.pr-n22 {
+ padding-right: 88rpx;
+}
+
+.pr-n23 {
+ padding-right: 92rpx;
+}
+
+.pr-n24 {
+ padding-right: 96rpx;
+}
+
+.pr-n25 {
+ padding-right: 100rpx;
+}
+
+.pb-0 {
+ padding-bottom: 0rpx;
+}
+
+.pb-1 {
+ padding-bottom: 1rpx;
+}
+
+.pb-2 {
+ padding-bottom: 2rpx;
+}
+
+.pb-3 {
+ padding-bottom: 3rpx;
+}
+
+.pb-4 {
+ padding-bottom: 4rpx;
+}
+
+.pb-5 {
+ padding-bottom: 5rpx;
+}
+
+.pb-6 {
+ padding-bottom: 6rpx;
+}
+
+.pb-7 {
+ padding-bottom: 7rpx;
+}
+
+.pb-8 {
+ padding-bottom: 8rpx;
+}
+
+.pb-9 {
+ padding-bottom: 9rpx;
+}
+
+.pb-10 {
+ padding-bottom: 10rpx;
+}
+
+.pb-11 {
+ padding-bottom: 11rpx;
+}
+
+.pb-12 {
+ padding-bottom: 12rpx;
+}
+
+.pb-13 {
+ padding-bottom: 13rpx;
+}
+
+.pb-14 {
+ padding-bottom: 14rpx;
+}
+
+.pb-15 {
+ padding-bottom: 15rpx;
+}
+
+.pb-16 {
+ padding-bottom: 16rpx;
+}
+
+.pb-17 {
+ padding-bottom: 17rpx;
+}
+
+.pb-18 {
+ padding-bottom: 18rpx;
+}
+
+.pb-19 {
+ padding-bottom: 19rpx;
+}
+
+.pb-20 {
+ padding-bottom: 20rpx;
+}
+
+.pb-21 {
+ padding-bottom: 21rpx;
+}
+
+.pb-22 {
+ padding-bottom: 22rpx;
+}
+
+.pb-23 {
+ padding-bottom: 23rpx;
+}
+
+.pb-24 {
+ padding-bottom: 24rpx;
+}
+
+.pb-25 {
+ padding-bottom: 25rpx;
+}
+
+.pb-n1 {
+ padding-bottom: 4rpx;
+}
+
+.pb-n2 {
+ padding-bottom: 8rpx;
+}
+
+.pb-n3 {
+ padding-bottom: 12rpx;
+}
+
+.pb-n4 {
+ padding-bottom: 16rpx;
+}
+
+.pb-n5 {
+ padding-bottom: 20rpx;
+}
+
+.pb-n6 {
+ padding-bottom: 24rpx;
+}
+
+.pb-n7 {
+ padding-bottom: 28rpx;
+}
+
+.pb-n8 {
+ padding-bottom: 32rpx;
+}
+
+.pb-n9 {
+ padding-bottom: 36rpx;
+}
+
+.pb-n10 {
+ padding-bottom: 40rpx;
+}
+
+.pb-n11 {
+ padding-bottom: 44rpx;
+}
+
+.pb-n12 {
+ padding-bottom: 48rpx;
+}
+
+.pb-n13 {
+ padding-bottom: 52rpx;
+}
+
+.pb-n14 {
+ padding-bottom: 56rpx;
+}
+
+.pb-n15 {
+ padding-bottom: 60rpx;
+}
+
+.pb-n16 {
+ padding-bottom: 64rpx;
+}
+
+.pb-n17 {
+ padding-bottom: 68rpx;
+}
+
+.pb-n18 {
+ padding-bottom: 72rpx;
+}
+
+.pb-n19 {
+ padding-bottom: 76rpx;
+}
+
+.pb-n20 {
+ padding-bottom: 80rpx;
+}
+
+.pb-n21 {
+ padding-bottom: 84rpx;
+}
+
+.pb-n22 {
+ padding-bottom: 88rpx;
+}
+
+.pb-n23 {
+ padding-bottom: 92rpx;
+}
+
+.pb-n24 {
+ padding-bottom: 96rpx;
+}
+
+.pb-n25 {
+ padding-bottom: 100rpx;
+}
+
+.pl-0 {
+ padding-left: 0rpx;
+}
+
+.pl-1 {
+ padding-left: 1rpx;
+}
+
+.pl-2 {
+ padding-left: 2rpx;
+}
+
+.pl-3 {
+ padding-left: 3rpx;
+}
+
+.pl-4 {
+ padding-left: 4rpx;
+}
+
+.pl-5 {
+ padding-left: 5rpx;
+}
+
+.pl-6 {
+ padding-left: 6rpx;
+}
+
+.pl-7 {
+ padding-left: 7rpx;
+}
+
+.pl-8 {
+ padding-left: 8rpx;
+}
+
+.pl-9 {
+ padding-left: 9rpx;
+}
+
+.pl-10 {
+ padding-left: 10rpx;
+}
+
+.pl-11 {
+ padding-left: 11rpx;
+}
+
+.pl-12 {
+ padding-left: 12rpx;
+}
+
+.pl-13 {
+ padding-left: 13rpx;
+}
+
+.pl-14 {
+ padding-left: 14rpx;
+}
+
+.pl-15 {
+ padding-left: 15rpx;
+}
+
+.pl-16 {
+ padding-left: 16rpx;
+}
+
+.pl-17 {
+ padding-left: 17rpx;
+}
+
+.pl-18 {
+ padding-left: 18rpx;
+}
+
+.pl-19 {
+ padding-left: 19rpx;
+}
+
+.pl-20 {
+ padding-left: 20rpx;
+}
+
+.pl-21 {
+ padding-left: 21rpx;
+}
+
+.pl-22 {
+ padding-left: 22rpx;
+}
+
+.pl-23 {
+ padding-left: 23rpx;
+}
+
+.pl-24 {
+ padding-left: 24rpx;
+}
+
+.pl-25 {
+ padding-left: 25rpx;
+}
+
+.pl-n1 {
+ padding-left: 4rpx;
+}
+
+.pl-n2 {
+ padding-left: 8rpx;
+}
+
+.pl-n3 {
+ padding-left: 12rpx;
+}
+
+.pl-n4 {
+ padding-left: 16rpx;
+}
+
+.pl-n5 {
+ padding-left: 20rpx;
+}
+
+.pl-n6 {
+ padding-left: 24rpx;
+}
+
+.pl-n7 {
+ padding-left: 28rpx;
+}
+
+.pl-n8 {
+ padding-left: 32rpx;
+}
+
+.pl-n9 {
+ padding-left: 36rpx;
+}
+
+.pl-n10 {
+ padding-left: 40rpx;
+}
+
+.pl-n11 {
+ padding-left: 44rpx;
+}
+
+.pl-n12 {
+ padding-left: 48rpx;
+}
+
+.pl-n13 {
+ padding-left: 52rpx;
+}
+
+.pl-n14 {
+ padding-left: 56rpx;
+}
+
+.pl-n15 {
+ padding-left: 60rpx;
+}
+
+.pl-n16 {
+ padding-left: 64rpx;
+}
+
+.pl-n17 {
+ padding-left: 68rpx;
+}
+
+.pl-n18 {
+ padding-left: 72rpx;
+}
+
+.pl-n19 {
+ padding-left: 76rpx;
+}
+
+.pl-n20 {
+ padding-left: 80rpx;
+}
+
+.pl-n21 {
+ padding-left: 84rpx;
+}
+
+.pl-n22 {
+ padding-left: 88rpx;
+}
+
+.pl-n23 {
+ padding-left: 92rpx;
+}
+
+.pl-n24 {
+ padding-left: 96rpx;
+}
+
+.pl-n25 {
+ padding-left: 100rpx;
+}
+
+.px-0 {
+ padding-left: 0rpx;
+ padding-right: 0rpx;
+}
+
+.px-1 {
+ padding-left: 1rpx;
+ padding-right: 1rpx;
+}
+
+.px-2 {
+ padding-left: 2rpx;
+ padding-right: 2rpx;
+}
+
+.px-3 {
+ padding-left: 3rpx;
+ padding-right: 3rpx;
+}
+
+.px-4 {
+ padding-left: 4rpx;
+ padding-right: 4rpx;
+}
+
+.px-5 {
+ padding-left: 5rpx;
+ padding-right: 5rpx;
+}
+
+.px-6 {
+ padding-left: 6rpx;
+ padding-right: 6rpx;
+}
+
+.px-7 {
+ padding-left: 7rpx;
+ padding-right: 7rpx;
+}
+
+.px-8 {
+ padding-left: 8rpx;
+ padding-right: 8rpx;
+}
+
+.px-9 {
+ padding-left: 9rpx;
+ padding-right: 9rpx;
+}
+
+.px-10 {
+ padding-left: 10rpx;
+ padding-right: 10rpx;
+}
+
+.px-11 {
+ padding-left: 11rpx;
+ padding-right: 11rpx;
+}
+
+.px-12 {
+ padding-left: 12rpx;
+ padding-right: 12rpx;
+}
+
+.px-13 {
+ padding-left: 13rpx;
+ padding-right: 13rpx;
+}
+
+.px-14 {
+ padding-left: 14rpx;
+ padding-right: 14rpx;
+}
+
+.px-15 {
+ padding-left: 15rpx;
+ padding-right: 15rpx;
+}
+
+.px-16 {
+ padding-left: 16rpx;
+ padding-right: 16rpx;
+}
+
+.px-17 {
+ padding-left: 17rpx;
+ padding-right: 17rpx;
+}
+
+.px-18 {
+ padding-left: 18rpx;
+ padding-right: 18rpx;
+}
+
+.px-19 {
+ padding-left: 19rpx;
+ padding-right: 19rpx;
+}
+
+.px-20 {
+ padding-left: 20rpx;
+ padding-right: 20rpx;
+}
+
+.px-21 {
+ padding-left: 21rpx;
+ padding-right: 21rpx;
+}
+
+.px-22 {
+ padding-left: 22rpx;
+ padding-right: 22rpx;
+}
+
+.px-23 {
+ padding-left: 23rpx;
+ padding-right: 23rpx;
+}
+
+.px-24 {
+ padding-left: 24rpx;
+ padding-right: 24rpx;
+}
+
+.px-25 {
+ padding-left: 25rpx;
+ padding-right: 25rpx;
+}
+
+.px-n1 {
+ padding-left: 4rpx;
+ padding-right: 4rpx;
+}
+
+.px-n2 {
+ padding-left: 8rpx;
+ padding-right: 8rpx;
+}
+
+.px-n3 {
+ padding-left: 12rpx;
+ padding-right: 12rpx;
+}
+
+.px-n4 {
+ padding-left: 16rpx;
+ padding-right: 16rpx;
+}
+
+.px-n5 {
+ padding-left: 20rpx;
+ padding-right: 20rpx;
+}
+
+.px-n6 {
+ padding-left: 24rpx;
+ padding-right: 24rpx;
+}
+
+.px-n7 {
+ padding-left: 28rpx;
+ padding-right: 28rpx;
+}
+
+.px-n8 {
+ padding-left: 32rpx;
+ padding-right: 32rpx;
+}
+
+.px-n9 {
+ padding-left: 36rpx;
+ padding-right: 36rpx;
+}
+
+.px-n10 {
+ padding-left: 40rpx;
+ padding-right: 40rpx;
+}
+
+.px-n11 {
+ padding-left: 44rpx;
+ padding-right: 44rpx;
+}
+
+.px-n12 {
+ padding-left: 48rpx;
+ padding-right: 48rpx;
+}
+
+.px-n13 {
+ padding-left: 52rpx;
+ padding-right: 52rpx;
+}
+
+.px-n14 {
+ padding-left: 56rpx;
+ padding-right: 56rpx;
+}
+
+.px-n15 {
+ padding-left: 60rpx;
+ padding-right: 60rpx;
+}
+
+.px-n16 {
+ padding-left: 64rpx;
+ padding-right: 64rpx;
+}
+
+.px-n17 {
+ padding-left: 68rpx;
+ padding-right: 68rpx;
+}
+
+.px-n18 {
+ padding-left: 72rpx;
+ padding-right: 72rpx;
+}
+
+.px-n19 {
+ padding-left: 76rpx;
+ padding-right: 76rpx;
+}
+
+.px-n20 {
+ padding-left: 80rpx;
+ padding-right: 80rpx;
+}
+
+.px-n21 {
+ padding-left: 84rpx;
+ padding-right: 84rpx;
+}
+
+.px-n22 {
+ padding-left: 88rpx;
+ padding-right: 88rpx;
+}
+
+.px-n23 {
+ padding-left: 92rpx;
+ padding-right: 92rpx;
+}
+
+.px-n24 {
+ padding-left: 96rpx;
+ padding-right: 96rpx;
+}
+
+.px-n25 {
+ padding-left: 100rpx;
+ padding-right: 100rpx;
+}
+
+.py-0 {
+ padding-top: 0rpx;
+ padding-bottom: 0rpx;
+}
+
+.py-1 {
+ padding-top: 1rpx;
+ padding-bottom: 1rpx;
+}
+
+.py-2 {
+ padding-top: 2rpx;
+ padding-bottom: 2rpx;
+}
+
+.py-3 {
+ padding-top: 3rpx;
+ padding-bottom: 3rpx;
+}
+
+.py-4 {
+ padding-top: 4rpx;
+ padding-bottom: 4rpx;
+}
+
+.py-5 {
+ padding-top: 5rpx;
+ padding-bottom: 5rpx;
+}
+
+.py-6 {
+ padding-top: 6rpx;
+ padding-bottom: 6rpx;
+}
+
+.py-7 {
+ padding-top: 7rpx;
+ padding-bottom: 7rpx;
+}
+
+.py-8 {
+ padding-top: 8rpx;
+ padding-bottom: 8rpx;
+}
+
+.py-9 {
+ padding-top: 9rpx;
+ padding-bottom: 9rpx;
+}
+
+.py-10 {
+ padding-top: 10rpx;
+ padding-bottom: 10rpx;
+}
+
+.py-11 {
+ padding-top: 11rpx;
+ padding-bottom: 11rpx;
+}
+
+.py-12 {
+ padding-top: 12rpx;
+ padding-bottom: 12rpx;
+}
+
+.py-13 {
+ padding-top: 13rpx;
+ padding-bottom: 13rpx;
+}
+
+.py-14 {
+ padding-top: 14rpx;
+ padding-bottom: 14rpx;
+}
+
+.py-15 {
+ padding-top: 15rpx;
+ padding-bottom: 15rpx;
+}
+
+.py-16 {
+ padding-top: 16rpx;
+ padding-bottom: 16rpx;
+}
+
+.py-17 {
+ padding-top: 17rpx;
+ padding-bottom: 17rpx;
+}
+
+.py-18 {
+ padding-top: 18rpx;
+ padding-bottom: 18rpx;
+}
+
+.py-19 {
+ padding-top: 19rpx;
+ padding-bottom: 19rpx;
+}
+
+.py-20 {
+ padding-top: 20rpx;
+ padding-bottom: 20rpx;
+}
+
+.py-21 {
+ padding-top: 21rpx;
+ padding-bottom: 21rpx;
+}
+
+.py-22 {
+ padding-top: 22rpx;
+ padding-bottom: 22rpx;
+}
+
+.py-23 {
+ padding-top: 23rpx;
+ padding-bottom: 23rpx;
+}
+
+.py-24 {
+ padding-top: 24rpx;
+ padding-bottom: 24rpx;
+}
+
+.py-25 {
+ padding-top: 25rpx;
+ padding-bottom: 25rpx;
+}
+
+.py-n1 {
+ padding-top: 4rpx;
+ padding-bottom: 4rpx;
+}
+
+.py-n2 {
+ padding-top: 8rpx;
+ padding-bottom: 8rpx;
+}
+
+.py-n3 {
+ padding-top: 12rpx;
+ padding-bottom: 12rpx;
+}
+
+.py-n4 {
+ padding-top: 16rpx;
+ padding-bottom: 16rpx;
+}
+
+.py-n5 {
+ padding-top: 20rpx;
+ padding-bottom: 20rpx;
+}
+
+.py-n6 {
+ padding-top: 24rpx;
+ padding-bottom: 24rpx;
+}
+
+.py-n7 {
+ padding-top: 28rpx;
+ padding-bottom: 28rpx;
+}
+
+.py-n8 {
+ padding-top: 32rpx;
+ padding-bottom: 32rpx;
+}
+
+.py-n9 {
+ padding-top: 36rpx;
+ padding-bottom: 36rpx;
+}
+
+.py-n10 {
+ padding-top: 40rpx;
+ padding-bottom: 40rpx;
+}
+
+.py-n11 {
+ padding-top: 44rpx;
+ padding-bottom: 44rpx;
+}
+
+.py-n12 {
+ padding-top: 48rpx;
+ padding-bottom: 48rpx;
+}
+
+.py-n13 {
+ padding-top: 52rpx;
+ padding-bottom: 52rpx;
+}
+
+.py-n14 {
+ padding-top: 56rpx;
+ padding-bottom: 56rpx;
+}
+
+.py-n15 {
+ padding-top: 60rpx;
+ padding-bottom: 60rpx;
+}
+
+.py-n16 {
+ padding-top: 64rpx;
+ padding-bottom: 64rpx;
+}
+
+.py-n17 {
+ padding-top: 68rpx;
+ padding-bottom: 68rpx;
+}
+
+.py-n18 {
+ padding-top: 72rpx;
+ padding-bottom: 72rpx;
+}
+
+.py-n19 {
+ padding-top: 76rpx;
+ padding-bottom: 76rpx;
+}
+
+.py-n20 {
+ padding-top: 80rpx;
+ padding-bottom: 80rpx;
+}
+
+.py-n21 {
+ padding-top: 84rpx;
+ padding-bottom: 84rpx;
+}
+
+.py-n22 {
+ padding-top: 88rpx;
+ padding-bottom: 88rpx;
+}
+
+.py-n23 {
+ padding-top: 92rpx;
+ padding-bottom: 92rpx;
+}
+
+.py-n24 {
+ padding-top: 96rpx;
+ padding-bottom: 96rpx;
+}
+
+.py-n25 {
+ padding-top: 100rpx;
+ padding-bottom: 100rpx;
+}
+
+.ma-0 {
+ margin: 0rpx;
+}
+
+.ma-1 {
+ margin: 1rpx;
+}
+
+.ma-2 {
+ margin: 2rpx;
+}
+
+.ma-3 {
+ margin: 3rpx;
+}
+
+.ma-4 {
+ margin: 4rpx;
+}
+
+.ma-5 {
+ margin: 5rpx;
+}
+
+.ma-6 {
+ margin: 6rpx;
+}
+
+.ma-7 {
+ margin: 7rpx;
+}
+
+.ma-8 {
+ margin: 8rpx;
+}
+
+.ma-9 {
+ margin: 9rpx;
+}
+
+.ma-10 {
+ margin: 10rpx;
+}
+
+.ma-11 {
+ margin: 11rpx;
+}
+
+.ma-12 {
+ margin: 12rpx;
+}
+
+.ma-13 {
+ margin: 13rpx;
+}
+
+.ma-14 {
+ margin: 14rpx;
+}
+
+.ma-15 {
+ margin: 15rpx;
+}
+
+.ma-16 {
+ margin: 16rpx;
+}
+
+.ma-17 {
+ margin: 17rpx;
+}
+
+.ma-18 {
+ margin: 18rpx;
+}
+
+.ma-19 {
+ margin: 19rpx;
+}
+
+.ma-20 {
+ margin: 20rpx;
+}
+
+.ma-21 {
+ margin: 21rpx;
+}
+
+.ma-22 {
+ margin: 22rpx;
+}
+
+.ma-23 {
+ margin: 23rpx;
+}
+
+.ma-24 {
+ margin: 24rpx;
+}
+
+.ma-25 {
+ margin: 25rpx;
+}
+
+.ma-n1 {
+ margin: 4rpx;
+}
+
+.ma-n2 {
+ margin: 8rpx;
+}
+
+.ma-n3 {
+ margin: 12rpx;
+}
+
+.ma-n4 {
+ margin: 16rpx;
+}
+
+.ma-n5 {
+ margin: 20rpx;
+}
+
+.ma-n6 {
+ margin: 24rpx;
+}
+
+.ma-n7 {
+ margin: 28rpx;
+}
+
+.ma-n8 {
+ margin: 32rpx;
+}
+
+.ma-n9 {
+ margin: 36rpx;
+}
+
+.ma-n10 {
+ margin: 40rpx;
+}
+
+.ma-n11 {
+ margin: 44rpx;
+}
+
+.ma-n12 {
+ margin: 48rpx;
+}
+
+.ma-n13 {
+ margin: 52rpx;
+}
+
+.ma-n14 {
+ margin: 56rpx;
+}
+
+.ma-n15 {
+ margin: 60rpx;
+}
+
+.ma-n16 {
+ margin: 64rpx;
+}
+
+.ma-n17 {
+ margin: 68rpx;
+}
+
+.ma-n18 {
+ margin: 72rpx;
+}
+
+.ma-n19 {
+ margin: 76rpx;
+}
+
+.ma-n20 {
+ margin: 80rpx;
+}
+
+.ma-n21 {
+ margin: 84rpx;
+}
+
+.ma-n22 {
+ margin: 88rpx;
+}
+
+.ma-n23 {
+ margin: 92rpx;
+}
+
+.ma-n24 {
+ margin: 96rpx;
+}
+
+.ma-n25 {
+ margin: 100rpx;
+}
+
+.mt-0 {
+ margin-top: 0rpx;
+}
+
+.mt--0 {
+ margin-top: -0rpx;
+}
+
+.mt-1 {
+ margin-top: 1rpx;
+}
+
+.mt--1 {
+ margin-top: -1rpx;
+}
+
+.mt-2 {
+ margin-top: 2rpx;
+}
+
+.mt--2 {
+ margin-top: -2rpx;
+}
+
+.mt-3 {
+ margin-top: 3rpx;
+}
+
+.mt--3 {
+ margin-top: -3rpx;
+}
+
+.mt-4 {
+ margin-top: 4rpx;
+}
+
+.mt--4 {
+ margin-top: -4rpx;
+}
+
+.mt-5 {
+ margin-top: 5rpx;
+}
+
+.mt--5 {
+ margin-top: -5rpx;
+}
+
+.mt-6 {
+ margin-top: 6rpx;
+}
+
+.mt--6 {
+ margin-top: -6rpx;
+}
+
+.mt-7 {
+ margin-top: 7rpx;
+}
+
+.mt--7 {
+ margin-top: -7rpx;
+}
+
+.mt-8 {
+ margin-top: 8rpx;
+}
+
+.mt--8 {
+ margin-top: -8rpx;
+}
+
+.mt-9 {
+ margin-top: 9rpx;
+}
+
+.mt--9 {
+ margin-top: -9rpx;
+}
+
+.mt-10 {
+ margin-top: 10rpx;
+}
+
+.mt--10 {
+ margin-top: -10rpx;
+}
+
+.mt-11 {
+ margin-top: 11rpx;
+}
+
+.mt--11 {
+ margin-top: -11rpx;
+}
+
+.mt-12 {
+ margin-top: 12rpx;
+}
+
+.mt--12 {
+ margin-top: -12rpx;
+}
+
+.mt-13 {
+ margin-top: 13rpx;
+}
+
+.mt--13 {
+ margin-top: -13rpx;
+}
+
+.mt-14 {
+ margin-top: 14rpx;
+}
+
+.mt--14 {
+ margin-top: -14rpx;
+}
+
+.mt-15 {
+ margin-top: 15rpx;
+}
+
+.mt--15 {
+ margin-top: -15rpx;
+}
+
+.mt-16 {
+ margin-top: 16rpx;
+}
+
+.mt--16 {
+ margin-top: -16rpx;
+}
+
+.mt-17 {
+ margin-top: 17rpx;
+}
+
+.mt--17 {
+ margin-top: -17rpx;
+}
+
+.mt-18 {
+ margin-top: 18rpx;
+}
+
+.mt--18 {
+ margin-top: -18rpx;
+}
+
+.mt-19 {
+ margin-top: 19rpx;
+}
+
+.mt--19 {
+ margin-top: -19rpx;
+}
+
+.mt-20 {
+ margin-top: 20rpx;
+}
+
+.mt--20 {
+ margin-top: -20rpx;
+}
+
+.mt-21 {
+ margin-top: 21rpx;
+}
+
+.mt--21 {
+ margin-top: -21rpx;
+}
+
+.mt-22 {
+ margin-top: 22rpx;
+}
+
+.mt--22 {
+ margin-top: -22rpx;
+}
+
+.mt-23 {
+ margin-top: 23rpx;
+}
+
+.mt--23 {
+ margin-top: -23rpx;
+}
+
+.mt-24 {
+ margin-top: 24rpx;
+}
+
+.mt--24 {
+ margin-top: -24rpx;
+}
+
+.mt-25 {
+ margin-top: 25rpx;
+}
+
+.mt--25 {
+ margin-top: -25rpx;
+}
+
+.mt-n1 {
+ margin-top: 4rpx;
+}
+
+.mt--n1 {
+ margin-top: -4rpx;
+}
+
+.mt-n2 {
+ margin-top: 8rpx;
+}
+
+.mt--n2 {
+ margin-top: -8rpx;
+}
+
+.mt-n3 {
+ margin-top: 12rpx;
+}
+
+.mt--n3 {
+ margin-top: -12rpx;
+}
+
+.mt-n4 {
+ margin-top: 16rpx;
+}
+
+.mt--n4 {
+ margin-top: -16rpx;
+}
+
+.mt-n5 {
+ margin-top: 20rpx;
+}
+
+.mt--n5 {
+ margin-top: -20rpx;
+}
+
+.mt-n6 {
+ margin-top: 24rpx;
+}
+
+.mt--n6 {
+ margin-top: -24rpx;
+}
+
+.mt-n7 {
+ margin-top: 28rpx;
+}
+
+.mt--n7 {
+ margin-top: -28rpx;
+}
+
+.mt-n8 {
+ margin-top: 32rpx;
+}
+
+.mt--n8 {
+ margin-top: -32rpx;
+}
+
+.mt-n9 {
+ margin-top: 36rpx;
+}
+
+.mt--n9 {
+ margin-top: -36rpx;
+}
+
+.mt-n10 {
+ margin-top: 40rpx;
+}
+
+.mt--n10 {
+ margin-top: -40rpx;
+}
+
+.mt-n11 {
+ margin-top: 44rpx;
+}
+
+.mt--n11 {
+ margin-top: -44rpx;
+}
+
+.mt-n12 {
+ margin-top: 48rpx;
+}
+
+.mt--n12 {
+ margin-top: -48rpx;
+}
+
+.mt-n13 {
+ margin-top: 52rpx;
+}
+
+.mt--n13 {
+ margin-top: -52rpx;
+}
+
+.mt-n14 {
+ margin-top: 56rpx;
+}
+
+.mt--n14 {
+ margin-top: -56rpx;
+}
+
+.mt-n15 {
+ margin-top: 60rpx;
+}
+
+.mt--n15 {
+ margin-top: -60rpx;
+}
+
+.mt-n16 {
+ margin-top: 64rpx;
+}
+
+.mt--n16 {
+ margin-top: -64rpx;
+}
+
+.mt-n17 {
+ margin-top: 68rpx;
+}
+
+.mt--n17 {
+ margin-top: -68rpx;
+}
+
+.mt-n18 {
+ margin-top: 72rpx;
+}
+
+.mt--n18 {
+ margin-top: -72rpx;
+}
+
+.mt-n19 {
+ margin-top: 76rpx;
+}
+
+.mt--n19 {
+ margin-top: -76rpx;
+}
+
+.mt-n20 {
+ margin-top: 80rpx;
+}
+
+.mt--n20 {
+ margin-top: -80rpx;
+}
+
+.mt-n21 {
+ margin-top: 84rpx;
+}
+
+.mt--n21 {
+ margin-top: -84rpx;
+}
+
+.mt-n22 {
+ margin-top: 88rpx;
+}
+
+.mt--n22 {
+ margin-top: -88rpx;
+}
+
+.mt-n23 {
+ margin-top: 92rpx;
+}
+
+.mt--n23 {
+ margin-top: -92rpx;
+}
+
+.mt-n24 {
+ margin-top: 96rpx;
+}
+
+.mt--n24 {
+ margin-top: -96rpx;
+}
+
+.mt-n25 {
+ margin-top: 100rpx;
+}
+
+.mt--n25 {
+ margin-top: -100rpx;
+}
+
+.mr-0 {
+ margin-right: 0rpx;
+}
+
+.mr--0 {
+ margin-right: -0rpx;
+}
+
+.mr-1 {
+ margin-right: 1rpx;
+}
+
+.mr--1 {
+ margin-right: -1rpx;
+}
+
+.mr-2 {
+ margin-right: 2rpx;
+}
+
+.mr--2 {
+ margin-right: -2rpx;
+}
+
+.mr-3 {
+ margin-right: 3rpx;
+}
+
+.mr--3 {
+ margin-right: -3rpx;
+}
+
+.mr-4 {
+ margin-right: 4rpx;
+}
+
+.mr--4 {
+ margin-right: -4rpx;
+}
+
+.mr-5 {
+ margin-right: 5rpx;
+}
+
+.mr--5 {
+ margin-right: -5rpx;
+}
+
+.mr-6 {
+ margin-right: 6rpx;
+}
+
+.mr--6 {
+ margin-right: -6rpx;
+}
+
+.mr-7 {
+ margin-right: 7rpx;
+}
+
+.mr--7 {
+ margin-right: -7rpx;
+}
+
+.mr-8 {
+ margin-right: 8rpx;
+}
+
+.mr--8 {
+ margin-right: -8rpx;
+}
+
+.mr-9 {
+ margin-right: 9rpx;
+}
+
+.mr--9 {
+ margin-right: -9rpx;
+}
+
+.mr-10 {
+ margin-right: 10rpx;
+}
+
+.mr--10 {
+ margin-right: -10rpx;
+}
+
+.mr-11 {
+ margin-right: 11rpx;
+}
+
+.mr--11 {
+ margin-right: -11rpx;
+}
+
+.mr-12 {
+ margin-right: 12rpx;
+}
+
+.mr--12 {
+ margin-right: -12rpx;
+}
+
+.mr-13 {
+ margin-right: 13rpx;
+}
+
+.mr--13 {
+ margin-right: -13rpx;
+}
+
+.mr-14 {
+ margin-right: 14rpx;
+}
+
+.mr--14 {
+ margin-right: -14rpx;
+}
+
+.mr-15 {
+ margin-right: 15rpx;
+}
+
+.mr--15 {
+ margin-right: -15rpx;
+}
+
+.mr-16 {
+ margin-right: 16rpx;
+}
+
+.mr--16 {
+ margin-right: -16rpx;
+}
+
+.mr-17 {
+ margin-right: 17rpx;
+}
+
+.mr--17 {
+ margin-right: -17rpx;
+}
+
+.mr-18 {
+ margin-right: 18rpx;
+}
+
+.mr--18 {
+ margin-right: -18rpx;
+}
+
+.mr-19 {
+ margin-right: 19rpx;
+}
+
+.mr--19 {
+ margin-right: -19rpx;
+}
+
+.mr-20 {
+ margin-right: 20rpx;
+}
+
+.mr--20 {
+ margin-right: -20rpx;
+}
+
+.mr-21 {
+ margin-right: 21rpx;
+}
+
+.mr--21 {
+ margin-right: -21rpx;
+}
+
+.mr-22 {
+ margin-right: 22rpx;
+}
+
+.mr--22 {
+ margin-right: -22rpx;
+}
+
+.mr-23 {
+ margin-right: 23rpx;
+}
+
+.mr--23 {
+ margin-right: -23rpx;
+}
+
+.mr-24 {
+ margin-right: 24rpx;
+}
+
+.mr--24 {
+ margin-right: -24rpx;
+}
+
+.mr-25 {
+ margin-right: 25rpx;
+}
+
+.mr--25 {
+ margin-right: -25rpx;
+}
+
+.mr-n1 {
+ margin-right: 4rpx;
+}
+
+.mr--n1 {
+ margin-right: -4rpx;
+}
+
+.mr-n2 {
+ margin-right: 8rpx;
+}
+
+.mr--n2 {
+ margin-right: -8rpx;
+}
+
+.mr-n3 {
+ margin-right: 12rpx;
+}
+
+.mr--n3 {
+ margin-right: -12rpx;
+}
+
+.mr-n4 {
+ margin-right: 16rpx;
+}
+
+.mr--n4 {
+ margin-right: -16rpx;
+}
+
+.mr-n5 {
+ margin-right: 20rpx;
+}
+
+.mr--n5 {
+ margin-right: -20rpx;
+}
+
+.mr-n6 {
+ margin-right: 24rpx;
+}
+
+.mr--n6 {
+ margin-right: -24rpx;
+}
+
+.mr-n7 {
+ margin-right: 28rpx;
+}
+
+.mr--n7 {
+ margin-right: -28rpx;
+}
+
+.mr-n8 {
+ margin-right: 32rpx;
+}
+
+.mr--n8 {
+ margin-right: -32rpx;
+}
+
+.mr-n9 {
+ margin-right: 36rpx;
+}
+
+.mr--n9 {
+ margin-right: -36rpx;
+}
+
+.mr-n10 {
+ margin-right: 40rpx;
+}
+
+.mr--n10 {
+ margin-right: -40rpx;
+}
+
+.mr-n11 {
+ margin-right: 44rpx;
+}
+
+.mr--n11 {
+ margin-right: -44rpx;
+}
+
+.mr-n12 {
+ margin-right: 48rpx;
+}
+
+.mr--n12 {
+ margin-right: -48rpx;
+}
+
+.mr-n13 {
+ margin-right: 52rpx;
+}
+
+.mr--n13 {
+ margin-right: -52rpx;
+}
+
+.mr-n14 {
+ margin-right: 56rpx;
+}
+
+.mr--n14 {
+ margin-right: -56rpx;
+}
+
+.mr-n15 {
+ margin-right: 60rpx;
+}
+
+.mr--n15 {
+ margin-right: -60rpx;
+}
+
+.mr-n16 {
+ margin-right: 64rpx;
+}
+
+.mr--n16 {
+ margin-right: -64rpx;
+}
+
+.mr-n17 {
+ margin-right: 68rpx;
+}
+
+.mr--n17 {
+ margin-right: -68rpx;
+}
+
+.mr-n18 {
+ margin-right: 72rpx;
+}
+
+.mr--n18 {
+ margin-right: -72rpx;
+}
+
+.mr-n19 {
+ margin-right: 76rpx;
+}
+
+.mr--n19 {
+ margin-right: -76rpx;
+}
+
+.mr-n20 {
+ margin-right: 80rpx;
+}
+
+.mr--n20 {
+ margin-right: -80rpx;
+}
+
+.mr-n21 {
+ margin-right: 84rpx;
+}
+
+.mr--n21 {
+ margin-right: -84rpx;
+}
+
+.mr-n22 {
+ margin-right: 88rpx;
+}
+
+.mr--n22 {
+ margin-right: -88rpx;
+}
+
+.mr-n23 {
+ margin-right: 92rpx;
+}
+
+.mr--n23 {
+ margin-right: -92rpx;
+}
+
+.mr-n24 {
+ margin-right: 96rpx;
+}
+
+.mr--n24 {
+ margin-right: -96rpx;
+}
+
+.mr-n25 {
+ margin-right: 100rpx;
+}
+
+.mr--n25 {
+ margin-right: -100rpx;
+}
+
+.mb-0 {
+ margin-bottom: 0rpx;
+}
+
+.mb--0 {
+ margin-bottom: -0rpx;
+}
+
+.mb-1 {
+ margin-bottom: 1rpx;
+}
+
+.mb--1 {
+ margin-bottom: -1rpx;
+}
+
+.mb-2 {
+ margin-bottom: 2rpx;
+}
+
+.mb--2 {
+ margin-bottom: -2rpx;
+}
+
+.mb-3 {
+ margin-bottom: 3rpx;
+}
+
+.mb--3 {
+ margin-bottom: -3rpx;
+}
+
+.mb-4 {
+ margin-bottom: 4rpx;
+}
+
+.mb--4 {
+ margin-bottom: -4rpx;
+}
+
+.mb-5 {
+ margin-bottom: 5rpx;
+}
+
+.mb--5 {
+ margin-bottom: -5rpx;
+}
+
+.mb-6 {
+ margin-bottom: 6rpx;
+}
+
+.mb--6 {
+ margin-bottom: -6rpx;
+}
+
+.mb-7 {
+ margin-bottom: 7rpx;
+}
+
+.mb--7 {
+ margin-bottom: -7rpx;
+}
+
+.mb-8 {
+ margin-bottom: 8rpx;
+}
+
+.mb--8 {
+ margin-bottom: -8rpx;
+}
+
+.mb-9 {
+ margin-bottom: 9rpx;
+}
+
+.mb--9 {
+ margin-bottom: -9rpx;
+}
+
+.mb-10 {
+ margin-bottom: 10rpx;
+}
+
+.mb--10 {
+ margin-bottom: -10rpx;
+}
+
+.mb-11 {
+ margin-bottom: 11rpx;
+}
+
+.mb--11 {
+ margin-bottom: -11rpx;
+}
+
+.mb-12 {
+ margin-bottom: 12rpx;
+}
+
+.mb--12 {
+ margin-bottom: -12rpx;
+}
+
+.mb-13 {
+ margin-bottom: 13rpx;
+}
+
+.mb--13 {
+ margin-bottom: -13rpx;
+}
+
+.mb-14 {
+ margin-bottom: 14rpx;
+}
+
+.mb--14 {
+ margin-bottom: -14rpx;
+}
+
+.mb-15 {
+ margin-bottom: 15rpx;
+}
+
+.mb--15 {
+ margin-bottom: -15rpx;
+}
+
+.mb-16 {
+ margin-bottom: 16rpx;
+}
+
+.mb--16 {
+ margin-bottom: -16rpx;
+}
+
+.mb-17 {
+ margin-bottom: 17rpx;
+}
+
+.mb--17 {
+ margin-bottom: -17rpx;
+}
+
+.mb-18 {
+ margin-bottom: 18rpx;
+}
+
+.mb--18 {
+ margin-bottom: -18rpx;
+}
+
+.mb-19 {
+ margin-bottom: 19rpx;
+}
+
+.mb--19 {
+ margin-bottom: -19rpx;
+}
+
+.mb-20 {
+ margin-bottom: 20rpx;
+}
+
+.mb--20 {
+ margin-bottom: -20rpx;
+}
+
+.mb-21 {
+ margin-bottom: 21rpx;
+}
+
+.mb--21 {
+ margin-bottom: -21rpx;
+}
+
+.mb-22 {
+ margin-bottom: 22rpx;
+}
+
+.mb--22 {
+ margin-bottom: -22rpx;
+}
+
+.mb-23 {
+ margin-bottom: 23rpx;
+}
+
+.mb--23 {
+ margin-bottom: -23rpx;
+}
+
+.mb-24 {
+ margin-bottom: 24rpx;
+}
+
+.mb--24 {
+ margin-bottom: -24rpx;
+}
+
+.mb-25 {
+ margin-bottom: 25rpx;
+}
+
+.mb--25 {
+ margin-bottom: -25rpx;
+}
+
+.mb-n1 {
+ margin-bottom: 4rpx;
+}
+
+.mb--n1 {
+ margin-bottom: -4rpx;
+}
+
+.mb-n2 {
+ margin-bottom: 8rpx;
+}
+
+.mb--n2 {
+ margin-bottom: -8rpx;
+}
+
+.mb-n3 {
+ margin-bottom: 12rpx;
+}
+
+.mb--n3 {
+ margin-bottom: -12rpx;
+}
+
+.mb-n4 {
+ margin-bottom: 16rpx;
+}
+
+.mb--n4 {
+ margin-bottom: -16rpx;
+}
+
+.mb-n5 {
+ margin-bottom: 20rpx;
+}
+
+.mb--n5 {
+ margin-bottom: -20rpx;
+}
+
+.mb-n6 {
+ margin-bottom: 24rpx;
+}
+
+.mb--n6 {
+ margin-bottom: -24rpx;
+}
+
+.mb-n7 {
+ margin-bottom: 28rpx;
+}
+
+.mb--n7 {
+ margin-bottom: -28rpx;
+}
+
+.mb-n8 {
+ margin-bottom: 32rpx;
+}
+
+.mb--n8 {
+ margin-bottom: -32rpx;
+}
+
+.mb-n9 {
+ margin-bottom: 36rpx;
+}
+
+.mb--n9 {
+ margin-bottom: -36rpx;
+}
+
+.mb-n10 {
+ margin-bottom: 40rpx;
+}
+
+.mb--n10 {
+ margin-bottom: -40rpx;
+}
+
+.mb-n11 {
+ margin-bottom: 44rpx;
+}
+
+.mb--n11 {
+ margin-bottom: -44rpx;
+}
+
+.mb-n12 {
+ margin-bottom: 48rpx;
+}
+
+.mb--n12 {
+ margin-bottom: -48rpx;
+}
+
+.mb-n13 {
+ margin-bottom: 52rpx;
+}
+
+.mb--n13 {
+ margin-bottom: -52rpx;
+}
+
+.mb-n14 {
+ margin-bottom: 56rpx;
+}
+
+.mb--n14 {
+ margin-bottom: -56rpx;
+}
+
+.mb-n15 {
+ margin-bottom: 60rpx;
+}
+
+.mb--n15 {
+ margin-bottom: -60rpx;
+}
+
+.mb-n16 {
+ margin-bottom: 64rpx;
+}
+
+.mb--n16 {
+ margin-bottom: -64rpx;
+}
+
+.mb-n17 {
+ margin-bottom: 68rpx;
+}
+
+.mb--n17 {
+ margin-bottom: -68rpx;
+}
+
+.mb-n18 {
+ margin-bottom: 72rpx;
+}
+
+.mb--n18 {
+ margin-bottom: -72rpx;
+}
+
+.mb-n19 {
+ margin-bottom: 76rpx;
+}
+
+.mb--n19 {
+ margin-bottom: -76rpx;
+}
+
+.mb-n20 {
+ margin-bottom: 80rpx;
+}
+
+.mb--n20 {
+ margin-bottom: -80rpx;
+}
+
+.mb-n21 {
+ margin-bottom: 84rpx;
+}
+
+.mb--n21 {
+ margin-bottom: -84rpx;
+}
+
+.mb-n22 {
+ margin-bottom: 88rpx;
+}
+
+.mb--n22 {
+ margin-bottom: -88rpx;
+}
+
+.mb-n23 {
+ margin-bottom: 92rpx;
+}
+
+.mb--n23 {
+ margin-bottom: -92rpx;
+}
+
+.mb-n24 {
+ margin-bottom: 96rpx;
+}
+
+.mb--n24 {
+ margin-bottom: -96rpx;
+}
+
+.mb-n25 {
+ margin-bottom: 100rpx;
+}
+
+.mb--n25 {
+ margin-bottom: -100rpx;
+}
+
+.ml-0 {
+ margin-left: 0rpx;
+}
+
+.ml--0 {
+ margin-left: -0rpx;
+}
+
+.ml-1 {
+ margin-left: 1rpx;
+}
+
+.ml--1 {
+ margin-left: -1rpx;
+}
+
+.ml-2 {
+ margin-left: 2rpx;
+}
+
+.ml--2 {
+ margin-left: -2rpx;
+}
+
+.ml-3 {
+ margin-left: 3rpx;
+}
+
+.ml--3 {
+ margin-left: -3rpx;
+}
+
+.ml-4 {
+ margin-left: 4rpx;
+}
+
+.ml--4 {
+ margin-left: -4rpx;
+}
+
+.ml-5 {
+ margin-left: 5rpx;
+}
+
+.ml--5 {
+ margin-left: -5rpx;
+}
+
+.ml-6 {
+ margin-left: 6rpx;
+}
+
+.ml--6 {
+ margin-left: -6rpx;
+}
+
+.ml-7 {
+ margin-left: 7rpx;
+}
+
+.ml--7 {
+ margin-left: -7rpx;
+}
+
+.ml-8 {
+ margin-left: 8rpx;
+}
+
+.ml--8 {
+ margin-left: -8rpx;
+}
+
+.ml-9 {
+ margin-left: 9rpx;
+}
+
+.ml--9 {
+ margin-left: -9rpx;
+}
+
+.ml-10 {
+ margin-left: 10rpx;
+}
+
+.ml--10 {
+ margin-left: -10rpx;
+}
+
+.ml-11 {
+ margin-left: 11rpx;
+}
+
+.ml--11 {
+ margin-left: -11rpx;
+}
+
+.ml-12 {
+ margin-left: 12rpx;
+}
+
+.ml--12 {
+ margin-left: -12rpx;
+}
+
+.ml-13 {
+ margin-left: 13rpx;
+}
+
+.ml--13 {
+ margin-left: -13rpx;
+}
+
+.ml-14 {
+ margin-left: 14rpx;
+}
+
+.ml--14 {
+ margin-left: -14rpx;
+}
+
+.ml-15 {
+ margin-left: 15rpx;
+}
+
+.ml--15 {
+ margin-left: -15rpx;
+}
+
+.ml-16 {
+ margin-left: 16rpx;
+}
+
+.ml--16 {
+ margin-left: -16rpx;
+}
+
+.ml-17 {
+ margin-left: 17rpx;
+}
+
+.ml--17 {
+ margin-left: -17rpx;
+}
+
+.ml-18 {
+ margin-left: 18rpx;
+}
+
+.ml--18 {
+ margin-left: -18rpx;
+}
+
+.ml-19 {
+ margin-left: 19rpx;
+}
+
+.ml--19 {
+ margin-left: -19rpx;
+}
+
+.ml-20 {
+ margin-left: 20rpx;
+}
+
+.ml--20 {
+ margin-left: -20rpx;
+}
+
+.ml-21 {
+ margin-left: 21rpx;
+}
+
+.ml--21 {
+ margin-left: -21rpx;
+}
+
+.ml-22 {
+ margin-left: 22rpx;
+}
+
+.ml--22 {
+ margin-left: -22rpx;
+}
+
+.ml-23 {
+ margin-left: 23rpx;
+}
+
+.ml--23 {
+ margin-left: -23rpx;
+}
+
+.ml-24 {
+ margin-left: 24rpx;
+}
+
+.ml--24 {
+ margin-left: -24rpx;
+}
+
+.ml-25 {
+ margin-left: 25rpx;
+}
+
+.ml--25 {
+ margin-left: -25rpx;
+}
+
+.ml-n1 {
+ margin-left: 4rpx;
+}
+
+.ml--n1 {
+ margin-left: -4rpx;
+}
+
+.ml-n2 {
+ margin-left: 8rpx;
+}
+
+.ml--n2 {
+ margin-left: -8rpx;
+}
+
+.ml-n3 {
+ margin-left: 12rpx;
+}
+
+.ml--n3 {
+ margin-left: -12rpx;
+}
+
+.ml-n4 {
+ margin-left: 16rpx;
+}
+
+.ml--n4 {
+ margin-left: -16rpx;
+}
+
+.ml-n5 {
+ margin-left: 20rpx;
+}
+
+.ml--n5 {
+ margin-left: -20rpx;
+}
+
+.ml-n6 {
+ margin-left: 24rpx;
+}
+
+.ml--n6 {
+ margin-left: -24rpx;
+}
+
+.ml-n7 {
+ margin-left: 28rpx;
+}
+
+.ml--n7 {
+ margin-left: -28rpx;
+}
+
+.ml-n8 {
+ margin-left: 32rpx;
+}
+
+.ml--n8 {
+ margin-left: -32rpx;
+}
+
+.ml-n9 {
+ margin-left: 36rpx;
+}
+
+.ml--n9 {
+ margin-left: -36rpx;
+}
+
+.ml-n10 {
+ margin-left: 40rpx;
+}
+
+.ml--n10 {
+ margin-left: -40rpx;
+}
+
+.ml-n11 {
+ margin-left: 44rpx;
+}
+
+.ml--n11 {
+ margin-left: -44rpx;
+}
+
+.ml-n12 {
+ margin-left: 48rpx;
+}
+
+.ml--n12 {
+ margin-left: -48rpx;
+}
+
+.ml-n13 {
+ margin-left: 52rpx;
+}
+
+.ml--n13 {
+ margin-left: -52rpx;
+}
+
+.ml-n14 {
+ margin-left: 56rpx;
+}
+
+.ml--n14 {
+ margin-left: -56rpx;
+}
+
+.ml-n15 {
+ margin-left: 60rpx;
+}
+
+.ml--n15 {
+ margin-left: -60rpx;
+}
+
+.ml-n16 {
+ margin-left: 64rpx;
+}
+
+.ml--n16 {
+ margin-left: -64rpx;
+}
+
+.ml-n17 {
+ margin-left: 68rpx;
+}
+
+.ml--n17 {
+ margin-left: -68rpx;
+}
+
+.ml-n18 {
+ margin-left: 72rpx;
+}
+
+.ml--n18 {
+ margin-left: -72rpx;
+}
+
+.ml-n19 {
+ margin-left: 76rpx;
+}
+
+.ml--n19 {
+ margin-left: -76rpx;
+}
+
+.ml-n20 {
+ margin-left: 80rpx;
+}
+
+.ml--n20 {
+ margin-left: -80rpx;
+}
+
+.ml-n21 {
+ margin-left: 84rpx;
+}
+
+.ml--n21 {
+ margin-left: -84rpx;
+}
+
+.ml-n22 {
+ margin-left: 88rpx;
+}
+
+.ml--n22 {
+ margin-left: -88rpx;
+}
+
+.ml-n23 {
+ margin-left: 92rpx;
+}
+
+.ml--n23 {
+ margin-left: -92rpx;
+}
+
+.ml-n24 {
+ margin-left: 96rpx;
+}
+
+.ml--n24 {
+ margin-left: -96rpx;
+}
+
+.ml-n25 {
+ margin-left: 100rpx;
+}
+
+.ml--n25 {
+ margin-left: -100rpx;
+}
+
+.mx-0 {
+ margin-left: 0rpx;
+ margin-right: 0rpx;
+}
+
+.mx-1 {
+ margin-left: 1rpx;
+ margin-right: 1rpx;
+}
+
+.mx-2 {
+ margin-left: 2rpx;
+ margin-right: 2rpx;
+}
+
+.mx-3 {
+ margin-left: 3rpx;
+ margin-right: 3rpx;
+}
+
+.mx-4 {
+ margin-left: 4rpx;
+ margin-right: 4rpx;
+}
+
+.mx-5 {
+ margin-left: 5rpx;
+ margin-right: 5rpx;
+}
+
+.mx-6 {
+ margin-left: 6rpx;
+ margin-right: 6rpx;
+}
+
+.mx-7 {
+ margin-left: 7rpx;
+ margin-right: 7rpx;
+}
+
+.mx-8 {
+ margin-left: 8rpx;
+ margin-right: 8rpx;
+}
+
+.mx-9 {
+ margin-left: 9rpx;
+ margin-right: 9rpx;
+}
+
+.mx-10 {
+ margin-left: 10rpx;
+ margin-right: 10rpx;
+}
+
+.mx-11 {
+ margin-left: 11rpx;
+ margin-right: 11rpx;
+}
+
+.mx-12 {
+ margin-left: 12rpx;
+ margin-right: 12rpx;
+}
+
+.mx-13 {
+ margin-left: 13rpx;
+ margin-right: 13rpx;
+}
+
+.mx-14 {
+ margin-left: 14rpx;
+ margin-right: 14rpx;
+}
+
+.mx-15 {
+ margin-left: 15rpx;
+ margin-right: 15rpx;
+}
+
+.mx-16 {
+ margin-left: 16rpx;
+ margin-right: 16rpx;
+}
+
+.mx-17 {
+ margin-left: 17rpx;
+ margin-right: 17rpx;
+}
+
+.mx-18 {
+ margin-left: 18rpx;
+ margin-right: 18rpx;
+}
+
+.mx-19 {
+ margin-left: 19rpx;
+ margin-right: 19rpx;
+}
+
+.mx-20 {
+ margin-left: 20rpx;
+ margin-right: 20rpx;
+}
+
+.mx-21 {
+ margin-left: 21rpx;
+ margin-right: 21rpx;
+}
+
+.mx-22 {
+ margin-left: 22rpx;
+ margin-right: 22rpx;
+}
+
+.mx-23 {
+ margin-left: 23rpx;
+ margin-right: 23rpx;
+}
+
+.mx-24 {
+ margin-left: 24rpx;
+ margin-right: 24rpx;
+}
+
+.mx-25 {
+ margin-left: 25rpx;
+ margin-right: 25rpx;
+}
+
+.mx-n1 {
+ margin-left: 4rpx;
+ margin-right: 4rpx;
+}
+
+.mx-n2 {
+ margin-left: 8rpx;
+ margin-right: 8rpx;
+}
+
+.mx-n3 {
+ margin-left: 12rpx;
+ margin-right: 12rpx;
+}
+
+.mx-n4 {
+ margin-left: 16rpx;
+ margin-right: 16rpx;
+}
+
+.mx-n5 {
+ margin-left: 20rpx;
+ margin-right: 20rpx;
+}
+
+.mx-n6 {
+ margin-left: 24rpx;
+ margin-right: 24rpx;
+}
+
+.mx-n7 {
+ margin-left: 28rpx;
+ margin-right: 28rpx;
+}
+
+.mx-n8 {
+ margin-left: 32rpx;
+ margin-right: 32rpx;
+}
+
+.mx-n9 {
+ margin-left: 36rpx;
+ margin-right: 36rpx;
+}
+
+.mx-n10 {
+ margin-left: 40rpx;
+ margin-right: 40rpx;
+}
+
+.mx-n11 {
+ margin-left: 44rpx;
+ margin-right: 44rpx;
+}
+
+.mx-n12 {
+ margin-left: 48rpx;
+ margin-right: 48rpx;
+}
+
+.mx-n13 {
+ margin-left: 52rpx;
+ margin-right: 52rpx;
+}
+
+.mx-n14 {
+ margin-left: 56rpx;
+ margin-right: 56rpx;
+}
+
+.mx-n15 {
+ margin-left: 60rpx;
+ margin-right: 60rpx;
+}
+
+.mx-n16 {
+ margin-left: 64rpx;
+ margin-right: 64rpx;
+}
+
+.mx-n17 {
+ margin-left: 68rpx;
+ margin-right: 68rpx;
+}
+
+.mx-n18 {
+ margin-left: 72rpx;
+ margin-right: 72rpx;
+}
+
+.mx-n19 {
+ margin-left: 76rpx;
+ margin-right: 76rpx;
+}
+
+.mx-n20 {
+ margin-left: 80rpx;
+ margin-right: 80rpx;
+}
+
+.mx-n21 {
+ margin-left: 84rpx;
+ margin-right: 84rpx;
+}
+
+.mx-n22 {
+ margin-left: 88rpx;
+ margin-right: 88rpx;
+}
+
+.mx-n23 {
+ margin-left: 92rpx;
+ margin-right: 92rpx;
+}
+
+.mx-n24 {
+ margin-left: 96rpx;
+ margin-right: 96rpx;
+}
+
+.mx-n25 {
+ margin-left: 100rpx;
+ margin-right: 100rpx;
+}
+
+.my-0 {
+ margin-top: 0rpx;
+ margin-bottom: 0rpx;
+}
+
+.my-1 {
+ margin-top: 1rpx;
+ margin-bottom: 1rpx;
+}
+
+.my-2 {
+ margin-top: 2rpx;
+ margin-bottom: 2rpx;
+}
+
+.my-3 {
+ margin-top: 3rpx;
+ margin-bottom: 3rpx;
+}
+
+.my-4 {
+ margin-top: 4rpx;
+ margin-bottom: 4rpx;
+}
+
+.my-5 {
+ margin-top: 5rpx;
+ margin-bottom: 5rpx;
+}
+
+.my-6 {
+ margin-top: 6rpx;
+ margin-bottom: 6rpx;
+}
+
+.my-7 {
+ margin-top: 7rpx;
+ margin-bottom: 7rpx;
+}
+
+.my-8 {
+ margin-top: 8rpx;
+ margin-bottom: 8rpx;
+}
+
+.my-9 {
+ margin-top: 9rpx;
+ margin-bottom: 9rpx;
+}
+
+.my-10 {
+ margin-top: 10rpx;
+ margin-bottom: 10rpx;
+}
+
+.my-11 {
+ margin-top: 11rpx;
+ margin-bottom: 11rpx;
+}
+
+.my-12 {
+ margin-top: 12rpx;
+ margin-bottom: 12rpx;
+}
+
+.my-13 {
+ margin-top: 13rpx;
+ margin-bottom: 13rpx;
+}
+
+.my-14 {
+ margin-top: 14rpx;
+ margin-bottom: 14rpx;
+}
+
+.my-15 {
+ margin-top: 15rpx;
+ margin-bottom: 15rpx;
+}
+
+.my-16 {
+ margin-top: 16rpx;
+ margin-bottom: 16rpx;
+}
+
+.my-17 {
+ margin-top: 17rpx;
+ margin-bottom: 17rpx;
+}
+
+.my-18 {
+ margin-top: 18rpx;
+ margin-bottom: 18rpx;
+}
+
+.my-19 {
+ margin-top: 19rpx;
+ margin-bottom: 19rpx;
+}
+
+.my-20 {
+ margin-top: 20rpx;
+ margin-bottom: 20rpx;
+}
+
+.my-21 {
+ margin-top: 21rpx;
+ margin-bottom: 21rpx;
+}
+
+.my-22 {
+ margin-top: 22rpx;
+ margin-bottom: 22rpx;
+}
+
+.my-23 {
+ margin-top: 23rpx;
+ margin-bottom: 23rpx;
+}
+
+.my-24 {
+ margin-top: 24rpx;
+ margin-bottom: 24rpx;
+}
+
+.my-25 {
+ margin-top: 25rpx;
+ margin-bottom: 25rpx;
+}
+
+.my-n1 {
+ margin-top: 4rpx;
+ margin-bottom: 4rpx;
+}
+
+.my-n2 {
+ margin-top: 8rpx;
+ margin-bottom: 8rpx;
+}
+
+.my-n3 {
+ margin-top: 12rpx;
+ margin-bottom: 12rpx;
+}
+
+.my-n4 {
+ margin-top: 16rpx;
+ margin-bottom: 16rpx;
+}
+
+.my-n5 {
+ margin-top: 20rpx;
+ margin-bottom: 20rpx;
+}
+
+.my-n6 {
+ margin-top: 24rpx;
+ margin-bottom: 24rpx;
+}
+
+.my-n7 {
+ margin-top: 28rpx;
+ margin-bottom: 28rpx;
+}
+
+.my-n8 {
+ margin-top: 32rpx;
+ margin-bottom: 32rpx;
+}
+
+.my-n9 {
+ margin-top: 36rpx;
+ margin-bottom: 36rpx;
+}
+
+.my-n10 {
+ margin-top: 40rpx;
+ margin-bottom: 40rpx;
+}
+
+.my-n11 {
+ margin-top: 44rpx;
+ margin-bottom: 44rpx;
+}
+
+.my-n12 {
+ margin-top: 48rpx;
+ margin-bottom: 48rpx;
+}
+
+.my-n13 {
+ margin-top: 52rpx;
+ margin-bottom: 52rpx;
+}
+
+.my-n14 {
+ margin-top: 56rpx;
+ margin-bottom: 56rpx;
+}
+
+.my-n15 {
+ margin-top: 60rpx;
+ margin-bottom: 60rpx;
+}
+
+.my-n16 {
+ margin-top: 64rpx;
+ margin-bottom: 64rpx;
+}
+
+.my-n17 {
+ margin-top: 68rpx;
+ margin-bottom: 68rpx;
+}
+
+.my-n18 {
+ margin-top: 72rpx;
+ margin-bottom: 72rpx;
+}
+
+.my-n19 {
+ margin-top: 76rpx;
+ margin-bottom: 76rpx;
+}
+
+.my-n20 {
+ margin-top: 80rpx;
+ margin-bottom: 80rpx;
+}
+
+.my-n21 {
+ margin-top: 84rpx;
+ margin-bottom: 84rpx;
+}
+
+.my-n22 {
+ margin-top: 88rpx;
+ margin-bottom: 88rpx;
+}
+
+.my-n23 {
+ margin-top: 92rpx;
+ margin-bottom: 92rpx;
+}
+
+.my-n24 {
+ margin-top: 96rpx;
+ margin-bottom: 96rpx;
+}
+
+.my-n25 {
+ margin-top: 100rpx;
+ margin-bottom: 100rpx;
+}
+
+.t-0 {
+ top: 0rpx;
+}
+
+.t--0 {
+ top: -0rpx;
+}
+
+.t-1 {
+ top: 1rpx;
+}
+
+.t--1 {
+ top: -1rpx;
+}
+
+.t-2 {
+ top: 2rpx;
+}
+
+.t--2 {
+ top: -2rpx;
+}
+
+.t-3 {
+ top: 3rpx;
+}
+
+.t--3 {
+ top: -3rpx;
+}
+
+.t-4 {
+ top: 4rpx;
+}
+
+.t--4 {
+ top: -4rpx;
+}
+
+.t-5 {
+ top: 5rpx;
+}
+
+.t--5 {
+ top: -5rpx;
+}
+
+.t-6 {
+ top: 6rpx;
+}
+
+.t--6 {
+ top: -6rpx;
+}
+
+.t-7 {
+ top: 7rpx;
+}
+
+.t--7 {
+ top: -7rpx;
+}
+
+.t-8 {
+ top: 8rpx;
+}
+
+.t--8 {
+ top: -8rpx;
+}
+
+.t-9 {
+ top: 9rpx;
+}
+
+.t--9 {
+ top: -9rpx;
+}
+
+.t-10 {
+ top: 10rpx;
+}
+
+.t--10 {
+ top: -10rpx;
+}
+
+.t-11 {
+ top: 11rpx;
+}
+
+.t--11 {
+ top: -11rpx;
+}
+
+.t-12 {
+ top: 12rpx;
+}
+
+.t--12 {
+ top: -12rpx;
+}
+
+.t-13 {
+ top: 13rpx;
+}
+
+.t--13 {
+ top: -13rpx;
+}
+
+.t-14 {
+ top: 14rpx;
+}
+
+.t--14 {
+ top: -14rpx;
+}
+
+.t-15 {
+ top: 15rpx;
+}
+
+.t--15 {
+ top: -15rpx;
+}
+
+.t-16 {
+ top: 16rpx;
+}
+
+.t--16 {
+ top: -16rpx;
+}
+
+.t-17 {
+ top: 17rpx;
+}
+
+.t--17 {
+ top: -17rpx;
+}
+
+.t-18 {
+ top: 18rpx;
+}
+
+.t--18 {
+ top: -18rpx;
+}
+
+.t-19 {
+ top: 19rpx;
+}
+
+.t--19 {
+ top: -19rpx;
+}
+
+.t-20 {
+ top: 20rpx;
+}
+
+.t--20 {
+ top: -20rpx;
+}
+
+.t-21 {
+ top: 21rpx;
+}
+
+.t--21 {
+ top: -21rpx;
+}
+
+.t-22 {
+ top: 22rpx;
+}
+
+.t--22 {
+ top: -22rpx;
+}
+
+.t-23 {
+ top: 23rpx;
+}
+
+.t--23 {
+ top: -23rpx;
+}
+
+.t-24 {
+ top: 24rpx;
+}
+
+.t--24 {
+ top: -24rpx;
+}
+
+.t-25 {
+ top: 25rpx;
+}
+
+.t--25 {
+ top: -25rpx;
+}
+
+.t-n1 {
+ top: 4rpx;
+}
+
+.t--n1 {
+ top: -4rpx;
+}
+
+.t-n2 {
+ top: 8rpx;
+}
+
+.t--n2 {
+ top: -8rpx;
+}
+
+.t-n3 {
+ top: 12rpx;
+}
+
+.t--n3 {
+ top: -12rpx;
+}
+
+.t-n4 {
+ top: 16rpx;
+}
+
+.t--n4 {
+ top: -16rpx;
+}
+
+.t-n5 {
+ top: 20rpx;
+}
+
+.t--n5 {
+ top: -20rpx;
+}
+
+.t-n6 {
+ top: 24rpx;
+}
+
+.t--n6 {
+ top: -24rpx;
+}
+
+.t-n7 {
+ top: 28rpx;
+}
+
+.t--n7 {
+ top: -28rpx;
+}
+
+.t-n8 {
+ top: 32rpx;
+}
+
+.t--n8 {
+ top: -32rpx;
+}
+
+.t-n9 {
+ top: 36rpx;
+}
+
+.t--n9 {
+ top: -36rpx;
+}
+
+.t-n10 {
+ top: 40rpx;
+}
+
+.t--n10 {
+ top: -40rpx;
+}
+
+.t-n11 {
+ top: 44rpx;
+}
+
+.t--n11 {
+ top: -44rpx;
+}
+
+.t-n12 {
+ top: 48rpx;
+}
+
+.t--n12 {
+ top: -48rpx;
+}
+
+.t-n13 {
+ top: 52rpx;
+}
+
+.t--n13 {
+ top: -52rpx;
+}
+
+.t-n14 {
+ top: 56rpx;
+}
+
+.t--n14 {
+ top: -56rpx;
+}
+
+.t-n15 {
+ top: 60rpx;
+}
+
+.t--n15 {
+ top: -60rpx;
+}
+
+.t-n16 {
+ top: 64rpx;
+}
+
+.t--n16 {
+ top: -64rpx;
+}
+
+.t-n17 {
+ top: 68rpx;
+}
+
+.t--n17 {
+ top: -68rpx;
+}
+
+.t-n18 {
+ top: 72rpx;
+}
+
+.t--n18 {
+ top: -72rpx;
+}
+
+.t-n19 {
+ top: 76rpx;
+}
+
+.t--n19 {
+ top: -76rpx;
+}
+
+.t-n20 {
+ top: 80rpx;
+}
+
+.t--n20 {
+ top: -80rpx;
+}
+
+.t-n21 {
+ top: 84rpx;
+}
+
+.t--n21 {
+ top: -84rpx;
+}
+
+.t-n22 {
+ top: 88rpx;
+}
+
+.t--n22 {
+ top: -88rpx;
+}
+
+.t-n23 {
+ top: 92rpx;
+}
+
+.t--n23 {
+ top: -92rpx;
+}
+
+.t-n24 {
+ top: 96rpx;
+}
+
+.t--n24 {
+ top: -96rpx;
+}
+
+.t-n25 {
+ top: 100rpx;
+}
+
+.t--n25 {
+ top: -100rpx;
+}
+
+.r-0 {
+ right: 0rpx;
+}
+
+.r--0 {
+ right: -0rpx;
+}
+
+.r-1 {
+ right: 1rpx;
+}
+
+.r--1 {
+ right: -1rpx;
+}
+
+.r-2 {
+ right: 2rpx;
+}
+
+.r--2 {
+ right: -2rpx;
+}
+
+.r-3 {
+ right: 3rpx;
+}
+
+.r--3 {
+ right: -3rpx;
+}
+
+.r-4 {
+ right: 4rpx;
+}
+
+.r--4 {
+ right: -4rpx;
+}
+
+.r-5 {
+ right: 5rpx;
+}
+
+.r--5 {
+ right: -5rpx;
+}
+
+.r-6 {
+ right: 6rpx;
+}
+
+.r--6 {
+ right: -6rpx;
+}
+
+.r-7 {
+ right: 7rpx;
+}
+
+.r--7 {
+ right: -7rpx;
+}
+
+.r-8 {
+ right: 8rpx;
+}
+
+.r--8 {
+ right: -8rpx;
+}
+
+.r-9 {
+ right: 9rpx;
+}
+
+.r--9 {
+ right: -9rpx;
+}
+
+.r-10 {
+ right: 10rpx;
+}
+
+.r--10 {
+ right: -10rpx;
+}
+
+.r-11 {
+ right: 11rpx;
+}
+
+.r--11 {
+ right: -11rpx;
+}
+
+.r-12 {
+ right: 12rpx;
+}
+
+.r--12 {
+ right: -12rpx;
+}
+
+.r-13 {
+ right: 13rpx;
+}
+
+.r--13 {
+ right: -13rpx;
+}
+
+.r-14 {
+ right: 14rpx;
+}
+
+.r--14 {
+ right: -14rpx;
+}
+
+.r-15 {
+ right: 15rpx;
+}
+
+.r--15 {
+ right: -15rpx;
+}
+
+.r-16 {
+ right: 16rpx;
+}
+
+.r--16 {
+ right: -16rpx;
+}
+
+.r-17 {
+ right: 17rpx;
+}
+
+.r--17 {
+ right: -17rpx;
+}
+
+.r-18 {
+ right: 18rpx;
+}
+
+.r--18 {
+ right: -18rpx;
+}
+
+.r-19 {
+ right: 19rpx;
+}
+
+.r--19 {
+ right: -19rpx;
+}
+
+.r-20 {
+ right: 20rpx;
+}
+
+.r--20 {
+ right: -20rpx;
+}
+
+.r-21 {
+ right: 21rpx;
+}
+
+.r--21 {
+ right: -21rpx;
+}
+
+.r-22 {
+ right: 22rpx;
+}
+
+.r--22 {
+ right: -22rpx;
+}
+
+.r-23 {
+ right: 23rpx;
+}
+
+.r--23 {
+ right: -23rpx;
+}
+
+.r-24 {
+ right: 24rpx;
+}
+
+.r--24 {
+ right: -24rpx;
+}
+
+.r-25 {
+ right: 25rpx;
+}
+
+.r--25 {
+ right: -25rpx;
+}
+
+.r-n1 {
+ right: 4rpx;
+}
+
+.r--n1 {
+ right: -4rpx;
+}
+
+.r-n2 {
+ right: 8rpx;
+}
+
+.r--n2 {
+ right: -8rpx;
+}
+
+.r-n3 {
+ right: 12rpx;
+}
+
+.r--n3 {
+ right: -12rpx;
+}
+
+.r-n4 {
+ right: 16rpx;
+}
+
+.r--n4 {
+ right: -16rpx;
+}
+
+.r-n5 {
+ right: 20rpx;
+}
+
+.r--n5 {
+ right: -20rpx;
+}
+
+.r-n6 {
+ right: 24rpx;
+}
+
+.r--n6 {
+ right: -24rpx;
+}
+
+.r-n7 {
+ right: 28rpx;
+}
+
+.r--n7 {
+ right: -28rpx;
+}
+
+.r-n8 {
+ right: 32rpx;
+}
+
+.r--n8 {
+ right: -32rpx;
+}
+
+.r-n9 {
+ right: 36rpx;
+}
+
+.r--n9 {
+ right: -36rpx;
+}
+
+.r-n10 {
+ right: 40rpx;
+}
+
+.r--n10 {
+ right: -40rpx;
+}
+
+.r-n11 {
+ right: 44rpx;
+}
+
+.r--n11 {
+ right: -44rpx;
+}
+
+.r-n12 {
+ right: 48rpx;
+}
+
+.r--n12 {
+ right: -48rpx;
+}
+
+.r-n13 {
+ right: 52rpx;
+}
+
+.r--n13 {
+ right: -52rpx;
+}
+
+.r-n14 {
+ right: 56rpx;
+}
+
+.r--n14 {
+ right: -56rpx;
+}
+
+.r-n15 {
+ right: 60rpx;
+}
+
+.r--n15 {
+ right: -60rpx;
+}
+
+.r-n16 {
+ right: 64rpx;
+}
+
+.r--n16 {
+ right: -64rpx;
+}
+
+.r-n17 {
+ right: 68rpx;
+}
+
+.r--n17 {
+ right: -68rpx;
+}
+
+.r-n18 {
+ right: 72rpx;
+}
+
+.r--n18 {
+ right: -72rpx;
+}
+
+.r-n19 {
+ right: 76rpx;
+}
+
+.r--n19 {
+ right: -76rpx;
+}
+
+.r-n20 {
+ right: 80rpx;
+}
+
+.r--n20 {
+ right: -80rpx;
+}
+
+.r-n21 {
+ right: 84rpx;
+}
+
+.r--n21 {
+ right: -84rpx;
+}
+
+.r-n22 {
+ right: 88rpx;
+}
+
+.r--n22 {
+ right: -88rpx;
+}
+
+.r-n23 {
+ right: 92rpx;
+}
+
+.r--n23 {
+ right: -92rpx;
+}
+
+.r-n24 {
+ right: 96rpx;
+}
+
+.r--n24 {
+ right: -96rpx;
+}
+
+.r-n25 {
+ right: 100rpx;
+}
+
+.r--n25 {
+ right: -100rpx;
+}
+
+.b-0 {
+ bottom: 0rpx;
+}
+
+.b--0 {
+ bottom: -0rpx;
+}
+
+.b-1 {
+ bottom: 1rpx;
+}
+
+.b--1 {
+ bottom: -1rpx;
+}
+
+.b-2 {
+ bottom: 2rpx;
+}
+
+.b--2 {
+ bottom: -2rpx;
+}
+
+.b-3 {
+ bottom: 3rpx;
+}
+
+.b--3 {
+ bottom: -3rpx;
+}
+
+.b-4 {
+ bottom: 4rpx;
+}
+
+.b--4 {
+ bottom: -4rpx;
+}
+
+.b-5 {
+ bottom: 5rpx;
+}
+
+.b--5 {
+ bottom: -5rpx;
+}
+
+.b-6 {
+ bottom: 6rpx;
+}
+
+.b--6 {
+ bottom: -6rpx;
+}
+
+.b-7 {
+ bottom: 7rpx;
+}
+
+.b--7 {
+ bottom: -7rpx;
+}
+
+.b-8 {
+ bottom: 8rpx;
+}
+
+.b--8 {
+ bottom: -8rpx;
+}
+
+.b-9 {
+ bottom: 9rpx;
+}
+
+.b--9 {
+ bottom: -9rpx;
+}
+
+.b-10 {
+ bottom: 10rpx;
+}
+
+.b--10 {
+ bottom: -10rpx;
+}
+
+.b-11 {
+ bottom: 11rpx;
+}
+
+.b--11 {
+ bottom: -11rpx;
+}
+
+.b-12 {
+ bottom: 12rpx;
+}
+
+.b--12 {
+ bottom: -12rpx;
+}
+
+.b-13 {
+ bottom: 13rpx;
+}
+
+.b--13 {
+ bottom: -13rpx;
+}
+
+.b-14 {
+ bottom: 14rpx;
+}
+
+.b--14 {
+ bottom: -14rpx;
+}
+
+.b-15 {
+ bottom: 15rpx;
+}
+
+.b--15 {
+ bottom: -15rpx;
+}
+
+.b-16 {
+ bottom: 16rpx;
+}
+
+.b--16 {
+ bottom: -16rpx;
+}
+
+.b-17 {
+ bottom: 17rpx;
+}
+
+.b--17 {
+ bottom: -17rpx;
+}
+
+.b-18 {
+ bottom: 18rpx;
+}
+
+.b--18 {
+ bottom: -18rpx;
+}
+
+.b-19 {
+ bottom: 19rpx;
+}
+
+.b--19 {
+ bottom: -19rpx;
+}
+
+.b-20 {
+ bottom: 20rpx;
+}
+
+.b--20 {
+ bottom: -20rpx;
+}
+
+.b-21 {
+ bottom: 21rpx;
+}
+
+.b--21 {
+ bottom: -21rpx;
+}
+
+.b-22 {
+ bottom: 22rpx;
+}
+
+.b--22 {
+ bottom: -22rpx;
+}
+
+.b-23 {
+ bottom: 23rpx;
+}
+
+.b--23 {
+ bottom: -23rpx;
+}
+
+.b-24 {
+ bottom: 24rpx;
+}
+
+.b--24 {
+ bottom: -24rpx;
+}
+
+.b-25 {
+ bottom: 25rpx;
+}
+
+.b--25 {
+ bottom: -25rpx;
+}
+
+.b-n1 {
+ bottom: 4rpx;
+}
+
+.b--n1 {
+ bottom: -4rpx;
+}
+
+.b-n2 {
+ bottom: 8rpx;
+}
+
+.b--n2 {
+ bottom: -8rpx;
+}
+
+.b-n3 {
+ bottom: 12rpx;
+}
+
+.b--n3 {
+ bottom: -12rpx;
+}
+
+.b-n4 {
+ bottom: 16rpx;
+}
+
+.b--n4 {
+ bottom: -16rpx;
+}
+
+.b-n5 {
+ bottom: 20rpx;
+}
+
+.b--n5 {
+ bottom: -20rpx;
+}
+
+.b-n6 {
+ bottom: 24rpx;
+}
+
+.b--n6 {
+ bottom: -24rpx;
+}
+
+.b-n7 {
+ bottom: 28rpx;
+}
+
+.b--n7 {
+ bottom: -28rpx;
+}
+
+.b-n8 {
+ bottom: 32rpx;
+}
+
+.b--n8 {
+ bottom: -32rpx;
+}
+
+.b-n9 {
+ bottom: 36rpx;
+}
+
+.b--n9 {
+ bottom: -36rpx;
+}
+
+.b-n10 {
+ bottom: 40rpx;
+}
+
+.b--n10 {
+ bottom: -40rpx;
+}
+
+.b-n11 {
+ bottom: 44rpx;
+}
+
+.b--n11 {
+ bottom: -44rpx;
+}
+
+.b-n12 {
+ bottom: 48rpx;
+}
+
+.b--n12 {
+ bottom: -48rpx;
+}
+
+.b-n13 {
+ bottom: 52rpx;
+}
+
+.b--n13 {
+ bottom: -52rpx;
+}
+
+.b-n14 {
+ bottom: 56rpx;
+}
+
+.b--n14 {
+ bottom: -56rpx;
+}
+
+.b-n15 {
+ bottom: 60rpx;
+}
+
+.b--n15 {
+ bottom: -60rpx;
+}
+
+.b-n16 {
+ bottom: 64rpx;
+}
+
+.b--n16 {
+ bottom: -64rpx;
+}
+
+.b-n17 {
+ bottom: 68rpx;
+}
+
+.b--n17 {
+ bottom: -68rpx;
+}
+
+.b-n18 {
+ bottom: 72rpx;
+}
+
+.b--n18 {
+ bottom: -72rpx;
+}
+
+.b-n19 {
+ bottom: 76rpx;
+}
+
+.b--n19 {
+ bottom: -76rpx;
+}
+
+.b-n20 {
+ bottom: 80rpx;
+}
+
+.b--n20 {
+ bottom: -80rpx;
+}
+
+.b-n21 {
+ bottom: 84rpx;
+}
+
+.b--n21 {
+ bottom: -84rpx;
+}
+
+.b-n22 {
+ bottom: 88rpx;
+}
+
+.b--n22 {
+ bottom: -88rpx;
+}
+
+.b-n23 {
+ bottom: 92rpx;
+}
+
+.b--n23 {
+ bottom: -92rpx;
+}
+
+.b-n24 {
+ bottom: 96rpx;
+}
+
+.b--n24 {
+ bottom: -96rpx;
+}
+
+.b-n25 {
+ bottom: 100rpx;
+}
+
+.b--n25 {
+ bottom: -100rpx;
+}
+
+.l-0 {
+ left: 0rpx;
+}
+
+.l--0 {
+ left: -0rpx;
+}
+
+.l-1 {
+ left: 1rpx;
+}
+
+.l--1 {
+ left: -1rpx;
+}
+
+.l-2 {
+ left: 2rpx;
+}
+
+.l--2 {
+ left: -2rpx;
+}
+
+.l-3 {
+ left: 3rpx;
+}
+
+.l--3 {
+ left: -3rpx;
+}
+
+.l-4 {
+ left: 4rpx;
+}
+
+.l--4 {
+ left: -4rpx;
+}
+
+.l-5 {
+ left: 5rpx;
+}
+
+.l--5 {
+ left: -5rpx;
+}
+
+.l-6 {
+ left: 6rpx;
+}
+
+.l--6 {
+ left: -6rpx;
+}
+
+.l-7 {
+ left: 7rpx;
+}
+
+.l--7 {
+ left: -7rpx;
+}
+
+.l-8 {
+ left: 8rpx;
+}
+
+.l--8 {
+ left: -8rpx;
+}
+
+.l-9 {
+ left: 9rpx;
+}
+
+.l--9 {
+ left: -9rpx;
+}
+
+.l-10 {
+ left: 10rpx;
+}
+
+.l--10 {
+ left: -10rpx;
+}
+
+.l-11 {
+ left: 11rpx;
+}
+
+.l--11 {
+ left: -11rpx;
+}
+
+.l-12 {
+ left: 12rpx;
+}
+
+.l--12 {
+ left: -12rpx;
+}
+
+.l-13 {
+ left: 13rpx;
+}
+
+.l--13 {
+ left: -13rpx;
+}
+
+.l-14 {
+ left: 14rpx;
+}
+
+.l--14 {
+ left: -14rpx;
+}
+
+.l-15 {
+ left: 15rpx;
+}
+
+.l--15 {
+ left: -15rpx;
+}
+
+.l-16 {
+ left: 16rpx;
+}
+
+.l--16 {
+ left: -16rpx;
+}
+
+.l-17 {
+ left: 17rpx;
+}
+
+.l--17 {
+ left: -17rpx;
+}
+
+.l-18 {
+ left: 18rpx;
+}
+
+.l--18 {
+ left: -18rpx;
+}
+
+.l-19 {
+ left: 19rpx;
+}
+
+.l--19 {
+ left: -19rpx;
+}
+
+.l-20 {
+ left: 20rpx;
+}
+
+.l--20 {
+ left: -20rpx;
+}
+
+.l-21 {
+ left: 21rpx;
+}
+
+.l--21 {
+ left: -21rpx;
+}
+
+.l-22 {
+ left: 22rpx;
+}
+
+.l--22 {
+ left: -22rpx;
+}
+
+.l-23 {
+ left: 23rpx;
+}
+
+.l--23 {
+ left: -23rpx;
+}
+
+.l-24 {
+ left: 24rpx;
+}
+
+.l--24 {
+ left: -24rpx;
+}
+
+.l-25 {
+ left: 25rpx;
+}
+
+.l--25 {
+ left: -25rpx;
+}
+
+.l-n1 {
+ left: 4rpx;
+}
+
+.l--n1 {
+ left: -4rpx;
+}
+
+.l-n2 {
+ left: 8rpx;
+}
+
+.l--n2 {
+ left: -8rpx;
+}
+
+.l-n3 {
+ left: 12rpx;
+}
+
+.l--n3 {
+ left: -12rpx;
+}
+
+.l-n4 {
+ left: 16rpx;
+}
+
+.l--n4 {
+ left: -16rpx;
+}
+
+.l-n5 {
+ left: 20rpx;
+}
+
+.l--n5 {
+ left: -20rpx;
+}
+
+.l-n6 {
+ left: 24rpx;
+}
+
+.l--n6 {
+ left: -24rpx;
+}
+
+.l-n7 {
+ left: 28rpx;
+}
+
+.l--n7 {
+ left: -28rpx;
+}
+
+.l-n8 {
+ left: 32rpx;
+}
+
+.l--n8 {
+ left: -32rpx;
+}
+
+.l-n9 {
+ left: 36rpx;
+}
+
+.l--n9 {
+ left: -36rpx;
+}
+
+.l-n10 {
+ left: 40rpx;
+}
+
+.l--n10 {
+ left: -40rpx;
+}
+
+.l-n11 {
+ left: 44rpx;
+}
+
+.l--n11 {
+ left: -44rpx;
+}
+
+.l-n12 {
+ left: 48rpx;
+}
+
+.l--n12 {
+ left: -48rpx;
+}
+
+.l-n13 {
+ left: 52rpx;
+}
+
+.l--n13 {
+ left: -52rpx;
+}
+
+.l-n14 {
+ left: 56rpx;
+}
+
+.l--n14 {
+ left: -56rpx;
+}
+
+.l-n15 {
+ left: 60rpx;
+}
+
+.l--n15 {
+ left: -60rpx;
+}
+
+.l-n16 {
+ left: 64rpx;
+}
+
+.l--n16 {
+ left: -64rpx;
+}
+
+.l-n17 {
+ left: 68rpx;
+}
+
+.l--n17 {
+ left: -68rpx;
+}
+
+.l-n18 {
+ left: 72rpx;
+}
+
+.l--n18 {
+ left: -72rpx;
+}
+
+.l-n19 {
+ left: 76rpx;
+}
+
+.l--n19 {
+ left: -76rpx;
+}
+
+.l-n20 {
+ left: 80rpx;
+}
+
+.l--n20 {
+ left: -80rpx;
+}
+
+.l-n21 {
+ left: 84rpx;
+}
+
+.l--n21 {
+ left: -84rpx;
+}
+
+.l-n22 {
+ left: 88rpx;
+}
+
+.l--n22 {
+ left: -88rpx;
+}
+
+.l-n23 {
+ left: 92rpx;
+}
+
+.l--n23 {
+ left: -92rpx;
+}
+
+.l-n24 {
+ left: 96rpx;
+}
+
+.l--n24 {
+ left: -96rpx;
+}
+
+.l-n25 {
+ left: 100rpx;
+}
+
+.l--n25 {
+ left: -100rpx;
+}
+
+.grid {
+ display: grid !important;
+}
+
+.grid-col-1 {
+ grid-template-columns: repeat(1, 1fr);
+}
+
+.grid-col-2 {
+ grid-template-columns: repeat(2, 1fr);
+}
+
+.grid-col-3 {
+ grid-template-columns: repeat(3, 1fr);
+}
+
+.grid-col-4 {
+ grid-template-columns: repeat(4, 1fr);
+}
+
+.grid-col-5 {
+ grid-template-columns: repeat(5, 1fr);
+}
+
+.grid-col-6 {
+ grid-template-columns: repeat(6, 1fr);
+}
+
+.grid-col-7 {
+ grid-template-columns: repeat(7, 1fr);
+}
+
+.grid-col-8 {
+ grid-template-columns: repeat(8, 1fr);
+}
+
+.grid-col-9 {
+ grid-template-columns: repeat(9, 1fr);
+}
+
+.grid-col-10 {
+ grid-template-columns: repeat(10, 1fr);
+}
+
+.grid-col-11 {
+ grid-template-columns: repeat(11, 1fr);
+}
+
+.gap-1 {
+ gap: 2rpx;
+}
+
+.gap-col-1 {
+ grid-column-gap: 2rpx;
+}
+
+.gap-row-1 {
+ grid-row-gap: 2rpx;
+}
+
+.gap-2 {
+ gap: 4rpx;
+}
+
+.gap-col-2 {
+ grid-column-gap: 4rpx;
+}
+
+.gap-row-2 {
+ grid-row-gap: 4rpx;
+}
+
+.gap-3 {
+ gap: 6rpx;
+}
+
+.gap-col-3 {
+ grid-column-gap: 6rpx;
+}
+
+.gap-row-3 {
+ grid-row-gap: 6rpx;
+}
+
+.gap-4 {
+ gap: 8rpx;
+}
+
+.gap-col-4 {
+ grid-column-gap: 8rpx;
+}
+
+.gap-row-4 {
+ grid-row-gap: 8rpx;
+}
+
+.gap-5 {
+ gap: 10rpx;
+}
+
+.gap-col-5 {
+ grid-column-gap: 10rpx;
+}
+
+.gap-row-5 {
+ grid-row-gap: 10rpx;
+}
+
+.gap-6 {
+ gap: 12rpx;
+}
+
+.gap-col-6 {
+ grid-column-gap: 12rpx;
+}
+
+.gap-row-6 {
+ grid-row-gap: 12rpx;
+}
+
+.gap-7 {
+ gap: 14rpx;
+}
+
+.gap-col-7 {
+ grid-column-gap: 14rpx;
+}
+
+.gap-row-7 {
+ grid-row-gap: 14rpx;
+}
+
+.gap-8 {
+ gap: 16rpx;
+}
+
+.gap-col-8 {
+ grid-column-gap: 16rpx;
+}
+
+.gap-row-8 {
+ grid-row-gap: 16rpx;
+}
+
+.gap-9 {
+ gap: 18rpx;
+}
+
+.gap-col-9 {
+ grid-column-gap: 18rpx;
+}
+
+.gap-row-9 {
+ grid-row-gap: 18rpx;
+}
+
+.gap-10 {
+ gap: 20rpx;
+}
+
+.gap-col-10 {
+ grid-column-gap: 20rpx;
+}
+
+.gap-row-10 {
+ grid-row-gap: 20rpx;
+}
+
+.gap-11 {
+ gap: 22rpx;
+}
+
+.gap-col-11 {
+ grid-column-gap: 22rpx;
+}
+
+.gap-row-11 {
+ grid-row-gap: 22rpx;
+}
+
+.gap-12 {
+ gap: 24rpx;
+}
+
+.gap-col-12 {
+ grid-column-gap: 24rpx;
+}
+
+.gap-row-12 {
+ grid-row-gap: 24rpx;
+}
+
+.gap-13 {
+ gap: 26rpx;
+}
+
+.gap-col-13 {
+ grid-column-gap: 26rpx;
+}
+
+.gap-row-13 {
+ grid-row-gap: 26rpx;
+}
+
+.gap-14 {
+ gap: 28rpx;
+}
+
+.gap-col-14 {
+ grid-column-gap: 28rpx;
+}
+
+.gap-row-14 {
+ grid-row-gap: 28rpx;
+}
+
+.gap-15 {
+ gap: 30rpx;
+}
+
+.gap-col-15 {
+ grid-column-gap: 30rpx;
+}
+
+.gap-row-15 {
+ grid-row-gap: 30rpx;
+}
+
+.gap-16 {
+ gap: 32rpx;
+}
+
+.gap-col-16 {
+ grid-column-gap: 32rpx;
+}
+
+.gap-row-16 {
+ grid-row-gap: 32rpx;
+}
+
+.gap-17 {
+ gap: 34rpx;
+}
+
+.gap-col-17 {
+ grid-column-gap: 34rpx;
+}
+
+.gap-row-17 {
+ grid-row-gap: 34rpx;
+}
+
+.gap-18 {
+ gap: 36rpx;
+}
+
+.gap-col-18 {
+ grid-column-gap: 36rpx;
+}
+
+.gap-row-18 {
+ grid-row-gap: 36rpx;
+}
+
+.gap-19 {
+ gap: 38rpx;
+}
+
+.gap-col-19 {
+ grid-column-gap: 38rpx;
+}
+
+.gap-row-19 {
+ grid-row-gap: 38rpx;
+}
+
+.gap-20 {
+ gap: 40rpx;
+}
+
+.gap-col-20 {
+ grid-column-gap: 40rpx;
+}
+
+.gap-row-20 {
+ grid-row-gap: 40rpx;
+}
+
+.gap-21 {
+ gap: 42rpx;
+}
+
+.gap-col-21 {
+ grid-column-gap: 42rpx;
+}
+
+.gap-row-21 {
+ grid-row-gap: 42rpx;
+}
+
+.gap-22 {
+ gap: 44rpx;
+}
+
+.gap-col-22 {
+ grid-column-gap: 44rpx;
+}
+
+.gap-row-22 {
+ grid-row-gap: 44rpx;
+}
+
+.gap-23 {
+ gap: 46rpx;
+}
+
+.gap-col-23 {
+ grid-column-gap: 46rpx;
+}
+
+.gap-row-23 {
+ grid-row-gap: 46rpx;
+}
+
+.gap-24 {
+ gap: 48rpx;
+}
+
+.gap-col-24 {
+ grid-column-gap: 48rpx;
+}
+
+.gap-row-24 {
+ grid-row-gap: 48rpx;
+}
+
+.gap-25 {
+ gap: 50rpx;
+}
+
+.gap-col-25 {
+ grid-column-gap: 50rpx;
+}
+
+.gap-row-25 {
+ grid-row-gap: 50rpx;
+}
+
+.flex {
+ display: flex !important;
+}
+
+.flex-col {
+ flex-direction: column !important;
+}
+
+.flex-wrap {
+ flex-flow: row wrap !important;
+}
+
+/* #ifndef APP-PLUS-NVUE */
+.flex-shrink {
+ flex-shrink: 0 !important;
+}
+
+/* #endif */
+.flex-row {
+ flex-direction: row !important;
+}
+
+.flex-reverse {
+ flex-direction: row-reverse !important;
+}
+
+.flex-row-top-start {
+ justify-content: flex-start !important;
+ align-items: flex-start !important;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-row-top-center {
+ justify-content: center !important;
+ align-items: flex-start !important;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-row-top-end {
+ justify-content: flex-end !important;
+ align-items: flex-start !important;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-row-center-start {
+ justify-content: flex-start !important;
+ align-items: center !important;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-row-center-center {
+ justify-content: center !important;
+ align-items: center !important;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-row-center-end {
+ justify-content: flex-end !important;
+ align-items: center !important;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-row-bottom-start {
+ justify-content: flex-start !important;
+ align-items: flex-end !important;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-row-bottom-center {
+ justify-content: center !important;
+ align-items: flex-end !important;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-row-bottom-end {
+ justify-content: flex-end !important;
+ align-items: flex-end !important;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-row-center-between {
+ justify-content: space-between !important;
+ align-items: center !important;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-col-top-start {
+ justify-content: flex-start !important;
+ align-items: flex-start !important;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-col-top-center {
+ justify-content: flex-start !important;
+ align-items: center !important;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-col-top-end {
+ justify-content: flex-start !important;
+ align-items: flex-end !important;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-col-center-start {
+ justify-content: center !important;
+ align-items: flex-start !important;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-col-center-center {
+ justify-content: center !important;
+ align-items: center !important;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-col-center-end {
+ justify-content: center !important;
+ align-items: flex-end !important;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-col-bottom-start {
+ justify-content: flex-end !important;
+ align-items: flex-start !important;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-col-bottom-center {
+ justify-content: flex-end !important;
+ align-items: center !important;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-col-bottom-end {
+ justify-content: flex-end !important;
+ align-items: flex-end !important;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-start {
+ justify-content: flex-start !important;
+ align-items: center !important;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-end {
+ justify-content: flex-end !important;
+ align-items: center !important;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-center {
+ justify-content: center !important;
+ align-items: center !important;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-between {
+ justify-content: space-between;
+}
+
+.flex-col-full {
+ flex-direction: column;
+ align-items: stretch;
+}
+
+.flex-around {
+ justify-content: space-around;
+}
+
+.flex-row-baseline-start {
+ justify-content: flex-start !important;
+ align-items: baseline !important;
+ align-content: center;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-row-baseline-center {
+ justify-content: center !important;
+ align-items: baseline !important;
+ align-content: center;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-row-baseline-end {
+ justify-content: flex-end !important;
+ align-items: baseline !important;
+ align-content: center;
+ align-content: center;
+ display: flex !important;
+}
+
+.flex-0 {
+ flex-grow: 0 !important;
+}
+
+.flex-1 {
+ flex-grow: 1 !important;
+}
+
+.flex-2 {
+ flex-grow: 2 !important;
+}
+
+.flex-3 {
+ flex-grow: 3 !important;
+}
+
+.flex-4 {
+ flex-grow: 4 !important;
+}
+
+.flex-5 {
+ flex-grow: 5 !important;
+}
+
+.flex-6 {
+ flex-grow: 6 !important;
+}
+
+.flex-7 {
+ flex-grow: 7 !important;
+}
+
+.flex-8 {
+ flex-grow: 8 !important;
+}
+
+.flex-9 {
+ flex-grow: 9 !important;
+}
+
+.flex-10 {
+ flex-grow: 10 !important;
+}
+
+.flex-11 {
+ flex-grow: 11 !important;
+}
+
+.flex-12 {
+ flex-grow: 12 !important;
+}
+
+.text-red {
+ color: #f44336 !important;
+}
+
+.red {
+ background-color: #f44336;
+}
+
+.text-pink {
+ color: #e91e63 !important;
+}
+
+.pink {
+ background-color: #e91e63;
+}
+
+.text-purple {
+ color: #9c27b0 !important;
+}
+
+.purple {
+ background-color: #9c27b0;
+}
+
+.text-deep-purple {
+ color: #673ab7 !important;
+}
+
+.deep-purple {
+ background-color: #673ab7;
+}
+
+.text-indigo {
+ color: #3f51b5 !important;
+}
+
+.indigo {
+ background-color: #3f51b5;
+}
+
+.text-blue {
+ color: #2196f3 !important;
+}
+
+.blue {
+ background-color: #2196f3;
+}
+
+.text-light-blue {
+ color: #03a9f4 !important;
+}
+
+.light-blue {
+ background-color: #03a9f4;
+}
+
+.text-cyan {
+ color: #00bcd4 !important;
+}
+
+.cyan {
+ background-color: #00bcd4;
+}
+
+.text-teal {
+ color: #009688 !important;
+}
+
+.teal {
+ background-color: #009688;
+}
+
+.text-green {
+ color: #4caf50 !important;
+}
+
+.green {
+ background-color: #4caf50;
+}
+
+.text-light-green {
+ color: #8bc34a !important;
+}
+
+.light-green {
+ background-color: #8bc34a;
+}
+
+.text-lime {
+ color: #cddc39 !important;
+}
+
+.lime {
+ background-color: #cddc39;
+}
+
+.text-yellow {
+ color: #ffeb3b !important;
+}
+
+.yellow {
+ background-color: #ffeb3b;
+}
+
+.text-amber {
+ color: #ffc107 !important;
+}
+
+.amber {
+ background-color: #ffc107;
+}
+
+.text-orange {
+ color: #ff9800 !important;
+}
+
+.orange {
+ background-color: #ff9800;
+}
+
+.text-deep-orange {
+ color: #ff5722 !important;
+}
+
+.deep-orange {
+ background-color: #ff5722;
+}
+
+.text-brown {
+ color: #795548 !important;
+}
+
+.brown {
+ background-color: #795548;
+}
+
+.text-blue-grey {
+ color: #607d8b !important;
+}
+
+.blue-grey {
+ background-color: #607d8b;
+}
+
+.text-grey {
+ color: #9e9e9e !important;
+}
+
+.grey {
+ background-color: #9e9e9e;
+}
+
+.text-black {
+ color: #000000 !important;
+}
+
+.black {
+ background-color: #000000;
+}
+
+.text-white {
+ color: #ffffff !important;
+}
+
+.white {
+ background-color: #ffffff;
+}
+
+.text-lighten-5 {
+ color: #fafafa !important;
+}
+
+.lighten-5 {
+ background-color: #fafafa;
+}
+
+.text-lighten-4 {
+ color: #f5f5f5 !important;
+}
+
+.lighten-4 {
+ background-color: #f5f5f5;
+}
+
+.text-lighten-3 {
+ color: #eeeeee !important;
+}
+
+.lighten-3 {
+ background-color: #eeeeee;
+}
+
+.text-lighten-2 {
+ color: #e0e0e0 !important;
+}
+
+.lighten-2 {
+ background-color: #e0e0e0;
+}
+
+.text-lighten-1 {
+ color: #bdbdbd !important;
+}
+
+.lighten-1 {
+ background-color: #bdbdbd;
+}
+
+.text-darken-1 {
+ color: #757575 !important;
+}
+
+.darken-1 {
+ background-color: #757575;
+}
+
+.text-darken-2 {
+ color: #616161 !important;
+}
+
+.darken-2 {
+ background-color: #616161;
+}
+
+.text-darken-3 {
+ color: #424242 !important;
+}
+
+.darken-3 {
+ background-color: #424242;
+}
+
+.text-darken-4 {
+ color: #212121 !important;
+}
+
+.darken-4 {
+ background-color: #212121;
+}
+
+.text-darken-5 {
+ color: #131313 !important;
+}
+
+.darken-5 {
+ background-color: #131313;
+}
+
+.text-darken-6 {
+ color: #0a0a0a !important;
+}
+
+.darken-6 {
+ background-color: #0a0a0a;
+}/*# sourceMappingURL=tmui.css.map */
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/css/tmui.css.map b/src/uni_modules/tm-ui/css/tmui.css.map
new file mode 100644
index 0000000..c6095d4
--- /dev/null
+++ b/src/uni_modules/tm-ui/css/tmui.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["tmui.scss","tmui.css"],"names":[],"mappings":"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XE;EAME,yCAAA;ACuXJ;;AD7XE;EAME,yCAAA;AC2XJ;;ADjYE;EAME,yCAAA;AC+XJ;;ADrYE;EAME,yCAAA;ACmYJ;;ADzYE;EAME,yCAAA;ACuYJ;;AD7YE;EAME,yCAAA;AC2YJ;;ADjZE;EAME,yCAAA;AC+YJ;;ADrZE;EAME,yCAAA;ACmZJ;;ADzZE;EAME,yCAAA;ACuZJ;;AD7ZE;EAME,yCAAA;AC2ZJ;;ADjaE;EAME,yCAAA;AC+ZJ;;ADraE;EAME,yCAAA;ACmaJ;;ADzaE;EAME,yCAAA;ACuaJ;;AD7aE;EAME,yCAAA;AC2aJ;;ADjbE;EAME,yCAAA;AC+aJ;;ADrbE;EAME,yCAAA;ACmbJ;;ADzbE;EAME,yCAAA;ACubJ;;AD7bE;EAME,yCAAA;AC2bJ;;ADjcE;EAME,yCAAA;AC+bJ;;ADrcE;EAME,0CAAA;ACmcJ;;ADzcE;EAUE,0CAAA;ACmcJ;;AD7cE;EAUE,0CAAA;ACucJ;;ADjdE;EAUE,0CAAA;AC2cJ;;ADrdE;EAUE,2CAAA;AC+cJ;;ADzdE;EAUE,2CAAA;ACmdJ;;AD7dE;EAUE,2CAAA;ACudJ;;ADjeE;EAUE,2CAAA;AC2dJ;;ADreE;EAUE,2CAAA;AC+dJ;;ADzeE;EAUE,2CAAA;ACmeJ;;AD7eE;EAUE,2CAAA;ACueJ;;ADjfE;EAUE,2CAAA;AC2eJ;;ADrfE;EAUE,2CAAA;AC+eJ;;ADzfE;EAUE,2CAAA;ACmfJ;;AD7fE;EAUE,2CAAA;ACufJ;;ADjgBE;EAUE,2CAAA;AC2fJ;;ADrgBE;EAUE,2CAAA;AC+fJ;;ADzgBE;EAUE,2CAAA;ACmgBJ;;AD7gBE;EAUE,2CAAA;ACugBJ;;ADjhBE;EAUE,2CAAA;AC2gBJ;;ADrhBE;EAUE,2CAAA;AC+gBJ;;ADzhBE;EAUE,2CAAA;ACmhBJ;;AD7hBE;EAUE,2CAAA;ACuhBJ;;ADjiBE;EAUE,2CAAA;AC2hBJ;;ADriBE;EAUE,2CAAA;AC+hBJ;;ADziBE;EAUE,2CAAA;ACmiBJ;;AD7iBE;EAUE,4CAAA;ACuiBJ;;ADjjBE;EAcE,2CAAA;ACuiBJ;;ADrjBE;EAcE,2CAAA;AC2iBJ;;ADzjBE;EAcE,2CAAA;AC+iBJ;;AD7jBE;EAcE,4CAAA;ACmjBJ;;ADjkBE;EAcE,4CAAA;ACujBJ;;ADrkBE;EAcE,4CAAA;AC2jBJ;;ADzkBE;EAcE,4CAAA;AC+jBJ;;AD7kBE;EAcE,4CAAA;ACmkBJ;;ADjlBE;EAcE,4CAAA;ACukBJ;;ADrlBE;EAcE,4CAAA;AC2kBJ;;ADzlBE;EAcE,4CAAA;AC+kBJ;;AD7lBE;EAcE,4CAAA;ACmlBJ;;ADjmBE;EAcE,4CAAA;ACulBJ;;ADrmBE;EAcE,4CAAA;AC2lBJ;;ADzmBE;EAcE,4CAAA;AC+lBJ;;AD7mBE;EAcE,4CAAA;ACmmBJ;;ADjnBE;EAcE,4CAAA;ACumBJ;;ADrnBE;EAcE,4CAAA;AC2mBJ;;ADznBE;EAcE,4CAAA;AC+mBJ;;AD7nBE;EAcE,4CAAA;ACmnBJ;;ADjoBE;EAcE,4CAAA;ACunBJ;;ADroBE;EAcE,4CAAA;AC2nBJ;;ADzoBE;EAcE,4CAAA;AC+nBJ;;AD7oBE;EAcE,4CAAA;ACmoBJ;;ADjpBE;EAcE,4CAAA;ACuoBJ;;ADrpBE;EAcE,6CAAA;AC2oBJ;;ADzpBE;EAsCE,8BAAA;ACunBJ;;AD7pBE;EAsCE,8BAAA;AC2nBJ;;ADjqBE;EAsCE,8BAAA;AC+nBJ;;ADrqBE;EAsCE,+BAAA;ACmoBJ;;ADzqBE;EAsCE,+BAAA;ACuoBJ;;AD7qBE;EAsCE,+BAAA;AC2oBJ;;ADjrBE;EAsCE,+BAAA;AC+oBJ;;ADrrBE;EAsCE,+BAAA;ACmpBJ;;ADzrBE;EAsCE,+BAAA;ACupBJ;;AD7rBE;EAsCE,+BAAA;AC2pBJ;;ADjsBE;EAsCE,+BAAA;AC+pBJ;;ADrsBE;EAsCE,+BAAA;ACmqBJ;;ADzsBE;EAsCE,+BAAA;ACuqBJ;;AD7sBE;EAsCE,+BAAA;AC2qBJ;;ADjtBE;EAsCE,+BAAA;AC+qBJ;;ADrtBE;EAsCE,+BAAA;ACmrBJ;;ADztBE;EAsCE,+BAAA;ACurBJ;;AD7tBE;EAsCE,+BAAA;AC2rBJ;;ADjuBE;EAsCE,+BAAA;AC+rBJ;;ADruBE;EAsCE,+BAAA;ACmsBJ;;ADzuBE;EAsCE,+BAAA;ACusBJ;;AD7uBE;EAsCE,+BAAA;AC2sBJ;;ADjvBE;EAsCE,+BAAA;AC+sBJ;;ADrvBE;EAsCE,+BAAA;ACmtBJ;;ADzvBE;EAsCE,+BAAA;ACutBJ;;AD7vBE;EAsCE,gCAAA;AC2tBJ;;ADjwBE;EAkBE,uCAAA;EACA,wCAAA;ACmvBJ;;ADtwBE;EAkBE,uCAAA;EACA,wCAAA;ACwvBJ;;AD3wBE;EAkBE,uCAAA;EACA,wCAAA;AC6vBJ;;ADhxBE;EAkBE,wCAAA;EACA,yCAAA;ACkwBJ;;ADrxBE;EAkBE,wCAAA;EACA,yCAAA;ACuwBJ;;AD1xBE;EAkBE,wCAAA;EACA,yCAAA;AC4wBJ;;AD/xBE;EAkBE,wCAAA;EACA,yCAAA;ACixBJ;;ADpyBE;EAkBE,wCAAA;EACA,yCAAA;ACsxBJ;;ADzyBE;EAkBE,wCAAA;EACA,yCAAA;AC2xBJ;;AD9yBE;EAkBE,wCAAA;EACA,yCAAA;ACgyBJ;;ADnzBE;EAkBE,wCAAA;EACA,yCAAA;ACqyBJ;;ADxzBE;EAkBE,wCAAA;EACA,yCAAA;AC0yBJ;;AD7zBE;EAkBE,wCAAA;EACA,yCAAA;AC+yBJ;;ADl0BE;EAkBE,wCAAA;EACA,yCAAA;ACozBJ;;ADv0BE;EAkBE,wCAAA;EACA,yCAAA;ACyzBJ;;AD50BE;EAkBE,wCAAA;EACA,yCAAA;AC8zBJ;;ADj1BE;EAkBE,wCAAA;EACA,yCAAA;ACm0BJ;;ADt1BE;EAkBE,wCAAA;EACA,yCAAA;ACw0BJ;;AD31BE;EAkBE,wCAAA;EACA,yCAAA;AC60BJ;;ADh2BE;EAkBE,wCAAA;EACA,yCAAA;ACk1BJ;;ADr2BE;EAkBE,wCAAA;EACA,yCAAA;ACu1BJ;;AD12BE;EAkBE,wCAAA;EACA,yCAAA;AC41BJ;;AD/2BE;EAkBE,wCAAA;EACA,yCAAA;ACi2BJ;;ADp3BE;EAkBE,wCAAA;EACA,yCAAA;ACs2BJ;;ADz3BE;EAkBE,wCAAA;EACA,yCAAA;AC22BJ;;AD93BE;EAkBE,yCAAA;EACA,0CAAA;ACg3BJ;;ADn4BE;EAuBE,0CAAA;EACA,2CAAA;ACg3BJ;;ADx4BE;EAuBE,0CAAA;EACA,2CAAA;ACq3BJ;;AD74BE;EAuBE,0CAAA;EACA,2CAAA;AC03BJ;;ADl5BE;EAuBE,2CAAA;EACA,4CAAA;AC+3BJ;;ADv5BE;EAuBE,2CAAA;EACA,4CAAA;ACo4BJ;;AD55BE;EAuBE,2CAAA;EACA,4CAAA;ACy4BJ;;ADj6BE;EAuBE,2CAAA;EACA,4CAAA;AC84BJ;;ADt6BE;EAuBE,2CAAA;EACA,4CAAA;ACm5BJ;;AD36BE;EAuBE,2CAAA;EACA,4CAAA;ACw5BJ;;ADh7BE;EAuBE,2CAAA;EACA,4CAAA;AC65BJ;;ADr7BE;EAuBE,2CAAA;EACA,4CAAA;ACk6BJ;;AD17BE;EAuBE,2CAAA;EACA,4CAAA;ACu6BJ;;AD/7BE;EAuBE,2CAAA;EACA,4CAAA;AC46BJ;;ADp8BE;EAuBE,2CAAA;EACA,4CAAA;ACi7BJ;;ADz8BE;EAuBE,2CAAA;EACA,4CAAA;ACs7BJ;;AD98BE;EAuBE,2CAAA;EACA,4CAAA;AC27BJ;;ADn9BE;EAuBE,2CAAA;EACA,4CAAA;ACg8BJ;;ADx9BE;EAuBE,2CAAA;EACA,4CAAA;ACq8BJ;;AD79BE;EAuBE,2CAAA;EACA,4CAAA;AC08BJ;;ADl+BE;EAuBE,2CAAA;EACA,4CAAA;AC+8BJ;;ADv+BE;EAuBE,2CAAA;EACA,4CAAA;ACo9BJ;;AD5+BE;EAuBE,2CAAA;EACA,4CAAA;ACy9BJ;;ADj/BE;EAuBE,2CAAA;EACA,4CAAA;AC89BJ;;ADt/BE;EAuBE,2CAAA;EACA,4CAAA;ACm+BJ;;AD3/BE;EAuBE,2CAAA;EACA,4CAAA;ACw+BJ;;ADhgCE;EAuBE,4CAAA;EACA,6CAAA;AC6+BJ;;ADrgCE;EA4BE,uCAAA;EACA,0CAAA;AC6+BJ;;AD1gCE;EA4BE,uCAAA;EACA,0CAAA;ACk/BJ;;AD/gCE;EA4BE,uCAAA;EACA,0CAAA;ACu/BJ;;ADphCE;EA4BE,wCAAA;EACA,2CAAA;AC4/BJ;;ADzhCE;EA4BE,wCAAA;EACA,2CAAA;ACigCJ;;AD9hCE;EA4BE,wCAAA;EACA,2CAAA;ACsgCJ;;ADniCE;EA4BE,wCAAA;EACA,2CAAA;AC2gCJ;;ADxiCE;EA4BE,wCAAA;EACA,2CAAA;ACghCJ;;AD7iCE;EA4BE,wCAAA;EACA,2CAAA;ACqhCJ;;ADljCE;EA4BE,wCAAA;EACA,2CAAA;AC0hCJ;;ADvjCE;EA4BE,wCAAA;EACA,2CAAA;AC+hCJ;;AD5jCE;EA4BE,wCAAA;EACA,2CAAA;ACoiCJ;;ADjkCE;EA4BE,wCAAA;EACA,2CAAA;ACyiCJ;;ADtkCE;EA4BE,wCAAA;EACA,2CAAA;AC8iCJ;;AD3kCE;EA4BE,wCAAA;EACA,2CAAA;ACmjCJ;;ADhlCE;EA4BE,wCAAA;EACA,2CAAA;ACwjCJ;;ADrlCE;EA4BE,wCAAA;EACA,2CAAA;AC6jCJ;;AD1lCE;EA4BE,wCAAA;EACA,2CAAA;ACkkCJ;;AD/lCE;EA4BE,wCAAA;EACA,2CAAA;ACukCJ;;ADpmCE;EA4BE,wCAAA;EACA,2CAAA;AC4kCJ;;ADzmCE;EA4BE,wCAAA;EACA,2CAAA;ACilCJ;;AD9mCE;EA4BE,wCAAA;EACA,2CAAA;ACslCJ;;ADnnCE;EA4BE,wCAAA;EACA,2CAAA;AC2lCJ;;ADxnCE;EA4BE,wCAAA;EACA,2CAAA;ACgmCJ;;AD7nCE;EA4BE,wCAAA;EACA,2CAAA;ACqmCJ;;ADloCE;EA4BE,yCAAA;EACA,4CAAA;AC0mCJ;;ADvoCE;EAiCE,wCAAA;EACA,2CAAA;AC0mCJ;;AD5oCE;EAiCE,wCAAA;EACA,2CAAA;AC+mCJ;;ADjpCE;EAiCE,wCAAA;EACA,2CAAA;AConCJ;;ADtpCE;EAiCE,yCAAA;EACA,4CAAA;ACynCJ;;AD3pCE;EAiCE,yCAAA;EACA,4CAAA;AC8nCJ;;ADhqCE;EAiCE,yCAAA;EACA,4CAAA;ACmoCJ;;ADrqCE;EAiCE,yCAAA;EACA,4CAAA;ACwoCJ;;AD1qCE;EAiCE,yCAAA;EACA,4CAAA;AC6oCJ;;AD/qCE;EAiCE,yCAAA;EACA,4CAAA;ACkpCJ;;ADprCE;EAiCE,yCAAA;EACA,4CAAA;ACupCJ;;ADzrCE;EAiCE,yCAAA;EACA,4CAAA;AC4pCJ;;AD9rCE;EAiCE,yCAAA;EACA,4CAAA;ACiqCJ;;ADnsCE;EAiCE,yCAAA;EACA,4CAAA;ACsqCJ;;ADxsCE;EAiCE,yCAAA;EACA,4CAAA;AC2qCJ;;AD7sCE;EAiCE,yCAAA;EACA,4CAAA;ACgrCJ;;ADltCE;EAiCE,yCAAA;EACA,4CAAA;ACqrCJ;;ADvtCE;EAiCE,yCAAA;EACA,4CAAA;AC0rCJ;;AD5tCE;EAiCE,yCAAA;EACA,4CAAA;AC+rCJ;;ADjuCE;EAiCE,yCAAA;EACA,4CAAA;ACosCJ;;ADtuCE;EAiCE,yCAAA;EACA,4CAAA;ACysCJ;;AD3uCE;EAiCE,yCAAA;EACA,4CAAA;AC8sCJ;;ADhvCE;EAiCE,yCAAA;EACA,4CAAA;ACmtCJ;;ADrvCE;EAiCE,yCAAA;EACA,4CAAA;ACwtCJ;;AD1vCE;EAiCE,yCAAA;EACA,4CAAA;AC6tCJ;;AD/vCE;EAiCE,yCAAA;EACA,4CAAA;ACkuCJ;;ADpwCE;EAiCE,0CAAA;EACA,6CAAA;ACuuCJ;;AD3tCC;EACC,mBAAA;AC8tCF;;AD/tCC;EACC,mBAAA;ACkuCF;;ADnuCC;EACC,mBAAA;ACsuCF;;ADvuCC;EACC,oBAAA;AC0uCF;;AD3uCC;EACC,oBAAA;AC8uCF;;AD/uCC;EACC,oBAAA;ACkvCF;;ADnvCC;EACC,oBAAA;ACsvCF;;ADvvCC;EACC,oBAAA;AC0vCF;;AD3vCC;EACC,oBAAA;AC8vCF;;AD/vCC;EACC,oBAAA;ACkwCF;;ADnwCC;EACC,oBAAA;ACswCF;;ADvwCC;EACC,oBAAA;AC0wCF;;AD3wCC;EACC,oBAAA;AC8wCF;;AD/wCC;EACC,oBAAA;ACkxCF;;ADnxCC;EACC,oBAAA;ACsxCF;;ADvxCC;EACC,oBAAA;AC0xCF;;AD3xCC;EACC,oBAAA;AC8xCF;;AD/xCC;EACC,oBAAA;ACkyCF;;ADnyCC;EACC,oBAAA;ACsyCF;;ADvyCC;EACC,oBAAA;AC0yCF;;AD3yCC;EACC,oBAAA;AC8yCF;;AD/yCC;EACC,oBAAA;ACkzCF;;ADnzCC;EACC,oBAAA;ACszCF;;ADvzCC;EACC,oBAAA;AC0zCF;;AD3zCC;EACC,oBAAA;AC8zCF;;AD/zCC;EACC,qBAAA;ACk0CF;;ADn0CC;EACC,qBAAA;ACs0CF;;ADj0CA;EACC,6BAAA;ACo0CD;;AD/zCC;EAME,UAAA;AC6zCH;;ADn0CC;EAEE,YAAA;ACq0CH;;ADv0CC;EAEE,YAAA;ACy0CH;;AD30CC;EAEE,YAAA;AC60CH;;AD/0CC;EAEE,YAAA;ACi1CH;;ADn1CC;EAEE,YAAA;ACq1CH;;ADv1CC;EAEE,YAAA;ACy1CH;;AD31CC;EAEE,YAAA;AC61CH;;AD/1CC;EAEE,YAAA;ACi2CH;;ADn2CC;EAEE,YAAA;ACq2CH;;ADv2CC;EAUE,UAAA;ACi2CH;;AD51CA;EACC,4CAAA;AC+1CD;;AD31CC;EACC,4CAAA;AC81CF;;AD/1CC;EACC,4CAAA;ACk2CF;;ADn2CC;EACC,4CAAA;ACs2CF;;ADv2CC;EACC,4CAAA;AC02CF;;AD32CC;EACC,4CAAA;AC82CF;;AD/2CC;EACC,6CAAA;ACk3CF;;ADn3CC;EACC,6CAAA;ACs3CF;;ADv3CC;EACC,6CAAA;AC03CF;;AD33CC;EACC,6CAAA;AC83CF;;AD/3CC;EACC,6CAAA;ACk4CF;;ADn4CC;EACC,6CAAA;ACs4CF;;ADv4CC;EACC,6CAAA;AC04CF;;AD34CC;EACC,6CAAA;AC84CF;;AD/4CC;EACC,6CAAA;ACk5CF;;ADn5CC;EACC,6CAAA;ACs5CF;;ADv5CC;EACC,6CAAA;AC05CF;;AD35CC;EACC,6CAAA;AC85CF;;AD/5CC;EACC,6CAAA;ACk6CF;;ADn6CC;EACC,6CAAA;ACs6CF;;ADv6CC;EACC,6CAAA;AC06CF;;AD36CC;EACC,6CAAA;AC86CF;;AD/6CC;EACC,6CAAA;ACk7CF;;ADn7CC;EACC,6CAAA;ACs7CF;;ADv7CC;EACC,6CAAA;AC07CF;;AD37CC;EACC,6CAAA;AC87CF;;AD/7CC;EACC,6CAAA;ACk8CF;;AD17CE;EACC,qCAAA;AC67CH;;AD17CE;EACC,qCAAA;AC67CH;;AD17CE;EACC,qCAAA;AC67CH;;AD17CE;EACC,qCAAA;AC67CH;;ADx7CE;EACC,oCAAA;AC27CH;;ADx7CE;EACC,oCAAA;AC27CH;;ADh8CE;EACC,oCAAA;ACm8CH;;ADh8CE;EACC,oCAAA;ACm8CH;;ADx8CE;EACC,oCAAA;AC28CH;;ADx8CE;EACC,oCAAA;AC28CH;;ADh9CE;EACC,oCAAA;ACm9CH;;ADh9CE;EACC,oCAAA;ACm9CH;;ADx9CE;EACC,qCAAA;AC29CH;;ADx9CE;EACC,qCAAA;AC29CH;;ADl9CE;EAME,6CAAA;ACg9CJ;;AD58CE;EAME,0CAAA;AC08CJ;;AD19CE;EAME,6CAAA;ACw9CJ;;ADp9CE;EAME,0CAAA;ACk9CJ;;ADl+CE;EAME,6CAAA;ACg+CJ;;AD59CE;EAME,0CAAA;AC09CJ;;AD1+CE;EAME,6CAAA;ACw+CJ;;ADp+CE;EAME,0CAAA;ACk+CJ;;ADl/CE;EAME,8CAAA;ACg/CJ;;AD5+CE;EAME,2CAAA;AC0+CJ;;AD1/CE;EAME,8CAAA;ACw/CJ;;ADp/CE;EAME,2CAAA;ACk/CJ;;ADlgDE;EAME,8CAAA;ACggDJ;;AD5/CE;EAME,2CAAA;AC0/CJ;;AD1gDE;EAME,8CAAA;ACwgDJ;;ADpgDE;EAME,2CAAA;ACkgDJ;;ADlhDE;EAME,8CAAA;ACghDJ;;AD5gDE;EAME,2CAAA;AC0gDJ;;AD1hDE;EAME,+CAAA;ACwhDJ;;ADphDE;EAME,4CAAA;ACkhDJ;;ADliDE;EAME,4CAAA;ACgiDJ;;AD5hDE;EAME,yCAAA;AC0hDJ;;AD1iDE;EAME,4CAAA;ACwiDJ;;ADpiDE;EAME,yCAAA;ACkiDJ;;ADljDE;EAME,4CAAA;ACgjDJ;;AD5iDE;EAME,yCAAA;AC0iDJ;;AD1jDE;EAME,4CAAA;ACwjDJ;;ADpjDE;EAME,yCAAA;ACkjDJ;;ADlkDE;EAME,6CAAA;ACgkDJ;;AD5jDE;EAME,0CAAA;AC0jDJ;;AD1kDE;EAME,+CAAA;ACwkDJ;;ADpkDE;EAME,4CAAA;ACkkDJ;;ADllDE;EAME,+CAAA;ACglDJ;;AD5kDE;EAME,4CAAA;AC0kDJ;;AD1lDE;EAME,+CAAA;ACwlDJ;;ADplDE;EAME,4CAAA;ACklDJ;;ADlmDE;EAME,+CAAA;ACgmDJ;;AD5lDE;EAME,4CAAA;AC0lDJ;;AD1mDE;EAME,gDAAA;ACwmDJ;;ADpmDE;EAME,6CAAA;ACkmDJ;;ADlnDE;EAEE,wCAAA;AConDJ;;AD5mDE;EAEE,qCAAA;AC8mDJ;;AD1nDE;EAEE,wCAAA;AC4nDJ;;ADpnDE;EAEE,qCAAA;ACsnDJ;;ADloDE;EAEE,wCAAA;ACooDJ;;AD5nDE;EAEE,qCAAA;AC8nDJ;;AD1oDE;EAEE,wCAAA;AC4oDJ;;ADpoDE;EAEE,qCAAA;ACsoDJ;;ADlpDE;EAEE,yCAAA;ACopDJ;;AD5oDE;EAEE,sCAAA;AC8oDJ;;AD/nDG;EACC,aAAA;ACkoDJ;;ADnoDG;EACC,aAAA;ACsoDJ;;ADvoDG;EACC,aAAA;AC0oDJ;;AD3oDG;EACC,aAAA;AC8oDJ;;AD/oDG;EACC,aAAA;ACkpDJ;;ADnpDG;EACC,aAAA;ACspDJ;;ADvpDG;EACC,aAAA;AC0pDJ;;AD3pDG;EACC,aAAA;AC8pDJ;;AD/pDG;EACC,aAAA;ACkqDJ;;ADnqDG;EACC,aAAA;ACsqDJ;;ADvqDG;EACC,cAAA;AC0qDJ;;AD3qDG;EACC,cAAA;AC8qDJ;;AD/qDG;EACC,cAAA;ACkrDJ;;ADnrDG;EACC,cAAA;ACsrDJ;;ADvrDG;EACC,cAAA;AC0rDJ;;AD3rDG;EACC,cAAA;AC8rDJ;;AD/rDG;EACC,cAAA;ACksDJ;;ADnsDG;EACC,cAAA;ACssDJ;;ADvsDG;EACC,cAAA;AC0sDJ;;AD3sDG;EACC,cAAA;AC8sDJ;;AD/sDG;EACC,cAAA;ACktDJ;;ADntDG;EACC,cAAA;ACstDJ;;ADvtDG;EACC,cAAA;AC0tDJ;;AD3tDG;EACC,cAAA;AC8tDJ;;AD/tDG;EACC,cAAA;ACkuDJ;;ADnuDG;EACC,cAAA;ACsuDJ;;ADjtDG;EACC,aAAA;ACotDJ;;ADrtDG;EACC,aAAA;ACwtDJ;;ADztDG;EACC,cAAA;AC4tDJ;;AD7tDG;EACC,cAAA;ACguDJ;;ADjuDG;EACC,cAAA;ACouDJ;;ADruDG;EACC,cAAA;ACwuDJ;;ADzuDG;EACC,cAAA;AC4uDJ;;AD7uDG;EACC,cAAA;ACgvDJ;;ADjvDG;EACC,cAAA;ACovDJ;;ADrvDG;EACC,cAAA;ACwvDJ;;ADzvDG;EACC,cAAA;AC4vDJ;;AD7vDG;EACC,cAAA;ACgwDJ;;ADjwDG;EACC,cAAA;ACowDJ;;ADrwDG;EACC,cAAA;ACwwDJ;;ADzwDG;EACC,cAAA;AC4wDJ;;AD7wDG;EACC,cAAA;ACgxDJ;;ADjxDG;EACC,cAAA;ACoxDJ;;ADrxDG;EACC,cAAA;ACwxDJ;;ADzxDG;EACC,cAAA;AC4xDJ;;AD7xDG;EACC,cAAA;ACgyDJ;;ADjyDG;EACC,cAAA;ACoyDJ;;ADryDG;EACC,cAAA;ACwyDJ;;ADzyDG;EACC,cAAA;AC4yDJ;;AD7yDG;EACC,cAAA;ACgzDJ;;ADjzDG;EACC,eAAA;ACozDJ;;AD30DG;EACC,iBAAA;AC80DJ;;AD/0DG;EACC,iBAAA;ACk1DJ;;ADn1DG;EACC,iBAAA;ACs1DJ;;ADv1DG;EACC,iBAAA;AC01DJ;;AD31DG;EACC,iBAAA;AC81DJ;;AD/1DG;EACC,iBAAA;ACk2DJ;;ADn2DG;EACC,iBAAA;ACs2DJ;;ADv2DG;EACC,iBAAA;AC02DJ;;AD32DG;EACC,iBAAA;AC82DJ;;AD/2DG;EACC,iBAAA;ACk3DJ;;ADn3DG;EACC,kBAAA;ACs3DJ;;ADv3DG;EACC,kBAAA;AC03DJ;;AD33DG;EACC,kBAAA;AC83DJ;;AD/3DG;EACC,kBAAA;ACk4DJ;;ADn4DG;EACC,kBAAA;ACs4DJ;;ADv4DG;EACC,kBAAA;AC04DJ;;AD34DG;EACC,kBAAA;AC84DJ;;AD/4DG;EACC,kBAAA;ACk5DJ;;ADn5DG;EACC,kBAAA;ACs5DJ;;ADv5DG;EACC,kBAAA;AC05DJ;;AD35DG;EACC,kBAAA;AC85DJ;;AD/5DG;EACC,kBAAA;ACk6DJ;;ADn6DG;EACC,kBAAA;ACs6DJ;;ADv6DG;EACC,kBAAA;AC06DJ;;AD36DG;EACC,kBAAA;AC86DJ;;AD/6DG;EACC,kBAAA;ACk7DJ;;AD75DG;EACC,iBAAA;ACg6DJ;;ADj6DG;EACC,iBAAA;ACo6DJ;;ADr6DG;EACC,kBAAA;ACw6DJ;;ADz6DG;EACC,kBAAA;AC46DJ;;AD76DG;EACC,kBAAA;ACg7DJ;;ADj7DG;EACC,kBAAA;ACo7DJ;;ADr7DG;EACC,kBAAA;ACw7DJ;;ADz7DG;EACC,kBAAA;AC47DJ;;AD77DG;EACC,kBAAA;ACg8DJ;;ADj8DG;EACC,kBAAA;ACo8DJ;;ADr8DG;EACC,kBAAA;ACw8DJ;;ADz8DG;EACC,kBAAA;AC48DJ;;AD78DG;EACC,kBAAA;ACg9DJ;;ADj9DG;EACC,kBAAA;ACo9DJ;;ADr9DG;EACC,kBAAA;ACw9DJ;;ADz9DG;EACC,kBAAA;AC49DJ;;AD79DG;EACC,kBAAA;ACg+DJ;;ADj+DG;EACC,kBAAA;ACo+DJ;;ADr+DG;EACC,kBAAA;ACw+DJ;;ADz+DG;EACC,kBAAA;AC4+DJ;;AD7+DG;EACC,kBAAA;ACg/DJ;;ADj/DG;EACC,kBAAA;ACo/DJ;;ADr/DG;EACC,kBAAA;ACw/DJ;;ADz/DG;EACC,kBAAA;AC4/DJ;;AD7/DG;EACC,mBAAA;ACggEJ;;ADvhEG;EACC,mBAAA;AC0hEJ;;AD3hEG;EACC,mBAAA;AC8hEJ;;AD/hEG;EACC,mBAAA;ACkiEJ;;ADniEG;EACC,mBAAA;ACsiEJ;;ADviEG;EACC,mBAAA;AC0iEJ;;AD3iEG;EACC,mBAAA;AC8iEJ;;AD/iEG;EACC,mBAAA;ACkjEJ;;ADnjEG;EACC,mBAAA;ACsjEJ;;ADvjEG;EACC,mBAAA;AC0jEJ;;AD3jEG;EACC,mBAAA;AC8jEJ;;AD/jEG;EACC,oBAAA;ACkkEJ;;ADnkEG;EACC,oBAAA;ACskEJ;;ADvkEG;EACC,oBAAA;AC0kEJ;;AD3kEG;EACC,oBAAA;AC8kEJ;;AD/kEG;EACC,oBAAA;ACklEJ;;ADnlEG;EACC,oBAAA;ACslEJ;;ADvlEG;EACC,oBAAA;AC0lEJ;;AD3lEG;EACC,oBAAA;AC8lEJ;;AD/lEG;EACC,oBAAA;ACkmEJ;;ADnmEG;EACC,oBAAA;ACsmEJ;;ADvmEG;EACC,oBAAA;AC0mEJ;;AD3mEG;EACC,oBAAA;AC8mEJ;;AD/mEG;EACC,oBAAA;ACknEJ;;ADnnEG;EACC,oBAAA;ACsnEJ;;ADvnEG;EACC,oBAAA;AC0nEJ;;AD3nEG;EACC,oBAAA;AC8nEJ;;ADzmEG;EACC,mBAAA;AC4mEJ;;AD7mEG;EACC,mBAAA;ACgnEJ;;ADjnEG;EACC,oBAAA;AConEJ;;ADrnEG;EACC,oBAAA;ACwnEJ;;ADznEG;EACC,oBAAA;AC4nEJ;;AD7nEG;EACC,oBAAA;ACgoEJ;;ADjoEG;EACC,oBAAA;ACooEJ;;ADroEG;EACC,oBAAA;ACwoEJ;;ADzoEG;EACC,oBAAA;AC4oEJ;;AD7oEG;EACC,oBAAA;ACgpEJ;;ADjpEG;EACC,oBAAA;ACopEJ;;ADrpEG;EACC,oBAAA;ACwpEJ;;ADzpEG;EACC,oBAAA;AC4pEJ;;AD7pEG;EACC,oBAAA;ACgqEJ;;ADjqEG;EACC,oBAAA;ACoqEJ;;ADrqEG;EACC,oBAAA;ACwqEJ;;ADzqEG;EACC,oBAAA;AC4qEJ;;AD7qEG;EACC,oBAAA;ACgrEJ;;ADjrEG;EACC,oBAAA;ACorEJ;;ADrrEG;EACC,oBAAA;ACwrEJ;;ADzrEG;EACC,oBAAA;AC4rEJ;;AD7rEG;EACC,oBAAA;ACgsEJ;;ADjsEG;EACC,oBAAA;ACosEJ;;ADrsEG;EACC,oBAAA;ACwsEJ;;ADzsEG;EACC,qBAAA;AC4sEJ;;ADnuEG;EACC,oBAAA;ACsuEJ;;ADvuEG;EACC,oBAAA;AC0uEJ;;AD3uEG;EACC,oBAAA;AC8uEJ;;AD/uEG;EACC,oBAAA;ACkvEJ;;ADnvEG;EACC,oBAAA;ACsvEJ;;ADvvEG;EACC,oBAAA;AC0vEJ;;AD3vEG;EACC,oBAAA;AC8vEJ;;AD/vEG;EACC,oBAAA;ACkwEJ;;ADnwEG;EACC,oBAAA;ACswEJ;;ADvwEG;EACC,oBAAA;AC0wEJ;;AD3wEG;EACC,qBAAA;AC8wEJ;;AD/wEG;EACC,qBAAA;ACkxEJ;;ADnxEG;EACC,qBAAA;ACsxEJ;;ADvxEG;EACC,qBAAA;AC0xEJ;;AD3xEG;EACC,qBAAA;AC8xEJ;;AD/xEG;EACC,qBAAA;ACkyEJ;;ADnyEG;EACC,qBAAA;ACsyEJ;;ADvyEG;EACC,qBAAA;AC0yEJ;;AD3yEG;EACC,qBAAA;AC8yEJ;;AD/yEG;EACC,qBAAA;ACkzEJ;;ADnzEG;EACC,qBAAA;ACszEJ;;ADvzEG;EACC,qBAAA;AC0zEJ;;AD3zEG;EACC,qBAAA;AC8zEJ;;AD/zEG;EACC,qBAAA;ACk0EJ;;ADn0EG;EACC,qBAAA;ACs0EJ;;ADv0EG;EACC,qBAAA;AC00EJ;;ADrzEG;EACC,oBAAA;ACwzEJ;;ADzzEG;EACC,oBAAA;AC4zEJ;;AD7zEG;EACC,qBAAA;ACg0EJ;;ADj0EG;EACC,qBAAA;ACo0EJ;;ADr0EG;EACC,qBAAA;ACw0EJ;;ADz0EG;EACC,qBAAA;AC40EJ;;AD70EG;EACC,qBAAA;ACg1EJ;;ADj1EG;EACC,qBAAA;ACo1EJ;;ADr1EG;EACC,qBAAA;ACw1EJ;;ADz1EG;EACC,qBAAA;AC41EJ;;AD71EG;EACC,qBAAA;ACg2EJ;;ADj2EG;EACC,qBAAA;ACo2EJ;;ADr2EG;EACC,qBAAA;ACw2EJ;;ADz2EG;EACC,qBAAA;AC42EJ;;AD72EG;EACC,qBAAA;ACg3EJ;;ADj3EG;EACC,qBAAA;ACo3EJ;;ADr3EG;EACC,qBAAA;ACw3EJ;;ADz3EG;EACC,qBAAA;AC43EJ;;AD73EG;EACC,qBAAA;ACg4EJ;;ADj4EG;EACC,qBAAA;ACo4EJ;;ADr4EG;EACC,qBAAA;ACw4EJ;;ADz4EG;EACC,qBAAA;AC44EJ;;AD74EG;EACC,qBAAA;ACg5EJ;;ADj5EG;EACC,qBAAA;ACo5EJ;;ADr5EG;EACC,sBAAA;ACw5EJ;;AD/6EG;EACC,kBAAA;ACk7EJ;;ADn7EG;EACC,kBAAA;ACs7EJ;;ADv7EG;EACC,kBAAA;AC07EJ;;AD37EG;EACC,kBAAA;AC87EJ;;AD/7EG;EACC,kBAAA;ACk8EJ;;ADn8EG;EACC,kBAAA;ACs8EJ;;ADv8EG;EACC,kBAAA;AC08EJ;;AD38EG;EACC,kBAAA;AC88EJ;;AD/8EG;EACC,kBAAA;ACk9EJ;;ADn9EG;EACC,kBAAA;ACs9EJ;;ADv9EG;EACC,mBAAA;AC09EJ;;AD39EG;EACC,mBAAA;AC89EJ;;AD/9EG;EACC,mBAAA;ACk+EJ;;ADn+EG;EACC,mBAAA;ACs+EJ;;ADv+EG;EACC,mBAAA;AC0+EJ;;AD3+EG;EACC,mBAAA;AC8+EJ;;AD/+EG;EACC,mBAAA;ACk/EJ;;ADn/EG;EACC,mBAAA;ACs/EJ;;ADv/EG;EACC,mBAAA;AC0/EJ;;AD3/EG;EACC,mBAAA;AC8/EJ;;AD//EG;EACC,mBAAA;ACkgFJ;;ADngFG;EACC,mBAAA;ACsgFJ;;ADvgFG;EACC,mBAAA;AC0gFJ;;AD3gFG;EACC,mBAAA;AC8gFJ;;AD/gFG;EACC,mBAAA;ACkhFJ;;ADnhFG;EACC,mBAAA;ACshFJ;;ADjgFG;EACC,kBAAA;ACogFJ;;ADrgFG;EACC,kBAAA;ACwgFJ;;ADzgFG;EACC,mBAAA;AC4gFJ;;AD7gFG;EACC,mBAAA;ACghFJ;;ADjhFG;EACC,mBAAA;ACohFJ;;ADrhFG;EACC,mBAAA;ACwhFJ;;ADzhFG;EACC,mBAAA;AC4hFJ;;AD7hFG;EACC,mBAAA;ACgiFJ;;ADjiFG;EACC,mBAAA;ACoiFJ;;ADriFG;EACC,mBAAA;ACwiFJ;;ADziFG;EACC,mBAAA;AC4iFJ;;AD7iFG;EACC,mBAAA;ACgjFJ;;ADjjFG;EACC,mBAAA;ACojFJ;;ADrjFG;EACC,mBAAA;ACwjFJ;;ADzjFG;EACC,mBAAA;AC4jFJ;;AD7jFG;EACC,mBAAA;ACgkFJ;;ADjkFG;EACC,mBAAA;ACokFJ;;ADrkFG;EACC,mBAAA;ACwkFJ;;ADzkFG;EACC,mBAAA;AC4kFJ;;AD7kFG;EACC,mBAAA;ACglFJ;;ADjlFG;EACC,mBAAA;AColFJ;;ADrlFG;EACC,mBAAA;ACwlFJ;;ADzlFG;EACC,mBAAA;AC4lFJ;;AD7lFG;EACC,mBAAA;ACgmFJ;;ADjmFG;EACC,oBAAA;AComFJ;;ADrnFG;EACC,kBAAA;EACA,mBAAA;ACwnFJ;;AD1nFG;EACC,kBAAA;EACA,mBAAA;AC6nFJ;;AD/nFG;EACC,kBAAA;EACA,mBAAA;ACkoFJ;;ADpoFG;EACC,kBAAA;EACA,mBAAA;ACuoFJ;;ADzoFG;EACC,kBAAA;EACA,mBAAA;AC4oFJ;;AD9oFG;EACC,kBAAA;EACA,mBAAA;ACipFJ;;ADnpFG;EACC,kBAAA;EACA,mBAAA;ACspFJ;;ADxpFG;EACC,kBAAA;EACA,mBAAA;AC2pFJ;;AD7pFG;EACC,kBAAA;EACA,mBAAA;ACgqFJ;;ADlqFG;EACC,kBAAA;EACA,mBAAA;ACqqFJ;;ADvqFG;EACC,mBAAA;EACA,oBAAA;AC0qFJ;;AD5qFG;EACC,mBAAA;EACA,oBAAA;AC+qFJ;;ADjrFG;EACC,mBAAA;EACA,oBAAA;ACorFJ;;ADtrFG;EACC,mBAAA;EACA,oBAAA;ACyrFJ;;AD3rFG;EACC,mBAAA;EACA,oBAAA;AC8rFJ;;ADhsFG;EACC,mBAAA;EACA,oBAAA;ACmsFJ;;ADrsFG;EACC,mBAAA;EACA,oBAAA;ACwsFJ;;AD1sFG;EACC,mBAAA;EACA,oBAAA;AC6sFJ;;AD/sFG;EACC,mBAAA;EACA,oBAAA;ACktFJ;;ADptFG;EACC,mBAAA;EACA,oBAAA;ACutFJ;;ADztFG;EACC,mBAAA;EACA,oBAAA;AC4tFJ;;AD9tFG;EACC,mBAAA;EACA,oBAAA;ACiuFJ;;ADnuFG;EACC,mBAAA;EACA,oBAAA;ACsuFJ;;ADxuFG;EACC,mBAAA;EACA,oBAAA;AC2uFJ;;AD7uFG;EACC,mBAAA;EACA,oBAAA;ACgvFJ;;ADlvFG;EACC,mBAAA;EACA,oBAAA;ACqvFJ;;ADjuFG;EACC,kBAAA;EACA,mBAAA;ACouFJ;;ADtuFG;EACC,kBAAA;EACA,mBAAA;ACyuFJ;;AD3uFG;EACC,mBAAA;EACA,oBAAA;AC8uFJ;;ADhvFG;EACC,mBAAA;EACA,oBAAA;ACmvFJ;;ADrvFG;EACC,mBAAA;EACA,oBAAA;ACwvFJ;;AD1vFG;EACC,mBAAA;EACA,oBAAA;AC6vFJ;;AD/vFG;EACC,mBAAA;EACA,oBAAA;ACkwFJ;;ADpwFG;EACC,mBAAA;EACA,oBAAA;ACuwFJ;;ADzwFG;EACC,mBAAA;EACA,oBAAA;AC4wFJ;;AD9wFG;EACC,mBAAA;EACA,oBAAA;ACixFJ;;ADnxFG;EACC,mBAAA;EACA,oBAAA;ACsxFJ;;ADxxFG;EACC,mBAAA;EACA,oBAAA;AC2xFJ;;AD7xFG;EACC,mBAAA;EACA,oBAAA;ACgyFJ;;ADlyFG;EACC,mBAAA;EACA,oBAAA;ACqyFJ;;ADvyFG;EACC,mBAAA;EACA,oBAAA;AC0yFJ;;AD5yFG;EACC,mBAAA;EACA,oBAAA;AC+yFJ;;ADjzFG;EACC,mBAAA;EACA,oBAAA;ACozFJ;;ADtzFG;EACC,mBAAA;EACA,oBAAA;ACyzFJ;;AD3zFG;EACC,mBAAA;EACA,oBAAA;AC8zFJ;;ADh0FG;EACC,mBAAA;EACA,oBAAA;ACm0FJ;;ADr0FG;EACC,mBAAA;EACA,oBAAA;ACw0FJ;;AD10FG;EACC,mBAAA;EACA,oBAAA;AC60FJ;;AD/0FG;EACC,mBAAA;EACA,oBAAA;ACk1FJ;;ADp1FG;EACC,mBAAA;EACA,oBAAA;ACu1FJ;;ADz1FG;EACC,oBAAA;EACA,qBAAA;AC41FJ;;AD72FG;EACC,iBAAA;EACA,oBAAA;ACg3FJ;;ADl3FG;EACC,iBAAA;EACA,oBAAA;ACq3FJ;;ADv3FG;EACC,iBAAA;EACA,oBAAA;AC03FJ;;AD53FG;EACC,iBAAA;EACA,oBAAA;AC+3FJ;;ADj4FG;EACC,iBAAA;EACA,oBAAA;ACo4FJ;;ADt4FG;EACC,iBAAA;EACA,oBAAA;ACy4FJ;;AD34FG;EACC,iBAAA;EACA,oBAAA;AC84FJ;;ADh5FG;EACC,iBAAA;EACA,oBAAA;ACm5FJ;;ADr5FG;EACC,iBAAA;EACA,oBAAA;ACw5FJ;;AD15FG;EACC,iBAAA;EACA,oBAAA;AC65FJ;;AD/5FG;EACC,kBAAA;EACA,qBAAA;ACk6FJ;;ADp6FG;EACC,kBAAA;EACA,qBAAA;ACu6FJ;;ADz6FG;EACC,kBAAA;EACA,qBAAA;AC46FJ;;AD96FG;EACC,kBAAA;EACA,qBAAA;ACi7FJ;;ADn7FG;EACC,kBAAA;EACA,qBAAA;ACs7FJ;;ADx7FG;EACC,kBAAA;EACA,qBAAA;AC27FJ;;AD77FG;EACC,kBAAA;EACA,qBAAA;ACg8FJ;;ADl8FG;EACC,kBAAA;EACA,qBAAA;ACq8FJ;;ADv8FG;EACC,kBAAA;EACA,qBAAA;AC08FJ;;AD58FG;EACC,kBAAA;EACA,qBAAA;AC+8FJ;;ADj9FG;EACC,kBAAA;EACA,qBAAA;ACo9FJ;;ADt9FG;EACC,kBAAA;EACA,qBAAA;ACy9FJ;;AD39FG;EACC,kBAAA;EACA,qBAAA;AC89FJ;;ADh+FG;EACC,kBAAA;EACA,qBAAA;ACm+FJ;;ADr+FG;EACC,kBAAA;EACA,qBAAA;ACw+FJ;;AD1+FG;EACC,kBAAA;EACA,qBAAA;AC6+FJ;;ADz9FG;EACC,iBAAA;EACA,oBAAA;AC49FJ;;AD99FG;EACC,iBAAA;EACA,oBAAA;ACi+FJ;;ADn+FG;EACC,kBAAA;EACA,qBAAA;ACs+FJ;;ADx+FG;EACC,kBAAA;EACA,qBAAA;AC2+FJ;;AD7+FG;EACC,kBAAA;EACA,qBAAA;ACg/FJ;;ADl/FG;EACC,kBAAA;EACA,qBAAA;ACq/FJ;;ADv/FG;EACC,kBAAA;EACA,qBAAA;AC0/FJ;;AD5/FG;EACC,kBAAA;EACA,qBAAA;AC+/FJ;;ADjgGG;EACC,kBAAA;EACA,qBAAA;ACogGJ;;ADtgGG;EACC,kBAAA;EACA,qBAAA;ACygGJ;;AD3gGG;EACC,kBAAA;EACA,qBAAA;AC8gGJ;;ADhhGG;EACC,kBAAA;EACA,qBAAA;ACmhGJ;;ADrhGG;EACC,kBAAA;EACA,qBAAA;ACwhGJ;;AD1hGG;EACC,kBAAA;EACA,qBAAA;AC6hGJ;;AD/hGG;EACC,kBAAA;EACA,qBAAA;ACkiGJ;;ADpiGG;EACC,kBAAA;EACA,qBAAA;ACuiGJ;;ADziGG;EACC,kBAAA;EACA,qBAAA;AC4iGJ;;AD9iGG;EACC,kBAAA;EACA,qBAAA;ACijGJ;;ADnjGG;EACC,kBAAA;EACA,qBAAA;ACsjGJ;;ADxjGG;EACC,kBAAA;EACA,qBAAA;AC2jGJ;;AD7jGG;EACC,kBAAA;EACA,qBAAA;ACgkGJ;;ADlkGG;EACC,kBAAA;EACA,qBAAA;ACqkGJ;;ADvkGG;EACC,kBAAA;EACA,qBAAA;AC0kGJ;;AD5kGG;EACC,kBAAA;EACA,qBAAA;AC+kGJ;;ADjlGG;EACC,mBAAA;EACA,sBAAA;AColGJ;;ADzkGG;EACC,YAAA;AC4kGJ;;AD7kGG;EACC,YAAA;ACglGJ;;ADjlGG;EACC,YAAA;AColGJ;;ADrlGG;EACC,YAAA;ACwlGJ;;ADzlGG;EACC,YAAA;AC4lGJ;;AD7lGG;EACC,YAAA;ACgmGJ;;ADjmGG;EACC,YAAA;AComGJ;;ADrmGG;EACC,YAAA;ACwmGJ;;ADzmGG;EACC,YAAA;AC4mGJ;;AD7mGG;EACC,YAAA;ACgnGJ;;ADjnGG;EACC,aAAA;AConGJ;;ADrnGG;EACC,aAAA;ACwnGJ;;ADznGG;EACC,aAAA;AC4nGJ;;AD7nGG;EACC,aAAA;ACgoGJ;;ADjoGG;EACC,aAAA;ACooGJ;;ADroGG;EACC,aAAA;ACwoGJ;;ADzoGG;EACC,aAAA;AC4oGJ;;AD7oGG;EACC,aAAA;ACgpGJ;;ADjpGG;EACC,aAAA;ACopGJ;;ADrpGG;EACC,aAAA;ACwpGJ;;ADzpGG;EACC,aAAA;AC4pGJ;;AD7pGG;EACC,aAAA;ACgqGJ;;ADjqGG;EACC,aAAA;ACoqGJ;;ADrqGG;EACC,aAAA;ACwqGJ;;ADzqGG;EACC,aAAA;AC4qGJ;;AD7qGG;EACC,aAAA;ACgrGJ;;ADrpGG;EACC,YAAA;ACwpGJ;;ADzpGG;EACC,YAAA;AC4pGJ;;AD7pGG;EACC,aAAA;ACgqGJ;;ADjqGG;EACC,aAAA;ACoqGJ;;ADrqGG;EACC,aAAA;ACwqGJ;;ADzqGG;EACC,aAAA;AC4qGJ;;AD7qGG;EACC,aAAA;ACgrGJ;;ADjrGG;EACC,aAAA;ACorGJ;;ADrrGG;EACC,aAAA;ACwrGJ;;ADzrGG;EACC,aAAA;AC4rGJ;;AD7rGG;EACC,aAAA;ACgsGJ;;ADjsGG;EACC,aAAA;ACosGJ;;ADrsGG;EACC,aAAA;ACwsGJ;;ADzsGG;EACC,aAAA;AC4sGJ;;AD7sGG;EACC,aAAA;ACgtGJ;;ADjtGG;EACC,aAAA;ACotGJ;;ADrtGG;EACC,aAAA;ACwtGJ;;ADztGG;EACC,aAAA;AC4tGJ;;AD7tGG;EACC,aAAA;ACguGJ;;ADjuGG;EACC,aAAA;ACouGJ;;ADruGG;EACC,aAAA;ACwuGJ;;ADzuGG;EACC,aAAA;AC4uGJ;;AD7uGG;EACC,aAAA;ACgvGJ;;ADjvGG;EACC,aAAA;ACovGJ;;ADrvGG;EACC,cAAA;ACwvGJ;;ADrxGG;EACC,gBAAA;ACwxGJ;;ADpxGI;EACC,iBAAA;ACuxGL;;AD7xGG;EACC,gBAAA;ACgyGJ;;AD5xGI;EACC,iBAAA;AC+xGL;;ADryGG;EACC,gBAAA;ACwyGJ;;ADpyGI;EACC,iBAAA;ACuyGL;;AD7yGG;EACC,gBAAA;ACgzGJ;;AD5yGI;EACC,iBAAA;AC+yGL;;ADrzGG;EACC,gBAAA;ACwzGJ;;ADpzGI;EACC,iBAAA;ACuzGL;;AD7zGG;EACC,gBAAA;ACg0GJ;;AD5zGI;EACC,iBAAA;AC+zGL;;ADr0GG;EACC,gBAAA;ACw0GJ;;ADp0GI;EACC,iBAAA;ACu0GL;;AD70GG;EACC,gBAAA;ACg1GJ;;AD50GI;EACC,iBAAA;AC+0GL;;ADr1GG;EACC,gBAAA;ACw1GJ;;ADp1GI;EACC,iBAAA;ACu1GL;;AD71GG;EACC,gBAAA;ACg2GJ;;AD51GI;EACC,iBAAA;AC+1GL;;ADr2GG;EACC,iBAAA;ACw2GJ;;ADp2GI;EACC,kBAAA;ACu2GL;;AD72GG;EACC,iBAAA;ACg3GJ;;AD52GI;EACC,kBAAA;AC+2GL;;ADr3GG;EACC,iBAAA;ACw3GJ;;ADp3GI;EACC,kBAAA;ACu3GL;;AD73GG;EACC,iBAAA;ACg4GJ;;AD53GI;EACC,kBAAA;AC+3GL;;ADr4GG;EACC,iBAAA;ACw4GJ;;ADp4GI;EACC,kBAAA;ACu4GL;;AD74GG;EACC,iBAAA;ACg5GJ;;AD54GI;EACC,kBAAA;AC+4GL;;ADr5GG;EACC,iBAAA;ACw5GJ;;ADp5GI;EACC,kBAAA;ACu5GL;;AD75GG;EACC,iBAAA;ACg6GJ;;AD55GI;EACC,kBAAA;AC+5GL;;ADr6GG;EACC,iBAAA;ACw6GJ;;ADp6GI;EACC,kBAAA;ACu6GL;;AD76GG;EACC,iBAAA;ACg7GJ;;AD56GI;EACC,kBAAA;AC+6GL;;ADr7GG;EACC,iBAAA;ACw7GJ;;ADp7GI;EACC,kBAAA;ACu7GL;;AD77GG;EACC,iBAAA;ACg8GJ;;AD57GI;EACC,kBAAA;AC+7GL;;ADr8GG;EACC,iBAAA;ACw8GJ;;ADp8GI;EACC,kBAAA;ACu8GL;;AD78GG;EACC,iBAAA;ACg9GJ;;AD58GI;EACC,kBAAA;AC+8GL;;ADr9GG;EACC,iBAAA;ACw9GJ;;ADp9GI;EACC,kBAAA;ACu9GL;;AD79GG;EACC,iBAAA;ACg+GJ;;AD59GI;EACC,kBAAA;AC+9GL;;ADz8GG;EACC,gBAAA;AC48GJ;;ADx8GI;EACC,iBAAA;AC28GL;;ADj9GG;EACC,gBAAA;ACo9GJ;;ADh9GI;EACC,iBAAA;ACm9GL;;ADz9GG;EACC,iBAAA;AC49GJ;;ADx9GI;EACC,kBAAA;AC29GL;;ADj+GG;EACC,iBAAA;ACo+GJ;;ADh+GI;EACC,kBAAA;ACm+GL;;ADz+GG;EACC,iBAAA;AC4+GJ;;ADx+GI;EACC,kBAAA;AC2+GL;;ADj/GG;EACC,iBAAA;ACo/GJ;;ADh/GI;EACC,kBAAA;ACm/GL;;ADz/GG;EACC,iBAAA;AC4/GJ;;ADx/GI;EACC,kBAAA;AC2/GL;;ADjgHG;EACC,iBAAA;ACogHJ;;ADhgHI;EACC,kBAAA;ACmgHL;;ADzgHG;EACC,iBAAA;AC4gHJ;;ADxgHI;EACC,kBAAA;AC2gHL;;ADjhHG;EACC,iBAAA;ACohHJ;;ADhhHI;EACC,kBAAA;ACmhHL;;ADzhHG;EACC,iBAAA;AC4hHJ;;ADxhHI;EACC,kBAAA;AC2hHL;;ADjiHG;EACC,iBAAA;ACoiHJ;;ADhiHI;EACC,kBAAA;ACmiHL;;ADziHG;EACC,iBAAA;AC4iHJ;;ADxiHI;EACC,kBAAA;AC2iHL;;ADjjHG;EACC,iBAAA;ACojHJ;;ADhjHI;EACC,kBAAA;ACmjHL;;ADzjHG;EACC,iBAAA;AC4jHJ;;ADxjHI;EACC,kBAAA;AC2jHL;;ADjkHG;EACC,iBAAA;ACokHJ;;ADhkHI;EACC,kBAAA;ACmkHL;;ADzkHG;EACC,iBAAA;AC4kHJ;;ADxkHI;EACC,kBAAA;AC2kHL;;ADjlHG;EACC,iBAAA;AColHJ;;ADhlHI;EACC,kBAAA;ACmlHL;;ADzlHG;EACC,iBAAA;AC4lHJ;;ADxlHI;EACC,kBAAA;AC2lHL;;ADjmHG;EACC,iBAAA;AComHJ;;ADhmHI;EACC,kBAAA;ACmmHL;;ADzmHG;EACC,iBAAA;AC4mHJ;;ADxmHI;EACC,kBAAA;AC2mHL;;ADjnHG;EACC,iBAAA;AConHJ;;ADhnHI;EACC,kBAAA;ACmnHL;;ADznHG;EACC,iBAAA;AC4nHJ;;ADxnHI;EACC,kBAAA;AC2nHL;;ADjoHG;EACC,iBAAA;ACooHJ;;ADhoHI;EACC,kBAAA;ACmoHL;;ADzoHG;EACC,kBAAA;AC4oHJ;;ADxoHI;EACC,mBAAA;AC2oHL;;AD7qHG;EACC,kBAAA;ACgrHJ;;AD5qHI;EACC,mBAAA;AC+qHL;;ADrrHG;EACC,kBAAA;ACwrHJ;;ADprHI;EACC,mBAAA;ACurHL;;AD7rHG;EACC,kBAAA;ACgsHJ;;AD5rHI;EACC,mBAAA;AC+rHL;;ADrsHG;EACC,kBAAA;ACwsHJ;;ADpsHI;EACC,mBAAA;ACusHL;;AD7sHG;EACC,kBAAA;ACgtHJ;;AD5sHI;EACC,mBAAA;AC+sHL;;ADrtHG;EACC,kBAAA;ACwtHJ;;ADptHI;EACC,mBAAA;ACutHL;;AD7tHG;EACC,kBAAA;ACguHJ;;AD5tHI;EACC,mBAAA;AC+tHL;;ADruHG;EACC,kBAAA;ACwuHJ;;ADpuHI;EACC,mBAAA;ACuuHL;;AD7uHG;EACC,kBAAA;ACgvHJ;;AD5uHI;EACC,mBAAA;AC+uHL;;ADrvHG;EACC,kBAAA;ACwvHJ;;ADpvHI;EACC,mBAAA;ACuvHL;;AD7vHG;EACC,mBAAA;ACgwHJ;;AD5vHI;EACC,oBAAA;AC+vHL;;ADrwHG;EACC,mBAAA;ACwwHJ;;ADpwHI;EACC,oBAAA;ACuwHL;;AD7wHG;EACC,mBAAA;ACgxHJ;;AD5wHI;EACC,oBAAA;AC+wHL;;ADrxHG;EACC,mBAAA;ACwxHJ;;ADpxHI;EACC,oBAAA;ACuxHL;;AD7xHG;EACC,mBAAA;ACgyHJ;;AD5xHI;EACC,oBAAA;AC+xHL;;ADryHG;EACC,mBAAA;ACwyHJ;;ADpyHI;EACC,oBAAA;ACuyHL;;AD7yHG;EACC,mBAAA;ACgzHJ;;AD5yHI;EACC,oBAAA;AC+yHL;;ADrzHG;EACC,mBAAA;ACwzHJ;;ADpzHI;EACC,oBAAA;ACuzHL;;AD7zHG;EACC,mBAAA;ACg0HJ;;AD5zHI;EACC,oBAAA;AC+zHL;;ADr0HG;EACC,mBAAA;ACw0HJ;;ADp0HI;EACC,oBAAA;ACu0HL;;AD70HG;EACC,mBAAA;ACg1HJ;;AD50HI;EACC,oBAAA;AC+0HL;;ADr1HG;EACC,mBAAA;ACw1HJ;;ADp1HI;EACC,oBAAA;ACu1HL;;AD71HG;EACC,mBAAA;ACg2HJ;;AD51HI;EACC,oBAAA;AC+1HL;;ADr2HG;EACC,mBAAA;ACw2HJ;;ADp2HI;EACC,oBAAA;ACu2HL;;AD72HG;EACC,mBAAA;ACg3HJ;;AD52HI;EACC,oBAAA;AC+2HL;;ADr3HG;EACC,mBAAA;ACw3HJ;;ADp3HI;EACC,oBAAA;ACu3HL;;ADj2HG;EACC,kBAAA;ACo2HJ;;ADh2HI;EACC,mBAAA;ACm2HL;;ADz2HG;EACC,kBAAA;AC42HJ;;ADx2HI;EACC,mBAAA;AC22HL;;ADj3HG;EACC,mBAAA;ACo3HJ;;ADh3HI;EACC,oBAAA;ACm3HL;;ADz3HG;EACC,mBAAA;AC43HJ;;ADx3HI;EACC,oBAAA;AC23HL;;ADj4HG;EACC,mBAAA;ACo4HJ;;ADh4HI;EACC,oBAAA;ACm4HL;;ADz4HG;EACC,mBAAA;AC44HJ;;ADx4HI;EACC,oBAAA;AC24HL;;ADj5HG;EACC,mBAAA;ACo5HJ;;ADh5HI;EACC,oBAAA;ACm5HL;;ADz5HG;EACC,mBAAA;AC45HJ;;ADx5HI;EACC,oBAAA;AC25HL;;ADj6HG;EACC,mBAAA;ACo6HJ;;ADh6HI;EACC,oBAAA;ACm6HL;;ADz6HG;EACC,mBAAA;AC46HJ;;ADx6HI;EACC,oBAAA;AC26HL;;ADj7HG;EACC,mBAAA;ACo7HJ;;ADh7HI;EACC,oBAAA;ACm7HL;;ADz7HG;EACC,mBAAA;AC47HJ;;ADx7HI;EACC,oBAAA;AC27HL;;ADj8HG;EACC,mBAAA;ACo8HJ;;ADh8HI;EACC,oBAAA;ACm8HL;;ADz8HG;EACC,mBAAA;AC48HJ;;ADx8HI;EACC,oBAAA;AC28HL;;ADj9HG;EACC,mBAAA;ACo9HJ;;ADh9HI;EACC,oBAAA;ACm9HL;;ADz9HG;EACC,mBAAA;AC49HJ;;ADx9HI;EACC,oBAAA;AC29HL;;ADj+HG;EACC,mBAAA;ACo+HJ;;ADh+HI;EACC,oBAAA;ACm+HL;;ADz+HG;EACC,mBAAA;AC4+HJ;;ADx+HI;EACC,oBAAA;AC2+HL;;ADj/HG;EACC,mBAAA;ACo/HJ;;ADh/HI;EACC,oBAAA;ACm/HL;;ADz/HG;EACC,mBAAA;AC4/HJ;;ADx/HI;EACC,oBAAA;AC2/HL;;ADjgIG;EACC,mBAAA;ACogIJ;;ADhgII;EACC,oBAAA;ACmgIL;;ADzgIG;EACC,mBAAA;AC4gIJ;;ADxgII;EACC,oBAAA;AC2gIL;;ADjhIG;EACC,mBAAA;ACohIJ;;ADhhII;EACC,oBAAA;ACmhIL;;ADzhIG;EACC,mBAAA;AC4hIJ;;ADxhII;EACC,oBAAA;AC2hIL;;ADjiIG;EACC,oBAAA;ACoiIJ;;ADhiII;EACC,qBAAA;ACmiIL;;ADrkIG;EACC,mBAAA;ACwkIJ;;ADpkII;EACC,oBAAA;ACukIL;;AD7kIG;EACC,mBAAA;ACglIJ;;AD5kII;EACC,oBAAA;AC+kIL;;ADrlIG;EACC,mBAAA;ACwlIJ;;ADplII;EACC,oBAAA;ACulIL;;AD7lIG;EACC,mBAAA;ACgmIJ;;AD5lII;EACC,oBAAA;AC+lIL;;ADrmIG;EACC,mBAAA;ACwmIJ;;ADpmII;EACC,oBAAA;ACumIL;;AD7mIG;EACC,mBAAA;ACgnIJ;;AD5mII;EACC,oBAAA;AC+mIL;;ADrnIG;EACC,mBAAA;ACwnIJ;;ADpnII;EACC,oBAAA;ACunIL;;AD7nIG;EACC,mBAAA;ACgoIJ;;AD5nII;EACC,oBAAA;AC+nIL;;ADroIG;EACC,mBAAA;ACwoIJ;;ADpoII;EACC,oBAAA;ACuoIL;;AD7oIG;EACC,mBAAA;ACgpIJ;;AD5oII;EACC,oBAAA;AC+oIL;;ADrpIG;EACC,oBAAA;ACwpIJ;;ADppII;EACC,qBAAA;ACupIL;;AD7pIG;EACC,oBAAA;ACgqIJ;;AD5pII;EACC,qBAAA;AC+pIL;;ADrqIG;EACC,oBAAA;ACwqIJ;;ADpqII;EACC,qBAAA;ACuqIL;;AD7qIG;EACC,oBAAA;ACgrIJ;;AD5qII;EACC,qBAAA;AC+qIL;;ADrrIG;EACC,oBAAA;ACwrIJ;;ADprII;EACC,qBAAA;ACurIL;;AD7rIG;EACC,oBAAA;ACgsIJ;;AD5rII;EACC,qBAAA;AC+rIL;;ADrsIG;EACC,oBAAA;ACwsIJ;;ADpsII;EACC,qBAAA;ACusIL;;AD7sIG;EACC,oBAAA;ACgtIJ;;AD5sII;EACC,qBAAA;AC+sIL;;ADrtIG;EACC,oBAAA;ACwtIJ;;ADptII;EACC,qBAAA;ACutIL;;AD7tIG;EACC,oBAAA;ACguIJ;;AD5tII;EACC,qBAAA;AC+tIL;;ADruIG;EACC,oBAAA;ACwuIJ;;ADpuII;EACC,qBAAA;ACuuIL;;AD7uIG;EACC,oBAAA;ACgvIJ;;AD5uII;EACC,qBAAA;AC+uIL;;ADrvIG;EACC,oBAAA;ACwvIJ;;ADpvII;EACC,qBAAA;ACuvIL;;AD7vIG;EACC,oBAAA;ACgwIJ;;AD5vII;EACC,qBAAA;AC+vIL;;ADrwIG;EACC,oBAAA;ACwwIJ;;ADpwII;EACC,qBAAA;ACuwIL;;AD7wIG;EACC,oBAAA;ACgxIJ;;AD5wII;EACC,qBAAA;AC+wIL;;ADzvIG;EACC,mBAAA;AC4vIJ;;ADxvII;EACC,oBAAA;AC2vIL;;ADjwIG;EACC,mBAAA;ACowIJ;;ADhwII;EACC,oBAAA;ACmwIL;;ADzwIG;EACC,oBAAA;AC4wIJ;;ADxwII;EACC,qBAAA;AC2wIL;;ADjxIG;EACC,oBAAA;ACoxIJ;;ADhxII;EACC,qBAAA;ACmxIL;;ADzxIG;EACC,oBAAA;AC4xIJ;;ADxxII;EACC,qBAAA;AC2xIL;;ADjyIG;EACC,oBAAA;ACoyIJ;;ADhyII;EACC,qBAAA;ACmyIL;;ADzyIG;EACC,oBAAA;AC4yIJ;;ADxyII;EACC,qBAAA;AC2yIL;;ADjzIG;EACC,oBAAA;ACozIJ;;ADhzII;EACC,qBAAA;ACmzIL;;ADzzIG;EACC,oBAAA;AC4zIJ;;ADxzII;EACC,qBAAA;AC2zIL;;ADj0IG;EACC,oBAAA;ACo0IJ;;ADh0II;EACC,qBAAA;ACm0IL;;ADz0IG;EACC,oBAAA;AC40IJ;;ADx0II;EACC,qBAAA;AC20IL;;ADj1IG;EACC,oBAAA;ACo1IJ;;ADh1II;EACC,qBAAA;ACm1IL;;ADz1IG;EACC,oBAAA;AC41IJ;;ADx1II;EACC,qBAAA;AC21IL;;ADj2IG;EACC,oBAAA;ACo2IJ;;ADh2II;EACC,qBAAA;ACm2IL;;ADz2IG;EACC,oBAAA;AC42IJ;;ADx2II;EACC,qBAAA;AC22IL;;ADj3IG;EACC,oBAAA;ACo3IJ;;ADh3II;EACC,qBAAA;ACm3IL;;ADz3IG;EACC,oBAAA;AC43IJ;;ADx3II;EACC,qBAAA;AC23IL;;ADj4IG;EACC,oBAAA;ACo4IJ;;ADh4II;EACC,qBAAA;ACm4IL;;ADz4IG;EACC,oBAAA;AC44IJ;;ADx4II;EACC,qBAAA;AC24IL;;ADj5IG;EACC,oBAAA;ACo5IJ;;ADh5II;EACC,qBAAA;ACm5IL;;ADz5IG;EACC,oBAAA;AC45IJ;;ADx5II;EACC,qBAAA;AC25IL;;ADj6IG;EACC,oBAAA;ACo6IJ;;ADh6II;EACC,qBAAA;ACm6IL;;ADz6IG;EACC,oBAAA;AC46IJ;;ADx6II;EACC,qBAAA;AC26IL;;ADj7IG;EACC,oBAAA;ACo7IJ;;ADh7II;EACC,qBAAA;ACm7IL;;ADz7IG;EACC,qBAAA;AC47IJ;;ADx7II;EACC,sBAAA;AC27IL;;AD79IG;EACC,iBAAA;ACg+IJ;;AD59II;EACC,kBAAA;AC+9IL;;ADr+IG;EACC,iBAAA;ACw+IJ;;ADp+II;EACC,kBAAA;ACu+IL;;AD7+IG;EACC,iBAAA;ACg/IJ;;AD5+II;EACC,kBAAA;AC++IL;;ADr/IG;EACC,iBAAA;ACw/IJ;;ADp/II;EACC,kBAAA;ACu/IL;;AD7/IG;EACC,iBAAA;ACggJJ;;AD5/II;EACC,kBAAA;AC+/IL;;ADrgJG;EACC,iBAAA;ACwgJJ;;ADpgJI;EACC,kBAAA;ACugJL;;AD7gJG;EACC,iBAAA;ACghJJ;;AD5gJI;EACC,kBAAA;AC+gJL;;ADrhJG;EACC,iBAAA;ACwhJJ;;ADphJI;EACC,kBAAA;ACuhJL;;AD7hJG;EACC,iBAAA;ACgiJJ;;AD5hJI;EACC,kBAAA;AC+hJL;;ADriJG;EACC,iBAAA;ACwiJJ;;ADpiJI;EACC,kBAAA;ACuiJL;;AD7iJG;EACC,kBAAA;ACgjJJ;;AD5iJI;EACC,mBAAA;AC+iJL;;ADrjJG;EACC,kBAAA;ACwjJJ;;ADpjJI;EACC,mBAAA;ACujJL;;AD7jJG;EACC,kBAAA;ACgkJJ;;AD5jJI;EACC,mBAAA;AC+jJL;;ADrkJG;EACC,kBAAA;ACwkJJ;;ADpkJI;EACC,mBAAA;ACukJL;;AD7kJG;EACC,kBAAA;ACglJJ;;AD5kJI;EACC,mBAAA;AC+kJL;;ADrlJG;EACC,kBAAA;ACwlJJ;;ADplJI;EACC,mBAAA;ACulJL;;AD7lJG;EACC,kBAAA;ACgmJJ;;AD5lJI;EACC,mBAAA;AC+lJL;;ADrmJG;EACC,kBAAA;ACwmJJ;;ADpmJI;EACC,mBAAA;ACumJL;;AD7mJG;EACC,kBAAA;ACgnJJ;;AD5mJI;EACC,mBAAA;AC+mJL;;ADrnJG;EACC,kBAAA;ACwnJJ;;ADpnJI;EACC,mBAAA;ACunJL;;AD7nJG;EACC,kBAAA;ACgoJJ;;AD5nJI;EACC,mBAAA;AC+nJL;;ADroJG;EACC,kBAAA;ACwoJJ;;ADpoJI;EACC,mBAAA;ACuoJL;;AD7oJG;EACC,kBAAA;ACgpJJ;;AD5oJI;EACC,mBAAA;AC+oJL;;ADrpJG;EACC,kBAAA;ACwpJJ;;ADppJI;EACC,mBAAA;ACupJL;;AD7pJG;EACC,kBAAA;ACgqJJ;;AD5pJI;EACC,mBAAA;AC+pJL;;ADrqJG;EACC,kBAAA;ACwqJJ;;ADpqJI;EACC,mBAAA;ACuqJL;;ADjpJG;EACC,iBAAA;ACopJJ;;ADhpJI;EACC,kBAAA;ACmpJL;;ADzpJG;EACC,iBAAA;AC4pJJ;;ADxpJI;EACC,kBAAA;AC2pJL;;ADjqJG;EACC,kBAAA;ACoqJJ;;ADhqJI;EACC,mBAAA;ACmqJL;;ADzqJG;EACC,kBAAA;AC4qJJ;;ADxqJI;EACC,mBAAA;AC2qJL;;ADjrJG;EACC,kBAAA;ACorJJ;;ADhrJI;EACC,mBAAA;ACmrJL;;ADzrJG;EACC,kBAAA;AC4rJJ;;ADxrJI;EACC,mBAAA;AC2rJL;;ADjsJG;EACC,kBAAA;ACosJJ;;ADhsJI;EACC,mBAAA;ACmsJL;;ADzsJG;EACC,kBAAA;AC4sJJ;;ADxsJI;EACC,mBAAA;AC2sJL;;ADjtJG;EACC,kBAAA;ACotJJ;;ADhtJI;EACC,mBAAA;ACmtJL;;ADztJG;EACC,kBAAA;AC4tJJ;;ADxtJI;EACC,mBAAA;AC2tJL;;ADjuJG;EACC,kBAAA;ACouJJ;;ADhuJI;EACC,mBAAA;ACmuJL;;ADzuJG;EACC,kBAAA;AC4uJJ;;ADxuJI;EACC,mBAAA;AC2uJL;;ADjvJG;EACC,kBAAA;ACovJJ;;ADhvJI;EACC,mBAAA;ACmvJL;;ADzvJG;EACC,kBAAA;AC4vJJ;;ADxvJI;EACC,mBAAA;AC2vJL;;ADjwJG;EACC,kBAAA;ACowJJ;;ADhwJI;EACC,mBAAA;ACmwJL;;ADzwJG;EACC,kBAAA;AC4wJJ;;ADxwJI;EACC,mBAAA;AC2wJL;;ADjxJG;EACC,kBAAA;ACoxJJ;;ADhxJI;EACC,mBAAA;ACmxJL;;ADzxJG;EACC,kBAAA;AC4xJJ;;ADxxJI;EACC,mBAAA;AC2xJL;;ADjyJG;EACC,kBAAA;ACoyJJ;;ADhyJI;EACC,mBAAA;ACmyJL;;ADzyJG;EACC,kBAAA;AC4yJJ;;ADxyJI;EACC,mBAAA;AC2yJL;;ADjzJG;EACC,kBAAA;ACozJJ;;ADhzJI;EACC,mBAAA;ACmzJL;;ADzzJG;EACC,kBAAA;AC4zJJ;;ADxzJI;EACC,mBAAA;AC2zJL;;ADj0JG;EACC,kBAAA;ACo0JJ;;ADh0JI;EACC,mBAAA;ACm0JL;;ADz0JG;EACC,kBAAA;AC40JJ;;ADx0JI;EACC,mBAAA;AC20JL;;ADj1JG;EACC,mBAAA;ACo1JJ;;ADh1JI;EACC,oBAAA;ACm1JL;;ADz2JG;EACC,iBAAA;EACA,kBAAA;AC42JJ;;AD92JG;EACC,iBAAA;EACA,kBAAA;ACi3JJ;;ADn3JG;EACC,iBAAA;EACA,kBAAA;ACs3JJ;;ADx3JG;EACC,iBAAA;EACA,kBAAA;AC23JJ;;AD73JG;EACC,iBAAA;EACA,kBAAA;ACg4JJ;;ADl4JG;EACC,iBAAA;EACA,kBAAA;ACq4JJ;;ADv4JG;EACC,iBAAA;EACA,kBAAA;AC04JJ;;AD54JG;EACC,iBAAA;EACA,kBAAA;AC+4JJ;;ADj5JG;EACC,iBAAA;EACA,kBAAA;ACo5JJ;;ADt5JG;EACC,iBAAA;EACA,kBAAA;ACy5JJ;;AD35JG;EACC,kBAAA;EACA,mBAAA;AC85JJ;;ADh6JG;EACC,kBAAA;EACA,mBAAA;ACm6JJ;;ADr6JG;EACC,kBAAA;EACA,mBAAA;ACw6JJ;;AD16JG;EACC,kBAAA;EACA,mBAAA;AC66JJ;;AD/6JG;EACC,kBAAA;EACA,mBAAA;ACk7JJ;;ADp7JG;EACC,kBAAA;EACA,mBAAA;ACu7JJ;;ADz7JG;EACC,kBAAA;EACA,mBAAA;AC47JJ;;AD97JG;EACC,kBAAA;EACA,mBAAA;ACi8JJ;;ADn8JG;EACC,kBAAA;EACA,mBAAA;ACs8JJ;;ADx8JG;EACC,kBAAA;EACA,mBAAA;AC28JJ;;AD78JG;EACC,kBAAA;EACA,mBAAA;ACg9JJ;;ADl9JG;EACC,kBAAA;EACA,mBAAA;ACq9JJ;;ADv9JG;EACC,kBAAA;EACA,mBAAA;AC09JJ;;AD59JG;EACC,kBAAA;EACA,mBAAA;AC+9JJ;;ADj+JG;EACC,kBAAA;EACA,mBAAA;ACo+JJ;;ADt+JG;EACC,kBAAA;EACA,mBAAA;ACy+JJ;;AD/8JG;EACC,iBAAA;EACA,kBAAA;ACk9JJ;;ADp9JG;EACC,iBAAA;EACA,kBAAA;ACu9JJ;;ADz9JG;EACC,kBAAA;EACA,mBAAA;AC49JJ;;AD99JG;EACC,kBAAA;EACA,mBAAA;ACi+JJ;;ADn+JG;EACC,kBAAA;EACA,mBAAA;ACs+JJ;;ADx+JG;EACC,kBAAA;EACA,mBAAA;AC2+JJ;;AD7+JG;EACC,kBAAA;EACA,mBAAA;ACg/JJ;;ADl/JG;EACC,kBAAA;EACA,mBAAA;ACq/JJ;;ADv/JG;EACC,kBAAA;EACA,mBAAA;AC0/JJ;;AD5/JG;EACC,kBAAA;EACA,mBAAA;AC+/JJ;;ADjgKG;EACC,kBAAA;EACA,mBAAA;ACogKJ;;ADtgKG;EACC,kBAAA;EACA,mBAAA;ACygKJ;;AD3gKG;EACC,kBAAA;EACA,mBAAA;AC8gKJ;;ADhhKG;EACC,kBAAA;EACA,mBAAA;ACmhKJ;;ADrhKG;EACC,kBAAA;EACA,mBAAA;ACwhKJ;;AD1hKG;EACC,kBAAA;EACA,mBAAA;AC6hKJ;;AD/hKG;EACC,kBAAA;EACA,mBAAA;ACkiKJ;;ADpiKG;EACC,kBAAA;EACA,mBAAA;ACuiKJ;;ADziKG;EACC,kBAAA;EACA,mBAAA;AC4iKJ;;AD9iKG;EACC,kBAAA;EACA,mBAAA;ACijKJ;;ADnjKG;EACC,kBAAA;EACA,mBAAA;ACsjKJ;;ADxjKG;EACC,kBAAA;EACA,mBAAA;AC2jKJ;;AD7jKG;EACC,kBAAA;EACA,mBAAA;ACgkKJ;;ADlkKG;EACC,kBAAA;EACA,mBAAA;ACqkKJ;;ADvkKG;EACC,mBAAA;EACA,oBAAA;AC0kKJ;;ADjmKG;EACC,gBAAA;EACA,mBAAA;AComKJ;;ADtmKG;EACC,gBAAA;EACA,mBAAA;ACymKJ;;AD3mKG;EACC,gBAAA;EACA,mBAAA;AC8mKJ;;ADhnKG;EACC,gBAAA;EACA,mBAAA;ACmnKJ;;ADrnKG;EACC,gBAAA;EACA,mBAAA;ACwnKJ;;AD1nKG;EACC,gBAAA;EACA,mBAAA;AC6nKJ;;AD/nKG;EACC,gBAAA;EACA,mBAAA;ACkoKJ;;ADpoKG;EACC,gBAAA;EACA,mBAAA;ACuoKJ;;ADzoKG;EACC,gBAAA;EACA,mBAAA;AC4oKJ;;AD9oKG;EACC,gBAAA;EACA,mBAAA;ACipKJ;;ADnpKG;EACC,iBAAA;EACA,oBAAA;ACspKJ;;ADxpKG;EACC,iBAAA;EACA,oBAAA;AC2pKJ;;AD7pKG;EACC,iBAAA;EACA,oBAAA;ACgqKJ;;ADlqKG;EACC,iBAAA;EACA,oBAAA;ACqqKJ;;ADvqKG;EACC,iBAAA;EACA,oBAAA;AC0qKJ;;AD5qKG;EACC,iBAAA;EACA,oBAAA;AC+qKJ;;ADjrKG;EACC,iBAAA;EACA,oBAAA;ACorKJ;;ADtrKG;EACC,iBAAA;EACA,oBAAA;ACyrKJ;;AD3rKG;EACC,iBAAA;EACA,oBAAA;AC8rKJ;;ADhsKG;EACC,iBAAA;EACA,oBAAA;ACmsKJ;;ADrsKG;EACC,iBAAA;EACA,oBAAA;ACwsKJ;;AD1sKG;EACC,iBAAA;EACA,oBAAA;AC6sKJ;;AD/sKG;EACC,iBAAA;EACA,oBAAA;ACktKJ;;ADptKG;EACC,iBAAA;EACA,oBAAA;ACutKJ;;ADztKG;EACC,iBAAA;EACA,oBAAA;AC4tKJ;;AD9tKG;EACC,iBAAA;EACA,oBAAA;ACiuKJ;;ADvsKG;EACC,gBAAA;EACA,mBAAA;AC0sKJ;;AD5sKG;EACC,gBAAA;EACA,mBAAA;AC+sKJ;;ADjtKG;EACC,iBAAA;EACA,oBAAA;ACotKJ;;ADttKG;EACC,iBAAA;EACA,oBAAA;ACytKJ;;AD3tKG;EACC,iBAAA;EACA,oBAAA;AC8tKJ;;ADhuKG;EACC,iBAAA;EACA,oBAAA;ACmuKJ;;ADruKG;EACC,iBAAA;EACA,oBAAA;ACwuKJ;;AD1uKG;EACC,iBAAA;EACA,oBAAA;AC6uKJ;;AD/uKG;EACC,iBAAA;EACA,oBAAA;ACkvKJ;;ADpvKG;EACC,iBAAA;EACA,oBAAA;ACuvKJ;;ADzvKG;EACC,iBAAA;EACA,oBAAA;AC4vKJ;;AD9vKG;EACC,iBAAA;EACA,oBAAA;ACiwKJ;;ADnwKG;EACC,iBAAA;EACA,oBAAA;ACswKJ;;ADxwKG;EACC,iBAAA;EACA,oBAAA;AC2wKJ;;AD7wKG;EACC,iBAAA;EACA,oBAAA;ACgxKJ;;ADlxKG;EACC,iBAAA;EACA,oBAAA;ACqxKJ;;ADvxKG;EACC,iBAAA;EACA,oBAAA;AC0xKJ;;AD5xKG;EACC,iBAAA;EACA,oBAAA;AC+xKJ;;ADjyKG;EACC,iBAAA;EACA,oBAAA;ACoyKJ;;ADtyKG;EACC,iBAAA;EACA,oBAAA;ACyyKJ;;AD3yKG;EACC,iBAAA;EACA,oBAAA;AC8yKJ;;ADhzKG;EACC,iBAAA;EACA,oBAAA;ACmzKJ;;ADrzKG;EACC,iBAAA;EACA,oBAAA;ACwzKJ;;AD1zKG;EACC,iBAAA;EACA,oBAAA;AC6zKJ;;AD/zKG;EACC,kBAAA;EACA,qBAAA;ACk0KJ;;ADxzKE;EACC,SAAA;AC2zKH;;ADxzKE;EACC,UAAA;AC2zKH;;ADh0KE;EACC,SAAA;ACm0KH;;ADh0KE;EACC,UAAA;ACm0KH;;ADx0KE;EACC,SAAA;AC20KH;;ADx0KE;EACC,UAAA;AC20KH;;ADh1KE;EACC,SAAA;ACm1KH;;ADh1KE;EACC,UAAA;ACm1KH;;ADx1KE;EACC,SAAA;AC21KH;;ADx1KE;EACC,UAAA;AC21KH;;ADh2KE;EACC,SAAA;ACm2KH;;ADh2KE;EACC,UAAA;ACm2KH;;ADx2KE;EACC,SAAA;AC22KH;;ADx2KE;EACC,UAAA;AC22KH;;ADh3KE;EACC,SAAA;ACm3KH;;ADh3KE;EACC,UAAA;ACm3KH;;ADx3KE;EACC,SAAA;AC23KH;;ADx3KE;EACC,UAAA;AC23KH;;ADh4KE;EACC,SAAA;ACm4KH;;ADh4KE;EACC,UAAA;ACm4KH;;ADx4KE;EACC,UAAA;AC24KH;;ADx4KE;EACC,WAAA;AC24KH;;ADh5KE;EACC,UAAA;ACm5KH;;ADh5KE;EACC,WAAA;ACm5KH;;ADx5KE;EACC,UAAA;AC25KH;;ADx5KE;EACC,WAAA;AC25KH;;ADh6KE;EACC,UAAA;ACm6KH;;ADh6KE;EACC,WAAA;ACm6KH;;ADx6KE;EACC,UAAA;AC26KH;;ADx6KE;EACC,WAAA;AC26KH;;ADh7KE;EACC,UAAA;ACm7KH;;ADh7KE;EACC,WAAA;ACm7KH;;ADx7KE;EACC,UAAA;AC27KH;;ADx7KE;EACC,WAAA;AC27KH;;ADh8KE;EACC,UAAA;ACm8KH;;ADh8KE;EACC,WAAA;ACm8KH;;ADx8KE;EACC,UAAA;AC28KH;;ADx8KE;EACC,WAAA;AC28KH;;ADh9KE;EACC,UAAA;ACm9KH;;ADh9KE;EACC,WAAA;ACm9KH;;ADx9KE;EACC,UAAA;AC29KH;;ADx9KE;EACC,WAAA;AC29KH;;ADh+KE;EACC,UAAA;ACm+KH;;ADh+KE;EACC,WAAA;ACm+KH;;ADx+KE;EACC,UAAA;AC2+KH;;ADx+KE;EACC,WAAA;AC2+KH;;ADh/KE;EACC,UAAA;ACm/KH;;ADh/KE;EACC,WAAA;ACm/KH;;ADx/KE;EACC,UAAA;AC2/KH;;ADx/KE;EACC,WAAA;AC2/KH;;ADhgLE;EACC,UAAA;ACmgLH;;ADhgLE;EACC,WAAA;ACmgLH;;AD9/KE;EACC,SAAA;ACigLH;;AD9/KE;EACC,UAAA;ACigLH;;ADtgLE;EACC,SAAA;ACygLH;;ADtgLE;EACC,UAAA;ACygLH;;AD9gLE;EACC,UAAA;ACihLH;;AD9gLE;EACC,WAAA;ACihLH;;ADthLE;EACC,UAAA;ACyhLH;;ADthLE;EACC,WAAA;ACyhLH;;AD9hLE;EACC,UAAA;ACiiLH;;AD9hLE;EACC,WAAA;ACiiLH;;ADtiLE;EACC,UAAA;ACyiLH;;ADtiLE;EACC,WAAA;ACyiLH;;AD9iLE;EACC,UAAA;ACijLH;;AD9iLE;EACC,WAAA;ACijLH;;ADtjLE;EACC,UAAA;ACyjLH;;ADtjLE;EACC,WAAA;ACyjLH;;AD9jLE;EACC,UAAA;ACikLH;;AD9jLE;EACC,WAAA;ACikLH;;ADtkLE;EACC,UAAA;ACykLH;;ADtkLE;EACC,WAAA;ACykLH;;AD9kLE;EACC,UAAA;ACilLH;;AD9kLE;EACC,WAAA;ACilLH;;ADtlLE;EACC,UAAA;ACylLH;;ADtlLE;EACC,WAAA;ACylLH;;AD9lLE;EACC,UAAA;ACimLH;;AD9lLE;EACC,WAAA;ACimLH;;ADtmLE;EACC,UAAA;ACymLH;;ADtmLE;EACC,WAAA;ACymLH;;AD9mLE;EACC,UAAA;ACinLH;;AD9mLE;EACC,WAAA;ACinLH;;ADtnLE;EACC,UAAA;ACynLH;;ADtnLE;EACC,WAAA;ACynLH;;AD9nLE;EACC,UAAA;ACioLH;;AD9nLE;EACC,WAAA;ACioLH;;ADtoLE;EACC,UAAA;ACyoLH;;ADtoLE;EACC,WAAA;ACyoLH;;AD9oLE;EACC,UAAA;ACipLH;;AD9oLE;EACC,WAAA;ACipLH;;ADtpLE;EACC,UAAA;ACypLH;;ADtpLE;EACC,WAAA;ACypLH;;AD9pLE;EACC,UAAA;ACiqLH;;AD9pLE;EACC,WAAA;ACiqLH;;ADtqLE;EACC,UAAA;ACyqLH;;ADtqLE;EACC,WAAA;ACyqLH;;AD9qLE;EACC,UAAA;ACirLH;;AD9qLE;EACC,WAAA;ACirLH;;ADtrLE;EACC,UAAA;ACyrLH;;ADtrLE;EACC,WAAA;ACyrLH;;AD9rLE;EACC,WAAA;ACisLH;;AD9rLE;EACC,YAAA;ACisLH;;ADhtLE;EACC,WAAA;ACmtLH;;ADhtLE;EACC,YAAA;ACmtLH;;ADxtLE;EACC,WAAA;AC2tLH;;ADxtLE;EACC,YAAA;AC2tLH;;ADhuLE;EACC,WAAA;ACmuLH;;ADhuLE;EACC,YAAA;ACmuLH;;ADxuLE;EACC,WAAA;AC2uLH;;ADxuLE;EACC,YAAA;AC2uLH;;ADhvLE;EACC,WAAA;ACmvLH;;ADhvLE;EACC,YAAA;ACmvLH;;ADxvLE;EACC,WAAA;AC2vLH;;ADxvLE;EACC,YAAA;AC2vLH;;ADhwLE;EACC,WAAA;ACmwLH;;ADhwLE;EACC,YAAA;ACmwLH;;ADxwLE;EACC,WAAA;AC2wLH;;ADxwLE;EACC,YAAA;AC2wLH;;ADhxLE;EACC,WAAA;ACmxLH;;ADhxLE;EACC,YAAA;ACmxLH;;ADxxLE;EACC,WAAA;AC2xLH;;ADxxLE;EACC,YAAA;AC2xLH;;ADhyLE;EACC,YAAA;ACmyLH;;ADhyLE;EACC,aAAA;ACmyLH;;ADxyLE;EACC,YAAA;AC2yLH;;ADxyLE;EACC,aAAA;AC2yLH;;ADhzLE;EACC,YAAA;ACmzLH;;ADhzLE;EACC,aAAA;ACmzLH;;ADxzLE;EACC,YAAA;AC2zLH;;ADxzLE;EACC,aAAA;AC2zLH;;ADh0LE;EACC,YAAA;ACm0LH;;ADh0LE;EACC,aAAA;ACm0LH;;ADx0LE;EACC,YAAA;AC20LH;;ADx0LE;EACC,aAAA;AC20LH;;ADh1LE;EACC,YAAA;ACm1LH;;ADh1LE;EACC,aAAA;ACm1LH;;ADx1LE;EACC,YAAA;AC21LH;;ADx1LE;EACC,aAAA;AC21LH;;ADh2LE;EACC,YAAA;ACm2LH;;ADh2LE;EACC,aAAA;ACm2LH;;ADx2LE;EACC,YAAA;AC22LH;;ADx2LE;EACC,aAAA;AC22LH;;ADh3LE;EACC,YAAA;ACm3LH;;ADh3LE;EACC,aAAA;ACm3LH;;ADx3LE;EACC,YAAA;AC23LH;;ADx3LE;EACC,aAAA;AC23LH;;ADh4LE;EACC,YAAA;ACm4LH;;ADh4LE;EACC,aAAA;ACm4LH;;ADx4LE;EACC,YAAA;AC24LH;;ADx4LE;EACC,aAAA;AC24LH;;ADh5LE;EACC,YAAA;ACm5LH;;ADh5LE;EACC,aAAA;ACm5LH;;ADx5LE;EACC,YAAA;AC25LH;;ADx5LE;EACC,aAAA;AC25LH;;ADt5LE;EACC,WAAA;ACy5LH;;ADt5LE;EACC,YAAA;ACy5LH;;AD95LE;EACC,WAAA;ACi6LH;;AD95LE;EACC,YAAA;ACi6LH;;ADt6LE;EACC,YAAA;ACy6LH;;ADt6LE;EACC,aAAA;ACy6LH;;AD96LE;EACC,YAAA;ACi7LH;;AD96LE;EACC,aAAA;ACi7LH;;ADt7LE;EACC,YAAA;ACy7LH;;ADt7LE;EACC,aAAA;ACy7LH;;AD97LE;EACC,YAAA;ACi8LH;;AD97LE;EACC,aAAA;ACi8LH;;ADt8LE;EACC,YAAA;ACy8LH;;ADt8LE;EACC,aAAA;ACy8LH;;AD98LE;EACC,YAAA;ACi9LH;;AD98LE;EACC,aAAA;ACi9LH;;ADt9LE;EACC,YAAA;ACy9LH;;ADt9LE;EACC,aAAA;ACy9LH;;AD99LE;EACC,YAAA;ACi+LH;;AD99LE;EACC,aAAA;ACi+LH;;ADt+LE;EACC,YAAA;ACy+LH;;ADt+LE;EACC,aAAA;ACy+LH;;AD9+LE;EACC,YAAA;ACi/LH;;AD9+LE;EACC,aAAA;ACi/LH;;ADt/LE;EACC,YAAA;ACy/LH;;ADt/LE;EACC,aAAA;ACy/LH;;AD9/LE;EACC,YAAA;ACigMH;;AD9/LE;EACC,aAAA;ACigMH;;ADtgME;EACC,YAAA;ACygMH;;ADtgME;EACC,aAAA;ACygMH;;AD9gME;EACC,YAAA;ACihMH;;AD9gME;EACC,aAAA;ACihMH;;ADthME;EACC,YAAA;ACyhMH;;ADthME;EACC,aAAA;ACyhMH;;AD9hME;EACC,YAAA;ACiiMH;;AD9hME;EACC,aAAA;ACiiMH;;ADtiME;EACC,YAAA;ACyiMH;;ADtiME;EACC,aAAA;ACyiMH;;AD9iME;EACC,YAAA;ACijMH;;AD9iME;EACC,aAAA;ACijMH;;ADtjME;EACC,YAAA;ACyjMH;;ADtjME;EACC,aAAA;ACyjMH;;AD9jME;EACC,YAAA;ACikMH;;AD9jME;EACC,aAAA;ACikMH;;ADtkME;EACC,YAAA;ACykMH;;ADtkME;EACC,aAAA;ACykMH;;AD9kME;EACC,YAAA;ACilMH;;AD9kME;EACC,aAAA;ACilMH;;ADtlME;EACC,aAAA;ACylMH;;ADtlME;EACC,cAAA;ACylMH;;ADxmME;EACC,YAAA;AC2mMH;;ADxmME;EACC,aAAA;AC2mMH;;ADhnME;EACC,YAAA;ACmnMH;;ADhnME;EACC,aAAA;ACmnMH;;ADxnME;EACC,YAAA;AC2nMH;;ADxnME;EACC,aAAA;AC2nMH;;ADhoME;EACC,YAAA;ACmoMH;;ADhoME;EACC,aAAA;ACmoMH;;ADxoME;EACC,YAAA;AC2oMH;;ADxoME;EACC,aAAA;AC2oMH;;ADhpME;EACC,YAAA;ACmpMH;;ADhpME;EACC,aAAA;ACmpMH;;ADxpME;EACC,YAAA;AC2pMH;;ADxpME;EACC,aAAA;AC2pMH;;ADhqME;EACC,YAAA;ACmqMH;;ADhqME;EACC,aAAA;ACmqMH;;ADxqME;EACC,YAAA;AC2qMH;;ADxqME;EACC,aAAA;AC2qMH;;ADhrME;EACC,YAAA;ACmrMH;;ADhrME;EACC,aAAA;ACmrMH;;ADxrME;EACC,aAAA;AC2rMH;;ADxrME;EACC,cAAA;AC2rMH;;ADhsME;EACC,aAAA;ACmsMH;;ADhsME;EACC,cAAA;ACmsMH;;ADxsME;EACC,aAAA;AC2sMH;;ADxsME;EACC,cAAA;AC2sMH;;ADhtME;EACC,aAAA;ACmtMH;;ADhtME;EACC,cAAA;ACmtMH;;ADxtME;EACC,aAAA;AC2tMH;;ADxtME;EACC,cAAA;AC2tMH;;ADhuME;EACC,aAAA;ACmuMH;;ADhuME;EACC,cAAA;ACmuMH;;ADxuME;EACC,aAAA;AC2uMH;;ADxuME;EACC,cAAA;AC2uMH;;ADhvME;EACC,aAAA;ACmvMH;;ADhvME;EACC,cAAA;ACmvMH;;ADxvME;EACC,aAAA;AC2vMH;;ADxvME;EACC,cAAA;AC2vMH;;ADhwME;EACC,aAAA;ACmwMH;;ADhwME;EACC,cAAA;ACmwMH;;ADxwME;EACC,aAAA;AC2wMH;;ADxwME;EACC,cAAA;AC2wMH;;ADhxME;EACC,aAAA;ACmxMH;;ADhxME;EACC,cAAA;ACmxMH;;ADxxME;EACC,aAAA;AC2xMH;;ADxxME;EACC,cAAA;AC2xMH;;ADhyME;EACC,aAAA;ACmyMH;;ADhyME;EACC,cAAA;ACmyMH;;ADxyME;EACC,aAAA;AC2yMH;;ADxyME;EACC,cAAA;AC2yMH;;ADhzME;EACC,aAAA;ACmzMH;;ADhzME;EACC,cAAA;ACmzMH;;AD9yME;EACC,YAAA;ACizMH;;AD9yME;EACC,aAAA;ACizMH;;ADtzME;EACC,YAAA;ACyzMH;;ADtzME;EACC,aAAA;ACyzMH;;AD9zME;EACC,aAAA;ACi0MH;;AD9zME;EACC,cAAA;ACi0MH;;ADt0ME;EACC,aAAA;ACy0MH;;ADt0ME;EACC,cAAA;ACy0MH;;AD90ME;EACC,aAAA;ACi1MH;;AD90ME;EACC,cAAA;ACi1MH;;ADt1ME;EACC,aAAA;ACy1MH;;ADt1ME;EACC,cAAA;ACy1MH;;AD91ME;EACC,aAAA;ACi2MH;;AD91ME;EACC,cAAA;ACi2MH;;ADt2ME;EACC,aAAA;ACy2MH;;ADt2ME;EACC,cAAA;ACy2MH;;AD92ME;EACC,aAAA;ACi3MH;;AD92ME;EACC,cAAA;ACi3MH;;ADt3ME;EACC,aAAA;ACy3MH;;ADt3ME;EACC,cAAA;ACy3MH;;AD93ME;EACC,aAAA;ACi4MH;;AD93ME;EACC,cAAA;ACi4MH;;ADt4ME;EACC,aAAA;ACy4MH;;ADt4ME;EACC,cAAA;ACy4MH;;AD94ME;EACC,aAAA;ACi5MH;;AD94ME;EACC,cAAA;ACi5MH;;ADt5ME;EACC,aAAA;ACy5MH;;ADt5ME;EACC,cAAA;ACy5MH;;AD95ME;EACC,aAAA;ACi6MH;;AD95ME;EACC,cAAA;ACi6MH;;ADt6ME;EACC,aAAA;ACy6MH;;ADt6ME;EACC,cAAA;ACy6MH;;AD96ME;EACC,aAAA;ACi7MH;;AD96ME;EACC,cAAA;ACi7MH;;ADt7ME;EACC,aAAA;ACy7MH;;ADt7ME;EACC,cAAA;ACy7MH;;AD97ME;EACC,aAAA;ACi8MH;;AD97ME;EACC,cAAA;ACi8MH;;ADt8ME;EACC,aAAA;ACy8MH;;ADt8ME;EACC,cAAA;ACy8MH;;AD98ME;EACC,aAAA;ACi9MH;;AD98ME;EACC,cAAA;ACi9MH;;ADt9ME;EACC,aAAA;ACy9MH;;ADt9ME;EACC,cAAA;ACy9MH;;AD99ME;EACC,aAAA;ACi+MH;;AD99ME;EACC,cAAA;ACi+MH;;ADt+ME;EACC,aAAA;ACy+MH;;ADt+ME;EACC,cAAA;ACy+MH;;AD9+ME;EACC,cAAA;ACi/MH;;AD9+ME;EACC,eAAA;ACi/MH;;ADhgNE;EACC,UAAA;ACmgNH;;ADhgNE;EACC,WAAA;ACmgNH;;ADxgNE;EACC,UAAA;AC2gNH;;ADxgNE;EACC,WAAA;AC2gNH;;ADhhNE;EACC,UAAA;ACmhNH;;ADhhNE;EACC,WAAA;ACmhNH;;ADxhNE;EACC,UAAA;AC2hNH;;ADxhNE;EACC,WAAA;AC2hNH;;ADhiNE;EACC,UAAA;ACmiNH;;ADhiNE;EACC,WAAA;ACmiNH;;ADxiNE;EACC,UAAA;AC2iNH;;ADxiNE;EACC,WAAA;AC2iNH;;ADhjNE;EACC,UAAA;ACmjNH;;ADhjNE;EACC,WAAA;ACmjNH;;ADxjNE;EACC,UAAA;AC2jNH;;ADxjNE;EACC,WAAA;AC2jNH;;ADhkNE;EACC,UAAA;ACmkNH;;ADhkNE;EACC,WAAA;ACmkNH;;ADxkNE;EACC,UAAA;AC2kNH;;ADxkNE;EACC,WAAA;AC2kNH;;ADhlNE;EACC,WAAA;ACmlNH;;ADhlNE;EACC,YAAA;ACmlNH;;ADxlNE;EACC,WAAA;AC2lNH;;ADxlNE;EACC,YAAA;AC2lNH;;ADhmNE;EACC,WAAA;ACmmNH;;ADhmNE;EACC,YAAA;ACmmNH;;ADxmNE;EACC,WAAA;AC2mNH;;ADxmNE;EACC,YAAA;AC2mNH;;ADhnNE;EACC,WAAA;ACmnNH;;ADhnNE;EACC,YAAA;ACmnNH;;ADxnNE;EACC,WAAA;AC2nNH;;ADxnNE;EACC,YAAA;AC2nNH;;ADhoNE;EACC,WAAA;ACmoNH;;ADhoNE;EACC,YAAA;ACmoNH;;ADxoNE;EACC,WAAA;AC2oNH;;ADxoNE;EACC,YAAA;AC2oNH;;ADhpNE;EACC,WAAA;ACmpNH;;ADhpNE;EACC,YAAA;ACmpNH;;ADxpNE;EACC,WAAA;AC2pNH;;ADxpNE;EACC,YAAA;AC2pNH;;ADhqNE;EACC,WAAA;ACmqNH;;ADhqNE;EACC,YAAA;ACmqNH;;ADxqNE;EACC,WAAA;AC2qNH;;ADxqNE;EACC,YAAA;AC2qNH;;ADhrNE;EACC,WAAA;ACmrNH;;ADhrNE;EACC,YAAA;ACmrNH;;ADxrNE;EACC,WAAA;AC2rNH;;ADxrNE;EACC,YAAA;AC2rNH;;ADhsNE;EACC,WAAA;ACmsNH;;ADhsNE;EACC,YAAA;ACmsNH;;ADxsNE;EACC,WAAA;AC2sNH;;ADxsNE;EACC,YAAA;AC2sNH;;ADtsNE;EACC,UAAA;ACysNH;;ADtsNE;EACC,WAAA;ACysNH;;AD9sNE;EACC,UAAA;ACitNH;;AD9sNE;EACC,WAAA;ACitNH;;ADttNE;EACC,WAAA;ACytNH;;ADttNE;EACC,YAAA;ACytNH;;AD9tNE;EACC,WAAA;ACiuNH;;AD9tNE;EACC,YAAA;ACiuNH;;ADtuNE;EACC,WAAA;ACyuNH;;ADtuNE;EACC,YAAA;ACyuNH;;AD9uNE;EACC,WAAA;ACivNH;;AD9uNE;EACC,YAAA;ACivNH;;ADtvNE;EACC,WAAA;ACyvNH;;ADtvNE;EACC,YAAA;ACyvNH;;AD9vNE;EACC,WAAA;ACiwNH;;AD9vNE;EACC,YAAA;ACiwNH;;ADtwNE;EACC,WAAA;ACywNH;;ADtwNE;EACC,YAAA;ACywNH;;AD9wNE;EACC,WAAA;ACixNH;;AD9wNE;EACC,YAAA;ACixNH;;ADtxNE;EACC,WAAA;ACyxNH;;ADtxNE;EACC,YAAA;ACyxNH;;AD9xNE;EACC,WAAA;ACiyNH;;AD9xNE;EACC,YAAA;ACiyNH;;ADtyNE;EACC,WAAA;ACyyNH;;ADtyNE;EACC,YAAA;ACyyNH;;AD9yNE;EACC,WAAA;ACizNH;;AD9yNE;EACC,YAAA;ACizNH;;ADtzNE;EACC,WAAA;ACyzNH;;ADtzNE;EACC,YAAA;ACyzNH;;AD9zNE;EACC,WAAA;ACi0NH;;AD9zNE;EACC,YAAA;ACi0NH;;ADt0NE;EACC,WAAA;ACy0NH;;ADt0NE;EACC,YAAA;ACy0NH;;AD90NE;EACC,WAAA;ACi1NH;;AD90NE;EACC,YAAA;ACi1NH;;ADt1NE;EACC,WAAA;ACy1NH;;ADt1NE;EACC,YAAA;ACy1NH;;AD91NE;EACC,WAAA;ACi2NH;;AD91NE;EACC,YAAA;ACi2NH;;ADt2NE;EACC,WAAA;ACy2NH;;ADt2NE;EACC,YAAA;ACy2NH;;AD92NE;EACC,WAAA;ACi3NH;;AD92NE;EACC,YAAA;ACi3NH;;ADt3NE;EACC,WAAA;ACy3NH;;ADt3NE;EACC,YAAA;ACy3NH;;AD93NE;EACC,WAAA;ACi4NH;;AD93NE;EACC,YAAA;ACi4NH;;ADt4NE;EACC,YAAA;ACy4NH;;ADt4NE;EACC,aAAA;ACy4NH;;ADp4NA;EACC,wBAAA;ACu4ND;;ADp4NC;EACC,qCAAA;ACu4NF;;ADx4NC;EACC,qCAAA;AC24NF;;AD54NC;EACC,qCAAA;AC+4NF;;ADh5NC;EACC,qCAAA;ACm5NF;;ADp5NC;EACC,qCAAA;ACu5NF;;ADx5NC;EACC,qCAAA;AC25NF;;AD55NC;EACC,qCAAA;AC+5NF;;ADh6NC;EACC,qCAAA;ACm6NF;;ADp6NC;EACC,qCAAA;ACu6NF;;ADx6NC;EACC,sCAAA;AC26NF;;AD56NC;EACC,sCAAA;AC+6NF;;AD36NC;EACC,SAAA;AC86NF;;AD56NC;EACC,qBAAA;AC+6NF;;AD76NC;EACC,kBAAA;ACg7NF;;ADv7NC;EACC,SAAA;AC07NF;;ADx7NC;EACC,qBAAA;AC27NF;;ADz7NC;EACC,kBAAA;AC47NF;;ADn8NC;EACC,SAAA;ACs8NF;;ADp8NC;EACC,qBAAA;ACu8NF;;ADr8NC;EACC,kBAAA;ACw8NF;;AD/8NC;EACC,SAAA;ACk9NF;;ADh9NC;EACC,qBAAA;ACm9NF;;ADj9NC;EACC,kBAAA;ACo9NF;;AD39NC;EACC,UAAA;AC89NF;;AD59NC;EACC,sBAAA;AC+9NF;;AD79NC;EACC,mBAAA;ACg+NF;;ADv+NC;EACC,UAAA;AC0+NF;;ADx+NC;EACC,sBAAA;AC2+NF;;ADz+NC;EACC,mBAAA;AC4+NF;;ADn/NC;EACC,UAAA;ACs/NF;;ADp/NC;EACC,sBAAA;ACu/NF;;ADr/NC;EACC,mBAAA;ACw/NF;;AD//NC;EACC,UAAA;ACkgOF;;ADhgOC;EACC,sBAAA;ACmgOF;;ADjgOC;EACC,mBAAA;ACogOF;;AD3gOC;EACC,UAAA;AC8gOF;;AD5gOC;EACC,sBAAA;AC+gOF;;AD7gOC;EACC,mBAAA;ACghOF;;ADvhOC;EACC,UAAA;AC0hOF;;ADxhOC;EACC,sBAAA;AC2hOF;;ADzhOC;EACC,mBAAA;AC4hOF;;ADniOC;EACC,UAAA;ACsiOF;;ADpiOC;EACC,sBAAA;ACuiOF;;ADriOC;EACC,mBAAA;ACwiOF;;AD/iOC;EACC,UAAA;ACkjOF;;ADhjOC;EACC,sBAAA;ACmjOF;;ADjjOC;EACC,mBAAA;ACojOF;;AD3jOC;EACC,UAAA;AC8jOF;;AD5jOC;EACC,sBAAA;AC+jOF;;AD7jOC;EACC,mBAAA;ACgkOF;;ADvkOC;EACC,UAAA;AC0kOF;;ADxkOC;EACC,sBAAA;AC2kOF;;ADzkOC;EACC,mBAAA;AC4kOF;;ADnlOC;EACC,UAAA;ACslOF;;ADplOC;EACC,sBAAA;ACulOF;;ADrlOC;EACC,mBAAA;ACwlOF;;AD/lOC;EACC,UAAA;ACkmOF;;ADhmOC;EACC,sBAAA;ACmmOF;;ADjmOC;EACC,mBAAA;AComOF;;AD3mOC;EACC,UAAA;AC8mOF;;AD5mOC;EACC,sBAAA;AC+mOF;;AD7mOC;EACC,mBAAA;ACgnOF;;ADvnOC;EACC,UAAA;AC0nOF;;ADxnOC;EACC,sBAAA;AC2nOF;;ADznOC;EACC,mBAAA;AC4nOF;;ADnoOC;EACC,UAAA;ACsoOF;;ADpoOC;EACC,sBAAA;ACuoOF;;ADroOC;EACC,mBAAA;ACwoOF;;AD/oOC;EACC,UAAA;ACkpOF;;ADhpOC;EACC,sBAAA;ACmpOF;;ADjpOC;EACC,mBAAA;ACopOF;;AD3pOC;EACC,UAAA;AC8pOF;;AD5pOC;EACC,sBAAA;AC+pOF;;AD7pOC;EACC,mBAAA;ACgqOF;;ADvqOC;EACC,UAAA;AC0qOF;;ADxqOC;EACC,sB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BAAA;AC6wOF;;AD9wOC;EACC,wBAAA;ACixOF;;ADlxOC;EACC,wBAAA;ACqxOF;;ADtxOC;EACC,wBAAA;ACyxOF;;AD7uOC;EACC,yBAAA;ACgvOF;;AD7uOC;EACC,yBA7BO;AC6wOT;;ADrvOC;EACC,yBAAA;ACwvOF;;ADrvOC;EACC,yBA7BO;ACqxOT;;AD7vOC;EACC,yBAAA;ACgwOF;;AD7vOC;EACC,yBA7BO;AC6xOT;;ADrwOC;EACC,yBAAA;ACwwOF;;ADrwOC;EACC,yBA7BO;ACqyOT;;AD7wOC;EACC,yBAAA;ACgxOF;;AD7wOC;EACC,yBA7BO;AC6yOT;;ADrxOC;EACC,yBAAA;ACwxOF;;ADrxOC;EACC,yBA7BO;ACqzOT;;AD7xOC;EACC,yBAAA;ACgyOF;;AD7xOC;EACC,yBA7BO;AC6zOT;;ADryOC;EACC,yBAAA;ACwyOF;;ADryOC;EACC,yBA7BO;ACq0OT;;AD7yOC;EACC,yBAAA;ACgzOF;;AD7yOC;EACC,yBA7BO;AC60OT;;ADrzOC;EACC,yBAAA;ACwzOF;;ADrzOC;EACC,yBA7BO;ACq1OT;;AD7zOC;EACC,yBAAA;ACg0OF;;AD7zOC;EACC,yBA7BO;AC61OT;;ADr0OC;EACC,yBAAA;ACw0OF;;ADr0OC;EACC,yBA7BO;ACq2OT;;AD70OC;EACC,yBAAA;ACg1OF;;AD70OC;EACC,yBA7BO;AC62OT;;ADr1OC;EACC,yBAAA;ACw1OF;;ADr1OC;EACC,yBA7BO;ACq3OT;;AD71OC;EACC,yBAAA;ACg2OF;;AD71OC;EACC,yBA7BO;AC63OT;;ADr2OC;EACC,yBAAA;ACw2OF;;ADr2OC;EACC,yBA7BO;ACq4OT;;AD72OC;EACC,yBAAA;ACg3OF;;AD72OC;EACC,yBA7BO;AC64OT;;ADr3OC;EACC,yBAAA;ACw3OF;;ADr3OC;EACC,yBA7BO;ACq5OT;;ADl3OC;EACC,yBAAA;ACq3OF;;ADl3OC;EACC,yBAxDc;AC66OhB;;AD13OC;EACC,yBAAA;AC63OF;;AD13OC;EACC,yBAxDc;ACq7OhB;;ADl4OC;EACC,yBAAA;ACq4OF;;ADl4OC;EACC,yBAxDc;AC67OhB;;AD14OC;EACC,yBAAA;AC64OF;;AD14OC;EACC,yBAxDc;ACq8OhB;;ADl5OC;EACC,yBAAA;ACq5OF;;ADl5OC;EACC,yBAxDc;AC68OhB;;AD15OC;EACC,yBAAA;AC65OF;;AD15OC;EACC,yBAxDc;ACq9OhB;;ADl6OC;EACC,yBAAA;ACq6OF;;ADl6OC;EACC,yBAxDc;AC69OhB;;AD16OC;EACC,yBAAA;AC66OF;;AD16OC;EACC,yBAxDc;ACq+OhB;;ADl7OC;EACC,yBAAA;ACq7OF;;ADl7OC;EACC,yBAxDc;AC6+OhB;;AD17OC;EACC,yBAAA;AC67OF;;AD17OC;EACC,yBAxDc;ACq/OhB;;ADl8OC;EACC,yBAAA;ACq8OF;;ADl8OC;EACC,yBAxDc;AC6/OhB;;AD18OC;EACC,yBAAA;AC68OF;;AD18OC;EACC,yBAxDc;ACqgPhB;;ADl9OC;EACC,yBAAA;ACq9OF;;ADl9OC;EACC,yBAxDc;AC6gPhB;;AD19OC;EACC,yBAAA;AC69OF;;AD19OC;EACC,yBAxDc;ACqhPhB","file":"tmui.css"}
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/css/tmui.min.css b/src/uni_modules/tm-ui/css/tmui.min.css
new file mode 100644
index 0000000..cfd61d3
--- /dev/null
+++ b/src/uni_modules/tm-ui/css/tmui.min.css
@@ -0,0 +1 @@
+.uni-input-input[type=password]::-ms-reveal{display:none}.tableHeader .uni-scroll-view::-webkit-scrollbar{display:none}.safe-height{height:var(--window-bottom)}.safe-top{height:var(--window-top)}.safe-statusbar{height:var(--status-bar-height)}.blur{backdrop-filter:blur(10px);background-color:rgba(0,0,0,.3)}.pointer{cursor:pointer}.pointer:hover{opacity:.7}.overflow{overflow:hidden}.overflow-x{overflow-x:hidden;overflow-y:auto}.overflow-y{overflow-x:auto;overflow-y:hidden}.relative{position:relative!important}.absolute{position:absolute!important}.fixed{position:fixed!important}.sticky{position:sticky!important}.fulled-height{display:flex;align-items:stretch}.clear{clear:both}.fulled{width:100%;display:block}.fulled-height{height:100%;display:block}.gray-100{filter:grayscale(100%)}.gray{filter:grayscale(25%)}.d-inline-block{display:inline-block!important}.d-block{display:block}.vertical-align-top{vertical-align:top}.vertical-align-middle{vertical-align:middle}.vertical-align-bottom{vertical-align:bottom}.wrap{white-space:pre-wrap;word-break:break-all}.nowrap{white-space:nowrap}.vertical-align-top{vertical-align:top}.vertical-align-middle{vertical-align:middle}.vertical-align-bottom{vertical-align:bottom}.zIndex-0{z-index:0}.zIndex-n0{z-index:0}.zIndex-1{z-index:1}.zIndex-n1{z-index:4}.zIndex-2{z-index:2}.zIndex-n2{z-index:8}.zIndex-3{z-index:3}.zIndex-n3{z-index:12}.zIndex-4{z-index:4}.zIndex-n4{z-index:16}.zIndex-5{z-index:5}.zIndex-n5{z-index:20}.zIndex-6{z-index:6}.zIndex-n6{z-index:24}.zIndex-7{z-index:7}.zIndex-n7{z-index:28}.zIndex-8{z-index:8}.zIndex-n8{z-index:32}.zIndex-9{z-index:9}.zIndex-n9{z-index:36}.zIndex-10{z-index:10}.zIndex-n10{z-index:40}.zIndex-11{z-index:11}.zIndex-n11{z-index:44}.zIndex-12{z-index:12}.zIndex-n12{z-index:48}.zIndex-13{z-index:13}.zIndex-n13{z-index:52}.zIndex-14{z-index:14}.zIndex-n14{z-index:56}.zIndex-15{z-index:15}.zIndex-n15{z-index:60}.zIndex-16{z-index:16}.zIndex-n16{z-index:64}.zIndex-17{z-index:17}.zIndex-n17{z-index:68}.zIndex-18{z-index:18}.zIndex-n18{z-index:72}.zIndex-19{z-index:19}.zIndex-n19{z-index:76}.zIndex-20{z-index:20}.zIndex-n20{z-index:80}.zIndex-21{z-index:21}.zIndex-n21{z-index:84}.zIndex-22{z-index:22}.zIndex-n22{z-index:88}.zIndex-23{z-index:23}.zIndex-n23{z-index:92}.zIndex-24{z-index:24}.zIndex-n24{z-index:96}.zIndex-25{z-index:25}.zIndex-n25{z-index:100}.zIndex-26{z-index:26}.zIndex-n26{z-index:104}.text-overflow{width:100%;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text-overflow-1{width:100%;display:-webkit-box;white-space:inherit;overflow:hidden;-webkit-line-clamp:1;-webkit-box-orient:vertical;text-overflow:ellipsis}.text-overflow-2{width:100%;display:-webkit-box;white-space:inherit;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis}.text-overflow-3{width:100%;display:-webkit-box;white-space:inherit;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical;text-overflow:ellipsis}.text-overflow-4{width:100%;display:-webkit-box;white-space:inherit;overflow:hidden;-webkit-line-clamp:4;-webkit-box-orient:vertical;text-overflow:ellipsis}.text-delete{text-decoration:line-through}.text-underline{text-decoration:underline}.text-size-xxs{font-size:20rpx}.text-size-xs{font-size:22rpx}.text-size-s{font-size:24rpx}.text-size-m{font-size:28rpx}.text-size-n{font-size:30rpx}.text-size-g{font-size:34rpx}.text-size-lg{font-size:36rpx}.text-size-xl{font-size:40rpx}.text-weight-s{font-weight:100}.text-weight-n{font-weight:400}.text-weight-b{font-weight:700}.text-align-left{text-align:left}.text-align-right{text-align:right}.text-align-center{text-align:center}.round-tl-0{border-top-left-radius:0rpx!important}.round-tl-1{border-top-left-radius:4rpx!important}.round-tl-2{border-top-left-radius:8rpx!important}.round-tl-3{border-top-left-radius:12rpx!important}.round-tl-4{border-top-left-radius:16rpx!important}.round-tl-5{border-top-left-radius:20rpx!important}.round-tl-6{border-top-left-radius:24rpx!important}.round-tl-7{border-top-left-radius:28rpx!important}.round-tl-8{border-top-left-radius:32rpx!important}.round-tl-9{border-top-left-radius:36rpx!important}.round-tl-10{border-top-left-radius:40rpx!important}.round-tl-11{border-top-left-radius:44rpx!important}.round-tl-12{border-top-left-radius:48rpx!important}.round-tl-13{border-top-left-radius:52rpx!important}.round-tl-14{border-top-left-radius:56rpx!important}.round-tl-15{border-top-left-radius:60rpx!important}.round-tl-16{border-top-left-radius:64rpx!important}.round-tl-17{border-top-left-radius:68rpx!important}.round-tl-18{border-top-left-radius:72rpx!important}.round-tl-19{border-top-left-radius:76rpx!important}.round-tl-20{border-top-left-radius:80rpx!important}.round-tl-21{border-top-left-radius:84rpx!important}.round-tl-22{border-top-left-radius:88rpx!important}.round-tl-23{border-top-left-radius:92rpx!important}.round-tl-24{border-top-left-radius:96rpx!important}.round-tl-25{border-top-left-radius:100rpx!important}.round-tr-0{border-top-right-radius:0rpx!important}.round-tr-1{border-top-right-radius:4rpx!important}.round-tr-2{border-top-right-radius:8rpx!important}.round-tr-3{border-top-right-radius:12rpx!important}.round-tr-4{border-top-right-radius:16rpx!important}.round-tr-5{border-top-right-radius:20rpx!important}.round-tr-6{border-top-right-radius:24rpx!important}.round-tr-7{border-top-right-radius:28rpx!important}.round-tr-8{border-top-right-radius:32rpx!important}.round-tr-9{border-top-right-radius:36rpx!important}.round-tr-10{border-top-right-radius:40rpx!important}.round-tr-11{border-top-right-radius:44rpx!important}.round-tr-12{border-top-right-radius:48rpx!important}.round-tr-13{border-top-right-radius:52rpx!important}.round-tr-14{border-top-right-radius:56rpx!important}.round-tr-15{border-top-right-radius:60rpx!important}.round-tr-16{border-top-right-radius:64rpx!important}.round-tr-17{border-top-right-radius:68rpx!important}.round-tr-18{border-top-right-radius:72rpx!important}.round-tr-19{border-top-right-radius:76rpx!important}.round-tr-20{border-top-right-radius:80rpx!important}.round-tr-21{border-top-right-radius:84rpx!important}.round-tr-22{border-top-right-radius:88rpx!important}.round-tr-23{border-top-right-radius:92rpx!important}.round-tr-24{border-top-right-radius:96rpx!important}.round-tr-25{border-top-right-radius:100rpx!important}.round-bl-0{border-bottom-left-radius:0rpx!important}.round-bl-1{border-bottom-left-radius:4rpx!important}.round-bl-2{border-bottom-left-radius:8rpx!important}.round-bl-3{border-bottom-left-radius:12rpx!important}.round-bl-4{border-bottom-left-radius:16rpx!important}.round-bl-5{border-bottom-left-radius:20rpx!important}.round-bl-6{border-bottom-left-radius:24rpx!important}.round-bl-7{border-bottom-left-radius:28rpx!important}.round-bl-8{border-bottom-left-radius:32rpx!important}.round-bl-9{border-bottom-left-radius:36rpx!important}.round-bl-10{border-bottom-left-radius:40rpx!important}.round-bl-11{border-bottom-left-radius:44rpx!important}.round-bl-12{border-bottom-left-radius:48rpx!important}.round-bl-13{border-bottom-left-radius:52rpx!important}.round-bl-14{border-bottom-left-radius:56rpx!important}.round-bl-15{border-bottom-left-radius:60rpx!important}.round-bl-16{border-bottom-left-radius:64rpx!important}.round-bl-17{border-bottom-left-radius:68rpx!important}.round-bl-18{border-bottom-left-radius:72rpx!important}.round-bl-19{border-bottom-left-radius:76rpx!important}.round-bl-20{border-bottom-left-radius:80rpx!important}.round-bl-21{border-bottom-left-radius:84rpx!important}.round-bl-22{border-bottom-left-radius:88rpx!important}.round-bl-23{border-bottom-left-radius:92rpx!important}.round-bl-24{border-bottom-left-radius:96rpx!important}.round-bl-25{border-bottom-left-radius:100rpx!important}.round-br-0{border-bottom-right-radius:0rpx!important}.round-br-1{border-bottom-right-radius:4rpx!important}.round-br-2{border-bottom-right-radius:8rpx!important}.round-br-3{border-bottom-right-radius:12rpx!important}.round-br-4{border-bottom-right-radius:16rpx!important}.round-br-5{border-bottom-right-radius:20rpx!important}.round-br-6{border-bottom-right-radius:24rpx!important}.round-br-7{border-bottom-right-radius:28rpx!important}.round-br-8{border-bottom-right-radius:32rpx!important}.round-br-9{border-bottom-right-radius:36rpx!important}.round-br-10{border-bottom-right-radius:40rpx!important}.round-br-11{border-bottom-right-radius:44rpx!important}.round-br-12{border-bottom-right-radius:48rpx!important}.round-br-13{border-bottom-right-radius:52rpx!important}.round-br-14{border-bottom-right-radius:56rpx!important}.round-br-15{border-bottom-right-radius:60rpx!important}.round-br-16{border-bottom-right-radius:64rpx!important}.round-br-17{border-bottom-right-radius:68rpx!important}.round-br-18{border-bottom-right-radius:72rpx!important}.round-br-19{border-bottom-right-radius:76rpx!important}.round-br-20{border-bottom-right-radius:80rpx!important}.round-br-21{border-bottom-right-radius:84rpx!important}.round-br-22{border-bottom-right-radius:88rpx!important}.round-br-23{border-bottom-right-radius:92rpx!important}.round-br-24{border-bottom-right-radius:96rpx!important}.round-br-25{border-bottom-right-radius:100rpx!important}.round-a-0{border-radius:0rpx!important}.round-a-1{border-radius:4rpx!important}.round-a-2{border-radius:8rpx!important}.round-a-3{border-radius:12rpx!important}.round-a-4{border-radius:16rpx!important}.round-a-5{border-radius:20rpx!important}.round-a-6{border-radius:24rpx!important}.round-a-7{border-radius:28rpx!important}.round-a-8{border-radius:32rpx!important}.round-a-9{border-radius:36rpx!important}.round-a-10{border-radius:40rpx!important}.round-a-11{border-radius:44rpx!important}.round-a-12{border-radius:48rpx!important}.round-a-13{border-radius:52rpx!important}.round-a-14{border-radius:56rpx!important}.round-a-15{border-radius:60rpx!important}.round-a-16{border-radius:64rpx!important}.round-a-17{border-radius:68rpx!important}.round-a-18{border-radius:72rpx!important}.round-a-19{border-radius:76rpx!important}.round-a-20{border-radius:80rpx!important}.round-a-21{border-radius:84rpx!important}.round-a-22{border-radius:88rpx!important}.round-a-23{border-radius:92rpx!important}.round-a-24{border-radius:96rpx!important}.round-a-25{border-radius:100rpx!important}.round-t-0{border-top-left-radius:0rpx!important;border-top-right-radius:0rpx!important}.round-t-1{border-top-left-radius:4rpx!important;border-top-right-radius:4rpx!important}.round-t-2{border-top-left-radius:8rpx!important;border-top-right-radius:8rpx!important}.round-t-3{border-top-left-radius:12rpx!important;border-top-right-radius:12rpx!important}.round-t-4{border-top-left-radius:16rpx!important;border-top-right-radius:16rpx!important}.round-t-5{border-top-left-radius:20rpx!important;border-top-right-radius:20rpx!important}.round-t-6{border-top-left-radius:24rpx!important;border-top-right-radius:24rpx!important}.round-t-7{border-top-left-radius:28rpx!important;border-top-right-radius:28rpx!important}.round-t-8{border-top-left-radius:32rpx!important;border-top-right-radius:32rpx!important}.round-t-9{border-top-left-radius:36rpx!important;border-top-right-radius:36rpx!important}.round-t-10{border-top-left-radius:40rpx!important;border-top-right-radius:40rpx!important}.round-t-11{border-top-left-radius:44rpx!important;border-top-right-radius:44rpx!important}.round-t-12{border-top-left-radius:48rpx!important;border-top-right-radius:48rpx!important}.round-t-13{border-top-left-radius:52rpx!important;border-top-right-radius:52rpx!important}.round-t-14{border-top-left-radius:56rpx!important;border-top-right-radius:56rpx!important}.round-t-15{border-top-left-radius:60rpx!important;border-top-right-radius:60rpx!important}.round-t-16{border-top-left-radius:64rpx!important;border-top-right-radius:64rpx!important}.round-t-17{border-top-left-radius:68rpx!important;border-top-right-radius:68rpx!important}.round-t-18{border-top-left-radius:72rpx!important;border-top-right-radius:72rpx!important}.round-t-19{border-top-left-radius:76rpx!important;border-top-right-radius:76rpx!important}.round-t-20{border-top-left-radius:80rpx!important;border-top-right-radius:80rpx!important}.round-t-21{border-top-left-radius:84rpx!important;border-top-right-radius:84rpx!important}.round-t-22{border-top-left-radius:88rpx!important;border-top-right-radius:88rpx!important}.round-t-23{border-top-left-radius:92rpx!important;border-top-right-radius:92rpx!important}.round-t-24{border-top-left-radius:96rpx!important;border-top-right-radius:96rpx!important}.round-t-25{border-top-left-radius:100rpx!important;border-top-right-radius:100rpx!important}.round-b-0{border-bottom-left-radius:0rpx!important;border-bottom-right-radius:0rpx!important}.round-b-1{border-bottom-left-radius:4rpx!important;border-bottom-right-radius:4rpx!important}.round-b-2{border-bottom-left-radius:8rpx!important;border-bottom-right-radius:8rpx!important}.round-b-3{border-bottom-left-radius:12rpx!important;border-bottom-right-radius:12rpx!important}.round-b-4{border-bottom-left-radius:16rpx!important;border-bottom-right-radius:16rpx!important}.round-b-5{border-bottom-left-radius:20rpx!important;border-bottom-right-radius:20rpx!important}.round-b-6{border-bottom-left-radius:24rpx!important;border-bottom-right-radius:24rpx!important}.round-b-7{border-bottom-left-radius:28rpx!important;border-bottom-right-radius:28rpx!important}.round-b-8{border-bottom-left-radius:32rpx!important;border-bottom-right-radius:32rpx!important}.round-b-9{border-bottom-left-radius:36rpx!important;border-bottom-right-radius:36rpx!important}.round-b-10{border-bottom-left-radius:40rpx!important;border-bottom-right-radius:40rpx!important}.round-b-11{border-bottom-left-radius:44rpx!important;border-bottom-right-radius:44rpx!important}.round-b-12{border-bottom-left-radius:48rpx!important;border-bottom-right-radius:48rpx!important}.round-b-13{border-bottom-left-radius:52rpx!important;border-bottom-right-radius:52rpx!important}.round-b-14{border-bottom-left-radius:56rpx!important;border-bottom-right-radius:56rpx!important}.round-b-15{border-bottom-left-radius:60rpx!important;border-bottom-right-radius:60rpx!important}.round-b-16{border-bottom-left-radius:64rpx!important;border-bottom-right-radius:64rpx!important}.round-b-17{border-bottom-left-radius:68rpx!important;border-bottom-right-radius:68rpx!important}.round-b-18{border-bottom-left-radius:72rpx!important;border-bottom-right-radius:72rpx!important}.round-b-19{border-bottom-left-radius:76rpx!important;border-bottom-right-radius:76rpx!important}.round-b-20{border-bottom-left-radius:80rpx!important;border-bottom-right-radius:80rpx!important}.round-b-21{border-bottom-left-radius:84rpx!important;border-bottom-right-radius:84rpx!important}.round-b-22{border-bottom-left-radius:88rpx!important;border-bottom-right-radius:88rpx!important}.round-b-23{border-bottom-left-radius:92rpx!important;border-bottom-right-radius:92rpx!important}.round-b-24{border-bottom-left-radius:96rpx!important;border-bottom-right-radius:96rpx!important}.round-b-25{border-bottom-left-radius:100rpx!important;border-bottom-right-radius:100rpx!important}.round-l-0{border-top-left-radius:0rpx!important;border-bottom-left-radius:0rpx!important}.round-l-1{border-top-left-radius:4rpx!important;border-bottom-left-radius:4rpx!important}.round-l-2{border-top-left-radius:8rpx!important;border-bottom-left-radius:8rpx!important}.round-l-3{border-top-left-radius:12rpx!important;border-bottom-left-radius:12rpx!important}.round-l-4{border-top-left-radius:16rpx!important;border-bottom-left-radius:16rpx!important}.round-l-5{border-top-left-radius:20rpx!important;border-bottom-left-radius:20rpx!important}.round-l-6{border-top-left-radius:24rpx!important;border-bottom-left-radius:24rpx!important}.round-l-7{border-top-left-radius:28rpx!important;border-bottom-left-radius:28rpx!important}.round-l-8{border-top-left-radius:32rpx!important;border-bottom-left-radius:32rpx!important}.round-l-9{border-top-left-radius:36rpx!important;border-bottom-left-radius:36rpx!important}.round-l-10{border-top-left-radius:40rpx!important;border-bottom-left-radius:40rpx!important}.round-l-11{border-top-left-radius:44rpx!important;border-bottom-left-radius:44rpx!important}.round-l-12{border-top-left-radius:48rpx!important;border-bottom-left-radius:48rpx!important}.round-l-13{border-top-left-radius:52rpx!important;border-bottom-left-radius:52rpx!important}.round-l-14{border-top-left-radius:56rpx!important;border-bottom-left-radius:56rpx!important}.round-l-15{border-top-left-radius:60rpx!important;border-bottom-left-radius:60rpx!important}.round-l-16{border-top-left-radius:64rpx!important;border-bottom-left-radius:64rpx!important}.round-l-17{border-top-left-radius:68rpx!important;border-bottom-left-radius:68rpx!important}.round-l-18{border-top-left-radius:72rpx!important;border-bottom-left-radius:72rpx!important}.round-l-19{border-top-left-radius:76rpx!important;border-bottom-left-radius:76rpx!important}.round-l-20{border-top-left-radius:80rpx!important;border-bottom-left-radius:80rpx!important}.round-l-21{border-top-left-radius:84rpx!important;border-bottom-left-radius:84rpx!important}.round-l-22{border-top-left-radius:88rpx!important;border-bottom-left-radius:88rpx!important}.round-l-23{border-top-left-radius:92rpx!important;border-bottom-left-radius:92rpx!important}.round-l-24{border-top-left-radius:96rpx!important;border-bottom-left-radius:96rpx!important}.round-l-25{border-top-left-radius:100rpx!important;border-bottom-left-radius:100rpx!important}.round-r-0{border-top-right-radius:0rpx!important;border-bottom-right-radius:0rpx!important}.round-r-1{border-top-right-radius:4rpx!important;border-bottom-right-radius:4rpx!important}.round-r-2{border-top-right-radius:8rpx!important;border-bottom-right-radius:8rpx!important}.round-r-3{border-top-right-radius:12rpx!important;border-bottom-right-radius:12rpx!important}.round-r-4{border-top-right-radius:16rpx!important;border-bottom-right-radius:16rpx!important}.round-r-5{border-top-right-radius:20rpx!important;border-bottom-right-radius:20rpx!important}.round-r-6{border-top-right-radius:24rpx!important;border-bottom-right-radius:24rpx!important}.round-r-7{border-top-right-radius:28rpx!important;border-bottom-right-radius:28rpx!important}.round-r-8{border-top-right-radius:32rpx!important;border-bottom-right-radius:32rpx!important}.round-r-9{border-top-right-radius:36rpx!important;border-bottom-right-radius:36rpx!important}.round-r-10{border-top-right-radius:40rpx!important;border-bottom-right-radius:40rpx!important}.round-r-11{border-top-right-radius:44rpx!important;border-bottom-right-radius:44rpx!important}.round-r-12{border-top-right-radius:48rpx!important;border-bottom-right-radius:48rpx!important}.round-r-13{border-top-right-radius:52rpx!important;border-bottom-right-radius:52rpx!important}.round-r-14{border-top-right-radius:56rpx!important;border-bottom-right-radius:56rpx!important}.round-r-15{border-top-right-radius:60rpx!important;border-bottom-right-radius:60rpx!important}.round-r-16{border-top-right-radius:64rpx!important;border-bottom-right-radius:64rpx!important}.round-r-17{border-top-right-radius:68rpx!important;border-bottom-right-radius:68rpx!important}.round-r-18{border-top-right-radius:72rpx!important;border-bottom-right-radius:72rpx!important}.round-r-19{border-top-right-radius:76rpx!important;border-bottom-right-radius:76rpx!important}.round-r-20{border-top-right-radius:80rpx!important;border-bottom-right-radius:80rpx!important}.round-r-21{border-top-right-radius:84rpx!important;border-bottom-right-radius:84rpx!important}.round-r-22{border-top-right-radius:88rpx!important;border-bottom-right-radius:88rpx!important}.round-r-23{border-top-right-radius:92rpx!important;border-bottom-right-radius:92rpx!important}.round-r-24{border-top-right-radius:96rpx!important;border-bottom-right-radius:96rpx!important}.round-r-25{border-top-right-radius:100rpx!important;border-bottom-right-radius:100rpx!important}.round-0{border-radius:0rpx}.round-1{border-radius:4rpx}.round-2{border-radius:8rpx}.round-3{border-radius:12rpx}.round-4{border-radius:16rpx}.round-5{border-radius:20rpx}.round-6{border-radius:24rpx}.round-7{border-radius:28rpx}.round-8{border-radius:32rpx}.round-9{border-radius:36rpx}.round-10{border-radius:40rpx}.round-11{border-radius:44rpx}.round-12{border-radius:48rpx}.round-13{border-radius:52rpx}.round-14{border-radius:56rpx}.round-15{border-radius:60rpx}.round-16{border-radius:64rpx}.round-17{border-radius:68rpx}.round-18{border-radius:72rpx}.round-19{border-radius:76rpx}.round-20{border-radius:80rpx}.round-21{border-radius:84rpx}.round-22{border-radius:88rpx}.round-23{border-radius:92rpx}.round-24{border-radius:96rpx}.round-25{border-radius:100rpx}.round-26{border-radius:104rpx}.rounded{border-radius:50%!important}.opacity-0{opacity:0}.opacity-1{opacity:.1}.opacity-2{opacity:.2}.opacity-3{opacity:.3}.opacity-4{opacity:.4}.opacity-5{opacity:.5}.opacity-6{opacity:.6}.opacity-7{opacity:.7}.opacity-8{opacity:.8}.opacity-9{opacity:.9}.opacity-10{opacity:1}.shadow{box-shadow:0 2rpx 12rpx rgba(0,0,0,.08)}.shadow-0{box-shadow:0 0rpx 10rpx rgba(0,0,0,.08)}.shadow-1{box-shadow:0 2rpx 12rpx rgba(0,0,0,.08)}.shadow-2{box-shadow:0 4rpx 14rpx rgba(0,0,0,.08)}.shadow-3{box-shadow:0 6rpx 16rpx rgba(0,0,0,.08)}.shadow-4{box-shadow:0 8rpx 18rpx rgba(0,0,0,.08)}.shadow-5{box-shadow:0 10rpx 20rpx rgba(0,0,0,.08)}.shadow-6{box-shadow:0 12rpx 22rpx rgba(0,0,0,.08)}.shadow-7{box-shadow:0 14rpx 24rpx rgba(0,0,0,.08)}.shadow-8{box-shadow:0 16rpx 26rpx rgba(0,0,0,.08)}.shadow-9{box-shadow:0 18rpx 28rpx rgba(0,0,0,.08)}.shadow-10{box-shadow:0 20rpx 30rpx rgba(0,0,0,.08)}.shadow-11{box-shadow:0 22rpx 32rpx rgba(0,0,0,.08)}.shadow-12{box-shadow:0 24rpx 34rpx rgba(0,0,0,.08)}.shadow-13{box-shadow:0 26rpx 36rpx rgba(0,0,0,.08)}.shadow-14{box-shadow:0 28rpx 38rpx rgba(0,0,0,.08)}.shadow-15{box-shadow:0 30rpx 40rpx rgba(0,0,0,.08)}.shadow-16{box-shadow:0 32rpx 42rpx rgba(0,0,0,.08)}.shadow-17{box-shadow:0 34rpx 44rpx rgba(0,0,0,.08)}.shadow-18{box-shadow:0 36rpx 46rpx rgba(0,0,0,.08)}.shadow-19{box-shadow:0 38rpx 48rpx rgba(0,0,0,.08)}.shadow-20{box-shadow:0 40rpx 50rpx rgba(0,0,0,.08)}.shadow-21{box-shadow:0 42rpx 52rpx rgba(0,0,0,.08)}.shadow-22{box-shadow:0 44rpx 54rpx rgba(0,0,0,.08)}.shadow-23{box-shadow:0 46rpx 56rpx rgba(0,0,0,.08)}.shadow-24{box-shadow:0 48rpx 58rpx rgba(0,0,0,.08)}.shadow-25{box-shadow:0 50rpx 60rpx rgba(0,0,0,.08)}.border-0{border:solid 0rpx #f5f5f5!important}.border-0-bk{border:solid 0rpx #282828!important}.border{border:solid 2rpx #f5f5f5!important}.border-bk{border:solid 2rpx #282828!important}.border-1{border:solid 2px #f5f5f5!important}.border-1-bk{border:solid 2px #f5f5f5!important}.border-2{border:solid 4px #f5f5f5!important}.border-2-bk{border:solid 4px #f5f5f5!important}.border-3{border:solid 6px #f5f5f5!important}.border-3-bk{border:solid 6px #f5f5f5!important}.border-4{border:solid 8px #f5f5f5!important}.border-4-bk{border:solid 8px #f5f5f5!important}.border-5{border:solid 10px #f5f5f5!important}.border-5-bk{border:solid 10px #f5f5f5!important}.border-l-1{border-left:solid 2rpx #f5f5f5!important}.border-l-1-bk{border-left:solid 2rpx #282828!important}.border-l-2{border-left:solid 4rpx #f5f5f5!important}.border-l-2-bk{border-left:solid 4rpx #282828!important}.border-l-3{border-left:solid 6rpx #f5f5f5!important}.border-l-3-bk{border-left:solid 6rpx #282828!important}.border-l-4{border-left:solid 8rpx #f5f5f5!important}.border-l-4-bk{border-left:solid 8rpx #282828!important}.border-l-5{border-left:solid 10rpx #f5f5f5!important}.border-l-5-bk{border-left:solid 10rpx #282828!important}.border-r-1{border-right:solid 2rpx #f5f5f5!important}.border-r-1-bk{border-right:solid 2rpx #282828!important}.border-r-2{border-right:solid 4rpx #f5f5f5!important}.border-r-2-bk{border-right:solid 4rpx #282828!important}.border-r-3{border-right:solid 6rpx #f5f5f5!important}.border-r-3-bk{border-right:solid 6rpx #282828!important}.border-r-4{border-right:solid 8rpx #f5f5f5!important}.border-r-4-bk{border-right:solid 8rpx #282828!important}.border-r-5{border-right:solid 10rpx #f5f5f5!important}.border-r-5-bk{border-right:solid 10rpx #282828!important}.border-t-1{border-top:solid 2rpx #f5f5f5!important}.border-t-1-bk{border-top:solid 2rpx #282828!important}.border-t-2{border-top:solid 4rpx #f5f5f5!important}.border-t-2-bk{border-top:solid 4rpx #282828!important}.border-t-3{border-top:solid 6rpx #f5f5f5!important}.border-t-3-bk{border-top:solid 6rpx #282828!important}.border-t-4{border-top:solid 8rpx #f5f5f5!important}.border-t-4-bk{border-top:solid 8rpx #282828!important}.border-t-5{border-top:solid 10rpx #f5f5f5!important}.border-t-5-bk{border-top:solid 10rpx #282828!important}.border-b-1{border-bottom:solid 2rpx #f5f5f5!important}.border-b-1-bk{border-bottom:solid 2rpx #282828!important}.border-b-2{border-bottom:solid 4rpx #f5f5f5!important}.border-b-2-bk{border-bottom:solid 4rpx #282828!important}.border-b-3{border-bottom:solid 6rpx #f5f5f5!important}.border-b-3-bk{border-bottom:solid 6rpx #282828!important}.border-b-4{border-bottom:solid 8rpx #f5f5f5!important}.border-b-4-bk{border-bottom:solid 8rpx #282828!important}.border-b-5{border-bottom:solid 10rpx #f5f5f5!important}.border-b-5-bk{border-bottom:solid 10rpx #282828!important}.border-a-1{border:solid 2rpx #f5f5f5!important}.border-a-1-bk{border:solid 2rpx #282828!important}.border-a-2{border:solid 4rpx #f5f5f5!important}.border-a-2-bk{border:solid 4rpx #282828!important}.border-a-3{border:solid 6rpx #f5f5f5!important}.border-a-3-bk{border:solid 6rpx #282828!important}.border-a-4{border:solid 8rpx #f5f5f5!important}.border-a-4-bk{border:solid 8rpx #282828!important}.border-a-5{border:solid 10rpx #f5f5f5!important}.border-a-5-bk{border:solid 10rpx #282828!important}.pa-0{padding:0rpx}.pa-1{padding:1rpx}.pa-2{padding:2rpx}.pa-3{padding:3rpx}.pa-4{padding:4rpx}.pa-5{padding:5rpx}.pa-6{padding:6rpx}.pa-7{padding:7rpx}.pa-8{padding:8rpx}.pa-9{padding:9rpx}.pa-10{padding:10rpx}.pa-11{padding:11rpx}.pa-12{padding:12rpx}.pa-13{padding:13rpx}.pa-14{padding:14rpx}.pa-15{padding:15rpx}.pa-16{padding:16rpx}.pa-17{padding:17rpx}.pa-18{padding:18rpx}.pa-19{padding:19rpx}.pa-20{padding:20rpx}.pa-21{padding:21rpx}.pa-22{padding:22rpx}.pa-23{padding:23rpx}.pa-24{padding:24rpx}.pa-25{padding:25rpx}.pa-n1{padding:4rpx}.pa-n2{padding:8rpx}.pa-n3{padding:12rpx}.pa-n4{padding:16rpx}.pa-n5{padding:20rpx}.pa-n6{padding:24rpx}.pa-n7{padding:28rpx}.pa-n8{padding:32rpx}.pa-n9{padding:36rpx}.pa-n10{padding:40rpx}.pa-n11{padding:44rpx}.pa-n12{padding:48rpx}.pa-n13{padding:52rpx}.pa-n14{padding:56rpx}.pa-n15{padding:60rpx}.pa-n16{padding:64rpx}.pa-n17{padding:68rpx}.pa-n18{padding:72rpx}.pa-n19{padding:76rpx}.pa-n20{padding:80rpx}.pa-n21{padding:84rpx}.pa-n22{padding:88rpx}.pa-n23{padding:92rpx}.pa-n24{padding:96rpx}.pa-n25{padding:100rpx}.pt-0{padding-top:0rpx}.pt-1{padding-top:1rpx}.pt-2{padding-top:2rpx}.pt-3{padding-top:3rpx}.pt-4{padding-top:4rpx}.pt-5{padding-top:5rpx}.pt-6{padding-top:6rpx}.pt-7{padding-top:7rpx}.pt-8{padding-top:8rpx}.pt-9{padding-top:9rpx}.pt-10{padding-top:10rpx}.pt-11{padding-top:11rpx}.pt-12{padding-top:12rpx}.pt-13{padding-top:13rpx}.pt-14{padding-top:14rpx}.pt-15{padding-top:15rpx}.pt-16{padding-top:16rpx}.pt-17{padding-top:17rpx}.pt-18{padding-top:18rpx}.pt-19{padding-top:19rpx}.pt-20{padding-top:20rpx}.pt-21{padding-top:21rpx}.pt-22{padding-top:22rpx}.pt-23{padding-top:23rpx}.pt-24{padding-top:24rpx}.pt-25{padding-top:25rpx}.pt-n1{padding-top:4rpx}.pt-n2{padding-top:8rpx}.pt-n3{padding-top:12rpx}.pt-n4{padding-top:16rpx}.pt-n5{padding-top:20rpx}.pt-n6{padding-top:24rpx}.pt-n7{padding-top:28rpx}.pt-n8{padding-top:32rpx}.pt-n9{padding-top:36rpx}.pt-n10{padding-top:40rpx}.pt-n11{padding-top:44rpx}.pt-n12{padding-top:48rpx}.pt-n13{padding-top:52rpx}.pt-n14{padding-top:56rpx}.pt-n15{padding-top:60rpx}.pt-n16{padding-top:64rpx}.pt-n17{padding-top:68rpx}.pt-n18{padding-top:72rpx}.pt-n19{padding-top:76rpx}.pt-n20{padding-top:80rpx}.pt-n21{padding-top:84rpx}.pt-n22{padding-top:88rpx}.pt-n23{padding-top:92rpx}.pt-n24{padding-top:96rpx}.pt-n25{padding-top:100rpx}.pr-0{padding-right:0rpx}.pr-1{padding-right:1rpx}.pr-2{padding-right:2rpx}.pr-3{padding-right:3rpx}.pr-4{padding-right:4rpx}.pr-5{padding-right:5rpx}.pr-6{padding-right:6rpx}.pr-7{padding-right:7rpx}.pr-8{padding-right:8rpx}.pr-9{padding-right:9rpx}.pr-10{padding-right:10rpx}.pr-11{padding-right:11rpx}.pr-12{padding-right:12rpx}.pr-13{padding-right:13rpx}.pr-14{padding-right:14rpx}.pr-15{padding-right:15rpx}.pr-16{padding-right:16rpx}.pr-17{padding-right:17rpx}.pr-18{padding-right:18rpx}.pr-19{padding-right:19rpx}.pr-20{padding-right:20rpx}.pr-21{padding-right:21rpx}.pr-22{padding-right:22rpx}.pr-23{padding-right:23rpx}.pr-24{padding-right:24rpx}.pr-25{padding-right:25rpx}.pr-n1{padding-right:4rpx}.pr-n2{padding-right:8rpx}.pr-n3{padding-right:12rpx}.pr-n4{padding-right:16rpx}.pr-n5{padding-right:20rpx}.pr-n6{padding-right:24rpx}.pr-n7{padding-right:28rpx}.pr-n8{padding-right:32rpx}.pr-n9{padding-right:36rpx}.pr-n10{padding-right:40rpx}.pr-n11{padding-right:44rpx}.pr-n12{padding-right:48rpx}.pr-n13{padding-right:52rpx}.pr-n14{padding-right:56rpx}.pr-n15{padding-right:60rpx}.pr-n16{padding-right:64rpx}.pr-n17{padding-right:68rpx}.pr-n18{padding-right:72rpx}.pr-n19{padding-right:76rpx}.pr-n20{padding-right:80rpx}.pr-n21{padding-right:84rpx}.pr-n22{padding-right:88rpx}.pr-n23{padding-right:92rpx}.pr-n24{padding-right:96rpx}.pr-n25{padding-right:100rpx}.pb-0{padding-bottom:0rpx}.pb-1{padding-bottom:1rpx}.pb-2{padding-bottom:2rpx}.pb-3{padding-bottom:3rpx}.pb-4{padding-bottom:4rpx}.pb-5{padding-bottom:5rpx}.pb-6{padding-bottom:6rpx}.pb-7{padding-bottom:7rpx}.pb-8{padding-bottom:8rpx}.pb-9{padding-bottom:9rpx}.pb-10{padding-bottom:10rpx}.pb-11{padding-bottom:11rpx}.pb-12{padding-bottom:12rpx}.pb-13{padding-bottom:13rpx}.pb-14{padding-bottom:14rpx}.pb-15{padding-bottom:15rpx}.pb-16{padding-bottom:16rpx}.pb-17{padding-bottom:17rpx}.pb-18{padding-bottom:18rpx}.pb-19{padding-bottom:19rpx}.pb-20{padding-bottom:20rpx}.pb-21{padding-bottom:21rpx}.pb-22{padding-bottom:22rpx}.pb-23{padding-bottom:23rpx}.pb-24{padding-bottom:24rpx}.pb-25{padding-bottom:25rpx}.pb-n1{padding-bottom:4rpx}.pb-n2{padding-bottom:8rpx}.pb-n3{padding-bottom:12rpx}.pb-n4{padding-bottom:16rpx}.pb-n5{padding-bottom:20rpx}.pb-n6{padding-bottom:24rpx}.pb-n7{padding-bottom:28rpx}.pb-n8{padding-bottom:32rpx}.pb-n9{padding-bottom:36rpx}.pb-n10{padding-bottom:40rpx}.pb-n11{padding-bottom:44rpx}.pb-n12{padding-bottom:48rpx}.pb-n13{padding-bottom:52rpx}.pb-n14{padding-bottom:56rpx}.pb-n15{padding-bottom:60rpx}.pb-n16{padding-bottom:64rpx}.pb-n17{padding-bottom:68rpx}.pb-n18{padding-bottom:72rpx}.pb-n19{padding-bottom:76rpx}.pb-n20{padding-bottom:80rpx}.pb-n21{padding-bottom:84rpx}.pb-n22{padding-bottom:88rpx}.pb-n23{padding-bottom:92rpx}.pb-n24{padding-bottom:96rpx}.pb-n25{padding-bottom:100rpx}.pl-0{padding-left:0rpx}.pl-1{padding-left:1rpx}.pl-2{padding-left:2rpx}.pl-3{padding-left:3rpx}.pl-4{padding-left:4rpx}.pl-5{padding-left:5rpx}.pl-6{padding-left:6rpx}.pl-7{padding-left:7rpx}.pl-8{padding-left:8rpx}.pl-9{padding-left:9rpx}.pl-10{padding-left:10rpx}.pl-11{padding-left:11rpx}.pl-12{padding-left:12rpx}.pl-13{padding-left:13rpx}.pl-14{padding-left:14rpx}.pl-15{padding-left:15rpx}.pl-16{padding-left:16rpx}.pl-17{padding-left:17rpx}.pl-18{padding-left:18rpx}.pl-19{padding-left:19rpx}.pl-20{padding-left:20rpx}.pl-21{padding-left:21rpx}.pl-22{padding-left:22rpx}.pl-23{padding-left:23rpx}.pl-24{padding-left:24rpx}.pl-25{padding-left:25rpx}.pl-n1{padding-left:4rpx}.pl-n2{padding-left:8rpx}.pl-n3{padding-left:12rpx}.pl-n4{padding-left:16rpx}.pl-n5{padding-left:20rpx}.pl-n6{padding-left:24rpx}.pl-n7{padding-left:28rpx}.pl-n8{padding-left:32rpx}.pl-n9{padding-left:36rpx}.pl-n10{padding-left:40rpx}.pl-n11{padding-left:44rpx}.pl-n12{padding-left:48rpx}.pl-n13{padding-left:52rpx}.pl-n14{padding-left:56rpx}.pl-n15{padding-left:60rpx}.pl-n16{padding-left:64rpx}.pl-n17{padding-left:68rpx}.pl-n18{padding-left:72rpx}.pl-n19{padding-left:76rpx}.pl-n20{padding-left:80rpx}.pl-n21{padding-left:84rpx}.pl-n22{padding-left:88rpx}.pl-n23{padding-left:92rpx}.pl-n24{padding-left:96rpx}.pl-n25{padding-left:100rpx}.px-0{padding-left:0rpx;padding-right:0rpx}.px-1{padding-left:1rpx;padding-right:1rpx}.px-2{padding-left:2rpx;padding-right:2rpx}.px-3{padding-left:3rpx;padding-right:3rpx}.px-4{padding-left:4rpx;padding-right:4rpx}.px-5{padding-left:5rpx;padding-right:5rpx}.px-6{padding-left:6rpx;padding-right:6rpx}.px-7{padding-left:7rpx;padding-right:7rpx}.px-8{padding-left:8rpx;padding-right:8rpx}.px-9{padding-left:9rpx;padding-right:9rpx}.px-10{padding-left:10rpx;padding-right:10rpx}.px-11{padding-left:11rpx;padding-right:11rpx}.px-12{padding-left:12rpx;padding-right:12rpx}.px-13{padding-left:13rpx;padding-right:13rpx}.px-14{padding-left:14rpx;padding-right:14rpx}.px-15{padding-left:15rpx;padding-right:15rpx}.px-16{padding-left:16rpx;padding-right:16rpx}.px-17{padding-left:17rpx;padding-right:17rpx}.px-18{padding-left:18rpx;padding-right:18rpx}.px-19{padding-left:19rpx;padding-right:19rpx}.px-20{padding-left:20rpx;padding-right:20rpx}.px-21{padding-left:21rpx;padding-right:21rpx}.px-22{padding-left:22rpx;padding-right:22rpx}.px-23{padding-left:23rpx;padding-right:23rpx}.px-24{padding-left:24rpx;padding-right:24rpx}.px-25{padding-left:25rpx;padding-right:25rpx}.px-n1{padding-left:4rpx;padding-right:4rpx}.px-n2{padding-left:8rpx;padding-right:8rpx}.px-n3{padding-left:12rpx;padding-right:12rpx}.px-n4{padding-left:16rpx;padding-right:16rpx}.px-n5{padding-left:20rpx;padding-right:20rpx}.px-n6{padding-left:24rpx;padding-right:24rpx}.px-n7{padding-left:28rpx;padding-right:28rpx}.px-n8{padding-left:32rpx;padding-right:32rpx}.px-n9{padding-left:36rpx;padding-right:36rpx}.px-n10{padding-left:40rpx;padding-right:40rpx}.px-n11{padding-left:44rpx;padding-right:44rpx}.px-n12{padding-left:48rpx;padding-right:48rpx}.px-n13{padding-left:52rpx;padding-right:52rpx}.px-n14{padding-left:56rpx;padding-right:56rpx}.px-n15{padding-left:60rpx;padding-right:60rpx}.px-n16{padding-left:64rpx;padding-right:64rpx}.px-n17{padding-left:68rpx;padding-right:68rpx}.px-n18{padding-left:72rpx;padding-right:72rpx}.px-n19{padding-left:76rpx;padding-right:76rpx}.px-n20{padding-left:80rpx;padding-right:80rpx}.px-n21{padding-left:84rpx;padding-right:84rpx}.px-n22{padding-left:88rpx;padding-right:88rpx}.px-n23{padding-left:92rpx;padding-right:92rpx}.px-n24{padding-left:96rpx;padding-right:96rpx}.px-n25{padding-left:100rpx;padding-right:100rpx}.py-0{padding-top:0rpx;padding-bottom:0rpx}.py-1{padding-top:1rpx;padding-bottom:1rpx}.py-2{padding-top:2rpx;padding-bottom:2rpx}.py-3{padding-top:3rpx;padding-bottom:3rpx}.py-4{padding-top:4rpx;padding-bottom:4rpx}.py-5{padding-top:5rpx;padding-bottom:5rpx}.py-6{padding-top:6rpx;padding-bottom:6rpx}.py-7{padding-top:7rpx;padding-bottom:7rpx}.py-8{padding-top:8rpx;padding-bottom:8rpx}.py-9{padding-top:9rpx;padding-bottom:9rpx}.py-10{padding-top:10rpx;padding-bottom:10rpx}.py-11{padding-top:11rpx;padding-bottom:11rpx}.py-12{padding-top:12rpx;padding-bottom:12rpx}.py-13{padding-top:13rpx;padding-bottom:13rpx}.py-14{padding-top:14rpx;padding-bottom:14rpx}.py-15{padding-top:15rpx;padding-bottom:15rpx}.py-16{padding-top:16rpx;padding-bottom:16rpx}.py-17{padding-top:17rpx;padding-bottom:17rpx}.py-18{padding-top:18rpx;padding-bottom:18rpx}.py-19{padding-top:19rpx;padding-bottom:19rpx}.py-20{padding-top:20rpx;padding-bottom:20rpx}.py-21{padding-top:21rpx;padding-bottom:21rpx}.py-22{padding-top:22rpx;padding-bottom:22rpx}.py-23{padding-top:23rpx;padding-bottom:23rpx}.py-24{padding-top:24rpx;padding-bottom:24rpx}.py-25{padding-top:25rpx;padding-bottom:25rpx}.py-n1{padding-top:4rpx;padding-bottom:4rpx}.py-n2{padding-top:8rpx;padding-bottom:8rpx}.py-n3{padding-top:12rpx;padding-bottom:12rpx}.py-n4{padding-top:16rpx;padding-bottom:16rpx}.py-n5{padding-top:20rpx;padding-bottom:20rpx}.py-n6{padding-top:24rpx;padding-bottom:24rpx}.py-n7{padding-top:28rpx;padding-bottom:28rpx}.py-n8{padding-top:32rpx;padding-bottom:32rpx}.py-n9{padding-top:36rpx;padding-bottom:36rpx}.py-n10{padding-top:40rpx;padding-bottom:40rpx}.py-n11{padding-top:44rpx;padding-bottom:44rpx}.py-n12{padding-top:48rpx;padding-bottom:48rpx}.py-n13{padding-top:52rpx;padding-bottom:52rpx}.py-n14{padding-top:56rpx;padding-bottom:56rpx}.py-n15{padding-top:60rpx;padding-bottom:60rpx}.py-n16{padding-top:64rpx;padding-bottom:64rpx}.py-n17{padding-top:68rpx;padding-bottom:68rpx}.py-n18{padding-top:72rpx;padding-bottom:72rpx}.py-n19{padding-top:76rpx;padding-bottom:76rpx}.py-n20{padding-top:80rpx;padding-bottom:80rpx}.py-n21{padding-top:84rpx;padding-bottom:84rpx}.py-n22{padding-top:88rpx;padding-bottom:88rpx}.py-n23{padding-top:92rpx;padding-bottom:92rpx}.py-n24{padding-top:96rpx;padding-bottom:96rpx}.py-n25{padding-top:100rpx;padding-bottom:100rpx}.ma-0{margin:0rpx}.ma-1{margin:1rpx}.ma-2{margin:2rpx}.ma-3{margin:3rpx}.ma-4{margin:4rpx}.ma-5{margin:5rpx}.ma-6{margin:6rpx}.ma-7{margin:7rpx}.ma-8{margin:8rpx}.ma-9{margin:9rpx}.ma-10{margin:10rpx}.ma-11{margin:11rpx}.ma-12{margin:12rpx}.ma-13{margin:13rpx}.ma-14{margin:14rpx}.ma-15{margin:15rpx}.ma-16{margin:16rpx}.ma-17{margin:17rpx}.ma-18{margin:18rpx}.ma-19{margin:19rpx}.ma-20{margin:20rpx}.ma-21{margin:21rpx}.ma-22{margin:22rpx}.ma-23{margin:23rpx}.ma-24{margin:24rpx}.ma-25{margin:25rpx}.ma-n1{margin:4rpx}.ma-n2{margin:8rpx}.ma-n3{margin:12rpx}.ma-n4{margin:16rpx}.ma-n5{margin:20rpx}.ma-n6{margin:24rpx}.ma-n7{margin:28rpx}.ma-n8{margin:32rpx}.ma-n9{margin:36rpx}.ma-n10{margin:40rpx}.ma-n11{margin:44rpx}.ma-n12{margin:48rpx}.ma-n13{margin:52rpx}.ma-n14{margin:56rpx}.ma-n15{margin:60rpx}.ma-n16{margin:64rpx}.ma-n17{margin:68rpx}.ma-n18{margin:72rpx}.ma-n19{margin:76rpx}.ma-n20{margin:80rpx}.ma-n21{margin:84rpx}.ma-n22{margin:88rpx}.ma-n23{margin:92rpx}.ma-n24{margin:96rpx}.ma-n25{margin:100rpx}.mt-0{margin-top:0rpx}.mt--0{margin-top:0rpx}.mt-1{margin-top:1rpx}.mt--1{margin-top:-1rpx}.mt-2{margin-top:2rpx}.mt--2{margin-top:-2rpx}.mt-3{margin-top:3rpx}.mt--3{margin-top:-3rpx}.mt-4{margin-top:4rpx}.mt--4{margin-top:-4rpx}.mt-5{margin-top:5rpx}.mt--5{margin-top:-5rpx}.mt-6{margin-top:6rpx}.mt--6{margin-top:-6rpx}.mt-7{margin-top:7rpx}.mt--7{margin-top:-7rpx}.mt-8{margin-top:8rpx}.mt--8{margin-top:-8rpx}.mt-9{margin-top:9rpx}.mt--9{margin-top:-9rpx}.mt-10{margin-top:10rpx}.mt--10{margin-top:-10rpx}.mt-11{margin-top:11rpx}.mt--11{margin-top:-11rpx}.mt-12{margin-top:12rpx}.mt--12{margin-top:-12rpx}.mt-13{margin-top:13rpx}.mt--13{margin-top:-13rpx}.mt-14{margin-top:14rpx}.mt--14{margin-top:-14rpx}.mt-15{margin-top:15rpx}.mt--15{margin-top:-15rpx}.mt-16{margin-top:16rpx}.mt--16{margin-top:-16rpx}.mt-17{margin-top:17rpx}.mt--17{margin-top:-17rpx}.mt-18{margin-top:18rpx}.mt--18{margin-top:-18rpx}.mt-19{margin-top:19rpx}.mt--19{margin-top:-19rpx}.mt-20{margin-top:20rpx}.mt--20{margin-top:-20rpx}.mt-21{margin-top:21rpx}.mt--21{margin-top:-21rpx}.mt-22{margin-top:22rpx}.mt--22{margin-top:-22rpx}.mt-23{margin-top:23rpx}.mt--23{margin-top:-23rpx}.mt-24{margin-top:24rpx}.mt--24{margin-top:-24rpx}.mt-25{margin-top:25rpx}.mt--25{margin-top:-25rpx}.mt-n1{margin-top:4rpx}.mt--n1{margin-top:-4rpx}.mt-n2{margin-top:8rpx}.mt--n2{margin-top:-8rpx}.mt-n3{margin-top:12rpx}.mt--n3{margin-top:-12rpx}.mt-n4{margin-top:16rpx}.mt--n4{margin-top:-16rpx}.mt-n5{margin-top:20rpx}.mt--n5{margin-top:-20rpx}.mt-n6{margin-top:24rpx}.mt--n6{margin-top:-24rpx}.mt-n7{margin-top:28rpx}.mt--n7{margin-top:-28rpx}.mt-n8{margin-top:32rpx}.mt--n8{margin-top:-32rpx}.mt-n9{margin-top:36rpx}.mt--n9{margin-top:-36rpx}.mt-n10{margin-top:40rpx}.mt--n10{margin-top:-40rpx}.mt-n11{margin-top:44rpx}.mt--n11{margin-top:-44rpx}.mt-n12{margin-top:48rpx}.mt--n12{margin-top:-48rpx}.mt-n13{margin-top:52rpx}.mt--n13{margin-top:-52rpx}.mt-n14{margin-top:56rpx}.mt--n14{margin-top:-56rpx}.mt-n15{margin-top:60rpx}.mt--n15{margin-top:-60rpx}.mt-n16{margin-top:64rpx}.mt--n16{margin-top:-64rpx}.mt-n17{margin-top:68rpx}.mt--n17{margin-top:-68rpx}.mt-n18{margin-top:72rpx}.mt--n18{margin-top:-72rpx}.mt-n19{margin-top:76rpx}.mt--n19{margin-top:-76rpx}.mt-n20{margin-top:80rpx}.mt--n20{margin-top:-80rpx}.mt-n21{margin-top:84rpx}.mt--n21{margin-top:-84rpx}.mt-n22{margin-top:88rpx}.mt--n22{margin-top:-88rpx}.mt-n23{margin-top:92rpx}.mt--n23{margin-top:-92rpx}.mt-n24{margin-top:96rpx}.mt--n24{margin-top:-96rpx}.mt-n25{margin-top:100rpx}.mt--n25{margin-top:-100rpx}.mr-0{margin-right:0rpx}.mr--0{margin-right:0rpx}.mr-1{margin-right:1rpx}.mr--1{margin-right:-1rpx}.mr-2{margin-right:2rpx}.mr--2{margin-right:-2rpx}.mr-3{margin-right:3rpx}.mr--3{margin-right:-3rpx}.mr-4{margin-right:4rpx}.mr--4{margin-right:-4rpx}.mr-5{margin-right:5rpx}.mr--5{margin-right:-5rpx}.mr-6{margin-right:6rpx}.mr--6{margin-right:-6rpx}.mr-7{margin-right:7rpx}.mr--7{margin-right:-7rpx}.mr-8{margin-right:8rpx}.mr--8{margin-right:-8rpx}.mr-9{margin-right:9rpx}.mr--9{margin-right:-9rpx}.mr-10{margin-right:10rpx}.mr--10{margin-right:-10rpx}.mr-11{margin-right:11rpx}.mr--11{margin-right:-11rpx}.mr-12{margin-right:12rpx}.mr--12{margin-right:-12rpx}.mr-13{margin-right:13rpx}.mr--13{margin-right:-13rpx}.mr-14{margin-right:14rpx}.mr--14{margin-right:-14rpx}.mr-15{margin-right:15rpx}.mr--15{margin-right:-15rpx}.mr-16{margin-right:16rpx}.mr--16{margin-right:-16rpx}.mr-17{margin-right:17rpx}.mr--17{margin-right:-17rpx}.mr-18{margin-right:18rpx}.mr--18{margin-right:-18rpx}.mr-19{margin-right:19rpx}.mr--19{margin-right:-19rpx}.mr-20{margin-right:20rpx}.mr--20{margin-right:-20rpx}.mr-21{margin-right:21rpx}.mr--21{margin-right:-21rpx}.mr-22{margin-right:22rpx}.mr--22{margin-right:-22rpx}.mr-23{margin-right:23rpx}.mr--23{margin-right:-23rpx}.mr-24{margin-right:24rpx}.mr--24{margin-right:-24rpx}.mr-25{margin-right:25rpx}.mr--25{margin-right:-25rpx}.mr-n1{margin-right:4rpx}.mr--n1{margin-right:-4rpx}.mr-n2{margin-right:8rpx}.mr--n2{margin-right:-8rpx}.mr-n3{margin-right:12rpx}.mr--n3{margin-right:-12rpx}.mr-n4{margin-right:16rpx}.mr--n4{margin-right:-16rpx}.mr-n5{margin-right:20rpx}.mr--n5{margin-right:-20rpx}.mr-n6{margin-right:24rpx}.mr--n6{margin-right:-24rpx}.mr-n7{margin-right:28rpx}.mr--n7{margin-right:-28rpx}.mr-n8{margin-right:32rpx}.mr--n8{margin-right:-32rpx}.mr-n9{margin-right:36rpx}.mr--n9{margin-right:-36rpx}.mr-n10{margin-right:40rpx}.mr--n10{margin-right:-40rpx}.mr-n11{margin-right:44rpx}.mr--n11{margin-right:-44rpx}.mr-n12{margin-right:48rpx}.mr--n12{margin-right:-48rpx}.mr-n13{margin-right:52rpx}.mr--n13{margin-right:-52rpx}.mr-n14{margin-right:56rpx}.mr--n14{margin-right:-56rpx}.mr-n15{margin-right:60rpx}.mr--n15{margin-right:-60rpx}.mr-n16{margin-right:64rpx}.mr--n16{margin-right:-64rpx}.mr-n17{margin-right:68rpx}.mr--n17{margin-right:-68rpx}.mr-n18{margin-right:72rpx}.mr--n18{margin-right:-72rpx}.mr-n19{margin-right:76rpx}.mr--n19{margin-right:-76rpx}.mr-n20{margin-right:80rpx}.mr--n20{margin-right:-80rpx}.mr-n21{margin-right:84rpx}.mr--n21{margin-right:-84rpx}.mr-n22{margin-right:88rpx}.mr--n22{margin-right:-88rpx}.mr-n23{margin-right:92rpx}.mr--n23{margin-right:-92rpx}.mr-n24{margin-right:96rpx}.mr--n24{margin-right:-96rpx}.mr-n25{margin-right:100rpx}.mr--n25{margin-right:-100rpx}.mb-0{margin-bottom:0rpx}.mb--0{margin-bottom:0rpx}.mb-1{margin-bottom:1rpx}.mb--1{margin-bottom:-1rpx}.mb-2{margin-bottom:2rpx}.mb--2{margin-bottom:-2rpx}.mb-3{margin-bottom:3rpx}.mb--3{margin-bottom:-3rpx}.mb-4{margin-bottom:4rpx}.mb--4{margin-bottom:-4rpx}.mb-5{margin-bottom:5rpx}.mb--5{margin-bottom:-5rpx}.mb-6{margin-bottom:6rpx}.mb--6{margin-bottom:-6rpx}.mb-7{margin-bottom:7rpx}.mb--7{margin-bottom:-7rpx}.mb-8{margin-bottom:8rpx}.mb--8{margin-bottom:-8rpx}.mb-9{margin-bottom:9rpx}.mb--9{margin-bottom:-9rpx}.mb-10{margin-bottom:10rpx}.mb--10{margin-bottom:-10rpx}.mb-11{margin-bottom:11rpx}.mb--11{margin-bottom:-11rpx}.mb-12{margin-bottom:12rpx}.mb--12{margin-bottom:-12rpx}.mb-13{margin-bottom:13rpx}.mb--13{margin-bottom:-13rpx}.mb-14{margin-bottom:14rpx}.mb--14{margin-bottom:-14rpx}.mb-15{margin-bottom:15rpx}.mb--15{margin-bottom:-15rpx}.mb-16{margin-bottom:16rpx}.mb--16{margin-bottom:-16rpx}.mb-17{margin-bottom:17rpx}.mb--17{margin-bottom:-17rpx}.mb-18{margin-bottom:18rpx}.mb--18{margin-bottom:-18rpx}.mb-19{margin-bottom:19rpx}.mb--19{margin-bottom:-19rpx}.mb-20{margin-bottom:20rpx}.mb--20{margin-bottom:-20rpx}.mb-21{margin-bottom:21rpx}.mb--21{margin-bottom:-21rpx}.mb-22{margin-bottom:22rpx}.mb--22{margin-bottom:-22rpx}.mb-23{margin-bottom:23rpx}.mb--23{margin-bottom:-23rpx}.mb-24{margin-bottom:24rpx}.mb--24{margin-bottom:-24rpx}.mb-25{margin-bottom:25rpx}.mb--25{margin-bottom:-25rpx}.mb-n1{margin-bottom:4rpx}.mb--n1{margin-bottom:-4rpx}.mb-n2{margin-bottom:8rpx}.mb--n2{margin-bottom:-8rpx}.mb-n3{margin-bottom:12rpx}.mb--n3{margin-bottom:-12rpx}.mb-n4{margin-bottom:16rpx}.mb--n4{margin-bottom:-16rpx}.mb-n5{margin-bottom:20rpx}.mb--n5{margin-bottom:-20rpx}.mb-n6{margin-bottom:24rpx}.mb--n6{margin-bottom:-24rpx}.mb-n7{margin-bottom:28rpx}.mb--n7{margin-bottom:-28rpx}.mb-n8{margin-bottom:32rpx}.mb--n8{margin-bottom:-32rpx}.mb-n9{margin-bottom:36rpx}.mb--n9{margin-bottom:-36rpx}.mb-n10{margin-bottom:40rpx}.mb--n10{margin-bottom:-40rpx}.mb-n11{margin-bottom:44rpx}.mb--n11{margin-bottom:-44rpx}.mb-n12{margin-bottom:48rpx}.mb--n12{margin-bottom:-48rpx}.mb-n13{margin-bottom:52rpx}.mb--n13{margin-bottom:-52rpx}.mb-n14{margin-bottom:56rpx}.mb--n14{margin-bottom:-56rpx}.mb-n15{margin-bottom:60rpx}.mb--n15{margin-bottom:-60rpx}.mb-n16{margin-bottom:64rpx}.mb--n16{margin-bottom:-64rpx}.mb-n17{margin-bottom:68rpx}.mb--n17{margin-bottom:-68rpx}.mb-n18{margin-bottom:72rpx}.mb--n18{margin-bottom:-72rpx}.mb-n19{margin-bottom:76rpx}.mb--n19{margin-bottom:-76rpx}.mb-n20{margin-bottom:80rpx}.mb--n20{margin-bottom:-80rpx}.mb-n21{margin-bottom:84rpx}.mb--n21{margin-bottom:-84rpx}.mb-n22{margin-bottom:88rpx}.mb--n22{margin-bottom:-88rpx}.mb-n23{margin-bottom:92rpx}.mb--n23{margin-bottom:-92rpx}.mb-n24{margin-bottom:96rpx}.mb--n24{margin-bottom:-96rpx}.mb-n25{margin-bottom:100rpx}.mb--n25{margin-bottom:-100rpx}.ml-0{margin-left:0rpx}.ml--0{margin-left:0rpx}.ml-1{margin-left:1rpx}.ml--1{margin-left:-1rpx}.ml-2{margin-left:2rpx}.ml--2{margin-left:-2rpx}.ml-3{margin-left:3rpx}.ml--3{margin-left:-3rpx}.ml-4{margin-left:4rpx}.ml--4{margin-left:-4rpx}.ml-5{margin-left:5rpx}.ml--5{margin-left:-5rpx}.ml-6{margin-left:6rpx}.ml--6{margin-left:-6rpx}.ml-7{margin-left:7rpx}.ml--7{margin-left:-7rpx}.ml-8{margin-left:8rpx}.ml--8{margin-left:-8rpx}.ml-9{margin-left:9rpx}.ml--9{margin-left:-9rpx}.ml-10{margin-left:10rpx}.ml--10{margin-left:-10rpx}.ml-11{margin-left:11rpx}.ml--11{margin-left:-11rpx}.ml-12{margin-left:12rpx}.ml--12{margin-left:-12rpx}.ml-13{margin-left:13rpx}.ml--13{margin-left:-13rpx}.ml-14{margin-left:14rpx}.ml--14{margin-left:-14rpx}.ml-15{margin-left:15rpx}.ml--15{margin-left:-15rpx}.ml-16{margin-left:16rpx}.ml--16{margin-left:-16rpx}.ml-17{margin-left:17rpx}.ml--17{margin-left:-17rpx}.ml-18{margin-left:18rpx}.ml--18{margin-left:-18rpx}.ml-19{margin-left:19rpx}.ml--19{margin-left:-19rpx}.ml-20{margin-left:20rpx}.ml--20{margin-left:-20rpx}.ml-21{margin-left:21rpx}.ml--21{margin-left:-21rpx}.ml-22{margin-left:22rpx}.ml--22{margin-left:-22rpx}.ml-23{margin-left:23rpx}.ml--23{margin-left:-23rpx}.ml-24{margin-left:24rpx}.ml--24{margin-left:-24rpx}.ml-25{margin-left:25rpx}.ml--25{margin-left:-25rpx}.ml-n1{margin-left:4rpx}.ml--n1{margin-left:-4rpx}.ml-n2{margin-left:8rpx}.ml--n2{margin-left:-8rpx}.ml-n3{margin-left:12rpx}.ml--n3{margin-left:-12rpx}.ml-n4{margin-left:16rpx}.ml--n4{margin-left:-16rpx}.ml-n5{margin-left:20rpx}.ml--n5{margin-left:-20rpx}.ml-n6{margin-left:24rpx}.ml--n6{margin-left:-24rpx}.ml-n7{margin-left:28rpx}.ml--n7{margin-left:-28rpx}.ml-n8{margin-left:32rpx}.ml--n8{margin-left:-32rpx}.ml-n9{margin-left:36rpx}.ml--n9{margin-left:-36rpx}.ml-n10{margin-left:40rpx}.ml--n10{margin-left:-40rpx}.ml-n11{margin-left:44rpx}.ml--n11{margin-left:-44rpx}.ml-n12{margin-left:48rpx}.ml--n12{margin-left:-48rpx}.ml-n13{margin-left:52rpx}.ml--n13{margin-left:-52rpx}.ml-n14{margin-left:56rpx}.ml--n14{margin-left:-56rpx}.ml-n15{margin-left:60rpx}.ml--n15{margin-left:-60rpx}.ml-n16{margin-left:64rpx}.ml--n16{margin-left:-64rpx}.ml-n17{margin-left:68rpx}.ml--n17{margin-left:-68rpx}.ml-n18{margin-left:72rpx}.ml--n18{margin-left:-72rpx}.ml-n19{margin-left:76rpx}.ml--n19{margin-left:-76rpx}.ml-n20{margin-left:80rpx}.ml--n20{margin-left:-80rpx}.ml-n21{margin-left:84rpx}.ml--n21{margin-left:-84rpx}.ml-n22{margin-left:88rpx}.ml--n22{margin-left:-88rpx}.ml-n23{margin-left:92rpx}.ml--n23{margin-left:-92rpx}.ml-n24{margin-left:96rpx}.ml--n24{margin-left:-96rpx}.ml-n25{margin-left:100rpx}.ml--n25{margin-left:-100rpx}.mx-0{margin-left:0rpx;margin-right:0rpx}.mx-1{margin-left:1rpx;margin-right:1rpx}.mx-2{margin-left:2rpx;margin-right:2rpx}.mx-3{margin-left:3rpx;margin-right:3rpx}.mx-4{margin-left:4rpx;margin-right:4rpx}.mx-5{margin-left:5rpx;margin-right:5rpx}.mx-6{margin-left:6rpx;margin-right:6rpx}.mx-7{margin-left:7rpx;margin-right:7rpx}.mx-8{margin-left:8rpx;margin-right:8rpx}.mx-9{margin-left:9rpx;margin-right:9rpx}.mx-10{margin-left:10rpx;margin-right:10rpx}.mx-11{margin-left:11rpx;margin-right:11rpx}.mx-12{margin-left:12rpx;margin-right:12rpx}.mx-13{margin-left:13rpx;margin-right:13rpx}.mx-14{margin-left:14rpx;margin-right:14rpx}.mx-15{margin-left:15rpx;margin-right:15rpx}.mx-16{margin-left:16rpx;margin-right:16rpx}.mx-17{margin-left:17rpx;margin-right:17rpx}.mx-18{margin-left:18rpx;margin-right:18rpx}.mx-19{margin-left:19rpx;margin-right:19rpx}.mx-20{margin-left:20rpx;margin-right:20rpx}.mx-21{margin-left:21rpx;margin-right:21rpx}.mx-22{margin-left:22rpx;margin-right:22rpx}.mx-23{margin-left:23rpx;margin-right:23rpx}.mx-24{margin-left:24rpx;margin-right:24rpx}.mx-25{margin-left:25rpx;margin-right:25rpx}.mx-n1{margin-left:4rpx;margin-right:4rpx}.mx-n2{margin-left:8rpx;margin-right:8rpx}.mx-n3{margin-left:12rpx;margin-right:12rpx}.mx-n4{margin-left:16rpx;margin-right:16rpx}.mx-n5{margin-left:20rpx;margin-right:20rpx}.mx-n6{margin-left:24rpx;margin-right:24rpx}.mx-n7{margin-left:28rpx;margin-right:28rpx}.mx-n8{margin-left:32rpx;margin-right:32rpx}.mx-n9{margin-left:36rpx;margin-right:36rpx}.mx-n10{margin-left:40rpx;margin-right:40rpx}.mx-n11{margin-left:44rpx;margin-right:44rpx}.mx-n12{margin-left:48rpx;margin-right:48rpx}.mx-n13{margin-left:52rpx;margin-right:52rpx}.mx-n14{margin-left:56rpx;margin-right:56rpx}.mx-n15{margin-left:60rpx;margin-right:60rpx}.mx-n16{margin-left:64rpx;margin-right:64rpx}.mx-n17{margin-left:68rpx;margin-right:68rpx}.mx-n18{margin-left:72rpx;margin-right:72rpx}.mx-n19{margin-left:76rpx;margin-right:76rpx}.mx-n20{margin-left:80rpx;margin-right:80rpx}.mx-n21{margin-left:84rpx;margin-right:84rpx}.mx-n22{margin-left:88rpx;margin-right:88rpx}.mx-n23{margin-left:92rpx;margin-right:92rpx}.mx-n24{margin-left:96rpx;margin-right:96rpx}.mx-n25{margin-left:100rpx;margin-right:100rpx}.my-0{margin-top:0rpx;margin-bottom:0rpx}.my-1{margin-top:1rpx;margin-bottom:1rpx}.my-2{margin-top:2rpx;margin-bottom:2rpx}.my-3{margin-top:3rpx;margin-bottom:3rpx}.my-4{margin-top:4rpx;margin-bottom:4rpx}.my-5{margin-top:5rpx;margin-bottom:5rpx}.my-6{margin-top:6rpx;margin-bottom:6rpx}.my-7{margin-top:7rpx;margin-bottom:7rpx}.my-8{margin-top:8rpx;margin-bottom:8rpx}.my-9{margin-top:9rpx;margin-bottom:9rpx}.my-10{margin-top:10rpx;margin-bottom:10rpx}.my-11{margin-top:11rpx;margin-bottom:11rpx}.my-12{margin-top:12rpx;margin-bottom:12rpx}.my-13{margin-top:13rpx;margin-bottom:13rpx}.my-14{margin-top:14rpx;margin-bottom:14rpx}.my-15{margin-top:15rpx;margin-bottom:15rpx}.my-16{margin-top:16rpx;margin-bottom:16rpx}.my-17{margin-top:17rpx;margin-bottom:17rpx}.my-18{margin-top:18rpx;margin-bottom:18rpx}.my-19{margin-top:19rpx;margin-bottom:19rpx}.my-20{margin-top:20rpx;margin-bottom:20rpx}.my-21{margin-top:21rpx;margin-bottom:21rpx}.my-22{margin-top:22rpx;margin-bottom:22rpx}.my-23{margin-top:23rpx;margin-bottom:23rpx}.my-24{margin-top:24rpx;margin-bottom:24rpx}.my-25{margin-top:25rpx;margin-bottom:25rpx}.my-n1{margin-top:4rpx;margin-bottom:4rpx}.my-n2{margin-top:8rpx;margin-bottom:8rpx}.my-n3{margin-top:12rpx;margin-bottom:12rpx}.my-n4{margin-top:16rpx;margin-bottom:16rpx}.my-n5{margin-top:20rpx;margin-bottom:20rpx}.my-n6{margin-top:24rpx;margin-bottom:24rpx}.my-n7{margin-top:28rpx;margin-bottom:28rpx}.my-n8{margin-top:32rpx;margin-bottom:32rpx}.my-n9{margin-top:36rpx;margin-bottom:36rpx}.my-n10{margin-top:40rpx;margin-bottom:40rpx}.my-n11{margin-top:44rpx;margin-bottom:44rpx}.my-n12{margin-top:48rpx;margin-bottom:48rpx}.my-n13{margin-top:52rpx;margin-bottom:52rpx}.my-n14{margin-top:56rpx;margin-bottom:56rpx}.my-n15{margin-top:60rpx;margin-bottom:60rpx}.my-n16{margin-top:64rpx;margin-bottom:64rpx}.my-n17{margin-top:68rpx;margin-bottom:68rpx}.my-n18{margin-top:72rpx;margin-bottom:72rpx}.my-n19{margin-top:76rpx;margin-bottom:76rpx}.my-n20{margin-top:80rpx;margin-bottom:80rpx}.my-n21{margin-top:84rpx;margin-bottom:84rpx}.my-n22{margin-top:88rpx;margin-bottom:88rpx}.my-n23{margin-top:92rpx;margin-bottom:92rpx}.my-n24{margin-top:96rpx;margin-bottom:96rpx}.my-n25{margin-top:100rpx;margin-bottom:100rpx}.t-0{top:0rpx}.t--0{top:0rpx}.t-1{top:1rpx}.t--1{top:-1rpx}.t-2{top:2rpx}.t--2{top:-2rpx}.t-3{top:3rpx}.t--3{top:-3rpx}.t-4{top:4rpx}.t--4{top:-4rpx}.t-5{top:5rpx}.t--5{top:-5rpx}.t-6{top:6rpx}.t--6{top:-6rpx}.t-7{top:7rpx}.t--7{top:-7rpx}.t-8{top:8rpx}.t--8{top:-8rpx}.t-9{top:9rpx}.t--9{top:-9rpx}.t-10{top:10rpx}.t--10{top:-10rpx}.t-11{top:11rpx}.t--11{top:-11rpx}.t-12{top:12rpx}.t--12{top:-12rpx}.t-13{top:13rpx}.t--13{top:-13rpx}.t-14{top:14rpx}.t--14{top:-14rpx}.t-15{top:15rpx}.t--15{top:-15rpx}.t-16{top:16rpx}.t--16{top:-16rpx}.t-17{top:17rpx}.t--17{top:-17rpx}.t-18{top:18rpx}.t--18{top:-18rpx}.t-19{top:19rpx}.t--19{top:-19rpx}.t-20{top:20rpx}.t--20{top:-20rpx}.t-21{top:21rpx}.t--21{top:-21rpx}.t-22{top:22rpx}.t--22{top:-22rpx}.t-23{top:23rpx}.t--23{top:-23rpx}.t-24{top:24rpx}.t--24{top:-24rpx}.t-25{top:25rpx}.t--25{top:-25rpx}.t-n1{top:4rpx}.t--n1{top:-4rpx}.t-n2{top:8rpx}.t--n2{top:-8rpx}.t-n3{top:12rpx}.t--n3{top:-12rpx}.t-n4{top:16rpx}.t--n4{top:-16rpx}.t-n5{top:20rpx}.t--n5{top:-20rpx}.t-n6{top:24rpx}.t--n6{top:-24rpx}.t-n7{top:28rpx}.t--n7{top:-28rpx}.t-n8{top:32rpx}.t--n8{top:-32rpx}.t-n9{top:36rpx}.t--n9{top:-36rpx}.t-n10{top:40rpx}.t--n10{top:-40rpx}.t-n11{top:44rpx}.t--n11{top:-44rpx}.t-n12{top:48rpx}.t--n12{top:-48rpx}.t-n13{top:52rpx}.t--n13{top:-52rpx}.t-n14{top:56rpx}.t--n14{top:-56rpx}.t-n15{top:60rpx}.t--n15{top:-60rpx}.t-n16{top:64rpx}.t--n16{top:-64rpx}.t-n17{top:68rpx}.t--n17{top:-68rpx}.t-n18{top:72rpx}.t--n18{top:-72rpx}.t-n19{top:76rpx}.t--n19{top:-76rpx}.t-n20{top:80rpx}.t--n20{top:-80rpx}.t-n21{top:84rpx}.t--n21{top:-84rpx}.t-n22{top:88rpx}.t--n22{top:-88rpx}.t-n23{top:92rpx}.t--n23{top:-92rpx}.t-n24{top:96rpx}.t--n24{top:-96rpx}.t-n25{top:100rpx}.t--n25{top:-100rpx}.r-0{right:0rpx}.r--0{right:0rpx}.r-1{right:1rpx}.r--1{right:-1rpx}.r-2{right:2rpx}.r--2{right:-2rpx}.r-3{right:3rpx}.r--3{right:-3rpx}.r-4{right:4rpx}.r--4{right:-4rpx}.r-5{right:5rpx}.r--5{right:-5rpx}.r-6{right:6rpx}.r--6{right:-6rpx}.r-7{right:7rpx}.r--7{right:-7rpx}.r-8{right:8rpx}.r--8{right:-8rpx}.r-9{right:9rpx}.r--9{right:-9rpx}.r-10{right:10rpx}.r--10{right:-10rpx}.r-11{right:11rpx}.r--11{right:-11rpx}.r-12{right:12rpx}.r--12{right:-12rpx}.r-13{right:13rpx}.r--13{right:-13rpx}.r-14{right:14rpx}.r--14{right:-14rpx}.r-15{right:15rpx}.r--15{right:-15rpx}.r-16{right:16rpx}.r--16{right:-16rpx}.r-17{right:17rpx}.r--17{right:-17rpx}.r-18{right:18rpx}.r--18{right:-18rpx}.r-19{right:19rpx}.r--19{right:-19rpx}.r-20{right:20rpx}.r--20{right:-20rpx}.r-21{right:21rpx}.r--21{right:-21rpx}.r-22{right:22rpx}.r--22{right:-22rpx}.r-23{right:23rpx}.r--23{right:-23rpx}.r-24{right:24rpx}.r--24{right:-24rpx}.r-25{right:25rpx}.r--25{right:-25rpx}.r-n1{right:4rpx}.r--n1{right:-4rpx}.r-n2{right:8rpx}.r--n2{right:-8rpx}.r-n3{right:12rpx}.r--n3{right:-12rpx}.r-n4{right:16rpx}.r--n4{right:-16rpx}.r-n5{right:20rpx}.r--n5{right:-20rpx}.r-n6{right:24rpx}.r--n6{right:-24rpx}.r-n7{right:28rpx}.r--n7{right:-28rpx}.r-n8{right:32rpx}.r--n8{right:-32rpx}.r-n9{right:36rpx}.r--n9{right:-36rpx}.r-n10{right:40rpx}.r--n10{right:-40rpx}.r-n11{right:44rpx}.r--n11{right:-44rpx}.r-n12{right:48rpx}.r--n12{right:-48rpx}.r-n13{right:52rpx}.r--n13{right:-52rpx}.r-n14{right:56rpx}.r--n14{right:-56rpx}.r-n15{right:60rpx}.r--n15{right:-60rpx}.r-n16{right:64rpx}.r--n16{right:-64rpx}.r-n17{right:68rpx}.r--n17{right:-68rpx}.r-n18{right:72rpx}.r--n18{right:-72rpx}.r-n19{right:76rpx}.r--n19{right:-76rpx}.r-n20{right:80rpx}.r--n20{right:-80rpx}.r-n21{right:84rpx}.r--n21{right:-84rpx}.r-n22{right:88rpx}.r--n22{right:-88rpx}.r-n23{right:92rpx}.r--n23{right:-92rpx}.r-n24{right:96rpx}.r--n24{right:-96rpx}.r-n25{right:100rpx}.r--n25{right:-100rpx}.b-0{bottom:0rpx}.b--0{bottom:0rpx}.b-1{bottom:1rpx}.b--1{bottom:-1rpx}.b-2{bottom:2rpx}.b--2{bottom:-2rpx}.b-3{bottom:3rpx}.b--3{bottom:-3rpx}.b-4{bottom:4rpx}.b--4{bottom:-4rpx}.b-5{bottom:5rpx}.b--5{bottom:-5rpx}.b-6{bottom:6rpx}.b--6{bottom:-6rpx}.b-7{bottom:7rpx}.b--7{bottom:-7rpx}.b-8{bottom:8rpx}.b--8{bottom:-8rpx}.b-9{bottom:9rpx}.b--9{bottom:-9rpx}.b-10{bottom:10rpx}.b--10{bottom:-10rpx}.b-11{bottom:11rpx}.b--11{bottom:-11rpx}.b-12{bottom:12rpx}.b--12{bottom:-12rpx}.b-13{bottom:13rpx}.b--13{bottom:-13rpx}.b-14{bottom:14rpx}.b--14{bottom:-14rpx}.b-15{bottom:15rpx}.b--15{bottom:-15rpx}.b-16{bottom:16rpx}.b--16{bottom:-16rpx}.b-17{bottom:17rpx}.b--17{bottom:-17rpx}.b-18{bottom:18rpx}.b--18{bottom:-18rpx}.b-19{bottom:19rpx}.b--19{bottom:-19rpx}.b-20{bottom:20rpx}.b--20{bottom:-20rpx}.b-21{bottom:21rpx}.b--21{bottom:-21rpx}.b-22{bottom:22rpx}.b--22{bottom:-22rpx}.b-23{bottom:23rpx}.b--23{bottom:-23rpx}.b-24{bottom:24rpx}.b--24{bottom:-24rpx}.b-25{bottom:25rpx}.b--25{bottom:-25rpx}.b-n1{bottom:4rpx}.b--n1{bottom:-4rpx}.b-n2{bottom:8rpx}.b--n2{bottom:-8rpx}.b-n3{bottom:12rpx}.b--n3{bottom:-12rpx}.b-n4{bottom:16rpx}.b--n4{bottom:-16rpx}.b-n5{bottom:20rpx}.b--n5{bottom:-20rpx}.b-n6{bottom:24rpx}.b--n6{bottom:-24rpx}.b-n7{bottom:28rpx}.b--n7{bottom:-28rpx}.b-n8{bottom:32rpx}.b--n8{bottom:-32rpx}.b-n9{bottom:36rpx}.b--n9{bottom:-36rpx}.b-n10{bottom:40rpx}.b--n10{bottom:-40rpx}.b-n11{bottom:44rpx}.b--n11{bottom:-44rpx}.b-n12{bottom:48rpx}.b--n12{bottom:-48rpx}.b-n13{bottom:52rpx}.b--n13{bottom:-52rpx}.b-n14{bottom:56rpx}.b--n14{bottom:-56rpx}.b-n15{bottom:60rpx}.b--n15{bottom:-60rpx}.b-n16{bottom:64rpx}.b--n16{bottom:-64rpx}.b-n17{bottom:68rpx}.b--n17{bottom:-68rpx}.b-n18{bottom:72rpx}.b--n18{bottom:-72rpx}.b-n19{bottom:76rpx}.b--n19{bottom:-76rpx}.b-n20{bottom:80rpx}.b--n20{bottom:-80rpx}.b-n21{bottom:84rpx}.b--n21{bottom:-84rpx}.b-n22{bottom:88rpx}.b--n22{bottom:-88rpx}.b-n23{bottom:92rpx}.b--n23{bottom:-92rpx}.b-n24{bottom:96rpx}.b--n24{bottom:-96rpx}.b-n25{bottom:100rpx}.b--n25{bottom:-100rpx}.l-0{left:0rpx}.l--0{left:0rpx}.l-1{left:1rpx}.l--1{left:-1rpx}.l-2{left:2rpx}.l--2{left:-2rpx}.l-3{left:3rpx}.l--3{left:-3rpx}.l-4{left:4rpx}.l--4{left:-4rpx}.l-5{left:5rpx}.l--5{left:-5rpx}.l-6{left:6rpx}.l--6{left:-6rpx}.l-7{left:7rpx}.l--7{left:-7rpx}.l-8{left:8rpx}.l--8{left:-8rpx}.l-9{left:9rpx}.l--9{left:-9rpx}.l-10{left:10rpx}.l--10{left:-10rpx}.l-11{left:11rpx}.l--11{left:-11rpx}.l-12{left:12rpx}.l--12{left:-12rpx}.l-13{left:13rpx}.l--13{left:-13rpx}.l-14{left:14rpx}.l--14{left:-14rpx}.l-15{left:15rpx}.l--15{left:-15rpx}.l-16{left:16rpx}.l--16{left:-16rpx}.l-17{left:17rpx}.l--17{left:-17rpx}.l-18{left:18rpx}.l--18{left:-18rpx}.l-19{left:19rpx}.l--19{left:-19rpx}.l-20{left:20rpx}.l--20{left:-20rpx}.l-21{left:21rpx}.l--21{left:-21rpx}.l-22{left:22rpx}.l--22{left:-22rpx}.l-23{left:23rpx}.l--23{left:-23rpx}.l-24{left:24rpx}.l--24{left:-24rpx}.l-25{left:25rpx}.l--25{left:-25rpx}.l-n1{left:4rpx}.l--n1{left:-4rpx}.l-n2{left:8rpx}.l--n2{left:-8rpx}.l-n3{left:12rpx}.l--n3{left:-12rpx}.l-n4{left:16rpx}.l--n4{left:-16rpx}.l-n5{left:20rpx}.l--n5{left:-20rpx}.l-n6{left:24rpx}.l--n6{left:-24rpx}.l-n7{left:28rpx}.l--n7{left:-28rpx}.l-n8{left:32rpx}.l--n8{left:-32rpx}.l-n9{left:36rpx}.l--n9{left:-36rpx}.l-n10{left:40rpx}.l--n10{left:-40rpx}.l-n11{left:44rpx}.l--n11{left:-44rpx}.l-n12{left:48rpx}.l--n12{left:-48rpx}.l-n13{left:52rpx}.l--n13{left:-52rpx}.l-n14{left:56rpx}.l--n14{left:-56rpx}.l-n15{left:60rpx}.l--n15{left:-60rpx}.l-n16{left:64rpx}.l--n16{left:-64rpx}.l-n17{left:68rpx}.l--n17{left:-68rpx}.l-n18{left:72rpx}.l--n18{left:-72rpx}.l-n19{left:76rpx}.l--n19{left:-76rpx}.l-n20{left:80rpx}.l--n20{left:-80rpx}.l-n21{left:84rpx}.l--n21{left:-84rpx}.l-n22{left:88rpx}.l--n22{left:-88rpx}.l-n23{left:92rpx}.l--n23{left:-92rpx}.l-n24{left:96rpx}.l--n24{left:-96rpx}.l-n25{left:100rpx}.l--n25{left:-100rpx}.grid{display:grid!important}.grid-col-1{grid-template-columns:repeat(1,1fr)}.grid-col-2{grid-template-columns:repeat(2,1fr)}.grid-col-3{grid-template-columns:repeat(3,1fr)}.grid-col-4{grid-template-columns:repeat(4,1fr)}.grid-col-5{grid-template-columns:repeat(5,1fr)}.grid-col-6{grid-template-columns:repeat(6,1fr)}.grid-col-7{grid-template-columns:repeat(7,1fr)}.grid-col-8{grid-template-columns:repeat(8,1fr)}.grid-col-9{grid-template-columns:repeat(9,1fr)}.grid-col-10{grid-template-columns:repeat(10,1fr)}.grid-col-11{grid-template-columns:repeat(11,1fr)}.gap-1{gap:2rpx}.gap-col-1{grid-column-gap:2rpx}.gap-row-1{grid-row-gap:2rpx}.gap-2{gap:4rpx}.gap-col-2{grid-column-gap:4rpx}.gap-row-2{grid-row-gap:4rpx}.gap-3{gap:6rpx}.gap-col-3{grid-column-gap:6rpx}.gap-row-3{grid-row-gap:6rpx}.gap-4{gap:8rpx}.gap-col-4{grid-column-gap:8rpx}.gap-row-4{grid-row-gap:8rpx}.gap-5{gap:10rpx}.gap-col-5{grid-column-gap:10rpx}.gap-row-5{grid-row-gap:10rpx}.gap-6{gap:12rpx}.gap-col-6{grid-column-gap:12rpx}.gap-row-6{grid-row-gap:12rpx}.gap-7{gap:14rpx}.gap-col-7{grid-column-gap:14rpx}.gap-row-7{grid-row-gap:14rpx}.gap-8{gap:16rpx}.gap-col-8{grid-column-gap:16rpx}.gap-row-8{grid-row-gap:16rpx}.gap-9{gap:18rpx}.gap-col-9{grid-column-gap:18rpx}.gap-row-9{grid-row-gap:18rpx}.gap-10{gap:20rpx}.gap-col-10{grid-column-gap:20rpx}.gap-row-10{grid-row-gap:20rpx}.gap-11{gap:22rpx}.gap-col-11{grid-column-gap:22rpx}.gap-row-11{grid-row-gap:22rpx}.gap-12{gap:24rpx}.gap-col-12{grid-column-gap:24rpx}.gap-row-12{grid-row-gap:24rpx}.gap-13{gap:26rpx}.gap-col-13{grid-column-gap:26rpx}.gap-row-13{grid-row-gap:26rpx}.gap-14{gap:28rpx}.gap-col-14{grid-column-gap:28rpx}.gap-row-14{grid-row-gap:28rpx}.gap-15{gap:30rpx}.gap-col-15{grid-column-gap:30rpx}.gap-row-15{grid-row-gap:30rpx}.gap-16{gap:32rpx}.gap-col-16{grid-column-gap:32rpx}.gap-row-16{grid-row-gap:32rpx}.gap-17{gap:34rpx}.gap-col-17{grid-column-gap:34rpx}.gap-row-17{grid-row-gap:34rpx}.gap-18{gap:36rpx}.gap-col-18{grid-column-gap:36rpx}.gap-row-18{grid-row-gap:36rpx}.gap-19{gap:38rpx}.gap-col-19{grid-column-gap:38rpx}.gap-row-19{grid-row-gap:38rpx}.gap-20{gap:40rpx}.gap-col-20{grid-column-gap:40rpx}.gap-row-20{grid-row-gap:40rpx}.gap-21{gap:42rpx}.gap-col-21{grid-column-gap:42rpx}.gap-row-21{grid-row-gap:42rpx}.gap-22{gap:44rpx}.gap-col-22{grid-column-gap:44rpx}.gap-row-22{grid-row-gap:44rpx}.gap-23{gap:46rpx}.gap-col-23{grid-column-gap:46rpx}.gap-row-23{grid-row-gap:46rpx}.gap-24{gap:48rpx}.gap-col-24{grid-column-gap:48rpx}.gap-row-24{grid-row-gap:48rpx}.gap-25{gap:50rpx}.gap-col-25{grid-column-gap:50rpx}.gap-row-25{grid-row-gap:50rpx}.flex{display:flex!important}.flex-col{flex-direction:column!important}.flex-wrap{flex-flow:row wrap!important}.flex-shrink{flex-shrink:0!important}.flex-row{flex-direction:row!important}.flex-reverse{flex-direction:row-reverse!important}.flex-row-top-start{justify-content:flex-start!important;align-items:flex-start!important;align-content:center;display:flex!important}.flex-row-top-center{justify-content:center!important;align-items:flex-start!important;align-content:center;display:flex!important}.flex-row-top-end{justify-content:flex-end!important;align-items:flex-start!important;align-content:center;display:flex!important}.flex-row-center-start{justify-content:flex-start!important;align-items:center!important;align-content:center;display:flex!important}.flex-row-center-center{justify-content:center!important;align-items:center!important;align-content:center;display:flex!important}.flex-row-center-end{justify-content:flex-end!important;align-items:center!important;align-content:center;display:flex!important}.flex-row-bottom-start{justify-content:flex-start!important;align-items:flex-end!important;align-content:center;display:flex!important}.flex-row-bottom-center{justify-content:center!important;align-items:flex-end!important;align-content:center;display:flex!important}.flex-row-bottom-end{justify-content:flex-end!important;align-items:flex-end!important;align-content:center;display:flex!important}.flex-row-center-between{justify-content:space-between!important;align-items:center!important;align-content:center;display:flex!important}.flex-col-top-start{justify-content:flex-start!important;align-items:flex-start!important;align-content:center;display:flex!important}.flex-col-top-center{justify-content:flex-start!important;align-items:center!important;align-content:center;display:flex!important}.flex-col-top-end{justify-content:flex-start!important;align-items:flex-end!important;align-content:center;display:flex!important}.flex-col-center-start{justify-content:center!important;align-items:flex-start!important;align-content:center;display:flex!important}.flex-col-center-center{justify-content:center!important;align-items:center!important;align-content:center;display:flex!important}.flex-col-center-end{justify-content:center!important;align-items:flex-end!important;align-content:center;display:flex!important}.flex-col-bottom-start{justify-content:flex-end!important;align-items:flex-start!important;align-content:center;display:flex!important}.flex-col-bottom-center{justify-content:flex-end!important;align-items:center!important;align-content:center;display:flex!important}.flex-col-bottom-end{justify-content:flex-end!important;align-items:flex-end!important;align-content:center;display:flex!important}.flex-start{justify-content:flex-start!important;align-items:center!important;align-content:center;display:flex!important}.flex-end{justify-content:flex-end!important;align-items:center!important;align-content:center;display:flex!important}.flex-center{justify-content:center!important;align-items:center!important;align-content:center;display:flex!important}.flex-between{justify-content:space-between}.flex-col-full{flex-direction:column;align-items:stretch}.flex-around{justify-content:space-around}.flex-row-baseline-start{justify-content:flex-start!important;align-items:baseline!important;align-content:center;align-content:center;display:flex!important}.flex-row-baseline-center{justify-content:center!important;align-items:baseline!important;align-content:center;align-content:center;display:flex!important}.flex-row-baseline-end{justify-content:flex-end!important;align-items:baseline!important;align-content:center;align-content:center;display:flex!important}.flex-0{flex-grow:0!important}.flex-1{flex-grow:1!important}.flex-2{flex-grow:2!important}.flex-3{flex-grow:3!important}.flex-4{flex-grow:4!important}.flex-5{flex-grow:5!important}.flex-6{flex-grow:6!important}.flex-7{flex-grow:7!important}.flex-8{flex-grow:8!important}.flex-9{flex-grow:9!important}.flex-10{flex-grow:10!important}.flex-11{flex-grow:11!important}.flex-12{flex-grow:12!important}.text-red{color:#f44336!important}.red{background-color:#f44336}.text-pink{color:#e91e63!important}.pink{background-color:#e91e63}.text-purple{color:#9c27b0!important}.purple{background-color:#9c27b0}.text-deep-purple{color:#673ab7!important}.deep-purple{background-color:#673ab7}.text-indigo{color:#3f51b5!important}.indigo{background-color:#3f51b5}.text-blue{color:#2196f3!important}.blue{background-color:#2196f3}.text-light-blue{color:#03a9f4!important}.light-blue{background-color:#03a9f4}.text-cyan{color:#00bcd4!important}.cyan{background-color:#00bcd4}.text-teal{color:#009688!important}.teal{background-color:#009688}.text-green{color:#4caf50!important}.green{background-color:#4caf50}.text-light-green{color:#8bc34a!important}.light-green{background-color:#8bc34a}.text-lime{color:#cddc39!important}.lime{background-color:#cddc39}.text-yellow{color:#ffeb3b!important}.yellow{background-color:#ffeb3b}.text-amber{color:#ffc107!important}.amber{background-color:#ffc107}.text-orange{color:#ff9800!important}.orange{background-color:#ff9800}.text-deep-orange{color:#ff5722!important}.deep-orange{background-color:#ff5722}.text-brown{color:#795548!important}.brown{background-color:#795548}.text-blue-grey{color:#607d8b!important}.blue-grey{background-color:#607d8b}.text-grey{color:#9e9e9e!important}.grey{background-color:#9e9e9e}.text-black{color:#000!important}.black{background-color:#000}.text-white{color:#fff!important}.white{background-color:#fff}.text-lighten-5{color:#fafafa!important}.lighten-5{background-color:#fafafa}.text-lighten-4{color:#f5f5f5!important}.lighten-4{background-color:#f5f5f5}.text-lighten-3{color:#eee!important}.lighten-3{background-color:#eee}.text-lighten-2{color:#e0e0e0!important}.lighten-2{background-color:#e0e0e0}.text-lighten-1{color:#bdbdbd!important}.lighten-1{background-color:#bdbdbd}.text-darken-1{color:#757575!important}.darken-1{background-color:#757575}.text-darken-2{color:#616161!important}.darken-2{background-color:#616161}.text-darken-3{color:#424242!important}.darken-3{background-color:#424242}.text-darken-4{color:#212121!important}.darken-4{background-color:#212121}.text-darken-5{color:#131313!important}.darken-5{background-color:#131313}.text-darken-6{color:#0a0a0a!important}.darken-6{background-color:#0a0a0a}
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/css/tmui.scss b/src/uni_modules/tm-ui/css/tmui.scss
new file mode 100644
index 0000000..5f1b5eb
--- /dev/null
+++ b/src/uni_modules/tm-ui/css/tmui.scss
@@ -0,0 +1,757 @@
+
+.uni-input-input[type="password"]::-ms-reveal {
+ display: none
+ }
+.tableHeader .uni-scroll-view::-webkit-scrollbar,
+.tableHeader .uni-scroll-view::-webkit-scrollbar {
+ display: none;
+}
+
+
+.safe-height {
+ height: var(--window-bottom);
+}
+
+.safe-top {
+ height: var(--window-top);
+}
+
+.safe-statusbar {
+ height: var(--status-bar-height);
+}
+
+.blur {
+ backdrop-filter: blur(10px);
+ background-color: rgba(0, 0, 0, 0.3);
+}
+
+.pointer {
+ cursor: pointer;
+}
+
+.pointer:hover {
+ opacity: 0.7;
+}
+
+
+
+// 溢出隐藏。
+.overflow {
+ overflow: hidden;
+}
+
+
+.overflow-x {
+ overflow-x: hidden;
+ overflow-y: auto;
+}
+
+.overflow-y {
+ overflow-x: auto;
+ overflow-y: hidden;
+}
+
+
+$v_position: (
+ relative: relative,
+ absolute: absolute,
+ fixed: fixed,
+ sticky: sticky
+);
+
+@each $name,
+$key in $v_position {
+ .#{$name} {
+ position: $key !important;
+ }
+}
+
+
+.fulled-height {
+ display: flex;
+ align-items: stretch;
+}
+
+
+.clear {
+ clear: both;
+}
+
+.fulled {
+ width: 100%;
+ display: block;
+}
+
+.fulled-height {
+ height: 100%;
+ display: block;
+}
+
+.gray-100 {
+ filter: grayscale(100%);
+}
+
+.gray {
+ filter: grayscale(25%);
+}
+
+.d-inline-block {
+ display: inline-block !important;
+}
+
+.d-block {
+ display: block;
+}
+
+// 元素内联对齐 。vertical-align:top,middle,bottom
+@each $name,
+$key in (top: top, middle: middle, bottom: bottom) {
+ .vertical-align-#{$name} {
+ vertical-align: $key;
+ }
+}
+
+.wrap {
+ white-space: pre-wrap;
+ word-break: break-all;
+}
+
+.nowrap {
+ white-space: nowrap;
+}
+
+// 元素内联对齐 。vertical-align:top,middle,bottom
+@each $name,
+$key in (top: top, middle: middle, bottom: bottom) {
+ .vertical-align-#{$name} {
+ vertical-align: $key;
+ }
+}
+
+
+@for $i from 0 through 26 {
+ .zIndex-#{$i} {
+ z-index: #{$i * 1};
+ }
+
+ .zIndex-n#{$i} {
+ z-index: #{$i * 4};
+ }
+}
+
+// 文本缩略。
+
+@mixin text-overflow($width: 100%, $display: block, $space: nowrap) {
+ width: $width;
+ display: $display;
+ white-space: $space;
+ overflow: hidden;
+
+}
+
+.text-overflow {
+ @include text-overflow();
+ text-overflow: ellipsis;
+}
+
+// 多行文本缩略。text-overflow-行:数字
+@for $i from 1 to 5 {
+ .text-overflow-#{$i} {
+ @include text-overflow(100%, -webkit-box, inherit);
+ -webkit-line-clamp: $i;
+ -webkit-box-orient: vertical;
+ text-overflow: ellipsis;
+ }
+}
+
+
+// 删除线.
+.text-delete {
+ text-decoration: line-through;
+}
+
+// 下划线
+.text-underline {
+ text-decoration: underline;
+}
+
+// 文本大小 。text-size-xs大小名称,xxs,xs,s,n,g,lg,xl
+@each $name,
+$key in (xxs: 20rpx, xs: 22rpx, s: 24rpx, m: 28rpx, n: 30rpx, g: 34rpx, lg: 36rpx, xl: 40rpx) {
+
+ .text-size-#{$name} {
+ font-size: $key;
+ }
+}
+
+// 文本加粗text-weight-s,n,b
+@each $name,
+$key in (s: 100, n: 400, b: 700) {
+ .text-weight-#{$name} {
+ font-weight: $key;
+ }
+}
+
+// 文本对齐 。text-align-left,right,center
+@each $name,
+$key in (left: left, right: right, center: center) {
+ .text-align-#{$name} {
+ text-align: $key;
+ }
+}
+
+// 圆角半径
+
+// 圆角说明 round-方向-大小。
+// tl,顶左,tr顶右。bt底左,br底右。a全部。t:顶左和顶右,b:底左和底右,l:顶左和底左,r:顶右,底右。
+@each $name,
+$key in (tl: 'tl', tr: 'tr', bl: 'bl', br: 'br', a: 'a', t: 't', b: 'b', l: 'l', r: 'r') {
+ @for $i from 0 to 26 {
+ .round-#{$name}-#{$i} {
+ @if $key=='tl' {
+ border-top-left-radius: #{$i * 4}rpx !important;
+ }
+
+ @if $key=='tr' {
+ border-top-right-radius: #{$i * 4}rpx !important;
+ }
+
+ @if $key=='bl' {
+ border-bottom-left-radius: #{$i * 4}rpx !important;
+ }
+
+ @if $key=='br' {
+ border-bottom-right-radius: #{$i * 4}rpx !important;
+ }
+
+ @if $key=='t' {
+ border-top-left-radius: #{$i * 4}rpx !important;
+ border-top-right-radius: #{$i * 4}rpx !important;
+ }
+
+ @if $key=='b' {
+ border-bottom-left-radius: #{$i * 4}rpx !important;
+ border-bottom-right-radius: #{$i * 4}rpx !important;
+ }
+
+ @if $key=='l' {
+ border-top-left-radius: #{$i * 4}rpx !important;
+ border-bottom-left-radius: #{$i * 4}rpx !important;
+ }
+
+ @if $key=='r' {
+ border-top-right-radius: #{$i * 4}rpx !important;
+ border-bottom-right-radius: #{$i * 4}rpx !important;
+ }
+
+ @if $key=='a' {
+ border-radius: #{$i * 4}rpx !important;
+ }
+ }
+ }
+}
+
+// 从0-100的圆角round-数字
+@for $i from 0 through 26 {
+ .round-#{$i} {
+ border-radius: #{$i * 4}rpx;
+ }
+}
+
+// 50%的半圆角rounded圆角50%
+.rounded {
+ border-radius: 50% !important;
+}
+
+// 透明度opacity-[1-10]
+@for $i from 0 to 11 {
+ .opacity-#{$i} {
+ @if $i>0 and $i<10 {
+ opacity: $i / 10;
+ }
+
+ @if $i==0 {
+ opacity: 0;
+ }
+
+ @if $i==10 {
+ opacity: 1;
+ }
+ }
+}
+
+.shadow {
+ box-shadow: 0 2rpx 12rpx rgba($color: rgba(0, 0, 0, 1), $alpha: 0.08);
+}
+
+@for $i from 0 to 26 {
+ .shadow-#{$i} {
+ box-shadow: 0 #{$i * 2}rpx #{$i * 2+10}rpx rgba($color: rgba(0, 0, 0, 1), $alpha: 0.08);
+ }
+}
+
+
+// 添加边线 最大5
+@for $i from 0 to 6 {
+ @if $i==0 {
+ .border-0 {
+ border: solid 0rpx #f5f5f5 !important;
+ }
+
+ .border-0-bk {
+ border: solid 0rpx #282828 !important;
+ }
+
+ .border {
+ border: solid 2rpx #f5f5f5 !important;
+ }
+
+ .border-bk {
+ border: solid 2rpx #282828 !important;
+ }
+ }
+
+ @if $i>0 {
+ .border-#{$i} {
+ border: solid #{$i * 2}px #f5f5f5 !important;
+ }
+
+ .border-#{$i}-bk {
+ border: solid #{$i * 2}px #f5f5f5 !important;
+ }
+ }
+}
+
+// 边线格式1:border-方向t,r,l,b-宽度
+@each $name,
+$key in (l: 'left', r: 'right', t: 'top', b: 'bottom', a: 'a') {
+ @for $i from 1 to 6 {
+ .border-#{$name}-#{$i} {
+ @if $key=='a' {
+ border: solid #{$i * 2}rpx opacify($color: #f5f5f5, $amount: 1) !important;
+ }
+
+ @if $key !='a' {
+ border-#{$key}: solid #{$i * 2}rpx opacify($color: #f5f5f5, $amount: 1) !important;
+ }
+ }
+
+ .border-#{$name}-#{$i}-bk {
+ @if $key=='a' {
+ border: solid #{$i * 2}rpx rgba($color: #282828, $alpha: 1) !important;
+ }
+
+ @if $key !='a' {
+ border-#{$key}: solid #{$i * 2}rpx rgba($color: #282828, $alpha: 1) !important;
+ }
+ }
+ }
+}
+
+// 内间距。p[a,t,r,b,l,x,y]如:pa表示所有边距,px:左右,py:上下,pr:右边距
+@each $name,
+$key in (a: 'padding', t: 'padding-top', r: 'padding-right', b: 'padding-bottom', l: 'padding-left', x: 'x', y: 'y') {
+ @for $i from 0 to 26 {
+ @if $key !='x' and $key !='y' {
+ .p#{$name}-#{$i} {
+ #{$key}: #{$i}rpx;
+ }
+ }
+
+ @if $key=='x' {
+ .px-#{$i} {
+ padding-left: #{$i}rpx;
+ padding-right: #{$i}rpx;
+ }
+ }
+
+ @if $key=='y' {
+ .py-#{$i} {
+ padding-top: #{$i}rpx;
+ padding-bottom: #{$i}rpx;
+ }
+ }
+ }
+
+ @for $i from 1 to 26 {
+ @if $key !='x' and $key !='y' {
+ .p#{$name}-n#{$i} {
+ #{$key}: #{$i * 4}rpx;
+ }
+ }
+
+ @if $key=='x' {
+ .px-n#{$i} {
+ padding-left: #{$i * 4}rpx;
+ padding-right: #{$i * 4}rpx;
+ }
+ }
+
+ @if $key=='y' {
+ .py-n#{$i} {
+ padding-top: #{$i * 4}rpx;
+ padding-bottom: #{$i * 4}rpx;
+ }
+ }
+ }
+}
+
+// 外间距。m[a,t,r,b,l,x,y]如:ma表示所有外边距,mx:左右,my:上下,mr:右边距
+@each $name,
+$key in (a: 'margin', t: 'margin-top', r: 'margin-right', b: 'margin-bottom', l: 'margin-left', x: 'x', y: 'y') {
+ @for $i from 0 to 26 {
+ @if $key !='x' and $key !='y' {
+ .m#{$name}-#{$i} {
+ #{$key}: #{$i}rpx;
+ }
+
+ @if $key !='margin' {
+ .m#{$name}--#{$i} {
+ #{$key}: -#{$i}rpx;
+ }
+ }
+ }
+
+ @if $key=='x' {
+ .mx-#{$i} {
+ margin-left: #{$i}rpx;
+ margin-right: #{$i}rpx;
+ }
+ }
+
+ @if $key=='y' {
+ .my-#{$i} {
+ margin-top: #{$i}rpx;
+ margin-bottom: #{$i}rpx;
+ }
+ }
+ }
+
+ @for $i from 1 to 26 {
+ @if $key !='x' and $key !='y' {
+ .m#{$name}-n#{$i} {
+ #{$key}: #{$i * 4}rpx;
+ }
+
+ @if $key !='margin' {
+ .m#{$name}--n#{$i} {
+ #{$key}: -#{$i * 4}rpx;
+ }
+ }
+ }
+
+ @if $key=='x' {
+ .mx-n#{$i} {
+ margin-left: #{$i * 4}rpx;
+ margin-right: #{$i * 4}rpx;
+ }
+ }
+
+ @if $key=='y' {
+ .my-n#{$i} {
+ margin-top: #{$i * 4}rpx;
+ margin-bottom: #{$i * 4}rpx;
+ }
+ }
+ }
+}
+
+// 位置。
+@each $name,
+$key in (t: 'top', r: 'right', b: 'bottom', l: 'left') {
+ @for $i from 0 to 26 {
+ .#{$name}-#{$i} {
+ #{$key}: #{$i}rpx;
+ }
+
+ .#{$name}--#{$i} {
+ #{$key}: -#{$i}rpx;
+ }
+ }
+
+ @for $i from 1 to 26 {
+ .#{$name}-n#{$i} {
+ #{$key}: #{$i * 4}rpx;
+ }
+
+ .#{$name}--n#{$i} {
+ #{$key}: -#{$i * 4}rpx;
+ }
+ }
+}
+
+.grid{
+ display: grid !important;
+}
+@for $i from 1 to 12 {
+ .grid-col-#{$i} {
+ grid-template-columns: repeat(#{$i * 1},1fr);
+ }
+}
+@for $i from 1 to 26 {
+ .gap-#{$i} {
+ gap: #{$i * 2}rpx;
+ }
+ .gap-col-#{$i} {
+ grid-column-gap: #{$i * 2}rpx;
+ }
+ .gap-row-#{$i} {
+ grid-row-gap: #{$i * 2}rpx;
+ }
+}
+
+
+// Flex辅助。
+@mixin dsplay-flex($justify, $items, $content) {
+ justify-content: $justify !important;
+ align-items: $items !important;
+ align-content: $content;
+ display: flex !important;
+}
+
+// 布局。flex-top-start,flex-top-center,flex-top-end,flex-start,flex-end,flex-center,flex-between,flex-around
+// flex-end-left,flex-end-center,flex-end-right
+.flex {
+ display: flex !important;
+}
+
+
+
+.flex-col {
+ flex-direction: column !important;
+}
+
+.flex-wrap {
+ flex-flow: row wrap !important;
+}
+
+/* #ifndef APP-PLUS-NVUE */
+.flex-shrink {
+ flex-shrink: 0 !important;
+}
+
+/* #endif */
+.flex-row {
+ flex-direction: row !important;
+}
+
+.flex-reverse {
+ flex-direction: row-reverse !important;
+}
+
+//row模式下,上左对齐
+.flex-row-top-start {
+ @include dsplay-flex(flex-start, flex-start, center);
+}
+
+//row模式下,上中对齐
+.flex-row-top-center {
+ @include dsplay-flex(center, flex-start, center);
+}
+
+//row模式下,上右对齐
+.flex-row-top-end {
+ @include dsplay-flex(flex-end, flex-start, center);
+}
+
+//row模式下,中左对齐
+.flex-row-center-start {
+ @include dsplay-flex(flex-start, center, center);
+}
+
+//row模式下,中中对齐
+.flex-row-center-center {
+ @include dsplay-flex(center, center, center);
+}
+
+//row模式下,上右对齐
+.flex-row-center-end {
+ @include dsplay-flex(flex-end, center, center);
+}
+
+//row模式下,下左对齐
+.flex-row-bottom-start {
+ @include dsplay-flex(flex-start, flex-end, center);
+}
+
+//row模式下,下中对齐
+.flex-row-bottom-center {
+ @include dsplay-flex(center, flex-end, center);
+}
+
+//row模式下,下右对齐
+.flex-row-bottom-end {
+ @include dsplay-flex(flex-end, flex-end, center);
+}
+
+//上下居中,两边对齐。
+.flex-row-center-between {
+ @include dsplay-flex(space-between, center, center);
+}
+
+//--------
+//col模式下,上左对齐
+.flex-col-top-start {
+ @include dsplay-flex(flex-start, flex-start, center);
+}
+
+//col模式下,上中对齐
+.flex-col-top-center {
+ @include dsplay-flex(flex-start, center, center);
+}
+
+//col模式下,上右对齐
+.flex-col-top-end {
+ @include dsplay-flex(flex-start, flex-end, center);
+}
+
+//col模式下,中左对齐
+.flex-col-center-start {
+ @include dsplay-flex(center, flex-start, center);
+}
+
+//col模式下,中中对齐
+.flex-col-center-center {
+ @include dsplay-flex(center, center, center);
+}
+
+//col模式下,上右对齐
+.flex-col-center-end {
+ @include dsplay-flex(center, flex-end, center);
+}
+
+//col模式下,下左对齐
+.flex-col-bottom-start {
+ @include dsplay-flex(flex-end, flex-start, center);
+}
+
+//col模式下,下中对齐
+.flex-col-bottom-center {
+ @include dsplay-flex(flex-end, center, center);
+}
+
+//col模式下,下右对齐
+.flex-col-bottom-end {
+ @include dsplay-flex(flex-end, flex-end, center);
+}
+
+//-----------
+
+// row居中左对齐
+.flex-start {
+ @include dsplay-flex(flex-start, center, center);
+}
+
+// row居中右对齐
+.flex-end {
+ @include dsplay-flex(flex-end, center, center);
+}
+
+// col,row上下左右居中对齐
+.flex-center {
+ @include dsplay-flex(center, center, center);
+}
+
+// col,row两端对齐
+.flex-between {
+ justify-content: space-between;
+}
+
+//横向的内容在col模式一睥100%宽,与flex-1中的flex-row是功能一样。
+.flex-col-full {
+ flex-direction: column;
+ align-items: stretch;
+}
+
+// col,row居中等分对齐
+.flex-around {
+ justify-content: space-around;
+}
+
+.flex-row-baseline-start {
+ justify-content: flex-start !important;
+ align-items: baseline !important;
+ align-content: center;
+ align-content: center;
+ display: flex !important;
+}
+.flex-row-baseline-center {
+ justify-content: center !important;
+ align-items: baseline !important;
+ align-content: center;
+ align-content: center;
+ display: flex !important;
+}
+.flex-row-baseline-end {
+ justify-content: flex-end !important;
+ align-items: baseline !important;
+ align-content: center;
+ align-content: center;
+ display: flex !important;
+}
+
+@for $i from 0 through 12 {
+ .flex-#{$i} {
+ flex-grow: $i !important;
+ }
+}
+
+$colorsDefault: (
+ 'grey': #9e9e9e,
+ 'black': #000000,
+ 'white': #ffffff,
+ 'lighten-5': #fafafa,
+ 'lighten-4': #f5f5f5,
+ 'lighten-3': #eeeeee,
+ 'lighten-2': #e0e0e0,
+ 'lighten-1': #bdbdbd,
+ 'darken-1': #757575,
+ 'darken-2': #616161,
+ 'darken-3': #424242,
+ 'darken-4': #212121,
+ 'darken-5': #131313,
+ 'darken-6': #0a0a0a
+);
+$colors: (
+ 'red': #f44336,
+ 'pink': #e91e63,
+ 'purple': #9c27b0,
+ 'deep-purple': #673ab7,
+ 'indigo': #3f51b5,
+ 'blue': #2196f3,
+ 'light-blue': #03a9f4,
+ 'cyan': #00bcd4,
+ 'teal': #009688,
+ 'green': #4caf50,
+ 'light-green': #8bc34a,
+ 'lime': #cddc39,
+ 'yellow': #ffeb3b,
+ 'amber': #ffc107,
+ 'orange': #ff9800,
+ 'deep-orange': #ff5722,
+ 'brown': #795548,
+ 'blue-grey': #607d8b
+);
+
+// 文本颜色。text-颜色名
+@each $name,
+$color in $colors {
+ .text-#{$name} {
+ color: $color !important;
+ }
+
+ .#{$name} {
+ background-color: $color;
+ }
+}
+
+@each $name,
+$color in $colorsDefault {
+ .text-#{$name} {
+ color: $color !important;
+ }
+
+ .#{$name} {
+ background-color: $color;
+ }
+}
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/index.ts b/src/uni_modules/tm-ui/index.ts
new file mode 100644
index 0000000..d32c382
--- /dev/null
+++ b/src/uni_modules/tm-ui/index.ts
@@ -0,0 +1,11 @@
+export default {
+ /**
+ * tmui3.2.x
+ * @param app Vue
+ * @param options tmui3.0配置
+ */
+ // @ts-ignore
+ install: (app: App, options: TM.THEME_CONFIG | null = null) => {
+
+ }
+};
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/interface.ts b/src/uni_modules/tm-ui/interface.ts
new file mode 100644
index 0000000..5b875f7
--- /dev/null
+++ b/src/uni_modules/tm-ui/interface.ts
@@ -0,0 +1,148 @@
+/**
+ * 上传的文件状态
+ * 0未上传,1上传中,2上传成功,3上传失败(网络错误),4已取消(终止,上到一半取消了),5超过大小
+ * 0 Not uploaded, 1 Uploading, 2 Upload successful, 3 Upload failed (network error), 4 Cancelled (terminated, canceled halfway), 5 Exceeds size limit,
+ */
+export enum TMUPLOAD_PHOTO_STATUS {
+ NOT = 0,
+ UPLOADING = 1,
+ UPLOAD_SUCCESS = 2,
+ UPLOAD_FAILED = 3,
+ CANCELLED = 4,
+ EXCEEDS_SIZE_LIMIT = 5,
+}
+declare global {
+ /**
+ * TMUI3.2.x类型命名空间
+ * @author tmzdy
+ * @date 2024-8-1
+ */
+ namespace TM {
+ /** 按钮尺寸大小 */
+ export type BUTTON_SIZE = "xs" | "s" | "m" | "n" | "g"
+ /** 按钮或者标签的主题样式 */
+ export type BUTTON_THEME = "thin" | "outlined" | "text" | "normal" | "dashed"
+ /** 主题状态 */
+ export type THEME_STATUS = "warn" | "success" | "info" | "error" | "error"
+ /** 主题样式 */
+ export type THEME_MODE = "auto" | "dark" | "light"
+
+ export interface THEME_CONFIG {
+ /** 主题模式 */
+ mode: THEME_MODE,
+ color: string,
+ unit: 'rpx' | 'px',
+ // 默认相对字号
+ fontSizeBase: string | number,
+ // 默认相对字号fontSizeBase倍数
+ fontSizeScale: 1,
+ buttonRadius: number | string,
+ /** button默认的投影大小,none全局投影取消,但不影响局部值 */
+ buttonShadow: number | string | Array,
+
+ sheetRadius: number | string | Array,
+ sheetShadow: number | string | Array,
+ sheetMargin: number | string | Array,
+ sheetPadding: number | string | Array,
+
+ //列表默认的圆角。
+ cellRadius: number | string | Array,
+
+
+ /** 一般容器sheet的暗黑背景 */
+ sheetDarkColor: string,
+ /** 一般容器边线颜色如果你布局自己写了默认的边线色,但忘记填写组件上的暗黑线时,会取这里的值 */
+ sheetDarkBorderColor: string[],
+
+ /** 输入框,表单,常规灰背景待统一的二级暗黑背景 */
+ inputDarkColor: string,
+ /**输入框默认全局的亮系背景. */
+ inputLightColor: string,
+ /**输入框全局圆角 */
+ inputRadius: number | string | Array,
+ /** 一般的表单,列表底的暗黑统一边线颜色 */
+ borderDarkColor: string,
+ /**对话框圆角 */
+ modalRadius: number | string,
+ /**形状圆角 */
+ switchRadius: number | string,
+ /**抽屉圆角 */
+ drawerRadius: number | string,
+ unRadioAndCheckBoxColor: string,
+
+ /**部分组件统一的动画差值。 */
+ animation: string,
+ }
+ export type tmDateDayInfoType = {
+ /** 年 */
+ year: number,
+ /** 月0-11 */
+ month: number,
+ /** 天 */
+ day: number,
+ /** 小时0-23 */
+ hours: number,
+ /** 分钟0-59 */
+ minutes: number,
+ /** 秒0-59 */
+ seconds: number,
+ /** 本年的第几周 */
+ weeks: number,
+ /** 本周星期几 */
+ week: number,
+ /** 本周星期几,中文名称 */
+ weekCn: string,
+ /** 格式化的日期字符串 */
+ date: string,
+ /** 是否渲染显示 */
+ isRender?: boolean
+ }
+
+ /**
+ * 上传的文件类型
+ */
+ export type TMUPLOAD_PHOTO_INFO = {
+ id: string,
+ /** 文件大小 */
+ size?: number,
+ /** 文件路径 */
+ path: string,
+ progress: number,
+ statusText: string,
+ status: TMUPLOAD_PHOTO_STATUS,
+ response: any
+ }
+ export type FORM_RULE_TYPE = {
+ /** 校验正则,如果同时提供了valid,以valid为准,默认为null */
+ rule: RegExp|null,
+ /** 校验失败提示,默认提示词:请正在选择/填写 */
+ message: string,
+ /**校验函数,如果不提供,默认以min,max来判断. */
+ validator: null|((val: any) => boolean),
+ /**
+ * 如果校验的值类型是数字是起作用,默认为1,至少要大于0
+ * 如果预期是数组,那长度至少要大于0
+ * 如果是字符串,长度要大于0
+ */
+ min: number,
+ //默认为-1最长/大值不限制
+ max: number,
+ //预期值的类型,如果不提供自动推断,不提供默认是auto
+ type: "string" | "number" | "array" | "boolean" | "date" | "email" | "phone"|"auto",
+ //必填项,是否校验本值
+ required: boolean
+ }
+ export type FORM_RULE = { [Property in keyof FORM_RULE_TYPE]?: FORM_RULE_TYPE[Property] } & { required: boolean }
+ export type FORM_RESULT_TYPE = { key: string, isPass: boolean, message: string, data: any }
+ export type FORM_SUBMIT_RESULT = {
+ /**是否校验通过 */
+ isPass: boolean,
+ /**校验不通过的第一条信息 */
+ firstValid: FORM_RESULT_TYPE | null,
+ /**校验结果集 */
+ result: FORM_RESULT_TYPE[]
+ }
+ }
+}
+export { }
+
diff --git a/src/uni_modules/tm-ui/libs/colors.ts b/src/uni_modules/tm-ui/libs/colors.ts
new file mode 100644
index 0000000..c106970
--- /dev/null
+++ b/src/uni_modules/tm-ui/libs/colors.ts
@@ -0,0 +1,684 @@
+type rgb = {
+ r: number,
+ g: number,
+ b: number,
+ a: number
+}
+type hsla = {
+ h: number,
+ s: number,
+ l: number,
+ a: number
+}
+
+/**
+ * 颜色值列表
+ */
+export const colors = new Map([
+ ['primary', '#0579FF'],
+ ['success', '#07d73d'],
+ ['danger', '#ff6411'],
+ ['warn', '#ffa61e'],
+ ['error', '#f10226'],
+ ['info', '#F2F2F2'],
+
+ ['kleinblue', '#002FA7'], // 克莱因蓝
+ ['chinesered', '#FF0000'], // 中国红
+ ['internationalorange', '#FF4F00'], // 国际橙
+ ['egyptianvlue', '#1034A6'], // 埃及艳蓝
+ ['parisviolet', '#6C3082'], // 巴黎紫
+ ['moroccanblue', '#1256A7'], // 摩洛哥蓝
+ ['brazilgreen', '#009B3A'], // 巴西绿
+ ['britishracinggreen', '#004225'], // 英国赛车绿
+ ['indianyellow', '#E3A857'], // 印度黄
+ ['australiangold', '#FFDF00'], // 澳大利亚金
+ ['venetianred', '#C80815'], // 威尼斯红
+ ['majorelleblue', '#6050DC'], // 马若雷蓝
+ ['tuscanred', '#7C3030'], // 托斯卡红
+ ['naplesyellow', '#FADA5E'], // 那不勒斯黄
+ ['capumortuum', '#592720'], // 死者之首
+ ['mayablue', '#73C2FB'], // 玛雅蓝
+ ['persianrose', '#FE28A2'], // 波斯玫瑰
+ ['tyrianpurple', '#66023C'], // 泰尔紫
+ ['saharasand', '#F1E788'], // 撒哈拉沙
+ ['burmeseruby', '#B00A0A'], // 缅甸红宝石
+
+ ['transparent', 'rgba(0,0,0,0)'],
+ ['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'],
+ ['darkkhaki', '#BDB76B'],
+ ['darkmagenta', '#8B008B'],
+ ['darkolivegreen', '#556B2F'],
+ ['darkorange', '#FF8C00'],
+ ['darkorchid', '#9932CC'],
+ ['darkred', '#8B0000'],
+ ['darksalmon', '#E9967A'],
+ ['darkseagreen', '#8FBC8F'],
+ ['darkslateblue', '#483D8B'],
+ ['darkslategray', '#2F4F4F'],
+ ['darkturquoise', '#00CED1'],
+ ['darkviolet', '#9400D3'],
+ ['deeppink', '#FF1493'],
+ ['deepskyblue', '#00BFFF'],
+ ['dimgray', '#696969'],
+ ['dodgerblue', '#1E90FF'],
+ ['firebrick', '#B22222'],
+ ['floralwhite', '#FFFAF0'],
+ ['forestgreen', '#228B22'],
+ ['fuchsia', '#FF00FF'],
+ ['gainsboro', '#DCDCDC'],
+ ['ghostwhite', '#F8F8FF'],
+ ['gold', '#FFD700'],
+ ['goldenrod', '#DAA520'],
+ ['gray', '#808080'],
+ ['green', '#008000'],
+ ['greenyellow', '#ADFF2F'],
+ ['honeydew', '#F0FFF0'],
+ ['hotpink', '#FF69B4'],
+ ['indianred', '#CD5C5C'],
+ ['indigo', '#4B0082'],
+ ['ivory', '#FFFFF0'],
+ ['khaki', '#F0E68C'],
+ ['lavender', '#E6E6FA'],
+ ['lavenderblush', '#FFF0F5'],
+ ['lawngreen', '#7CFC00'],
+ ['lemonchiffon', '#FFFACD'],
+ ['lightblue', '#ADD8E6'],
+ ['lightcoral', '#F08080'],
+ ['lightcyan', '#E0FFFF'],
+ ['lightgoldenrodyellow', '#FAFAD2'],
+ ['lightgray', '#D3D3D3'],
+ ['lightgreen', '#90EE90'],
+ ['lightpink', '#FFB6C1'],
+ ['lightsalmon', '#FFA07A'],
+ ['lightseagreen', '#20B2AA'],
+ ['lightskyblue', '#87CEFA'],
+ ['lightslategray', '#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'],
+ ['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']
+
+])
+
+
+export const toHex = (n: number): string => {
+ let hex = n.toString(16);
+ if (hex.length == 1) {
+ return '0' + hex;
+ } else {
+ return hex;
+ }
+}
+export function isValidColor(color: string): boolean {
+ // return chroma.valid(color);
+ const hexRegex = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3}|[A-Fa-f0-9]{8})$/;
+ const rgbRegex = /^rgb\((\d{1,3}), (\d{1,3}), (\d{1,3})\)$/;
+ const rgbaRegex = /^rgba\((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\s*,\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\s*,\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\s*,\s*((1(\.0{1,2})?)|(0(\.\d{1,2})?))\)$/;
+ const hslRegex = /^hsl\((\d{1,3}), (\d{1,3})%, (\d{1,3})%\)$/;
+ const hslaRegex = /^hsla\(\s*((\d{1,2}|[1-2]\d{2}|3[0-5]\d)(\.\d+)?|\d+(\.\d+)?)\s*,\s*((\d{1,2}|\d{0,1}\d{1}\d{1}|[1-2]\d{2}|3[0-5]\d)(\.\d+)?|\d+(\.\d+)?)%\s*,\s*((\d{1,2}|\d{0,1}\d{1}\d{1}|[1-2]\d{2}|3[0-5]\d)(\.\d+)?|\d+(\.\d+)?)%\s*,\s*((1|0(\.\d{1,2})?|(\.\d{1,2})))\)$/i;
+
+
+ if (color == '') {
+ return false; // 颜色值为空
+ } else if (color === 'inherit' || color === 'transparent') {
+ return false; // 特殊颜色值
+ } else if (color === 'currentColor') {
+ return false; // currentColor 不是有效的颜色值
+ } else if (hexRegex.test(color) || rgbRegex.test(color) || rgbaRegex.test(color) || hslRegex.test(color) || hslaRegex.test(color)) {
+ return true; // 符合颜色值的格式
+ }
+ return false;
+}
+/**
+ * 获取默认的颜色值
+ * @param [string] 颜色名称或者16进制颜色值
+ */
+export function getDefaultColor(sColor: string): string {
+ if (sColor == "") return ""
+ let sc = sColor.toLocaleLowerCase().trim().replace(" ", "");
+
+ if (isValidColor(sc)) {
+ // 如果符合所有颜色值,进行转换为16进制。css方便统一解析。
+ return sc;
+ }
+ // 检测是否是颜色名称。
+ let sco = colors.get(sc);
+ if (typeof sco == 'string') return sco as string;
+ return colors.get("primary")!;
+}
+
+/**
+ * 颜色转rgb
+ */
+export function hexToRgb(sColors: string) {
+ if (sColors == "") {
+ return { r: 0, g: 0, b: 0, a: 0 }
+ }
+ let reg = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3}|[A-Fa-f0-9]{8})$/;
+ let sColor: string = sColors.toLowerCase();
+
+ if (sColor != '' && reg.test(sColor)) {
+
+ if (sColor.length == 4) {
+ let sColorNew = "#";
+ for (let i = 1; i < 4; i += 1) {
+ sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));
+ }
+ sColor = sColorNew;
+ }
+
+ //处理六位的颜色值
+ let sColorChange: number[] = [];
+ sColorChange.push(parseInt(sColor.substring(1, 3), 16));
+ sColorChange.push(parseInt(sColor.substring(3, 5), 16));
+ sColorChange.push(parseInt(sColor.substring(5, 7), 16));
+ if (sColor.length == 9) {
+ sColorChange.push(parseInt(sColor.substring(7, 9), 16) / 255);
+ }
+ return {
+ r: sColorChange[0],
+ g: sColorChange[1],
+ b: sColorChange[2],
+ a: sColorChange.length == 4 ? sColorChange[3] : 1
+ }
+ } else if (/^(rgb|RGB|rgba|RGBA)/.test(sColor)) {
+ let arr: string[] = sColor.replace(/(?:\(|\)|rgba|rgb|RGB|RGBA)*/g, "").split(",")
+ let p: number[] = arr.map((val: string): number => parseInt(val));
+ if (p.length < 3) {
+ return {
+ r: 0,
+ g: 0,
+ b: 0,
+ a: 1
+ }
+ }
+ if (p.length == 3) {
+ p.push(1)
+ }
+ return {
+ r: p[0],
+ g: p[1],
+ b: p[2],
+ a: arr.length == 3 ? p[3] : parseFloat(arr[3])
+ }
+ } else {
+ return {
+ r: 0,
+ g: 0,
+ b: 0,
+ a: 1
+ }
+ }
+}
+/**
+ * rgb转hsl
+ */
+export function rgbToHsl(rgb: rgb): hsla {
+ let r = rgb.r / 255
+ let g = rgb.g / 255
+ let b = rgb.b / 255
+ let a = rgb.a
+
+ var max = Math.max(r, g, b);
+ var min = Math.min(r, g, b);
+ let h = 60 * (4 + (r - g) / (max - min));
+ let sdy = Math.max(2 - max - min,1)
+ let s=(max - min) / sdy;
+ let l = (max + min) / 2;
+
+ if (max === r) {
+ h = (60 * (g - b)) / (max - min);
+ } else if (max === g) {
+ h = 60 * (2 + (b - r) / (max - min));
+ }
+
+ if (h < 0) {
+ h += 360;
+ }
+
+
+ if (max === min) {
+ s = 0;
+ } else if (l < 0.5) {
+ s = (max - min) / (max + min);
+ }
+
+ return { h: h, s: s * 100, l: l * 100, a: a };
+}
+
+/**
+ * hsl转rgb
+ */
+export function hslToRgb(hsl: hsla): rgb {
+ let h = hsl.h
+ let s = hsl.s
+ let l = hsl.l
+ let a = hsl.a
+
+ h = h / 360;
+ s = s / 100;
+ l = l / 100;
+ let r = l;
+ let g = l;
+ let b = l;
+
+ function hue2rgb(pxx: number, q: number, txs: number): number {
+ let t = txs;
+ let p = pxx;
+ if (t < 0) t += 1;
+ if (t > 1) t -= 1;
+ if (t < 1 / 6) return p + (q - p) * 6 * t;
+ if (t < 1 / 2) return q;
+ if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;
+ return p;
+ }
+
+
+
+ if (s > 0) {
+ let q = l * (1 + s);
+ if (l >= 0.5) {
+ q = l + s - l * s;
+ }
+ var p = 2 * l - q;
+ r = hue2rgb(p, q, h + 1 / 3);
+ g = hue2rgb(p, q, h);
+ b = hue2rgb(p, q, h - 1 / 3);
+
+ }
+
+ r = Math.round(r * 255);
+ g = Math.round(g * 255);
+ b = Math.round(b * 255);
+ return { r, g, b, a };
+}
+
+/**
+ * rgb转16进制
+ */
+export function rgbToHex(rgb: rgb): string {
+ let r = rgb.r
+ let g = rgb.g
+ let b = rgb.b
+ let a = rgb.a
+ return "#" + toHex(r) + toHex(g) + toHex(b) + toHex(a * 255)
+}
+export function hslaToCss(hsl: hsla): string {
+
+ let rgb = hslToRgb(hsl)
+
+ return rgbToHex(rgb)
+}
+
+export function hslaToRgbCss(hsl: hsla): string {
+
+ let rgb = hslToRgb(hsl)
+ let r = rgb.r
+ let g = rgb.g
+ let b = rgb.b
+ let a = rgb.a
+ return `rgba(${r},${g},${b},${a})`
+}
+
+// 根据 HSLA 颜色计算亮度
+export function getLuminance(color: rgb | hsla, type = "rgba"): number {
+
+
+ let colordefault: rgb = (type == 'rgba' ? color : hslToRgb(color as hsla)) as rgb;
+ const r = colordefault.r
+ const g = colordefault.g
+ const b = colordefault.b
+ const rs = r / 255
+ const gs = g / 255
+ const bs = b / 255
+ const rl = Math.pow(rs <= 0.03928 ? rs / 12.92 : ((rs + 0.055) / 1.055), 2.4);
+ const gl = Math.pow(gs <= 0.03928 ? gs / 12.92 : ((gs + 0.055) / 1.055), 2.4);
+ const bl = Math.pow(bs <= 0.03928 ? bs / 12.92 : ((bs + 0.055) / 1.055), 2.4);
+
+ return 0.2126 * rl + 0.7152 * gl + 0.0722 * bl;
+}
+
+/**
+ * 对颜色加深
+ */
+export function colorAddDeepen(sColor: string): string {
+
+ let rgb = hexToRgb(getDefaultColor(sColor));
+
+ let hsl = rgbToHsl(rgb);
+
+ let l = hsl.l - 5;
+ l = Math.max(0, Math.min(l, 100))
+
+ return hslaToRgbCss({ h: hsl.h, s: hsl.s, l, a: hsl.a })
+}
+/**
+ * 对颜色提亮
+ */
+export function colorAddBrighten(sColor: string): string {
+ let rgb = hexToRgb(getDefaultColor(sColor));
+ let hsl = rgbToHsl(rgb);
+ let l = hsl.l + 10;
+ l = Math.max(0, Math.min(l, 100))
+ return rgbToHex(hslToRgb({ h: hsl.h, s: hsl.s, l, a: hsl.a }))
+}
+
+
+
+
+/**
+ * 获取浅色系主题,根据颜色值计算。返回正常值和hover值。
+ */
+export function colorGetThint(sColor: string) {
+ let rgb = hexToRgb(getDefaultColor(sColor));
+ let hsl = rgbToHsl(rgb);
+ let s = hsl.s;
+ // let l = hsl.getNumber("l");
+ if (Math.ceil(s) > 0) {
+ s = 45
+ }
+ return {
+ default: rgbToHex(hslToRgb({ h: hsl.h, s, l: 93, a: hsl.a })),
+ hover: rgbToHex(hslToRgb({ h: hsl.h, s, l: 85, a: hsl.a }))
+ }
+}
+/**
+ * 获取正常主题,根据颜色值计算。返回正常值和hover值。
+ */
+export function colorGetHover(sColor: string) {
+
+ return {
+ default: sColor,
+ hover: colorAddDeepen(sColor)
+ }
+}
+
+
+/**
+ * 处理相主题色。
+ * @param color 需要处理的颜色值
+ * @param hoverColor 对应按下去的颜色默认与color相等。
+ * @returns UTSJSONObject
+ */
+export function getDefaultColorObj(color: string, hoverColor: string) {
+ let hsla = rgbToHsl(hexToRgb(getDefaultColor(color)));
+ let hoverHsla = rgbToHsl(hexToRgb(getDefaultColor(hoverColor)));
+ let shadow = hslaToRgbCss({ h: hsla.h, s: (hsla.s) == 0 ? 0 : 100, l: 50, a: 0.2 });
+ let shadowHOver = hslaToRgbCss({ h: hoverHsla.h, s: (hoverHsla.s) == 0 ? 0 : 70, l: 50, a: 0.15 });
+ if ((hsla.h) == 0 && (hsla.s) == 0) {
+ shadow = "transparent"
+ }
+ if ((hoverHsla.h) == 0 && (hoverHsla.s) == 0) {
+ shadowHOver = "transparent"
+ }
+ let lightnum = getLuminance(hoverHsla, 'hsla');
+ let o = {
+ default: {
+ background: hslaToRgbCss(hsla),
+ borderColor: hslaToRgbCss({ h: hsla.h, s: hsla.s, a: hsla.a, l: Math.min(Math.max(0, hsla.l - 5), hsla.l) }),
+ fontColor: lightnum < 0.6 && hsla.a > 0.1 ? '#ffffff' : '#000000',
+ shadow: shadow
+ },
+ active: {
+ background: hslaToRgbCss({ h: hoverHsla.h, s: hoverHsla.s, a: hoverHsla.a, l: Math.min(Math.max(0, hoverHsla.l - 10), hoverHsla.l) }),
+ borderColor: hslaToRgbCss({ h: hoverHsla.h, s: hoverHsla.s, a: hoverHsla.a, l: Math.max(Math.max(0, hoverHsla.l - 10), hoverHsla.l) }),
+ fontColor: lightnum < 0.6 && hoverHsla.a > 0.1 ? '#ffffff' : '#000000',
+ shadow: shadowHOver
+ }
+ }
+
+ return o;
+}
+
+/**
+ * 处理相主题色。
+ * @param color 需要处理的颜色值
+ * @param hoverColor 对应按下去的颜色默认与color相等。
+ * @returns UTSJSONObject
+ */
+export function getTextColorObj(color: string, hoverColor: string, isCoverDark?: boolean) {
+ let dark = isCoverDark == null ? false : isCoverDark
+ // #ifdef WEB
+ dark = isCoverDark == undefined ? false : dark
+ // #endif
+ let hsla = rgbToHsl(hexToRgb(getDefaultColor(color)));
+ let hsla2 = rgbToHsl(hexToRgb(getDefaultColor(color)));
+ let hoverHsla = rgbToHsl(hexToRgb(getDefaultColor(hoverColor)));
+ let bgcolor = hslaToRgbCss({ h: hoverHsla.h, s: hoverHsla.s, a: hoverHsla.a, l: dark == true ? 20 : 95 })
+ if (dark) {
+ let p = hsla2;
+ p.l = 20
+ p.s = (p.s) != 0 ? 0 : 20
+ bgcolor = hslaToRgbCss(p)
+ }
+ let o = {
+ default: {
+ background: "transparent",
+ borderColor: "transparent",
+ fontColor: getLuminance(hsla, 'hsla') < 0.3 && hsla.a > 0.1 ? hslaToRgbCss(hsla) : hslaToRgbCss({ h: hsla.h, s: hsla.s, a: hsla.a, l: 30 }),
+ shadow: "transparent",
+ },
+ active: {
+ background: bgcolor,
+ borderColor: "transparent",
+ fontColor: getLuminance(hoverHsla, 'hsla') < 0.3 && hoverHsla.a > 0.1 ? hslaToRgbCss(hoverHsla) : hslaToRgbCss({ h: hoverHsla.h, s: hoverHsla.s, a: hoverHsla.a, l: 30 }),
+ shadow: "transparent",
+ }
+ }
+ return o;
+}
+
+/**
+ * 处理相主题色。
+ * @param color 需要处理的颜色值
+ * @param hoverColor 对应按下去的颜色默认与color相等。
+ * @returns UTSJSONObject
+ */
+export function getThinColorObj(color: string, hoverColor: string, isCoverDark?: boolean) {
+ let dark = isCoverDark == null ? false : isCoverDark
+ // #ifdef WEB
+ dark = isCoverDark == undefined ? false : dark
+ // #endif
+
+ let hsla = rgbToHsl(hexToRgb(getDefaultColor(color)));
+ let hoverHsla = rgbToHsl(hexToRgb(getDefaultColor(hoverColor)));
+ // tmxColor.hslaToCss({ ...hsla}) : tmxColor.hslaToCss({ ...hsla,l:30})
+ let fontcolor = getLuminance(hsla, 'hsla') < 0.3 && hsla.a > 0.1 ? hslaToRgbCss(hsla) : hslaToRgbCss({ h: hsla.h, s: hsla.s, a: hsla.a, l: 30 })
+ let bordercolor = hslaToRgbCss({ h: hoverHsla.h, s: hoverHsla.s, a: hoverHsla.a, l: dark == true ? 21 : 92 })
+ let bgcolor = hslaToRgbCss({ h: hoverHsla.h, s: hoverHsla.s, a: hoverHsla.a, l: dark == true ? 20 : 95 })
+
+ if (dark) {
+ let p = hsla;
+ p.l = 98
+ fontcolor = hslaToRgbCss(p)
+ p.l = 20
+ p.s = (p.s) != 0 ? 5 : 20
+ bgcolor = hslaToRgbCss(p)
+ p.l = 22
+ bordercolor = hslaToRgbCss(p)
+ }
+ let o = {
+ default: {
+ background: bgcolor,
+ borderColor: bordercolor,
+ fontColor: fontcolor,
+ shadow: "transparent",
+ },
+ active: {
+ background: hslaToRgbCss({ h: hoverHsla.h, s: dark ? 10 : 50, a: hoverHsla.a, l: dark == true ? 15 : 88 }),
+ borderColor: hslaToRgbCss({ h: hoverHsla.h, s: hoverHsla.s, a: 0, l: dark == true ? 18 : 80 }),
+ fontColor: getLuminance(hoverHsla, 'hsla') < 0.3 && hoverHsla.a > 0.1 ? hslaToRgbCss(hoverHsla) : hslaToRgbCss({ h: hoverHsla.h, s: hoverHsla.s, a: hoverHsla.a, l: 64 }),
+ shadow: "transparent",
+ }
+ }
+ return o;
+}
+
+/**
+ * 处理相主题色。
+ * @param color 需要处理的颜色值
+ * @param hoverColor 对应按下去的颜色默认与color相等。
+ * @returns UTSJSONObject
+ */
+export function getOutlineColorObj(color: string, hoverColor: string) {
+ let hsla = rgbToHsl(hexToRgb(getDefaultColor(color)));
+ let hoverHsla = rgbToHsl(hexToRgb(getDefaultColor(hoverColor)));
+ // tmxColor.hslaToCss({ ...hsla}) : tmxColor.hslaToCss({ ...hsla,l:30})
+ let lightnum = getLuminance(hoverHsla, 'hsla');
+
+ let o = {
+ default: {
+ background: 'transparent',
+ borderColor: hslaToRgbCss({ h: hoverHsla.h, s: hoverHsla.s, a: 1, l: 75 }),
+ fontColor: lightnum < 0.6 && hsla.a > 0.1 ? hslaToRgbCss(hsla) : hslaToRgbCss({ h: hsla.h, s: hsla.s, a: hsla.a, l: 30 }),
+ shadow: "transparent",
+ },
+
+ active: {
+ background: 'transparent',
+ borderColor: hslaToRgbCss({ h: hoverHsla.h, s: hoverHsla.s, a: 1, l: 70 }),
+ fontColor: lightnum < 0.6 && hoverHsla.a > 0.1 ? hslaToRgbCss(hoverHsla) : hslaToRgbCss({ h: hoverHsla.h, s: hoverHsla.s, a: hoverHsla.a, l: 30 }),
+ shadow: "transparent",
+ }
+ }
+ return o;
+}
+
+/**
+ * 设置颜色的亮度值。29
+ * isCoverDark:是根据亮度值,是否要设置n的值,如果n超过了
+ * 指定的30就不操作。
+ */
+export function setTextColorLightByDark(color: string): string {
+ let realColor = getDefaultColor(color);
+ let hsla = rgbToHsl(hexToRgb(realColor))
+ let l = hsla.l
+ let s = hsla.s
+ if (l < 30) {
+ if (s > 0) {
+ hsla.l = 50
+ } else {
+ hsla.l = 100
+ }
+
+ }
+
+ return hslaToRgbCss(hsla)
+}
+/**
+ * 变动的颜色是否需要变深。如果不需要返回原始颜色
+ * 如果果需要自动加深。
+ */
+export function setBgColorLightByDark(color: string): string {
+ let realColor = getDefaultColor(color);
+ let hsla = rgbToHsl(hexToRgb(realColor))
+ let l = hsla.l
+ let s = hsla.s
+ if (s == 0 && l > 50) {
+ hsla.l = 100 - l
+ }
+ if (s > 0) {
+ if (l > 50) {
+ hsla.l = 100 - l
+ }
+ }
+ return hslaToRgbCss(hsla)
+}
+
+export function isBlackAndWhite(color: string): boolean {
+ let realColor = getDefaultColor(color);
+ let hsla = rgbToHsl(hexToRgb(realColor))
+ let s = hsla.s
+ return s == 0
+}
+
+
+
diff --git a/src/uni_modules/tm-ui/libs/config.ts b/src/uni_modules/tm-ui/libs/config.ts
new file mode 100644
index 0000000..0656d09
--- /dev/null
+++ b/src/uni_modules/tm-ui/libs/config.ts
@@ -0,0 +1,47 @@
+import { defineStore } from 'pinia';
+
+
+export const useTmConfig = defineStore('tmConfig', {
+ state: () => {
+ return {
+ config: {
+ mode: 'light',
+ unit: 'rpx',
+ fontSizeBase: '28',
+ fontSizeScale: 1,
+ buttonRadius: 24,
+ buttonShadow: 'none',
+ color: "primary",
+
+ sheetRadius: 24,
+ sheetMargin: [20, 0, 20, 20],
+ sheetPadding: [24],
+ sheetShadow: 'none',
+
+ cellRadius: 24,
+
+ sheetDarkColor: '#141414',
+ sheetDarkBorderColor: ["#232323"],
+
+ /** 输入框暗黑背景 */
+ inputDarkColor: '#272727',
+ inputLightColor: '#f5f5f5',
+ inputRadius: 24,
+ borderDarkColor: '#1c1c1c',
+ unRadioAndCheckBoxColor: "#cfcfcf",
+
+ switchRadius:64,
+
+ modalRadius: 32,
+ drawerRadius:32,
+ animation: 'cubic-bezier(.42,.38,.15,.93)'
+
+ } as TM.THEME_CONFIG
+ }
+ },
+
+ actions: {
+
+ },
+});
+
diff --git a/src/uni_modules/tm-ui/libs/tmDate.ts b/src/uni_modules/tm-ui/libs/tmDate.ts
new file mode 100644
index 0000000..7cbc97f
--- /dev/null
+++ b/src/uni_modules/tm-ui/libs/tmDate.ts
@@ -0,0 +1,677 @@
+export type tmDateTypeTime = 'y' | 'm' | 'd' | 'h' | 'M' | 's' | 'ms' | 'w'
+export type tmDateTypeQuarter = {
+ quarter: number,
+ start: string,
+ end: string
+}
+
+/**
+ * 将一个时间字符串解析为日期对象
+ * @param {string} dateString 时间字符串
+ * @returns Date - 日期对象
+ */
+export function createDate(str: string | number | null): Date {
+ if (str == null) {
+ return new Date();
+ }
+ if(!str) return new Date()
+ if(typeof str === 'number') return new Date(str)
+ let nowstr = str.replace(/-/g, '/');
+ let date = new Date(nowstr)
+ if (isNaN(date.getTime())) {
+ date = new Date();
+ }
+ return date;
+}
+
+export class tmDate {
+ date: Date;
+ constructor(dateStr: string | null | number = null) {
+ this.date = createDate(dateStr)
+ }
+ /**
+ * 给数字添加前缀0
+ */
+ translateFullDate(d: number, w: number): string {
+ let dstr = d.toString();
+ if (dstr.length < w) {
+ let dar: number[] = new Array(w - dstr.length).fill(0);
+ dstr = dar.join('') + dstr
+ }
+ return dstr;
+ }
+ /**
+ * 格式化日期
+ * @param {string} s 模板,比如YYYY/MM/DD hh:mm:ss
+ * @returns {string} 格式化后的日期字符串
+ */
+ format(s: string | null = null): string {
+ let str = "YYYY/MM/DD hh:mm:ss"
+ if (s != null) {
+ str = s;
+ }
+ str = str.replace(/YYYY/g, this.translateFullDate(this.date.getFullYear(), 2))
+ str = str.replace(/MM/g, this.translateFullDate(this.date.getMonth() + 1, 2))
+ str = str.replace(/DD/g, this.translateFullDate(this.date.getDate(), 2))
+ str = str.replace(/hh/g, this.translateFullDate(this.date.getHours(), 2))
+ str = str.replace(/HH/g, this.translateFullDate(this.date.getHours(), 2))
+ str = str.replace(/mm/g, this.translateFullDate(this.date.getMinutes(), 2))
+ str = str.replace(/ss/g, this.translateFullDate(this.date.getSeconds(), 2))
+ return str;
+ }
+ /**
+ * 获取当前年
+ * @return — 根据当地时间,返回一个对应于给定日期的年份数字。
+ */
+ getYear(): number {
+ return this.date.getFullYear()
+ }
+ /**
+ * 获取当前月
+ * @description 是从0开始,1-11月
+ * @return — 一个 0 到 11 的整数值:0 代表一月份,1 代表二月份,2 代表三月份,依次类推
+ */
+ getMonth(): number {
+
+ return this.date.getMonth()
+ }
+ /**
+ * 获取当前天
+ * @return — 返回一个 1 到 31 的整数值。
+ */
+ getDate(): number {
+ return this.date.getDate()
+ }
+ /**
+ * 获取当前小时
+ * @return — 返回一个 0 到 23 之间的整数值。
+ */
+ getHours(): number {
+ return this.date.getHours()
+ }
+ /**
+ * 获取当前分钟
+ * @return — 返回一个 0 到 59 的整数值。
+ */
+ getMinutes(): number {
+ return this.date.getMinutes()
+ }
+ /**
+ * 获取当前秒
+ * @return — 返回一个 0 到 59 的整数值。
+ */
+ getSeconds(): number {
+ return this.date.getSeconds()
+ }
+ /**
+ * 获取指定是数据
+ * @param {tmDateTypeTime} d - 'y' 年 'm' 月 'd' 日 'h' 时 'M' 分 's' 秒 'ms' 毫秒
+ * @returns - 指定类型的数值
+ */
+ getDateOf(d: tmDateTypeTime = 'd'): number {
+ if (d == 'y') {
+ return this.date.getFullYear()
+ }
+ else if (d == 'm') {
+ return this.date.getMonth()
+ }
+ else if (d == 'd') {
+ return this.date.getDate()
+ }
+ else if (d == 'h') {
+ return this.date.getHours()
+ }
+ else if (d == 'M') {
+ return this.date.getMinutes()
+ }
+ else if (d == 's') {
+ return this.date.getSeconds()
+ }
+ return this.date.getMilliseconds()
+ }
+ /**
+ * 设定日期
+ * @param {number} n - 设定的数据,
+ * @param {string} d - 比如d=y,那么就是设置本日期的年份数据,'y' 年 'm' 月 'd' 日 'h' 时 'M' 分 's' 秒 'ms' 毫秒
+ * @returns - xDate对象实例
+ */
+ setDateOf(n: number, d: tmDateTypeTime = 'd'): tmDate {
+ if (d == 'y') {
+ this.date.setFullYear(n)
+ }
+ else if (d == 'm') {
+ this.date.setMonth(n)
+ }
+ else if (d == 'd') {
+ this.date.setDate(n)
+ }
+ else if (d == 'h') {
+ this.date.setHours(n)
+ }
+ else if (d == 'M') {
+ this.date.setMinutes(n)
+ }
+ else if (d == 's') {
+ this.date.setSeconds(n)
+ }
+ else if (d == 'ms') {
+ this.date.setMilliseconds(n)
+ }
+ return this;
+ }
+
+ /**
+ * @param {string} - d:'y' 年 'm' 月 'd' 日 'h' 时 'M' 分 's' 秒 'ms' 毫秒
+ * @returns - 返回从UTC时间1970年1月1日午夜开始以毫秒为单位存储的时间值。
+ * @description 注意,如果不提供d就默认返回毫秒,比如设置d=m那么后面的h,M,s,ms会被设置为0
+ */
+ getTime(d: tmDateTypeTime): number {
+ let date = new Date(this.date.getTime())
+
+ if (d == 'y') {
+ date.setMonth(0)
+ date.setDate(1)
+ date.setHours(0)
+ date.setMinutes(0)
+ date.setSeconds(0)
+ date.setMilliseconds(0)
+ return date.getTime()
+ }
+ else if (d == 'm') {
+ date.setDate(1)
+ date.setHours(0)
+ date.setMinutes(0)
+ date.setSeconds(0)
+ date.setMilliseconds(0)
+ return date.getTime()
+ }
+ else if (d == 'd') {
+ date.setHours(0)
+ date.setMinutes(0)
+ date.setSeconds(0)
+ date.setMilliseconds(0)
+ return date.getTime()
+ }
+ else if (d == 'h') {
+ date.setMinutes(0)
+ date.setSeconds(0)
+ date.setMilliseconds(0)
+ return date.getTime()
+ }
+ else if (d == 'M') {
+ date.setSeconds(0)
+ date.setMilliseconds(0)
+ return date.getTime()
+ }
+ else if (d == 's') {
+ date.setMilliseconds(0)
+ return date.getTime()
+ }
+ return date.getTime()
+ }
+
+ /**
+ * 当前时间的副本
+ */
+ getClone(): tmDate {
+ let p = this.format("YYYY/MM/DD HH:mm:ss");
+ return new tmDate(p);
+ }
+ /**
+ * 本年的第几周
+ * @return 周次
+ */
+ getWeek(): number {
+ var target = createDate(this.format());
+ target.setDate(target.getDate() - (target.getDay() == 0 ? 7 : target.getDay()));
+ var firstDayOfYear = new Date(target.getFullYear(), 0, 1);
+ firstDayOfYear.setDate(firstDayOfYear.getDate() - (firstDayOfYear.getDay() == 0 ? 7 : firstDayOfYear.getDay()));
+ return Math.ceil((((target.getTime() - firstDayOfYear.getTime()) / 86400000) + 1) / 7);
+ }
+ /**
+ * 取时间的第一天
+ * @param {m,w,y} - m表示取本月的第一天,w取本周的第一天,y表示本年的第一天
+ * @returns {tmDate} - 返回xDate对象
+ */
+ getDateStartOf(d: 'm' | 'w' | 'y' = 'm'): tmDate {
+ // 获取当前日期对象
+ var now = createDate(this.format());
+ if (d == 'w') {
+ // 将日期设置为所在周的周一(遵循ISO 8601标准,周一开始于周一)
+ var dayOfWeek = now.getDay();
+ if (dayOfWeek === 0) { // 如果是星期日,则向前推一天至上周的周一
+ now.setDate(now.getDate() - 7);
+ }
+ now.setDate(now.getDate() - dayOfWeek + 1);
+ }
+ if (d == 'm' || d == 'y') {
+ now.setDate(1);
+ }
+ if (d == 'y') {
+ now.setMonth(0);
+ }
+ now.setHours(0);
+ now.setMinutes(0);
+ now.setSeconds(0);
+ return dateCovertTmDate(now);
+ }
+
+ /**
+ * 取时间的最后一天
+ * @param {string} - m,w,y m表示取本月的最后一天,w取本周的最后一天,y表示本年的最后一天
+ * @returns {tmDate} - 返回xDate对象
+ */
+ getDateEndOf(d: 'm' | 'w' | 'y' = 'm') {
+ // 获取当前日期对象
+ var now = createDate(this.format());
+ if (d == 'w') {
+ // 将日期设置为所在周的周一(遵循ISO 8601标准,周一开始于周一)
+ var dayOfWeek = now.getDay();
+ if (dayOfWeek === 0) { // 如果是星期日,则向前推一天至上周的周一
+ return dateCovertTmDate(now);
+ }
+ now.setDate(now.getDate() + (7 - dayOfWeek));
+ }
+ if (d == 'm' || d == 'y') {
+ now.setDate(this.getMonthCountDay());
+ }
+ if (d == 'y') {
+ now.setMonth(11);
+ }
+ now.setHours(23);
+ now.setMinutes(59);
+ now.setSeconds(59);
+ return dateCovertTmDate(now);
+ }
+
+
+ /**
+ * 根据本地时间,返回一个具体日期中一周的第几天,0 表示星期天。
+ * @return — 根据本地时间,返回一个 0 到 6 之间的整数值,代表星期几:0 代表星期日,1 代表星期一,2 代表星期二,依次类推。
+ */
+ getWeekDay(): number {
+ return this.date.getDay()
+ }
+ /**
+ * 根据本地时间,返回一个具体日期中一周的第几天,0 表示星期天。
+ * @param {string[]} model 具有星期的中文模板,请按照顺序放置如["周日","周一","周二","周三","周四","周五","周六"]
+ * @return — 返回一个具中中国的星期的大写
+ */
+ getWeekDayCn(model: string[] | null = null): string {
+ let ml = ["周日", "周一", "周二", "周三", "周四", "周五", "周六"];
+ if (model != null && model?.length == 7) {
+ ml = model!;
+ }
+ return ml[this.getWeekDay()]!
+ }
+ /**
+ * 返回当前日期本月的最大天数
+ * @returns - 当前月份的最大天数
+ */
+ getMonthCountDay(): number {
+ let nextDate = createDate(this.format());
+ // 先设置为1号,避免后面设置月份时超过月的天数。
+ nextDate.setDate(1)
+ nextDate.setMonth(this.getMonth() + 1)
+ // 设置为上月的最后一天。
+ nextDate.setDate(0)
+ return nextDate.getDate()
+ }
+
+ /**
+ * 返回当日的信息
+ * @returns - 返回一个包含年月日周次,星期,农历等的对象
+ */
+ getDateInfo(str: string | null = null): TM.tmDateDayInfoType {
+ let date = this as tmDate
+ if (str != null) {
+ date = new tmDate(str)
+ }
+ let info = {
+ year: date.getYear(),
+ month: date.getMonth(),
+ day: date.getDate(),
+ hours: date.getHours(),
+ minutes: date.getMinutes(),
+ seconds: date.getSeconds(),
+ week: date.getWeekDay(),
+ weeks: date.getWeek(),
+ weekCn: date.getWeekDayCn(),
+ date: ""
+ } as TM.tmDateDayInfoType
+ info.date = info.year + '/' + (info.month + 1) + '/' + info.day
+ return info
+ }
+
+ /**
+ * 返回日期数组
+ * @param {string} - m,w,m表示返回本月的日期数据,w表示返回本周的日期数据
+ * @returns - 返回一个日期数组
+ */
+ getDaysOf(d: 'm' | 'w' = 'm'): TM.tmDateDayInfoType[] {
+ let dates = [] as TM.tmDateDayInfoType[]
+ if (d == 'w') {
+ let first = this.getDateStartOf('w')
+
+ for (let i = 0; i < 7; i++) {
+ let date = first.getClone()
+ date.date.setDate(date.date.getDate() + i)
+ dates.push(date.getDateInfo())
+ }
+ }
+ if (d == 'm') {
+ let first = this.getDateStartOf('m')
+ let maxDay = this.getMonthCountDay()
+ for (let i = 1; i <= maxDay; i++) {
+ let date = first.getClone()
+ date.date.setDate(i)
+ dates.push(date.getDateInfo())
+ }
+
+ }
+
+ return dates;
+ }
+
+ /**
+ * 为当前日期进行加操作
+ * @param {string} - y,m,d,h,M,s,w,代表的是年份,月份,日期,小时,分钟,秒数,周
+ */
+ add(count: number, d: tmDateTypeTime = 'd') {
+ if (d == 'y') {
+ this.date.setFullYear(this.getYear() + count)
+ }
+ else if (d == 'm') {
+ this.date.setMonth(this.getMonth() + count)
+ }
+ else if (d == 'd') {
+ this.date.setDate(this.getDate() + count)
+ }
+ else if (d == 'h') {
+ this.date.setHours(this.getHours() + count)
+ }
+ else if (d == 'M') {
+ this.date.setMinutes(this.getMinutes() + count)
+ }
+ else if (d == 's') {
+ this.date.setSeconds(this.getSeconds() + count)
+ }
+ // 添加一周
+ else if (d == 'w') {
+ this.date.setDate(this.getDate() + count * 7)
+
+ }
+
+ return this;
+ }
+ /**
+ * 为当前日期进行减操作
+ * @param {string} - y,m,d,h,M,s,w,代表的是年份,月份,日期,小时,分钟,秒数,周
+ */
+ subtraction(count: number, d: tmDateTypeTime = 'd') {
+ if (d == 'y') {
+ this.date.setFullYear(this.getYear() - count)
+ }
+ else if (d == 'm') {
+ this.date.setMonth(this.getMonth() - count)
+ }
+ else if (d == 'd') {
+ this.date.setDate(this.getDate() - count)
+ }
+ else if (d == 'h') {
+ this.date.setHours(this.getHours() - count)
+ }
+ else if (d == 'M') {
+ this.date.setMinutes(this.getMinutes() - count)
+ }
+ else if (d == 's') {
+ this.date.setSeconds(this.getSeconds() - count)
+ }
+ // 添加一周
+ else if (d == 'w') {
+ this.date.setDate(this.getDate() - count * 7)
+ }
+
+ return this;
+ }
+
+
+ /**
+ * 日期是否在一个区间内
+ * @param {tmDate} start 开始日期
+ * @param {tmDate} end 结束日期
+ * @param {string} - type要比较的单位,默认为ms,'y' 年 'm' 月 'd' 日 'h' 时 'M' 分 's' 秒 'ms' 毫秒
+ * @param {string} - d,默认为[] 区间类型,'()'不含起始'[]'包含起始'(]'不包含开始,但包含结束'[)'包含开始,但不包含结束
+ * @returns {boolean} 是否在区间内
+ */
+ isBetween(start: tmDate, end: tmDate, type: tmDateTypeTime = 'ms', d: '()' | '[]' | '(]' | '[)' = '[]'): boolean {
+ let startTime = start.getTime(type)
+
+ // new Date('1970-1-1 8:0:0').getTime()
+ let endTime = end.getTime(type)
+ let nowTime = this.getTime(type)
+ if (d == '()') {
+ return nowTime > startTime && nowTime < endTime
+ }
+ else if (d == '[]') {
+ return nowTime >= startTime && nowTime <= endTime
+ }
+ else if (d == '(]') {
+ return nowTime > startTime && nowTime <= endTime
+ }
+ else if (d == '[)') {
+ return nowTime >= startTime && nowTime < endTime
+ }
+ return nowTime >= startTime && nowTime <= endTime
+ }
+
+ /**
+ * 与目标日期比较
+ * @param {tmDate} targetDate 要比较的日期
+ * @param {string} - d,默认为> 比较类型,'>'大于目标日期,'>='大于等于目标'<'小于目标,'<='小于等于目标,'='全等
+ * @param {string} - type要比较的单位,默认为ms,'y' 年 'm' 月 'd' 日 'h' 时 'M' 分 's' 秒 'ms' 毫秒
+ * @returns {boolean} 比较结果
+ */
+ isBetweenOf(targetDate: tmDate, d: '>' | '>=' | '<' | '<=' | '=' = '>', type: tmDateTypeTime = 'ms'): boolean {
+ let startTime = targetDate.getTime(type)
+ let nowTime = this.getTime(type)
+ if (d == '>') {
+ return nowTime > startTime
+ }
+ else if (d == '>=') {
+ return nowTime >= startTime
+ }
+ else if (d == '<') {
+ return nowTime < startTime
+ }
+ else if (d == '<=') {
+ return nowTime <= startTime
+ }
+ else if (d == '=') {
+ return nowTime == startTime
+ }
+ return nowTime > startTime
+ }
+ /**
+ * 与目标时间过了多久
+ * @param {string|tmDate|null} target 要对比的相对时间,如果填写null就表示当前时间以来的的多久
+ * @param {Map} model 如果为null或者为空的map采用默认值,map格式key表示以秒为单位的时间,value为对应的文本
+ * 比如60,1分钟前
+ * @param {string} format 超过最大值最使用格式化日期,如果为null默认为YYYY-MM-DD
+ * @returns {string} 返回对应的时间文本
+ */
+ fromBetweenLongTime(target: any, model: Map | null, format: string | null): string {
+ let bijiaodate: tmDate = new tmDate()
+ if (target instanceof tmDate) {
+ bijiaodate = (target as tmDate)
+ } else if (typeof target == 'string') {
+ bijiaodate = new tmDate(target as string)
+ } else if (target == null) {
+ bijiaodate = new tmDate()
+ }
+
+ let mapmodel = new Map([
+ [30, '刚刚'],
+ [60, '1分前'],
+ [60 * 5, '5分前'],
+ [60 * 10, '10分前'],
+ [60 * 30, '半小时前'],
+ [60 * 60, '1小时前'],
+ [60 * 60 * 2, '2小时前'],
+ [60 * 60 * 3, '3小时前'],
+ [60 * 60 * 5, '5小时前'],
+ [60 * 60 * 23, '今天'],
+ [60 * 60 * 24 * 1, '1天前'],
+ [60 * 60 * 24 * 2, '2天前'],
+ [60 * 60 * 24 * 7, '1周前'],
+ [60 * 60 * 24 * 30, '1个月前'],
+ [60 * 60 * 24 * 30 * 2, '2个月前'],
+ [60 * 60 * 24 * 30 * 3, '3个月前'],
+ [60 * 60 * 24 * 30 * 4, '4个月前'],
+ [60 * 60 * 24 * 30 * 5, '5个月前'],
+ [60 * 60 * 24 * 30 * 6, '半年前'],
+ [60 * 60 * 24 * 30 * 12, '1年前'],
+ [60 * 60 * 24 * 30 * 12 + 60 * 60 * 24 * 30, '']
+ ])
+ let fmt = format == null ? 'YYYY-MM-DD' : (format!)
+
+ if (model != null) {
+ if (model!.size > 0) {
+ mapmodel = model!
+ }
+ }
+ let str = ""
+ let fanzhumap = [] as number[];
+ mapmodel.forEach((value: string, key: number) => {
+ fanzhumap.push(key)
+ })
+ fanzhumap.reverse()
+
+ try {
+ let startTime = bijiaodate.getTime('s')
+ let nowTime = this.getTime('s')
+ let diff = (nowTime - startTime) / 1000
+
+ if (diff > 0) {
+ for (let i = 0; i < fanzhumap.length; i++) {
+ let key = fanzhumap[i];
+
+ if (diff >= key) {
+
+ str = mapmodel.get(key)!
+ break;
+ }
+ }
+
+ } else {
+ str = mapmodel.get(fanzhumap[fanzhumap.length - 1])!
+ }
+ if (str == '') {
+ str = bijiaodate.format(fmt)
+ }
+
+
+ } catch (e) {
+ //TODO handle the exception
+ }
+
+
+
+ return str
+ }
+ /**
+ * 与目标时间相差多少个单位
+ * @param {string|tmDate|null} target 目标时间
+ * @param {tmDateTypeTime} type 相差的单位,默认:s秒
+ * @returns {string} 反返回以xDateTypeTime为单位相关的时间数
+ */
+ diffTime(target: any, type: tmDateTypeTime = 's'): number {
+ let startTime = 0
+ let typed: tmDateTypeTime = (type == 'w' ? 'd' : type)
+ if (target instanceof tmDate) {
+ startTime = (target as tmDate).getTime(typed)
+ } else if (typeof target == 'string') {
+ startTime = new tmDate(target as string).getTime(typed)
+
+ } else if (target == null) {
+ startTime = new tmDate().getTime(typed)
+ }
+
+ let nowTime = this.getTime(typed)
+ let diff = Math.abs(nowTime - startTime);
+ let d = 0
+ if (type == 's') {
+ d = diff
+ } else if (type == 'M') {
+ d = diff / 60 / 1000
+ } else if (type == 'h') {
+ d = diff / 60 / 60 / 1000
+ } else if (type == 'd') {
+ d = diff / 60 / 60 / 24 / 1000
+ } else if (type == 'm') {
+ d = diff / 60 / 60 / 24 / 30 / 1000
+ } else if (type == 'y') {
+ d = diff / 60 / 60 / 24 / 30 / 12 / 1000
+ } else if (type == 'w') {
+ let ondate = (1000 * 60 * 60 * 24 * 7);
+ d = diff / ondate
+ }
+
+ return Math.floor(d)
+ }
+ /**
+ * 获取季度
+ * @param {string} type y表示获取本年的4个季度,空值表示获取当前时间所在的季度
+ * @returns {tmDateTypeQuarter[]} 返回一个季度数组{quarter:number,start:string,end:string}
+ */
+ getQuarter(type: string = ''): tmDateTypeQuarter[] {
+ let q1 = [1, 2, 3]
+ let q2 = [4, 5, 6]
+ let q3 = [7, 8, 9]
+ let q4 = [10, 11, 12]
+ let nowMonth = this.getMonth() + 1
+ let qall = [q1, q2, q3, q4] as number[][]
+ let qmap = [] as tmDateTypeQuarter[]
+ if (type == 'y') {
+ for (let i = 0; i < qall.length; i++) {
+ let item = qall[i]
+ let sdate = new tmDate(this.getYear() + '/' + item[0] + '/1')
+ let edate = new tmDate(this.getYear() + '/' + item[item.length - 1] + '/1')
+ let start = sdate.format('YYYY/MM/DD')
+ let end = edate.getDateEndOf('m').format('YYYY/MM/DD')
+ qmap.push({
+ quarter: i,
+ start,
+ end
+ } as tmDateTypeQuarter)
+ }
+ } else {
+ for (let i = 0; i < qall.length; i++) {
+ let item = qall[i]
+ if (item.includes(nowMonth)) {
+ let sdate = new tmDate(this.getYear() + '/' + item[0] + '/1')
+ let edate = new tmDate(this.getYear() + '/' + item[item.length - 1] + '/1')
+ let start = sdate.format('YYYY/MM/DD')
+ let end = edate.getDateEndOf('m').format('YYYY/MM/DD')
+ qmap.push({
+ quarter: i,
+ start,
+ end
+ } as tmDateTypeQuarter)
+ break;
+ }
+ }
+ }
+ return qmap;
+ }
+
+}
+
+/**
+ * 将一个日期转换为tmDate对象
+ */
+export const dateCovertTmDate = function (date: Date){
+ let str = date.getFullYear().toString() + "/" + (date.getMonth() + 1).toString() + "/"
+ + date.getDate().toString() + " " + date.getHours().toString() + ":" + date.getMinutes().toString() + ":" + date.getSeconds().toString()
+ return new tmDate(str)
+}
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/libs/tool.ts b/src/uni_modules/tm-ui/libs/tool.ts
new file mode 100644
index 0000000..1fe4ad4
--- /dev/null
+++ b/src/uni_modules/tm-ui/libs/tool.ts
@@ -0,0 +1,156 @@
+import { getDefaultColor } from "./colors";
+
+export const covetUniNumber = (n: number | string, defaultUnit = 'rpx'): string => {
+ if (typeof n === 'number') {
+ return `${n}${defaultUnit}`
+ }
+ let unit = getUnit(n, defaultUnit);
+ let zhi = n.match(/\d+(\.\d+)?/g);
+ let real = '0'
+ if (zhi) {
+ real = zhi[0]
+ }
+ if (unit === 'rpx' && defaultUnit == 'px') {
+ return uni.upx2px(Number(real)).toString() + unit;
+ }
+ if (unit == 'auto') return unit;
+ return real + unit;
+}
+export const getUnit = (n: string | number, defaultUnit = 'rpx'): string => {
+ if (typeof n === 'number') {
+ return defaultUnit;
+ }
+ const unit = n.match(/[a-zA-Z|%|auto]+/g);
+ if (!unit || !Array.isArray(unit) || unit?.length === 0) return defaultUnit;
+ return unit[0];
+}
+
+/**
+ * 随机一个uid
+ * @param rdix 随机因子
+ * @param length 取的长度
+ * @param isAddStr 是否限制随机结果中的长度,不允许输出长度
+ * @returns String
+ */
+export function getUid(rdix = 1, length = 12): string {
+ let ix = Math.floor(Math.random() * rdix * Math.floor(Math.random() * Date.now())).toString().substring(0, length);
+ return ix;
+}
+
+export const linearValid = (linear: string[]): string => {
+ if (linear.length < 3) return '';
+ return `linear-gradient(${linear.join(',')})`
+}
+export const arrayNumberValid = (border: string | number | Array, defaultValue = '0px'): string[] => {
+ let zhi: string[] = Array.isArray(border) ? border.map((item: string | number): string => covetUniNumber(item)) : [covetUniNumber(border || defaultValue)];
+ if (zhi.length == 0) {
+ zhi = [covetUniNumber(defaultValue)]
+ } else {
+ let diff = 4 - zhi.length;
+ zhi = [...zhi, ...Array(diff).fill(zhi[0])]
+ }
+ return zhi;
+}
+export const arrayNumber = (border: string | number | Array, defaultValue = '0px', len = 2): string[] => {
+ let zhi: string[] = Array.isArray(border) ? border.map((item: string | number): string => covetUniNumber(item)) : [covetUniNumber(border || defaultValue)];
+ if (zhi.length == 0) {
+ zhi = Array(len).fill(covetUniNumber(defaultValue))
+ } else {
+ let diff = len - zhi.length;
+ if (diff < 0) {
+ zhi = zhi.slice(0, len)
+ diff = 0
+ }
+ zhi = [...zhi, ...Array(diff).fill(zhi[zhi.length - 1])]
+ }
+ return zhi;
+}
+
+/**
+ * 用于margin,padding,border-width的校验
+ */
+export const arrayNumberValidByStyleMP = (border: string | number | Array, defaultValue = '0px'): string[] => {
+ let zhi: string[] = Array.isArray(border) ? border.map((item: string | number): string => covetUniNumber(item)) : [covetUniNumber(border || defaultValue)];
+ if (zhi.length == 0) {
+ zhi = [covetUniNumber(defaultValue)]
+ } else if (zhi.length == 2) {
+ zhi = [zhi[1], zhi[0]]
+ } else if (zhi.length == 3) {
+ // 左,上,右
+ // [0,1,2]
+ // 上 右 下 左
+ zhi = [zhi[1], zhi[2], covetUniNumber(defaultValue), zhi[0]]
+ } else if (zhi.length == 4) {
+ zhi = [zhi[1], zhi[2], zhi[3], zhi[0]]
+ }
+ return zhi;
+}
+
+export const arrayNumberValidByStyleBorderColor = (border: string | Array, defaultValue = 'transparent'): string[] => {
+ let zhi: string[] = Array.isArray(border) ? border.map((item: string): string => getDefaultColor(item)) : [getDefaultColor(border || defaultValue)];
+ if (zhi.length == 0) {
+ zhi = [getDefaultColor(defaultValue)]
+ } else if (zhi.length == 2) {
+ zhi = [zhi[1], zhi[0]]
+ } else if (zhi.length == 3) {
+ // 左,上,右
+ // [0,1,2]
+ // 上 右 下 左
+ zhi = [zhi[1], zhi[2], getDefaultColor(defaultValue), zhi[0]]
+ } else if (zhi.length == 4) {
+ zhi = [zhi[1], zhi[2], zhi[3], zhi[0]]
+ }
+ return zhi;
+}
+export const arrayNumberValidByStyleBorderStyle = (border: string | Array, defaultValue = 'none'): string[] => {
+ let zhi: string[] = Array.isArray(border) ? border : [border || defaultValue];
+ if (zhi.length == 0) {
+ zhi = [defaultValue]
+ } else if (zhi.length == 2) {
+ zhi = [zhi[1], zhi[0]]
+ } else if (zhi.length == 3) {
+ // 左,上,右
+ // [0,1,2]
+ // 上 右 下 左
+ zhi = [zhi[1], zhi[2], defaultValue, zhi[0]]
+ } else if (zhi.length == 4) {
+ zhi = [zhi[1], zhi[2], zhi[3], zhi[0]]
+ }
+ return zhi;
+}
+
+/**
+ * 深度克隆
+ * @param {T} data 待大克隆复制的数据
+ * @return {T} any
+ */
+export function deepClone(data: T): T {
+ // 对常见的“非”值,直接返回原来值
+ if (data === null || typeof data !== "object") {
+ return data;
+ }
+ if (Array.isArray(data)) {
+ const clone: any[] = [];
+ for (const item of data) {
+ clone.push(deepClone(item));
+ }
+ return clone as any;
+ }
+ if (data instanceof Date) {
+ return new Date(data.getTime()) as unknown as T;
+ }
+ if (data instanceof RegExp) {
+ const flags = data.flags;
+ return new RegExp(data.source, flags) as unknown as T;
+ }
+ if (typeof data === "function") {
+ return data as unknown as T;
+ }
+ const clone = {} as T;
+ for (const key in data) {
+ if (Object.prototype.hasOwnProperty.call(data, key)) {
+ clone[key] = deepClone(data[key]);
+ }
+ }
+ return clone;
+}
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/local/text.a b/src/uni_modules/tm-ui/local/text.a
new file mode 100644
index 0000000..e69de29
diff --git a/src/uni_modules/tm-ui/package.json b/src/uni_modules/tm-ui/package.json
new file mode 100644
index 0000000..1d822e9
--- /dev/null
+++ b/src/uni_modules/tm-ui/package.json
@@ -0,0 +1,92 @@
+{
+ "id": "tm-ui",
+ "displayName": "tmui3.2.0 vue3 typeScript nvue全平台ui组件库 ",
+ "version": "3.2.0",
+ "description": "tmui3.0 高性能、高颜值、多主题、暗黑模式vue3 ui组件库,没有比它更完美!",
+ "keywords": [
+ "ui",
+ "vue3",
+ "typeScript"
+ ],
+ "repository": "https://gitee.com/LYTB/tmui-design",
+ "engines": {
+ "HBuilderX": "^3.6.18"
+ },
+ "dcloudext": {
+ "sale": {
+ "regular": {
+ "price": "0.00"
+ },
+ "sourcecode": {
+ "price": "0.00"
+ }
+ },
+ "contact": {
+ "qq": ""
+ },
+ "declaration": {
+ "ads": "无",
+ "data": "无",
+ "permissions": "无"
+ },
+ "npmurl": "https://www.npmjs.com/package/tmui-cli",
+ "type": "component-vue"
+ },
+ "uni_modules": {
+ "dependencies": [],
+ "encrypt": [],
+ "platforms": {
+ "cloud": {
+ "tcb": "y",
+ "aliyun": "y",
+ "alipay": "n"
+ },
+ "client": {
+ "Vue": {
+ "vue2": "n",
+ "vue3": "y"
+ },
+ "App": {
+ "app-vue": "y",
+ "app-nvue": "n"
+ },
+ "H5-mobile": {
+ "Safari": {
+ "minVersion": "10"
+ },
+ "Android Browser": {
+ "minVersion": "6"
+ },
+ "微信浏览器(Android)": {
+ "minVersion": "8"
+ },
+ "QQ浏览器(Android)": {
+ "minVersion": "10"
+ }
+ },
+ "H5-pc": {
+ "Chrome": "y",
+ "IE": "n",
+ "Edge": "y",
+ "Firefox": "y",
+ "Safari": "y"
+ },
+ "小程序": {
+ "微信": "y",
+ "阿里": "u",
+ "百度": "u",
+ "字节跳动": "u",
+ "QQ": "u",
+ "钉钉": "u",
+ "快手": "u",
+ "飞书": "u",
+ "京东": "u"
+ },
+ "快应用": {
+ "华为": "u",
+ "联盟": "u"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/readme.md b/src/uni_modules/tm-ui/readme.md
new file mode 100644
index 0000000..2b36241
--- /dev/null
+++ b/src/uni_modules/tm-ui/readme.md
@@ -0,0 +1,74 @@
+# TMUI 3.0 | TMUI4.0
+
+
+
+[](https://gitee.com/LYTB/tmui-design/stargazers) [](https://gitee.com/LYTB/tmui-design/members)
+
+### 声明
+
+**免费开源贡献**是2.0和3.0版本的初衷。
+
+**4.0x我是收费的原生uniappx开发套伯按大量原生插件** 已经有一定的销量,有动力支撑3.0的维护。
+
+从tmui2.0[不维护],3.1.x[不维护],tmui3.2[维护],tmui4.0x[维护]已经和大家度过了5年,感谢大家的支持。实属不容易请大家努力提交3.2.x PR功能让我合并及支持4.0x的维护。
+
+### 各文档链接
+
+| 2.0x vue2 js版本 | 3.0x vue3 ts版本 | 4.0x Uts版本 |
+| --- | --- | --- |
+| [2.0插件](https://ext.dcloud.net.cn/plugin?id=5949) | [3.0](https://ext.dcloud.net.cn/plugin?id=8372) | [4.0插件](https://ext.dcloud.net.cn/plugin?id=16369) |
+
+### [tmui3.0开发文档](https://tmui.design/)
+
+TMUI3.2.0继承tmui4.0x的规范及标准。目前已经发布3.2.0预览版本组件有点少,但够用。后续补齐。
+
+#### 如果你是之前的3.1.x用户请注意:
+
+* 1. 本版本不向下兼容!!!!!
+* 2. 不再兼容nvue平台,请谨慎升级
+* 3. 3.1.x及2.0.x版本已经不维护,不需要提bug到仓库,当前仅接受3.2.x的bug和维护及pr
+
+#### 如果你是tmui2.0用户请注意:
+这是vue3 setup ts版本不是vue2 js版本。请先学习相关知识。
+
+#### 如果你是TMUI4.0x VIP/赞助用户请注意:
+这是app vue,小程序版本,并非uts,它是ts写的。语法与uts是有差异的。但相对来说tmui3.2.x是继承tmui4.0x的
+因此属性规范和标准是一样的(很少不一样,我尽量控制一样)。因为appvue,小程序是无dom的因此有些动画,手势没有x流畅
+请自行选择用哪个版本写app。你可以用4.0x写原生app然后混合开发webview非必要页面嵌入到你的原生应用中大大提升你的开发效率,并且风格一样,可以对比大厂app做法。
+
+作者发布了tmui-cli工具方便大家更新创建tmui项目。
+2022.9.7 更新了cli工具
+2024.10.10 更新了 cli工具,如果想创建tmui3.0.x请务必按下面执行。
+
+```npm
+npm -g install tmui-cli
+安装成功后输入:tmui 按回车
+查看所有可用命令
+```
+
+[](https://gitee.com/LYTB/tmui-design)
+
+
+### [注意事项](https://ext.dcloud.net.cn/plugin?name=tm-ui)
+
+- 仅接受tmui3.2.x的bug和维护及pr
+- 提出建议和bug,请访问码云代码库:[点击打开](https://gitee.com/LYTB/tmui-design)
+,并反馈相关bug或者建议.
+
+---
+### [贡献者](https://tmui.design/doc/start/%E8%B4%A1%E7%8C%AE%E8%80%85.html#%E8%B4%A1%E7%8C%AE%E4%BA%BA%E5%91%98)
+在伟大的无私贡献人员帮助下,使得此开源项目的可持续性发展更加的持久。他/她们理应得到展示,并为大家所知。不管是如何的贡献,哪怕很小的一部分也值得称赞!!
+点击图片查看更多
+
+[](https://tmui.design/doc/start/%E8%B4%A1%E7%8C%AE%E8%80%85.html)
+
+
+----
+
+
+### 赞助项目,以持续更新
+
+如果帮到了你,适当的赞助有助力作者成果上的回报,报以项目的持续更新。
+
+
+
diff --git a/src/uni_modules/tm-ui/router/text.a b/src/uni_modules/tm-ui/router/text.a
new file mode 100644
index 0000000..e69de29
diff --git a/src/uni_modules/tm-ui/static/pca-code.json b/src/uni_modules/tm-ui/static/pca-code.json
new file mode 100644
index 0000000..59c90cf
--- /dev/null
+++ b/src/uni_modules/tm-ui/static/pca-code.json
@@ -0,0 +1 @@
+[{"code":"11","name":"北京市","children":[{"code":"1101","name":"市辖区","children":[{"code":"110101","name":"东城区"},{"code":"110102","name":"西城区"},{"code":"110105","name":"朝阳区"},{"code":"110106","name":"丰台区"},{"code":"110107","name":"石景山区"},{"code":"110108","name":"海淀区"},{"code":"110109","name":"门头沟区"},{"code":"110111","name":"房山区"},{"code":"110112","name":"通州区"},{"code":"110113","name":"顺义区"},{"code":"110114","name":"昌平区"},{"code":"110115","name":"大兴区"},{"code":"110116","name":"怀柔区"},{"code":"110117","name":"平谷区"},{"code":"110118","name":"密云区"},{"code":"110119","name":"延庆区"}]}]},{"code":"12","name":"天津市","children":[{"code":"1201","name":"市辖区","children":[{"code":"120101","name":"和平区"},{"code":"120102","name":"河东区"},{"code":"120103","name":"河西区"},{"code":"120104","name":"南开区"},{"code":"120105","name":"河北区"},{"code":"120106","name":"红桥区"},{"code":"120110","name":"东丽区"},{"code":"120111","name":"西青区"},{"code":"120112","name":"津南区"},{"code":"120113","name":"北辰区"},{"code":"120114","name":"武清区"},{"code":"120115","name":"宝坻区"},{"code":"120116","name":"滨海新区"},{"code":"120117","name":"宁河区"},{"code":"120118","name":"静海区"},{"code":"120119","name":"蓟州区"}]}]},{"code":"13","name":"河北省","children":[{"code":"1301","name":"石家庄市","children":[{"code":"130102","name":"长安区"},{"code":"130104","name":"桥西区"},{"code":"130105","name":"新华区"},{"code":"130107","name":"井陉矿区"},{"code":"130108","name":"裕华区"},{"code":"130109","name":"藁城区"},{"code":"130110","name":"鹿泉区"},{"code":"130111","name":"栾城区"},{"code":"130121","name":"井陉县"},{"code":"130123","name":"正定县"},{"code":"130125","name":"行唐县"},{"code":"130126","name":"灵寿县"},{"code":"130127","name":"高邑县"},{"code":"130128","name":"深泽县"},{"code":"130129","name":"赞皇县"},{"code":"130130","name":"无极县"},{"code":"130131","name":"平山县"},{"code":"130132","name":"元氏县"},{"code":"130133","name":"赵县"},{"code":"130171","name":"石家庄高新技术产业开发区"},{"code":"130172","name":"石家庄循环化工园区"},{"code":"130181","name":"辛集市"},{"code":"130183","name":"晋州市"},{"code":"130184","name":"新乐市"}]},{"code":"1302","name":"唐山市","children":[{"code":"130202","name":"路南区"},{"code":"130203","name":"路北区"},{"code":"130204","name":"古冶区"},{"code":"130205","name":"开平区"},{"code":"130207","name":"丰南区"},{"code":"130208","name":"丰润区"},{"code":"130209","name":"曹妃甸区"},{"code":"130224","name":"滦南县"},{"code":"130225","name":"乐亭县"},{"code":"130227","name":"迁西县"},{"code":"130229","name":"玉田县"},{"code":"130271","name":"河北唐山芦台经济开发区"},{"code":"130272","name":"唐山市汉沽管理区"},{"code":"130273","name":"唐山高新技术产业开发区"},{"code":"130274","name":"河北唐山海港经济开发区"},{"code":"130281","name":"遵化市"},{"code":"130283","name":"迁安市"},{"code":"130284","name":"滦州市"}]},{"code":"1303","name":"秦皇岛市","children":[{"code":"130302","name":"海港区"},{"code":"130303","name":"山海关区"},{"code":"130304","name":"北戴河区"},{"code":"130306","name":"抚宁区"},{"code":"130321","name":"青龙满族自治县"},{"code":"130322","name":"昌黎县"},{"code":"130324","name":"卢龙县"},{"code":"130371","name":"秦皇岛市经济技术开发区"},{"code":"130372","name":"北戴河新区"}]},{"code":"1304","name":"邯郸市","children":[{"code":"130402","name":"邯山区"},{"code":"130403","name":"丛台区"},{"code":"130404","name":"复兴区"},{"code":"130406","name":"峰峰矿区"},{"code":"130407","name":"肥乡区"},{"code":"130408","name":"永年区"},{"code":"130423","name":"临漳县"},{"code":"130424","name":"成安县"},{"code":"130425","name":"大名县"},{"code":"130426","name":"涉县"},{"code":"130427","name":"磁县"},{"code":"130430","name":"邱县"},{"code":"130431","name":"鸡泽县"},{"code":"130432","name":"广平县"},{"code":"130433","name":"馆陶县"},{"code":"130434","name":"魏县"},{"code":"130435","name":"曲周县"},{"code":"130471","name":"邯郸经济技术开发区"},{"code":"130473","name":"邯郸冀南新区"},{"code":"130481","name":"武安市"}]},{"code":"1305","name":"邢台市","children":[{"code":"130502","name":"襄都区"},{"code":"130503","name":"信都区"},{"code":"130505","name":"任泽区"},{"code":"130506","name":"南和区"},{"code":"130522","name":"临城县"},{"code":"130523","name":"内丘县"},{"code":"130524","name":"柏乡县"},{"code":"130525","name":"隆尧县"},{"code":"130528","name":"宁晋县"},{"code":"130529","name":"巨鹿县"},{"code":"130530","name":"新河县"},{"code":"130531","name":"广宗县"},{"code":"130532","name":"平乡县"},{"code":"130533","name":"威县"},{"code":"130534","name":"清河县"},{"code":"130535","name":"临西县"},{"code":"130571","name":"河北邢台经济开发区"},{"code":"130581","name":"南宫市"},{"code":"130582","name":"沙河市"}]},{"code":"1306","name":"保定市","children":[{"code":"130602","name":"竞秀区"},{"code":"130606","name":"莲池区"},{"code":"130607","name":"满城区"},{"code":"130608","name":"清苑区"},{"code":"130609","name":"徐水区"},{"code":"130623","name":"涞水县"},{"code":"130624","name":"阜平县"},{"code":"130626","name":"定兴县"},{"code":"130627","name":"唐县"},{"code":"130628","name":"高阳县"},{"code":"130629","name":"容城县"},{"code":"130630","name":"涞源县"},{"code":"130631","name":"望都县"},{"code":"130632","name":"安新县"},{"code":"130633","name":"易县"},{"code":"130634","name":"曲阳县"},{"code":"130635","name":"蠡县"},{"code":"130636","name":"顺平县"},{"code":"130637","name":"博野县"},{"code":"130638","name":"雄县"},{"code":"130671","name":"保定高新技术产业开发区"},{"code":"130672","name":"保定白沟新城"},{"code":"130681","name":"涿州市"},{"code":"130682","name":"定州市"},{"code":"130683","name":"安国市"},{"code":"130684","name":"高碑店市"}]},{"code":"1307","name":"张家口市","children":[{"code":"130702","name":"桥东区"},{"code":"130703","name":"桥西区"},{"code":"130705","name":"宣化区"},{"code":"130706","name":"下花园区"},{"code":"130708","name":"万全区"},{"code":"130709","name":"崇礼区"},{"code":"130722","name":"张北县"},{"code":"130723","name":"康保县"},{"code":"130724","name":"沽源县"},{"code":"130725","name":"尚义县"},{"code":"130726","name":"蔚县"},{"code":"130727","name":"阳原县"},{"code":"130728","name":"怀安县"},{"code":"130730","name":"怀来县"},{"code":"130731","name":"涿鹿县"},{"code":"130732","name":"赤城县"},{"code":"130771","name":"张家口经济开发区"},{"code":"130772","name":"张家口市察北管理区"},{"code":"130773","name":"张家口市塞北管理区"}]},{"code":"1308","name":"承德市","children":[{"code":"130802","name":"双桥区"},{"code":"130803","name":"双滦区"},{"code":"130804","name":"鹰手营子矿区"},{"code":"130821","name":"承德县"},{"code":"130822","name":"兴隆县"},{"code":"130824","name":"滦平县"},{"code":"130825","name":"隆化县"},{"code":"130826","name":"丰宁满族自治县"},{"code":"130827","name":"宽城满族自治县"},{"code":"130828","name":"围场满族蒙古族自治县"},{"code":"130871","name":"承德高新技术产业开发区"},{"code":"130881","name":"平泉市"}]},{"code":"1309","name":"沧州市","children":[{"code":"130902","name":"新华区"},{"code":"130903","name":"运河区"},{"code":"130921","name":"沧县"},{"code":"130922","name":"青县"},{"code":"130923","name":"东光县"},{"code":"130924","name":"海兴县"},{"code":"130925","name":"盐山县"},{"code":"130926","name":"肃宁县"},{"code":"130927","name":"南皮县"},{"code":"130928","name":"吴桥县"},{"code":"130929","name":"献县"},{"code":"130930","name":"孟村回族自治县"},{"code":"130971","name":"河北沧州经济开发区"},{"code":"130972","name":"沧州高新技术产业开发区"},{"code":"130973","name":"沧州渤海新区"},{"code":"130981","name":"泊头市"},{"code":"130982","name":"任丘市"},{"code":"130983","name":"黄骅市"},{"code":"130984","name":"河间市"}]},{"code":"1310","name":"廊坊市","children":[{"code":"131002","name":"安次区"},{"code":"131003","name":"广阳区"},{"code":"131022","name":"固安县"},{"code":"131023","name":"永清县"},{"code":"131024","name":"香河县"},{"code":"131025","name":"大城县"},{"code":"131026","name":"文安县"},{"code":"131028","name":"大厂回族自治县"},{"code":"131071","name":"廊坊经济技术开发区"},{"code":"131081","name":"霸州市"},{"code":"131082","name":"三河市"}]},{"code":"1311","name":"衡水市","children":[{"code":"131102","name":"桃城区"},{"code":"131103","name":"冀州区"},{"code":"131121","name":"枣强县"},{"code":"131122","name":"武邑县"},{"code":"131123","name":"武强县"},{"code":"131124","name":"饶阳县"},{"code":"131125","name":"安平县"},{"code":"131126","name":"故城县"},{"code":"131127","name":"景县"},{"code":"131128","name":"阜城县"},{"code":"131171","name":"河北衡水高新技术产业开发区"},{"code":"131172","name":"衡水滨湖新区"},{"code":"131182","name":"深州市"}]}]},{"code":"14","name":"山西省","children":[{"code":"1401","name":"太原市","children":[{"code":"140105","name":"小店区"},{"code":"140106","name":"迎泽区"},{"code":"140107","name":"杏花岭区"},{"code":"140108","name":"尖草坪区"},{"code":"140109","name":"万柏林区"},{"code":"140110","name":"晋源区"},{"code":"140121","name":"清徐县"},{"code":"140122","name":"阳曲县"},{"code":"140123","name":"娄烦县"},{"code":"140171","name":"山西转型综合改革示范区"},{"code":"140181","name":"古交市"}]},{"code":"1402","name":"大同市","children":[{"code":"140212","name":"新荣区"},{"code":"140213","name":"平城区"},{"code":"140214","name":"云冈区"},{"code":"140215","name":"云州区"},{"code":"140221","name":"阳高县"},{"code":"140222","name":"天镇县"},{"code":"140223","name":"广灵县"},{"code":"140224","name":"灵丘县"},{"code":"140225","name":"浑源县"},{"code":"140226","name":"左云县"},{"code":"140271","name":"山西大同经济开发区"}]},{"code":"1403","name":"阳泉市","children":[{"code":"140302","name":"城区"},{"code":"140303","name":"矿区"},{"code":"140311","name":"郊区"},{"code":"140321","name":"平定县"},{"code":"140322","name":"盂县"}]},{"code":"1404","name":"长治市","children":[{"code":"140403","name":"潞州区"},{"code":"140404","name":"上党区"},{"code":"140405","name":"屯留区"},{"code":"140406","name":"潞城区"},{"code":"140423","name":"襄垣县"},{"code":"140425","name":"平顺县"},{"code":"140426","name":"黎城县"},{"code":"140427","name":"壶关县"},{"code":"140428","name":"长子县"},{"code":"140429","name":"武乡县"},{"code":"140430","name":"沁县"},{"code":"140431","name":"沁源县"}]},{"code":"1405","name":"晋城市","children":[{"code":"140502","name":"城区"},{"code":"140521","name":"沁水县"},{"code":"140522","name":"阳城县"},{"code":"140524","name":"陵川县"},{"code":"140525","name":"泽州县"},{"code":"140581","name":"高平市"}]},{"code":"1406","name":"朔州市","children":[{"code":"140602","name":"朔城区"},{"code":"140603","name":"平鲁区"},{"code":"140621","name":"山阴县"},{"code":"140622","name":"应县"},{"code":"140623","name":"右玉县"},{"code":"140671","name":"山西朔州经济开发区"},{"code":"140681","name":"怀仁市"}]},{"code":"1407","name":"晋中市","children":[{"code":"140702","name":"榆次区"},{"code":"140703","name":"太谷区"},{"code":"140721","name":"榆社县"},{"code":"140722","name":"左权县"},{"code":"140723","name":"和顺县"},{"code":"140724","name":"昔阳县"},{"code":"140725","name":"寿阳县"},{"code":"140727","name":"祁县"},{"code":"140728","name":"平遥县"},{"code":"140729","name":"灵石县"},{"code":"140781","name":"介休市"}]},{"code":"1408","name":"运城市","children":[{"code":"140802","name":"盐湖区"},{"code":"140821","name":"临猗县"},{"code":"140822","name":"万荣县"},{"code":"140823","name":"闻喜县"},{"code":"140824","name":"稷山县"},{"code":"140825","name":"新绛县"},{"code":"140826","name":"绛县"},{"code":"140827","name":"垣曲县"},{"code":"140828","name":"夏县"},{"code":"140829","name":"平陆县"},{"code":"140830","name":"芮城县"},{"code":"140881","name":"永济市"},{"code":"140882","name":"河津市"}]},{"code":"1409","name":"忻州市","children":[{"code":"140902","name":"忻府区"},{"code":"140921","name":"定襄县"},{"code":"140922","name":"五台县"},{"code":"140923","name":"代县"},{"code":"140924","name":"繁峙县"},{"code":"140925","name":"宁武县"},{"code":"140926","name":"静乐县"},{"code":"140927","name":"神池县"},{"code":"140928","name":"五寨县"},{"code":"140929","name":"岢岚县"},{"code":"140930","name":"河曲县"},{"code":"140931","name":"保德县"},{"code":"140932","name":"偏关县"},{"code":"140971","name":"五台山风景名胜区"},{"code":"140981","name":"原平市"}]},{"code":"1410","name":"临汾市","children":[{"code":"141002","name":"尧都区"},{"code":"141021","name":"曲沃县"},{"code":"141022","name":"翼城县"},{"code":"141023","name":"襄汾县"},{"code":"141024","name":"洪洞县"},{"code":"141025","name":"古县"},{"code":"141026","name":"安泽县"},{"code":"141027","name":"浮山县"},{"code":"141028","name":"吉县"},{"code":"141029","name":"乡宁县"},{"code":"141030","name":"大宁县"},{"code":"141031","name":"隰县"},{"code":"141032","name":"永和县"},{"code":"141033","name":"蒲县"},{"code":"141034","name":"汾西县"},{"code":"141081","name":"侯马市"},{"code":"141082","name":"霍州市"}]},{"code":"1411","name":"吕梁市","children":[{"code":"141102","name":"离石区"},{"code":"141121","name":"文水县"},{"code":"141122","name":"交城县"},{"code":"141123","name":"兴县"},{"code":"141124","name":"临县"},{"code":"141125","name":"柳林县"},{"code":"141126","name":"石楼县"},{"code":"141127","name":"岚县"},{"code":"141128","name":"方山县"},{"code":"141129","name":"中阳县"},{"code":"141130","name":"交口县"},{"code":"141181","name":"孝义市"},{"code":"141182","name":"汾阳市"}]}]},{"code":"15","name":"内蒙古自治区","children":[{"code":"1501","name":"呼和浩特市","children":[{"code":"150102","name":"新城区"},{"code":"150103","name":"回民区"},{"code":"150104","name":"玉泉区"},{"code":"150105","name":"赛罕区"},{"code":"150121","name":"土默特左旗"},{"code":"150122","name":"托克托县"},{"code":"150123","name":"和林格尔县"},{"code":"150124","name":"清水河县"},{"code":"150125","name":"武川县"},{"code":"150172","name":"呼和浩特经济技术开发区"}]},{"code":"1502","name":"包头市","children":[{"code":"150202","name":"东河区"},{"code":"150203","name":"昆都仑区"},{"code":"150204","name":"青山区"},{"code":"150205","name":"石拐区"},{"code":"150206","name":"白云鄂博矿区"},{"code":"150207","name":"九原区"},{"code":"150221","name":"土默特右旗"},{"code":"150222","name":"固阳县"},{"code":"150223","name":"达尔罕茂明安联合旗"},{"code":"150271","name":"包头稀土高新技术产业开发区"}]},{"code":"1503","name":"乌海市","children":[{"code":"150302","name":"海勃湾区"},{"code":"150303","name":"海南区"},{"code":"150304","name":"乌达区"}]},{"code":"1504","name":"赤峰市","children":[{"code":"150402","name":"红山区"},{"code":"150403","name":"元宝山区"},{"code":"150404","name":"松山区"},{"code":"150421","name":"阿鲁科尔沁旗"},{"code":"150422","name":"巴林左旗"},{"code":"150423","name":"巴林右旗"},{"code":"150424","name":"林西县"},{"code":"150425","name":"克什克腾旗"},{"code":"150426","name":"翁牛特旗"},{"code":"150428","name":"喀喇沁旗"},{"code":"150429","name":"宁城县"},{"code":"150430","name":"敖汉旗"}]},{"code":"1505","name":"通辽市","children":[{"code":"150502","name":"科尔沁区"},{"code":"150521","name":"科尔沁左翼中旗"},{"code":"150522","name":"科尔沁左翼后旗"},{"code":"150523","name":"开鲁县"},{"code":"150524","name":"库伦旗"},{"code":"150525","name":"奈曼旗"},{"code":"150526","name":"扎鲁特旗"},{"code":"150571","name":"通辽经济技术开发区"},{"code":"150581","name":"霍林郭勒市"}]},{"code":"1506","name":"鄂尔多斯市","children":[{"code":"150602","name":"东胜区"},{"code":"150603","name":"康巴什区"},{"code":"150621","name":"达拉特旗"},{"code":"150622","name":"准格尔旗"},{"code":"150623","name":"鄂托克前旗"},{"code":"150624","name":"鄂托克旗"},{"code":"150625","name":"杭锦旗"},{"code":"150626","name":"乌审旗"},{"code":"150627","name":"伊金霍洛旗"}]},{"code":"1507","name":"呼伦贝尔市","children":[{"code":"150702","name":"海拉尔区"},{"code":"150703","name":"扎赉诺尔区"},{"code":"150721","name":"阿荣旗"},{"code":"150722","name":"莫力达瓦达斡尔族自治旗"},{"code":"150723","name":"鄂伦春自治旗"},{"code":"150724","name":"鄂温克族自治旗"},{"code":"150725","name":"陈巴尔虎旗"},{"code":"150726","name":"新巴尔虎左旗"},{"code":"150727","name":"新巴尔虎右旗"},{"code":"150781","name":"满洲里市"},{"code":"150782","name":"牙克石市"},{"code":"150783","name":"扎兰屯市"},{"code":"150784","name":"额尔古纳市"},{"code":"150785","name":"根河市"}]},{"code":"1508","name":"巴彦淖尔市","children":[{"code":"150802","name":"临河区"},{"code":"150821","name":"五原县"},{"code":"150822","name":"磴口县"},{"code":"150823","name":"乌拉特前旗"},{"code":"150824","name":"乌拉特中旗"},{"code":"150825","name":"乌拉特后旗"},{"code":"150826","name":"杭锦后旗"}]},{"code":"1509","name":"乌兰察布市","children":[{"code":"150902","name":"集宁区"},{"code":"150921","name":"卓资县"},{"code":"150922","name":"化德县"},{"code":"150923","name":"商都县"},{"code":"150924","name":"兴和县"},{"code":"150925","name":"凉城县"},{"code":"150926","name":"察哈尔右翼前旗"},{"code":"150927","name":"察哈尔右翼中旗"},{"code":"150928","name":"察哈尔右翼后旗"},{"code":"150929","name":"四子王旗"},{"code":"150981","name":"丰镇市"}]},{"code":"1522","name":"兴安盟","children":[{"code":"152201","name":"乌兰浩特市"},{"code":"152202","name":"阿尔山市"},{"code":"152221","name":"科尔沁右翼前旗"},{"code":"152222","name":"科尔沁右翼中旗"},{"code":"152223","name":"扎赉特旗"},{"code":"152224","name":"突泉县"}]},{"code":"1525","name":"锡林郭勒盟","children":[{"code":"152501","name":"二连浩特市"},{"code":"152502","name":"锡林浩特市"},{"code":"152522","name":"阿巴嘎旗"},{"code":"152523","name":"苏尼特左旗"},{"code":"152524","name":"苏尼特右旗"},{"code":"152525","name":"东乌珠穆沁旗"},{"code":"152526","name":"西乌珠穆沁旗"},{"code":"152527","name":"太仆寺旗"},{"code":"152528","name":"镶黄旗"},{"code":"152529","name":"正镶白旗"},{"code":"152530","name":"正蓝旗"},{"code":"152531","name":"多伦县"},{"code":"152571","name":"乌拉盖管理区管委会"}]},{"code":"1529","name":"阿拉善盟","children":[{"code":"152921","name":"阿拉善左旗"},{"code":"152922","name":"阿拉善右旗"},{"code":"152923","name":"额济纳旗"},{"code":"152971","name":"内蒙古阿拉善高新技术产业开发区"}]}]},{"code":"21","name":"辽宁省","children":[{"code":"2101","name":"沈阳市","children":[{"code":"210102","name":"和平区"},{"code":"210103","name":"沈河区"},{"code":"210104","name":"大东区"},{"code":"210105","name":"皇姑区"},{"code":"210106","name":"铁西区"},{"code":"210111","name":"苏家屯区"},{"code":"210112","name":"浑南区"},{"code":"210113","name":"沈北新区"},{"code":"210114","name":"于洪区"},{"code":"210115","name":"辽中区"},{"code":"210123","name":"康平县"},{"code":"210124","name":"法库县"},{"code":"210181","name":"新民市"}]},{"code":"2102","name":"大连市","children":[{"code":"210202","name":"中山区"},{"code":"210203","name":"西岗区"},{"code":"210204","name":"沙河口区"},{"code":"210211","name":"甘井子区"},{"code":"210212","name":"旅顺口区"},{"code":"210213","name":"金州区"},{"code":"210214","name":"普兰店区"},{"code":"210224","name":"长海县"},{"code":"210281","name":"瓦房店市"},{"code":"210283","name":"庄河市"}]},{"code":"2103","name":"鞍山市","children":[{"code":"210302","name":"铁东区"},{"code":"210303","name":"铁西区"},{"code":"210304","name":"立山区"},{"code":"210311","name":"千山区"},{"code":"210321","name":"台安县"},{"code":"210323","name":"岫岩满族自治县"},{"code":"210381","name":"海城市"}]},{"code":"2104","name":"抚顺市","children":[{"code":"210402","name":"新抚区"},{"code":"210403","name":"东洲区"},{"code":"210404","name":"望花区"},{"code":"210411","name":"顺城区"},{"code":"210421","name":"抚顺县"},{"code":"210422","name":"新宾满族自治县"},{"code":"210423","name":"清原满族自治县"}]},{"code":"2105","name":"本溪市","children":[{"code":"210502","name":"平山区"},{"code":"210503","name":"溪湖区"},{"code":"210504","name":"明山区"},{"code":"210505","name":"南芬区"},{"code":"210521","name":"本溪满族自治县"},{"code":"210522","name":"桓仁满族自治县"}]},{"code":"2106","name":"丹东市","children":[{"code":"210602","name":"元宝区"},{"code":"210603","name":"振兴区"},{"code":"210604","name":"振安区"},{"code":"210624","name":"宽甸满族自治县"},{"code":"210681","name":"东港市"},{"code":"210682","name":"凤城市"}]},{"code":"2107","name":"锦州市","children":[{"code":"210702","name":"古塔区"},{"code":"210703","name":"凌河区"},{"code":"210711","name":"太和区"},{"code":"210726","name":"黑山县"},{"code":"210727","name":"义县"},{"code":"210781","name":"凌海市"},{"code":"210782","name":"北镇市"}]},{"code":"2108","name":"营口市","children":[{"code":"210802","name":"站前区"},{"code":"210803","name":"西市区"},{"code":"210804","name":"鲅鱼圈区"},{"code":"210811","name":"老边区"},{"code":"210881","name":"盖州市"},{"code":"210882","name":"大石桥市"}]},{"code":"2109","name":"阜新市","children":[{"code":"210902","name":"海州区"},{"code":"210903","name":"新邱区"},{"code":"210904","name":"太平区"},{"code":"210905","name":"清河门区"},{"code":"210911","name":"细河区"},{"code":"210921","name":"阜新蒙古族自治县"},{"code":"210922","name":"彰武县"}]},{"code":"2110","name":"辽阳市","children":[{"code":"211002","name":"白塔区"},{"code":"211003","name":"文圣区"},{"code":"211004","name":"宏伟区"},{"code":"211005","name":"弓长岭区"},{"code":"211011","name":"太子河区"},{"code":"211021","name":"辽阳县"},{"code":"211081","name":"灯塔市"}]},{"code":"2111","name":"盘锦市","children":[{"code":"211102","name":"双台子区"},{"code":"211103","name":"兴隆台区"},{"code":"211104","name":"大洼区"},{"code":"211122","name":"盘山县"}]},{"code":"2112","name":"铁岭市","children":[{"code":"211202","name":"银州区"},{"code":"211204","name":"清河区"},{"code":"211221","name":"铁岭县"},{"code":"211223","name":"西丰县"},{"code":"211224","name":"昌图县"},{"code":"211281","name":"调兵山市"},{"code":"211282","name":"开原市"}]},{"code":"2113","name":"朝阳市","children":[{"code":"211302","name":"双塔区"},{"code":"211303","name":"龙城区"},{"code":"211321","name":"朝阳县"},{"code":"211322","name":"建平县"},{"code":"211324","name":"喀喇沁左翼蒙古族自治县"},{"code":"211381","name":"北票市"},{"code":"211382","name":"凌源市"}]},{"code":"2114","name":"葫芦岛市","children":[{"code":"211402","name":"连山区"},{"code":"211403","name":"龙港区"},{"code":"211404","name":"南票区"},{"code":"211421","name":"绥中县"},{"code":"211422","name":"建昌县"},{"code":"211481","name":"兴城市"}]}]},{"code":"22","name":"吉林省","children":[{"code":"2201","name":"长春市","children":[{"code":"220102","name":"南关区"},{"code":"220103","name":"宽城区"},{"code":"220104","name":"朝阳区"},{"code":"220105","name":"二道区"},{"code":"220106","name":"绿园区"},{"code":"220112","name":"双阳区"},{"code":"220113","name":"九台区"},{"code":"220122","name":"农安县"},{"code":"220171","name":"长春经济技术开发区"},{"code":"220172","name":"长春净月高新技术产业开发区"},{"code":"220173","name":"长春高新技术产业开发区"},{"code":"220174","name":"长春汽车经济技术开发区"},{"code":"220182","name":"榆树市"},{"code":"220183","name":"德惠市"},{"code":"220184","name":"公主岭市"}]},{"code":"2202","name":"吉林市","children":[{"code":"220202","name":"昌邑区"},{"code":"220203","name":"龙潭区"},{"code":"220204","name":"船营区"},{"code":"220211","name":"丰满区"},{"code":"220221","name":"永吉县"},{"code":"220271","name":"吉林经济开发区"},{"code":"220272","name":"吉林高新技术产业开发区"},{"code":"220273","name":"吉林中国新加坡食品区"},{"code":"220281","name":"蛟河市"},{"code":"220282","name":"桦甸市"},{"code":"220283","name":"舒兰市"},{"code":"220284","name":"磐石市"}]},{"code":"2203","name":"四平市","children":[{"code":"220302","name":"铁西区"},{"code":"220303","name":"铁东区"},{"code":"220322","name":"梨树县"},{"code":"220323","name":"伊通满族自治县"},{"code":"220382","name":"双辽市"}]},{"code":"2204","name":"辽源市","children":[{"code":"220402","name":"龙山区"},{"code":"220403","name":"西安区"},{"code":"220421","name":"东丰县"},{"code":"220422","name":"东辽县"}]},{"code":"2205","name":"通化市","children":[{"code":"220502","name":"东昌区"},{"code":"220503","name":"二道江区"},{"code":"220521","name":"通化县"},{"code":"220523","name":"辉南县"},{"code":"220524","name":"柳河县"},{"code":"220581","name":"梅河口市"},{"code":"220582","name":"集安市"}]},{"code":"2206","name":"白山市","children":[{"code":"220602","name":"浑江区"},{"code":"220605","name":"江源区"},{"code":"220621","name":"抚松县"},{"code":"220622","name":"靖宇县"},{"code":"220623","name":"长白朝鲜族自治县"},{"code":"220681","name":"临江市"}]},{"code":"2207","name":"松原市","children":[{"code":"220702","name":"宁江区"},{"code":"220721","name":"前郭尔罗斯蒙古族自治县"},{"code":"220722","name":"长岭县"},{"code":"220723","name":"乾安县"},{"code":"220771","name":"吉林松原经济开发区"},{"code":"220781","name":"扶余市"}]},{"code":"2208","name":"白城市","children":[{"code":"220802","name":"洮北区"},{"code":"220821","name":"镇赉县"},{"code":"220822","name":"通榆县"},{"code":"220871","name":"吉林白城经济开发区"},{"code":"220881","name":"洮南市"},{"code":"220882","name":"大安市"}]},{"code":"2224","name":"延边朝鲜族自治州","children":[{"code":"222401","name":"延吉市"},{"code":"222402","name":"图们市"},{"code":"222403","name":"敦化市"},{"code":"222404","name":"珲春市"},{"code":"222405","name":"龙井市"},{"code":"222406","name":"和龙市"},{"code":"222424","name":"汪清县"},{"code":"222426","name":"安图县"}]}]},{"code":"23","name":"黑龙江省","children":[{"code":"2301","name":"哈尔滨市","children":[{"code":"230102","name":"道里区"},{"code":"230103","name":"南岗区"},{"code":"230104","name":"道外区"},{"code":"230108","name":"平房区"},{"code":"230109","name":"松北区"},{"code":"230110","name":"香坊区"},{"code":"230111","name":"呼兰区"},{"code":"230112","name":"阿城区"},{"code":"230113","name":"双城区"},{"code":"230123","name":"依兰县"},{"code":"230124","name":"方正县"},{"code":"230125","name":"宾县"},{"code":"230126","name":"巴彦县"},{"code":"230127","name":"木兰县"},{"code":"230128","name":"通河县"},{"code":"230129","name":"延寿县"},{"code":"230183","name":"尚志市"},{"code":"230184","name":"五常市"}]},{"code":"2302","name":"齐齐哈尔市","children":[{"code":"230202","name":"龙沙区"},{"code":"230203","name":"建华区"},{"code":"230204","name":"铁锋区"},{"code":"230205","name":"昂昂溪区"},{"code":"230206","name":"富拉尔基区"},{"code":"230207","name":"碾子山区"},{"code":"230208","name":"梅里斯达斡尔族区"},{"code":"230221","name":"龙江县"},{"code":"230223","name":"依安县"},{"code":"230224","name":"泰来县"},{"code":"230225","name":"甘南县"},{"code":"230227","name":"富裕县"},{"code":"230229","name":"克山县"},{"code":"230230","name":"克东县"},{"code":"230231","name":"拜泉县"},{"code":"230281","name":"讷河市"}]},{"code":"2303","name":"鸡西市","children":[{"code":"230302","name":"鸡冠区"},{"code":"230303","name":"恒山区"},{"code":"230304","name":"滴道区"},{"code":"230305","name":"梨树区"},{"code":"230306","name":"城子河区"},{"code":"230307","name":"麻山区"},{"code":"230321","name":"鸡东县"},{"code":"230381","name":"虎林市"},{"code":"230382","name":"密山市"}]},{"code":"2304","name":"鹤岗市","children":[{"code":"230402","name":"向阳区"},{"code":"230403","name":"工农区"},{"code":"230404","name":"南山区"},{"code":"230405","name":"兴安区"},{"code":"230406","name":"东山区"},{"code":"230407","name":"兴山区"},{"code":"230421","name":"萝北县"},{"code":"230422","name":"绥滨县"}]},{"code":"2305","name":"双鸭山市","children":[{"code":"230502","name":"尖山区"},{"code":"230503","name":"岭东区"},{"code":"230505","name":"四方台区"},{"code":"230506","name":"宝山区"},{"code":"230521","name":"集贤县"},{"code":"230522","name":"友谊县"},{"code":"230523","name":"宝清县"},{"code":"230524","name":"饶河县"}]},{"code":"2306","name":"大庆市","children":[{"code":"230602","name":"萨尔图区"},{"code":"230603","name":"龙凤区"},{"code":"230604","name":"让胡路区"},{"code":"230605","name":"红岗区"},{"code":"230606","name":"大同区"},{"code":"230621","name":"肇州县"},{"code":"230622","name":"肇源县"},{"code":"230623","name":"林甸县"},{"code":"230624","name":"杜尔伯特蒙古族自治县"},{"code":"230671","name":"大庆高新技术产业开发区"}]},{"code":"2307","name":"伊春市","children":[{"code":"230717","name":"伊美区"},{"code":"230718","name":"乌翠区"},{"code":"230719","name":"友好区"},{"code":"230722","name":"嘉荫县"},{"code":"230723","name":"汤旺县"},{"code":"230724","name":"丰林县"},{"code":"230725","name":"大箐山县"},{"code":"230726","name":"南岔县"},{"code":"230751","name":"金林区"},{"code":"230781","name":"铁力市"}]},{"code":"2308","name":"佳木斯市","children":[{"code":"230803","name":"向阳区"},{"code":"230804","name":"前进区"},{"code":"230805","name":"东风区"},{"code":"230811","name":"郊区"},{"code":"230822","name":"桦南县"},{"code":"230826","name":"桦川县"},{"code":"230828","name":"汤原县"},{"code":"230881","name":"同江市"},{"code":"230882","name":"富锦市"},{"code":"230883","name":"抚远市"}]},{"code":"2309","name":"七台河市","children":[{"code":"230902","name":"新兴区"},{"code":"230903","name":"桃山区"},{"code":"230904","name":"茄子河区"},{"code":"230921","name":"勃利县"}]},{"code":"2310","name":"牡丹江市","children":[{"code":"231002","name":"东安区"},{"code":"231003","name":"阳明区"},{"code":"231004","name":"爱民区"},{"code":"231005","name":"西安区"},{"code":"231025","name":"林口县"},{"code":"231081","name":"绥芬河市"},{"code":"231083","name":"海林市"},{"code":"231084","name":"宁安市"},{"code":"231085","name":"穆棱市"},{"code":"231086","name":"东宁市"}]},{"code":"2311","name":"黑河市","children":[{"code":"231102","name":"爱辉区"},{"code":"231123","name":"逊克县"},{"code":"231124","name":"孙吴县"},{"code":"231181","name":"北安市"},{"code":"231182","name":"五大连池市"},{"code":"231183","name":"嫩江市"}]},{"code":"2312","name":"绥化市","children":[{"code":"231202","name":"北林区"},{"code":"231221","name":"望奎县"},{"code":"231222","name":"兰西县"},{"code":"231223","name":"青冈县"},{"code":"231224","name":"庆安县"},{"code":"231225","name":"明水县"},{"code":"231226","name":"绥棱县"},{"code":"231281","name":"安达市"},{"code":"231282","name":"肇东市"},{"code":"231283","name":"海伦市"}]},{"code":"2327","name":"大兴安岭地区","children":[{"code":"232701","name":"漠河市"},{"code":"232721","name":"呼玛县"},{"code":"232722","name":"塔河县"},{"code":"232761","name":"加格达奇区"},{"code":"232762","name":"松岭区"},{"code":"232763","name":"新林区"},{"code":"232764","name":"呼中区"}]}]},{"code":"31","name":"上海市","children":[{"code":"3101","name":"市辖区","children":[{"code":"310101","name":"黄浦区"},{"code":"310104","name":"徐汇区"},{"code":"310105","name":"长宁区"},{"code":"310106","name":"静安区"},{"code":"310107","name":"普陀区"},{"code":"310109","name":"虹口区"},{"code":"310110","name":"杨浦区"},{"code":"310112","name":"闵行区"},{"code":"310113","name":"宝山区"},{"code":"310114","name":"嘉定区"},{"code":"310115","name":"浦东新区"},{"code":"310116","name":"金山区"},{"code":"310117","name":"松江区"},{"code":"310118","name":"青浦区"},{"code":"310120","name":"奉贤区"},{"code":"310151","name":"崇明区"}]}]},{"code":"32","name":"江苏省","children":[{"code":"3201","name":"南京市","children":[{"code":"320102","name":"玄武区"},{"code":"320104","name":"秦淮区"},{"code":"320105","name":"建邺区"},{"code":"320106","name":"鼓楼区"},{"code":"320111","name":"浦口区"},{"code":"320113","name":"栖霞区"},{"code":"320114","name":"雨花台区"},{"code":"320115","name":"江宁区"},{"code":"320116","name":"六合区"},{"code":"320117","name":"溧水区"},{"code":"320118","name":"高淳区"}]},{"code":"3202","name":"无锡市","children":[{"code":"320205","name":"锡山区"},{"code":"320206","name":"惠山区"},{"code":"320211","name":"滨湖区"},{"code":"320213","name":"梁溪区"},{"code":"320214","name":"新吴区"},{"code":"320281","name":"江阴市"},{"code":"320282","name":"宜兴市"}]},{"code":"3203","name":"徐州市","children":[{"code":"320302","name":"鼓楼区"},{"code":"320303","name":"云龙区"},{"code":"320305","name":"贾汪区"},{"code":"320311","name":"泉山区"},{"code":"320312","name":"铜山区"},{"code":"320321","name":"丰县"},{"code":"320322","name":"沛县"},{"code":"320324","name":"睢宁县"},{"code":"320371","name":"徐州经济技术开发区"},{"code":"320381","name":"新沂市"},{"code":"320382","name":"邳州市"}]},{"code":"3204","name":"常州市","children":[{"code":"320402","name":"天宁区"},{"code":"320404","name":"钟楼区"},{"code":"320411","name":"新北区"},{"code":"320412","name":"武进区"},{"code":"320413","name":"金坛区"},{"code":"320481","name":"溧阳市"}]},{"code":"3205","name":"苏州市","children":[{"code":"320505","name":"虎丘区"},{"code":"320506","name":"吴中区"},{"code":"320507","name":"相城区"},{"code":"320508","name":"姑苏区"},{"code":"320509","name":"吴江区"},{"code":"320576","name":"苏州工业园区"},{"code":"320581","name":"常熟市"},{"code":"320582","name":"张家港市"},{"code":"320583","name":"昆山市"},{"code":"320585","name":"太仓市"}]},{"code":"3206","name":"南通市","children":[{"code":"320612","name":"通州区"},{"code":"320613","name":"崇川区"},{"code":"320614","name":"海门区"},{"code":"320623","name":"如东县"},{"code":"320671","name":"南通经济技术开发区"},{"code":"320681","name":"启东市"},{"code":"320682","name":"如皋市"},{"code":"320685","name":"海安市"}]},{"code":"3207","name":"连云港市","children":[{"code":"320703","name":"连云区"},{"code":"320706","name":"海州区"},{"code":"320707","name":"赣榆区"},{"code":"320722","name":"东海县"},{"code":"320723","name":"灌云县"},{"code":"320724","name":"灌南县"},{"code":"320771","name":"连云港经济技术开发区"}]},{"code":"3208","name":"淮安市","children":[{"code":"320803","name":"淮安区"},{"code":"320804","name":"淮阴区"},{"code":"320812","name":"清江浦区"},{"code":"320813","name":"洪泽区"},{"code":"320826","name":"涟水县"},{"code":"320830","name":"盱眙县"},{"code":"320831","name":"金湖县"},{"code":"320871","name":"淮安经济技术开发区"}]},{"code":"3209","name":"盐城市","children":[{"code":"320902","name":"亭湖区"},{"code":"320903","name":"盐都区"},{"code":"320904","name":"大丰区"},{"code":"320921","name":"响水县"},{"code":"320922","name":"滨海县"},{"code":"320923","name":"阜宁县"},{"code":"320924","name":"射阳县"},{"code":"320925","name":"建湖县"},{"code":"320971","name":"盐城经济技术开发区"},{"code":"320981","name":"东台市"}]},{"code":"3210","name":"扬州市","children":[{"code":"321002","name":"广陵区"},{"code":"321003","name":"邗江区"},{"code":"321012","name":"江都区"},{"code":"321023","name":"宝应县"},{"code":"321071","name":"扬州经济技术开发区"},{"code":"321081","name":"仪征市"},{"code":"321084","name":"高邮市"}]},{"code":"3211","name":"镇江市","children":[{"code":"321102","name":"京口区"},{"code":"321111","name":"润州区"},{"code":"321112","name":"丹徒区"},{"code":"321171","name":"镇江新区"},{"code":"321181","name":"丹阳市"},{"code":"321182","name":"扬中市"},{"code":"321183","name":"句容市"}]},{"code":"3212","name":"泰州市","children":[{"code":"321202","name":"海陵区"},{"code":"321203","name":"高港区"},{"code":"321204","name":"姜堰区"},{"code":"321281","name":"兴化市"},{"code":"321282","name":"靖江市"},{"code":"321283","name":"泰兴市"}]},{"code":"3213","name":"宿迁市","children":[{"code":"321302","name":"宿城区"},{"code":"321311","name":"宿豫区"},{"code":"321322","name":"沭阳县"},{"code":"321323","name":"泗阳县"},{"code":"321324","name":"泗洪县"},{"code":"321371","name":"宿迁经济技术开发区"}]}]},{"code":"33","name":"浙江省","children":[{"code":"3301","name":"杭州市","children":[{"code":"330102","name":"上城区"},{"code":"330105","name":"拱墅区"},{"code":"330106","name":"西湖区"},{"code":"330108","name":"滨江区"},{"code":"330109","name":"萧山区"},{"code":"330110","name":"余杭区"},{"code":"330111","name":"富阳区"},{"code":"330112","name":"临安区"},{"code":"330113","name":"临平区"},{"code":"330114","name":"钱塘区"},{"code":"330122","name":"桐庐县"},{"code":"330127","name":"淳安县"},{"code":"330182","name":"建德市"}]},{"code":"3302","name":"宁波市","children":[{"code":"330203","name":"海曙区"},{"code":"330205","name":"江北区"},{"code":"330206","name":"北仑区"},{"code":"330211","name":"镇海区"},{"code":"330212","name":"鄞州区"},{"code":"330213","name":"奉化区"},{"code":"330225","name":"象山县"},{"code":"330226","name":"宁海县"},{"code":"330281","name":"余姚市"},{"code":"330282","name":"慈溪市"}]},{"code":"3303","name":"温州市","children":[{"code":"330302","name":"鹿城区"},{"code":"330303","name":"龙湾区"},{"code":"330304","name":"瓯海区"},{"code":"330305","name":"洞头区"},{"code":"330324","name":"永嘉县"},{"code":"330326","name":"平阳县"},{"code":"330327","name":"苍南县"},{"code":"330328","name":"文成县"},{"code":"330329","name":"泰顺县"},{"code":"330381","name":"瑞安市"},{"code":"330382","name":"乐清市"},{"code":"330383","name":"龙港市"}]},{"code":"3304","name":"嘉兴市","children":[{"code":"330402","name":"南湖区"},{"code":"330411","name":"秀洲区"},{"code":"330421","name":"嘉善县"},{"code":"330424","name":"海盐县"},{"code":"330481","name":"海宁市"},{"code":"330482","name":"平湖市"},{"code":"330483","name":"桐乡市"}]},{"code":"3305","name":"湖州市","children":[{"code":"330502","name":"吴兴区"},{"code":"330503","name":"南浔区"},{"code":"330521","name":"德清县"},{"code":"330522","name":"长兴县"},{"code":"330523","name":"安吉县"}]},{"code":"3306","name":"绍兴市","children":[{"code":"330602","name":"越城区"},{"code":"330603","name":"柯桥区"},{"code":"330604","name":"上虞区"},{"code":"330624","name":"新昌县"},{"code":"330681","name":"诸暨市"},{"code":"330683","name":"嵊州市"}]},{"code":"3307","name":"金华市","children":[{"code":"330702","name":"婺城区"},{"code":"330703","name":"金东区"},{"code":"330723","name":"武义县"},{"code":"330726","name":"浦江县"},{"code":"330727","name":"磐安县"},{"code":"330781","name":"兰溪市"},{"code":"330782","name":"义乌市"},{"code":"330783","name":"东阳市"},{"code":"330784","name":"永康市"}]},{"code":"3308","name":"衢州市","children":[{"code":"330802","name":"柯城区"},{"code":"330803","name":"衢江区"},{"code":"330822","name":"常山县"},{"code":"330824","name":"开化县"},{"code":"330825","name":"龙游县"},{"code":"330881","name":"江山市"}]},{"code":"3309","name":"舟山市","children":[{"code":"330902","name":"定海区"},{"code":"330903","name":"普陀区"},{"code":"330921","name":"岱山县"},{"code":"330922","name":"嵊泗县"}]},{"code":"3310","name":"台州市","children":[{"code":"331002","name":"椒江区"},{"code":"331003","name":"黄岩区"},{"code":"331004","name":"路桥区"},{"code":"331022","name":"三门县"},{"code":"331023","name":"天台县"},{"code":"331024","name":"仙居县"},{"code":"331081","name":"温岭市"},{"code":"331082","name":"临海市"},{"code":"331083","name":"玉环市"}]},{"code":"3311","name":"丽水市","children":[{"code":"331102","name":"莲都区"},{"code":"331121","name":"青田县"},{"code":"331122","name":"缙云县"},{"code":"331123","name":"遂昌县"},{"code":"331124","name":"松阳县"},{"code":"331125","name":"云和县"},{"code":"331126","name":"庆元县"},{"code":"331127","name":"景宁畲族自治县"},{"code":"331181","name":"龙泉市"}]}]},{"code":"34","name":"安徽省","children":[{"code":"3401","name":"合肥市","children":[{"code":"340102","name":"瑶海区"},{"code":"340103","name":"庐阳区"},{"code":"340104","name":"蜀山区"},{"code":"340111","name":"包河区"},{"code":"340121","name":"长丰县"},{"code":"340122","name":"肥东县"},{"code":"340123","name":"肥西县"},{"code":"340124","name":"庐江县"},{"code":"340176","name":"合肥高新技术产业开发区"},{"code":"340177","name":"合肥经济技术开发区"},{"code":"340178","name":"合肥新站高新技术产业开发区"},{"code":"340181","name":"巢湖市"}]},{"code":"3402","name":"芜湖市","children":[{"code":"340202","name":"镜湖区"},{"code":"340207","name":"鸠江区"},{"code":"340209","name":"弋江区"},{"code":"340210","name":"湾沚区"},{"code":"340212","name":"繁昌区"},{"code":"340223","name":"南陵县"},{"code":"340271","name":"芜湖经济技术开发区"},{"code":"340272","name":"安徽芜湖三山经济开发区"},{"code":"340281","name":"无为市"}]},{"code":"3403","name":"蚌埠市","children":[{"code":"340302","name":"龙子湖区"},{"code":"340303","name":"蚌山区"},{"code":"340304","name":"禹会区"},{"code":"340311","name":"淮上区"},{"code":"340321","name":"怀远县"},{"code":"340322","name":"五河县"},{"code":"340323","name":"固镇县"},{"code":"340371","name":"蚌埠市高新技术开发区"},{"code":"340372","name":"蚌埠市经济开发区"}]},{"code":"3404","name":"淮南市","children":[{"code":"340402","name":"大通区"},{"code":"340403","name":"田家庵区"},{"code":"340404","name":"谢家集区"},{"code":"340405","name":"八公山区"},{"code":"340406","name":"潘集区"},{"code":"340421","name":"凤台县"},{"code":"340422","name":"寿县"}]},{"code":"3405","name":"马鞍山市","children":[{"code":"340503","name":"花山区"},{"code":"340504","name":"雨山区"},{"code":"340506","name":"博望区"},{"code":"340521","name":"当涂县"},{"code":"340522","name":"含山县"},{"code":"340523","name":"和县"}]},{"code":"3406","name":"淮北市","children":[{"code":"340602","name":"杜集区"},{"code":"340603","name":"相山区"},{"code":"340604","name":"烈山区"},{"code":"340621","name":"濉溪县"}]},{"code":"3407","name":"铜陵市","children":[{"code":"340705","name":"铜官区"},{"code":"340706","name":"义安区"},{"code":"340711","name":"郊区"},{"code":"340722","name":"枞阳县"}]},{"code":"3408","name":"安庆市","children":[{"code":"340802","name":"迎江区"},{"code":"340803","name":"大观区"},{"code":"340811","name":"宜秀区"},{"code":"340822","name":"怀宁县"},{"code":"340825","name":"太湖县"},{"code":"340826","name":"宿松县"},{"code":"340827","name":"望江县"},{"code":"340828","name":"岳西县"},{"code":"340871","name":"安徽安庆经济开发区"},{"code":"340881","name":"桐城市"},{"code":"340882","name":"潜山市"}]},{"code":"3410","name":"黄山市","children":[{"code":"341002","name":"屯溪区"},{"code":"341003","name":"黄山区"},{"code":"341004","name":"徽州区"},{"code":"341021","name":"歙县"},{"code":"341022","name":"休宁县"},{"code":"341023","name":"黟县"},{"code":"341024","name":"祁门县"}]},{"code":"3411","name":"滁州市","children":[{"code":"341102","name":"琅琊区"},{"code":"341103","name":"南谯区"},{"code":"341122","name":"来安县"},{"code":"341124","name":"全椒县"},{"code":"341125","name":"定远县"},{"code":"341126","name":"凤阳县"},{"code":"341171","name":"中新苏滁高新技术产业开发区"},{"code":"341172","name":"滁州经济技术开发区"},{"code":"341181","name":"天长市"},{"code":"341182","name":"明光市"}]},{"code":"3412","name":"阜阳市","children":[{"code":"341202","name":"颍州区"},{"code":"341203","name":"颍东区"},{"code":"341204","name":"颍泉区"},{"code":"341221","name":"临泉县"},{"code":"341222","name":"太和县"},{"code":"341225","name":"阜南县"},{"code":"341226","name":"颍上县"},{"code":"341271","name":"阜阳合肥现代产业园区"},{"code":"341272","name":"阜阳经济技术开发区"},{"code":"341282","name":"界首市"}]},{"code":"3413","name":"宿州市","children":[{"code":"341302","name":"埇桥区"},{"code":"341321","name":"砀山县"},{"code":"341322","name":"萧县"},{"code":"341323","name":"灵璧县"},{"code":"341324","name":"泗县"},{"code":"341371","name":"宿州马鞍山现代产业园区"},{"code":"341372","name":"宿州经济技术开发区"}]},{"code":"3415","name":"六安市","children":[{"code":"341502","name":"金安区"},{"code":"341503","name":"裕安区"},{"code":"341504","name":"叶集区"},{"code":"341522","name":"霍邱县"},{"code":"341523","name":"舒城县"},{"code":"341524","name":"金寨县"},{"code":"341525","name":"霍山县"}]},{"code":"3416","name":"亳州市","children":[{"code":"341602","name":"谯城区"},{"code":"341621","name":"涡阳县"},{"code":"341622","name":"蒙城县"},{"code":"341623","name":"利辛县"}]},{"code":"3417","name":"池州市","children":[{"code":"341702","name":"贵池区"},{"code":"341721","name":"东至县"},{"code":"341722","name":"石台县"},{"code":"341723","name":"青阳县"}]},{"code":"3418","name":"宣城市","children":[{"code":"341802","name":"宣州区"},{"code":"341821","name":"郎溪县"},{"code":"341823","name":"泾县"},{"code":"341824","name":"绩溪县"},{"code":"341825","name":"旌德县"},{"code":"341871","name":"宣城市经济开发区"},{"code":"341881","name":"宁国市"},{"code":"341882","name":"广德市"}]}]},{"code":"35","name":"福建省","children":[{"code":"3501","name":"福州市","children":[{"code":"350102","name":"鼓楼区"},{"code":"350103","name":"台江区"},{"code":"350104","name":"仓山区"},{"code":"350105","name":"马尾区"},{"code":"350111","name":"晋安区"},{"code":"350112","name":"长乐区"},{"code":"350121","name":"闽侯县"},{"code":"350122","name":"连江县"},{"code":"350123","name":"罗源县"},{"code":"350124","name":"闽清县"},{"code":"350125","name":"永泰县"},{"code":"350128","name":"平潭县"},{"code":"350181","name":"福清市"}]},{"code":"3502","name":"厦门市","children":[{"code":"350203","name":"思明区"},{"code":"350205","name":"海沧区"},{"code":"350206","name":"湖里区"},{"code":"350211","name":"集美区"},{"code":"350212","name":"同安区"},{"code":"350213","name":"翔安区"}]},{"code":"3503","name":"莆田市","children":[{"code":"350302","name":"城厢区"},{"code":"350303","name":"涵江区"},{"code":"350304","name":"荔城区"},{"code":"350305","name":"秀屿区"},{"code":"350322","name":"仙游县"}]},{"code":"3504","name":"三明市","children":[{"code":"350404","name":"三元区"},{"code":"350405","name":"沙县区"},{"code":"350421","name":"明溪县"},{"code":"350423","name":"清流县"},{"code":"350424","name":"宁化县"},{"code":"350425","name":"大田县"},{"code":"350426","name":"尤溪县"},{"code":"350428","name":"将乐县"},{"code":"350429","name":"泰宁县"},{"code":"350430","name":"建宁县"},{"code":"350481","name":"永安市"}]},{"code":"3505","name":"泉州市","children":[{"code":"350502","name":"鲤城区"},{"code":"350503","name":"丰泽区"},{"code":"350504","name":"洛江区"},{"code":"350505","name":"泉港区"},{"code":"350521","name":"惠安县"},{"code":"350524","name":"安溪县"},{"code":"350525","name":"永春县"},{"code":"350526","name":"德化县"},{"code":"350527","name":"金门县"},{"code":"350581","name":"石狮市"},{"code":"350582","name":"晋江市"},{"code":"350583","name":"南安市"}]},{"code":"3506","name":"漳州市","children":[{"code":"350602","name":"芗城区"},{"code":"350603","name":"龙文区"},{"code":"350604","name":"龙海区"},{"code":"350605","name":"长泰区"},{"code":"350622","name":"云霄县"},{"code":"350623","name":"漳浦县"},{"code":"350624","name":"诏安县"},{"code":"350626","name":"东山县"},{"code":"350627","name":"南靖县"},{"code":"350628","name":"平和县"},{"code":"350629","name":"华安县"}]},{"code":"3507","name":"南平市","children":[{"code":"350702","name":"延平区"},{"code":"350703","name":"建阳区"},{"code":"350721","name":"顺昌县"},{"code":"350722","name":"浦城县"},{"code":"350723","name":"光泽县"},{"code":"350724","name":"松溪县"},{"code":"350725","name":"政和县"},{"code":"350781","name":"邵武市"},{"code":"350782","name":"武夷山市"},{"code":"350783","name":"建瓯市"}]},{"code":"3508","name":"龙岩市","children":[{"code":"350802","name":"新罗区"},{"code":"350803","name":"永定区"},{"code":"350821","name":"长汀县"},{"code":"350823","name":"上杭县"},{"code":"350824","name":"武平县"},{"code":"350825","name":"连城县"},{"code":"350881","name":"漳平市"}]},{"code":"3509","name":"宁德市","children":[{"code":"350902","name":"蕉城区"},{"code":"350921","name":"霞浦县"},{"code":"350922","name":"古田县"},{"code":"350923","name":"屏南县"},{"code":"350924","name":"寿宁县"},{"code":"350925","name":"周宁县"},{"code":"350926","name":"柘荣县"},{"code":"350981","name":"福安市"},{"code":"350982","name":"福鼎市"}]}]},{"code":"36","name":"江西省","children":[{"code":"3601","name":"南昌市","children":[{"code":"360102","name":"东湖区"},{"code":"360103","name":"西湖区"},{"code":"360104","name":"青云谱区"},{"code":"360111","name":"青山湖区"},{"code":"360112","name":"新建区"},{"code":"360113","name":"红谷滩区"},{"code":"360121","name":"南昌县"},{"code":"360123","name":"安义县"},{"code":"360124","name":"进贤县"}]},{"code":"3602","name":"景德镇市","children":[{"code":"360202","name":"昌江区"},{"code":"360203","name":"珠山区"},{"code":"360222","name":"浮梁县"},{"code":"360281","name":"乐平市"}]},{"code":"3603","name":"萍乡市","children":[{"code":"360302","name":"安源区"},{"code":"360313","name":"湘东区"},{"code":"360321","name":"莲花县"},{"code":"360322","name":"上栗县"},{"code":"360323","name":"芦溪县"}]},{"code":"3604","name":"九江市","children":[{"code":"360402","name":"濂溪区"},{"code":"360403","name":"浔阳区"},{"code":"360404","name":"柴桑区"},{"code":"360423","name":"武宁县"},{"code":"360424","name":"修水县"},{"code":"360425","name":"永修县"},{"code":"360426","name":"德安县"},{"code":"360428","name":"都昌县"},{"code":"360429","name":"湖口县"},{"code":"360430","name":"彭泽县"},{"code":"360481","name":"瑞昌市"},{"code":"360482","name":"共青城市"},{"code":"360483","name":"庐山市"}]},{"code":"3605","name":"新余市","children":[{"code":"360502","name":"渝水区"},{"code":"360521","name":"分宜县"}]},{"code":"3606","name":"鹰潭市","children":[{"code":"360602","name":"月湖区"},{"code":"360603","name":"余江区"},{"code":"360681","name":"贵溪市"}]},{"code":"3607","name":"赣州市","children":[{"code":"360702","name":"章贡区"},{"code":"360703","name":"南康区"},{"code":"360704","name":"赣县区"},{"code":"360722","name":"信丰县"},{"code":"360723","name":"大余县"},{"code":"360724","name":"上犹县"},{"code":"360725","name":"崇义县"},{"code":"360726","name":"安远县"},{"code":"360728","name":"定南县"},{"code":"360729","name":"全南县"},{"code":"360730","name":"宁都县"},{"code":"360731","name":"于都县"},{"code":"360732","name":"兴国县"},{"code":"360733","name":"会昌县"},{"code":"360734","name":"寻乌县"},{"code":"360735","name":"石城县"},{"code":"360781","name":"瑞金市"},{"code":"360783","name":"龙南市"}]},{"code":"3608","name":"吉安市","children":[{"code":"360802","name":"吉州区"},{"code":"360803","name":"青原区"},{"code":"360821","name":"吉安县"},{"code":"360822","name":"吉水县"},{"code":"360823","name":"峡江县"},{"code":"360824","name":"新干县"},{"code":"360825","name":"永丰县"},{"code":"360826","name":"泰和县"},{"code":"360827","name":"遂川县"},{"code":"360828","name":"万安县"},{"code":"360829","name":"安福县"},{"code":"360830","name":"永新县"},{"code":"360881","name":"井冈山市"}]},{"code":"3609","name":"宜春市","children":[{"code":"360902","name":"袁州区"},{"code":"360921","name":"奉新县"},{"code":"360922","name":"万载县"},{"code":"360923","name":"上高县"},{"code":"360924","name":"宜丰县"},{"code":"360925","name":"靖安县"},{"code":"360926","name":"铜鼓县"},{"code":"360981","name":"丰城市"},{"code":"360982","name":"樟树市"},{"code":"360983","name":"高安市"}]},{"code":"3610","name":"抚州市","children":[{"code":"361002","name":"临川区"},{"code":"361003","name":"东乡区"},{"code":"361021","name":"南城县"},{"code":"361022","name":"黎川县"},{"code":"361023","name":"南丰县"},{"code":"361024","name":"崇仁县"},{"code":"361025","name":"乐安县"},{"code":"361026","name":"宜黄县"},{"code":"361027","name":"金溪县"},{"code":"361028","name":"资溪县"},{"code":"361030","name":"广昌县"}]},{"code":"3611","name":"上饶市","children":[{"code":"361102","name":"信州区"},{"code":"361103","name":"广丰区"},{"code":"361104","name":"广信区"},{"code":"361123","name":"玉山县"},{"code":"361124","name":"铅山县"},{"code":"361125","name":"横峰县"},{"code":"361126","name":"弋阳县"},{"code":"361127","name":"余干县"},{"code":"361128","name":"鄱阳县"},{"code":"361129","name":"万年县"},{"code":"361130","name":"婺源县"},{"code":"361181","name":"德兴市"}]}]},{"code":"37","name":"山东省","children":[{"code":"3701","name":"济南市","children":[{"code":"370102","name":"历下区"},{"code":"370103","name":"市中区"},{"code":"370104","name":"槐荫区"},{"code":"370105","name":"天桥区"},{"code":"370112","name":"历城区"},{"code":"370113","name":"长清区"},{"code":"370114","name":"章丘区"},{"code":"370115","name":"济阳区"},{"code":"370116","name":"莱芜区"},{"code":"370117","name":"钢城区"},{"code":"370124","name":"平阴县"},{"code":"370126","name":"商河县"},{"code":"370176","name":"济南高新技术产业开发区"}]},{"code":"3702","name":"青岛市","children":[{"code":"370202","name":"市南区"},{"code":"370203","name":"市北区"},{"code":"370211","name":"黄岛区"},{"code":"370212","name":"崂山区"},{"code":"370213","name":"李沧区"},{"code":"370214","name":"城阳区"},{"code":"370215","name":"即墨区"},{"code":"370281","name":"胶州市"},{"code":"370283","name":"平度市"},{"code":"370285","name":"莱西市"}]},{"code":"3703","name":"淄博市","children":[{"code":"370302","name":"淄川区"},{"code":"370303","name":"张店区"},{"code":"370304","name":"博山区"},{"code":"370305","name":"临淄区"},{"code":"370306","name":"周村区"},{"code":"370321","name":"桓台县"},{"code":"370322","name":"高青县"},{"code":"370323","name":"沂源县"}]},{"code":"3704","name":"枣庄市","children":[{"code":"370402","name":"市中区"},{"code":"370403","name":"薛城区"},{"code":"370404","name":"峄城区"},{"code":"370405","name":"台儿庄区"},{"code":"370406","name":"山亭区"},{"code":"370481","name":"滕州市"}]},{"code":"3705","name":"东营市","children":[{"code":"370502","name":"东营区"},{"code":"370503","name":"河口区"},{"code":"370505","name":"垦利区"},{"code":"370522","name":"利津县"},{"code":"370523","name":"广饶县"},{"code":"370571","name":"东营经济技术开发区"},{"code":"370572","name":"东营港经济开发区"}]},{"code":"3706","name":"烟台市","children":[{"code":"370602","name":"芝罘区"},{"code":"370611","name":"福山区"},{"code":"370612","name":"牟平区"},{"code":"370613","name":"莱山区"},{"code":"370614","name":"蓬莱区"},{"code":"370671","name":"烟台高新技术产业开发区"},{"code":"370676","name":"烟台经济技术开发区"},{"code":"370681","name":"龙口市"},{"code":"370682","name":"莱阳市"},{"code":"370683","name":"莱州市"},{"code":"370685","name":"招远市"},{"code":"370686","name":"栖霞市"},{"code":"370687","name":"海阳市"}]},{"code":"3707","name":"潍坊市","children":[{"code":"370702","name":"潍城区"},{"code":"370703","name":"寒亭区"},{"code":"370704","name":"坊子区"},{"code":"370705","name":"奎文区"},{"code":"370724","name":"临朐县"},{"code":"370725","name":"昌乐县"},{"code":"370772","name":"潍坊滨海经济技术开发区"},{"code":"370781","name":"青州市"},{"code":"370782","name":"诸城市"},{"code":"370783","name":"寿光市"},{"code":"370784","name":"安丘市"},{"code":"370785","name":"高密市"},{"code":"370786","name":"昌邑市"}]},{"code":"3708","name":"济宁市","children":[{"code":"370811","name":"任城区"},{"code":"370812","name":"兖州区"},{"code":"370826","name":"微山县"},{"code":"370827","name":"鱼台县"},{"code":"370828","name":"金乡县"},{"code":"370829","name":"嘉祥县"},{"code":"370830","name":"汶上县"},{"code":"370831","name":"泗水县"},{"code":"370832","name":"梁山县"},{"code":"370871","name":"济宁高新技术产业开发区"},{"code":"370881","name":"曲阜市"},{"code":"370883","name":"邹城市"}]},{"code":"3709","name":"泰安市","children":[{"code":"370902","name":"泰山区"},{"code":"370911","name":"岱岳区"},{"code":"370921","name":"宁阳县"},{"code":"370923","name":"东平县"},{"code":"370982","name":"新泰市"},{"code":"370983","name":"肥城市"}]},{"code":"3710","name":"威海市","children":[{"code":"371002","name":"环翠区"},{"code":"371003","name":"文登区"},{"code":"371071","name":"威海火炬高技术产业开发区"},{"code":"371072","name":"威海经济技术开发区"},{"code":"371073","name":"威海临港经济技术开发区"},{"code":"371082","name":"荣成市"},{"code":"371083","name":"乳山市"}]},{"code":"3711","name":"日照市","children":[{"code":"371102","name":"东港区"},{"code":"371103","name":"岚山区"},{"code":"371121","name":"五莲县"},{"code":"371122","name":"莒县"},{"code":"371171","name":"日照经济技术开发区"}]},{"code":"3713","name":"临沂市","children":[{"code":"371302","name":"兰山区"},{"code":"371311","name":"罗庄区"},{"code":"371312","name":"河东区"},{"code":"371321","name":"沂南县"},{"code":"371322","name":"郯城县"},{"code":"371323","name":"沂水县"},{"code":"371324","name":"兰陵县"},{"code":"371325","name":"费县"},{"code":"371326","name":"平邑县"},{"code":"371327","name":"莒南县"},{"code":"371328","name":"蒙阴县"},{"code":"371329","name":"临沭县"},{"code":"371371","name":"临沂高新技术产业开发区"}]},{"code":"3714","name":"德州市","children":[{"code":"371402","name":"德城区"},{"code":"371403","name":"陵城区"},{"code":"371422","name":"宁津县"},{"code":"371423","name":"庆云县"},{"code":"371424","name":"临邑县"},{"code":"371425","name":"齐河县"},{"code":"371426","name":"平原县"},{"code":"371427","name":"夏津县"},{"code":"371428","name":"武城县"},{"code":"371471","name":"德州天衢新区"},{"code":"371481","name":"乐陵市"},{"code":"371482","name":"禹城市"}]},{"code":"3715","name":"聊城市","children":[{"code":"371502","name":"东昌府区"},{"code":"371503","name":"茌平区"},{"code":"371521","name":"阳谷县"},{"code":"371522","name":"莘县"},{"code":"371524","name":"东阿县"},{"code":"371525","name":"冠县"},{"code":"371526","name":"高唐县"},{"code":"371581","name":"临清市"}]},{"code":"3716","name":"滨州市","children":[{"code":"371602","name":"滨城区"},{"code":"371603","name":"沾化区"},{"code":"371621","name":"惠民县"},{"code":"371622","name":"阳信县"},{"code":"371623","name":"无棣县"},{"code":"371625","name":"博兴县"},{"code":"371681","name":"邹平市"}]},{"code":"3717","name":"菏泽市","children":[{"code":"371702","name":"牡丹区"},{"code":"371703","name":"定陶区"},{"code":"371721","name":"曹县"},{"code":"371722","name":"单县"},{"code":"371723","name":"成武县"},{"code":"371724","name":"巨野县"},{"code":"371725","name":"郓城县"},{"code":"371726","name":"鄄城县"},{"code":"371728","name":"东明县"},{"code":"371771","name":"菏泽经济技术开发区"},{"code":"371772","name":"菏泽高新技术开发区"}]}]},{"code":"41","name":"河南省","children":[{"code":"4101","name":"郑州市","children":[{"code":"410102","name":"中原区"},{"code":"410103","name":"二七区"},{"code":"410104","name":"管城回族区"},{"code":"410105","name":"金水区"},{"code":"410106","name":"上街区"},{"code":"410108","name":"惠济区"},{"code":"410122","name":"中牟县"},{"code":"410171","name":"郑州经济技术开发区"},{"code":"410172","name":"郑州高新技术产业开发区"},{"code":"410173","name":"郑州航空港经济综合实验区"},{"code":"410181","name":"巩义市"},{"code":"410182","name":"荥阳市"},{"code":"410183","name":"新密市"},{"code":"410184","name":"新郑市"},{"code":"410185","name":"登封市"}]},{"code":"4102","name":"开封市","children":[{"code":"410202","name":"龙亭区"},{"code":"410203","name":"顺河回族区"},{"code":"410204","name":"鼓楼区"},{"code":"410205","name":"禹王台区"},{"code":"410212","name":"祥符区"},{"code":"410221","name":"杞县"},{"code":"410222","name":"通许县"},{"code":"410223","name":"尉氏县"},{"code":"410225","name":"兰考县"}]},{"code":"4103","name":"洛阳市","children":[{"code":"410302","name":"老城区"},{"code":"410303","name":"西工区"},{"code":"410304","name":"瀍河回族区"},{"code":"410305","name":"涧西区"},{"code":"410307","name":"偃师区"},{"code":"410308","name":"孟津区"},{"code":"410311","name":"洛龙区"},{"code":"410323","name":"新安县"},{"code":"410324","name":"栾川县"},{"code":"410325","name":"嵩县"},{"code":"410326","name":"汝阳县"},{"code":"410327","name":"宜阳县"},{"code":"410328","name":"洛宁县"},{"code":"410329","name":"伊川县"},{"code":"410371","name":"洛阳高新技术产业开发区"}]},{"code":"4104","name":"平顶山市","children":[{"code":"410402","name":"新华区"},{"code":"410403","name":"卫东区"},{"code":"410404","name":"石龙区"},{"code":"410411","name":"湛河区"},{"code":"410421","name":"宝丰县"},{"code":"410422","name":"叶县"},{"code":"410423","name":"鲁山县"},{"code":"410425","name":"郏县"},{"code":"410471","name":"平顶山高新技术产业开发区"},{"code":"410472","name":"平顶山市城乡一体化示范区"},{"code":"410481","name":"舞钢市"},{"code":"410482","name":"汝州市"}]},{"code":"4105","name":"安阳市","children":[{"code":"410502","name":"文峰区"},{"code":"410503","name":"北关区"},{"code":"410505","name":"殷都区"},{"code":"410506","name":"龙安区"},{"code":"410522","name":"安阳县"},{"code":"410523","name":"汤阴县"},{"code":"410526","name":"滑县"},{"code":"410527","name":"内黄县"},{"code":"410571","name":"安阳高新技术产业开发区"},{"code":"410581","name":"林州市"}]},{"code":"4106","name":"鹤壁市","children":[{"code":"410602","name":"鹤山区"},{"code":"410603","name":"山城区"},{"code":"410611","name":"淇滨区"},{"code":"410621","name":"浚县"},{"code":"410622","name":"淇县"},{"code":"410671","name":"鹤壁经济技术开发区"}]},{"code":"4107","name":"新乡市","children":[{"code":"410702","name":"红旗区"},{"code":"410703","name":"卫滨区"},{"code":"410704","name":"凤泉区"},{"code":"410711","name":"牧野区"},{"code":"410721","name":"新乡县"},{"code":"410724","name":"获嘉县"},{"code":"410725","name":"原阳县"},{"code":"410726","name":"延津县"},{"code":"410727","name":"封丘县"},{"code":"410771","name":"新乡高新技术产业开发区"},{"code":"410772","name":"新乡经济技术开发区"},{"code":"410773","name":"新乡市平原城乡一体化示范区"},{"code":"410781","name":"卫辉市"},{"code":"410782","name":"辉县市"},{"code":"410783","name":"长垣市"}]},{"code":"4108","name":"焦作市","children":[{"code":"410802","name":"解放区"},{"code":"410803","name":"中站区"},{"code":"410804","name":"马村区"},{"code":"410811","name":"山阳区"},{"code":"410821","name":"修武县"},{"code":"410822","name":"博爱县"},{"code":"410823","name":"武陟县"},{"code":"410825","name":"温县"},{"code":"410871","name":"焦作城乡一体化示范区"},{"code":"410882","name":"沁阳市"},{"code":"410883","name":"孟州市"}]},{"code":"4109","name":"濮阳市","children":[{"code":"410902","name":"华龙区"},{"code":"410922","name":"清丰县"},{"code":"410923","name":"南乐县"},{"code":"410926","name":"范县"},{"code":"410927","name":"台前县"},{"code":"410928","name":"濮阳县"},{"code":"410971","name":"河南濮阳工业园区"},{"code":"410972","name":"濮阳经济技术开发区"}]},{"code":"4110","name":"许昌市","children":[{"code":"411002","name":"魏都区"},{"code":"411003","name":"建安区"},{"code":"411024","name":"鄢陵县"},{"code":"411025","name":"襄城县"},{"code":"411071","name":"许昌经济技术开发区"},{"code":"411081","name":"禹州市"},{"code":"411082","name":"长葛市"}]},{"code":"4111","name":"漯河市","children":[{"code":"411102","name":"源汇区"},{"code":"411103","name":"郾城区"},{"code":"411104","name":"召陵区"},{"code":"411121","name":"舞阳县"},{"code":"411122","name":"临颍县"},{"code":"411171","name":"漯河经济技术开发区"}]},{"code":"4112","name":"三门峡市","children":[{"code":"411202","name":"湖滨区"},{"code":"411203","name":"陕州区"},{"code":"411221","name":"渑池县"},{"code":"411224","name":"卢氏县"},{"code":"411271","name":"河南三门峡经济开发区"},{"code":"411281","name":"义马市"},{"code":"411282","name":"灵宝市"}]},{"code":"4113","name":"南阳市","children":[{"code":"411302","name":"宛城区"},{"code":"411303","name":"卧龙区"},{"code":"411321","name":"南召县"},{"code":"411322","name":"方城县"},{"code":"411323","name":"西峡县"},{"code":"411324","name":"镇平县"},{"code":"411325","name":"内乡县"},{"code":"411326","name":"淅川县"},{"code":"411327","name":"社旗县"},{"code":"411328","name":"唐河县"},{"code":"411329","name":"新野县"},{"code":"411330","name":"桐柏县"},{"code":"411371","name":"南阳高新技术产业开发区"},{"code":"411372","name":"南阳市城乡一体化示范区"},{"code":"411381","name":"邓州市"}]},{"code":"4114","name":"商丘市","children":[{"code":"411402","name":"梁园区"},{"code":"411403","name":"睢阳区"},{"code":"411421","name":"民权县"},{"code":"411422","name":"睢县"},{"code":"411423","name":"宁陵县"},{"code":"411424","name":"柘城县"},{"code":"411425","name":"虞城县"},{"code":"411426","name":"夏邑县"},{"code":"411471","name":"豫东综合物流产业聚集区"},{"code":"411472","name":"河南商丘经济开发区"},{"code":"411481","name":"永城市"}]},{"code":"4115","name":"信阳市","children":[{"code":"411502","name":"浉河区"},{"code":"411503","name":"平桥区"},{"code":"411521","name":"罗山县"},{"code":"411522","name":"光山县"},{"code":"411523","name":"新县"},{"code":"411524","name":"商城县"},{"code":"411525","name":"固始县"},{"code":"411526","name":"潢川县"},{"code":"411527","name":"淮滨县"},{"code":"411528","name":"息县"},{"code":"411571","name":"信阳高新技术产业开发区"}]},{"code":"4116","name":"周口市","children":[{"code":"411602","name":"川汇区"},{"code":"411603","name":"淮阳区"},{"code":"411621","name":"扶沟县"},{"code":"411622","name":"西华县"},{"code":"411623","name":"商水县"},{"code":"411624","name":"沈丘县"},{"code":"411625","name":"郸城县"},{"code":"411627","name":"太康县"},{"code":"411628","name":"鹿邑县"},{"code":"411671","name":"周口临港开发区"},{"code":"411681","name":"项城市"}]},{"code":"4117","name":"驻马店市","children":[{"code":"411702","name":"驿城区"},{"code":"411721","name":"西平县"},{"code":"411722","name":"上蔡县"},{"code":"411723","name":"平舆县"},{"code":"411724","name":"正阳县"},{"code":"411725","name":"确山县"},{"code":"411726","name":"泌阳县"},{"code":"411727","name":"汝南县"},{"code":"411728","name":"遂平县"},{"code":"411729","name":"新蔡县"},{"code":"411771","name":"河南驻马店经济开发区"}]},{"code":"4190","name":"省直辖县级行政区划","children":[{"code":"419001","name":"济源市"}]}]},{"code":"42","name":"湖北省","children":[{"code":"4201","name":"武汉市","children":[{"code":"420102","name":"江岸区"},{"code":"420103","name":"江汉区"},{"code":"420104","name":"硚口区"},{"code":"420105","name":"汉阳区"},{"code":"420106","name":"武昌区"},{"code":"420107","name":"青山区"},{"code":"420111","name":"洪山区"},{"code":"420112","name":"东西湖区"},{"code":"420113","name":"汉南区"},{"code":"420114","name":"蔡甸区"},{"code":"420115","name":"江夏区"},{"code":"420116","name":"黄陂区"},{"code":"420117","name":"新洲区"}]},{"code":"4202","name":"黄石市","children":[{"code":"420202","name":"黄石港区"},{"code":"420203","name":"西塞山区"},{"code":"420204","name":"下陆区"},{"code":"420205","name":"铁山区"},{"code":"420222","name":"阳新县"},{"code":"420281","name":"大冶市"}]},{"code":"4203","name":"十堰市","children":[{"code":"420302","name":"茅箭区"},{"code":"420303","name":"张湾区"},{"code":"420304","name":"郧阳区"},{"code":"420322","name":"郧西县"},{"code":"420323","name":"竹山县"},{"code":"420324","name":"竹溪县"},{"code":"420325","name":"房县"},{"code":"420381","name":"丹江口市"}]},{"code":"4205","name":"宜昌市","children":[{"code":"420502","name":"西陵区"},{"code":"420503","name":"伍家岗区"},{"code":"420504","name":"点军区"},{"code":"420505","name":"猇亭区"},{"code":"420506","name":"夷陵区"},{"code":"420525","name":"远安县"},{"code":"420526","name":"兴山县"},{"code":"420527","name":"秭归县"},{"code":"420528","name":"长阳土家族自治县"},{"code":"420529","name":"五峰土家族自治县"},{"code":"420581","name":"宜都市"},{"code":"420582","name":"当阳市"},{"code":"420583","name":"枝江市"}]},{"code":"4206","name":"襄阳市","children":[{"code":"420602","name":"襄城区"},{"code":"420606","name":"樊城区"},{"code":"420607","name":"襄州区"},{"code":"420624","name":"南漳县"},{"code":"420625","name":"谷城县"},{"code":"420626","name":"保康县"},{"code":"420682","name":"老河口市"},{"code":"420683","name":"枣阳市"},{"code":"420684","name":"宜城市"}]},{"code":"4207","name":"鄂州市","children":[{"code":"420702","name":"梁子湖区"},{"code":"420703","name":"华容区"},{"code":"420704","name":"鄂城区"}]},{"code":"4208","name":"荆门市","children":[{"code":"420802","name":"东宝区"},{"code":"420804","name":"掇刀区"},{"code":"420822","name":"沙洋县"},{"code":"420881","name":"钟祥市"},{"code":"420882","name":"京山市"}]},{"code":"4209","name":"孝感市","children":[{"code":"420902","name":"孝南区"},{"code":"420921","name":"孝昌县"},{"code":"420922","name":"大悟县"},{"code":"420923","name":"云梦县"},{"code":"420981","name":"应城市"},{"code":"420982","name":"安陆市"},{"code":"420984","name":"汉川市"}]},{"code":"4210","name":"荆州市","children":[{"code":"421002","name":"沙市区"},{"code":"421003","name":"荆州区"},{"code":"421022","name":"公安县"},{"code":"421024","name":"江陵县"},{"code":"421071","name":"荆州经济技术开发区"},{"code":"421081","name":"石首市"},{"code":"421083","name":"洪湖市"},{"code":"421087","name":"松滋市"},{"code":"421088","name":"监利市"}]},{"code":"4211","name":"黄冈市","children":[{"code":"421102","name":"黄州区"},{"code":"421121","name":"团风县"},{"code":"421122","name":"红安县"},{"code":"421123","name":"罗田县"},{"code":"421124","name":"英山县"},{"code":"421125","name":"浠水县"},{"code":"421126","name":"蕲春县"},{"code":"421127","name":"黄梅县"},{"code":"421171","name":"龙感湖管理区"},{"code":"421181","name":"麻城市"},{"code":"421182","name":"武穴市"}]},{"code":"4212","name":"咸宁市","children":[{"code":"421202","name":"咸安区"},{"code":"421221","name":"嘉鱼县"},{"code":"421222","name":"通城县"},{"code":"421223","name":"崇阳县"},{"code":"421224","name":"通山县"},{"code":"421281","name":"赤壁市"}]},{"code":"4213","name":"随州市","children":[{"code":"421303","name":"曾都区"},{"code":"421321","name":"随县"},{"code":"421381","name":"广水市"}]},{"code":"4228","name":"恩施土家族苗族自治州","children":[{"code":"422801","name":"恩施市"},{"code":"422802","name":"利川市"},{"code":"422822","name":"建始县"},{"code":"422823","name":"巴东县"},{"code":"422825","name":"宣恩县"},{"code":"422826","name":"咸丰县"},{"code":"422827","name":"来凤县"},{"code":"422828","name":"鹤峰县"}]},{"code":"4290","name":"省直辖县级行政区划","children":[{"code":"429004","name":"仙桃市"},{"code":"429005","name":"潜江市"},{"code":"429006","name":"天门市"},{"code":"429021","name":"神农架林区"}]}]},{"code":"43","name":"湖南省","children":[{"code":"4301","name":"长沙市","children":[{"code":"430102","name":"芙蓉区"},{"code":"430103","name":"天心区"},{"code":"430104","name":"岳麓区"},{"code":"430105","name":"开福区"},{"code":"430111","name":"雨花区"},{"code":"430112","name":"望城区"},{"code":"430121","name":"长沙县"},{"code":"430181","name":"浏阳市"},{"code":"430182","name":"宁乡市"}]},{"code":"4302","name":"株洲市","children":[{"code":"430202","name":"荷塘区"},{"code":"430203","name":"芦淞区"},{"code":"430204","name":"石峰区"},{"code":"430211","name":"天元区"},{"code":"430212","name":"渌口区"},{"code":"430223","name":"攸县"},{"code":"430224","name":"茶陵县"},{"code":"430225","name":"炎陵县"},{"code":"430281","name":"醴陵市"}]},{"code":"4303","name":"湘潭市","children":[{"code":"430302","name":"雨湖区"},{"code":"430304","name":"岳塘区"},{"code":"430321","name":"湘潭县"},{"code":"430371","name":"湖南湘潭高新技术产业园区"},{"code":"430372","name":"湘潭昭山示范区"},{"code":"430373","name":"湘潭九华示范区"},{"code":"430381","name":"湘乡市"},{"code":"430382","name":"韶山市"}]},{"code":"4304","name":"衡阳市","children":[{"code":"430405","name":"珠晖区"},{"code":"430406","name":"雁峰区"},{"code":"430407","name":"石鼓区"},{"code":"430408","name":"蒸湘区"},{"code":"430412","name":"南岳区"},{"code":"430421","name":"衡阳县"},{"code":"430422","name":"衡南县"},{"code":"430423","name":"衡山县"},{"code":"430424","name":"衡东县"},{"code":"430426","name":"祁东县"},{"code":"430473","name":"湖南衡阳松木经济开发区"},{"code":"430476","name":"湖南衡阳高新技术产业园区"},{"code":"430481","name":"耒阳市"},{"code":"430482","name":"常宁市"}]},{"code":"4305","name":"邵阳市","children":[{"code":"430502","name":"双清区"},{"code":"430503","name":"大祥区"},{"code":"430511","name":"北塔区"},{"code":"430522","name":"新邵县"},{"code":"430523","name":"邵阳县"},{"code":"430524","name":"隆回县"},{"code":"430525","name":"洞口县"},{"code":"430527","name":"绥宁县"},{"code":"430528","name":"新宁县"},{"code":"430529","name":"城步苗族自治县"},{"code":"430581","name":"武冈市"},{"code":"430582","name":"邵东市"}]},{"code":"4306","name":"岳阳市","children":[{"code":"430602","name":"岳阳楼区"},{"code":"430603","name":"云溪区"},{"code":"430611","name":"君山区"},{"code":"430621","name":"岳阳县"},{"code":"430623","name":"华容县"},{"code":"430624","name":"湘阴县"},{"code":"430626","name":"平江县"},{"code":"430671","name":"岳阳市屈原管理区"},{"code":"430681","name":"汨罗市"},{"code":"430682","name":"临湘市"}]},{"code":"4307","name":"常德市","children":[{"code":"430702","name":"武陵区"},{"code":"430703","name":"鼎城区"},{"code":"430721","name":"安乡县"},{"code":"430722","name":"汉寿县"},{"code":"430723","name":"澧县"},{"code":"430724","name":"临澧县"},{"code":"430725","name":"桃源县"},{"code":"430726","name":"石门县"},{"code":"430771","name":"常德市西洞庭管理区"},{"code":"430781","name":"津市市"}]},{"code":"4308","name":"张家界市","children":[{"code":"430802","name":"永定区"},{"code":"430811","name":"武陵源区"},{"code":"430821","name":"慈利县"},{"code":"430822","name":"桑植县"}]},{"code":"4309","name":"益阳市","children":[{"code":"430902","name":"资阳区"},{"code":"430903","name":"赫山区"},{"code":"430921","name":"南县"},{"code":"430922","name":"桃江县"},{"code":"430923","name":"安化县"},{"code":"430971","name":"益阳市大通湖管理区"},{"code":"430972","name":"湖南益阳高新技术产业园区"},{"code":"430981","name":"沅江市"}]},{"code":"4310","name":"郴州市","children":[{"code":"431002","name":"北湖区"},{"code":"431003","name":"苏仙区"},{"code":"431021","name":"桂阳县"},{"code":"431022","name":"宜章县"},{"code":"431023","name":"永兴县"},{"code":"431024","name":"嘉禾县"},{"code":"431025","name":"临武县"},{"code":"431026","name":"汝城县"},{"code":"431027","name":"桂东县"},{"code":"431028","name":"安仁县"},{"code":"431081","name":"资兴市"}]},{"code":"4311","name":"永州市","children":[{"code":"431102","name":"零陵区"},{"code":"431103","name":"冷水滩区"},{"code":"431122","name":"东安县"},{"code":"431123","name":"双牌县"},{"code":"431124","name":"道县"},{"code":"431125","name":"江永县"},{"code":"431126","name":"宁远县"},{"code":"431127","name":"蓝山县"},{"code":"431128","name":"新田县"},{"code":"431129","name":"江华瑶族自治县"},{"code":"431171","name":"永州经济技术开发区"},{"code":"431173","name":"永州市回龙圩管理区"},{"code":"431181","name":"祁阳市"}]},{"code":"4312","name":"怀化市","children":[{"code":"431202","name":"鹤城区"},{"code":"431221","name":"中方县"},{"code":"431222","name":"沅陵县"},{"code":"431223","name":"辰溪县"},{"code":"431224","name":"溆浦县"},{"code":"431225","name":"会同县"},{"code":"431226","name":"麻阳苗族自治县"},{"code":"431227","name":"新晃侗族自治县"},{"code":"431228","name":"芷江侗族自治县"},{"code":"431229","name":"靖州苗族侗族自治县"},{"code":"431230","name":"通道侗族自治县"},{"code":"431271","name":"怀化市洪江管理区"},{"code":"431281","name":"洪江市"}]},{"code":"4313","name":"娄底市","children":[{"code":"431302","name":"娄星区"},{"code":"431321","name":"双峰县"},{"code":"431322","name":"新化县"},{"code":"431381","name":"冷水江市"},{"code":"431382","name":"涟源市"}]},{"code":"4331","name":"湘西土家族苗族自治州","children":[{"code":"433101","name":"吉首市"},{"code":"433122","name":"泸溪县"},{"code":"433123","name":"凤凰县"},{"code":"433124","name":"花垣县"},{"code":"433125","name":"保靖县"},{"code":"433126","name":"古丈县"},{"code":"433127","name":"永顺县"},{"code":"433130","name":"龙山县"}]}]},{"code":"44","name":"广东省","children":[{"code":"4401","name":"广州市","children":[{"code":"440103","name":"荔湾区"},{"code":"440104","name":"越秀区"},{"code":"440105","name":"海珠区"},{"code":"440106","name":"天河区"},{"code":"440111","name":"白云区"},{"code":"440112","name":"黄埔区"},{"code":"440113","name":"番禺区"},{"code":"440114","name":"花都区"},{"code":"440115","name":"南沙区"},{"code":"440117","name":"从化区"},{"code":"440118","name":"增城区"}]},{"code":"4402","name":"韶关市","children":[{"code":"440203","name":"武江区"},{"code":"440204","name":"浈江区"},{"code":"440205","name":"曲江区"},{"code":"440222","name":"始兴县"},{"code":"440224","name":"仁化县"},{"code":"440229","name":"翁源县"},{"code":"440232","name":"乳源瑶族自治县"},{"code":"440233","name":"新丰县"},{"code":"440281","name":"乐昌市"},{"code":"440282","name":"南雄市"}]},{"code":"4403","name":"深圳市","children":[{"code":"440303","name":"罗湖区"},{"code":"440304","name":"福田区"},{"code":"440305","name":"南山区"},{"code":"440306","name":"宝安区"},{"code":"440307","name":"龙岗区"},{"code":"440308","name":"盐田区"},{"code":"440309","name":"龙华区"},{"code":"440310","name":"坪山区"},{"code":"440311","name":"光明区"}]},{"code":"4404","name":"珠海市","children":[{"code":"440402","name":"香洲区"},{"code":"440403","name":"斗门区"},{"code":"440404","name":"金湾区"}]},{"code":"4405","name":"汕头市","children":[{"code":"440507","name":"龙湖区"},{"code":"440511","name":"金平区"},{"code":"440512","name":"濠江区"},{"code":"440513","name":"潮阳区"},{"code":"440514","name":"潮南区"},{"code":"440515","name":"澄海区"},{"code":"440523","name":"南澳县"}]},{"code":"4406","name":"佛山市","children":[{"code":"440604","name":"禅城区"},{"code":"440605","name":"南海区"},{"code":"440606","name":"顺德区"},{"code":"440607","name":"三水区"},{"code":"440608","name":"高明区"}]},{"code":"4407","name":"江门市","children":[{"code":"440703","name":"蓬江区"},{"code":"440704","name":"江海区"},{"code":"440705","name":"新会区"},{"code":"440781","name":"台山市"},{"code":"440783","name":"开平市"},{"code":"440784","name":"鹤山市"},{"code":"440785","name":"恩平市"}]},{"code":"4408","name":"湛江市","children":[{"code":"440802","name":"赤坎区"},{"code":"440803","name":"霞山区"},{"code":"440804","name":"坡头区"},{"code":"440811","name":"麻章区"},{"code":"440823","name":"遂溪县"},{"code":"440825","name":"徐闻县"},{"code":"440881","name":"廉江市"},{"code":"440882","name":"雷州市"},{"code":"440883","name":"吴川市"}]},{"code":"4409","name":"茂名市","children":[{"code":"440902","name":"茂南区"},{"code":"440904","name":"电白区"},{"code":"440981","name":"高州市"},{"code":"440982","name":"化州市"},{"code":"440983","name":"信宜市"}]},{"code":"4412","name":"肇庆市","children":[{"code":"441202","name":"端州区"},{"code":"441203","name":"鼎湖区"},{"code":"441204","name":"高要区"},{"code":"441223","name":"广宁县"},{"code":"441224","name":"怀集县"},{"code":"441225","name":"封开县"},{"code":"441226","name":"德庆县"},{"code":"441284","name":"四会市"}]},{"code":"4413","name":"惠州市","children":[{"code":"441302","name":"惠城区"},{"code":"441303","name":"惠阳区"},{"code":"441322","name":"博罗县"},{"code":"441323","name":"惠东县"},{"code":"441324","name":"龙门县"}]},{"code":"4414","name":"梅州市","children":[{"code":"441402","name":"梅江区"},{"code":"441403","name":"梅县区"},{"code":"441422","name":"大埔县"},{"code":"441423","name":"丰顺县"},{"code":"441424","name":"五华县"},{"code":"441426","name":"平远县"},{"code":"441427","name":"蕉岭县"},{"code":"441481","name":"兴宁市"}]},{"code":"4415","name":"汕尾市","children":[{"code":"441502","name":"城区"},{"code":"441521","name":"海丰县"},{"code":"441523","name":"陆河县"},{"code":"441581","name":"陆丰市"}]},{"code":"4416","name":"河源市","children":[{"code":"441602","name":"源城区"},{"code":"441621","name":"紫金县"},{"code":"441622","name":"龙川县"},{"code":"441623","name":"连平县"},{"code":"441624","name":"和平县"},{"code":"441625","name":"东源县"}]},{"code":"4417","name":"阳江市","children":[{"code":"441702","name":"江城区"},{"code":"441704","name":"阳东区"},{"code":"441721","name":"阳西县"},{"code":"441781","name":"阳春市"}]},{"code":"4418","name":"清远市","children":[{"code":"441802","name":"清城区"},{"code":"441803","name":"清新区"},{"code":"441821","name":"佛冈县"},{"code":"441823","name":"阳山县"},{"code":"441825","name":"连山壮族瑶族自治县"},{"code":"441826","name":"连南瑶族自治县"},{"code":"441881","name":"英德市"},{"code":"441882","name":"连州市"}]},{"code":"4419","name":"东莞市","children":[{"code":"441900003","name":"东城街道"},{"code":"441900004","name":"南城街道"},{"code":"441900005","name":"万江街道"},{"code":"441900006","name":"莞城街道"},{"code":"441900101","name":"石碣镇"},{"code":"441900102","name":"石龙镇"},{"code":"441900103","name":"茶山镇"},{"code":"441900104","name":"石排镇"},{"code":"441900105","name":"企石镇"},{"code":"441900106","name":"横沥镇"},{"code":"441900107","name":"桥头镇"},{"code":"441900108","name":"谢岗镇"},{"code":"441900109","name":"东坑镇"},{"code":"441900110","name":"常平镇"},{"code":"441900111","name":"寮步镇"},{"code":"441900112","name":"樟木头镇"},{"code":"441900113","name":"大朗镇"},{"code":"441900114","name":"黄江镇"},{"code":"441900115","name":"清溪镇"},{"code":"441900116","name":"塘厦镇"},{"code":"441900117","name":"凤岗镇"},{"code":"441900118","name":"大岭山镇"},{"code":"441900119","name":"长安镇"},{"code":"441900121","name":"虎门镇"},{"code":"441900122","name":"厚街镇"},{"code":"441900123","name":"沙田镇"},{"code":"441900124","name":"道滘镇"},{"code":"441900125","name":"洪梅镇"},{"code":"441900126","name":"麻涌镇"},{"code":"441900127","name":"望牛墩镇"},{"code":"441900128","name":"中堂镇"},{"code":"441900129","name":"高埗镇"},{"code":"441900401","name":"松山湖"},{"code":"441900402","name":"东莞港"},{"code":"441900403","name":"东莞生态园"},{"code":"441900404","name":"东莞滨海湾新区"}]},{"code":"4420","name":"中山市","children":[{"code":"442000001","name":"石岐街道"},{"code":"442000002","name":"东区街道"},{"code":"442000003","name":"中山港街道"},{"code":"442000004","name":"西区街道"},{"code":"442000005","name":"南区街道"},{"code":"442000006","name":"五桂山街道"},{"code":"442000007","name":"民众街道"},{"code":"442000008","name":"南朗街道"},{"code":"442000101","name":"黄圃镇"},{"code":"442000103","name":"东凤镇"},{"code":"442000105","name":"古镇镇"},{"code":"442000106","name":"沙溪镇"},{"code":"442000107","name":"坦洲镇"},{"code":"442000108","name":"港口镇"},{"code":"442000109","name":"三角镇"},{"code":"442000110","name":"横栏镇"},{"code":"442000111","name":"南头镇"},{"code":"442000112","name":"阜沙镇"},{"code":"442000114","name":"三乡镇"},{"code":"442000115","name":"板芙镇"},{"code":"442000116","name":"大涌镇"},{"code":"442000117","name":"神湾镇"},{"code":"442000118","name":"小榄镇"}]},{"code":"4451","name":"潮州市","children":[{"code":"445102","name":"湘桥区"},{"code":"445103","name":"潮安区"},{"code":"445122","name":"饶平县"}]},{"code":"4452","name":"揭阳市","children":[{"code":"445202","name":"榕城区"},{"code":"445203","name":"揭东区"},{"code":"445222","name":"揭西县"},{"code":"445224","name":"惠来县"},{"code":"445281","name":"普宁市"}]},{"code":"4453","name":"云浮市","children":[{"code":"445302","name":"云城区"},{"code":"445303","name":"云安区"},{"code":"445321","name":"新兴县"},{"code":"445322","name":"郁南县"},{"code":"445381","name":"罗定市"}]}]},{"code":"45","name":"广西壮族自治区","children":[{"code":"4501","name":"南宁市","children":[{"code":"450102","name":"兴宁区"},{"code":"450103","name":"青秀区"},{"code":"450105","name":"江南区"},{"code":"450107","name":"西乡塘区"},{"code":"450108","name":"良庆区"},{"code":"450109","name":"邕宁区"},{"code":"450110","name":"武鸣区"},{"code":"450123","name":"隆安县"},{"code":"450124","name":"马山县"},{"code":"450125","name":"上林县"},{"code":"450126","name":"宾阳县"},{"code":"450181","name":"横州市"}]},{"code":"4502","name":"柳州市","children":[{"code":"450202","name":"城中区"},{"code":"450203","name":"鱼峰区"},{"code":"450204","name":"柳南区"},{"code":"450205","name":"柳北区"},{"code":"450206","name":"柳江区"},{"code":"450222","name":"柳城县"},{"code":"450223","name":"鹿寨县"},{"code":"450224","name":"融安县"},{"code":"450225","name":"融水苗族自治县"},{"code":"450226","name":"三江侗族自治县"}]},{"code":"4503","name":"桂林市","children":[{"code":"450302","name":"秀峰区"},{"code":"450303","name":"叠彩区"},{"code":"450304","name":"象山区"},{"code":"450305","name":"七星区"},{"code":"450311","name":"雁山区"},{"code":"450312","name":"临桂区"},{"code":"450321","name":"阳朔县"},{"code":"450323","name":"灵川县"},{"code":"450324","name":"全州县"},{"code":"450325","name":"兴安县"},{"code":"450326","name":"永福县"},{"code":"450327","name":"灌阳县"},{"code":"450328","name":"龙胜各族自治县"},{"code":"450329","name":"资源县"},{"code":"450330","name":"平乐县"},{"code":"450332","name":"恭城瑶族自治县"},{"code":"450381","name":"荔浦市"}]},{"code":"4504","name":"梧州市","children":[{"code":"450403","name":"万秀区"},{"code":"450405","name":"长洲区"},{"code":"450406","name":"龙圩区"},{"code":"450421","name":"苍梧县"},{"code":"450422","name":"藤县"},{"code":"450423","name":"蒙山县"},{"code":"450481","name":"岑溪市"}]},{"code":"4505","name":"北海市","children":[{"code":"450502","name":"海城区"},{"code":"450503","name":"银海区"},{"code":"450512","name":"铁山港区"},{"code":"450521","name":"合浦县"}]},{"code":"4506","name":"防城港市","children":[{"code":"450602","name":"港口区"},{"code":"450603","name":"防城区"},{"code":"450621","name":"上思县"},{"code":"450681","name":"东兴市"}]},{"code":"4507","name":"钦州市","children":[{"code":"450702","name":"钦南区"},{"code":"450703","name":"钦北区"},{"code":"450721","name":"灵山县"},{"code":"450722","name":"浦北县"}]},{"code":"4508","name":"贵港市","children":[{"code":"450802","name":"港北区"},{"code":"450803","name":"港南区"},{"code":"450804","name":"覃塘区"},{"code":"450821","name":"平南县"},{"code":"450881","name":"桂平市"}]},{"code":"4509","name":"玉林市","children":[{"code":"450902","name":"玉州区"},{"code":"450903","name":"福绵区"},{"code":"450921","name":"容县"},{"code":"450922","name":"陆川县"},{"code":"450923","name":"博白县"},{"code":"450924","name":"兴业县"},{"code":"450981","name":"北流市"}]},{"code":"4510","name":"百色市","children":[{"code":"451002","name":"右江区"},{"code":"451003","name":"田阳区"},{"code":"451022","name":"田东县"},{"code":"451024","name":"德保县"},{"code":"451026","name":"那坡县"},{"code":"451027","name":"凌云县"},{"code":"451028","name":"乐业县"},{"code":"451029","name":"田林县"},{"code":"451030","name":"西林县"},{"code":"451031","name":"隆林各族自治县"},{"code":"451081","name":"靖西市"},{"code":"451082","name":"平果市"}]},{"code":"4511","name":"贺州市","children":[{"code":"451102","name":"八步区"},{"code":"451103","name":"平桂区"},{"code":"451121","name":"昭平县"},{"code":"451122","name":"钟山县"},{"code":"451123","name":"富川瑶族自治县"}]},{"code":"4512","name":"河池市","children":[{"code":"451202","name":"金城江区"},{"code":"451203","name":"宜州区"},{"code":"451221","name":"南丹县"},{"code":"451222","name":"天峨县"},{"code":"451223","name":"凤山县"},{"code":"451224","name":"东兰县"},{"code":"451225","name":"罗城仫佬族自治县"},{"code":"451226","name":"环江毛南族自治县"},{"code":"451227","name":"巴马瑶族自治县"},{"code":"451228","name":"都安瑶族自治县"},{"code":"451229","name":"大化瑶族自治县"}]},{"code":"4513","name":"来宾市","children":[{"code":"451302","name":"兴宾区"},{"code":"451321","name":"忻城县"},{"code":"451322","name":"象州县"},{"code":"451323","name":"武宣县"},{"code":"451324","name":"金秀瑶族自治县"},{"code":"451381","name":"合山市"}]},{"code":"4514","name":"崇左市","children":[{"code":"451402","name":"江州区"},{"code":"451421","name":"扶绥县"},{"code":"451422","name":"宁明县"},{"code":"451423","name":"龙州县"},{"code":"451424","name":"大新县"},{"code":"451425","name":"天等县"},{"code":"451481","name":"凭祥市"}]}]},{"code":"46","name":"海南省","children":[{"code":"4601","name":"海口市","children":[{"code":"460105","name":"秀英区"},{"code":"460106","name":"龙华区"},{"code":"460107","name":"琼山区"},{"code":"460108","name":"美兰区"}]},{"code":"4602","name":"三亚市","children":[{"code":"460202","name":"海棠区"},{"code":"460203","name":"吉阳区"},{"code":"460204","name":"天涯区"},{"code":"460205","name":"崖州区"}]},{"code":"4603","name":"三沙市","children":[{"code":"460321","name":"西沙群岛"},{"code":"460322","name":"南沙群岛"},{"code":"460323","name":"中沙群岛的岛礁及其海域"}]},{"code":"4604","name":"儋州市","children":[{"code":"460400100","name":"那大镇"},{"code":"460400101","name":"和庆镇"},{"code":"460400102","name":"南丰镇"},{"code":"460400103","name":"大成镇"},{"code":"460400104","name":"雅星镇"},{"code":"460400105","name":"兰洋镇"},{"code":"460400106","name":"光村镇"},{"code":"460400107","name":"木棠镇"},{"code":"460400108","name":"海头镇"},{"code":"460400109","name":"峨蔓镇"},{"code":"460400111","name":"王五镇"},{"code":"460400112","name":"白马井镇"},{"code":"460400113","name":"中和镇"},{"code":"460400114","name":"排浦镇"},{"code":"460400115","name":"东成镇"},{"code":"460400116","name":"新州镇"},{"code":"460400499","name":"洋浦经济开发区"},{"code":"460400500","name":"华南热作学院"}]},{"code":"4690","name":"省直辖县级行政区划","children":[{"code":"469001","name":"五指山市"},{"code":"469002","name":"琼海市"},{"code":"469005","name":"文昌市"},{"code":"469006","name":"万宁市"},{"code":"469007","name":"东方市"},{"code":"469021","name":"定安县"},{"code":"469022","name":"屯昌县"},{"code":"469023","name":"澄迈县"},{"code":"469024","name":"临高县"},{"code":"469025","name":"白沙黎族自治县"},{"code":"469026","name":"昌江黎族自治县"},{"code":"469027","name":"乐东黎族自治县"},{"code":"469028","name":"陵水黎族自治县"},{"code":"469029","name":"保亭黎族苗族自治县"},{"code":"469030","name":"琼中黎族苗族自治县"}]}]},{"code":"50","name":"重庆市","children":[{"code":"5001","name":"市辖区","children":[{"code":"500101","name":"万州区"},{"code":"500102","name":"涪陵区"},{"code":"500103","name":"渝中区"},{"code":"500104","name":"大渡口区"},{"code":"500105","name":"江北区"},{"code":"500106","name":"沙坪坝区"},{"code":"500107","name":"九龙坡区"},{"code":"500108","name":"南岸区"},{"code":"500109","name":"北碚区"},{"code":"500110","name":"綦江区"},{"code":"500111","name":"大足区"},{"code":"500112","name":"渝北区"},{"code":"500113","name":"巴南区"},{"code":"500114","name":"黔江区"},{"code":"500115","name":"长寿区"},{"code":"500116","name":"江津区"},{"code":"500117","name":"合川区"},{"code":"500118","name":"永川区"},{"code":"500119","name":"南川区"},{"code":"500120","name":"璧山区"},{"code":"500151","name":"铜梁区"},{"code":"500152","name":"潼南区"},{"code":"500153","name":"荣昌区"},{"code":"500154","name":"开州区"},{"code":"500155","name":"梁平区"},{"code":"500156","name":"武隆区"}]},{"code":"5002","name":"县","children":[{"code":"500229","name":"城口县"},{"code":"500230","name":"丰都县"},{"code":"500231","name":"垫江县"},{"code":"500233","name":"忠县"},{"code":"500235","name":"云阳县"},{"code":"500236","name":"奉节县"},{"code":"500237","name":"巫山县"},{"code":"500238","name":"巫溪县"},{"code":"500240","name":"石柱土家族自治县"},{"code":"500241","name":"秀山土家族苗族自治县"},{"code":"500242","name":"酉阳土家族苗族自治县"},{"code":"500243","name":"彭水苗族土家族自治县"}]}]},{"code":"51","name":"四川省","children":[{"code":"5101","name":"成都市","children":[{"code":"510104","name":"锦江区"},{"code":"510105","name":"青羊区"},{"code":"510106","name":"金牛区"},{"code":"510107","name":"武侯区"},{"code":"510108","name":"成华区"},{"code":"510112","name":"龙泉驿区"},{"code":"510113","name":"青白江区"},{"code":"510114","name":"新都区"},{"code":"510115","name":"温江区"},{"code":"510116","name":"双流区"},{"code":"510117","name":"郫都区"},{"code":"510118","name":"新津区"},{"code":"510121","name":"金堂县"},{"code":"510129","name":"大邑县"},{"code":"510131","name":"蒲江县"},{"code":"510181","name":"都江堰市"},{"code":"510182","name":"彭州市"},{"code":"510183","name":"邛崃市"},{"code":"510184","name":"崇州市"},{"code":"510185","name":"简阳市"}]},{"code":"5103","name":"自贡市","children":[{"code":"510302","name":"自流井区"},{"code":"510303","name":"贡井区"},{"code":"510304","name":"大安区"},{"code":"510311","name":"沿滩区"},{"code":"510321","name":"荣县"},{"code":"510322","name":"富顺县"}]},{"code":"5104","name":"攀枝花市","children":[{"code":"510402","name":"东区"},{"code":"510403","name":"西区"},{"code":"510411","name":"仁和区"},{"code":"510421","name":"米易县"},{"code":"510422","name":"盐边县"}]},{"code":"5105","name":"泸州市","children":[{"code":"510502","name":"江阳区"},{"code":"510503","name":"纳溪区"},{"code":"510504","name":"龙马潭区"},{"code":"510521","name":"泸县"},{"code":"510522","name":"合江县"},{"code":"510524","name":"叙永县"},{"code":"510525","name":"古蔺县"}]},{"code":"5106","name":"德阳市","children":[{"code":"510603","name":"旌阳区"},{"code":"510604","name":"罗江区"},{"code":"510623","name":"中江县"},{"code":"510681","name":"广汉市"},{"code":"510682","name":"什邡市"},{"code":"510683","name":"绵竹市"}]},{"code":"5107","name":"绵阳市","children":[{"code":"510703","name":"涪城区"},{"code":"510704","name":"游仙区"},{"code":"510705","name":"安州区"},{"code":"510722","name":"三台县"},{"code":"510723","name":"盐亭县"},{"code":"510725","name":"梓潼县"},{"code":"510726","name":"北川羌族自治县"},{"code":"510727","name":"平武县"},{"code":"510781","name":"江油市"}]},{"code":"5108","name":"广元市","children":[{"code":"510802","name":"利州区"},{"code":"510811","name":"昭化区"},{"code":"510812","name":"朝天区"},{"code":"510821","name":"旺苍县"},{"code":"510822","name":"青川县"},{"code":"510823","name":"剑阁县"},{"code":"510824","name":"苍溪县"}]},{"code":"5109","name":"遂宁市","children":[{"code":"510903","name":"船山区"},{"code":"510904","name":"安居区"},{"code":"510921","name":"蓬溪县"},{"code":"510923","name":"大英县"},{"code":"510981","name":"射洪市"}]},{"code":"5110","name":"内江市","children":[{"code":"511002","name":"市中区"},{"code":"511011","name":"东兴区"},{"code":"511024","name":"威远县"},{"code":"511025","name":"资中县"},{"code":"511083","name":"隆昌市"}]},{"code":"5111","name":"乐山市","children":[{"code":"511102","name":"市中区"},{"code":"511111","name":"沙湾区"},{"code":"511112","name":"五通桥区"},{"code":"511113","name":"金口河区"},{"code":"511123","name":"犍为县"},{"code":"511124","name":"井研县"},{"code":"511126","name":"夹江县"},{"code":"511129","name":"沐川县"},{"code":"511132","name":"峨边彝族自治县"},{"code":"511133","name":"马边彝族自治县"},{"code":"511181","name":"峨眉山市"}]},{"code":"5113","name":"南充市","children":[{"code":"511302","name":"顺庆区"},{"code":"511303","name":"高坪区"},{"code":"511304","name":"嘉陵区"},{"code":"511321","name":"南部县"},{"code":"511322","name":"营山县"},{"code":"511323","name":"蓬安县"},{"code":"511324","name":"仪陇县"},{"code":"511325","name":"西充县"},{"code":"511381","name":"阆中市"}]},{"code":"5114","name":"眉山市","children":[{"code":"511402","name":"东坡区"},{"code":"511403","name":"彭山区"},{"code":"511421","name":"仁寿县"},{"code":"511423","name":"洪雅县"},{"code":"511424","name":"丹棱县"},{"code":"511425","name":"青神县"}]},{"code":"5115","name":"宜宾市","children":[{"code":"511502","name":"翠屏区"},{"code":"511503","name":"南溪区"},{"code":"511504","name":"叙州区"},{"code":"511523","name":"江安县"},{"code":"511524","name":"长宁县"},{"code":"511525","name":"高县"},{"code":"511526","name":"珙县"},{"code":"511527","name":"筠连县"},{"code":"511528","name":"兴文县"},{"code":"511529","name":"屏山县"}]},{"code":"5116","name":"广安市","children":[{"code":"511602","name":"广安区"},{"code":"511603","name":"前锋区"},{"code":"511621","name":"岳池县"},{"code":"511622","name":"武胜县"},{"code":"511623","name":"邻水县"},{"code":"511681","name":"华蓥市"}]},{"code":"5117","name":"达州市","children":[{"code":"511702","name":"通川区"},{"code":"511703","name":"达川区"},{"code":"511722","name":"宣汉县"},{"code":"511723","name":"开江县"},{"code":"511724","name":"大竹县"},{"code":"511725","name":"渠县"},{"code":"511781","name":"万源市"}]},{"code":"5118","name":"雅安市","children":[{"code":"511802","name":"雨城区"},{"code":"511803","name":"名山区"},{"code":"511822","name":"荥经县"},{"code":"511823","name":"汉源县"},{"code":"511824","name":"石棉县"},{"code":"511825","name":"天全县"},{"code":"511826","name":"芦山县"},{"code":"511827","name":"宝兴县"}]},{"code":"5119","name":"巴中市","children":[{"code":"511902","name":"巴州区"},{"code":"511903","name":"恩阳区"},{"code":"511921","name":"通江县"},{"code":"511922","name":"南江县"},{"code":"511923","name":"平昌县"}]},{"code":"5120","name":"资阳市","children":[{"code":"512002","name":"雁江区"},{"code":"512021","name":"安岳县"},{"code":"512022","name":"乐至县"}]},{"code":"5132","name":"阿坝藏族羌族自治州","children":[{"code":"513201","name":"马尔康市"},{"code":"513221","name":"汶川县"},{"code":"513222","name":"理县"},{"code":"513223","name":"茂县"},{"code":"513224","name":"松潘县"},{"code":"513225","name":"九寨沟县"},{"code":"513226","name":"金川县"},{"code":"513227","name":"小金县"},{"code":"513228","name":"黑水县"},{"code":"513230","name":"壤塘县"},{"code":"513231","name":"阿坝县"},{"code":"513232","name":"若尔盖县"},{"code":"513233","name":"红原县"}]},{"code":"5133","name":"甘孜藏族自治州","children":[{"code":"513301","name":"康定市"},{"code":"513322","name":"泸定县"},{"code":"513323","name":"丹巴县"},{"code":"513324","name":"九龙县"},{"code":"513325","name":"雅江县"},{"code":"513326","name":"道孚县"},{"code":"513327","name":"炉霍县"},{"code":"513328","name":"甘孜县"},{"code":"513329","name":"新龙县"},{"code":"513330","name":"德格县"},{"code":"513331","name":"白玉县"},{"code":"513332","name":"石渠县"},{"code":"513333","name":"色达县"},{"code":"513334","name":"理塘县"},{"code":"513335","name":"巴塘县"},{"code":"513336","name":"乡城县"},{"code":"513337","name":"稻城县"},{"code":"513338","name":"得荣县"}]},{"code":"5134","name":"凉山彝族自治州","children":[{"code":"513401","name":"西昌市"},{"code":"513402","name":"会理市"},{"code":"513422","name":"木里藏族自治县"},{"code":"513423","name":"盐源县"},{"code":"513424","name":"德昌县"},{"code":"513426","name":"会东县"},{"code":"513427","name":"宁南县"},{"code":"513428","name":"普格县"},{"code":"513429","name":"布拖县"},{"code":"513430","name":"金阳县"},{"code":"513431","name":"昭觉县"},{"code":"513432","name":"喜德县"},{"code":"513433","name":"冕宁县"},{"code":"513434","name":"越西县"},{"code":"513435","name":"甘洛县"},{"code":"513436","name":"美姑县"},{"code":"513437","name":"雷波县"}]}]},{"code":"52","name":"贵州省","children":[{"code":"5201","name":"贵阳市","children":[{"code":"520102","name":"南明区"},{"code":"520103","name":"云岩区"},{"code":"520111","name":"花溪区"},{"code":"520112","name":"乌当区"},{"code":"520113","name":"白云区"},{"code":"520115","name":"观山湖区"},{"code":"520121","name":"开阳县"},{"code":"520122","name":"息烽县"},{"code":"520123","name":"修文县"},{"code":"520181","name":"清镇市"}]},{"code":"5202","name":"六盘水市","children":[{"code":"520201","name":"钟山区"},{"code":"520203","name":"六枝特区"},{"code":"520204","name":"水城区"},{"code":"520281","name":"盘州市"}]},{"code":"5203","name":"遵义市","children":[{"code":"520302","name":"红花岗区"},{"code":"520303","name":"汇川区"},{"code":"520304","name":"播州区"},{"code":"520322","name":"桐梓县"},{"code":"520323","name":"绥阳县"},{"code":"520324","name":"正安县"},{"code":"520325","name":"道真仡佬族苗族自治县"},{"code":"520326","name":"务川仡佬族苗族自治县"},{"code":"520327","name":"凤冈县"},{"code":"520328","name":"湄潭县"},{"code":"520329","name":"余庆县"},{"code":"520330","name":"习水县"},{"code":"520381","name":"赤水市"},{"code":"520382","name":"仁怀市"}]},{"code":"5204","name":"安顺市","children":[{"code":"520402","name":"西秀区"},{"code":"520403","name":"平坝区"},{"code":"520422","name":"普定县"},{"code":"520423","name":"镇宁布依族苗族自治县"},{"code":"520424","name":"关岭布依族苗族自治县"},{"code":"520425","name":"紫云苗族布依族自治县"}]},{"code":"5205","name":"毕节市","children":[{"code":"520502","name":"七星关区"},{"code":"520521","name":"大方县"},{"code":"520523","name":"金沙县"},{"code":"520524","name":"织金县"},{"code":"520525","name":"纳雍县"},{"code":"520526","name":"威宁彝族回族苗族自治县"},{"code":"520527","name":"赫章县"},{"code":"520581","name":"黔西市"}]},{"code":"5206","name":"铜仁市","children":[{"code":"520602","name":"碧江区"},{"code":"520603","name":"万山区"},{"code":"520621","name":"江口县"},{"code":"520622","name":"玉屏侗族自治县"},{"code":"520623","name":"石阡县"},{"code":"520624","name":"思南县"},{"code":"520625","name":"印江土家族苗族自治县"},{"code":"520626","name":"德江县"},{"code":"520627","name":"沿河土家族自治县"},{"code":"520628","name":"松桃苗族自治县"}]},{"code":"5223","name":"黔西南布依族苗族自治州","children":[{"code":"522301","name":"兴义市"},{"code":"522302","name":"兴仁市"},{"code":"522323","name":"普安县"},{"code":"522324","name":"晴隆县"},{"code":"522325","name":"贞丰县"},{"code":"522326","name":"望谟县"},{"code":"522327","name":"册亨县"},{"code":"522328","name":"安龙县"}]},{"code":"5226","name":"黔东南苗族侗族自治州","children":[{"code":"522601","name":"凯里市"},{"code":"522622","name":"黄平县"},{"code":"522623","name":"施秉县"},{"code":"522624","name":"三穗县"},{"code":"522625","name":"镇远县"},{"code":"522626","name":"岑巩县"},{"code":"522627","name":"天柱县"},{"code":"522628","name":"锦屏县"},{"code":"522629","name":"剑河县"},{"code":"522630","name":"台江县"},{"code":"522631","name":"黎平县"},{"code":"522632","name":"榕江县"},{"code":"522633","name":"从江县"},{"code":"522634","name":"雷山县"},{"code":"522635","name":"麻江县"},{"code":"522636","name":"丹寨县"}]},{"code":"5227","name":"黔南布依族苗族自治州","children":[{"code":"522701","name":"都匀市"},{"code":"522702","name":"福泉市"},{"code":"522722","name":"荔波县"},{"code":"522723","name":"贵定县"},{"code":"522725","name":"瓮安县"},{"code":"522726","name":"独山县"},{"code":"522727","name":"平塘县"},{"code":"522728","name":"罗甸县"},{"code":"522729","name":"长顺县"},{"code":"522730","name":"龙里县"},{"code":"522731","name":"惠水县"},{"code":"522732","name":"三都水族自治县"}]}]},{"code":"53","name":"云南省","children":[{"code":"5301","name":"昆明市","children":[{"code":"530102","name":"五华区"},{"code":"530103","name":"盘龙区"},{"code":"530111","name":"官渡区"},{"code":"530112","name":"西山区"},{"code":"530113","name":"东川区"},{"code":"530114","name":"呈贡区"},{"code":"530115","name":"晋宁区"},{"code":"530124","name":"富民县"},{"code":"530125","name":"宜良县"},{"code":"530126","name":"石林彝族自治县"},{"code":"530127","name":"嵩明县"},{"code":"530128","name":"禄劝彝族苗族自治县"},{"code":"530129","name":"寻甸回族彝族自治县"},{"code":"530181","name":"安宁市"}]},{"code":"5303","name":"曲靖市","children":[{"code":"530302","name":"麒麟区"},{"code":"530303","name":"沾益区"},{"code":"530304","name":"马龙区"},{"code":"530322","name":"陆良县"},{"code":"530323","name":"师宗县"},{"code":"530324","name":"罗平县"},{"code":"530325","name":"富源县"},{"code":"530326","name":"会泽县"},{"code":"530381","name":"宣威市"}]},{"code":"5304","name":"玉溪市","children":[{"code":"530402","name":"红塔区"},{"code":"530403","name":"江川区"},{"code":"530423","name":"通海县"},{"code":"530424","name":"华宁县"},{"code":"530425","name":"易门县"},{"code":"530426","name":"峨山彝族自治县"},{"code":"530427","name":"新平彝族傣族自治县"},{"code":"530428","name":"元江哈尼族彝族傣族自治县"},{"code":"530481","name":"澄江市"}]},{"code":"5305","name":"保山市","children":[{"code":"530502","name":"隆阳区"},{"code":"530521","name":"施甸县"},{"code":"530523","name":"龙陵县"},{"code":"530524","name":"昌宁县"},{"code":"530581","name":"腾冲市"}]},{"code":"5306","name":"昭通市","children":[{"code":"530602","name":"昭阳区"},{"code":"530621","name":"鲁甸县"},{"code":"530622","name":"巧家县"},{"code":"530623","name":"盐津县"},{"code":"530624","name":"大关县"},{"code":"530625","name":"永善县"},{"code":"530626","name":"绥江县"},{"code":"530627","name":"镇雄县"},{"code":"530628","name":"彝良县"},{"code":"530629","name":"威信县"},{"code":"530681","name":"水富市"}]},{"code":"5307","name":"丽江市","children":[{"code":"530702","name":"古城区"},{"code":"530721","name":"玉龙纳西族自治县"},{"code":"530722","name":"永胜县"},{"code":"530723","name":"华坪县"},{"code":"530724","name":"宁蒗彝族自治县"}]},{"code":"5308","name":"普洱市","children":[{"code":"530802","name":"思茅区"},{"code":"530821","name":"宁洱哈尼族彝族自治县"},{"code":"530822","name":"墨江哈尼族自治县"},{"code":"530823","name":"景东彝族自治县"},{"code":"530824","name":"景谷傣族彝族自治县"},{"code":"530825","name":"镇沅彝族哈尼族拉祜族自治县"},{"code":"530826","name":"江城哈尼族彝族自治县"},{"code":"530827","name":"孟连傣族拉祜族佤族自治县"},{"code":"530828","name":"澜沧拉祜族自治县"},{"code":"530829","name":"西盟佤族自治县"}]},{"code":"5309","name":"临沧市","children":[{"code":"530902","name":"临翔区"},{"code":"530921","name":"凤庆县"},{"code":"530922","name":"云县"},{"code":"530923","name":"永德县"},{"code":"530924","name":"镇康县"},{"code":"530925","name":"双江拉祜族佤族布朗族傣族自治县"},{"code":"530926","name":"耿马傣族佤族自治县"},{"code":"530927","name":"沧源佤族自治县"}]},{"code":"5323","name":"楚雄彝族自治州","children":[{"code":"532301","name":"楚雄市"},{"code":"532302","name":"禄丰市"},{"code":"532322","name":"双柏县"},{"code":"532323","name":"牟定县"},{"code":"532324","name":"南华县"},{"code":"532325","name":"姚安县"},{"code":"532326","name":"大姚县"},{"code":"532327","name":"永仁县"},{"code":"532328","name":"元谋县"},{"code":"532329","name":"武定县"}]},{"code":"5325","name":"红河哈尼族彝族自治州","children":[{"code":"532501","name":"个旧市"},{"code":"532502","name":"开远市"},{"code":"532503","name":"蒙自市"},{"code":"532504","name":"弥勒市"},{"code":"532523","name":"屏边苗族自治县"},{"code":"532524","name":"建水县"},{"code":"532525","name":"石屏县"},{"code":"532527","name":"泸西县"},{"code":"532528","name":"元阳县"},{"code":"532529","name":"红河县"},{"code":"532530","name":"金平苗族瑶族傣族自治县"},{"code":"532531","name":"绿春县"},{"code":"532532","name":"河口瑶族自治县"}]},{"code":"5326","name":"文山壮族苗族自治州","children":[{"code":"532601","name":"文山市"},{"code":"532622","name":"砚山县"},{"code":"532623","name":"西畴县"},{"code":"532624","name":"麻栗坡县"},{"code":"532625","name":"马关县"},{"code":"532626","name":"丘北县"},{"code":"532627","name":"广南县"},{"code":"532628","name":"富宁县"}]},{"code":"5328","name":"西双版纳傣族自治州","children":[{"code":"532801","name":"景洪市"},{"code":"532822","name":"勐海县"},{"code":"532823","name":"勐腊县"}]},{"code":"5329","name":"大理白族自治州","children":[{"code":"532901","name":"大理市"},{"code":"532922","name":"漾濞彝族自治县"},{"code":"532923","name":"祥云县"},{"code":"532924","name":"宾川县"},{"code":"532925","name":"弥渡县"},{"code":"532926","name":"南涧彝族自治县"},{"code":"532927","name":"巍山彝族回族自治县"},{"code":"532928","name":"永平县"},{"code":"532929","name":"云龙县"},{"code":"532930","name":"洱源县"},{"code":"532931","name":"剑川县"},{"code":"532932","name":"鹤庆县"}]},{"code":"5331","name":"德宏傣族景颇族自治州","children":[{"code":"533102","name":"瑞丽市"},{"code":"533103","name":"芒市"},{"code":"533122","name":"梁河县"},{"code":"533123","name":"盈江县"},{"code":"533124","name":"陇川县"}]},{"code":"5333","name":"怒江傈僳族自治州","children":[{"code":"533301","name":"泸水市"},{"code":"533323","name":"福贡县"},{"code":"533324","name":"贡山独龙族怒族自治县"},{"code":"533325","name":"兰坪白族普米族自治县"}]},{"code":"5334","name":"迪庆藏族自治州","children":[{"code":"533401","name":"香格里拉市"},{"code":"533422","name":"德钦县"},{"code":"533423","name":"维西傈僳族自治县"}]}]},{"code":"54","name":"西藏自治区","children":[{"code":"5401","name":"拉萨市","children":[{"code":"540102","name":"城关区"},{"code":"540103","name":"堆龙德庆区"},{"code":"540104","name":"达孜区"},{"code":"540121","name":"林周县"},{"code":"540122","name":"当雄县"},{"code":"540123","name":"尼木县"},{"code":"540124","name":"曲水县"},{"code":"540127","name":"墨竹工卡县"},{"code":"540171","name":"格尔木藏青工业园区"},{"code":"540172","name":"拉萨经济技术开发区"},{"code":"540173","name":"西藏文化旅游创意园区"},{"code":"540174","name":"达孜工业园区"}]},{"code":"5402","name":"日喀则市","children":[{"code":"540202","name":"桑珠孜区"},{"code":"540221","name":"南木林县"},{"code":"540222","name":"江孜县"},{"code":"540223","name":"定日县"},{"code":"540224","name":"萨迦县"},{"code":"540225","name":"拉孜县"},{"code":"540226","name":"昂仁县"},{"code":"540227","name":"谢通门县"},{"code":"540228","name":"白朗县"},{"code":"540229","name":"仁布县"},{"code":"540230","name":"康马县"},{"code":"540231","name":"定结县"},{"code":"540232","name":"仲巴县"},{"code":"540233","name":"亚东县"},{"code":"540234","name":"吉隆县"},{"code":"540235","name":"聂拉木县"},{"code":"540236","name":"萨嘎县"},{"code":"540237","name":"岗巴县"}]},{"code":"5403","name":"昌都市","children":[{"code":"540302","name":"卡若区"},{"code":"540321","name":"江达县"},{"code":"540322","name":"贡觉县"},{"code":"540323","name":"类乌齐县"},{"code":"540324","name":"丁青县"},{"code":"540325","name":"察雅县"},{"code":"540326","name":"八宿县"},{"code":"540327","name":"左贡县"},{"code":"540328","name":"芒康县"},{"code":"540329","name":"洛隆县"},{"code":"540330","name":"边坝县"}]},{"code":"5404","name":"林芝市","children":[{"code":"540402","name":"巴宜区"},{"code":"540421","name":"工布江达县"},{"code":"540423","name":"墨脱县"},{"code":"540424","name":"波密县"},{"code":"540425","name":"察隅县"},{"code":"540426","name":"朗县"},{"code":"540481","name":"米林市"}]},{"code":"5405","name":"山南市","children":[{"code":"540502","name":"乃东区"},{"code":"540521","name":"扎囊县"},{"code":"540522","name":"贡嘎县"},{"code":"540523","name":"桑日县"},{"code":"540524","name":"琼结县"},{"code":"540525","name":"曲松县"},{"code":"540526","name":"措美县"},{"code":"540527","name":"洛扎县"},{"code":"540528","name":"加查县"},{"code":"540529","name":"隆子县"},{"code":"540531","name":"浪卡子县"},{"code":"540581","name":"错那市"}]},{"code":"5406","name":"那曲市","children":[{"code":"540602","name":"色尼区"},{"code":"540621","name":"嘉黎县"},{"code":"540622","name":"比如县"},{"code":"540623","name":"聂荣县"},{"code":"540624","name":"安多县"},{"code":"540625","name":"申扎县"},{"code":"540626","name":"索县"},{"code":"540627","name":"班戈县"},{"code":"540628","name":"巴青县"},{"code":"540629","name":"尼玛县"},{"code":"540630","name":"双湖县"}]},{"code":"5425","name":"阿里地区","children":[{"code":"542521","name":"普兰县"},{"code":"542522","name":"札达县"},{"code":"542523","name":"噶尔县"},{"code":"542524","name":"日土县"},{"code":"542525","name":"革吉县"},{"code":"542526","name":"改则县"},{"code":"542527","name":"措勤县"}]}]},{"code":"61","name":"陕西省","children":[{"code":"6101","name":"西安市","children":[{"code":"610102","name":"新城区"},{"code":"610103","name":"碑林区"},{"code":"610104","name":"莲湖区"},{"code":"610111","name":"灞桥区"},{"code":"610112","name":"未央区"},{"code":"610113","name":"雁塔区"},{"code":"610114","name":"阎良区"},{"code":"610115","name":"临潼区"},{"code":"610116","name":"长安区"},{"code":"610117","name":"高陵区"},{"code":"610118","name":"鄠邑区"},{"code":"610122","name":"蓝田县"},{"code":"610124","name":"周至县"}]},{"code":"6102","name":"铜川市","children":[{"code":"610202","name":"王益区"},{"code":"610203","name":"印台区"},{"code":"610204","name":"耀州区"},{"code":"610222","name":"宜君县"}]},{"code":"6103","name":"宝鸡市","children":[{"code":"610302","name":"渭滨区"},{"code":"610303","name":"金台区"},{"code":"610304","name":"陈仓区"},{"code":"610305","name":"凤翔区"},{"code":"610323","name":"岐山县"},{"code":"610324","name":"扶风县"},{"code":"610326","name":"眉县"},{"code":"610327","name":"陇县"},{"code":"610328","name":"千阳县"},{"code":"610329","name":"麟游县"},{"code":"610330","name":"凤县"},{"code":"610331","name":"太白县"}]},{"code":"6104","name":"咸阳市","children":[{"code":"610402","name":"秦都区"},{"code":"610403","name":"杨陵区"},{"code":"610404","name":"渭城区"},{"code":"610422","name":"三原县"},{"code":"610423","name":"泾阳县"},{"code":"610424","name":"乾县"},{"code":"610425","name":"礼泉县"},{"code":"610426","name":"永寿县"},{"code":"610428","name":"长武县"},{"code":"610429","name":"旬邑县"},{"code":"610430","name":"淳化县"},{"code":"610431","name":"武功县"},{"code":"610481","name":"兴平市"},{"code":"610482","name":"彬州市"}]},{"code":"6105","name":"渭南市","children":[{"code":"610502","name":"临渭区"},{"code":"610503","name":"华州区"},{"code":"610522","name":"潼关县"},{"code":"610523","name":"大荔县"},{"code":"610524","name":"合阳县"},{"code":"610525","name":"澄城县"},{"code":"610526","name":"蒲城县"},{"code":"610527","name":"白水县"},{"code":"610528","name":"富平县"},{"code":"610581","name":"韩城市"},{"code":"610582","name":"华阴市"}]},{"code":"6106","name":"延安市","children":[{"code":"610602","name":"宝塔区"},{"code":"610603","name":"安塞区"},{"code":"610621","name":"延长县"},{"code":"610622","name":"延川县"},{"code":"610625","name":"志丹县"},{"code":"610626","name":"吴起县"},{"code":"610627","name":"甘泉县"},{"code":"610628","name":"富县"},{"code":"610629","name":"洛川县"},{"code":"610630","name":"宜川县"},{"code":"610631","name":"黄龙县"},{"code":"610632","name":"黄陵县"},{"code":"610681","name":"子长市"}]},{"code":"6107","name":"汉中市","children":[{"code":"610702","name":"汉台区"},{"code":"610703","name":"南郑区"},{"code":"610722","name":"城固县"},{"code":"610723","name":"洋县"},{"code":"610724","name":"西乡县"},{"code":"610725","name":"勉县"},{"code":"610726","name":"宁强县"},{"code":"610727","name":"略阳县"},{"code":"610728","name":"镇巴县"},{"code":"610729","name":"留坝县"},{"code":"610730","name":"佛坪县"}]},{"code":"6108","name":"榆林市","children":[{"code":"610802","name":"榆阳区"},{"code":"610803","name":"横山区"},{"code":"610822","name":"府谷县"},{"code":"610824","name":"靖边县"},{"code":"610825","name":"定边县"},{"code":"610826","name":"绥德县"},{"code":"610827","name":"米脂县"},{"code":"610828","name":"佳县"},{"code":"610829","name":"吴堡县"},{"code":"610830","name":"清涧县"},{"code":"610831","name":"子洲县"},{"code":"610881","name":"神木市"}]},{"code":"6109","name":"安康市","children":[{"code":"610902","name":"汉滨区"},{"code":"610921","name":"汉阴县"},{"code":"610922","name":"石泉县"},{"code":"610923","name":"宁陕县"},{"code":"610924","name":"紫阳县"},{"code":"610925","name":"岚皋县"},{"code":"610926","name":"平利县"},{"code":"610927","name":"镇坪县"},{"code":"610929","name":"白河县"},{"code":"610981","name":"旬阳市"}]},{"code":"6110","name":"商洛市","children":[{"code":"611002","name":"商州区"},{"code":"611021","name":"洛南县"},{"code":"611022","name":"丹凤县"},{"code":"611023","name":"商南县"},{"code":"611024","name":"山阳县"},{"code":"611025","name":"镇安县"},{"code":"611026","name":"柞水县"}]}]},{"code":"62","name":"甘肃省","children":[{"code":"6201","name":"兰州市","children":[{"code":"620102","name":"城关区"},{"code":"620103","name":"七里河区"},{"code":"620104","name":"西固区"},{"code":"620105","name":"安宁区"},{"code":"620111","name":"红古区"},{"code":"620121","name":"永登县"},{"code":"620122","name":"皋兰县"},{"code":"620123","name":"榆中县"},{"code":"620171","name":"兰州新区"}]},{"code":"6202","name":"嘉峪关市","children":[{"code":"620201001","name":"雄关街道"},{"code":"620201002","name":"钢城街道"},{"code":"620201100","name":"新城镇"},{"code":"620201101","name":"峪泉镇"},{"code":"620201102","name":"文殊镇"}]},{"code":"6203","name":"金昌市","children":[{"code":"620302","name":"金川区"},{"code":"620321","name":"永昌县"}]},{"code":"6204","name":"白银市","children":[{"code":"620402","name":"白银区"},{"code":"620403","name":"平川区"},{"code":"620421","name":"靖远县"},{"code":"620422","name":"会宁县"},{"code":"620423","name":"景泰县"}]},{"code":"6205","name":"天水市","children":[{"code":"620502","name":"秦州区"},{"code":"620503","name":"麦积区"},{"code":"620521","name":"清水县"},{"code":"620522","name":"秦安县"},{"code":"620523","name":"甘谷县"},{"code":"620524","name":"武山县"},{"code":"620525","name":"张家川回族自治县"}]},{"code":"6206","name":"武威市","children":[{"code":"620602","name":"凉州区"},{"code":"620621","name":"民勤县"},{"code":"620622","name":"古浪县"},{"code":"620623","name":"天祝藏族自治县"}]},{"code":"6207","name":"张掖市","children":[{"code":"620702","name":"甘州区"},{"code":"620721","name":"肃南裕固族自治县"},{"code":"620722","name":"民乐县"},{"code":"620723","name":"临泽县"},{"code":"620724","name":"高台县"},{"code":"620725","name":"山丹县"}]},{"code":"6208","name":"平凉市","children":[{"code":"620802","name":"崆峒区"},{"code":"620821","name":"泾川县"},{"code":"620822","name":"灵台县"},{"code":"620823","name":"崇信县"},{"code":"620825","name":"庄浪县"},{"code":"620826","name":"静宁县"},{"code":"620881","name":"华亭市"}]},{"code":"6209","name":"酒泉市","children":[{"code":"620902","name":"肃州区"},{"code":"620921","name":"金塔县"},{"code":"620922","name":"瓜州县"},{"code":"620923","name":"肃北蒙古族自治县"},{"code":"620924","name":"阿克塞哈萨克族自治县"},{"code":"620981","name":"玉门市"},{"code":"620982","name":"敦煌市"}]},{"code":"6210","name":"庆阳市","children":[{"code":"621002","name":"西峰区"},{"code":"621021","name":"庆城县"},{"code":"621022","name":"环县"},{"code":"621023","name":"华池县"},{"code":"621024","name":"合水县"},{"code":"621025","name":"正宁县"},{"code":"621026","name":"宁县"},{"code":"621027","name":"镇原县"}]},{"code":"6211","name":"定西市","children":[{"code":"621102","name":"安定区"},{"code":"621121","name":"通渭县"},{"code":"621122","name":"陇西县"},{"code":"621123","name":"渭源县"},{"code":"621124","name":"临洮县"},{"code":"621125","name":"漳县"},{"code":"621126","name":"岷县"}]},{"code":"6212","name":"陇南市","children":[{"code":"621202","name":"武都区"},{"code":"621221","name":"成县"},{"code":"621222","name":"文县"},{"code":"621223","name":"宕昌县"},{"code":"621224","name":"康县"},{"code":"621225","name":"西和县"},{"code":"621226","name":"礼县"},{"code":"621227","name":"徽县"},{"code":"621228","name":"两当县"}]},{"code":"6229","name":"临夏回族自治州","children":[{"code":"622901","name":"临夏市"},{"code":"622921","name":"临夏县"},{"code":"622922","name":"康乐县"},{"code":"622923","name":"永靖县"},{"code":"622924","name":"广河县"},{"code":"622925","name":"和政县"},{"code":"622926","name":"东乡族自治县"},{"code":"622927","name":"积石山保安族东乡族撒拉族自治县"}]},{"code":"6230","name":"甘南藏族自治州","children":[{"code":"623001","name":"合作市"},{"code":"623021","name":"临潭县"},{"code":"623022","name":"卓尼县"},{"code":"623023","name":"舟曲县"},{"code":"623024","name":"迭部县"},{"code":"623025","name":"玛曲县"},{"code":"623026","name":"碌曲县"},{"code":"623027","name":"夏河县"}]}]},{"code":"63","name":"青海省","children":[{"code":"6301","name":"西宁市","children":[{"code":"630102","name":"城东区"},{"code":"630103","name":"城中区"},{"code":"630104","name":"城西区"},{"code":"630105","name":"城北区"},{"code":"630106","name":"湟中区"},{"code":"630121","name":"大通回族土族自治县"},{"code":"630123","name":"湟源县"}]},{"code":"6302","name":"海东市","children":[{"code":"630202","name":"乐都区"},{"code":"630203","name":"平安区"},{"code":"630222","name":"民和回族土族自治县"},{"code":"630223","name":"互助土族自治县"},{"code":"630224","name":"化隆回族自治县"},{"code":"630225","name":"循化撒拉族自治县"}]},{"code":"6322","name":"海北藏族自治州","children":[{"code":"632221","name":"门源回族自治县"},{"code":"632222","name":"祁连县"},{"code":"632223","name":"海晏县"},{"code":"632224","name":"刚察县"}]},{"code":"6323","name":"黄南藏族自治州","children":[{"code":"632301","name":"同仁市"},{"code":"632322","name":"尖扎县"},{"code":"632323","name":"泽库县"},{"code":"632324","name":"河南蒙古族自治县"}]},{"code":"6325","name":"海南藏族自治州","children":[{"code":"632521","name":"共和县"},{"code":"632522","name":"同德县"},{"code":"632523","name":"贵德县"},{"code":"632524","name":"兴海县"},{"code":"632525","name":"贵南县"}]},{"code":"6326","name":"果洛藏族自治州","children":[{"code":"632621","name":"玛沁县"},{"code":"632622","name":"班玛县"},{"code":"632623","name":"甘德县"},{"code":"632624","name":"达日县"},{"code":"632625","name":"久治县"},{"code":"632626","name":"玛多县"}]},{"code":"6327","name":"玉树藏族自治州","children":[{"code":"632701","name":"玉树市"},{"code":"632722","name":"杂多县"},{"code":"632723","name":"称多县"},{"code":"632724","name":"治多县"},{"code":"632725","name":"囊谦县"},{"code":"632726","name":"曲麻莱县"}]},{"code":"6328","name":"海西蒙古族藏族自治州","children":[{"code":"632801","name":"格尔木市"},{"code":"632802","name":"德令哈市"},{"code":"632803","name":"茫崖市"},{"code":"632821","name":"乌兰县"},{"code":"632822","name":"都兰县"},{"code":"632823","name":"天峻县"},{"code":"632857","name":"大柴旦行政委员会"}]}]},{"code":"64","name":"宁夏回族自治区","children":[{"code":"6401","name":"银川市","children":[{"code":"640104","name":"兴庆区"},{"code":"640105","name":"西夏区"},{"code":"640106","name":"金凤区"},{"code":"640121","name":"永宁县"},{"code":"640122","name":"贺兰县"},{"code":"640181","name":"灵武市"}]},{"code":"6402","name":"石嘴山市","children":[{"code":"640202","name":"大武口区"},{"code":"640205","name":"惠农区"},{"code":"640221","name":"平罗县"}]},{"code":"6403","name":"吴忠市","children":[{"code":"640302","name":"利通区"},{"code":"640303","name":"红寺堡区"},{"code":"640323","name":"盐池县"},{"code":"640324","name":"同心县"},{"code":"640381","name":"青铜峡市"}]},{"code":"6404","name":"固原市","children":[{"code":"640402","name":"原州区"},{"code":"640422","name":"西吉县"},{"code":"640423","name":"隆德县"},{"code":"640424","name":"泾源县"},{"code":"640425","name":"彭阳县"}]},{"code":"6405","name":"中卫市","children":[{"code":"640502","name":"沙坡头区"},{"code":"640521","name":"中宁县"},{"code":"640522","name":"海原县"}]}]},{"code":"65","name":"新疆维吾尔自治区","children":[{"code":"6501","name":"乌鲁木齐市","children":[{"code":"650102","name":"天山区"},{"code":"650103","name":"沙依巴克区"},{"code":"650104","name":"新市区"},{"code":"650105","name":"水磨沟区"},{"code":"650106","name":"头屯河区"},{"code":"650107","name":"达坂城区"},{"code":"650109","name":"米东区"},{"code":"650121","name":"乌鲁木齐县"}]},{"code":"6502","name":"克拉玛依市","children":[{"code":"650202","name":"独山子区"},{"code":"650203","name":"克拉玛依区"},{"code":"650204","name":"白碱滩区"},{"code":"650205","name":"乌尔禾区"}]},{"code":"6504","name":"吐鲁番市","children":[{"code":"650402","name":"高昌区"},{"code":"650421","name":"鄯善县"},{"code":"650422","name":"托克逊县"}]},{"code":"6505","name":"哈密市","children":[{"code":"650502","name":"伊州区"},{"code":"650521","name":"巴里坤哈萨克自治县"},{"code":"650522","name":"伊吾县"}]},{"code":"6523","name":"昌吉回族自治州","children":[{"code":"652301","name":"昌吉市"},{"code":"652302","name":"阜康市"},{"code":"652323","name":"呼图壁县"},{"code":"652324","name":"玛纳斯县"},{"code":"652325","name":"奇台县"},{"code":"652327","name":"吉木萨尔县"},{"code":"652328","name":"木垒哈萨克自治县"}]},{"code":"6527","name":"博尔塔拉蒙古自治州","children":[{"code":"652701","name":"博乐市"},{"code":"652702","name":"阿拉山口市"},{"code":"652722","name":"精河县"},{"code":"652723","name":"温泉县"}]},{"code":"6528","name":"巴音郭楞蒙古自治州","children":[{"code":"652801","name":"库尔勒市"},{"code":"652822","name":"轮台县"},{"code":"652823","name":"尉犁县"},{"code":"652824","name":"若羌县"},{"code":"652825","name":"且末县"},{"code":"652826","name":"焉耆回族自治县"},{"code":"652827","name":"和静县"},{"code":"652828","name":"和硕县"},{"code":"652829","name":"博湖县"}]},{"code":"6529","name":"阿克苏地区","children":[{"code":"652901","name":"阿克苏市"},{"code":"652902","name":"库车市"},{"code":"652922","name":"温宿县"},{"code":"652924","name":"沙雅县"},{"code":"652925","name":"新和县"},{"code":"652926","name":"拜城县"},{"code":"652927","name":"乌什县"},{"code":"652928","name":"阿瓦提县"},{"code":"652929","name":"柯坪县"}]},{"code":"6530","name":"克孜勒苏柯尔克孜自治州","children":[{"code":"653001","name":"阿图什市"},{"code":"653022","name":"阿克陶县"},{"code":"653023","name":"阿合奇县"},{"code":"653024","name":"乌恰县"}]},{"code":"6531","name":"喀什地区","children":[{"code":"653101","name":"喀什市"},{"code":"653121","name":"疏附县"},{"code":"653122","name":"疏勒县"},{"code":"653123","name":"英吉沙县"},{"code":"653124","name":"泽普县"},{"code":"653125","name":"莎车县"},{"code":"653126","name":"叶城县"},{"code":"653127","name":"麦盖提县"},{"code":"653128","name":"岳普湖县"},{"code":"653129","name":"伽师县"},{"code":"653130","name":"巴楚县"},{"code":"653131","name":"塔什库尔干塔吉克自治县"}]},{"code":"6532","name":"和田地区","children":[{"code":"653201","name":"和田市"},{"code":"653221","name":"和田县"},{"code":"653222","name":"墨玉县"},{"code":"653223","name":"皮山县"},{"code":"653224","name":"洛浦县"},{"code":"653225","name":"策勒县"},{"code":"653226","name":"于田县"},{"code":"653227","name":"民丰县"}]},{"code":"6540","name":"伊犁哈萨克自治州","children":[{"code":"654002","name":"伊宁市"},{"code":"654003","name":"奎屯市"},{"code":"654004","name":"霍尔果斯市"},{"code":"654021","name":"伊宁县"},{"code":"654022","name":"察布查尔锡伯自治县"},{"code":"654023","name":"霍城县"},{"code":"654024","name":"巩留县"},{"code":"654025","name":"新源县"},{"code":"654026","name":"昭苏县"},{"code":"654027","name":"特克斯县"},{"code":"654028","name":"尼勒克县"}]},{"code":"6542","name":"塔城地区","children":[{"code":"654201","name":"塔城市"},{"code":"654202","name":"乌苏市"},{"code":"654203","name":"沙湾市"},{"code":"654221","name":"额敏县"},{"code":"654224","name":"托里县"},{"code":"654225","name":"裕民县"},{"code":"654226","name":"和布克赛尔蒙古自治县"}]},{"code":"6543","name":"阿勒泰地区","children":[{"code":"654301","name":"阿勒泰市"},{"code":"654321","name":"布尔津县"},{"code":"654322","name":"富蕴县"},{"code":"654323","name":"福海县"},{"code":"654324","name":"哈巴河县"},{"code":"654325","name":"青河县"},{"code":"654326","name":"吉木乃县"}]},{"code":"6590","name":"自治区直辖县级行政区划","children":[{"code":"659001","name":"石河子市"},{"code":"659002","name":"阿拉尔市"},{"code":"659003","name":"图木舒克市"},{"code":"659004","name":"五家渠市"},{"code":"659005","name":"北屯市"},{"code":"659006","name":"铁门关市"},{"code":"659007","name":"双河市"},{"code":"659008","name":"可克达拉市"},{"code":"659009","name":"昆玉市"},{"code":"659010","name":"胡杨河市"},{"code":"659011","name":"新星市"},{"code":"659012","name":"白杨市"}]}]}]
\ No newline at end of file
diff --git a/src/uni_modules/tm-ui/useFun/text.a b/src/uni_modules/tm-ui/useFun/text.a
new file mode 100644
index 0000000..e69de29
diff --git a/src/uni_modules/tm-ui/����ڵ����� b/src/uni_modules/tm-ui/����ڵ�����
new file mode 100644
index 0000000..b851c80
--- /dev/null
+++ b/src/uni_modules/tm-ui/����ڵ�����
@@ -0,0 +1,11 @@
+
+
\ No newline at end of file
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..96c9081
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,36 @@
+{
+ "extends": "@vue/tsconfig/tsconfig.json",
+ "compilerOptions": {
+ "noImplicitAny": false,
+ "target": "esnext",
+ "useDefineForClassFields": true,
+ "module": "esnext",
+ "moduleResolution": "node",
+ "strict": true,
+ "jsx": "preserve",
+ "sourceMap": true,
+ "resolveJsonModule": true,
+ "esModuleInterop": true,
+ "paths": {
+ "@/*": ["./src/*"],
+ "@@/*": ["./src/sheep/*"]
+ },
+ "lib": ["esnext", "dom"],
+ "types": ["@dcloudio/types", "node"]
+ },
+ "files": ["./components.d.ts"],
+ "include": [
+ "src/**/*.ts",
+ "src/**/*.d.ts",
+ "src/**/*.tsx",
+ "src/**/*.vue",
+ "src/sheep/plugs/index.ts",
+ "./src/uni_modules/tm-ui/**/*.vue",
+ "./src/uni_modules/tm-ui/components/*.vue",
+ "./src/uni_modules/tm-ui/components/**/*.vue",
+ "./src/uni_modules/tm-ui/**/*.ts",
+ "./src/uni_modules/tm-ui/*.ts",
+ "./src/uni_modules/tm-ui/*.d.ts",
+ "./src/uni_modules/tm-ui/**/*.d.ts"
+ ]
+}
diff --git a/unocss.config.ts b/unocss.config.ts
new file mode 100644
index 0000000..09fb719
--- /dev/null
+++ b/unocss.config.ts
@@ -0,0 +1,88 @@
+import presetWeapp from "unocss-preset-weapp";
+import {
+ extractorAttributify,
+ transformerClass,
+} from "unocss-preset-weapp/transformer";
+
+const { presetWeappAttributify, transformerAttributify } =
+ extractorAttributify();
+
+export default {
+ presets: [
+ presetWeapp({
+ whRpx: true,
+ }),
+ presetWeappAttributify(),
+ ],
+ shortcuts: [
+ {
+ "border-base": "border border-gray-500_10",
+ "flex-col-center": "flex flex-col justify-center items-center",
+ "flex-row-center": "flex flex-row justify-center items-center",
+ "flex-col": "flex flex-col",
+ "flex-row": "flex flex-row",
+ },
+ ],
+ theme: {
+ colors: {
+ blue: {
+ 60: "#f1f7ff",
+ 1000: "#1777FF",
+ },
+ red: {
+ 60: "#fef2f2",
+ 1000: "'#F02828'",
+ },
+ yellow: {
+ 60: "#fffaf1",
+ 1000: "'#F2A817'",
+ },
+ },
+ },
+ rules: [
+ [
+ /^main-text-(\d+)$/,
+ ([, d]) => ({
+ "font-size": `${d}rpx`,
+ "font-weight": 800,
+ color: "#000",
+ "line-height": `1.4em`,
+ }),
+ ],
+ [
+ /^sub-text-(\d+)$/,
+ ([, d]) => ({
+ "font-size": `${d}rpx`,
+ "font-weight": 500,
+ color: "#333",
+ "line-height": `1.4em`,
+ }),
+ ],
+ [
+ "card",
+ {
+ "background-color": "white",
+ "box-shadow": "0rpx 8rpx 26rpx -4rpx rgba(210,210,210,0.5)",
+ "border-radius": "16rpx",
+ },
+ ],
+ [
+ "shadow-main",
+ {
+ "box-shadow": "0rpx 0rpx 4rpx 0rpx rgba(0, 0, 0, 0.1)",
+ },
+ ],
+ [
+ /^show-line-(\d+)$/,
+ ([, d]) => ({
+ "text-overflow": "ellipsis",
+ overflow: "hidden",
+ display: "-webkit-box",
+ "-webkit-box-orient": "vertical",
+ "-webkit-line-clamp": d,
+ }),
+ ],
+ ],
+
+ transformers: [transformerAttributify(), transformerClass()],
+};
diff --git a/vite.config.ts b/vite.config.ts
new file mode 100644
index 0000000..7b5ac22
--- /dev/null
+++ b/vite.config.ts
@@ -0,0 +1,43 @@
+import path from "path";
+
+import { defineConfig, loadEnv } from "vite";
+import uni from "@dcloudio/vite-plugin-uni";
+import Unocss from "unocss/vite";
+
+import { useRouter } from "./src/sheep";
+
+export default defineConfig(({ mode }) => {
+ const { NODE_ENV, VITE_APP_DEV_SERVICE, VITE_APP_PROD_SERVICE } = loadEnv(
+ mode,
+ process.cwd(),
+ ""
+ );
+ const baseUrl =
+ NODE_ENV == "development" ? VITE_APP_DEV_SERVICE : VITE_APP_PROD_SERVICE;
+
+ return {
+ plugins: [
+ uni(),
+ Unocss(),
+ {
+ ...useRouter({
+ pagesJsonDir: path.resolve(__dirname, "./src/pages.json"),
+ includes: ["meta"],
+ }),
+ enforce: "post",
+ },
+ ],
+ resolve: {
+ alias: {
+ "@": path.resolve(__dirname, "./src"),
+ "@@": path.resolve(__dirname, "./src/sheep"),
+ },
+ },
+ server: {
+ port: 8001,
+ },
+ define: {
+ __APP_SERVICE__: JSON.stringify(baseUrl),
+ },
+ };
+});