commit 8327e335df9fd75425404e04452457f44482bd1b
Author: dzc <2388224167@qq.com>
Date: Tue Oct 20 13:45:05 2026 +0800
feat: initialize merchant payment H5
diff --git a/.env b/.env
new file mode 100644
index 0000000..4c29fa8
--- /dev/null
+++ b/.env
@@ -0,0 +1,11 @@
+# 后端请求前缀,开发环境通过 Vite 同源代理。
+VITE_API_URL=/api
+
+# 是否为微服务;false 对接 Boot 单体服务,移除接口的 /third 前缀。
+VITE_IS_MICRO=true
+
+# 开发环境后端地址。
+VITE_APP_DEV_SERVICE=https://dzc-test-1.fy.takin.cc
+
+# 生产环境后端地址;配置为空时由线上部署提供同源接口。
+VITE_APP_PROD_SERVICE=https://www.zianxin.com/api
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..fd4c90f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,8 @@
+node_modules/
+dist/
+unpackage/
+.DS_Store
+*.log
+*.local
+.idea/
+.vscode/
diff --git a/.npmrc b/.npmrc
new file mode 100644
index 0000000..bf2e764
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1 @@
+shamefully-hoist=true
diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 0000000..ef9c5c7
--- /dev/null
+++ b/.prettierrc
@@ -0,0 +1,8 @@
+{
+ "tabWidth": 2,
+ "useTabs": true,
+ "trailingComma": "all",
+ "semi": false,
+ "singleQuote": false,
+ "printWidth": 140
+}
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..4166460
--- /dev/null
+++ b/README.md
@@ -0,0 +1,77 @@
+# 商户付款 H5
+
+uni-app Vue 3 + TypeScript + UnoCSS + tm-ui 的独立 H5 项目。工程与蓝色主题参考 `../biz_zax_app_cloud`,只注册一个付款页面,默认中文、人民币、浅色主题。
+
+## 本地开发
+
+要求 Node.js 20.19+、pnpm 10.13.0。
+
+```bash
+pnpm install --frozen-lockfile
+pnpm dev:h5
+```
+
+浏览器访问 。同一局域网内可使用本机 IP 和 8890 端口进行手机预览。
+
+```bash
+pnpm type-check
+pnpm build:h5
+```
+
+`type-check` 检查业务代码与工程配置。tm-ui 采用按需引入的原始源码,保留第三方类型与样式;不对上游组件做单页定制。按团队规则,生产构建和完整测试在明确的集中验证指令后执行。
+
+## 目录与调整入口
+
+```text
+src/
+├── pages/pay/index.vue # 唯一页面:商户、金额与付款交互
+├── sheep/
+│ ├── components/payment-keyboard.vue # 四列常驻键盘
+│ ├── config/merchant.ts # 仅供设计参考的示例数据,真实页面不引用
+│ ├── config/theme.ts # UnoCSS、CSS 与 tm-ui 共享主题
+│ ├── hooks/use-payment-amount.ts # 金额字符串输入规则
+│ ├── scss/global.scss # 全局字体与 H5 视口适配
+│ └── stores/index.ts # tm-ui 主题使用的 Pinia
+└── uni_modules/tm-ui/ # 参考项目同版 3.2.0 组件及必要依赖
+```
+
+- 商户名称与标识通过匿名商户接口读取;`src/sheep/config/merchant.ts` 中的示例仅保留作设计参考,真实页面不引用。标识缺省或加载失败时展示统一店铺图形。
+- 修改主题:编辑 `src/sheep/config/theme.ts`。页面基础色在 `pages.json`、`uni.scss` 和 HTML 的 theme-color 中保留一致的框架配置。
+- 页面采用 Hash 路由,唯一页面为 `/pages/pay/index`。部署子路径统一在 `src/manifest.json` 的 `h5.router.base` 中修改,默认 `/`,避免在 Vite 中重复设置路径前缀。
+- 接入 third 服务的匿名商户查询、线下收款、OAuth 回跳和真实支付。无签名入口或短期收银票据时展示错误,不回退到示例商户。
+
+## 金额与 H5 交互
+
+- 使用字符串保存元单位金额,保留 `0.` 和 `1.20` 等输入过程,不进行浮点金额运算;支持两位小数、前导零处理和逐位删除。
+- 付款键对空金额、零金额和超过 9,999.99 元的金额禁用;提交前保存稳定请求号,刷新或网络失败后复用原请求。
+- 金额框为可聚焦的只读展示,避免系统软键盘和常驻键盘重叠。物理键盘支持数字、小数点、退格和 Enter;Tab、组合快捷键及数字按钮自身的键盘激活不被拦截。
+- 内容最大宽度 480px,rpx 同步限制放大;使用 `100dvh` 并提供 `100vh` 回退,键盘位于独立的底部区域。页面直接展示商户和金额,无顶部标题。
+- 整页锁定在可视高度,常见竖屏不产生纵向滚动;短屏压缩卡片间距,极短横屏保留内容区内部滑动。所有内部滚动条均隐藏,长金额仍可横向查看。
+- 支持安全区、长商户名称、长金额横向滚动、可见焦点与减少动态效果偏好;不禁止浏览器缩放。
+
+## 第三方来源
+
+tm-ui `3.2.0` 从参考项目的 `src/uni_modules/tm-ui` 原样引入 `tm-sheet`、`tm-icon` 及其主题、工具、类型、CSS 和图标资源,保留上游说明与版本信息。数字键盘使用 uni-app 自带按钮,维持明确的禁用状态和 H5 键盘语义。
+
+依赖基于参考项目的 pnpm 锁文件解析版本;只保留本项目需要的 H5 依赖,不包含 App 原生配置、服务地址或应用凭据。
+
+## 接口与部署
+
+项目只使用根目录一个 `.env`,变量命名与参考 App 一致:`VITE_API_URL` 为开发请求前缀,`VITE_APP_DEV_SERVICE` 为开发后端地址,`VITE_APP_PROD_SERVICE` 为生产后端地址,`VITE_IS_MICRO` 控制是否保留微服务前缀。修改后重启 `pnpm dev:h5`。这里不配置登录 Token、签名密钥或支付密钥。
+
+开发模式下,浏览器请求 `VITE_API_URL`(默认 `/api`),由 `vite.config.ts` 转发到 `VITE_APP_DEV_SERVICE`,避免跨域。例如开发地址为 `https://dzc-test-1.fy.takin.cc` 且 `VITE_IS_MICRO=true` 时,`http://localhost:8890/api/third/aggregate-merchant-pay/merchant` 转发到 `https://dzc-test-1.fy.takin.cc/third/aggregate-merchant-pay/merchant`。目标地址自带 `/api` 等基础路径时会保留,不要在请求层再次添加。
+
+`VITE_IS_MICRO=true` 保留 `/third`;`false` 对接单体服务时移除 `/third`,代理规则共用。生产构建直接读取同一 `.env` 的 `VITE_APP_PROD_SERVICE`;若线上反向代理已提供同源接口,可将其设为空。Vite 开发代理不随生产构建发布。
+
+- 商户码入口:`/#/pages/pay/index?id=...&tenantId=...&v=1&sign=...`,商户和租户 ID 按字符串处理。
+- OAuth 回跳:`/#/pages/pay/index?tenantCode=...&ticket=...`,页面通过接口读取真实场景、固定金额和渠道参数。
+- `GET /third/aggregate-merchant-pay/merchant` 读取公开商户资料及 `supportedPlatforms`(10 微信、20 支付宝);商户可以只开通其中一个渠道。
+- `POST /third/aggregate-merchant-pay/create` 提交整数分金额及稳定 `requestId`;不在前端指定业务类型或渠道商户。
+- `GET /third/aggregate-order-pay/context/{tenantCode}/{ticket}` 读取收银上下文;现有 `/status/{tenantCode}/{ticket}` 确认结果。
+- 后端把本 H5 来源加入精确 CORS 允许列表;跨域接口必须使用 HTTPS。OAuth 回调仍由后端接收,平台密钥和 OAuth 身份不进入前端。
+
+线下收款在提交前保留数字键盘;订单聚合及已提交的收款金额锁定。OAuth 回跳只自动调起一次,取消后可手动继续,刷新不会自动重复弹出。JSBridge 返回成功后仍查询服务端状态;未确认原单成功或关闭之前不释放金额创建新请求。
+
+扫码客户端未在商户已开通渠道中时,在原单页展示“商户暂不支持微信/支付宝支付”及换用已开通 App 重新扫码的指引,隐藏金额与键盘。普通浏览器提示使用已支持 App 扫码;全部渠道停用时提示联系商户。可重新检查开通情况,不在当前客户端强制唤起另一个 App,也不会据此清除待确认的原付款请求。
+
+完整后端配置、迁移、平台域名设置及发布顺序见 `../biz-api-cloud-zax/pjcloud-thirdparty/docs/aggregate-h5.md`。更换二维码使用的域名或签名密钥后需重新生成商户 URL 收款码,原 App Base64 收款码保持兼容。
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..723c4c4
--- /dev/null
+++ b/index.html
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+ 商户收款
+
+
+
+
+
+
+
+
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..60547c7
--- /dev/null
+++ b/package.json
@@ -0,0 +1,34 @@
+{
+ "name": "biz-pay-h5",
+ "version": "0.1.0",
+ "private": true,
+ "description": "基于 uni-app、UnoCSS 与 tm-ui 的商户付款 H5",
+ "packageManager": "pnpm@10.13.0",
+ "engines": {
+ "node": ">=20.19.0"
+ },
+ "scripts": {
+ "dev:h5": "uni",
+ "build:h5": "uni build",
+ "type-check": "vue-tsc --noEmit"
+ },
+ "dependencies": {
+ "@dcloudio/uni-app": "3.0.0-5000720260410001",
+ "@dcloudio/uni-components": "3.0.0-5000720260410001",
+ "@dcloudio/uni-h5": "3.0.0-5000720260410001",
+ "pinia": "3.0.4",
+ "vue": "3.5.26"
+ },
+ "devDependencies": {
+ "@dcloudio/types": "3.4.28",
+ "@dcloudio/uni-cli-shared": "3.0.0-5000720260410001",
+ "@dcloudio/vite-plugin-uni": "3.0.0-5000720260410001",
+ "@types/node": "20.19.30",
+ "sass": "1.71.1",
+ "typescript": "4.9.5",
+ "unocss": "0.58.9",
+ "unocss-preset-weapp": "0.58.9",
+ "vite": "5.2.8",
+ "vue-tsc": "1.8.27"
+ }
+}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
new file mode 100644
index 0000000..f8e0668
--- /dev/null
+++ b/pnpm-lock.yaml
@@ -0,0 +1,5563 @@
+lockfileVersion: "9.0"
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+importers:
+ .:
+ dependencies:
+ "@dcloudio/uni-app":
+ specifier: 3.0.0-5000720260410001
+ version: 3.0.0-5000720260410001(@dcloudio/types@3.4.28)(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))
+ "@dcloudio/uni-components":
+ specifier: 3.0.0-5000720260410001
+ version: 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))
+ "@dcloudio/uni-h5":
+ specifier: 3.0.0-5000720260410001
+ version: 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))
+ pinia:
+ specifier: 3.0.4
+ version: 3.0.4(typescript@4.9.5)(vue@3.5.26(typescript@4.9.5))
+ vue:
+ specifier: 3.5.26
+ version: 3.5.26(typescript@4.9.5)
+ devDependencies:
+ "@dcloudio/types":
+ specifier: 3.4.28
+ version: 3.4.28
+ "@dcloudio/uni-cli-shared":
+ specifier: 3.0.0-5000720260410001
+ version: 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))
+ "@dcloudio/vite-plugin-uni":
+ specifier: 3.0.0-5000720260410001
+ version: 3.0.0-5000720260410001(postcss@8.5.6)(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))(vue@3.5.26(typescript@4.9.5))
+ "@types/node":
+ specifier: 20.19.30
+ version: 20.19.30
+ sass:
+ specifier: 1.71.1
+ version: 1.71.1
+ typescript:
+ specifier: 4.9.5
+ version: 4.9.5
+ unocss:
+ specifier: 0.58.9
+ version: 0.58.9(postcss@8.5.6)(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))
+ unocss-preset-weapp:
+ specifier: 0.58.9
+ version: 0.58.9(esbuild@0.20.2)(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))(webpack@5.104.1(esbuild@0.20.2))
+ vite:
+ specifier: 5.2.8
+ version: 5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0)
+ vue-tsc:
+ specifier: 1.8.27
+ version: 1.8.27(typescript@4.9.5)
+packages:
+ "@ampproject/remapping@2.3.0":
+ resolution:
+ integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==
+ engines:
+ node: ">=6.0.0"
+ "@antfu/install-pkg@1.1.0":
+ resolution:
+ integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==
+ "@antfu/utils@0.7.10":
+ resolution:
+ integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==
+ "@antfu/utils@8.1.1":
+ resolution:
+ integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==
+ "@babel/code-frame@7.24.7":
+ resolution:
+ integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==
+ engines:
+ node: ">=6.9.0"
+ "@babel/code-frame@7.28.6":
+ resolution:
+ integrity: sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==
+ engines:
+ node: ">=6.9.0"
+ "@babel/compat-data@7.28.6":
+ resolution:
+ integrity: sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg==
+ engines:
+ node: ">=6.9.0"
+ "@babel/core@7.25.2":
+ resolution:
+ integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==
+ engines:
+ node: ">=6.9.0"
+ "@babel/generator@7.28.6":
+ resolution:
+ integrity: sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==
+ engines:
+ node: ">=6.9.0"
+ "@babel/helper-annotate-as-pure@7.27.3":
+ resolution:
+ integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==
+ engines:
+ node: ">=6.9.0"
+ "@babel/helper-compilation-targets@7.28.6":
+ resolution:
+ integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==
+ engines:
+ node: ">=6.9.0"
+ "@babel/helper-create-class-features-plugin@7.28.6":
+ resolution:
+ integrity: sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ "@babel/helper-create-regexp-features-plugin@7.28.5":
+ resolution:
+ integrity: sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ "@babel/helper-define-polyfill-provider@0.6.5":
+ resolution:
+ integrity: sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==
+ peerDependencies:
+ "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0
+ "@babel/helper-globals@7.28.0":
+ resolution:
+ integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==
+ engines:
+ node: ">=6.9.0"
+ "@babel/helper-member-expression-to-functions@7.28.5":
+ resolution:
+ integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==
+ engines:
+ node: ">=6.9.0"
+ "@babel/helper-module-imports@7.28.6":
+ resolution:
+ integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==
+ engines:
+ node: ">=6.9.0"
+ "@babel/helper-module-transforms@7.28.6":
+ resolution:
+ integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ "@babel/helper-optimise-call-expression@7.27.1":
+ resolution:
+ integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==
+ engines:
+ node: ">=6.9.0"
+ "@babel/helper-plugin-utils@7.28.6":
+ resolution:
+ integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==
+ engines:
+ node: ">=6.9.0"
+ "@babel/helper-remap-async-to-generator@7.27.1":
+ resolution:
+ integrity: sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ "@babel/helper-replace-supers@7.28.6":
+ resolution:
+ integrity: sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ "@babel/helper-skip-transparent-expression-wrappers@7.27.1":
+ resolution:
+ integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==
+ engines:
+ node: ">=6.9.0"
+ "@babel/helper-string-parser@7.27.1":
+ resolution:
+ integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==
+ engines:
+ node: ">=6.9.0"
+ "@babel/helper-validator-identifier@7.28.5":
+ resolution:
+ integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==
+ engines:
+ node: ">=6.9.0"
+ "@babel/helper-validator-option@7.27.1":
+ resolution:
+ integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==
+ engines:
+ node: ">=6.9.0"
+ "@babel/helper-wrap-function@7.28.6":
+ resolution:
+ integrity: sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ==
+ engines:
+ node: ">=6.9.0"
+ "@babel/helpers@7.28.6":
+ resolution:
+ integrity: sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==
+ engines:
+ node: ">=6.9.0"
+ "@babel/highlight@7.25.9":
+ resolution:
+ integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==
+ engines:
+ node: ">=6.9.0"
+ "@babel/parser@7.25.6":
+ resolution:
+ integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==
+ engines:
+ node: ">=6.0.0"
+ hasBin: true
+ "@babel/parser@7.28.6":
+ resolution:
+ integrity: sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==
+ engines:
+ node: ">=6.0.0"
+ hasBin: true
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5":
+ resolution:
+ integrity: sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ "@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1":
+ resolution:
+ integrity: sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1":
+ resolution:
+ integrity: sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1":
+ resolution:
+ integrity: sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.13.0
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6":
+ resolution:
+ integrity: sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2":
+ resolution:
+ integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-syntax-import-assertions@7.28.6":
+ resolution:
+ integrity: sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-syntax-import-attributes@7.28.6":
+ resolution:
+ integrity: sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-syntax-import-meta@7.10.4":
+ resolution:
+ integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-syntax-jsx@7.28.6":
+ resolution:
+ integrity: sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-syntax-typescript@7.28.6":
+ resolution:
+ integrity: sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-syntax-unicode-sets-regex@7.18.6":
+ resolution:
+ integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ "@babel/plugin-transform-arrow-functions@7.27.1":
+ resolution:
+ integrity: sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-async-generator-functions@7.28.6":
+ resolution:
+ integrity: sha512-9knsChgsMzBV5Yh3kkhrZNxH3oCYAfMBkNNaVN4cP2RVlFPe8wYdwwcnOsAbkdDoV9UjFtOXWrWB52M8W4jNeA==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-async-to-generator@7.28.6":
+ resolution:
+ integrity: sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-block-scoped-functions@7.27.1":
+ resolution:
+ integrity: sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-block-scoping@7.28.6":
+ resolution:
+ integrity: sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-class-properties@7.28.6":
+ resolution:
+ integrity: sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-class-static-block@7.28.6":
+ resolution:
+ integrity: sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.12.0
+ "@babel/plugin-transform-classes@7.28.6":
+ resolution:
+ integrity: sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-computed-properties@7.28.6":
+ resolution:
+ integrity: sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-destructuring@7.28.5":
+ resolution:
+ integrity: sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-dotall-regex@7.28.6":
+ resolution:
+ integrity: sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-duplicate-keys@7.27.1":
+ resolution:
+ integrity: sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.28.6":
+ resolution:
+ integrity: sha512-5suVoXjC14lUN6ZL9OLKIHCNVWCrqGqlmEp/ixdXjvgnEl/kauLvvMO/Xw9NyMc95Joj1AeLVPVMvibBgSoFlA==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ "@babel/plugin-transform-dynamic-import@7.27.1":
+ resolution:
+ integrity: sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-explicit-resource-management@7.28.6":
+ resolution:
+ integrity: sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-exponentiation-operator@7.28.6":
+ resolution:
+ integrity: sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-export-namespace-from@7.27.1":
+ resolution:
+ integrity: sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-for-of@7.27.1":
+ resolution:
+ integrity: sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-function-name@7.27.1":
+ resolution:
+ integrity: sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-json-strings@7.28.6":
+ resolution:
+ integrity: sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-literals@7.27.1":
+ resolution:
+ integrity: sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-logical-assignment-operators@7.28.6":
+ resolution:
+ integrity: sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-member-expression-literals@7.27.1":
+ resolution:
+ integrity: sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-modules-amd@7.27.1":
+ resolution:
+ integrity: sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-modules-commonjs@7.28.6":
+ resolution:
+ integrity: sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-modules-systemjs@7.28.5":
+ resolution:
+ integrity: sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-modules-umd@7.27.1":
+ resolution:
+ integrity: sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-named-capturing-groups-regex@7.27.1":
+ resolution:
+ integrity: sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ "@babel/plugin-transform-new-target@7.27.1":
+ resolution:
+ integrity: sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-nullish-coalescing-operator@7.28.6":
+ resolution:
+ integrity: sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-numeric-separator@7.28.6":
+ resolution:
+ integrity: sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-object-rest-spread@7.28.6":
+ resolution:
+ integrity: sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-object-super@7.27.1":
+ resolution:
+ integrity: sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-optional-catch-binding@7.28.6":
+ resolution:
+ integrity: sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-optional-chaining@7.28.6":
+ resolution:
+ integrity: sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-parameters@7.27.7":
+ resolution:
+ integrity: sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-private-methods@7.28.6":
+ resolution:
+ integrity: sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-private-property-in-object@7.28.6":
+ resolution:
+ integrity: sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-property-literals@7.27.1":
+ resolution:
+ integrity: sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-regenerator@7.28.6":
+ resolution:
+ integrity: sha512-eZhoEZHYQLL5uc1gS5e9/oTknS0sSSAtd5TkKMUp3J+S/CaUjagc0kOUPsEbDmMeva0nC3WWl4SxVY6+OBuxfw==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-regexp-modifiers@7.28.6":
+ resolution:
+ integrity: sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ "@babel/plugin-transform-reserved-words@7.27.1":
+ resolution:
+ integrity: sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-shorthand-properties@7.27.1":
+ resolution:
+ integrity: sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-spread@7.28.6":
+ resolution:
+ integrity: sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-sticky-regex@7.27.1":
+ resolution:
+ integrity: sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-template-literals@7.27.1":
+ resolution:
+ integrity: sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-typeof-symbol@7.27.1":
+ resolution:
+ integrity: sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-typescript@7.28.6":
+ resolution:
+ integrity: sha512-0YWL2RFxOqEm9Efk5PvreamxPME8OyY0wM5wh5lHjF+VtVhdneCWGzZeSqzOfiobVqQaNCd2z0tQvnI9DaPWPw==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-unicode-escapes@7.27.1":
+ resolution:
+ integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-unicode-property-regex@7.28.6":
+ resolution:
+ integrity: sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-unicode-regex@7.27.1":
+ resolution:
+ integrity: sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/plugin-transform-unicode-sets-regex@7.28.6":
+ resolution:
+ integrity: sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ "@babel/preset-env@7.28.6":
+ resolution:
+ integrity: sha512-GaTI4nXDrs7l0qaJ6Rg06dtOXTBCG6TMDB44zbqofCIC4PqC7SEvmFFtpxzCDw9W5aJ7RKVshgXTLvLdBFV/qw==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/preset-modules@0.1.6-no-external-plugins":
+ 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
+ "@babel/preset-typescript@7.28.5":
+ resolution:
+ integrity: sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==
+ engines:
+ node: ">=6.9.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@babel/runtime-corejs3@7.29.2":
+ resolution:
+ integrity: sha512-Lc94FOD5+0aXhdb0Tdg3RUtqT6yWbI/BbFWvlaSJ3gAb9Ks+99nHRDKADVqC37er4eCB0fHyWT+y+K3QOvJKbw==
+ engines:
+ node: ">=6.9.0"
+ "@babel/template@7.28.6":
+ resolution:
+ integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==
+ engines:
+ node: ">=6.9.0"
+ "@babel/traverse@7.28.6":
+ resolution:
+ integrity: sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==
+ engines:
+ node: ">=6.9.0"
+ "@babel/types@7.25.6":
+ resolution:
+ integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==
+ engines:
+ node: ">=6.9.0"
+ "@babel/types@7.28.6":
+ resolution:
+ integrity: sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==
+ engines:
+ node: ">=6.9.0"
+ "@dcloudio/types@3.4.28":
+ resolution:
+ integrity: sha512-uVIRp1VLBkrL0LaGLgIS/sT3bl1zzVTKZQbfqJEQcSAvBffRdirbSh5OvOHfA1WV5lmCAGfjhKsUQouNEVUQHg==
+ "@dcloudio/uni-app@3.0.0-5000720260410001":
+ resolution:
+ integrity: sha512-1JWt4rSnYDjj6bSThDKcW8OhP68qQlsY1Zd/GBIUsiRTVSrkvA3xVwmeV5odXirpZeH5xthus4eIRdv/Qmmheg==
+ peerDependencies:
+ "@dcloudio/types": 3.4.28
+ "@dcloudio/uni-cli-shared@3.0.0-5000720260410001":
+ resolution:
+ integrity: sha512-UW0eEjO+GgmHixnSfBJxpI1fTW+0VgyjPTFUL+L7zNtIpI8eLEQHrGEbAC8IIOi4hAkVN3riDk80Dg2i3KSGqA==
+ engines:
+ node: ^14.18.0 || >=16.0.0
+ "@dcloudio/uni-cloud@3.0.0-5000720260410001":
+ resolution:
+ integrity: sha512-VGM8jhB3ol80mjvpSf+9gZApkYc2QDEk12ODTQKdQZbmjR33K7eqt8mpefErNYumnRmdQ4iL4oPArJ+O4GZpog==
+ "@dcloudio/uni-components@3.0.0-5000720260410001":
+ resolution:
+ integrity: sha512-ZwGKA1/mucO6SufgfN6JL1MFmeXFaEAoZUbXck8mvk/vwVduZHJeocWousF6bJtGMm23FM5ItG31KjcnwQpPjQ==
+ "@dcloudio/uni-console@3.0.0-5000720260410001":
+ resolution:
+ integrity: sha512-ropH7p+fk4tjnFEex2FRqNPzK2g8Fs9OixJmDoR7th+7VZJ13LICR1DMd9cbwtERDECSbs5AJSQ/GU6/UP4P0Q==
+ "@dcloudio/uni-h5-vite@3.0.0-5000720260410001":
+ resolution:
+ integrity: sha512-wqbr6VMH89RPbtWGL1EkCNyz9krtbd1XeobfwWkHjlJZnrgw0kf5KJQcS1Pi5v+mSoUi2L+jloOzCUyGKVZ4VQ==
+ "@dcloudio/uni-h5-vue@3.0.0-5000720260410001":
+ resolution:
+ integrity: sha512-69fkZ1rMFE+RBGbQeBBOI/fa0jKBbJLZN3HSu/bZqGGeqjGZQz22FdH5luYXyQuNxxT+rXTIFQlV5Z+NM2hr/w==
+ "@dcloudio/uni-h5@3.0.0-5000720260410001":
+ resolution:
+ integrity: sha512-N2Cp08qRfICs5yjNQ3Jnz3E4iM0EsDsCbyISOfHDcXeBeDNHAV57ZFMwI0yB4OpGOFp+th8dW2V50t/LlIcqfw==
+ "@dcloudio/uni-i18n@3.0.0-5000720260410001":
+ resolution:
+ integrity: sha512-6X/2eRqbAmQR1bUJpzCjr2xKXDY2+3rQWsvQ5RjwKQVFsz641GlVlUdxI6YwIZumGDRiCIz8T9eGfyIC6pGt9Q==
+ "@dcloudio/uni-nvue-styler@3.0.0-5000720260410001":
+ resolution:
+ integrity: sha512-7eFvhU67IDBxfyLP5zUyRTQPzJFoJ0WeV7QNpgvJf4FznynAGLfZ0Rh8Zgan8vxWa+PSSbpooVQbjCYJXhq5lg==
+ "@dcloudio/uni-push@3.0.0-5000720260410001":
+ resolution:
+ integrity: sha512-oCmufDQ20AFxwBs7Aoz9BDWx1KMSW76bKU6AQ8YqM1MPxCDLif5d830Gwivc4rQFGlc3x7hYGh30r8/kl8FLbw==
+ "@dcloudio/uni-shared@3.0.0-5000720260410001":
+ resolution:
+ integrity: sha512-B51i5GohH5D6v4OgXQToESihIpmssBNSQAbiKdV10uQ/6u5TtyQkTtUKwdhjm+SY5xQSluV9sBpnB+LvYyWakg==
+ "@dcloudio/uni-stat@3.0.0-5000720260410001":
+ resolution:
+ integrity: sha512-6jDWTufAjGsdOPcfnSsB2ylaBosFj5+UqZch56NgDrHejasdJ5Pb+peqOP7zn/mlRCiYk0dWTi6ZhcUFJ8ZKDA==
+ "@dcloudio/vite-plugin-uni@3.0.0-5000720260410001":
+ resolution:
+ integrity: sha512-wVNF7QRImQkAOwtRLrZ80z5KnF+F7P+cBV/BH16aA/Upj1xyFcihRF4QENt9PyhO0syg5n+Dl4Xhm7Oz+6mjPA==
+ engines:
+ node: ^14.18.0 || >=16.0.0
+ hasBin: true
+ peerDependencies:
+ vite: 5.2.8
+ "@esbuild/aix-ppc64@0.20.2":
+ resolution:
+ integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==
+ engines:
+ node: ">=12"
+ cpu:
+ - ppc64
+ os:
+ - aix
+ "@esbuild/android-arm64@0.20.2":
+ resolution:
+ integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==
+ engines:
+ node: ">=12"
+ cpu:
+ - arm64
+ os:
+ - android
+ "@esbuild/android-arm@0.20.2":
+ resolution:
+ integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==
+ engines:
+ node: ">=12"
+ cpu:
+ - arm
+ os:
+ - android
+ "@esbuild/android-x64@0.20.2":
+ resolution:
+ integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==
+ engines:
+ node: ">=12"
+ cpu:
+ - x64
+ os:
+ - android
+ "@esbuild/darwin-arm64@0.20.2":
+ resolution:
+ integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==
+ engines:
+ node: ">=12"
+ cpu:
+ - arm64
+ os:
+ - darwin
+ "@esbuild/darwin-x64@0.20.2":
+ resolution:
+ integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==
+ engines:
+ node: ">=12"
+ cpu:
+ - x64
+ os:
+ - darwin
+ "@esbuild/freebsd-arm64@0.20.2":
+ resolution:
+ integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==
+ engines:
+ node: ">=12"
+ cpu:
+ - arm64
+ os:
+ - freebsd
+ "@esbuild/freebsd-x64@0.20.2":
+ resolution:
+ integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==
+ engines:
+ node: ">=12"
+ cpu:
+ - x64
+ os:
+ - freebsd
+ "@esbuild/linux-arm64@0.20.2":
+ resolution:
+ integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==
+ engines:
+ node: ">=12"
+ cpu:
+ - arm64
+ os:
+ - linux
+ "@esbuild/linux-arm@0.20.2":
+ resolution:
+ integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==
+ engines:
+ node: ">=12"
+ cpu:
+ - arm
+ os:
+ - linux
+ "@esbuild/linux-ia32@0.20.2":
+ resolution:
+ integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==
+ engines:
+ node: ">=12"
+ cpu:
+ - ia32
+ os:
+ - linux
+ "@esbuild/linux-loong64@0.20.2":
+ resolution:
+ integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==
+ engines:
+ node: ">=12"
+ cpu:
+ - loong64
+ os:
+ - linux
+ "@esbuild/linux-mips64el@0.20.2":
+ resolution:
+ integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==
+ engines:
+ node: ">=12"
+ cpu:
+ - mips64el
+ os:
+ - linux
+ "@esbuild/linux-ppc64@0.20.2":
+ resolution:
+ integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==
+ engines:
+ node: ">=12"
+ cpu:
+ - ppc64
+ os:
+ - linux
+ "@esbuild/linux-riscv64@0.20.2":
+ resolution:
+ integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==
+ engines:
+ node: ">=12"
+ cpu:
+ - riscv64
+ os:
+ - linux
+ "@esbuild/linux-s390x@0.20.2":
+ resolution:
+ integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==
+ engines:
+ node: ">=12"
+ cpu:
+ - s390x
+ os:
+ - linux
+ "@esbuild/linux-x64@0.20.2":
+ resolution:
+ integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==
+ engines:
+ node: ">=12"
+ cpu:
+ - x64
+ os:
+ - linux
+ "@esbuild/netbsd-x64@0.20.2":
+ resolution:
+ integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==
+ engines:
+ node: ">=12"
+ cpu:
+ - x64
+ os:
+ - netbsd
+ "@esbuild/openbsd-x64@0.20.2":
+ resolution:
+ integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==
+ engines:
+ node: ">=12"
+ cpu:
+ - x64
+ os:
+ - openbsd
+ "@esbuild/sunos-x64@0.20.2":
+ resolution:
+ integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==
+ engines:
+ node: ">=12"
+ cpu:
+ - x64
+ os:
+ - sunos
+ "@esbuild/win32-arm64@0.20.2":
+ resolution:
+ integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==
+ engines:
+ node: ">=12"
+ cpu:
+ - arm64
+ os:
+ - win32
+ "@esbuild/win32-ia32@0.20.2":
+ resolution:
+ integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==
+ engines:
+ node: ">=12"
+ cpu:
+ - ia32
+ os:
+ - win32
+ "@esbuild/win32-x64@0.20.2":
+ resolution:
+ integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==
+ engines:
+ node: ">=12"
+ cpu:
+ - x64
+ os:
+ - win32
+ "@iconify/types@2.0.0":
+ resolution:
+ integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==
+ "@iconify/utils@2.3.0":
+ resolution:
+ integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==
+ "@intlify/core-base@9.1.9":
+ resolution:
+ integrity: sha512-x5T0p/Ja0S8hs5xs+ImKyYckVkL4CzcEXykVYYV6rcbXxJTe2o58IquSqX9bdncVKbRZP7GlBU1EcRaQEEJ+vw==
+ engines:
+ node: ">= 10"
+ "@intlify/devtools-if@9.1.9":
+ resolution:
+ integrity: sha512-oKSMKjttG3Ut/1UGEZjSdghuP3fwA15zpDPcjkf/1FjlOIm6uIBGMNS5jXzsZy593u+P/YcnrZD6cD3IVFz9vQ==
+ engines:
+ node: ">= 10"
+ "@intlify/message-compiler@9.1.9":
+ resolution:
+ integrity: sha512-6YgCMF46Xd0IH2hMRLCssZI3gFG4aywidoWQ3QP4RGYQXQYYfFC54DxhSgfIPpVoPLQ+4AD29eoYmhiHZ+qLFQ==
+ engines:
+ node: ">= 10"
+ "@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"
+ "@intlify/shared@9.1.9":
+ resolution:
+ integrity: sha512-xKGM1d0EAxdDFCWedcYXOm6V5Pfw/TMudd6/qCdEb4tv0hk9EKeg7lwQF1azE0dP2phvx0yXxrt7UQK+IZjNdw==
+ engines:
+ node: ">= 10"
+ "@intlify/vue-devtools@9.1.9":
+ resolution:
+ integrity: sha512-YPehH9uL4vZcGXky4Ev5qQIITnHKIvsD2GKGXgqf+05osMUI6WSEQHaN9USRa318Rs8RyyPCiDfmA0hRu3k7og==
+ engines:
+ node: ">= 10"
+ "@jridgewell/gen-mapping@0.3.13":
+ resolution:
+ integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==
+ "@jridgewell/remapping@2.3.5":
+ resolution:
+ integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==
+ "@jridgewell/resolve-uri@3.1.2":
+ resolution:
+ integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
+ engines:
+ node: ">=6.0.0"
+ "@jridgewell/source-map@0.3.11":
+ resolution:
+ integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==
+ "@jridgewell/sourcemap-codec@1.5.5":
+ resolution:
+ integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==
+ "@jridgewell/trace-mapping@0.3.31":
+ resolution:
+ integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==
+ "@meoc/utils@0.2.10":
+ resolution:
+ integrity: sha512-LN/CQDOVmmN/kq31630r+dFYZSPezmhbRq0Ib0RbKv+qpSpaOasXwAcwO/rkpPkhuoty5kfpHmTdjrEUU8bJYQ==
+ "@nodelib/fs.scandir@2.1.5":
+ resolution:
+ integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
+ engines:
+ node: ">= 8"
+ "@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"
+ "@polka/url@1.0.0-next.29":
+ resolution:
+ integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==
+ "@rollup/pluginutils@5.1.0":
+ resolution:
+ integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==
+ engines:
+ node: ">=14.0.0"
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ "@rollup/pluginutils@5.3.0":
+ resolution:
+ integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==
+ engines:
+ node: ">=14.0.0"
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ "@rollup/rollup-android-arm-eabi@4.55.1":
+ resolution:
+ integrity: sha512-9R0DM/ykwfGIlNu6+2U09ga0WXeZ9MRC2Ter8jnz8415VbuIykVuc6bhdrbORFZANDmTDvq26mJrEVTl8TdnDg==
+ cpu:
+ - arm
+ os:
+ - android
+ "@rollup/rollup-android-arm64@4.55.1":
+ resolution:
+ integrity: sha512-eFZCb1YUqhTysgW3sj/55du5cG57S7UTNtdMjCW7LwVcj3dTTcowCsC8p7uBdzKsZYa8J7IDE8lhMI+HX1vQvg==
+ cpu:
+ - arm64
+ os:
+ - android
+ "@rollup/rollup-darwin-arm64@4.55.1":
+ resolution:
+ integrity: sha512-p3grE2PHcQm2e8PSGZdzIhCKbMCw/xi9XvMPErPhwO17vxtvCN5FEA2mSLgmKlCjHGMQTP6phuQTYWUnKewwGg==
+ cpu:
+ - arm64
+ os:
+ - darwin
+ "@rollup/rollup-darwin-x64@4.55.1":
+ resolution:
+ integrity: sha512-rDUjG25C9qoTm+e02Esi+aqTKSBYwVTaoS1wxcN47/Luqef57Vgp96xNANwt5npq9GDxsH7kXxNkJVEsWEOEaQ==
+ cpu:
+ - x64
+ os:
+ - darwin
+ "@rollup/rollup-freebsd-arm64@4.55.1":
+ resolution:
+ integrity: sha512-+JiU7Jbp5cdxekIgdte0jfcu5oqw4GCKr6i3PJTlXTCU5H5Fvtkpbs4XJHRmWNXF+hKmn4v7ogI5OQPaupJgOg==
+ cpu:
+ - arm64
+ os:
+ - freebsd
+ "@rollup/rollup-freebsd-x64@4.55.1":
+ resolution:
+ integrity: sha512-V5xC1tOVWtLLmr3YUk2f6EJK4qksksOYiz/TCsFHu/R+woubcLWdC9nZQmwjOAbmExBIVKsm1/wKmEy4z4u4Bw==
+ cpu:
+ - x64
+ os:
+ - freebsd
+ "@rollup/rollup-linux-arm-gnueabihf@4.55.1":
+ resolution:
+ integrity: sha512-Rn3n+FUk2J5VWx+ywrG/HGPTD9jXNbicRtTM11e/uorplArnXZYsVifnPPqNNP5BsO3roI4n8332ukpY/zN7rQ==
+ cpu:
+ - arm
+ os:
+ - linux
+ libc:
+ - glibc
+ "@rollup/rollup-linux-arm-musleabihf@4.55.1":
+ resolution:
+ integrity: sha512-grPNWydeKtc1aEdrJDWk4opD7nFtQbMmV7769hiAaYyUKCT1faPRm2av8CX1YJsZ4TLAZcg9gTR1KvEzoLjXkg==
+ cpu:
+ - arm
+ os:
+ - linux
+ libc:
+ - musl
+ "@rollup/rollup-linux-arm64-gnu@4.55.1":
+ resolution:
+ integrity: sha512-a59mwd1k6x8tXKcUxSyISiquLwB5pX+fJW9TkWU46lCqD/GRDe9uDN31jrMmVP3feI3mhAdvcCClhV8V5MhJFQ==
+ cpu:
+ - arm64
+ os:
+ - linux
+ libc:
+ - glibc
+ "@rollup/rollup-linux-arm64-musl@4.55.1":
+ resolution:
+ integrity: sha512-puS1MEgWX5GsHSoiAsF0TYrpomdvkaXm0CofIMG5uVkP6IBV+ZO9xhC5YEN49nsgYo1DuuMquF9+7EDBVYu4uA==
+ cpu:
+ - arm64
+ os:
+ - linux
+ libc:
+ - musl
+ "@rollup/rollup-linux-loong64-gnu@4.55.1":
+ resolution:
+ integrity: sha512-r3Wv40in+lTsULSb6nnoudVbARdOwb2u5fpeoOAZjFLznp6tDU8kd+GTHmJoqZ9lt6/Sys33KdIHUaQihFcu7g==
+ cpu:
+ - loong64
+ os:
+ - linux
+ libc:
+ - glibc
+ "@rollup/rollup-linux-loong64-musl@4.55.1":
+ resolution:
+ integrity: sha512-MR8c0+UxAlB22Fq4R+aQSPBayvYa3+9DrwG/i1TKQXFYEaoW3B5b/rkSRIypcZDdWjWnpcvxbNaAJDcSbJU3Lw==
+ cpu:
+ - loong64
+ os:
+ - linux
+ libc:
+ - musl
+ "@rollup/rollup-linux-ppc64-gnu@4.55.1":
+ resolution:
+ integrity: sha512-3KhoECe1BRlSYpMTeVrD4sh2Pw2xgt4jzNSZIIPLFEsnQn9gAnZagW9+VqDqAHgm1Xc77LzJOo2LdigS5qZ+gw==
+ cpu:
+ - ppc64
+ os:
+ - linux
+ libc:
+ - glibc
+ "@rollup/rollup-linux-ppc64-musl@4.55.1":
+ resolution:
+ integrity: sha512-ziR1OuZx0vdYZZ30vueNZTg73alF59DicYrPViG0NEgDVN8/Jl87zkAPu4u6VjZST2llgEUjaiNl9JM6HH1Vdw==
+ cpu:
+ - ppc64
+ os:
+ - linux
+ libc:
+ - musl
+ "@rollup/rollup-linux-riscv64-gnu@4.55.1":
+ resolution:
+ integrity: sha512-uW0Y12ih2XJRERZ4jAfKamTyIHVMPQnTZcQjme2HMVDAHY4amf5u414OqNYC+x+LzRdRcnIG1YodLrrtA8xsxw==
+ cpu:
+ - riscv64
+ os:
+ - linux
+ libc:
+ - glibc
+ "@rollup/rollup-linux-riscv64-musl@4.55.1":
+ resolution:
+ integrity: sha512-u9yZ0jUkOED1BFrqu3BwMQoixvGHGZ+JhJNkNKY/hyoEgOwlqKb62qu+7UjbPSHYjiVy8kKJHvXKv5coH4wDeg==
+ cpu:
+ - riscv64
+ os:
+ - linux
+ libc:
+ - musl
+ "@rollup/rollup-linux-s390x-gnu@4.55.1":
+ resolution:
+ integrity: sha512-/0PenBCmqM4ZUd0190j7J0UsQ/1nsi735iPRakO8iPciE7BQ495Y6msPzaOmvx0/pn+eJVVlZrNrSh4WSYLxNg==
+ cpu:
+ - s390x
+ os:
+ - linux
+ libc:
+ - glibc
+ "@rollup/rollup-linux-x64-gnu@4.55.1":
+ resolution:
+ integrity: sha512-a8G4wiQxQG2BAvo+gU6XrReRRqj+pLS2NGXKm8io19goR+K8lw269eTrPkSdDTALwMmJp4th2Uh0D8J9bEV1vg==
+ cpu:
+ - x64
+ os:
+ - linux
+ libc:
+ - glibc
+ "@rollup/rollup-linux-x64-musl@4.55.1":
+ resolution:
+ integrity: sha512-bD+zjpFrMpP/hqkfEcnjXWHMw5BIghGisOKPj+2NaNDuVT+8Ds4mPf3XcPHuat1tz89WRL+1wbcxKY3WSbiT7w==
+ cpu:
+ - x64
+ os:
+ - linux
+ libc:
+ - musl
+ "@rollup/rollup-openbsd-x64@4.55.1":
+ resolution:
+ integrity: sha512-eLXw0dOiqE4QmvikfQ6yjgkg/xDM+MdU9YJuP4ySTibXU0oAvnEWXt7UDJmD4UkYialMfOGFPJnIHSe/kdzPxg==
+ cpu:
+ - x64
+ os:
+ - openbsd
+ "@rollup/rollup-openharmony-arm64@4.55.1":
+ resolution:
+ integrity: sha512-xzm44KgEP11te3S2HCSyYf5zIzWmx3n8HDCc7EE59+lTcswEWNpvMLfd9uJvVX8LCg9QWG67Xt75AuHn4vgsXw==
+ cpu:
+ - arm64
+ os:
+ - openharmony
+ "@rollup/rollup-win32-arm64-msvc@4.55.1":
+ resolution:
+ integrity: sha512-yR6Bl3tMC/gBok5cz/Qi0xYnVbIxGx5Fcf/ca0eB6/6JwOY+SRUcJfI0OpeTpPls7f194as62thCt/2BjxYN8g==
+ cpu:
+ - arm64
+ os:
+ - win32
+ "@rollup/rollup-win32-ia32-msvc@4.55.1":
+ resolution:
+ integrity: sha512-3fZBidchE0eY0oFZBnekYCfg+5wAB0mbpCBuofh5mZuzIU/4jIVkbESmd2dOsFNS78b53CYv3OAtwqkZZmU5nA==
+ cpu:
+ - ia32
+ os:
+ - win32
+ "@rollup/rollup-win32-x64-gnu@4.55.1":
+ resolution:
+ integrity: sha512-xGGY5pXj69IxKb4yv/POoocPy/qmEGhimy/FoTpTSVju3FYXUQQMFCaZZXJVidsmGxRioZAwpThl/4zX41gRKg==
+ cpu:
+ - x64
+ os:
+ - win32
+ "@rollup/rollup-win32-x64-msvc@4.55.1":
+ resolution:
+ integrity: sha512-SPEpaL6DX4rmcXtnhdrQYgzQ5W2uW3SCJch88lB2zImhJRhIIK44fkUrgIV/Q8yUNfw5oyZ5vkeQsZLhCb06lw==
+ cpu:
+ - x64
+ os:
+ - win32
+ "@types/eslint-scope@3.7.7":
+ resolution:
+ integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==
+ "@types/eslint@9.6.1":
+ resolution:
+ integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==
+ "@types/estree@1.0.8":
+ resolution:
+ integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==
+ "@types/json-schema@7.0.15":
+ resolution:
+ integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
+ "@types/node@20.19.30":
+ resolution:
+ integrity: sha512-WJtwWJu7UdlvzEAUm484QNg5eAoq5QR08KDNx7g45Usrs2NtOPiX8ugDqmKdXkyL03rBqU5dYNYVQetEpBHq2g==
+ "@unocss/astro@0.58.9":
+ 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
+ "@unocss/cli@0.58.9":
+ resolution:
+ integrity: sha512-q7qlwX3V6UaqljWUQ5gMj36yTA9eLuuRywahdQWt1ioy4aPF/MEEfnMBZf/ntrqf5tIT5TO8fE11nvCco2Q/sA==
+ engines:
+ node: ">=14"
+ hasBin: true
+ "@unocss/config@0.58.9":
+ resolution:
+ integrity: sha512-90wRXIyGNI8UenWxvHUcH4l4rgq813MsTzYWsf6ZKyLLvkFjV2b2EfGXI27GPvZ7fVE1OAqx+wJNTw8CyQxwag==
+ engines:
+ node: ">=14"
+ "@unocss/core@0.58.9":
+ resolution:
+ integrity: sha512-wYpPIPPsOIbIoMIDuH8ihehJk5pAZmyFKXIYO/Kro98GEOFhz6lJoLsy6/PZuitlgp2/TSlubUuWGjHWvp5osw==
+ "@unocss/extractor-arbitrary-variants@0.58.9":
+ resolution:
+ integrity: sha512-M/BvPdbEEMdhcFQh/z2Bf9gylO1Ky/ZnpIvKWS1YJPLt4KA7UWXSUf+ZNTFxX+X58Is5qAb5hNh/XBQmL3gbXg==
+ "@unocss/inspector@0.58.9":
+ resolution:
+ integrity: sha512-uRzqkCNeBmEvFePXcfIFcQPMlCXd9/bLwa5OkBthiOILwQdH1uRIW3GWAa2SWspu+kZLP0Ly3SjZ9Wqi+5ZtTw==
+ "@unocss/postcss@0.58.9":
+ resolution:
+ integrity: sha512-PnKmH6Qhimw35yO6u6yx9SHaX2NmvbRNPDvMDHA/1xr3M8L0o8U88tgKbWfm65NEGF3R1zJ9A8rjtZn/LPkgPA==
+ engines:
+ node: ">=14"
+ peerDependencies:
+ postcss: ^8.4.21
+ "@unocss/preset-attributify@0.58.9":
+ resolution:
+ integrity: sha512-ucP+kXRFcwmBmHohUVv31bE/SejMAMo7Hjb0QcKVLyHlzRWUJsfNR+jTAIGIUSYxN7Q8MeigYsongGo3nIeJnQ==
+ "@unocss/preset-icons@0.58.9":
+ resolution:
+ integrity: sha512-9dS48+yAunsbS0ylOW2Wisozwpn3nGY1CqTiidkUnrMnrZK3al579A7srUX9NyPWWDjprO7eU/JkWbdDQSmFFA==
+ "@unocss/preset-mini@0.58.9":
+ resolution:
+ integrity: sha512-m4aDGYtueP8QGsU3FsyML63T/w5Mtr4htme2jXy6m50+tzC1PPHaIBstMTMQfLc6h8UOregPJyGHB5iYQZGEvQ==
+ "@unocss/preset-tagify@0.58.9":
+ resolution:
+ integrity: sha512-obh75XrRmxYwrQMflzvhQUMeHwd/R9bEDhTWUW9aBTolBy4eNypmQwOhHCKh5Xi4Dg6o0xj6GWC/jcCj1SPLog==
+ "@unocss/preset-typography@0.58.9":
+ resolution:
+ integrity: sha512-hrsaqKlcZni3Vh4fwXC+lP9e92FQYbqtmlZw2jpxlVwwH5aLzwk4d4MiFQGyhCfzuSDYm0Zd52putFVV02J7bA==
+ "@unocss/preset-uno@0.58.9":
+ resolution:
+ integrity: sha512-Fze+X2Z/EegCkRdDRgwwvFBmXBenNR1AG8KxAyz8iPeWbhOBaRra2sn2ScryrfH6SbJHpw26ZyJXycAdS0Fq3A==
+ "@unocss/preset-web-fonts@0.58.9":
+ resolution:
+ integrity: sha512-XtiO+Z+RYnNYomNkS2XxaQiY++CrQZKOfNGw5htgIrb32QtYVQSkyYQ3jDw7JmMiCWlZ4E72cV/zUb++WrZLxg==
+ "@unocss/preset-wind@0.58.9":
+ resolution:
+ integrity: sha512-7l+7Vx5UoN80BmJKiqDXaJJ6EUqrnUQYv8NxCThFi5lYuHzxsYWZPLU3k3XlWRUQt8XL+6rYx7mMBmD7EUSHyw==
+ "@unocss/reset@0.58.9":
+ resolution:
+ integrity: sha512-nA2pg3tnwlquq+FDOHyKwZvs20A6iBsKPU7Yjb48JrNnzoaXqE+O9oN6782IG2yKVW4AcnsAnAnM4cxXhGzy1w==
+ "@unocss/rule-utils@0.58.9":
+ resolution:
+ integrity: sha512-45bDa+elmlFLthhJmKr2ltKMAB0yoXnDMQ6Zp5j3OiRB7dDMBkwYRPvHLvIe+34Ey7tDt/kvvDPtWMpPl2quUQ==
+ engines:
+ node: ">=14"
+ "@unocss/scope@0.58.9":
+ resolution:
+ integrity: sha512-BIwcpx0R3bE0rYa9JVDJTk0GX32EBvnbvufBpNkWfC5tb7g+B7nMkVq9ichanksYCCxrIQQo0mrIz5PNzu9sGA==
+ "@unocss/transformer-attributify-jsx-babel@0.58.9":
+ resolution:
+ integrity: sha512-UGaQoGZg+3QrsPtnGHPECmsGn4EQb2KSdZ4eGEn2YssjKv+CcQhzRvpEUgnuF/F+jGPkCkS/G/YEQBHRWBY54Q==
+ "@unocss/transformer-attributify-jsx@0.58.9":
+ resolution:
+ integrity: sha512-jpL3PRwf8t43v1agUdQn2EHGgfdWfvzsMxFtoybO88xzOikzAJaaouteNtojc/fQat2T9iBduDxVj5egdKmhdQ==
+ "@unocss/transformer-compile-class@0.58.9":
+ resolution:
+ integrity: sha512-l2VpCqelJ6Tgc1kfSODxBtg7fCGPVRr2EUzTg1LrGYKa2McbKuc/wV/2DWKHGxL6+voWi7a2C9XflqGDXXutuQ==
+ "@unocss/transformer-directives@0.58.9":
+ resolution:
+ integrity: sha512-pLOUsdoY2ugVntJXg0xuGjO9XZ2xCiMxTPRtpZ4TsEzUtdEzMswR06Y8VWvNciTB/Zqxcz9ta8rD0DKePOfSuw==
+ "@unocss/transformer-variant-group@0.58.9":
+ resolution:
+ integrity: sha512-3A6voHSnFcyw6xpcZT6oxE+KN4SHRnG4z862tdtWvRGcN+jGyNr20ylEZtnbk4xj0VNMeGHHQRZ0WLvmrAwvOQ==
+ "@unocss/vite@0.58.9":
+ 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
+ "@vitejs/plugin-legacy@5.3.2":
+ resolution:
+ integrity: sha512-8moCOrIMaZ/Rjln0Q6GsH6s8fAt1JOI3k8nmfX4tXUxE5KAExVctSyOBk+A25GClsdSWqIk2yaUthH3KJ2X4tg==
+ engines:
+ node: ^18.0.0 || >=20.0.0
+ peerDependencies:
+ terser: ^5.4.0
+ vite: ^5.0.0
+ "@vitejs/plugin-vue-jsx@3.1.0":
+ 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
+ "@vitejs/plugin-vue@5.2.4":
+ resolution:
+ integrity: sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==
+ engines:
+ node: ^18.0.0 || >=20.0.0
+ peerDependencies:
+ vite: ^5.0.0 || ^6.0.0
+ vue: ^3.2.25
+ "@volar/language-core@1.11.1":
+ resolution:
+ integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==
+ "@volar/source-map@1.11.1":
+ resolution:
+ integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==
+ "@volar/typescript@1.11.1":
+ resolution:
+ integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==
+ "@vue/babel-helper-vue-transform-on@1.5.0":
+ resolution:
+ integrity: sha512-0dAYkerNhhHutHZ34JtTl2czVQHUNWv6xEbkdF5W+Yrv5pCWsqjeORdOgbtW2I9gWlt+wBmVn+ttqN9ZxR5tzA==
+ "@vue/babel-plugin-jsx@1.5.0":
+ resolution:
+ integrity: sha512-mneBhw1oOqCd2247O0Yw/mRwC9jIGACAJUlawkmMBiNmL4dGA2eMzuNZVNqOUfYTa6vqmND4CtOPzmEEEqLKFw==
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ peerDependenciesMeta:
+ "@babel/core":
+ optional: true
+ "@vue/babel-plugin-resolve-type@1.5.0":
+ resolution:
+ integrity: sha512-Wm/60o+53JwJODm4Knz47dxJnLDJ9FnKnGZJbUUf8nQRAtt6P+undLUAVU3Ha33LxOJe6IPoifRQ6F/0RrU31w==
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ "@vue/compiler-core@3.4.21":
+ resolution:
+ integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==
+ "@vue/compiler-core@3.5.26":
+ resolution:
+ integrity: sha512-vXyI5GMfuoBCnv5ucIT7jhHKl55Y477yxP6fc4eUswjP8FG3FFVFd41eNDArR+Uk3QKn2Z85NavjaxLxOC19/w==
+ "@vue/compiler-dom@3.4.21":
+ resolution:
+ integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==
+ "@vue/compiler-dom@3.5.26":
+ resolution:
+ integrity: sha512-y1Tcd3eXs834QjswshSilCBnKGeQjQXB6PqFn/1nxcQw4pmG42G8lwz+FZPAZAby6gZeHSt/8LMPfZ4Rb+Bd/A==
+ "@vue/compiler-sfc@3.4.21":
+ resolution:
+ integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==
+ "@vue/compiler-sfc@3.5.26":
+ resolution:
+ integrity: sha512-egp69qDTSEZcf4bGOSsprUr4xI73wfrY5oRs6GSgXFTiHrWj4Y3X5Ydtip9QMqiCMCPVwLglB9GBxXtTadJ3mA==
+ "@vue/compiler-ssr@3.4.21":
+ resolution:
+ integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==
+ "@vue/compiler-ssr@3.5.26":
+ resolution:
+ integrity: sha512-lZT9/Y0nSIRUPVvapFJEVDbEXruZh2IYHMk2zTtEgJSlP5gVOqeWXH54xDKAaFS4rTnDeDBQUYDtxKyoW9FwDw==
+ "@vue/devtools-api@6.6.4":
+ resolution:
+ integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==
+ "@vue/devtools-api@7.7.9":
+ resolution:
+ integrity: sha512-kIE8wvwlcZ6TJTbNeU2HQNtaxLx3a84aotTITUuL/4bzfPxzajGBOoqjMhwZJ8L9qFYDU/lAYMEEm11dnZOD6g==
+ "@vue/devtools-kit@7.7.9":
+ resolution:
+ integrity: sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA==
+ "@vue/devtools-shared@7.7.9":
+ resolution:
+ integrity: sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA==
+ "@vue/language-core@1.8.27":
+ resolution:
+ integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==
+ peerDependencies:
+ typescript: "*"
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ "@vue/reactivity@3.5.26":
+ resolution:
+ integrity: sha512-9EnYB1/DIiUYYnzlnUBgwU32NNvLp/nhxLXeWRhHUEeWNTn1ECxX8aGO7RTXeX6PPcxe3LLuNBFoJbV4QZ+CFQ==
+ "@vue/runtime-core@3.5.26":
+ resolution:
+ integrity: sha512-xJWM9KH1kd201w5DvMDOwDHYhrdPTrAatn56oB/LRG4plEQeZRQLw0Bpwih9KYoqmzaxF0OKSn6swzYi84e1/Q==
+ "@vue/runtime-dom@3.5.26":
+ resolution:
+ integrity: sha512-XLLd/+4sPC2ZkN/6+V4O4gjJu6kSDbHAChvsyWgm1oGbdSO3efvGYnm25yCjtFm/K7rrSDvSfPDgN1pHgS4VNQ==
+ "@vue/server-renderer@3.4.21":
+ resolution:
+ integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==
+ peerDependencies:
+ vue: 3.4.21
+ "@vue/server-renderer@3.5.26":
+ resolution:
+ integrity: sha512-TYKLXmrwWKSodyVuO1WAubucd+1XlLg4set0YoV+Hu8Lo79mp/YMwWV5mC5FgtsDxX3qo1ONrxFaTP1OQgy1uA==
+ peerDependencies:
+ vue: 3.5.26
+ "@vue/shared@3.4.21":
+ resolution:
+ integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==
+ "@vue/shared@3.5.26":
+ resolution:
+ integrity: sha512-7Z6/y3uFI5PRoKeorTOSXKcDj0MSasfNNltcslbFrPpcw6aXRUALq4IfJlaTRspiWIUOEZbrpM+iQGmCOiWe4A==
+ "@vue/shared@3.5.32":
+ resolution:
+ integrity: sha512-ksNyrmRQzWJJ8n3cRDuSF7zNNontuJg1YHnmWRJd2AMu8Ij2bqwiiri2lH5rHtYPZjj4STkNcgcmiQqlOjiYGg==
+ "@webassemblyjs/ast@1.14.1":
+ resolution:
+ integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==
+ "@webassemblyjs/floating-point-hex-parser@1.13.2":
+ resolution:
+ integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==
+ "@webassemblyjs/helper-api-error@1.13.2":
+ resolution:
+ integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==
+ "@webassemblyjs/helper-buffer@1.14.1":
+ resolution:
+ integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==
+ "@webassemblyjs/helper-numbers@1.13.2":
+ resolution:
+ integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==
+ "@webassemblyjs/helper-wasm-bytecode@1.13.2":
+ resolution:
+ integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==
+ "@webassemblyjs/helper-wasm-section@1.14.1":
+ resolution:
+ integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==
+ "@webassemblyjs/ieee754@1.13.2":
+ resolution:
+ integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==
+ "@webassemblyjs/leb128@1.13.2":
+ resolution:
+ integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==
+ "@webassemblyjs/utf8@1.13.2":
+ resolution:
+ integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==
+ "@webassemblyjs/wasm-edit@1.14.1":
+ resolution:
+ integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==
+ "@webassemblyjs/wasm-gen@1.14.1":
+ resolution:
+ integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==
+ "@webassemblyjs/wasm-opt@1.14.1":
+ resolution:
+ integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==
+ "@webassemblyjs/wasm-parser@1.14.1":
+ resolution:
+ integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==
+ "@webassemblyjs/wast-printer@1.14.1":
+ resolution:
+ integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==
+ "@xtuc/ieee754@1.2.0":
+ resolution:
+ integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
+ "@xtuc/long@4.2.2":
+ resolution:
+ integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
+ accepts@1.3.8:
+ resolution:
+ integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
+ engines:
+ node: ">= 0.6"
+ acorn-import-phases@1.0.4:
+ resolution:
+ integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==
+ engines:
+ node: ">=10.13.0"
+ peerDependencies:
+ acorn: ^8.14.0
+ acorn@8.15.0:
+ resolution:
+ integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==
+ engines:
+ node: ">=0.4.0"
+ hasBin: true
+ adm-zip@0.5.16:
+ resolution:
+ integrity: sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==
+ engines:
+ node: ">=12.0"
+ ajv-formats@2.1.1:
+ resolution:
+ integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==
+ peerDependencies:
+ ajv: ^8.0.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+ ajv-keywords@5.1.0:
+ resolution:
+ integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==
+ peerDependencies:
+ ajv: ^8.8.2
+ ajv@8.17.1:
+ resolution:
+ integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==
+ ansi-styles@3.2.1:
+ resolution:
+ integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
+ engines:
+ node: ">=4"
+ anymatch@3.1.3:
+ resolution:
+ integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
+ engines:
+ node: ">= 8"
+ array-flatten@1.1.1:
+ resolution:
+ integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
+ autoprefixer@10.4.20:
+ resolution:
+ integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==
+ engines:
+ node: ^10 || ^12 || >=14
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+ babel-plugin-polyfill-corejs2@0.4.14:
+ resolution:
+ integrity: sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==
+ peerDependencies:
+ "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0
+ babel-plugin-polyfill-corejs3@0.13.0:
+ resolution:
+ integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==
+ peerDependencies:
+ "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0
+ babel-plugin-polyfill-regenerator@0.6.5:
+ resolution:
+ integrity: sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==
+ peerDependencies:
+ "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0
+ balanced-match@1.0.2:
+ resolution:
+ integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+ base64url@3.0.1:
+ resolution:
+ integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==
+ engines:
+ node: ">=6.0.0"
+ baseline-browser-mapping@2.9.15:
+ resolution:
+ integrity: sha512-kX8h7K2srmDyYnXRIppo4AH/wYgzWVCs+eKr3RusRSQ5PvRYoEFmR/I0PbdTjKFAoKqp5+kbxnNTFO9jOfSVJg==
+ hasBin: true
+ binary-extensions@2.3.0:
+ resolution:
+ integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==
+ engines:
+ node: ">=8"
+ birpc@2.9.0:
+ resolution:
+ integrity: sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==
+ 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
+ brace-expansion@2.0.2:
+ resolution:
+ integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==
+ braces@3.0.3:
+ resolution:
+ integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
+ engines:
+ node: ">=8"
+ browserslist-to-esbuild@2.1.1:
+ resolution:
+ integrity: sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==
+ engines:
+ node: ">=18"
+ hasBin: true
+ peerDependencies:
+ browserslist: "*"
+ browserslist@4.28.1:
+ resolution:
+ integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==
+ engines:
+ node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7
+ hasBin: true
+ buffer-from@1.1.2:
+ resolution:
+ integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
+ bytes@3.1.2:
+ resolution:
+ integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
+ engines:
+ node: ">= 0.8"
+ cac@6.7.14:
+ resolution:
+ integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==
+ engines:
+ node: ">=8"
+ cac@6.7.9:
+ resolution:
+ integrity: sha512-XN5qEpfNQCJ8jRaZgitSkkukjMRCGio+X3Ks5KUbGGlPbV+pSem1l9VuzooCBXOiMFshUZgyYqg6rgN8rjkb/w==
+ engines:
+ node: ">=8"
+ call-bind-apply-helpers@1.0.2:
+ resolution:
+ integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==
+ engines:
+ node: ">= 0.4"
+ call-bound@1.0.4:
+ resolution:
+ integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==
+ engines:
+ node: ">= 0.4"
+ caniuse-lite@1.0.30001764:
+ resolution:
+ integrity: sha512-9JGuzl2M+vPL+pz70gtMF9sHdMFbY9FJaQBi186cHKH3pSzDvzoUJUPV6fqiKIMyXbud9ZLg4F3Yza1vJ1+93g==
+ chalk@2.4.2:
+ resolution:
+ integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
+ engines:
+ node: ">=4"
+ chokidar@3.6.0:
+ resolution:
+ integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==
+ engines:
+ node: ">= 8.10.0"
+ chrome-trace-event@1.0.4:
+ resolution:
+ integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==
+ engines:
+ node: ">=6.0"
+ color-convert@1.9.3:
+ resolution:
+ integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
+ color-name@1.1.3:
+ resolution:
+ integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
+ colorette@2.0.20:
+ resolution:
+ integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==
+ 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==
+ confbox@0.1.8:
+ resolution:
+ integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==
+ confbox@0.2.2:
+ resolution:
+ integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==
+ consola@3.4.2:
+ resolution:
+ integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==
+ engines:
+ node: ^14.18.0 || >=16.10.0
+ content-disposition@0.5.4:
+ resolution:
+ integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
+ engines:
+ node: ">= 0.6"
+ content-type@1.0.5:
+ resolution:
+ integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
+ engines:
+ node: ">= 0.6"
+ convert-source-map@2.0.0:
+ resolution:
+ integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
+ cookie-signature@1.0.6:
+ resolution:
+ integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
+ cookie@0.6.0:
+ resolution:
+ integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==
+ engines:
+ node: ">= 0.6"
+ copy-anything@4.0.5:
+ resolution:
+ integrity: sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==
+ engines:
+ node: ">=18"
+ core-js-compat@3.47.0:
+ resolution:
+ integrity: sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==
+ core-js-pure@3.49.0:
+ resolution:
+ integrity: sha512-XM4RFka59xATyJv/cS3O3Kml72hQXUeGRuuTmMYFxwzc9/7C8OYTaIR/Ji+Yt8DXzsFLNhat15cE/JP15HrCgw==
+ core-js@3.47.0:
+ resolution:
+ integrity: sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==
+ css-font-size-keywords@1.0.0:
+ resolution:
+ integrity: sha512-Q+svMDbMlelgCfH/RVDKtTDaf5021O486ZThQPIpahnIjUkMUslC+WuOQSWTgGSrNCH08Y7tYNEmmy0hkfMI8Q==
+ css-font-stretch-keywords@1.0.1:
+ resolution:
+ integrity: sha512-KmugPO2BNqoyp9zmBIUGwt58UQSfyk1X5DbOlkb2pckDXFSAfjsD5wenb88fNrD6fvS+vu90a/tsPpb9vb0SLg==
+ css-font-style-keywords@1.0.1:
+ resolution:
+ integrity: sha512-0Fn0aTpcDktnR1RzaBYorIxQily85M2KXRpzmxQPgh8pxUN9Fcn00I8u9I3grNr1QXVgCl9T5Imx0ZwKU973Vg==
+ css-font-weight-keywords@1.0.0:
+ resolution:
+ integrity: sha512-5So8/NH+oDD+EzsnF4iaG4ZFHQ3vaViePkL1ZbZ5iC/KrsCY+WHq/lvOgrtmuOQ9pBBZ1ADGpaf+A4lj1Z9eYA==
+ css-list-helpers@2.0.0:
+ resolution:
+ integrity: sha512-9Bj8tZ0jWbAM3u/U6m/boAzAwLPwtjzFvwivr2piSvyVa3K3rChJzQy4RIHkNkKiZCHrEMWDJWtTR8UyVhdDnQ==
+ css-system-font-keywords@1.0.0:
+ resolution:
+ integrity: sha512-1umTtVd/fXS25ftfjB71eASCrYhilmEsvDEI6wG/QplnmlfmVM5HkZ/ZX46DT5K3eblFPgLUHt5BRCb0YXkSFA==
+ 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
+ cssesc@3.0.0:
+ resolution:
+ integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
+ engines:
+ node: ">=4"
+ hasBin: true
+ csstype@3.2.3:
+ resolution:
+ integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==
+ dayjs@1.11.19:
+ resolution:
+ integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==
+ de-indent@1.0.2:
+ resolution:
+ integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==
+ debug@2.6.9:
+ resolution:
+ integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+ peerDependencies:
+ supports-color: "*"
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ debug@4.3.7:
+ resolution:
+ integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==
+ engines:
+ node: ">=6.0"
+ peerDependencies:
+ supports-color: "*"
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ debug@4.4.3:
+ resolution:
+ integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==
+ engines:
+ node: ">=6.0"
+ peerDependencies:
+ supports-color: "*"
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ defu@6.1.4:
+ resolution:
+ integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==
+ depd@2.0.0:
+ resolution:
+ integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
+ engines:
+ node: ">= 0.8"
+ destr@2.0.5:
+ resolution:
+ integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==
+ destroy@1.2.0:
+ resolution:
+ integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
+ engines:
+ node: ">= 0.8"
+ npm: 1.2.8000 || >= 1.4.16
+ dunder-proto@1.0.1:
+ resolution:
+ integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==
+ engines:
+ node: ">= 0.4"
+ duplexer@0.1.2:
+ resolution:
+ integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
+ ee-first@1.1.1:
+ resolution:
+ integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
+ electron-to-chromium@1.5.267:
+ resolution:
+ integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==
+ encodeurl@1.0.2:
+ resolution:
+ integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
+ engines:
+ node: ">= 0.8"
+ encodeurl@2.0.0:
+ resolution:
+ integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==
+ engines:
+ node: ">= 0.8"
+ enhanced-resolve@5.18.4:
+ resolution:
+ integrity: sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==
+ engines:
+ node: ">=10.13.0"
+ entities@4.5.0:
+ resolution:
+ integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
+ engines:
+ node: ">=0.12"
+ entities@7.0.0:
+ resolution:
+ integrity: sha512-FDWG5cmEYf2Z00IkYRhbFrwIwvdFKH07uV8dvNy0omp/Qb1xcyCWp2UDtcwJF4QZZvk0sLudP6/hAu42TaqVhQ==
+ engines:
+ node: ">=0.12"
+ es-define-property@1.0.1:
+ resolution:
+ integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==
+ engines:
+ node: ">= 0.4"
+ es-errors@1.3.0:
+ resolution:
+ integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
+ engines:
+ node: ">= 0.4"
+ es-module-lexer@1.5.4:
+ resolution:
+ integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==
+ es-module-lexer@2.0.0:
+ resolution:
+ integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==
+ es-object-atoms@1.1.1:
+ resolution:
+ integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==
+ engines:
+ node: ">= 0.4"
+ esbuild@0.20.2:
+ resolution:
+ integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==
+ engines:
+ node: ">=12"
+ hasBin: true
+ 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==
+ escape-string-regexp@1.0.5:
+ resolution:
+ integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
+ engines:
+ node: ">=0.8.0"
+ escape-string-regexp@5.0.0:
+ resolution:
+ integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==
+ engines:
+ node: ">=12"
+ eslint-scope@5.1.1:
+ resolution:
+ integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
+ engines:
+ node: ">=8.0.0"
+ esrecurse@4.3.0:
+ resolution:
+ integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
+ engines:
+ node: ">=4.0"
+ estraverse@4.3.0:
+ resolution:
+ integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
+ engines:
+ node: ">=4.0"
+ estraverse@5.3.0:
+ resolution:
+ integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
+ engines:
+ node: ">=4.0"
+ estree-walker@2.0.2:
+ resolution:
+ integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
+ estree-walker@3.0.3:
+ resolution:
+ integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==
+ esutils@2.0.3:
+ resolution:
+ integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+ engines:
+ node: ">=0.10.0"
+ etag@1.8.1:
+ resolution:
+ integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
+ engines:
+ node: ">= 0.6"
+ events@3.3.0:
+ resolution:
+ integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
+ engines:
+ node: ">=0.8.x"
+ express@4.20.0:
+ resolution:
+ integrity: sha512-pLdae7I6QqShF5PnNTCVn4hI91Dx0Grkn2+IAsMTgMIKuQVte2dN9PeGSSAME2FR8anOhVA62QDIUaWVfEXVLw==
+ engines:
+ node: ">= 0.10.0"
+ exsolve@1.0.8:
+ resolution:
+ integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==
+ fast-deep-equal@3.1.3:
+ resolution:
+ integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+ fast-glob@3.3.3:
+ resolution:
+ integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==
+ engines:
+ node: ">=8.6.0"
+ fast-uri@3.1.0:
+ resolution:
+ integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==
+ fastq@1.20.1:
+ resolution:
+ integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==
+ fill-range@7.1.1:
+ resolution:
+ integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
+ engines:
+ node: ">=8"
+ finalhandler@1.2.0:
+ resolution:
+ integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==
+ engines:
+ node: ">= 0.8"
+ forwarded@0.2.0:
+ resolution:
+ integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
+ engines:
+ node: ">= 0.6"
+ fraction.js@4.3.7:
+ resolution:
+ integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==
+ fresh@0.5.2:
+ resolution:
+ integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
+ engines:
+ node: ">= 0.6"
+ fs-extra@10.1.0:
+ resolution:
+ integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==
+ engines:
+ node: ">=12"
+ fsevents@2.3.3:
+ resolution:
+ integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
+ engines:
+ node: ^8.16.0 || ^10.6.0 || >=11.0.0
+ os:
+ - darwin
+ function-bind@1.1.2:
+ resolution:
+ integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
+ generic-names@4.0.0:
+ resolution:
+ integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==
+ gensync@1.0.0-beta.2:
+ resolution:
+ integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
+ engines:
+ node: ">=6.9.0"
+ get-intrinsic@1.3.0:
+ resolution:
+ integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==
+ engines:
+ node: ">= 0.4"
+ get-proto@1.0.1:
+ resolution:
+ integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==
+ engines:
+ node: ">= 0.4"
+ glob-parent@5.1.2:
+ resolution:
+ integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+ engines:
+ node: ">= 6"
+ glob-to-regexp@0.4.1:
+ resolution:
+ integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
+ globals@15.15.0:
+ resolution:
+ integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==
+ engines:
+ node: ">=18"
+ gopd@1.2.0:
+ resolution:
+ integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==
+ engines:
+ node: ">= 0.4"
+ 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"
+ has-flag@3.0.0:
+ resolution:
+ integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
+ engines:
+ node: ">=4"
+ has-flag@4.0.0:
+ resolution:
+ integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+ engines:
+ node: ">=8"
+ has-symbols@1.1.0:
+ resolution:
+ integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==
+ engines:
+ node: ">= 0.4"
+ 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"
+ he@1.2.0:
+ resolution:
+ integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
+ hasBin: true
+ hookable@5.5.3:
+ resolution:
+ integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==
+ http-errors@2.0.0:
+ resolution:
+ integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
+ engines:
+ node: ">= 0.8"
+ iconv-lite@0.4.24:
+ resolution:
+ integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
+ engines:
+ node: ">=0.10.0"
+ icss-replace-symbols@1.1.0:
+ resolution:
+ integrity: sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==
+ icss-utils@5.1.0:
+ resolution:
+ integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==
+ engines:
+ node: ^10 || ^12 || >= 14
+ peerDependencies:
+ postcss: ^8.1.0
+ immutable@4.3.7:
+ resolution:
+ integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==
+ inherits@2.0.4:
+ resolution:
+ integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+ 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"
+ is-binary-path@2.1.0:
+ resolution:
+ integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
+ engines:
+ node: ">=8"
+ is-core-module@2.16.1:
+ resolution:
+ integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==
+ engines:
+ node: ">= 0.4"
+ is-extglob@2.1.1:
+ resolution:
+ integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
+ engines:
+ node: ">=0.10.0"
+ is-glob@4.0.3:
+ resolution:
+ integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
+ engines:
+ node: ">=0.10.0"
+ is-number@7.0.0:
+ resolution:
+ integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+ engines:
+ node: ">=0.12.0"
+ is-what@5.5.0:
+ resolution:
+ integrity: sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==
+ engines:
+ node: ">=18"
+ isbinaryfile@5.0.2:
+ resolution:
+ integrity: sha512-GvcjojwonMjWbTkfMpnVHVqXW/wKMYDfEpY94/8zy8HFMOqb/VL6oeONq9v87q4ttVlaTLnGXnJD4B5B1OTGIg==
+ engines:
+ node: ">= 18.0.0"
+ jest-worker@27.5.1:
+ resolution:
+ integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==
+ engines:
+ node: ">= 10.13.0"
+ jiti@1.21.7:
+ resolution:
+ integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==
+ hasBin: true
+ js-tokens@4.0.0:
+ resolution:
+ integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+ js-tokens@9.0.1:
+ resolution:
+ integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==
+ jsesc@3.1.0:
+ resolution:
+ integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==
+ engines:
+ node: ">=6"
+ hasBin: true
+ json-parse-even-better-errors@2.3.1:
+ resolution:
+ integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
+ json-schema-traverse@1.0.0:
+ resolution:
+ integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
+ 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.2.0:
+ resolution:
+ integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==
+ kolorist@1.8.0:
+ resolution:
+ integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==
+ lcid@3.1.1:
+ resolution:
+ integrity: sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==
+ engines:
+ node: ">=8"
+ lilconfig@2.1.0:
+ resolution:
+ integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==
+ engines:
+ node: ">=10"
+ lines-and-columns@2.0.4:
+ resolution:
+ integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==
+ engines:
+ node: ^12.20.0 || ^14.13.1 || >=16.0.0
+ loader-runner@4.3.1:
+ resolution:
+ integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==
+ engines:
+ node: ">=6.11.5"
+ loader-utils@3.3.1:
+ resolution:
+ integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==
+ engines:
+ node: ">= 12.13.0"
+ local-pkg@1.1.2:
+ resolution:
+ integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==
+ engines:
+ node: ">=14"
+ localstorage-polyfill@1.0.1:
+ resolution:
+ integrity: sha512-m4iHVZxFH5734oQcPKU08025gIz2+4bjWR9lulP8ZYxEJR0BpA0w32oJmkzh8y3UI9ci7xCBehQDc3oA1X+VHw==
+ engines:
+ node: ">=6"
+ lodash.camelcase@4.3.0:
+ resolution:
+ integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==
+ lodash.debounce@4.0.8:
+ resolution:
+ integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
+ lru-cache@5.1.1:
+ resolution:
+ integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
+ magic-string@0.30.11:
+ resolution:
+ integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==
+ magic-string@0.30.21:
+ resolution:
+ integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==
+ math-intrinsics@1.1.0:
+ resolution:
+ integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
+ engines:
+ node: ">= 0.4"
+ mdn-data@2.0.30:
+ resolution:
+ integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==
+ media-typer@0.3.0:
+ resolution:
+ integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
+ engines:
+ node: ">= 0.6"
+ meow@13.2.0:
+ resolution:
+ integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==
+ engines:
+ node: ">=18"
+ merge-descriptors@1.0.3:
+ resolution:
+ integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==
+ merge-stream@2.0.0:
+ resolution:
+ integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
+ 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"
+ micromatch@4.0.8:
+ resolution:
+ integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==
+ engines:
+ node: ">=8.6"
+ mime-db@1.52.0:
+ resolution:
+ integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
+ engines:
+ node: ">= 0.6"
+ mime-types@2.1.35:
+ resolution:
+ integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
+ engines:
+ node: ">= 0.6"
+ 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
+ minimatch@9.0.5:
+ resolution:
+ integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==
+ engines:
+ node: ">=16 || 14 >=14.17"
+ mitt@3.0.1:
+ resolution:
+ integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==
+ mlly@1.8.0:
+ resolution:
+ integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==
+ module-alias@2.2.3:
+ resolution:
+ integrity: sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q==
+ mrmime@2.0.1:
+ resolution:
+ integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==
+ engines:
+ node: ">=10"
+ ms@2.0.0:
+ resolution:
+ integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
+ ms@2.1.3:
+ resolution:
+ integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+ muggle-string@0.3.1:
+ resolution:
+ integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==
+ nanoid@3.3.11:
+ resolution:
+ integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==
+ engines:
+ node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1
+ hasBin: true
+ negotiator@0.6.3:
+ resolution:
+ integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
+ engines:
+ node: ">= 0.6"
+ neo-async@2.6.2:
+ resolution:
+ integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
+ node-fetch-native@1.6.7:
+ resolution:
+ integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==
+ node-releases@2.0.27:
+ resolution:
+ integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==
+ 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"
+ object-inspect@1.13.4:
+ resolution:
+ integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==
+ engines:
+ node: ">= 0.4"
+ ofetch@1.5.1:
+ resolution:
+ integrity: sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==
+ on-finished@2.4.1:
+ resolution:
+ integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
+ engines:
+ node: ">= 0.8"
+ os-locale-s-fix@1.0.8-fix-1:
+ resolution:
+ integrity: sha512-Sv0OvhPiMutICiwORAUefv02DCPb62IelBmo8ZsSrRHyI3FStqIWZvjqDkvtjU+lcujo7UNir+dCwKSqlEQ/5w==
+ engines:
+ node: ">=10"
+ yarn: ^1.22.4
+ package-manager-detector@1.6.0:
+ resolution:
+ integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==
+ parse-css-font@4.0.0:
+ resolution:
+ integrity: sha512-lnY7dTUfjRXsSo5G5C639L8RaBBaVSgL+5hacIFKsNHzeCJQ5SFSZv1DZmc7+wZv/22PFGOq2YbaEHLdaCS/mQ==
+ parseurl@1.3.3:
+ resolution:
+ integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
+ engines:
+ node: ">= 0.8"
+ path-browserify@1.0.1:
+ resolution:
+ integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==
+ path-parse@1.0.7:
+ resolution:
+ integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+ path-to-regexp@0.1.10:
+ resolution:
+ integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==
+ pathe@1.1.2:
+ resolution:
+ integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==
+ pathe@2.0.3:
+ resolution:
+ integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==
+ perfect-debounce@1.0.0:
+ resolution:
+ integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==
+ picocolors@1.1.0:
+ resolution:
+ integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==
+ 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.3:
+ resolution:
+ integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==
+ engines:
+ node: ">=12"
+ pify@2.3.0:
+ resolution:
+ integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==
+ engines:
+ node: ">=0.10.0"
+ pinia@3.0.4:
+ resolution:
+ integrity: sha512-l7pqLUFTI/+ESXn6k3nu30ZIzW5E2WZF/LaHJEpoq6ElcLD+wduZoB2kBN19du6K/4FDpPMazY2wJr+IndBtQw==
+ peerDependencies:
+ typescript: ">=4.5.0"
+ vue: ^3.5.11
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ pkg-types@1.3.1:
+ resolution:
+ integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==
+ pkg-types@2.3.0:
+ resolution:
+ integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==
+ postcss-import@14.1.0:
+ resolution:
+ integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==
+ engines:
+ node: ">=10.0.0"
+ peerDependencies:
+ postcss: ^8.0.0
+ postcss-load-config@3.1.4:
+ 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
+ postcss-modules-extract-imports@3.1.0:
+ resolution:
+ integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==
+ engines:
+ node: ^10 || ^12 || >= 14
+ peerDependencies:
+ postcss: ^8.1.0
+ postcss-modules-local-by-default@4.2.0:
+ resolution:
+ integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==
+ engines:
+ node: ^10 || ^12 || >= 14
+ peerDependencies:
+ postcss: ^8.1.0
+ postcss-modules-scope@3.2.1:
+ resolution:
+ integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==
+ engines:
+ node: ^10 || ^12 || >= 14
+ peerDependencies:
+ postcss: ^8.1.0
+ postcss-modules-values@4.0.0:
+ resolution:
+ integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==
+ engines:
+ node: ^10 || ^12 || >= 14
+ peerDependencies:
+ postcss: ^8.1.0
+ postcss-modules@4.3.1:
+ resolution:
+ integrity: sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==
+ peerDependencies:
+ postcss: ^8.0.0
+ postcss-selector-parser@6.1.2:
+ resolution:
+ integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==
+ engines:
+ node: ">=4"
+ postcss-selector-parser@7.1.1:
+ resolution:
+ integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==
+ engines:
+ node: ">=4"
+ postcss-value-parser@4.2.0:
+ resolution:
+ integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
+ postcss@8.4.45:
+ resolution:
+ integrity: sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==
+ engines:
+ node: ^10 || ^12 || >=14
+ postcss@8.5.6:
+ resolution:
+ integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==
+ engines:
+ node: ^10 || ^12 || >=14
+ proxy-addr@2.0.7:
+ resolution:
+ integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
+ engines:
+ node: ">= 0.10"
+ qs@6.11.0:
+ resolution:
+ integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==
+ engines:
+ node: ">=0.6"
+ qs@6.13.0:
+ resolution:
+ integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==
+ engines:
+ node: ">=0.6"
+ quansync@0.2.11:
+ resolution:
+ integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==
+ queue-microtask@1.2.3:
+ resolution:
+ integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+ randombytes@2.1.0:
+ resolution:
+ integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
+ range-parser@1.2.1:
+ resolution:
+ integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
+ engines:
+ node: ">= 0.6"
+ raw-body@2.5.2:
+ resolution:
+ integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==
+ engines:
+ node: ">= 0.8"
+ read-cache@1.0.0:
+ resolution:
+ integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==
+ readdirp@3.6.0:
+ resolution:
+ integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
+ engines:
+ node: ">=8.10.0"
+ regenerate-unicode-properties@10.2.2:
+ resolution:
+ integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==
+ engines:
+ node: ">=4"
+ regenerate@1.4.2:
+ resolution:
+ integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
+ regenerator-runtime@0.14.1:
+ resolution:
+ integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==
+ regexpu-core@6.4.0:
+ resolution:
+ integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==
+ engines:
+ node: ">=4"
+ regjsgen@0.8.0:
+ resolution:
+ integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==
+ regjsparser@0.13.0:
+ resolution:
+ integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==
+ hasBin: true
+ require-from-string@2.0.2:
+ resolution:
+ integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
+ engines:
+ node: ">=0.10.0"
+ resolve@1.22.11:
+ resolution:
+ integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==
+ engines:
+ node: ">= 0.4"
+ hasBin: true
+ resolve@1.22.8:
+ resolution:
+ integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==
+ hasBin: true
+ reusify@1.1.0:
+ resolution:
+ integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==
+ engines:
+ iojs: ">=1.0.0"
+ node: ">=0.10.0"
+ rfdc@1.4.1:
+ resolution:
+ integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==
+ rollup@4.55.1:
+ resolution:
+ integrity: sha512-wDv/Ht1BNHB4upNbK74s9usvl7hObDnvVzknxqY/E/O3X6rW1U1rV1aENEfJ54eFZDTNo7zv1f5N4edCluH7+A==
+ engines:
+ node: ">=18.0.0"
+ npm: ">=8.0.0"
+ hasBin: true
+ run-parallel@1.2.0:
+ resolution:
+ integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
+ safe-area-insets@1.4.1:
+ resolution:
+ integrity: sha512-r/nRWTjFGhhm3w1Z6Kd/jY11srN+lHt2mNl1E/emQGW8ic7n3Avu4noibklfSM+Y34peNphHD/BSZecav0sXYQ==
+ safe-buffer@5.2.1:
+ resolution:
+ integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+ safer-buffer@2.1.2:
+ resolution:
+ integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+ sass@1.71.1:
+ resolution:
+ integrity: sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==
+ engines:
+ node: ">=14.0.0"
+ hasBin: true
+ schema-utils@4.3.3:
+ resolution:
+ integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==
+ engines:
+ node: ">= 10.13.0"
+ 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.7.3:
+ resolution:
+ integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==
+ engines:
+ node: ">=10"
+ hasBin: true
+ send@0.18.0:
+ resolution:
+ integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==
+ engines:
+ node: ">= 0.8.0"
+ send@0.19.0:
+ resolution:
+ integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==
+ engines:
+ node: ">= 0.8.0"
+ serialize-javascript@6.0.2:
+ resolution:
+ integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==
+ serve-static@1.16.0:
+ resolution:
+ integrity: sha512-pDLK8zwl2eKaYrs8mrPZBJua4hMplRWJ1tIFksVC3FtBEBnl8dxgeHtsaMS8DhS9i4fLObaon6ABoc4/hQGdPA==
+ engines:
+ node: ">= 0.8.0"
+ setprototypeof@1.2.0:
+ resolution:
+ integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
+ side-channel-list@1.0.0:
+ resolution:
+ integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==
+ engines:
+ node: ">= 0.4"
+ side-channel-map@1.0.1:
+ resolution:
+ integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==
+ engines:
+ node: ">= 0.4"
+ side-channel-weakmap@1.0.2:
+ resolution:
+ integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==
+ engines:
+ node: ">= 0.4"
+ side-channel@1.1.0:
+ resolution:
+ integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==
+ engines:
+ node: ">= 0.4"
+ sirv@2.0.4:
+ resolution:
+ integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==
+ engines:
+ node: ">= 10"
+ 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==
+ source-map@0.6.1:
+ resolution:
+ integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+ engines:
+ node: ">=0.10.0"
+ speakingurl@14.0.1:
+ resolution:
+ integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==
+ engines:
+ node: ">=0.10.0"
+ statuses@2.0.1:
+ resolution:
+ integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
+ engines:
+ node: ">= 0.8"
+ string-hash@1.1.3:
+ resolution:
+ integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==
+ strip-literal@3.1.0:
+ resolution:
+ integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==
+ superjson@2.2.6:
+ resolution:
+ integrity: sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==
+ engines:
+ node: ">=16"
+ supports-color@5.5.0:
+ resolution:
+ integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
+ engines:
+ node: ">=4"
+ supports-color@8.1.1:
+ resolution:
+ integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
+ engines:
+ node: ">=10"
+ supports-preserve-symlinks-flag@1.0.0:
+ resolution:
+ integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+ engines:
+ node: ">= 0.4"
+ systemjs@6.15.1:
+ resolution:
+ integrity: sha512-Nk8c4lXvMB98MtbmjX7JwJRgJOL8fluecYCfCeYBznwmpOs8Bf15hLM6z4z71EDAhQVrQrI+wt1aLWSXZq+hXA==
+ tapable@2.3.0:
+ resolution:
+ integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==
+ engines:
+ node: ">=6"
+ terser-webpack-plugin@5.3.16:
+ resolution:
+ integrity: sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==
+ 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
+ terser@5.46.0:
+ resolution:
+ integrity: sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==
+ engines:
+ node: ">=10"
+ hasBin: true
+ tinycolor2@1.6.0:
+ resolution:
+ integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==
+ tinyexec@1.0.2:
+ resolution:
+ integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==
+ engines:
+ node: ">=18"
+ to-fast-properties@2.0.0:
+ resolution:
+ integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
+ engines:
+ node: ">=4"
+ to-regex-range@5.0.1:
+ resolution:
+ integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+ engines:
+ node: ">=8.0"
+ toidentifier@1.0.1:
+ resolution:
+ integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
+ engines:
+ node: ">=0.6"
+ totalist@3.0.1:
+ resolution:
+ integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==
+ engines:
+ node: ">=6"
+ type-is@1.6.18:
+ resolution:
+ integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
+ engines:
+ node: ">= 0.6"
+ typescript@4.9.5:
+ resolution:
+ integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
+ engines:
+ node: ">=4.2.0"
+ hasBin: true
+ ufo@1.6.3:
+ resolution:
+ integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==
+ unconfig@0.3.13:
+ resolution:
+ integrity: sha512-N9Ph5NC4+sqtcOjPfHrRcHekBCadCXWTBzp2VYYbySOHW0PfD9XLCeXshTXjkPYwLrBr9AtSeU0CZmkYECJhng==
+ undici-types@6.21.0:
+ resolution:
+ integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==
+ unicode-canonical-property-names-ecmascript@2.0.1:
+ resolution:
+ integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==
+ engines:
+ node: ">=4"
+ unicode-match-property-ecmascript@2.0.0:
+ resolution:
+ integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==
+ engines:
+ node: ">=4"
+ unicode-match-property-value-ecmascript@2.2.1:
+ resolution:
+ integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==
+ engines:
+ node: ">=4"
+ unicode-property-aliases-ecmascript@2.2.0:
+ resolution:
+ integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==
+ engines:
+ node: ">=4"
+ unimport@4.1.1:
+ resolution:
+ integrity: sha512-j9+fijH6aDd05yv1fXlyt7HSxtOWtGtrZeYTVBsSUg57Iuf+Ps2itIZjeyu7bEQ4k0WOgYhHrdW8m/pJgOpl5g==
+ engines:
+ node: ">=18.12.0"
+ universalify@2.0.1:
+ resolution:
+ integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==
+ engines:
+ node: ">= 10.0.0"
+ unocss-preset-weapp@0.58.9:
+ resolution:
+ integrity: sha512-R3rd8kwYr1ZWUwKRz4mls4nETkPwjz1PcxdFjr1w7FeHprUFJlbko8j8W4qJGRswEfNlxc4qFBpjfITBfr/zPw==
+ unocss@0.58.9:
+ 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
+ unpipe@1.0.0:
+ resolution:
+ integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
+ engines:
+ node: ">= 0.8"
+ unplugin-attributify-to-class@0.2.5:
+ resolution:
+ integrity: sha512-0lTUi01mI19PmTTX4420QO6gJFic1wK4LqNnHeBNDrthQEKI0xw/lYg0bGnWYgPmyqXz88hAdLG+ibaypibXqg==
+ unplugin-auto-import@19.1.0:
+ resolution:
+ integrity: sha512-B+TGBEBHqY9aR+7YfShfLujETOHstzpV+yaqgy5PkfV0QG7Py+TYMX7vJ9W4SrysHR+UzR+gzcx/nuZjmPeclA==
+ engines:
+ node: ">=14"
+ peerDependencies:
+ "@nuxt/kit": ^3.2.2
+ "@vueuse/core": "*"
+ peerDependenciesMeta:
+ "@nuxt/kit":
+ optional: true
+ "@vueuse/core":
+ optional: true
+ unplugin-transform-class@0.5.3:
+ resolution:
+ integrity: sha512-4xBvfoeBDqlqi9aD0Hv3TTs8JpRs2h9l8LBMXIRXFNTf8biRk6hAQir+zEM/GpBKoMzvt7JqqbMIYzMazQZysQ==
+ unplugin-transform-class@0.6.0:
+ resolution:
+ integrity: sha512-6aYNOH6hEVbi38mc7yDQD7kEDESuLJ3FfB9/rB2vHZobK4ajDS6Jkh5EktJF4Ubkz/hQizpjZ4+XS1aMOM82yg==
+ peerDependencies:
+ "@farmfe/core": ">=1"
+ "@nuxt/kit": ^3
+ "@nuxt/schema": ^3
+ esbuild: "*"
+ rollup: ^3
+ vite: ">=3"
+ webpack: ^4 || ^5
+ peerDependenciesMeta:
+ "@farmfe/core":
+ optional: true
+ "@nuxt/kit":
+ optional: true
+ "@nuxt/schema":
+ optional: true
+ esbuild:
+ optional: true
+ rollup:
+ optional: true
+ vite:
+ optional: true
+ webpack:
+ optional: true
+ unplugin-utils@0.2.5:
+ resolution:
+ integrity: sha512-gwXJnPRewT4rT7sBi/IvxKTjsms7jX7QIDLOClApuZwR49SXbrB1z2NLUZ+vDHyqCj/n58OzRRqaW+B8OZi8vg==
+ engines:
+ node: ">=18.12.0"
+ unplugin@1.16.1:
+ resolution:
+ integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==
+ engines:
+ node: ">=14.0.0"
+ unplugin@1.7.1:
+ resolution:
+ integrity: sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw==
+ unplugin@2.3.11:
+ resolution:
+ integrity: sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==
+ engines:
+ node: ">=18.12.0"
+ unplugin@2.3.2:
+ resolution:
+ integrity: sha512-3n7YA46rROb3zSj8fFxtxC/PqoyvYQ0llwz9wtUPUutr9ig09C8gGo5CWCwHrUzlqC1LLR43kxp5vEIyH1ac1w==
+ engines:
+ node: ">=18.12.0"
+ unquote@1.1.1:
+ resolution:
+ integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==
+ update-browserslist-db@1.2.3:
+ resolution:
+ integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==
+ hasBin: true
+ peerDependencies:
+ browserslist: ">= 4.21.0"
+ 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"
+ vary@1.1.2:
+ resolution:
+ integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
+ engines:
+ node: ">= 0.8"
+ vite@5.2.8:
+ 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
+ vue-router@4.4.4:
+ resolution:
+ integrity: sha512-3MlnDqwRwZwCQVbtVfpsU+nrNymNjnXSsQtXName5925NVC1+326VVfYH9vSrA0N13teGEo8z5x7gbRnGjCDiQ==
+ peerDependencies:
+ vue: ^3.2.0
+ vue-template-compiler@2.7.16:
+ resolution:
+ integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==
+ vue-tsc@1.8.27:
+ resolution:
+ integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==
+ hasBin: true
+ peerDependencies:
+ typescript: "*"
+ vue@3.5.26:
+ resolution:
+ integrity: sha512-SJ/NTccVyAoNUJmkM9KUqPcYlY+u8OVL1X5EW9RIs3ch5H2uERxyyIUI4MRxVCSOiEcupX9xNGde1tL9ZKpimA==
+ peerDependencies:
+ typescript: "*"
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ watchpack@2.5.1:
+ resolution:
+ integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==
+ engines:
+ node: ">=10.13.0"
+ webpack-sources@3.3.3:
+ resolution:
+ integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==
+ engines:
+ node: ">=10.13.0"
+ webpack-virtual-modules@0.6.2:
+ resolution:
+ integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==
+ webpack@5.104.1:
+ resolution:
+ integrity: sha512-Qphch25abbMNtekmEGJmeRUhLDbe+QfiWTiqpKYkpCOWY64v9eyl+KRRLmqOFA2AvKPpc9DC6+u2n76tQLBoaA==
+ engines:
+ node: ">=10.13.0"
+ hasBin: true
+ peerDependencies:
+ webpack-cli: "*"
+ peerDependenciesMeta:
+ webpack-cli:
+ optional: true
+ xmlhttprequest@1.8.0:
+ resolution:
+ integrity: sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==
+ engines:
+ node: ">=0.4.0"
+ xregexp@5.1.2:
+ resolution:
+ integrity: sha512-6hGgEMCGhqCTFEJbqmWrNIPqfpdirdGWkqshu7fFZddmTSfgv5Sn9D2SaKloR79s5VUiUlpwzg3CM3G6D3VIlw==
+ yallist@3.1.1:
+ resolution:
+ integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
+ yaml@1.10.2:
+ resolution:
+ integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
+ engines:
+ node: ">= 6"
+snapshots:
+ "@ampproject/remapping@2.3.0":
+ dependencies:
+ "@jridgewell/gen-mapping": 0.3.13
+ "@jridgewell/trace-mapping": 0.3.31
+ "@antfu/install-pkg@1.1.0":
+ dependencies:
+ package-manager-detector: 1.6.0
+ tinyexec: 1.0.2
+ "@antfu/utils@0.7.10": {}
+ "@antfu/utils@8.1.1": {}
+ "@babel/code-frame@7.24.7":
+ dependencies:
+ "@babel/highlight": 7.25.9
+ picocolors: 1.1.1
+ "@babel/code-frame@7.28.6":
+ dependencies:
+ "@babel/helper-validator-identifier": 7.28.5
+ js-tokens: 4.0.0
+ picocolors: 1.1.1
+ "@babel/compat-data@7.28.6": {}
+ "@babel/core@7.25.2":
+ dependencies:
+ "@ampproject/remapping": 2.3.0
+ "@babel/code-frame": 7.28.6
+ "@babel/generator": 7.28.6
+ "@babel/helper-compilation-targets": 7.28.6
+ "@babel/helper-module-transforms": 7.28.6(@babel/core@7.25.2)
+ "@babel/helpers": 7.28.6
+ "@babel/parser": 7.28.6
+ "@babel/template": 7.28.6
+ "@babel/traverse": 7.28.6
+ "@babel/types": 7.28.6
+ convert-source-map: 2.0.0
+ debug: 4.4.3
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/generator@7.28.6":
+ dependencies:
+ "@babel/parser": 7.28.6
+ "@babel/types": 7.28.6
+ "@jridgewell/gen-mapping": 0.3.13
+ "@jridgewell/trace-mapping": 0.3.31
+ jsesc: 3.1.0
+ "@babel/helper-annotate-as-pure@7.27.3":
+ dependencies:
+ "@babel/types": 7.28.6
+ "@babel/helper-compilation-targets@7.28.6":
+ dependencies:
+ "@babel/compat-data": 7.28.6
+ "@babel/helper-validator-option": 7.27.1
+ browserslist: 4.28.1
+ lru-cache: 5.1.1
+ semver: 6.3.1
+ "@babel/helper-create-class-features-plugin@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-annotate-as-pure": 7.27.3
+ "@babel/helper-member-expression-to-functions": 7.28.5
+ "@babel/helper-optimise-call-expression": 7.27.1
+ "@babel/helper-replace-supers": 7.28.6(@babel/core@7.25.2)
+ "@babel/helper-skip-transparent-expression-wrappers": 7.27.1
+ "@babel/traverse": 7.28.6
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-annotate-as-pure": 7.27.3
+ regexpu-core: 6.4.0
+ semver: 6.3.1
+ "@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-compilation-targets": 7.28.6
+ "@babel/helper-plugin-utils": 7.28.6
+ debug: 4.4.3
+ lodash.debounce: 4.0.8
+ resolve: 1.22.11
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/helper-globals@7.28.0": {}
+ "@babel/helper-member-expression-to-functions@7.28.5":
+ dependencies:
+ "@babel/traverse": 7.28.6
+ "@babel/types": 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/helper-module-imports@7.28.6":
+ dependencies:
+ "@babel/traverse": 7.28.6
+ "@babel/types": 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/helper-module-transforms@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-module-imports": 7.28.6
+ "@babel/helper-validator-identifier": 7.28.5
+ "@babel/traverse": 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/helper-optimise-call-expression@7.27.1":
+ dependencies:
+ "@babel/types": 7.28.6
+ "@babel/helper-plugin-utils@7.28.6": {}
+ "@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-annotate-as-pure": 7.27.3
+ "@babel/helper-wrap-function": 7.28.6
+ "@babel/traverse": 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/helper-replace-supers@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-member-expression-to-functions": 7.28.5
+ "@babel/helper-optimise-call-expression": 7.27.1
+ "@babel/traverse": 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/helper-skip-transparent-expression-wrappers@7.27.1":
+ dependencies:
+ "@babel/traverse": 7.28.6
+ "@babel/types": 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/helper-string-parser@7.27.1": {}
+ "@babel/helper-validator-identifier@7.28.5": {}
+ "@babel/helper-validator-option@7.27.1": {}
+ "@babel/helper-wrap-function@7.28.6":
+ dependencies:
+ "@babel/template": 7.28.6
+ "@babel/traverse": 7.28.6
+ "@babel/types": 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/helpers@7.28.6":
+ dependencies:
+ "@babel/template": 7.28.6
+ "@babel/types": 7.28.6
+ "@babel/highlight@7.25.9":
+ dependencies:
+ "@babel/helper-validator-identifier": 7.28.5
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ picocolors: 1.1.1
+ "@babel/parser@7.25.6":
+ dependencies:
+ "@babel/types": 7.28.6
+ "@babel/parser@7.28.6":
+ dependencies:
+ "@babel/types": 7.28.6
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/traverse": 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/helper-skip-transparent-expression-wrappers": 7.27.1
+ "@babel/plugin-transform-optional-chaining": 7.28.6(@babel/core@7.25.2)
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/traverse": 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/plugin-syntax-import-assertions@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-create-regexp-features-plugin": 7.28.5(@babel/core@7.25.2)
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-async-generator-functions@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/helper-remap-async-to-generator": 7.27.1(@babel/core@7.25.2)
+ "@babel/traverse": 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/plugin-transform-async-to-generator@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-module-imports": 7.28.6
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/helper-remap-async-to-generator": 7.27.1(@babel/core@7.25.2)
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-block-scoping@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-class-properties@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-create-class-features-plugin": 7.28.6(@babel/core@7.25.2)
+ "@babel/helper-plugin-utils": 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/plugin-transform-class-static-block@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-create-class-features-plugin": 7.28.6(@babel/core@7.25.2)
+ "@babel/helper-plugin-utils": 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/plugin-transform-classes@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-annotate-as-pure": 7.27.3
+ "@babel/helper-compilation-targets": 7.28.6
+ "@babel/helper-globals": 7.28.0
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/helper-replace-supers": 7.28.6(@babel/core@7.25.2)
+ "@babel/traverse": 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/plugin-transform-computed-properties@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/template": 7.28.6
+ "@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/traverse": 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/plugin-transform-dotall-regex@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-create-regexp-features-plugin": 7.28.5(@babel/core@7.25.2)
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-create-regexp-features-plugin": 7.28.5(@babel/core@7.25.2)
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-explicit-resource-management@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-destructuring": 7.28.5(@babel/core@7.25.2)
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/plugin-transform-exponentiation-operator@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-for-of@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/helper-skip-transparent-expression-wrappers": 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/plugin-transform-function-name@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-compilation-targets": 7.28.6
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/traverse": 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/plugin-transform-json-strings@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-literals@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-logical-assignment-operators@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-module-transforms": 7.28.6(@babel/core@7.25.2)
+ "@babel/helper-plugin-utils": 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/plugin-transform-modules-commonjs@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-module-transforms": 7.28.6(@babel/core@7.25.2)
+ "@babel/helper-plugin-utils": 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/plugin-transform-modules-systemjs@7.28.5(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-module-transforms": 7.28.6(@babel/core@7.25.2)
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/helper-validator-identifier": 7.28.5
+ "@babel/traverse": 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-module-transforms": 7.28.6(@babel/core@7.25.2)
+ "@babel/helper-plugin-utils": 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-create-regexp-features-plugin": 7.28.5(@babel/core@7.25.2)
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-new-target@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-nullish-coalescing-operator@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-numeric-separator@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-object-rest-spread@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-compilation-targets": 7.28.6
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-destructuring": 7.28.5(@babel/core@7.25.2)
+ "@babel/plugin-transform-parameters": 7.27.7(@babel/core@7.25.2)
+ "@babel/traverse": 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/plugin-transform-object-super@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/helper-replace-supers": 7.28.6(@babel/core@7.25.2)
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/plugin-transform-optional-catch-binding@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-optional-chaining@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/helper-skip-transparent-expression-wrappers": 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/plugin-transform-parameters@7.27.7(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-private-methods@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-create-class-features-plugin": 7.28.6(@babel/core@7.25.2)
+ "@babel/helper-plugin-utils": 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/plugin-transform-private-property-in-object@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-annotate-as-pure": 7.27.3
+ "@babel/helper-create-class-features-plugin": 7.28.6(@babel/core@7.25.2)
+ "@babel/helper-plugin-utils": 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-regenerator@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-regexp-modifiers@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-create-regexp-features-plugin": 7.28.5(@babel/core@7.25.2)
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-spread@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/helper-skip-transparent-expression-wrappers": 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-typescript@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-annotate-as-pure": 7.27.3
+ "@babel/helper-create-class-features-plugin": 7.28.6(@babel/core@7.25.2)
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/helper-skip-transparent-expression-wrappers": 7.27.1
+ "@babel/plugin-syntax-typescript": 7.28.6(@babel/core@7.25.2)
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-unicode-property-regex@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-create-regexp-features-plugin": 7.28.5(@babel/core@7.25.2)
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-create-regexp-features-plugin": 7.28.5(@babel/core@7.25.2)
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-transform-unicode-sets-regex@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-create-regexp-features-plugin": 7.28.5(@babel/core@7.25.2)
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/preset-env@7.28.6(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/compat-data": 7.28.6
+ "@babel/core": 7.25.2
+ "@babel/helper-compilation-targets": 7.28.6
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/helper-validator-option": 7.27.1
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key": 7.28.5(@babel/core@7.25.2)
+ "@babel/plugin-bugfix-safari-class-field-initializer-scope": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-proposal-private-property-in-object": 7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2)
+ "@babel/plugin-syntax-import-assertions": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-syntax-import-attributes": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-syntax-unicode-sets-regex": 7.18.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-arrow-functions": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-transform-async-generator-functions": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-async-to-generator": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-block-scoped-functions": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-transform-block-scoping": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-class-properties": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-class-static-block": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-classes": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-computed-properties": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-destructuring": 7.28.5(@babel/core@7.25.2)
+ "@babel/plugin-transform-dotall-regex": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-duplicate-keys": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-transform-duplicate-named-capturing-groups-regex": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-dynamic-import": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-transform-explicit-resource-management": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-exponentiation-operator": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-export-namespace-from": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-transform-for-of": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-transform-function-name": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-transform-json-strings": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-literals": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-transform-logical-assignment-operators": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-member-expression-literals": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-transform-modules-amd": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-transform-modules-commonjs": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-modules-systemjs": 7.28.5(@babel/core@7.25.2)
+ "@babel/plugin-transform-modules-umd": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-transform-named-capturing-groups-regex": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-transform-new-target": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-transform-nullish-coalescing-operator": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-numeric-separator": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-object-rest-spread": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-object-super": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-transform-optional-catch-binding": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-optional-chaining": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-parameters": 7.27.7(@babel/core@7.25.2)
+ "@babel/plugin-transform-private-methods": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-private-property-in-object": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-property-literals": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-transform-regenerator": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-regexp-modifiers": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-reserved-words": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-transform-shorthand-properties": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-transform-spread": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-sticky-regex": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-transform-template-literals": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-transform-typeof-symbol": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-transform-unicode-escapes": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-transform-unicode-property-regex": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-unicode-regex": 7.27.1(@babel/core@7.25.2)
+ "@babel/plugin-transform-unicode-sets-regex": 7.28.6(@babel/core@7.25.2)
+ "@babel/preset-modules": 0.1.6-no-external-plugins(@babel/core@7.25.2)
+ babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.25.2)
+ babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.25.2)
+ babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.25.2)
+ core-js-compat: 3.47.0
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/types": 7.28.6
+ esutils: 2.0.3
+ "@babel/preset-typescript@7.28.5(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/helper-validator-option": 7.27.1
+ "@babel/plugin-syntax-jsx": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-modules-commonjs": 7.28.6(@babel/core@7.25.2)
+ "@babel/plugin-transform-typescript": 7.28.6(@babel/core@7.25.2)
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/runtime-corejs3@7.29.2":
+ dependencies:
+ core-js-pure: 3.49.0
+ "@babel/template@7.28.6":
+ dependencies:
+ "@babel/code-frame": 7.28.6
+ "@babel/parser": 7.28.6
+ "@babel/types": 7.28.6
+ "@babel/traverse@7.28.6":
+ dependencies:
+ "@babel/code-frame": 7.28.6
+ "@babel/generator": 7.28.6
+ "@babel/helper-globals": 7.28.0
+ "@babel/parser": 7.28.6
+ "@babel/template": 7.28.6
+ "@babel/types": 7.28.6
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+ "@babel/types@7.25.6":
+ dependencies:
+ "@babel/helper-string-parser": 7.27.1
+ "@babel/helper-validator-identifier": 7.28.5
+ to-fast-properties: 2.0.0
+ "@babel/types@7.28.6":
+ dependencies:
+ "@babel/helper-string-parser": 7.27.1
+ "@babel/helper-validator-identifier": 7.28.5
+ "@dcloudio/types@3.4.28": {}
+ "@dcloudio/uni-app@3.0.0-5000720260410001(@dcloudio/types@3.4.28)(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))":
+ dependencies:
+ "@dcloudio/types": 3.4.28
+ "@dcloudio/uni-cloud": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))
+ "@dcloudio/uni-components": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))
+ "@dcloudio/uni-console": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))
+ "@dcloudio/uni-i18n": 3.0.0-5000720260410001
+ "@dcloudio/uni-push": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))
+ "@dcloudio/uni-shared": 3.0.0-5000720260410001
+ "@dcloudio/uni-stat": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))
+ "@vue/shared": 3.4.21
+ transitivePeerDependencies:
+ - "@nuxt/kit"
+ - "@vueuse/core"
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ "@dcloudio/uni-cli-shared@3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))":
+ dependencies:
+ "@ampproject/remapping": 2.3.0
+ "@babel/code-frame": 7.24.7
+ "@babel/core": 7.25.2
+ "@babel/parser": 7.25.6
+ "@babel/types": 7.25.6
+ "@dcloudio/uni-i18n": 3.0.0-5000720260410001
+ "@dcloudio/uni-nvue-styler": 3.0.0-5000720260410001
+ "@dcloudio/uni-shared": 3.0.0-5000720260410001
+ "@intlify/core-base": 9.1.9
+ "@intlify/shared": 9.1.9
+ "@intlify/vue-devtools": 9.1.9
+ "@rollup/pluginutils": 5.1.0
+ "@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.26(typescript@4.9.5))
+ "@vue/shared": 3.4.21
+ adm-zip: 0.5.16
+ autoprefixer: 10.4.20(postcss@8.5.6)
+ base64url: 3.0.1
+ chokidar: 3.6.0
+ compare-versions: 3.6.0
+ debug: 4.3.7
+ entities: 7.0.0
+ es-module-lexer: 1.5.4
+ esbuild: 0.20.2
+ estree-walker: 2.0.2
+ fast-glob: 3.3.3
+ fs-extra: 10.1.0
+ hash-sum: 2.0.0
+ isbinaryfile: 5.0.2
+ jsonc-parser: 3.3.1
+ lines-and-columns: 2.0.4
+ magic-string: 0.30.11
+ 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.0
+ postcss-import: 14.1.0(postcss@8.5.6)
+ postcss-load-config: 3.1.4(postcss@8.5.6)
+ postcss-modules: 4.3.1(postcss@8.5.6)
+ postcss-selector-parser: 6.1.2
+ resolve: 1.22.8
+ source-map-js: 1.2.1
+ tapable: 2.3.0
+ tinycolor2: 1.6.0
+ unimport: 4.1.1
+ unplugin-auto-import: 19.1.0
+ xregexp: 5.1.2
+ transitivePeerDependencies:
+ - "@nuxt/kit"
+ - "@vueuse/core"
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ "@dcloudio/uni-cloud@3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))":
+ dependencies:
+ "@dcloudio/uni-cli-shared": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))
+ "@dcloudio/uni-i18n": 3.0.0-5000720260410001
+ "@dcloudio/uni-shared": 3.0.0-5000720260410001
+ "@vue/shared": 3.4.21
+ fast-glob: 3.3.3
+ transitivePeerDependencies:
+ - "@nuxt/kit"
+ - "@vueuse/core"
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ "@dcloudio/uni-components@3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))":
+ dependencies:
+ "@dcloudio/uni-cloud": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))
+ "@dcloudio/uni-h5": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))
+ "@dcloudio/uni-i18n": 3.0.0-5000720260410001
+ transitivePeerDependencies:
+ - "@nuxt/kit"
+ - "@vueuse/core"
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ "@dcloudio/uni-console@3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))":
+ dependencies:
+ "@dcloudio/uni-cli-shared": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))
+ fs-extra: 10.1.0
+ transitivePeerDependencies:
+ - "@nuxt/kit"
+ - "@vueuse/core"
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ "@dcloudio/uni-h5-vite@3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))":
+ dependencies:
+ "@dcloudio/uni-cli-shared": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))
+ "@dcloudio/uni-shared": 3.0.0-5000720260410001
+ "@rollup/pluginutils": 5.1.0
+ "@vue/compiler-dom": 3.4.21
+ "@vue/compiler-sfc": 3.4.21
+ "@vue/server-renderer": 3.4.21(vue@3.5.26(typescript@4.9.5))
+ "@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
+ "@dcloudio/uni-h5-vue@3.0.0-5000720260410001(vue@3.5.26(typescript@4.9.5))":
+ dependencies:
+ "@dcloudio/uni-shared": 3.0.0-5000720260410001
+ "@vue/server-renderer": 3.4.21(vue@3.5.26(typescript@4.9.5))
+ transitivePeerDependencies:
+ - vue
+ "@dcloudio/uni-h5@3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))":
+ dependencies:
+ "@dcloudio/uni-h5-vite": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))
+ "@dcloudio/uni-h5-vue": 3.0.0-5000720260410001(vue@3.5.26(typescript@4.9.5))
+ "@dcloudio/uni-i18n": 3.0.0-5000720260410001
+ "@dcloudio/uni-shared": 3.0.0-5000720260410001
+ "@vue/server-renderer": 3.4.21(vue@3.5.26(typescript@4.9.5))
+ "@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.4(vue@3.5.26(typescript@4.9.5))
+ xmlhttprequest: 1.8.0
+ transitivePeerDependencies:
+ - "@nuxt/kit"
+ - "@vueuse/core"
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ "@dcloudio/uni-i18n@3.0.0-5000720260410001": {}
+ "@dcloudio/uni-nvue-styler@3.0.0-5000720260410001":
+ dependencies:
+ "@vue/shared": 3.4.21
+ parse-css-font: 4.0.0
+ postcss: 8.4.45
+ tinycolor2: 1.6.0
+ "@dcloudio/uni-push@3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))":
+ dependencies:
+ "@dcloudio/uni-cli-shared": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))
+ transitivePeerDependencies:
+ - "@nuxt/kit"
+ - "@vueuse/core"
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ "@dcloudio/uni-shared@3.0.0-5000720260410001":
+ dependencies:
+ "@vue/shared": 3.4.21
+ "@dcloudio/uni-stat@3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))":
+ dependencies:
+ "@dcloudio/uni-cli-shared": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))
+ "@dcloudio/uni-shared": 3.0.0-5000720260410001
+ debug: 4.3.7
+ transitivePeerDependencies:
+ - "@nuxt/kit"
+ - "@vueuse/core"
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ "@dcloudio/vite-plugin-uni@3.0.0-5000720260410001(postcss@8.5.6)(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))(vue@3.5.26(typescript@4.9.5))":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/plugin-syntax-import-meta": 7.10.4(@babel/core@7.25.2)
+ "@babel/plugin-transform-typescript": 7.28.6(@babel/core@7.25.2)
+ "@dcloudio/uni-cli-shared": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))
+ "@dcloudio/uni-nvue-styler": 3.0.0-5000720260410001
+ "@dcloudio/uni-shared": 3.0.0-5000720260410001
+ "@rollup/pluginutils": 5.1.0
+ "@vitejs/plugin-legacy": 5.3.2(terser@5.46.0)(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))
+ "@vitejs/plugin-vue": 5.2.4(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))(vue@3.5.26(typescript@4.9.5))
+ "@vitejs/plugin-vue-jsx": 3.1.0(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))(vue@3.5.26(typescript@4.9.5))
+ "@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.20.0
+ fast-glob: 3.3.3
+ fs-extra: 10.1.0
+ hash-sum: 2.0.0
+ jsonc-parser: 3.3.1
+ magic-string: 0.30.11
+ picocolors: 1.1.0
+ terser: 5.46.0
+ unplugin-auto-import: 19.1.0
+ vite: 5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0)
+ transitivePeerDependencies:
+ - "@nuxt/kit"
+ - "@vueuse/core"
+ - postcss
+ - rollup
+ - supports-color
+ - ts-node
+ - vue
+ "@esbuild/aix-ppc64@0.20.2":
+ optional: true
+ "@esbuild/android-arm64@0.20.2":
+ optional: true
+ "@esbuild/android-arm@0.20.2":
+ optional: true
+ "@esbuild/android-x64@0.20.2":
+ optional: true
+ "@esbuild/darwin-arm64@0.20.2":
+ optional: true
+ "@esbuild/darwin-x64@0.20.2":
+ optional: true
+ "@esbuild/freebsd-arm64@0.20.2":
+ optional: true
+ "@esbuild/freebsd-x64@0.20.2":
+ optional: true
+ "@esbuild/linux-arm64@0.20.2":
+ optional: true
+ "@esbuild/linux-arm@0.20.2":
+ optional: true
+ "@esbuild/linux-ia32@0.20.2":
+ optional: true
+ "@esbuild/linux-loong64@0.20.2":
+ optional: true
+ "@esbuild/linux-mips64el@0.20.2":
+ optional: true
+ "@esbuild/linux-ppc64@0.20.2":
+ optional: true
+ "@esbuild/linux-riscv64@0.20.2":
+ optional: true
+ "@esbuild/linux-s390x@0.20.2":
+ optional: true
+ "@esbuild/linux-x64@0.20.2":
+ optional: true
+ "@esbuild/netbsd-x64@0.20.2":
+ optional: true
+ "@esbuild/openbsd-x64@0.20.2":
+ optional: true
+ "@esbuild/sunos-x64@0.20.2":
+ optional: true
+ "@esbuild/win32-arm64@0.20.2":
+ optional: true
+ "@esbuild/win32-ia32@0.20.2":
+ optional: true
+ "@esbuild/win32-x64@0.20.2":
+ optional: true
+ "@iconify/types@2.0.0": {}
+ "@iconify/utils@2.3.0":
+ dependencies:
+ "@antfu/install-pkg": 1.1.0
+ "@antfu/utils": 8.1.1
+ "@iconify/types": 2.0.0
+ debug: 4.4.3
+ globals: 15.15.0
+ kolorist: 1.8.0
+ local-pkg: 1.1.2
+ mlly: 1.8.0
+ transitivePeerDependencies:
+ - supports-color
+ "@intlify/core-base@9.1.9":
+ 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/devtools-if@9.1.9":
+ dependencies:
+ "@intlify/shared": 9.1.9
+ "@intlify/message-compiler@9.1.9":
+ dependencies:
+ "@intlify/message-resolver": 9.1.9
+ "@intlify/shared": 9.1.9
+ source-map: 0.6.1
+ "@intlify/message-resolver@9.1.9": {}
+ "@intlify/runtime@9.1.9":
+ dependencies:
+ "@intlify/message-compiler": 9.1.9
+ "@intlify/message-resolver": 9.1.9
+ "@intlify/shared": 9.1.9
+ "@intlify/shared@9.1.9": {}
+ "@intlify/vue-devtools@9.1.9":
+ dependencies:
+ "@intlify/message-resolver": 9.1.9
+ "@intlify/runtime": 9.1.9
+ "@intlify/shared": 9.1.9
+ "@jridgewell/gen-mapping@0.3.13":
+ dependencies:
+ "@jridgewell/sourcemap-codec": 1.5.5
+ "@jridgewell/trace-mapping": 0.3.31
+ "@jridgewell/remapping@2.3.5":
+ dependencies:
+ "@jridgewell/gen-mapping": 0.3.13
+ "@jridgewell/trace-mapping": 0.3.31
+ "@jridgewell/resolve-uri@3.1.2": {}
+ "@jridgewell/source-map@0.3.11":
+ dependencies:
+ "@jridgewell/gen-mapping": 0.3.13
+ "@jridgewell/trace-mapping": 0.3.31
+ "@jridgewell/sourcemap-codec@1.5.5": {}
+ "@jridgewell/trace-mapping@0.3.31":
+ dependencies:
+ "@jridgewell/resolve-uri": 3.1.2
+ "@jridgewell/sourcemap-codec": 1.5.5
+ "@meoc/utils@0.2.10":
+ dependencies:
+ dayjs: 1.11.19
+ "@nodelib/fs.scandir@2.1.5":
+ dependencies:
+ "@nodelib/fs.stat": 2.0.5
+ run-parallel: 1.2.0
+ "@nodelib/fs.stat@2.0.5": {}
+ "@nodelib/fs.walk@1.2.8":
+ dependencies:
+ "@nodelib/fs.scandir": 2.1.5
+ fastq: 1.20.1
+ "@polka/url@1.0.0-next.29": {}
+ "@rollup/pluginutils@5.1.0":
+ dependencies:
+ "@types/estree": 1.0.8
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ "@rollup/pluginutils@5.3.0":
+ dependencies:
+ "@types/estree": 1.0.8
+ estree-walker: 2.0.2
+ picomatch: 4.0.3
+ "@rollup/rollup-android-arm-eabi@4.55.1":
+ optional: true
+ "@rollup/rollup-android-arm64@4.55.1":
+ optional: true
+ "@rollup/rollup-darwin-arm64@4.55.1":
+ optional: true
+ "@rollup/rollup-darwin-x64@4.55.1":
+ optional: true
+ "@rollup/rollup-freebsd-arm64@4.55.1":
+ optional: true
+ "@rollup/rollup-freebsd-x64@4.55.1":
+ optional: true
+ "@rollup/rollup-linux-arm-gnueabihf@4.55.1":
+ optional: true
+ "@rollup/rollup-linux-arm-musleabihf@4.55.1":
+ optional: true
+ "@rollup/rollup-linux-arm64-gnu@4.55.1":
+ optional: true
+ "@rollup/rollup-linux-arm64-musl@4.55.1":
+ optional: true
+ "@rollup/rollup-linux-loong64-gnu@4.55.1":
+ optional: true
+ "@rollup/rollup-linux-loong64-musl@4.55.1":
+ optional: true
+ "@rollup/rollup-linux-ppc64-gnu@4.55.1":
+ optional: true
+ "@rollup/rollup-linux-ppc64-musl@4.55.1":
+ optional: true
+ "@rollup/rollup-linux-riscv64-gnu@4.55.1":
+ optional: true
+ "@rollup/rollup-linux-riscv64-musl@4.55.1":
+ optional: true
+ "@rollup/rollup-linux-s390x-gnu@4.55.1":
+ optional: true
+ "@rollup/rollup-linux-x64-gnu@4.55.1":
+ optional: true
+ "@rollup/rollup-linux-x64-musl@4.55.1":
+ optional: true
+ "@rollup/rollup-openbsd-x64@4.55.1":
+ optional: true
+ "@rollup/rollup-openharmony-arm64@4.55.1":
+ optional: true
+ "@rollup/rollup-win32-arm64-msvc@4.55.1":
+ optional: true
+ "@rollup/rollup-win32-ia32-msvc@4.55.1":
+ optional: true
+ "@rollup/rollup-win32-x64-gnu@4.55.1":
+ optional: true
+ "@rollup/rollup-win32-x64-msvc@4.55.1":
+ optional: true
+ "@types/eslint-scope@3.7.7":
+ dependencies:
+ "@types/eslint": 9.6.1
+ "@types/estree": 1.0.8
+ "@types/eslint@9.6.1":
+ dependencies:
+ "@types/estree": 1.0.8
+ "@types/json-schema": 7.0.15
+ "@types/estree@1.0.8": {}
+ "@types/json-schema@7.0.15": {}
+ "@types/node@20.19.30":
+ dependencies:
+ undici-types: 6.21.0
+ "@unocss/astro@0.58.9(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))":
+ dependencies:
+ "@unocss/core": 0.58.9
+ "@unocss/reset": 0.58.9
+ "@unocss/vite": 0.58.9(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))
+ optionalDependencies:
+ vite: 5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0)
+ transitivePeerDependencies:
+ - rollup
+ "@unocss/cli@0.58.9":
+ dependencies:
+ "@ampproject/remapping": 2.3.0
+ "@rollup/pluginutils": 5.3.0
+ "@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.4.2
+ fast-glob: 3.3.3
+ magic-string: 0.30.21
+ pathe: 1.1.2
+ perfect-debounce: 1.0.0
+ transitivePeerDependencies:
+ - rollup
+ "@unocss/config@0.58.9":
+ dependencies:
+ "@unocss/core": 0.58.9
+ unconfig: 0.3.13
+ "@unocss/core@0.58.9": {}
+ "@unocss/extractor-arbitrary-variants@0.58.9":
+ dependencies:
+ "@unocss/core": 0.58.9
+ "@unocss/inspector@0.58.9":
+ dependencies:
+ "@unocss/core": 0.58.9
+ "@unocss/rule-utils": 0.58.9
+ gzip-size: 6.0.0
+ sirv: 2.0.4
+ "@unocss/postcss@0.58.9(postcss@8.5.6)":
+ 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.3
+ magic-string: 0.30.21
+ postcss: 8.5.6
+ "@unocss/preset-attributify@0.58.9":
+ dependencies:
+ "@unocss/core": 0.58.9
+ "@unocss/preset-icons@0.58.9":
+ dependencies:
+ "@iconify/utils": 2.3.0
+ "@unocss/core": 0.58.9
+ ofetch: 1.5.1
+ transitivePeerDependencies:
+ - supports-color
+ "@unocss/preset-mini@0.58.9":
+ dependencies:
+ "@unocss/core": 0.58.9
+ "@unocss/extractor-arbitrary-variants": 0.58.9
+ "@unocss/rule-utils": 0.58.9
+ "@unocss/preset-tagify@0.58.9":
+ dependencies:
+ "@unocss/core": 0.58.9
+ "@unocss/preset-typography@0.58.9":
+ dependencies:
+ "@unocss/core": 0.58.9
+ "@unocss/preset-mini": 0.58.9
+ "@unocss/preset-uno@0.58.9":
+ dependencies:
+ "@unocss/core": 0.58.9
+ "@unocss/preset-mini": 0.58.9
+ "@unocss/preset-wind": 0.58.9
+ "@unocss/rule-utils": 0.58.9
+ "@unocss/preset-web-fonts@0.58.9":
+ dependencies:
+ "@unocss/core": 0.58.9
+ ofetch: 1.5.1
+ "@unocss/preset-wind@0.58.9":
+ dependencies:
+ "@unocss/core": 0.58.9
+ "@unocss/preset-mini": 0.58.9
+ "@unocss/rule-utils": 0.58.9
+ "@unocss/reset@0.58.9": {}
+ "@unocss/rule-utils@0.58.9":
+ dependencies:
+ "@unocss/core": 0.58.9
+ magic-string: 0.30.21
+ "@unocss/scope@0.58.9": {}
+ "@unocss/transformer-attributify-jsx-babel@0.58.9":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/plugin-syntax-jsx": 7.28.6(@babel/core@7.25.2)
+ "@babel/preset-typescript": 7.28.5(@babel/core@7.25.2)
+ "@unocss/core": 0.58.9
+ transitivePeerDependencies:
+ - supports-color
+ "@unocss/transformer-attributify-jsx@0.58.9":
+ dependencies:
+ "@unocss/core": 0.58.9
+ "@unocss/transformer-compile-class@0.58.9":
+ dependencies:
+ "@unocss/core": 0.58.9
+ "@unocss/transformer-directives@0.58.9":
+ dependencies:
+ "@unocss/core": 0.58.9
+ "@unocss/rule-utils": 0.58.9
+ css-tree: 2.3.1
+ "@unocss/transformer-variant-group@0.58.9":
+ dependencies:
+ "@unocss/core": 0.58.9
+ "@unocss/vite@0.58.9(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))":
+ dependencies:
+ "@ampproject/remapping": 2.3.0
+ "@rollup/pluginutils": 5.3.0
+ "@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.3
+ magic-string: 0.30.21
+ vite: 5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0)
+ transitivePeerDependencies:
+ - rollup
+ "@vitejs/plugin-legacy@5.3.2(terser@5.46.0)(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/preset-env": 7.28.6(@babel/core@7.25.2)
+ browserslist: 4.28.1
+ browserslist-to-esbuild: 2.1.1(browserslist@4.28.1)
+ core-js: 3.47.0
+ magic-string: 0.30.21
+ regenerator-runtime: 0.14.1
+ systemjs: 6.15.1
+ terser: 5.46.0
+ vite: 5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0)
+ transitivePeerDependencies:
+ - supports-color
+ "@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))(vue@3.5.26(typescript@4.9.5))":
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/plugin-transform-typescript": 7.28.6(@babel/core@7.25.2)
+ "@vue/babel-plugin-jsx": 1.5.0(@babel/core@7.25.2)
+ vite: 5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0)
+ vue: 3.5.26(typescript@4.9.5)
+ transitivePeerDependencies:
+ - supports-color
+ "@vitejs/plugin-vue@5.2.4(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))(vue@3.5.26(typescript@4.9.5))":
+ dependencies:
+ vite: 5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0)
+ vue: 3.5.26(typescript@4.9.5)
+ "@volar/language-core@1.11.1":
+ dependencies:
+ "@volar/source-map": 1.11.1
+ "@volar/source-map@1.11.1":
+ dependencies:
+ muggle-string: 0.3.1
+ "@volar/typescript@1.11.1":
+ dependencies:
+ "@volar/language-core": 1.11.1
+ path-browserify: 1.0.1
+ "@vue/babel-helper-vue-transform-on@1.5.0": {}
+ "@vue/babel-plugin-jsx@1.5.0(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/helper-module-imports": 7.28.6
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/plugin-syntax-jsx": 7.28.6(@babel/core@7.25.2)
+ "@babel/template": 7.28.6
+ "@babel/traverse": 7.28.6
+ "@babel/types": 7.28.6
+ "@vue/babel-helper-vue-transform-on": 1.5.0
+ "@vue/babel-plugin-resolve-type": 1.5.0(@babel/core@7.25.2)
+ "@vue/shared": 3.5.32
+ optionalDependencies:
+ "@babel/core": 7.25.2
+ transitivePeerDependencies:
+ - supports-color
+ "@vue/babel-plugin-resolve-type@1.5.0(@babel/core@7.25.2)":
+ dependencies:
+ "@babel/code-frame": 7.28.6
+ "@babel/core": 7.25.2
+ "@babel/helper-module-imports": 7.28.6
+ "@babel/helper-plugin-utils": 7.28.6
+ "@babel/parser": 7.28.6
+ "@vue/compiler-sfc": 3.5.26
+ transitivePeerDependencies:
+ - supports-color
+ "@vue/compiler-core@3.4.21":
+ dependencies:
+ "@babel/parser": 7.28.6
+ "@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.26":
+ dependencies:
+ "@babel/parser": 7.28.6
+ "@vue/shared": 3.5.26
+ entities: 7.0.0
+ estree-walker: 2.0.2
+ source-map-js: 1.2.1
+ "@vue/compiler-dom@3.4.21":
+ dependencies:
+ "@vue/compiler-core": 3.4.21
+ "@vue/shared": 3.4.21
+ "@vue/compiler-dom@3.5.26":
+ dependencies:
+ "@vue/compiler-core": 3.5.26
+ "@vue/shared": 3.5.26
+ "@vue/compiler-sfc@3.4.21":
+ dependencies:
+ "@babel/parser": 7.28.6
+ "@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.21
+ postcss: 8.5.6
+ source-map-js: 1.2.1
+ "@vue/compiler-sfc@3.5.26":
+ dependencies:
+ "@babel/parser": 7.28.6
+ "@vue/compiler-core": 3.5.26
+ "@vue/compiler-dom": 3.5.26
+ "@vue/compiler-ssr": 3.5.26
+ "@vue/shared": 3.5.26
+ estree-walker: 2.0.2
+ magic-string: 0.30.21
+ postcss: 8.5.6
+ source-map-js: 1.2.1
+ "@vue/compiler-ssr@3.4.21":
+ dependencies:
+ "@vue/compiler-dom": 3.4.21
+ "@vue/shared": 3.4.21
+ "@vue/compiler-ssr@3.5.26":
+ dependencies:
+ "@vue/compiler-dom": 3.5.26
+ "@vue/shared": 3.5.26
+ "@vue/devtools-api@6.6.4": {}
+ "@vue/devtools-api@7.7.9":
+ dependencies:
+ "@vue/devtools-kit": 7.7.9
+ "@vue/devtools-kit@7.7.9":
+ dependencies:
+ "@vue/devtools-shared": 7.7.9
+ birpc: 2.9.0
+ hookable: 5.5.3
+ mitt: 3.0.1
+ perfect-debounce: 1.0.0
+ speakingurl: 14.0.1
+ superjson: 2.2.6
+ "@vue/devtools-shared@7.7.9":
+ dependencies:
+ rfdc: 1.4.1
+ "@vue/language-core@1.8.27(typescript@4.9.5)":
+ dependencies:
+ "@volar/language-core": 1.11.1
+ "@volar/source-map": 1.11.1
+ "@vue/compiler-dom": 3.5.26
+ "@vue/shared": 3.5.32
+ computeds: 0.0.1
+ minimatch: 9.0.5
+ muggle-string: 0.3.1
+ path-browserify: 1.0.1
+ vue-template-compiler: 2.7.16
+ optionalDependencies:
+ typescript: 4.9.5
+ "@vue/reactivity@3.5.26":
+ dependencies:
+ "@vue/shared": 3.5.26
+ "@vue/runtime-core@3.5.26":
+ dependencies:
+ "@vue/reactivity": 3.5.26
+ "@vue/shared": 3.5.26
+ "@vue/runtime-dom@3.5.26":
+ dependencies:
+ "@vue/reactivity": 3.5.26
+ "@vue/runtime-core": 3.5.26
+ "@vue/shared": 3.5.26
+ csstype: 3.2.3
+ "@vue/server-renderer@3.4.21(vue@3.5.26(typescript@4.9.5))":
+ dependencies:
+ "@vue/compiler-ssr": 3.4.21
+ "@vue/shared": 3.4.21
+ vue: 3.5.26(typescript@4.9.5)
+ "@vue/server-renderer@3.5.26(vue@3.5.26(typescript@4.9.5))":
+ dependencies:
+ "@vue/compiler-ssr": 3.5.26
+ "@vue/shared": 3.5.26
+ vue: 3.5.26(typescript@4.9.5)
+ "@vue/shared@3.4.21": {}
+ "@vue/shared@3.5.26": {}
+ "@vue/shared@3.5.32": {}
+ "@webassemblyjs/ast@1.14.1":
+ dependencies:
+ "@webassemblyjs/helper-numbers": 1.13.2
+ "@webassemblyjs/helper-wasm-bytecode": 1.13.2
+ "@webassemblyjs/floating-point-hex-parser@1.13.2": {}
+ "@webassemblyjs/helper-api-error@1.13.2": {}
+ "@webassemblyjs/helper-buffer@1.14.1": {}
+ "@webassemblyjs/helper-numbers@1.13.2":
+ dependencies:
+ "@webassemblyjs/floating-point-hex-parser": 1.13.2
+ "@webassemblyjs/helper-api-error": 1.13.2
+ "@xtuc/long": 4.2.2
+ "@webassemblyjs/helper-wasm-bytecode@1.13.2": {}
+ "@webassemblyjs/helper-wasm-section@1.14.1":
+ 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
+ "@webassemblyjs/ieee754@1.13.2":
+ dependencies:
+ "@xtuc/ieee754": 1.2.0
+ "@webassemblyjs/leb128@1.13.2":
+ dependencies:
+ "@xtuc/long": 4.2.2
+ "@webassemblyjs/utf8@1.13.2": {}
+ "@webassemblyjs/wasm-edit@1.14.1":
+ 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
+ "@webassemblyjs/wasm-gen@1.14.1":
+ 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
+ "@webassemblyjs/wasm-opt@1.14.1":
+ dependencies:
+ "@webassemblyjs/ast": 1.14.1
+ "@webassemblyjs/helper-buffer": 1.14.1
+ "@webassemblyjs/wasm-gen": 1.14.1
+ "@webassemblyjs/wasm-parser": 1.14.1
+ "@webassemblyjs/wasm-parser@1.14.1":
+ 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
+ "@webassemblyjs/wast-printer@1.14.1":
+ dependencies:
+ "@webassemblyjs/ast": 1.14.1
+ "@xtuc/long": 4.2.2
+ "@xtuc/ieee754@1.2.0": {}
+ "@xtuc/long@4.2.2": {}
+ accepts@1.3.8:
+ dependencies:
+ mime-types: 2.1.35
+ negotiator: 0.6.3
+ acorn-import-phases@1.0.4(acorn@8.15.0):
+ dependencies:
+ acorn: 8.15.0
+ acorn@8.15.0: {}
+ adm-zip@0.5.16: {}
+ ajv-formats@2.1.1(ajv@8.17.1):
+ optionalDependencies:
+ ajv: 8.17.1
+ ajv-keywords@5.1.0(ajv@8.17.1):
+ dependencies:
+ ajv: 8.17.1
+ fast-deep-equal: 3.1.3
+ ajv@8.17.1:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-uri: 3.1.0
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
+ ansi-styles@3.2.1:
+ dependencies:
+ color-convert: 1.9.3
+ anymatch@3.1.3:
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+ array-flatten@1.1.1: {}
+ autoprefixer@10.4.20(postcss@8.5.6):
+ dependencies:
+ browserslist: 4.28.1
+ caniuse-lite: 1.0.30001764
+ fraction.js: 4.3.7
+ normalize-range: 0.1.2
+ picocolors: 1.1.1
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+ babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.25.2):
+ dependencies:
+ "@babel/compat-data": 7.28.6
+ "@babel/core": 7.25.2
+ "@babel/helper-define-polyfill-provider": 0.6.5(@babel/core@7.25.2)
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.25.2):
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-define-polyfill-provider": 0.6.5(@babel/core@7.25.2)
+ core-js-compat: 3.47.0
+ transitivePeerDependencies:
+ - supports-color
+ babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.25.2):
+ dependencies:
+ "@babel/core": 7.25.2
+ "@babel/helper-define-polyfill-provider": 0.6.5(@babel/core@7.25.2)
+ transitivePeerDependencies:
+ - supports-color
+ balanced-match@1.0.2: {}
+ base64url@3.0.1: {}
+ baseline-browser-mapping@2.9.15: {}
+ binary-extensions@2.3.0: {}
+ birpc@2.9.0: {}
+ body-parser@1.20.3:
+ 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
+ brace-expansion@2.0.2:
+ dependencies:
+ balanced-match: 1.0.2
+ braces@3.0.3:
+ dependencies:
+ fill-range: 7.1.1
+ browserslist-to-esbuild@2.1.1(browserslist@4.28.1):
+ dependencies:
+ browserslist: 4.28.1
+ meow: 13.2.0
+ browserslist@4.28.1:
+ dependencies:
+ baseline-browser-mapping: 2.9.15
+ caniuse-lite: 1.0.30001764
+ electron-to-chromium: 1.5.267
+ node-releases: 2.0.27
+ update-browserslist-db: 1.2.3(browserslist@4.28.1)
+ buffer-from@1.1.2: {}
+ bytes@3.1.2: {}
+ cac@6.7.14: {}
+ cac@6.7.9: {}
+ call-bind-apply-helpers@1.0.2:
+ dependencies:
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ call-bound@1.0.4:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ get-intrinsic: 1.3.0
+ caniuse-lite@1.0.30001764: {}
+ chalk@2.4.2:
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+ chokidar@3.6.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: {}
+ color-convert@1.9.3:
+ dependencies:
+ color-name: 1.1.3
+ color-name@1.1.3: {}
+ colorette@2.0.20: {}
+ commander@2.20.3: {}
+ compare-versions@3.6.0: {}
+ computeds@0.0.1: {}
+ confbox@0.1.8: {}
+ confbox@0.2.2: {}
+ consola@3.4.2: {}
+ content-disposition@0.5.4:
+ dependencies:
+ safe-buffer: 5.2.1
+ content-type@1.0.5: {}
+ convert-source-map@2.0.0: {}
+ cookie-signature@1.0.6: {}
+ cookie@0.6.0: {}
+ copy-anything@4.0.5:
+ dependencies:
+ is-what: 5.5.0
+ core-js-compat@3.47.0:
+ dependencies:
+ browserslist: 4.28.1
+ core-js-pure@3.49.0: {}
+ core-js@3.47.0: {}
+ 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: {}
+ css-tree@2.3.1:
+ dependencies:
+ mdn-data: 2.0.30
+ source-map-js: 1.2.1
+ cssesc@3.0.0: {}
+ csstype@3.2.3: {}
+ dayjs@1.11.19: {}
+ de-indent@1.0.2: {}
+ debug@2.6.9:
+ dependencies:
+ ms: 2.0.0
+ debug@4.3.7:
+ dependencies:
+ ms: 2.1.3
+ debug@4.4.3:
+ dependencies:
+ ms: 2.1.3
+ defu@6.1.4: {}
+ depd@2.0.0: {}
+ destr@2.0.5: {}
+ destroy@1.2.0: {}
+ dunder-proto@1.0.1:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-errors: 1.3.0
+ gopd: 1.2.0
+ duplexer@0.1.2: {}
+ ee-first@1.1.1: {}
+ electron-to-chromium@1.5.267: {}
+ encodeurl@1.0.2: {}
+ encodeurl@2.0.0: {}
+ enhanced-resolve@5.18.4:
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.3.0
+ entities@4.5.0: {}
+ entities@7.0.0: {}
+ es-define-property@1.0.1: {}
+ es-errors@1.3.0: {}
+ es-module-lexer@1.5.4: {}
+ es-module-lexer@2.0.0: {}
+ es-object-atoms@1.1.1:
+ dependencies:
+ es-errors: 1.3.0
+ esbuild@0.20.2:
+ 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: {}
+ escape-html@1.0.3: {}
+ escape-string-regexp@1.0.5: {}
+ escape-string-regexp@5.0.0: {}
+ eslint-scope@5.1.1:
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 4.3.0
+ esrecurse@4.3.0:
+ dependencies:
+ estraverse: 5.3.0
+ estraverse@4.3.0: {}
+ estraverse@5.3.0: {}
+ estree-walker@2.0.2: {}
+ estree-walker@3.0.3:
+ dependencies:
+ "@types/estree": 1.0.8
+ esutils@2.0.3: {}
+ etag@1.8.1: {}
+ events@3.3.0: {}
+ express@4.20.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.6.0
+ 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.2.0
+ 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.11.0
+ range-parser: 1.2.1
+ safe-buffer: 5.2.1
+ send: 0.19.0
+ serve-static: 1.16.0
+ 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
+ exsolve@1.0.8: {}
+ fast-deep-equal@3.1.3: {}
+ fast-glob@3.3.3:
+ 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-uri@3.1.0: {}
+ fastq@1.20.1:
+ dependencies:
+ reusify: 1.1.0
+ fill-range@7.1.1:
+ dependencies:
+ to-regex-range: 5.0.1
+ finalhandler@1.2.0:
+ dependencies:
+ debug: 2.6.9
+ encodeurl: 1.0.2
+ 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
+ forwarded@0.2.0: {}
+ fraction.js@4.3.7: {}
+ fresh@0.5.2: {}
+ fs-extra@10.1.0:
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.2.0
+ universalify: 2.0.1
+ fsevents@2.3.3:
+ optional: true
+ function-bind@1.1.2: {}
+ generic-names@4.0.0:
+ dependencies:
+ loader-utils: 3.3.1
+ gensync@1.0.0-beta.2: {}
+ get-intrinsic@1.3.0:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-define-property: 1.0.1
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
+ function-bind: 1.1.2
+ get-proto: 1.0.1
+ gopd: 1.2.0
+ has-symbols: 1.1.0
+ hasown: 2.0.2
+ math-intrinsics: 1.1.0
+ get-proto@1.0.1:
+ dependencies:
+ dunder-proto: 1.0.1
+ es-object-atoms: 1.1.1
+ glob-parent@5.1.2:
+ dependencies:
+ is-glob: 4.0.3
+ glob-to-regexp@0.4.1: {}
+ globals@15.15.0: {}
+ gopd@1.2.0: {}
+ graceful-fs@4.2.11: {}
+ gzip-size@6.0.0:
+ dependencies:
+ duplexer: 0.1.2
+ has-flag@3.0.0: {}
+ has-flag@4.0.0: {}
+ has-symbols@1.1.0: {}
+ hash-sum@2.0.0: {}
+ hasown@2.0.2:
+ dependencies:
+ function-bind: 1.1.2
+ he@1.2.0: {}
+ hookable@5.5.3: {}
+ http-errors@2.0.0:
+ dependencies:
+ depd: 2.0.0
+ inherits: 2.0.4
+ setprototypeof: 1.2.0
+ statuses: 2.0.1
+ toidentifier: 1.0.1
+ iconv-lite@0.4.24:
+ dependencies:
+ safer-buffer: 2.1.2
+ icss-replace-symbols@1.1.0: {}
+ icss-utils@5.1.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ immutable@4.3.7: {}
+ inherits@2.0.4: {}
+ invert-kv@3.0.1: {}
+ ipaddr.js@1.9.1: {}
+ is-binary-path@2.1.0:
+ dependencies:
+ binary-extensions: 2.3.0
+ is-core-module@2.16.1:
+ dependencies:
+ hasown: 2.0.2
+ is-extglob@2.1.1: {}
+ is-glob@4.0.3:
+ dependencies:
+ is-extglob: 2.1.1
+ is-number@7.0.0: {}
+ is-what@5.5.0: {}
+ isbinaryfile@5.0.2: {}
+ jest-worker@27.5.1:
+ dependencies:
+ "@types/node": 20.19.30
+ merge-stream: 2.0.0
+ supports-color: 8.1.1
+ jiti@1.21.7: {}
+ js-tokens@4.0.0: {}
+ js-tokens@9.0.1: {}
+ jsesc@3.1.0: {}
+ json-parse-even-better-errors@2.3.1: {}
+ json-schema-traverse@1.0.0: {}
+ json5@2.2.3: {}
+ jsonc-parser@3.3.1: {}
+ jsonfile@6.2.0:
+ dependencies:
+ universalify: 2.0.1
+ optionalDependencies:
+ graceful-fs: 4.2.11
+ kolorist@1.8.0: {}
+ lcid@3.1.1:
+ dependencies:
+ invert-kv: 3.0.1
+ lilconfig@2.1.0: {}
+ lines-and-columns@2.0.4: {}
+ loader-runner@4.3.1: {}
+ loader-utils@3.3.1: {}
+ local-pkg@1.1.2:
+ dependencies:
+ mlly: 1.8.0
+ pkg-types: 2.3.0
+ quansync: 0.2.11
+ localstorage-polyfill@1.0.1: {}
+ lodash.camelcase@4.3.0: {}
+ lodash.debounce@4.0.8: {}
+ lru-cache@5.1.1:
+ dependencies:
+ yallist: 3.1.1
+ magic-string@0.30.11:
+ dependencies:
+ "@jridgewell/sourcemap-codec": 1.5.5
+ magic-string@0.30.21:
+ dependencies:
+ "@jridgewell/sourcemap-codec": 1.5.5
+ math-intrinsics@1.1.0: {}
+ mdn-data@2.0.30: {}
+ media-typer@0.3.0: {}
+ meow@13.2.0: {}
+ merge-descriptors@1.0.3: {}
+ merge-stream@2.0.0: {}
+ merge2@1.4.1: {}
+ merge@2.1.1: {}
+ methods@1.1.2: {}
+ micromatch@4.0.8:
+ dependencies:
+ braces: 3.0.3
+ picomatch: 2.3.1
+ mime-db@1.52.0: {}
+ mime-types@2.1.35:
+ dependencies:
+ mime-db: 1.52.0
+ mime@1.6.0: {}
+ mime@3.0.0: {}
+ minimatch@9.0.5:
+ dependencies:
+ brace-expansion: 2.0.2
+ mitt@3.0.1: {}
+ mlly@1.8.0:
+ dependencies:
+ acorn: 8.15.0
+ pathe: 2.0.3
+ pkg-types: 1.3.1
+ ufo: 1.6.3
+ module-alias@2.2.3: {}
+ mrmime@2.0.1: {}
+ ms@2.0.0: {}
+ ms@2.1.3: {}
+ muggle-string@0.3.1: {}
+ nanoid@3.3.11: {}
+ negotiator@0.6.3: {}
+ neo-async@2.6.2: {}
+ node-fetch-native@1.6.7: {}
+ node-releases@2.0.27: {}
+ normalize-path@3.0.0: {}
+ normalize-range@0.1.2: {}
+ object-inspect@1.13.4: {}
+ ofetch@1.5.1:
+ dependencies:
+ destr: 2.0.5
+ node-fetch-native: 1.6.7
+ ufo: 1.6.3
+ on-finished@2.4.1:
+ dependencies:
+ ee-first: 1.1.1
+ os-locale-s-fix@1.0.8-fix-1:
+ dependencies:
+ lcid: 3.1.1
+ package-manager-detector@1.6.0: {}
+ parse-css-font@4.0.0:
+ 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
+ parseurl@1.3.3: {}
+ path-browserify@1.0.1: {}
+ path-parse@1.0.7: {}
+ path-to-regexp@0.1.10: {}
+ pathe@1.1.2: {}
+ pathe@2.0.3: {}
+ perfect-debounce@1.0.0: {}
+ picocolors@1.1.0: {}
+ picocolors@1.1.1: {}
+ picomatch@2.3.1: {}
+ picomatch@4.0.3: {}
+ pify@2.3.0: {}
+ pinia@3.0.4(typescript@4.9.5)(vue@3.5.26(typescript@4.9.5)):
+ dependencies:
+ "@vue/devtools-api": 7.7.9
+ vue: 3.5.26(typescript@4.9.5)
+ optionalDependencies:
+ typescript: 4.9.5
+ pkg-types@1.3.1:
+ dependencies:
+ confbox: 0.1.8
+ mlly: 1.8.0
+ pathe: 2.0.3
+ pkg-types@2.3.0:
+ dependencies:
+ confbox: 0.2.2
+ exsolve: 1.0.8
+ pathe: 2.0.3
+ postcss-import@14.1.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+ read-cache: 1.0.0
+ resolve: 1.22.11
+ postcss-load-config@3.1.4(postcss@8.5.6):
+ dependencies:
+ lilconfig: 2.1.0
+ yaml: 1.10.2
+ optionalDependencies:
+ postcss: 8.5.6
+ postcss-modules-extract-imports@3.1.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-modules-local-by-default@4.2.0(postcss@8.5.6):
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.1
+ postcss-value-parser: 4.2.0
+ postcss-modules-scope@3.2.1(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.1
+ postcss-modules-values@4.0.0(postcss@8.5.6):
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-modules@4.3.1(postcss@8.5.6):
+ dependencies:
+ generic-names: 4.0.0
+ icss-replace-symbols: 1.1.0
+ lodash.camelcase: 4.3.0
+ postcss: 8.5.6
+ postcss-modules-extract-imports: 3.1.0(postcss@8.5.6)
+ postcss-modules-local-by-default: 4.2.0(postcss@8.5.6)
+ postcss-modules-scope: 3.2.1(postcss@8.5.6)
+ postcss-modules-values: 4.0.0(postcss@8.5.6)
+ string-hash: 1.1.3
+ postcss-selector-parser@6.1.2:
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+ postcss-selector-parser@7.1.1:
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+ postcss-value-parser@4.2.0: {}
+ postcss@8.4.45:
+ dependencies:
+ nanoid: 3.3.11
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
+ postcss@8.5.6:
+ dependencies:
+ nanoid: 3.3.11
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
+ proxy-addr@2.0.7:
+ dependencies:
+ forwarded: 0.2.0
+ ipaddr.js: 1.9.1
+ qs@6.11.0:
+ dependencies:
+ side-channel: 1.1.0
+ qs@6.13.0:
+ dependencies:
+ side-channel: 1.1.0
+ quansync@0.2.11: {}
+ queue-microtask@1.2.3: {}
+ randombytes@2.1.0:
+ dependencies:
+ safe-buffer: 5.2.1
+ range-parser@1.2.1: {}
+ raw-body@2.5.2:
+ dependencies:
+ bytes: 3.1.2
+ http-errors: 2.0.0
+ iconv-lite: 0.4.24
+ unpipe: 1.0.0
+ read-cache@1.0.0:
+ dependencies:
+ pify: 2.3.0
+ readdirp@3.6.0:
+ dependencies:
+ picomatch: 2.3.1
+ regenerate-unicode-properties@10.2.2:
+ dependencies:
+ regenerate: 1.4.2
+ regenerate@1.4.2: {}
+ regenerator-runtime@0.14.1: {}
+ regexpu-core@6.4.0:
+ dependencies:
+ regenerate: 1.4.2
+ regenerate-unicode-properties: 10.2.2
+ regjsgen: 0.8.0
+ regjsparser: 0.13.0
+ unicode-match-property-ecmascript: 2.0.0
+ unicode-match-property-value-ecmascript: 2.2.1
+ regjsgen@0.8.0: {}
+ regjsparser@0.13.0:
+ dependencies:
+ jsesc: 3.1.0
+ require-from-string@2.0.2: {}
+ resolve@1.22.11:
+ dependencies:
+ is-core-module: 2.16.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+ resolve@1.22.8:
+ dependencies:
+ is-core-module: 2.16.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+ reusify@1.1.0: {}
+ rfdc@1.4.1: {}
+ rollup@4.55.1:
+ dependencies:
+ "@types/estree": 1.0.8
+ optionalDependencies:
+ "@rollup/rollup-android-arm-eabi": 4.55.1
+ "@rollup/rollup-android-arm64": 4.55.1
+ "@rollup/rollup-darwin-arm64": 4.55.1
+ "@rollup/rollup-darwin-x64": 4.55.1
+ "@rollup/rollup-freebsd-arm64": 4.55.1
+ "@rollup/rollup-freebsd-x64": 4.55.1
+ "@rollup/rollup-linux-arm-gnueabihf": 4.55.1
+ "@rollup/rollup-linux-arm-musleabihf": 4.55.1
+ "@rollup/rollup-linux-arm64-gnu": 4.55.1
+ "@rollup/rollup-linux-arm64-musl": 4.55.1
+ "@rollup/rollup-linux-loong64-gnu": 4.55.1
+ "@rollup/rollup-linux-loong64-musl": 4.55.1
+ "@rollup/rollup-linux-ppc64-gnu": 4.55.1
+ "@rollup/rollup-linux-ppc64-musl": 4.55.1
+ "@rollup/rollup-linux-riscv64-gnu": 4.55.1
+ "@rollup/rollup-linux-riscv64-musl": 4.55.1
+ "@rollup/rollup-linux-s390x-gnu": 4.55.1
+ "@rollup/rollup-linux-x64-gnu": 4.55.1
+ "@rollup/rollup-linux-x64-musl": 4.55.1
+ "@rollup/rollup-openbsd-x64": 4.55.1
+ "@rollup/rollup-openharmony-arm64": 4.55.1
+ "@rollup/rollup-win32-arm64-msvc": 4.55.1
+ "@rollup/rollup-win32-ia32-msvc": 4.55.1
+ "@rollup/rollup-win32-x64-gnu": 4.55.1
+ "@rollup/rollup-win32-x64-msvc": 4.55.1
+ fsevents: 2.3.3
+ run-parallel@1.2.0:
+ dependencies:
+ queue-microtask: 1.2.3
+ safe-area-insets@1.4.1: {}
+ safe-buffer@5.2.1: {}
+ safer-buffer@2.1.2: {}
+ sass@1.71.1:
+ dependencies:
+ chokidar: 3.6.0
+ immutable: 4.3.7
+ source-map-js: 1.2.1
+ schema-utils@4.3.3:
+ dependencies:
+ "@types/json-schema": 7.0.15
+ ajv: 8.17.1
+ ajv-formats: 2.1.1(ajv@8.17.1)
+ ajv-keywords: 5.1.0(ajv@8.17.1)
+ scule@1.3.0: {}
+ semver@6.3.1: {}
+ semver@7.7.3: {}
+ send@0.18.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
+ send@0.19.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
+ serialize-javascript@6.0.2:
+ dependencies:
+ randombytes: 2.1.0
+ serve-static@1.16.0:
+ dependencies:
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ parseurl: 1.3.3
+ send: 0.18.0
+ transitivePeerDependencies:
+ - supports-color
+ setprototypeof@1.2.0: {}
+ side-channel-list@1.0.0:
+ dependencies:
+ es-errors: 1.3.0
+ object-inspect: 1.13.4
+ side-channel-map@1.0.1:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ object-inspect: 1.13.4
+ side-channel-weakmap@1.0.2:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ object-inspect: 1.13.4
+ side-channel-map: 1.0.1
+ side-channel@1.1.0:
+ dependencies:
+ es-errors: 1.3.0
+ object-inspect: 1.13.4
+ side-channel-list: 1.0.0
+ side-channel-map: 1.0.1
+ side-channel-weakmap: 1.0.2
+ sirv@2.0.4:
+ dependencies:
+ "@polka/url": 1.0.0-next.29
+ mrmime: 2.0.1
+ totalist: 3.0.1
+ source-map-js@1.2.1: {}
+ source-map-support@0.5.21:
+ dependencies:
+ buffer-from: 1.1.2
+ source-map: 0.6.1
+ source-map@0.6.1: {}
+ speakingurl@14.0.1: {}
+ statuses@2.0.1: {}
+ string-hash@1.1.3: {}
+ strip-literal@3.1.0:
+ dependencies:
+ js-tokens: 9.0.1
+ superjson@2.2.6:
+ dependencies:
+ copy-anything: 4.0.5
+ supports-color@5.5.0:
+ dependencies:
+ has-flag: 3.0.0
+ supports-color@8.1.1:
+ dependencies:
+ has-flag: 4.0.0
+ supports-preserve-symlinks-flag@1.0.0: {}
+ systemjs@6.15.1: {}
+ tapable@2.3.0: {}
+ terser-webpack-plugin@5.3.16(esbuild@0.20.2)(webpack@5.104.1(esbuild@0.20.2)):
+ dependencies:
+ "@jridgewell/trace-mapping": 0.3.31
+ jest-worker: 27.5.1
+ schema-utils: 4.3.3
+ serialize-javascript: 6.0.2
+ terser: 5.46.0
+ webpack: 5.104.1(esbuild@0.20.2)
+ optionalDependencies:
+ esbuild: 0.20.2
+ terser@5.46.0:
+ dependencies:
+ "@jridgewell/source-map": 0.3.11
+ acorn: 8.15.0
+ commander: 2.20.3
+ source-map-support: 0.5.21
+ tinycolor2@1.6.0: {}
+ tinyexec@1.0.2: {}
+ to-fast-properties@2.0.0: {}
+ to-regex-range@5.0.1:
+ dependencies:
+ is-number: 7.0.0
+ toidentifier@1.0.1: {}
+ totalist@3.0.1: {}
+ type-is@1.6.18:
+ dependencies:
+ media-typer: 0.3.0
+ mime-types: 2.1.35
+ typescript@4.9.5: {}
+ ufo@1.6.3: {}
+ unconfig@0.3.13:
+ dependencies:
+ "@antfu/utils": 0.7.10
+ defu: 6.1.4
+ jiti: 1.21.7
+ undici-types@6.21.0: {}
+ unicode-canonical-property-names-ecmascript@2.0.1: {}
+ unicode-match-property-ecmascript@2.0.0:
+ dependencies:
+ unicode-canonical-property-names-ecmascript: 2.0.1
+ unicode-property-aliases-ecmascript: 2.2.0
+ unicode-match-property-value-ecmascript@2.2.1: {}
+ unicode-property-aliases-ecmascript@2.2.0: {}
+ unimport@4.1.1:
+ dependencies:
+ acorn: 8.15.0
+ escape-string-regexp: 5.0.0
+ estree-walker: 3.0.3
+ fast-glob: 3.3.3
+ local-pkg: 1.1.2
+ magic-string: 0.30.21
+ mlly: 1.8.0
+ pathe: 2.0.3
+ picomatch: 4.0.3
+ pkg-types: 1.3.1
+ scule: 1.3.0
+ strip-literal: 3.1.0
+ unplugin: 2.3.11
+ unplugin-utils: 0.2.5
+ universalify@2.0.1: {}
+ unocss-preset-weapp@0.58.9(esbuild@0.20.2)(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))(webpack@5.104.1(esbuild@0.20.2)):
+ dependencies:
+ "@rollup/pluginutils": 5.3.0
+ "@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.6.0(esbuild@0.20.2)(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))(webpack@5.104.1(esbuild@0.20.2))
+ transitivePeerDependencies:
+ - "@farmfe/core"
+ - "@nuxt/kit"
+ - "@nuxt/schema"
+ - esbuild
+ - rollup
+ - vite
+ - webpack
+ unocss@0.58.9(postcss@8.5.6)(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0)):
+ dependencies:
+ "@unocss/astro": 0.58.9(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))
+ "@unocss/cli": 0.58.9
+ "@unocss/core": 0.58.9
+ "@unocss/extractor-arbitrary-variants": 0.58.9
+ "@unocss/postcss": 0.58.9(postcss@8.5.6)
+ "@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(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))
+ optionalDependencies:
+ vite: 5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0)
+ transitivePeerDependencies:
+ - postcss
+ - rollup
+ - supports-color
+ unpipe@1.0.0: {}
+ unplugin-attributify-to-class@0.2.5:
+ dependencies:
+ "@rollup/pluginutils": 5.3.0
+ unplugin: 1.16.1
+ unplugin-transform-class: 0.5.3
+ transitivePeerDependencies:
+ - rollup
+ unplugin-auto-import@19.1.0:
+ dependencies:
+ local-pkg: 1.1.2
+ magic-string: 0.30.21
+ picomatch: 4.0.3
+ unimport: 4.1.1
+ unplugin: 2.3.11
+ unplugin-utils: 0.2.5
+ unplugin-transform-class@0.5.3:
+ dependencies:
+ "@meoc/utils": 0.2.10
+ "@rollup/pluginutils": 5.3.0
+ unplugin: 1.7.1
+ transitivePeerDependencies:
+ - rollup
+ unplugin-transform-class@0.6.0(esbuild@0.20.2)(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))(webpack@5.104.1(esbuild@0.20.2)):
+ dependencies:
+ "@meoc/utils": 0.2.10
+ "@rollup/pluginutils": 5.3.0
+ unplugin: 2.3.2
+ optionalDependencies:
+ esbuild: 0.20.2
+ vite: 5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0)
+ webpack: 5.104.1(esbuild@0.20.2)
+ unplugin-utils@0.2.5:
+ dependencies:
+ pathe: 2.0.3
+ picomatch: 4.0.3
+ unplugin@1.16.1:
+ dependencies:
+ acorn: 8.15.0
+ webpack-virtual-modules: 0.6.2
+ unplugin@1.7.1:
+ dependencies:
+ acorn: 8.15.0
+ chokidar: 3.6.0
+ webpack-sources: 3.3.3
+ webpack-virtual-modules: 0.6.2
+ unplugin@2.3.11:
+ dependencies:
+ "@jridgewell/remapping": 2.3.5
+ acorn: 8.15.0
+ picomatch: 4.0.3
+ webpack-virtual-modules: 0.6.2
+ unplugin@2.3.2:
+ dependencies:
+ acorn: 8.15.0
+ picomatch: 4.0.3
+ webpack-virtual-modules: 0.6.2
+ unquote@1.1.1: {}
+ update-browserslist-db@1.2.3(browserslist@4.28.1):
+ dependencies:
+ browserslist: 4.28.1
+ escalade: 3.2.0
+ picocolors: 1.1.1
+ util-deprecate@1.0.2: {}
+ utils-merge@1.0.1: {}
+ vary@1.1.2: {}
+ vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0):
+ dependencies:
+ esbuild: 0.20.2
+ postcss: 8.5.6
+ rollup: 4.55.1
+ optionalDependencies:
+ "@types/node": 20.19.30
+ fsevents: 2.3.3
+ sass: 1.71.1
+ terser: 5.46.0
+ vue-router@4.4.4(vue@3.5.26(typescript@4.9.5)):
+ dependencies:
+ "@vue/devtools-api": 6.6.4
+ vue: 3.5.26(typescript@4.9.5)
+ vue-template-compiler@2.7.16:
+ dependencies:
+ de-indent: 1.0.2
+ he: 1.2.0
+ vue-tsc@1.8.27(typescript@4.9.5):
+ dependencies:
+ "@volar/typescript": 1.11.1
+ "@vue/language-core": 1.8.27(typescript@4.9.5)
+ semver: 7.7.3
+ typescript: 4.9.5
+ vue@3.5.26(typescript@4.9.5):
+ dependencies:
+ "@vue/compiler-dom": 3.5.26
+ "@vue/compiler-sfc": 3.5.26
+ "@vue/runtime-dom": 3.5.26
+ "@vue/server-renderer": 3.5.26(vue@3.5.26(typescript@4.9.5))
+ "@vue/shared": 3.5.26
+ optionalDependencies:
+ typescript: 4.9.5
+ watchpack@2.5.1:
+ dependencies:
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+ webpack-sources@3.3.3: {}
+ webpack-virtual-modules@0.6.2: {}
+ webpack@5.104.1(esbuild@0.20.2):
+ dependencies:
+ "@types/eslint-scope": 3.7.7
+ "@types/estree": 1.0.8
+ "@types/json-schema": 7.0.15
+ "@webassemblyjs/ast": 1.14.1
+ "@webassemblyjs/wasm-edit": 1.14.1
+ "@webassemblyjs/wasm-parser": 1.14.1
+ acorn: 8.15.0
+ acorn-import-phases: 1.0.4(acorn@8.15.0)
+ browserslist: 4.28.1
+ chrome-trace-event: 1.0.4
+ enhanced-resolve: 5.18.4
+ es-module-lexer: 2.0.0
+ 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.1
+ mime-types: 2.1.35
+ neo-async: 2.6.2
+ schema-utils: 4.3.3
+ tapable: 2.3.0
+ terser-webpack-plugin: 5.3.16(esbuild@0.20.2)(webpack@5.104.1(esbuild@0.20.2))
+ watchpack: 2.5.1
+ webpack-sources: 3.3.3
+ transitivePeerDependencies:
+ - "@swc/core"
+ - esbuild
+ - uglify-js
+ xmlhttprequest@1.8.0: {}
+ xregexp@5.1.2:
+ dependencies:
+ "@babel/runtime-corejs3": 7.29.2
+ yallist@3.1.1: {}
+ yaml@1.10.2: {}
diff --git a/src/App.vue b/src/App.vue
new file mode 100644
index 0000000..4307d98
--- /dev/null
+++ b/src/App.vue
@@ -0,0 +1,10 @@
+
+
+
diff --git a/src/env.d.ts b/src/env.d.ts
new file mode 100644
index 0000000..e83eb4f
--- /dev/null
+++ b/src/env.d.ts
@@ -0,0 +1,12 @@
+///
+///
+
+// tm-ui 的全局 TM 类型来自随库保留的原始声明,不在业务侧重复定义
+import "./uni_modules/tm-ui/interface"
+
+declare module "*.vue" {
+ import type { DefineComponent } from "vue"
+ /** uni-app 页面及 Easycom 组件的模块声明,具体模板类型由 vue-tsc 推导 */
+ const component: DefineComponent, Record, any>
+ export default component
+}
diff --git a/src/main.ts b/src/main.ts
new file mode 100644
index 0000000..de4ad30
--- /dev/null
+++ b/src/main.ts
@@ -0,0 +1,22 @@
+import { createSSRApp } from "vue"
+import "uno.css"
+import App from "./App.vue"
+import tmUi from "./uni_modules/tm-ui"
+import { colors } from "./uni_modules/tm-ui/libs/colors"
+import { useTmConfig } from "./uni_modules/tm-ui/libs/config"
+import pinia from "@@/stores"
+import { themeColors } from "@@/config/theme"
+
+/** 创建 uni-app 应用,并在页面挂载前将 tm-ui 和 UnoCSS 对齐到参考项目的主题蓝 */
+export function createApp() {
+ /** 当前应用实例;每次框架创建应用时独立注册插件 */
+ const app = createSSRApp(App)
+ app.use(pinia)
+ app.use(tmUi)
+ colors.set("primary", themeColors.primary)
+ /** tm-ui 的主题状态依赖 Pinia,必须在注册 Pinia 后访问 */
+ const themeStore = useTmConfig(pinia)
+ themeStore.config.mode = "light"
+ themeStore.config.color = themeColors.primary
+ return { app, pinia }
+}
diff --git a/src/manifest.json b/src/manifest.json
new file mode 100644
index 0000000..ecbec77
--- /dev/null
+++ b/src/manifest.json
@@ -0,0 +1,17 @@
+{
+ "name": "商户付款",
+ "appid": "",
+ "description": "商户信息展示与付款金额输入 H5",
+ "versionName": "0.1.0",
+ "versionCode": "100",
+ "transformPx": false,
+ "vueVersion": "3",
+ "h5": {
+ "title": "商户收款",
+ "router": {
+ "mode": "hash",
+ "base": "/"
+ }
+ },
+ "uniStatistics": { "enable": false }
+}
diff --git a/src/pages.json b/src/pages.json
new file mode 100644
index 0000000..d8de7a5
--- /dev/null
+++ b/src/pages.json
@@ -0,0 +1,23 @@
+{
+ "easycom": {
+ "autoscan": true,
+ "custom": {
+ "^tm-(.*)": "@/uni_modules/tm-ui/components/tm-$1/tm-$1.vue"
+ }
+ },
+ "pages": [
+ {
+ "path": "pages/pay/index",
+ "style": {
+ "navigationBarTitleText": "商户收款",
+ "disableScroll": true
+ }
+ }
+ ],
+ "globalStyle": {
+ "navigationStyle": "custom",
+ "backgroundColor": "#ecf4f9",
+ "rpxCalcMaxDeviceWidth": 480,
+ "rpxCalcBaseDeviceWidth": 480
+ }
+}
diff --git a/src/pages/pay/index.vue b/src/pages/pay/index.vue
new file mode 100644
index 0000000..6e3723e
--- /dev/null
+++ b/src/pages/pay/index.vue
@@ -0,0 +1,206 @@
+
+
+
+
+
+
+
+
+
+
+
+ 收款商户
+ {{ merchant?.name || (loading ? '正在加载商户' : '收款信息不可用') }}
+
+
+
+
+ 付款金额
+
+ ¥
+
+
+ {{ amount || '0.00' }}
+
+
+
+
+ {{ editable ? '请与商户确认付款金额,单笔最高 9,999.99 元' : success ? '付款结果已由服务端确认' : '金额已确认,请勿重复付款' }}
+
+
+
+
+
+ {{ error }}
+ {{ feedback || '正在读取收款信息…' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/sheep/api/payment.ts b/src/sheep/api/payment.ts
new file mode 100644
index 0000000..950f382
--- /dev/null
+++ b/src/sheep/api/payment.ts
@@ -0,0 +1,93 @@
+import { request } from "@@/utils/request"
+
+/** 商户签名入口,长整数始终以字符串保存,由后端绑定商户和租户。 */
+export interface MerchantEntry {
+ /** 收款商户主键。 */
+ id: string
+ /** 签名对应的租户主键。 */
+ tenantId: string
+ /** 当前协议版本,仅支持 1。 */
+ v: string
+ /** 绑定线下收款用途的服务端签名。 */
+ sign: string
+}
+
+/** 与后端渠道编码一致:10 微信、20 支付宝。 */
+export type PaymentPlatform = "10" | "20"
+
+/** 匿名可见的商户资料。 */
+export interface MerchantInfo {
+ /** 商户主键,使用字符串避免精度损失。 */
+ id: string
+ /** 服务端返回的商户名称。 */
+ name: string
+ /** 商户标识,缺省时显示统一店铺图形。 */
+ logoPic?: string | null
+ /** 商户已启用的渠道,不包含商户号或配置;空列表表示暂无线上支付渠道。 */
+ supportedPlatforms: PaymentPlatform[]
+}
+
+/** OAuth 后的短期收银凭据,不是平台授权码。 */
+export interface CashierTicket {
+ /** 服务端租户唯一编码。 */
+ tenantCode: string
+ /** 五分钟有效的不透明票据。 */
+ ticket: string
+}
+
+/** 聚合会话协议状态,沿用 Java 枚举的持久化编码。 */
+export type PaymentStatus = "10" | "15" | "20" | "30" | "40" | "50" | "60"
+
+/** 收银状态仅以服务端查单或验签回调确认。 */
+export interface PaymentResult {
+ /** 聚合会话协议状态。 */
+ status: PaymentStatus
+ /** 已由服务端确认渠道付款成功。 */
+ paySuccess: boolean
+ /** 现有第三方商户订单号。 */
+ payNo?: string
+}
+
+/** H5 票据上下文,金额和场景均不可由 URL 覆盖。 */
+export interface CashierContext extends PaymentResult {
+ /** ORDER 为已有订单,OFFLINE 为付款人输入金额的线下收款。 */
+ aggregateScene: "ORDER" | "OFFLINE"
+ /** 最小公开商户信息。 */
+ merchant: MerchantInfo
+ /** 以整数分保存的已锁定金额。 */
+ amount: number
+ /** 10 为微信,20 为支付宝。 */
+ selectedPlatform?: "10" | "20" | null
+ /** 尚可付款时提供的渠道签名参数,终态时缺省。 */
+ launchParams?: Record
+}
+
+/** 创建结果中的跳转地址由后端固定配置产生。 */
+export interface CreatedPayment {
+ /** 服务端聚合会话编号。 */
+ aggregateNo: string
+ /** 带随机访问令牌的既有聚合 OAuth 入口。 */
+ cashierUrl: string
+ /** 服务端支付截止时间,仅供提示,前端不能据此自行确认关单。 */
+ expireTime: string
+}
+
+/** 查询签名入口对应的最小商户信息。 */
+export function getMerchant(entry: MerchantEntry) {
+ return request("/third/aggregate-merchant-pay/merchant", "GET", { ...entry }, entry.tenantId)
+}
+
+/** 创建或恢复同一次收款意图,重试必须复用 requestId 和整数分金额。 */
+export function createPayment(entry: MerchantEntry, amount: number, requestId: string) {
+ return request("/third/aggregate-merchant-pay/create", "POST", { ...entry, amount, requestId }, entry.tenantId)
+}
+
+/** 读取票据绑定的商户、固定金额和渠道参数。 */
+export function getCashierContext(value: CashierTicket) {
+ return request(`/third/aggregate-order-pay/context/${encodeURIComponent(value.tenantCode)}/${encodeURIComponent(value.ticket)}`, "GET")
+}
+
+/** 读取原聚合状态接口,不能通过前端事件把流水标记为成功。 */
+export function getPaymentStatus(value: CashierTicket) {
+ return request(`/third/aggregate-order-pay/status/${encodeURIComponent(value.tenantCode)}/${encodeURIComponent(value.ticket)}`, "GET")
+}
diff --git a/src/sheep/components/payment-keyboard.vue b/src/sheep/components/payment-keyboard.vue
new file mode 100644
index 0000000..26c6ba6
--- /dev/null
+++ b/src/sheep/components/payment-keyboard.vue
@@ -0,0 +1,199 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/sheep/components/payment-unavailable.vue b/src/sheep/components/payment-unavailable.vue
new file mode 100644
index 0000000..650b5a1
--- /dev/null
+++ b/src/sheep/components/payment-unavailable.vue
@@ -0,0 +1,26 @@
+
+
+
+
+
+ {{ notice.title }}
+ {{ notice.description }}
+
+
+
+
+ {{ notice.instruction }}
+
+
+
+
+
diff --git a/src/sheep/config/merchant.ts b/src/sheep/config/merchant.ts
new file mode 100644
index 0000000..31ebb85
--- /dev/null
+++ b/src/sheep/config/merchant.ts
@@ -0,0 +1,12 @@
+/** 静态页商户展示数据;仅用于展示,不代表后续支付接口的字段契约 */
+export interface MerchantInfo {
+ /** 展示的商户名称,使用本地示例,可在此替换 */
+ name: string
+ /** 可选的商户标识地址;缺省或加载失败时展示店铺占位图形 */
+ logoUrl?: string
+}
+
+/** 首版商户示例,后续接入接口时由页面统一替换数据来源 */
+export const mockMerchant: MerchantInfo = {
+ name: "资安信示例商户",
+}
diff --git a/src/sheep/config/theme.ts b/src/sheep/config/theme.ts
new file mode 100644
index 0000000..a3fdca4
--- /dev/null
+++ b/src/sheep/config/theme.ts
@@ -0,0 +1,29 @@
+/** 付款页语义颜色;参考 App 的主题蓝与浅蓝背景作为视觉基线 */
+export const themeColors = {
+ /** 品牌主色,用于付款键、光标和商户标识 */
+ primary: "#0094ff",
+ /** 同色系深蓝,用于浅色背景上的小字号文本 */
+ strong: "#006ec9",
+ /** 页面底色,与参考项目 globalStyle 保持一致 */
+ background: "#ecf4f9",
+ /** 页面上方的柔和蓝色渐变起点,仅承担背景装饰 */
+ tint: "#deeffc",
+ /** 商户和金额卡片的白色表面 */
+ surface: "#ffffff",
+ /** 商户名称、金额及数字按键的主要文字 */
+ text: "#263446",
+ /** 标签及辅助说明,确保白色表面上的可读性 */
+ secondary: "#536579",
+ /** 次要说明文字,避免参考页面的浅灰在小字号下对比不足 */
+ muted: "#64748b",
+ /** 金额占位符使用大字号,区别于已经输入的金额 */
+ placeholder: "#8192a6",
+ /** 卡片分隔线和按键边界 */
+ border: "#e6edf4",
+ /** 商户标识与键盘按压反馈的浅蓝色 */
+ soft: "#e6f3ff",
+ /** 数字键的浅灰表面,和白色键盘容器形成层次 */
+ key: "#f3f6fa",
+ /** 无效金额时付款键的填充色 */
+ disabled: "#d6e9f8",
+} as const
diff --git a/src/sheep/hooks/use-merchant-payment.ts b/src/sheep/hooks/use-merchant-payment.ts
new file mode 100644
index 0000000..c43c496
--- /dev/null
+++ b/src/sheep/hooks/use-merchant-payment.ts
@@ -0,0 +1,309 @@
+import { computed, onMounted, onUnmounted, ref } from "vue"
+import { createPayment, getCashierContext, getMerchant, getPaymentStatus } from "@@/api/payment"
+import type { CashierContext, CashierTicket, MerchantEntry, MerchantInfo, PaymentResult } from "@@/api/payment"
+import { amountToFen, formatFen, newPaymentRequestId, parsePaymentEntry } from "@@/utils/payment-entry"
+import { invokePayment } from "@@/utils/payment-bridge"
+import { paymentUnavailable, resolvePaymentPlatform } from "@@/utils/payment-platform"
+import { usePaymentAmount } from "@@/hooks/use-payment-amount"
+
+/** 本标签页的一次线下付款意图,只保存公开入口和恢复信息,不保存平台授权身份。 */
+interface PendingPayment {
+ /** 用户扫描的签名商户入口。 */
+ entry: MerchantEntry
+ /** 已确认的整数分,提交后不能就地修改。 */
+ amount: number
+ /** 请求超时和刷新时复用的 UUID。 */
+ requestId: string
+ /** 创建成功后可继续 OAuth 的固定服务端地址。 */
+ cashierUrl?: string
+}
+
+/** 标签页级恢复键,不跨浏览器账号共享,也不保存商户密钥。 */
+const PENDING_KEY = "merchant-pay:pending"
+/** 串行轮询间隔为 4 秒,避免请求堆积及同 IP 多端触发限流。 */
+const POLL_INTERVAL_MS = 4000
+/** 渠道已确认终态,只有这些状态可以结束当前付款意图。 */
+const TERMINAL_STATUSES = ["30", "40", "50", "60"]
+
+/** 管理两种收银场景的授权、金额锁定、继续付款及服务端结果确认。 */
+export function useMerchantPayment() {
+ /** 手动输入的人民币元字符串,只在未提交线下收款时可修改。 */
+ const input = usePaymentAmount()
+ /** 当前入口的真实商户,失败时不回退到示例数据。 */
+ const merchant = ref()
+ /** 已通过格式校验的静态签名入口,真实有效性仍由后端判断。 */
+ const entry = ref()
+ /** OAuth 回跳的短期收银票据。 */
+ const ticket = ref()
+ /** 后端固定的金额、渠道和状态。 */
+ const context = ref()
+ /** 标签页内待恢复的付款意图,金额在发请求之前即锁定。 */
+ const pending = ref()
+ /** 页面首次查询或手动重试期间为 true。 */
+ const loading = ref(false)
+ /** 支付创建或桥调用期间为 true,防止重复提交。 */
+ const busy = ref(false)
+ /** 收银结果确认期间为 true,不允许重复调用支付组件。 */
+ const confirming = ref(false)
+ /** 当前加载错误,屏幕阅读器与可视提示共享文案。 */
+ const error = ref("")
+ /** 平台取消、查单和终态提示,不包含内部异常。 */
+ const feedback = ref("")
+ /** 当前扫码客户端;不可用页面只引导用户重新扫码,不尝试跨 App 强制唤起。 */
+ const clientPlatform = resolvePaymentPlatform(navigator.userAgent)
+ /** 在金额输入、会话创建及支付组件调起前统一拦截不受支持的客户端。 */
+ const unavailable = computed(() => {
+ if (!merchant.value || success.value || terminal.value) return undefined
+ const notice = paymentUnavailable(merchant.value.supportedPlatforms, clientPlatform, context.value?.selectedPlatform)
+ if (notice) return notice
+ // 未开通渠道的订单扫码只签发只读票据;重新开通后需再扫码进入 OAuth,不能停在无调起参数的页面。
+ if (context.value?.status === "10") return { title: "请重新扫码付款", description: "当前支付方式已可用,请重新扫码进入收银台。", instruction: "请使用当前 App 的“扫一扫”,重新扫描商户收款码。" }
+ return undefined
+ })
+ /** 串行轮询计时器,页面隐藏或销毁时清除。 */
+ let pollTimer: ReturnType | undefined
+ /** 取消过期查询结果,避免页面离开或重试后旧请求覆盖新状态。 */
+ let revision = 0
+ /** 防止轮询请求与页面恢复请求并行。 */
+ let checking = false
+ /** 本页面是否已经销毁。 */
+ let disposed = false
+ /** 仅未提交的签名商户入口允许数字输入。 */
+ const editable = computed(() => !!entry.value && !!merchant.value && !context.value && !pending.value && !loading.value && !error.value && !unavailable.value)
+ /** 已提交或已有订单都显示服务端/冻结金额,不能使用 URL 金额。 */
+ const amount = computed(() => context.value ? formatFen(context.value.amount) : pending.value ? formatFen(pending.value.amount) : input.amount.value)
+ /** 成功仅依据后端确认值。 */
+ const success = computed(() => context.value?.paySuccess === true)
+ /** 当前会话已结束,不再提供支付入口。 */
+ const terminal = computed(() => !!context.value && TERMINAL_STATUSES.includes(context.value.status))
+ /** 金额校验、平台就绪及请求状态共同决定按钮是否可操作。 */
+ const canPay = computed(() => !loading.value && !busy.value && !confirming.value && !error.value && !unavailable.value && !!merchant.value
+ && !terminal.value && (context.value ? context.value.status === "20" && !!context.value.launchParams : !!pending.value || amountToFen(input.amount.value) !== undefined))
+ /** 已创建的线下付款和订单收银只保留底部操作区。 */
+ const showKeyboard = computed(() => !!entry.value && !context.value && !pending.value && !unavailable.value)
+ /** 成功或已确认关闭后可以重新输入;创建失败仍须重新扫码核对,避免未知渠道结果下新建支付。 */
+ const canRestart = computed(() => !!entry.value && !!context.value && ["30", "40", "50"].includes(context.value.status))
+
+ /** 保存付款意图失败时停止提交,避免跳转后丢失幂等请求号。 */
+ function savePending(value: PendingPayment) {
+ sessionStorage.setItem(PENDING_KEY, JSON.stringify(value))
+ pending.value = value
+ }
+
+ /** 只恢复符合格式和金额约束的本标签页数据,付款状态仍需后端确认。 */
+ function readPending(): PendingPayment | undefined {
+ try {
+ const stored = JSON.parse(sessionStorage.getItem(PENDING_KEY) || "null") as PendingPayment | null
+ if (!stored || !/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.test(stored.requestId) || amountToFen(formatFen(stored.amount)) !== stored.amount) return
+ const query = new URLSearchParams({ ...stored.entry }).toString()
+ if (parsePaymentEntry(`https://entry.invalid/#/pages/pay/index?${query}`).kind !== "merchant") return
+ if (stored.cashierUrl && new URL(stored.cashierUrl).protocol !== "https:") return
+ return stored
+ } catch { return }
+ }
+
+ /** 停止下次轮询;已经发出的请求通过 revision 取消写入。 */
+ function stopPolling() {
+ if (pollTimer) clearTimeout(pollTimer)
+ pollTimer = undefined
+ }
+
+ /** 按服务端终态更新提示,不以本机时间或 JSBridge 回调自行判定付款成功。 */
+ function applyStatus(result: PaymentResult) {
+ if (!context.value) return
+ context.value = { ...context.value, ...result }
+ if (result.paySuccess) feedback.value = "付款成功"
+ else if (result.status === "40") feedback.value = "交易已关闭,未完成付款"
+ else if (result.status === "50") feedback.value = "收款请求已过期"
+ else if (result.status === "60") feedback.value = "付款创建失败,请重新扫码核对"
+ if (TERMINAL_STATUSES.includes(result.status)) {
+ confirming.value = false
+ stopPolling()
+ }
+ }
+
+ /** 排队下一次状态查询,前一个请求结束后才会启动。 */
+ function queuePolling() {
+ stopPolling()
+ if (!disposed && ticket.value && !terminal.value && !document.hidden && !error.value && !unavailable.value) {
+ pollTimer = setTimeout(() => { void checkStatus() }, POLL_INTERVAL_MS)
+ }
+ }
+
+ /** 失败时保留原请求与金额,用户可手动重试状态查询,不能直接再建一笔交易。 */
+ async function checkStatus() {
+ if (!ticket.value || checking || disposed) return
+ checking = true
+ const current = revision
+ try {
+ const result = await getPaymentStatus(ticket.value)
+ if (current !== revision || disposed) return
+ applyStatus(result)
+ error.value = ""
+ } catch (cause) {
+ if (current === revision && !disposed) error.value = cause instanceof Error ? cause.message : "付款结果暂不可用,请稍后查询"
+ } finally {
+ checking = false
+ if (current === revision) queuePolling()
+ }
+ }
+
+ /** 调起当前已绑定的平台订单;取消后保持原单号,继续付款仍复用本单。 */
+ async function launch() {
+ const data = context.value
+ if (!data?.launchParams || !data.selectedPlatform || data.status !== "20" || busy.value || confirming.value || unavailable.value) return
+ busy.value = true
+ const current = revision
+ try {
+ const result = await invokePayment(data.selectedPlatform, data.launchParams)
+ if (disposed || current !== revision) return
+ confirming.value = result === "confirming"
+ feedback.value = result === "cancelled" ? "已取消付款,可继续付款" : result === "failed" ? "未完成付款,可继续付款" : "付款结果确认中,请勿重复付款"
+ await checkStatus()
+ } catch (cause) {
+ if (!disposed && current === revision) feedback.value = cause instanceof Error ? cause.message : "未能调起付款,请稍后重试"
+ } finally {
+ if (!disposed && current === revision) { busy.value = false; queuePolling() }
+ }
+ }
+
+ /** 入口加载失败始终显示错误,只有真实商户加载成功后才开放输入或支付。 */
+ async function load() {
+ const current = ++revision
+ stopPolling()
+ loading.value = true
+ error.value = ""
+ try {
+ const parsed = parsePaymentEntry(window.location.href)
+ if (parsed.kind === "merchant") {
+ entry.value = parsed.entry
+ const data = await getMerchant(parsed.entry)
+ if (disposed || current !== revision) return
+ merchant.value = data
+ const stored = readPending()
+ if (stored?.entry.id === parsed.entry.id && stored.entry.tenantId === parsed.entry.tenantId && stored.entry.sign === parsed.entry.sign) pending.value = stored
+ } else {
+ ticket.value = parsed.ticket
+ const data = await getCashierContext(parsed.ticket)
+ if (disposed || current !== revision) return
+ context.value = data
+ merchant.value = data.merchant
+ const stored = readPending()
+ if (data.aggregateScene === "OFFLINE" && stored?.entry.id === data.merchant.id) {
+ entry.value = stored.entry
+ pending.value = stored
+ }
+ applyStatus(data)
+ // 只在新的 OAuth 票据第一次到达时自动调起,刷新不会重复自动弹出收银台。
+ const marker = `merchant-pay:launched:${parsed.ticket.ticket}`
+ if (!unavailable.value && !sessionStorage.getItem(marker) && data.status === "20" && data.launchParams) {
+ sessionStorage.setItem(marker, "1")
+ void launch()
+ }
+ queuePolling()
+ }
+ } catch (cause) {
+ if (!disposed && current === revision) error.value = cause instanceof Error ? cause.message : "收款信息暂不可用"
+ } finally {
+ if (current === revision) loading.value = false
+ }
+ }
+
+ /** 先保存稳定请求号再创建会话,任何网络重试都保留原金额与 requestId。 */
+ async function pay() {
+ if (!canPay.value) return
+ if (context.value) { await launch(); return }
+ if (!entry.value) return
+ busy.value = true
+ const current = revision
+ try {
+ if (!pending.value) {
+ const value = amountToFen(input.amount.value)
+ if (value === undefined) return
+ savePending({ entry: entry.value, amount: value, requestId: newPaymentRequestId() })
+ }
+ const attempt = pending.value!
+ let url = attempt.cashierUrl
+ if (!url) {
+ const result = await createPayment(attempt.entry, attempt.amount, attempt.requestId)
+ if (disposed || current !== revision) return
+ url = result.cashierUrl
+ if (new URL(url).protocol !== "https:") throw new Error("付款入口不可用,请联系商户")
+ savePending({ ...attempt, cashierUrl: url })
+ }
+ window.location.assign(url)
+ } catch (cause) {
+ if (!disposed && current === revision) {
+ feedback.value = cause instanceof Error ? cause.message : "付款暂未能发起,请稍后重试"
+ // 商户可能在页面停留期间停用渠道;重新读取开通情况,保留原金额和请求号。
+ try {
+ const data = await getMerchant(entry.value!)
+ if (!disposed && current === revision) merchant.value = data
+ } catch { /* 查询失败时保留原请求与错误提示,不能据此释放未知支付意图。 */ }
+ }
+ } finally { if (!disposed && current === revision) busy.value = false }
+ }
+
+ /** 渠道提示页重新读取商户/票据上下文;已有正常付款仅查询结果,避免重新创建会话。 */
+ async function retry() {
+ if (loading.value || busy.value) return
+ if (ticket.value && context.value && !unavailable.value) await checkStatus()
+ else await load()
+ }
+
+ /** 只有服务端已确认成功或关闭后,才释放旧意图并返回签名商户入口。 */
+ function restart() {
+ if (!canRestart.value || !entry.value) return
+ sessionStorage.removeItem(PENDING_KEY)
+ const query = new URLSearchParams({ ...entry.value }).toString()
+ window.history.replaceState(null, "", `${window.location.pathname}${window.location.search}#/pages/pay/index?${query}`)
+ window.location.reload()
+ }
+
+ /** 输入长度限制同时覆盖四位整数和两位小数,不改变冻结金额。 */
+ function append(key: string) {
+ if (!editable.value) return
+ const next = input.amount.value
+ if (/^\d$/.test(key) && !next.includes(".") && next !== "0" && next.length >= 4) return
+ input.append(key)
+ }
+
+ /** 只有未提交的线下金额允许删除。 */
+ function remove() { if (editable.value) input.remove() }
+
+ /** 后台恢复时先查真实状态,页面隐藏期间停止轮询。 */
+ function handleVisibility() {
+ if (document.hidden) stopPolling()
+ else if (ticket.value && !terminal.value) void checkStatus()
+ }
+
+ /** 单页 Hash 入口变化也重新校验,避免浏览器复用同一页面时沿用上一商户或金额。 */
+ function handleHashChange() {
+ busy.value = false
+ context.value = undefined
+ ticket.value = undefined
+ entry.value = undefined
+ merchant.value = undefined
+ pending.value = undefined
+ feedback.value = ""
+ confirming.value = false
+ input.clear()
+ void load()
+ }
+
+ /** 页面挂载后读取真实入口,不从示例商户配置加载任何收款对象。 */
+ onMounted(() => {
+ document.addEventListener("visibilitychange", handleVisibility)
+ window.addEventListener("hashchange", handleHashChange)
+ void load()
+ })
+ /** 释放轮询和监听,未返回的请求不能再修改页面状态。 */
+ onUnmounted(() => {
+ disposed = true; revision++; stopPolling()
+ document.removeEventListener("visibilitychange", handleVisibility)
+ window.removeEventListener("hashchange", handleHashChange)
+ })
+
+ return { merchant, amount, loading, busy, error, feedback, editable, canPay, showKeyboard, canRestart, confirming, success, terminal, unavailable,
+ pay, restart, retry, append, remove }
+}
diff --git a/src/sheep/hooks/use-payment-amount.ts b/src/sheep/hooks/use-payment-amount.ts
new file mode 100644
index 0000000..8d4cfd5
--- /dev/null
+++ b/src/sheep/hooks/use-payment-amount.ts
@@ -0,0 +1,38 @@
+import { computed, readonly, ref } from "vue"
+
+/** 人民币金额最多保留两位小数;输入过程使用字符串保留末尾的小数点与零 */
+const DECIMAL_PLACES = 2
+
+/**
+ * 将一个数字或小数点追加到金额尾部,无效输入返回原值
+ * 不进行浮点运算,也不将展示长度限制当作真实支付限额
+ */
+export function appendAmount(current: string, key: string): string {
+ if (!/^[0-9.]$/.test(key)) return current
+ if (key === ".") return current.includes(".") ? current : `${current || "0"}.`
+ if (current.includes(".") && current.split(".")[1].length >= DECIMAL_PLACES) return current
+ return current === "0" ? key : current + key
+}
+
+/** 页面金额状态的唯一写入入口,自定义键盘和物理键盘共享相同的输入规则 */
+export function usePaymentAmount() {
+ /** 当前输入的金额,单位为元;空字符串表示尚未输入,生命周期与页面一致 */
+ const amount = ref("")
+ /** 输入由 appendAmount 保证格式,只需判断是否包含非零数字即可避免浮点精度问题 */
+ const canPay = computed(() => /[1-9]/.test(amount.value))
+
+ /** 追加一个合法字符,保留正在输入的小数状态 */
+ function append(key: string) {
+ amount.value = appendAmount(amount.value, key)
+ }
+
+ /** 删除最后一个字符,空金额继续保持为空 */
+ function remove() {
+ amount.value = amount.value.slice(0, -1)
+ }
+
+ /** 切换到另一收款入口时清空未提交金额,不影响已持久化的付款请求 */
+ function clear() { amount.value = "" }
+
+ return { amount: readonly(amount), canPay, append, remove, clear }
+}
diff --git a/src/sheep/scss/global.scss b/src/sheep/scss/global.scss
new file mode 100644
index 0000000..1f9be8d
--- /dev/null
+++ b/src/sheep/scss/global.scss
@@ -0,0 +1,64 @@
+page {
+ height: 100%;
+ color: var(--pay-text);
+ background: var(--pay-background);
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
+ -webkit-font-smoothing: antialiased;
+}
+
+view,
+text,
+button,
+image {
+ box-sizing: border-box;
+}
+
+button {
+ font: inherit;
+}
+
+// #ifdef H5
+html,
+body,
+#app,
+uni-app,
+uni-page,
+uni-page-wrapper,
+uni-page-body {
+ height: 100%;
+ margin: 0;
+}
+
+html,
+body {
+ background: var(--pay-background);
+ overflow: hidden;
+ overscroll-behavior: none;
+}
+
+// 整页锁在浏览器可视区域,极短屏只允许卡片所在区域内部滑动且不显示滚动条
+uni-app,
+uni-page,
+uni-page-wrapper,
+uni-page-body {
+ overflow: hidden;
+}
+
+body {
+ color-scheme: light;
+}
+
+// 使用动态视口适应移动浏览器地址栏,旧浏览器保留 vh 回退
+.payment-shell {
+ height: 100vh;
+ height: 100dvh;
+ box-shadow: 0 0 80px rgba(44, 83, 118, 0.07);
+}
+// #endif
+
+// 仅对自绘输入光标关闭动画,按键状态反馈仍保留
+@media (prefers-reduced-motion: reduce) {
+ .payment-cursor {
+ animation: none !important;
+ }
+}
diff --git a/src/sheep/stores/index.ts b/src/sheep/stores/index.ts
new file mode 100644
index 0000000..7dba6d7
--- /dev/null
+++ b/src/sheep/stores/index.ts
@@ -0,0 +1,6 @@
+import { createPinia } from "pinia"
+
+/** 仅承载 tm-ui 的主题状态,付款金额保留在当前页面内,不持久化 */
+const pinia = createPinia()
+
+export default pinia
diff --git a/src/sheep/utils/payment-bridge.ts b/src/sheep/utils/payment-bridge.ts
new file mode 100644
index 0000000..d318c81
--- /dev/null
+++ b/src/sheep/utils/payment-bridge.ts
@@ -0,0 +1,77 @@
+/** 客户端回调只代表调起结果,最终付款状态必须再查询后端。 */
+export type BridgeResult = "confirming" | "cancelled" | "failed"
+
+/** 两种客户端桥的最小接口,不引入 App SDK 或其他平台能力。 */
+interface PaymentBridge {
+ /** 支付宝 tradePay 接口。 */
+ call?: (name: string, params: Record, callback: (result: Record) => void) => void
+ /** 微信 getBrandWCPayRequest 接口。 */
+ invoke?: (name: string, params: Record, callback: (result: Record) => void) => void
+}
+
+/** 当前客户端注入的全局桥对象,仅在 H5 运行期访问。 */
+type BridgeWindow = Window & { AlipayJSBridge?: PaymentBridge; WeixinJSBridge?: PaymentBridge }
+
+/** 把平台回调归一化;9000/ok 仍进入服务端结果确认,不直接展示支付成功。 */
+export function bridgeResult(platform: "10" | "20", result: Record): BridgeResult {
+ if (platform === "20") {
+ const code = String(result.resultCode || "")
+ if (["9000", "8000", "6004"].includes(code)) return "confirming"
+ return code === "6001" ? "cancelled" : "failed"
+ }
+ const message = String(result.err_msg || "").toLowerCase()
+ return message.endsWith(":ok") ? "confirming" : message.endsWith(":cancel") ? "cancelled" : "failed"
+}
+
+/** 等待客户端桥就绪并调起一次;取消或失败不自动重复唤起。 */
+export function invokePayment(platform: "10" | "20", params: Record): Promise {
+ const client = navigator.userAgent.toLowerCase()
+ if ((platform === "10" && !client.includes("micromessenger")) || (platform === "20" && !client.includes("alipayclient"))) {
+ return Promise.reject(new Error("请在原微信或支付宝客户端中继续付款"))
+ }
+ return new Promise((resolve, reject) => {
+ /** 当前桥等待和回调仅属于本次用户调起操作。 */
+ const readyEvent = platform === "20" ? "AlipayJSBridgeReady" : "WeixinJSBridgeReady"
+ let invoked = false
+ let settled = false
+ let timer: ReturnType
+ /** 释放就绪监听和超时,避免页面反复授权后残留调起。 */
+ function finish(result?: BridgeResult, error?: Error) {
+ if (settled) return
+ settled = true
+ document.removeEventListener(readyEvent, launch)
+ clearTimeout(timer)
+ if (error) reject(error)
+ else resolve(result || "confirming")
+ }
+ /** 只接受当前平台的最小参数,不把后端提供的对象转换成可执行脚本。 */
+ function launch() {
+ if (invoked || settled) return
+ const host = window as BridgeWindow
+ const bridge = platform === "20" ? host.AlipayJSBridge : host.WeixinJSBridge
+ if (!bridge || (platform === "20" ? !bridge.call : !bridge.invoke)) return
+ if (
+ (platform === "20" && typeof params.tradeNO !== "string") ||
+ (platform === "10" &&
+ !["appId", "timeStamp", "nonceStr", "package", "signType", "paySign"].every((key) => typeof params[key] === "string"))
+ ) {
+ finish(undefined, new Error("付款参数不可用,请重新扫码"))
+ return
+ }
+ invoked = true
+ clearTimeout(timer)
+ // 用户在平台收银台停留较久时只转入查单,不据超时认定失败或再发起一笔支付。
+ timer = setTimeout(() => finish("confirming"), 30000)
+ try {
+ const callback = (result: Record) => finish(bridgeResult(platform, result))
+ if (platform === "20") bridge.call!("tradePay", { tradeNO: params.tradeNO }, callback)
+ else bridge.invoke!("getBrandWCPayRequest", params, callback)
+ } catch {
+ finish(undefined, new Error("支付组件调用失败,请稍后继续付款"))
+ }
+ }
+ timer = setTimeout(() => finish(undefined, new Error("支付组件尚未就绪,请点击继续付款")), 5000)
+ document.addEventListener(readyEvent, launch)
+ launch()
+ })
+}
diff --git a/src/sheep/utils/payment-entry.ts b/src/sheep/utils/payment-entry.ts
new file mode 100644
index 0000000..3be32a5
--- /dev/null
+++ b/src/sheep/utils/payment-entry.ts
@@ -0,0 +1,47 @@
+import type { CashierTicket, MerchantEntry } from "@@/api/payment"
+
+/** 初版单笔上限为 9,999.99 元,与后端配置同步,单位为分。 */
+export const MAX_OFFLINE_AMOUNT = 999999
+
+/** 二维码只能是签名商户入口或短期收银票据两种形式。 */
+export type PaymentEntry = { kind: "merchant"; entry: MerchantEntry } | { kind: "cashier"; ticket: CashierTicket }
+
+/** 解析 Hash 路由参数;拒绝重复参数及混用入口,避免跳转时悄悄切换收款对象。 */
+export function parsePaymentEntry(href: string): PaymentEntry {
+ const url = new URL(href)
+ const params = new URLSearchParams(url.hash.includes("?") ? url.hash.slice(url.hash.indexOf("?") + 1) : url.search)
+ if (Array.from(params.keys()).some(key => params.getAll(key).length !== 1)) throw new Error("收款链接无效,请重新扫码")
+ if (params.has("ticket") || params.has("tenantCode")) {
+ if (params.has("id") || params.has("sign") || params.has("tenantId")) throw new Error("收银凭据无效,请重新扫码")
+ const ticket = params.get("ticket") || ""
+ const tenantCode = params.get("tenantCode") || ""
+ if (!/^[A-Za-z0-9_-]{32}$/.test(ticket) || !tenantCode || tenantCode.length > 128) throw new Error("收银凭据无效,请重新扫码")
+ return { kind: "cashier", ticket: { ticket, tenantCode } }
+ }
+ const entry = { id: params.get("id") || "", tenantId: params.get("tenantId") || "", v: params.get("v") || "", sign: params.get("sign") || "" }
+ if (!/^[1-9]\d{0,18}$/.test(entry.id) || !/^[1-9]\d{0,18}$/.test(entry.tenantId)
+ || entry.v !== "1" || !/^[0-9a-f]{64}$/.test(entry.sign)) throw new Error("收款链接无效,请重新扫码")
+ return { kind: "merchant", entry }
+}
+
+/** 字符串元精确转换为整数分,拒绝零、科学计数、超过两位小数及超限输入。 */
+export function amountToFen(value: string): number | undefined {
+ if (!/^\d{1,4}(\.\d{0,2})?$/.test(value)) return undefined
+ const [whole, fraction = ""] = value.split(".")
+ const result = Number(whole) * 100 + Number(fraction.padEnd(2, "0"))
+ return Number.isSafeInteger(result) && result > 0 && result <= MAX_OFFLINE_AMOUNT ? result : undefined
+}
+
+/** 固定金额从整数分格式化,不进行浮点金额运算。 */
+export function formatFen(value: number): string {
+ return `${Math.floor(value / 100)}.${String(value % 100).padStart(2, "0")}`
+}
+
+/** 浏览器为一次付款意图生成 UUID;网络重试复用该值。 */
+export function newPaymentRequestId(): string {
+ const bytes = crypto.getRandomValues(new Uint8Array(16))
+ bytes[6] = (bytes[6] & 15) | 64
+ bytes[8] = (bytes[8] & 63) | 128
+ const hex = Array.from(bytes, value => value.toString(16).padStart(2, "0")).join("")
+ return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`
+}
diff --git a/src/sheep/utils/payment-platform.ts b/src/sheep/utils/payment-platform.ts
new file mode 100644
index 0000000..461ae15
--- /dev/null
+++ b/src/sheep/utils/payment-platform.ts
@@ -0,0 +1,43 @@
+import type { PaymentPlatform } from "@@/api/payment"
+
+/** 渠道名称只用于展示,后端始终依据已启用的商户配置校验实际付款。 */
+const PLATFORM_NAMES: Record = { "10": "微信", "20": "支付宝" }
+
+/** 当前客户端无法付款时展示的原因和恢复指引。 */
+export interface PaymentUnavailable {
+ /** 说明商户未开通当前渠道,或当前浏览器无法调起支付。 */
+ title: string
+ /** 已开通的替代方式或现有付款的绑定渠道。 */
+ description: string
+ /** 用户可以实际完成的下一步操作。 */
+ instruction: string
+}
+
+/** 仅识别两种受支持的扫码客户端,与后端的识别顺序保持一致。 */
+export function resolvePaymentPlatform(userAgent: string): PaymentPlatform | undefined {
+ const client = userAgent.toLowerCase()
+ if (client.includes("micromessenger")) return "10"
+ if (client.includes("alipayclient")) return "20"
+ return undefined
+}
+
+/** 进入输入框前检查渠道;已有子订单按原渠道恢复,避免商户配置变化掩盖待确认付款。 */
+export function paymentUnavailable(supportedPlatforms: PaymentPlatform[] | undefined, client: PaymentPlatform | undefined, selected?: PaymentPlatform | null): PaymentUnavailable | undefined {
+ if (selected) {
+ if (client === selected) return undefined
+ const name = PLATFORM_NAMES[selected]
+ return { title: `请使用${name}继续付款`, description: `本次付款已在${name}中发起,请继续原来的付款。`, instruction: `请回到${name}完成付款,避免重复支付。` }
+ }
+ const platforms = Array.isArray(supportedPlatforms) ? [...new Set(supportedPlatforms.filter(value => value === "10" || value === "20"))] : []
+ if (!platforms.length) {
+ return { title: "商户暂未开通线上支付", description: "当前暂无可用的微信或支付宝支付方式。", instruction: "请联系商户确认其他收款方式。" }
+ }
+ const names = platforms.map(value => PLATFORM_NAMES[value]).join("或")
+ if (!client) {
+ return { title: `请使用${names}扫码`, description: `该商户支持${names}支付。`, instruction: `请打开${names},使用“扫一扫”扫描商户收款码。` }
+ }
+ if (!platforms.includes(client)) {
+ return { title: `商户暂不支持${PLATFORM_NAMES[client]}支付`, description: `该商户当前支持${names}支付。`, instruction: `请打开${names},使用“扫一扫”重新扫描商户收款码。` }
+ }
+ return undefined
+}
diff --git a/src/sheep/utils/request.ts b/src/sheep/utils/request.ts
new file mode 100644
index 0000000..470de0c
--- /dev/null
+++ b/src/sheep/utils/request.ts
@@ -0,0 +1,37 @@
+/** 后端统一响应,仅公开收银接口使用,不携带登录 Token 或商户密钥。 */
+interface ApiResponse {
+ /** 0 表示业务成功,非零表示业务失败。 */
+ code: number | string
+ /** 经过后端处理的用户提示。 */
+ msg?: string
+ /** 具体接口的最小公开响应。 */
+ data: T
+}
+
+/** 沿用参考项目变量:开发走 VITE_API_URL 本地代理,生产读取 VITE_APP_PROD_SERVICE。 */
+const apiBase = (import.meta.env.DEV ? import.meta.env.VITE_API_URL || "/api" : import.meta.env.VITE_APP_PROD_SERVICE || "").trim().replace(/\/+$/, "")
+
+/** 统一封装匿名请求与微服务/Boot 路径,不自动重试支付创建请求。 */
+export function request(path: string, method: "GET" | "POST", data?: Record, tenantId?: string): Promise {
+ /** Boot 聚合服务不使用网关 third 前缀,其他部署保留前缀。 */
+ const endpoint = import.meta.env.VITE_IS_MICRO === "false" ? path.replace(/^\/third(?=\/)/, "") : path
+ return new Promise((resolve, reject) => {
+ uni.request({
+ url: apiBase + endpoint,
+ method,
+ data,
+ timeout: 15000,
+ withCredentials: false,
+ header: { "Content-Type": "application/json", ...(tenantId ? { "TENANT-ID": tenantId } : {}) },
+ success(response) {
+ const body = response.data as ApiResponse | undefined
+ if (response.statusCode >= 200 && response.statusCode < 300 && body && String(body.code) === "0") {
+ resolve(body.data)
+ } else {
+ reject(new Error(response.statusCode === 429 ? "请求较频繁,请稍后重试" : body?.msg || "服务暂不可用,请稍后重试"))
+ }
+ },
+ fail() { reject(new Error("网络连接失败,请检查网络后重试")) },
+ })
+ })
+}
diff --git a/src/uni.scss b/src/uni.scss
new file mode 100644
index 0000000..aff5b46
--- /dev/null
+++ b/src/uni.scss
@@ -0,0 +1,6 @@
+// 与参考 App 的主题保持一致,供 uni-app 内置组件使用
+$uni-color-primary: #0094ff;
+$uni-text-color: #263446;
+$uni-text-color-grey: #64748b;
+$uni-bg-color: #ecf4f9;
+$uni-border-color: #e6edf4;
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-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-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/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":"AACA;EACC,aAAA;ACAD;;ADEA;;EAEC,aAAA;ACCD;;ADGA;EACC,4BAAA;ACAD;;ADGA;EACC,yBAAA;ACAD;;ADGA;EACC,gCAAA;ACAD;;ADGA;EACC,mCAAA;UAAA,2BAAA;EACA,oCAAA;ACAD;;ADGA;EACC,eAAA;ACAD;;ADGA;EACC,YAAA;ACAD;;ADMA;EACC,gBAAA;ACHD;;ADOA;EACC,kBAAA;EACA,gBAAA;ACJD;;ADOA;EACC,gBAAA;EACA,kBAAA;ACJD;;ADiBC;EACC,6BAAA;ACdF;;ADaC;EACC,6BAAA;ACVF;;ADSC;EACC,0BAAA;ACNF;;ADKC;EACC,2BAAA;ACFF;;ADOA;EACC,aAAA;EACA,oBAAA;ACJD;;ADQA;EACC,WAAA;ACLD;;ADQA;EACC,WAAA;EACA,cAAA;ACLD;;ADQA;EACC,YAAA;EACA,cAAA;ACLD;;ADQA;EACC,uBAAA;ACLD;;ADQA;EACC,sBAAA;ACLD;;ADQA;EACC,gCAAA;ACLD;;ADQA;EACC,cAAA;ACLD;;ADWC;EACC,mBAFM;ACNR;;ADOC;EACC,sBAFM;ACFR;;ADGC;EACC,sBAFM;ACER;;ADIA;EACC,qBAAA;EACA,qBAAA;ACDD;;ADIA;EACC,mBAAA;ACDD;;ADOC;EACC,mBAFM;ACFR;;ADGC;EACC,sBAFM;ACER;;ADDC;EACC,sBAFM;ACMR;;ADEC;EACC,UAAA;ACCF;;ADEC;EACC,UAAA;ACCF;;ADNC;EACC,UAAA;ACSF;;ADNC;EACC,UAAA;ACSF;;ADdC;EACC,UAAA;ACiBF;;ADdC;EACC,UAAA;ACiBF;;ADtBC;EACC,UAAA;ACyBF;;ADtBC;EACC,WAAA;ACyBF;;AD9BC;EACC,UAAA;ACiCF;;AD9BC;EACC,WAAA;ACiCF;;ADtCC;EACC,UAAA;ACyCF;;ADtCC;EACC,WAAA;ACyCF;;AD9CC;EACC,UAAA;ACiDF;;AD9CC;EACC,WAAA;ACiDF;;ADtDC;EACC,UAAA;ACyDF;;ADtDC;EACC,WAAA;ACyDF;;AD9DC;EACC,UAAA;ACiEF;;AD9DC;EACC,WAAA;ACiEF;;ADtEC;EACC,UAAA;ACyEF;;ADtEC;EACC,WAAA;ACyEF;;AD9EC;EACC,WAAA;ACiFF;;AD9EC;EACC,WAAA;ACiFF;;ADtFC;EACC,WAAA;ACyFF;;ADtFC;EACC,WAAA;ACyFF;;AD9FC;EACC,WAAA;ACiGF;;AD9FC;EACC,WAAA;ACiGF;;ADtGC;EACC,WAAA;ACyGF;;ADtGC;EACC,WAAA;ACyGF;;AD9GC;EACC,WAAA;ACiHF;;AD9GC;EACC,WAAA;ACiHF;;ADtHC;EACC,WAAA;ACyHF;;ADtHC;EACC,WAAA;ACyHF;;AD9HC;EACC,WAAA;ACiIF;;AD9HC;EACC,WAAA;ACiIF;;ADtIC;EACC,WAAA;ACyIF;;ADtIC;EACC,WAAA;ACyIF;;AD9IC;EACC,WAAA;ACiJF;;AD9IC;EACC,WAAA;ACiJF;;ADtJC;EACC,WAAA;ACyJF;;ADtJC;EACC,WAAA;ACyJF;;AD9JC;EACC,WAAA;ACiKF;;AD9JC;EACC,WAAA;ACiKF;;ADtKC;EACC,WAAA;ACyKF;;ADtKC;EACC,WAAA;ACyKF;;AD9KC;EACC,WAAA;ACiLF;;AD9KC;EACC,WAAA;ACiLF;;ADtLC;EACC,WAAA;ACyLF;;ADtLC;EACC,WAAA;ACyLF;;AD9LC;EACC,WAAA;ACiMF;;AD9LC;EACC,WAAA;ACiMF;;ADtMC;EACC,WAAA;ACyMF;;ADtMC;EACC,YAAA;ACyMF;;AD9MC;EACC,WAAA;ACiNF;;AD9MC;EACC,YAAA;ACiNF;;ADnMA;EAPC,WAD4B;EAE5B,cAF4C;EAG5C,mBAH2D;EAI3D,gBAAA;EAMA,uBAAA;ACyMD;;ADpMC;EAdA,WAewB;EAdxB,oBAc8B;EAb9B,oBAa2C;EAZ3C,gBAAA;EAaC,qBAHW;EAIX,4BAAA;EACA,uBAAA;AC0MF;;AD9MC;EAdA,WAewB;EAdxB,oBAc8B;EAb9B,oBAa2C;EAZ3C,gBAAA;EAaC,qBAHW;EAIX,4BAAA;EACA,uBAAA;ACoNF;;ADxNC;EAdA,WAewB;EAdxB,oBAc8B;EAb9B,oBAa2C;EAZ3C,gBAAA;EAaC,qBAHW;EAIX,4BAAA;EACA,uBAAA;AC8NF;;ADlOC;EAdA,WAewB;EAdxB,oBAc8B;EAb9B,oBAa2C;EAZ3C,gBAAA;EAaC,qBAHW;EAIX,4BAAA;EACA,uBAAA;ACwOF;;ADlOA;EACC,6BAAA;ACqOD;;ADjOA;EACC,0BAAA;ACoOD;;AD7NC;EACC,gBAHM;ACmOR;;ADjOC;EACC,gBAHM;ACuOR;;ADrOC;EACC,gBAHM;AC2OR;;ADzOC;EACC,gBAHM;AC+OR;;AD7OC;EACC,gBAHM;ACmPR;;ADjPC;EACC,gBAHM;ACuPR;;ADrPC;EACC,gBAHM;AC2PR;;ADzPC;EACC,gBAHM;AC+PR;;ADrPC;EACC,gBAFM;AC0PR;;ADzPC;EACC,gBAFM;AC8PR;;AD7PC;EACC,gBAFM;ACkQR;;ADzPC;EACC,gBAFM;AC8PR;;AD7PC;EACC,iBAFM;ACkQR;;ADjQC;EACC,kBAFM;ACsQR;;ADzPE;EAEE,uCAAA;AC2PJ;;AD7PE;EAEE,uCAAA;AC+PJ;;ADjQE;EAEE,uCAAA;ACmQJ;;ADrQE;EAEE,wCAAA;ACuQJ;;ADzQE;EAEE,wCAAA;AC2QJ;;AD7QE;EAEE,wCAAA;AC+QJ;;ADjRE;EAEE,wCAAA;ACmRJ;;ADrRE;EAEE,wCAAA;ACuRJ;;ADzRE;EAEE,wCAAA;AC2RJ;;AD7RE;EAEE,wCAAA;AC+RJ;;ADjSE;EAEE,wCAAA;ACmSJ;;ADrSE;EAEE,wCAAA;ACuSJ;;ADzSE;EAEE,wCAAA;AC2SJ;;AD7SE;EAEE,wCAAA;AC+SJ;;ADjTE;EAEE,wCAAA;ACmTJ;;ADrTE;EAEE,wCAAA;ACuTJ;;ADzTE;EAEE,wCAAA;AC2TJ;;AD7TE;EAEE,wCAAA;AC+TJ;;ADjUE;EAEE,wCAAA;ACmUJ;;ADrUE;EAEE,wCAAA;ACuUJ;;ADzUE;EAEE,wCAAA;AC2UJ;;AD7UE;EAEE,wCAAA;AC+UJ;;ADjVE;EAEE,wCAAA;ACmVJ;;ADrVE;EAEE,wCAAA;ACuVJ;;ADzVE;EAEE,wCAAA;AC2VJ;;AD7VE;EAEE,yCAAA;AC+VJ;;ADjWE;EAME,wCAAA;AC+VJ;;ADrWE;EAME,wCAAA;ACmWJ;;ADzWE;EAME,wCAAA;ACuWJ;;AD7WE;EAME,yCAAA;AC2WJ;;ADjXE;EAME,yCAAA;AC+WJ;;ADrXE;EAME,yCAAA;ACmXJ;;ADzXE;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/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/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/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/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..e7d367d
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,23 @@
+{
+ "compilerOptions": {
+ "target": "ESNext",
+ "module": "ESNext",
+ "moduleResolution": "Node",
+ "strict": true,
+ "skipLibCheck": true,
+ "jsx": "preserve",
+ "resolveJsonModule": true,
+ "esModuleInterop": true,
+ "allowSyntheticDefaultImports": true,
+ "useDefineForClassFields": true,
+ "baseUrl": ".",
+ "paths": {
+ "@/*": ["src/*"],
+ "@@/*": ["src/sheep/*"]
+ },
+ "lib": ["ESNext", "DOM"],
+ "types": ["@dcloudio/types", "node", "vite/client"]
+ },
+ "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.vue", "vite.config.ts", "unocss.config.ts"],
+ "exclude": ["node_modules", "dist", "src/uni_modules"]
+}
diff --git a/unocss.config.ts b/unocss.config.ts
new file mode 100644
index 0000000..7c672fc
--- /dev/null
+++ b/unocss.config.ts
@@ -0,0 +1,23 @@
+import presetWeapp from "unocss-preset-weapp"
+import { extractorAttributify, transformerClass } from "unocss-preset-weapp/transformer"
+import { themeColors } from "./src/sheep/config/theme"
+
+/** 沿用参考项目的 rpx 原子类与属性转换,布局尺寸统一按 750rpx 设计宽度换算 */
+const { presetWeappAttributify, transformerAttributify } = extractorAttributify()
+
+export default {
+ presets: [presetWeapp({ whRpx: true }), presetWeappAttributify()],
+ transformers: [transformerAttributify(), transformerClass()],
+ theme: { colors: themeColors },
+ shortcuts: {
+ "flex-row-center": "flex items-center justify-center",
+ "flex-col-center": "flex flex-col items-center justify-center",
+ "focus-ring": "outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
+ },
+ preflights: [
+ {
+ /** CSS 与 UnoCSS 从同一份颜色表取值,避免卡片、键盘与 tm-ui 主题偏离 */
+ getCSS: () => `:root, page { ${Object.entries(themeColors).map(([key, color]) => `--pay-${key}: ${color}`).join("; ")} }`,
+ },
+ ],
+}
diff --git a/vite.config.ts b/vite.config.ts
new file mode 100644
index 0000000..6399b17
--- /dev/null
+++ b/vite.config.ts
@@ -0,0 +1,42 @@
+import path from "node:path"
+import { defineConfig, loadEnv } from "vite"
+import uni from "@dcloudio/vite-plugin-uni"
+import UnoCSS from "unocss/vite"
+
+/** 按当前模式读取后端地址;保留目标自带的 /api 等路径,只移除浏览器请求的代理前缀。 */
+function createApiProxy(mode: string) {
+ /** 沿用参考项目的 .env 变量,由 Vite 按运行模式加载,开发服务器只转发到开发后端。 */
+ const env = loadEnv(mode, __dirname, "VITE_")
+ const apiTarget = (env.VITE_APP_DEV_SERVICE || "").trim().replace(/\/+$/, "")
+ /** 与请求层共用 .env 中的本地接口前缀,默认 /api。 */
+ const apiPrefix = (env.VITE_API_URL || "/api").trim().replace(/\/+$/, "")
+ return apiTarget ? {
+ [apiPrefix]: {
+ target: apiTarget,
+ changeOrigin: true,
+ /** 微服务的 /third 与单体服务的无前缀路径由请求层决定,代理只移除本地前缀。 */
+ rewrite: (requestPath: string) => requestPath.slice(apiPrefix.length),
+ },
+ } : undefined
+}
+
+/** H5 独立开发端口避开参考 App 的 8889,别名沿用其业务目录约定 */
+export default defineConfig(({ mode }) => ({
+ plugins: [uni(), UnoCSS()],
+ resolve: {
+ alias: {
+ "@": path.resolve(__dirname, "src"),
+ "@@": path.resolve(__dirname, "src/sheep"),
+ },
+ },
+ server: {
+ host: "0.0.0.0",
+ port: 8890,
+ strictPort: true,
+ proxy: createApiProxy(mode),
+ },
+ build: {
+ target: "es2018",
+ sourcemap: false,
+ },
+}))