diff --git a/apps/base/migrations/migrations_003.py b/apps/base/migrations/migrations_003.py new file mode 100644 index 0000000..ada2286 --- /dev/null +++ b/apps/base/migrations/migrations_003.py @@ -0,0 +1,26 @@ +from tortoise import connections + + +async def create_presign_upload_session_table(): + conn = connections.get("default") + await conn.execute_script( + """ + CREATE TABLE IF NOT EXISTS presignuploadsession ( + id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + upload_id VARCHAR(36) NOT NULL UNIQUE, + file_name VARCHAR(255) NOT NULL, + file_size BIGINT NOT NULL, + save_path VARCHAR(512) NOT NULL, + mode VARCHAR(10) NOT NULL, + expire_value INT NOT NULL DEFAULT 1, + expire_style VARCHAR(20) NOT NULL DEFAULT 'day', + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + expires_at TIMESTAMP NOT NULL + ); + CREATE INDEX IF NOT EXISTS idx_presignuploadsession_upload_id ON presignuploadsession (upload_id); + """ + ) + + +async def migrate(): + await create_presign_upload_session_table() diff --git a/apps/base/models.py b/apps/base/models.py index e45c964..b38ce4c 100644 --- a/apps/base/models.py +++ b/apps/base/models.py @@ -64,6 +64,25 @@ class KeyValue(Model): ) +class PresignUploadSession(models.Model): + """预签名上传会话模型""" + id = fields.IntField(pk=True) + upload_id = fields.CharField(max_length=36, unique=True, index=True) + file_name = fields.CharField(max_length=255) + file_size = fields.BigIntField() + save_path = fields.CharField(max_length=512) + mode = fields.CharField(max_length=10) # "direct" 或 "proxy" + expire_value = fields.IntField(default=1) + expire_style = fields.CharField(max_length=20, default="day") + created_at = fields.DatetimeField(auto_now_add=True) + expires_at = fields.DatetimeField() # 会话过期时间 + + async def is_expired(self): + """检查会话是否已过期""" + return self.expires_at < await get_now() + + file_codes_pydantic = pydantic_model_creator(FileCodes, name="FileCodes") upload_chunk_pydantic = pydantic_model_creator(UploadChunk, name="UploadChunk") key_value_pydantic = pydantic_model_creator(KeyValue, name="KeyValue") +presign_upload_session_pydantic = pydantic_model_creator(PresignUploadSession, name="PresignUploadSession") diff --git a/apps/base/schemas.py b/apps/base/schemas.py index 807d6c2..efe8025 100644 --- a/apps/base/schemas.py +++ b/apps/base/schemas.py @@ -1,4 +1,5 @@ from pydantic import BaseModel +from typing import Optional class SelectFileModel(BaseModel): @@ -15,3 +16,21 @@ class InitChunkUploadModel(BaseModel): class CompleteUploadModel(BaseModel): expire_value: int expire_style: str + + +# 预签名上传相关模型 +class PresignUploadInitRequest(BaseModel): + """预签名上传初始化请求""" + file_name: str + file_size: int + expire_value: int = 1 + expire_style: str = "day" + + +class PresignUploadInitResponse(BaseModel): + """预签名上传初始化响应""" + upload_id: str + upload_url: str + mode: str # "direct" 或 "proxy" + save_path: str + expires_in: int # URL过期时间(秒) diff --git a/apps/base/views.py b/apps/base/views.py index 678b870..7804222 100644 --- a/apps/base/views.py +++ b/apps/base/views.py @@ -1,21 +1,70 @@ +import datetime import hashlib +import os import uuid +from datetime import timedelta +from urllib.parse import unquote from fastapi import APIRouter, Form, UploadFile, File, Depends, HTTPException from starlette import status from apps.admin.dependencies import share_required_login -from apps.base.models import FileCodes, UploadChunk -from apps.base.schemas import SelectFileModel, InitChunkUploadModel, CompleteUploadModel +from apps.base.models import FileCodes, UploadChunk, PresignUploadSession +from apps.base.schemas import SelectFileModel, InitChunkUploadModel, CompleteUploadModel, PresignUploadInitRequest from apps.base.utils import get_expire_info, get_file_path_name, ip_limit, get_chunk_file_path_name from core.response import APIResponse from core.settings import settings from core.storage import storages, FileStorageInterface -from core.utils import get_select_token +from core.utils import get_select_token, get_now, sanitize_filename share_api = APIRouter(prefix="/share", tags=["分享"]) +# ============ 公共服务层 ============ +class FileUploadService: + """统一的文件上传服务""" + + @staticmethod + async def generate_file_path(file_name: str, upload_id: str = None) -> tuple[str, str, str, str, str]: + """统一的路径生成""" + today = datetime.datetime.now() + storage_path = settings.storage_path.strip("/") + file_uuid = upload_id or uuid.uuid4().hex + filename = await sanitize_filename(unquote(file_name)) + base_path = f"share/data/{today.strftime('%Y/%m/%d')}/{file_uuid}" + path = f"{storage_path}/{base_path}" if storage_path else base_path + prefix, suffix = os.path.splitext(filename) + save_path = f"{path}/{filename}" + return path, suffix, prefix, filename, save_path + + @staticmethod + async def create_file_record( + file_name: str, + file_size: int, + file_path: str, + expire_value: int, + expire_style: str, + **extra_fields + ) -> str: + """统一创建FileCodes记录,返回code""" + expired_at, expired_count, used_count, code = await get_expire_info(expire_value, expire_style) + prefix, suffix = os.path.splitext(file_name) + + await FileCodes.create( + code=code, + prefix=prefix, + suffix=suffix, + uuid_file_name=file_name, + file_path=file_path, + size=file_size, + expired_at=expired_at, + expired_count=expired_count, + used_count=used_count, + **extra_fields + ) + return code + + async def validate_file_size(file: UploadFile, max_size: int) -> int: size = file.size if size is None: @@ -425,3 +474,144 @@ async def complete_upload(upload_id: str, data: CompleteUploadModel, ip: str = D except Exception: pass raise HTTPException(status.HTTP_500_INTERNAL_SERVER_ERROR, detail=f"文件合并失败: {str(e)}") + + +# ============ 预签名上传API ============ +presign_api = APIRouter(prefix="/presign", tags=["预签名上传"]) + +PRESIGN_SESSION_EXPIRES = 900 # 15分钟 + + +async def _get_valid_session(upload_id: str, expected_mode: str = None) -> PresignUploadSession: + """获取并验证会话""" + session = await PresignUploadSession.filter(upload_id=upload_id).first() + if not session: + raise HTTPException(404, "上传会话不存在") + if await session.is_expired(): + await session.delete() + raise HTTPException(404, "上传会话已过期") + if expected_mode and session.mode != expected_mode: + raise HTTPException(400, f"此会话不支持{expected_mode}模式") + return session + + +@presign_api.post("/upload/init", dependencies=[Depends(share_required_login)]) +async def presign_upload_init(data: PresignUploadInitRequest, ip: str = Depends(ip_limit["upload"])): + """初始化预签名上传,S3返回直传URL,其他存储返回代理URL""" + if data.file_size > settings.uploadSize: + raise HTTPException(403, f"文件大小超过限制,最大为 {settings.uploadSize / (1024*1024):.2f} MB") + if data.expire_style not in settings.expireStyle: + raise HTTPException(400, "过期时间类型错误") + + upload_id = uuid.uuid4().hex + path, _, _, filename, save_path = await FileUploadService.generate_file_path(data.file_name, upload_id) + + storage: FileStorageInterface = storages[settings.file_storage]() + presigned_url = await storage.generate_presigned_upload_url(save_path, PRESIGN_SESSION_EXPIRES) + + mode = "direct" if presigned_url else "proxy" + upload_url = presigned_url or f"/api/presign/upload/proxy/{upload_id}" + + await PresignUploadSession.create( + upload_id=upload_id, + file_name=filename, + file_size=data.file_size, + save_path=save_path, + mode=mode, + expire_value=data.expire_value, + expire_style=data.expire_style, + expires_at=await get_now() + timedelta(seconds=PRESIGN_SESSION_EXPIRES), + ) + + ip_limit["upload"].add_ip(ip) + return APIResponse(detail={ + "upload_id": upload_id, + "upload_url": upload_url, + "mode": mode, + "expires_in": PRESIGN_SESSION_EXPIRES, + }) + + +@presign_api.put("/upload/proxy/{upload_id}", dependencies=[Depends(share_required_login)]) +async def presign_upload_proxy(upload_id: str, file: UploadFile = File(...), ip: str = Depends(ip_limit["upload"])): + """代理模式上传,服务器转存到存储后端""" + session = await _get_valid_session(upload_id, expected_mode="proxy") + + file_size = await validate_file_size(file, settings.uploadSize) + if abs(file_size - session.file_size) > 1024: + raise HTTPException(400, "文件大小与声明不符") + + storage: FileStorageInterface = storages[settings.file_storage]() + try: + await storage.save_file(file, session.save_path) + except Exception as e: + raise HTTPException(500, f"文件保存失败: {str(e)}") + + code = await FileUploadService.create_file_record( + session.file_name, file_size, os.path.dirname(session.save_path), + session.expire_value, session.expire_style + ) + + await session.delete() + ip_limit["upload"].add_ip(ip) + return APIResponse(detail={"code": code, "name": session.file_name}) + + +@presign_api.post("/upload/confirm/{upload_id}", dependencies=[Depends(share_required_login)]) +async def presign_upload_confirm(upload_id: str, ip: str = Depends(ip_limit["upload"])): + """直传确认,客户端完成S3直传后调用获取分享码""" + session = await _get_valid_session(upload_id, expected_mode="direct") + + storage: FileStorageInterface = storages[settings.file_storage]() + if not await storage.file_exists(session.save_path): + raise HTTPException(404, "文件未上传或上传失败") + + code = await FileUploadService.create_file_record( + session.file_name, session.file_size, os.path.dirname(session.save_path), + session.expire_value, session.expire_style + ) + + await session.delete() + ip_limit["upload"].add_ip(ip) + return APIResponse(detail={"code": code, "name": session.file_name}) + + +@presign_api.get("/upload/status/{upload_id}", dependencies=[Depends(share_required_login)]) +async def presign_upload_status(upload_id: str): + """查询上传会话状态""" + session = await PresignUploadSession.filter(upload_id=upload_id).first() + if not session: + raise HTTPException(404, "上传会话不存在") + + return APIResponse(detail={ + "upload_id": session.upload_id, + "file_name": session.file_name, + "file_size": session.file_size, + "mode": session.mode, + "created_at": session.created_at.isoformat(), + "expires_at": session.expires_at.isoformat(), + "is_expired": await session.is_expired(), + }) + + +@presign_api.delete("/upload/{upload_id}", dependencies=[Depends(share_required_login)]) +async def presign_upload_cancel(upload_id: str): + """取消上传会话""" + session = await PresignUploadSession.filter(upload_id=upload_id).first() + if not session: + raise HTTPException(404, "上传会话不存在") + + if session.mode == "direct": + storage: FileStorageInterface = storages[settings.file_storage]() + try: + if await storage.file_exists(session.save_path): + temp_file_code = FileCodes( + file_path=os.path.dirname(session.save_path), + uuid_file_name=os.path.basename(session.save_path), + ) + await storage.delete_file(temp_file_code) + except Exception: + pass + + await session.delete() + return APIResponse(detail={"message": "上传会话已取消"}) diff --git a/core/storage.py b/core/storage.py index ea55006..0e820bb 100644 --- a/core/storage.py +++ b/core/storage.py @@ -79,6 +79,23 @@ class FileStorageInterface: """ raise NotImplementedError + async def generate_presigned_upload_url(self, save_path: str, expires_in: int = 900) -> Optional[str]: + """ + 生成预签名上传URL + :param save_path: 文件保存路径 + :param expires_in: URL过期时间(秒),默认15分钟 + :return: 预签名URL,如果不支持直传则返回None + """ + return None # 默认不支持直传,使用代理模式 + + async def file_exists(self, save_path: str) -> bool: + """ + 检查文件是否存在 + :param save_path: 文件路径 + :return: 文件是否存在 + """ + raise NotImplementedError + async def clean_chunks(self, upload_id: str, save_path: str): """ 清理临时分片文件 @@ -219,6 +236,15 @@ class SystemFileStorage(FileStorageInterface): except Exception as e: logger.info(f"清理 chunks 父目录失败: {e}") + async def file_exists(self, save_path: str) -> bool: + """ + 检查文件是否存在于本地文件系统 + :param save_path: 文件路径 + :return: 文件是否存在 + """ + file_path = self.root_path / save_path + return file_path.exists() + class S3FileStorage(FileStorageInterface): def __init__(self): @@ -425,6 +451,48 @@ class S3FileStorage(FileStorageInterface): except Exception as e: logger.info(f"清理 S3 分片数据时出错: {e}") + async def generate_presigned_upload_url(self, save_path: str, expires_in: int = 900) -> Optional[str]: + """ + 生成S3预签名上传URL + :param save_path: 文件保存路径 + :param expires_in: URL过期时间(秒),默认15分钟 + :return: 预签名PUT URL + """ + async with self.session.client( + "s3", + endpoint_url=self.endpoint_url, + aws_session_token=self.aws_session_token, + region_name=self.region_name, + config=Config(signature_version=self.signature_version), + ) as s3: + return await s3.generate_presigned_url( + "put_object", + Params={ + "Bucket": self.bucket_name, + "Key": save_path, + }, + ExpiresIn=expires_in, + ) + + async def file_exists(self, save_path: str) -> bool: + """ + 检查文件是否存在于S3 + :param save_path: 文件路径 + :return: 文件是否存在 + """ + async with self.session.client( + "s3", + endpoint_url=self.endpoint_url, + aws_session_token=self.aws_session_token, + region_name=self.region_name, + config=Config(signature_version=self.signature_version), + ) as s3: + try: + await s3.head_object(Bucket=self.bucket_name, Key=save_path) + return True + except Exception: + return False + class OneDriveFileStorage(FileStorageInterface): def __init__(self): @@ -660,6 +728,25 @@ class OneDriveFileStorage(FileStorageInterface): except Exception as e: logger.info(f"清理 OneDrive 分片时出错: {e}") + def _file_exists(self, save_path: str) -> bool: + """同步检查文件是否存在""" + try: + path = self._get_path_str(save_path) + self.root_path.get_by_path(path).get().execute_query() + return True + except self._ClientRequestException as e: + if e.code == "itemNotFound": + return False + raise e + + async def file_exists(self, save_path: str) -> bool: + """ + 检查文件是否存在于OneDrive + :param save_path: 文件路径 + :return: 文件是否存在 + """ + return await asyncio.to_thread(self._file_exists, save_path) + class OpenDALFileStorage(FileStorageInterface): def __init__(self): @@ -743,6 +830,18 @@ class OpenDALFileStorage(FileStorageInterface): except Exception as e: logger.info(f"清理 OpenDAL 分片时出错: {e}") + async def file_exists(self, save_path: str) -> bool: + """ + 检查文件是否存在于OpenDAL存储 + :param save_path: 文件路径 + :return: 文件是否存在 + """ + try: + await self.operator.stat(save_path) + return True + except Exception: + return False + class WebDAVFileStorage(FileStorageInterface): _instance: Optional["WebDAVFileStorage"] = None @@ -997,6 +1096,17 @@ class WebDAVFileStorage(FileStorageInterface): except Exception as e: logger.info(f"清理 WebDAV 分片时出错: {e}") + async def file_exists(self, save_path: str) -> bool: + """ + 检查文件是否存在于WebDAV + :param save_path: 文件路径 + :return: 文件是否存在 + """ + url = self._build_url(save_path) + async with aiohttp.ClientSession(auth=self.auth) as session: + async with session.head(url) as resp: + return resp.status == 200 + storages = { "local": SystemFileStorage, diff --git a/docs/api/presign-upload.md b/docs/api/presign-upload.md new file mode 100644 index 0000000..d98b20c --- /dev/null +++ b/docs/api/presign-upload.md @@ -0,0 +1,454 @@ +# 预签名上传 API 文档 + +## 概述 + +预签名上传功能提供统一的文件上传接口,根据后端存储类型自动选择最优上传方式: + +- **S3 存储**: 返回预签名 URL,客户端直传 S3(减少服务器带宽压力) +- **其他存储**: 返回代理上传 URL,通过服务器中转上传 + +## 上传流程 + +### 流程图 + +``` +┌─────────┐ 1. 初始化上传 ┌─────────┐ +│ 客户端 │ ──────────────────────▶ │ 服务器 │ +└─────────┘ └─────────┘ + │ │ + │◀─────── 返回 upload_url + mode ──┤ + │ │ + │ ┌─────────────────────────────────────────┐ + │ │ if mode == "direct" (S3存储) │ + │ │ 2a. PUT 文件到 upload_url (S3) │ + │ │ 3a. POST /confirm 确认上传 │ + │ │ │ + │ │ if mode == "proxy" (其他存储) │ + │ │ 2b. PUT 文件到 upload_url (服务器) │ + │ │ (自动返回分享码,无需确认) │ + │ └─────────────────────────────────────────┘ + │ + ▼ + 获取分享码 +``` + +--- + +## API 端点 + +### 1. 初始化上传 + +初始化预签名上传会话,获取上传 URL 和模式。 + +**请求** + +``` +POST /presign/upload/init +Content-Type: application/json +``` + +**请求体** + +| 字段 | 类型 | 必填 | 默认值 | 说明 | +| ------------ | ------- | ---- | ------ | --------------------------------------- | +| file_name | string | ✅ | - | 文件名(含扩展名) | +| file_size | integer | ✅ | - | 文件大小(字节) | +| expire_value | integer | ❌ | 1 | 过期时间值 | +| expire_style | string | ❌ | "day" | 过期类型:day/hour/minute/forever/count | + +**请求示例** + +```json +{ + "file_name": "document.pdf", + "file_size": 1048576, + "expire_value": 7, + "expire_style": "day" +} +``` + +**响应** + +```json +{ + "code": 200, + "detail": { + "upload_id": "a1b2c3d4e5f6...", + "upload_url": "https://bucket.s3.amazonaws.com/path?X-Amz-Signature=...", + "mode": "direct", + "save_path": "share/data/2024/01/01/uuid/document.pdf", + "expires_in": 900 + } +} +``` + +**响应字段说明** + +| 字段 | 类型 | 说明 | +| ---------- | ------- | ----------------------------------------------------- | +| upload_id | string | 上传会话 ID,后续操作需要 | +| upload_url | string | 上传目标 URL | +| mode | string | 上传模式:`direct`(直传 S3)或 `proxy`(服务器代理) | +| save_path | string | 文件存储路径 | +| expires_in | integer | URL 有效期(秒),默认 900 秒(15 分钟) | + +**错误响应** + +| 状态码 | 说明 | +| ------ | ------------------------------ | +| 400 | 过期时间类型错误 | +| 403 | 文件大小超过限制 / IP 频率限制 | + +--- + +### 2a. 直传模式 - 上传文件到 S3 + +当 `mode == "direct"` 时,客户端直接将文件 PUT 到返回的预签名 URL。 + +**请求** + +``` +PUT {upload_url} +Content-Type: application/octet-stream + +[文件二进制内容] +``` + +**注意事项** + +- 直接使用返回的 `upload_url`,不要修改 +- Content-Type 建议使用 `application/octet-stream` +- 这是直接请求 S3,不经过服务器 + +**JavaScript 示例** + +```javascript +const response = await fetch(uploadUrl, { + method: 'PUT', + body: file, + headers: { + 'Content-Type': 'application/octet-stream', + }, +}) + +if (response.ok) { + // 上传成功,调用确认接口 +} +``` + +--- + +### 2b. 代理模式 - 上传文件到服务器 + +当 `mode == "proxy"` 时,客户端将文件 PUT 到服务器代理端点。 + +**请求** + +``` +PUT /presign/upload/proxy/{upload_id} +Content-Type: multipart/form-data + +file: [文件] +``` + +**路径参数** + +| 参数 | 说明 | +| --------- | ------------------------- | +| upload_id | 初始化时返回的上传会话 ID | + +**响应** + +```json +{ + "code": 200, + "detail": { + "code": "123456", + "name": "document.pdf" + } +} +``` + +**注意**: 代理模式上传成功后直接返回分享码,无需调用确认接口。 + +**错误响应** + +| 状态码 | 说明 | +| ------ | --------------------------------------- | +| 400 | 文件大小与声明不符 / 会话不支持代理上传 | +| 404 | 上传会话不存在或已过期 | +| 500 | 文件保存失败 | + +--- + +### 3. 确认上传(仅直传模式) + +直传模式下,客户端完成 S3 上传后调用此接口确认并获取分享码。 + +**请求** + +``` +POST /presign/upload/confirm/{upload_id} +Content-Type: application/json +``` + +**路径参数** + +| 参数 | 说明 | +| --------- | ------------------------- | +| upload_id | 初始化时返回的上传会话 ID | + +**请求体** + +| 字段 | 类型 | 必填 | 默认值 | 说明 | +| ------------ | ------- | ---- | ------ | ---------- | +| expire_value | integer | ❌ | 1 | 过期时间值 | +| expire_style | string | ❌ | "day" | 过期类型 | + +**请求示例** + +```json +{ + "expire_value": 7, + "expire_style": "day" +} +``` + +**响应** + +```json +{ + "code": 200, + "detail": { + "code": "123456", + "name": "document.pdf" + } +} +``` + +**错误响应** + +| 状态码 | 说明 | +| ------ | --------------------------------------------- | +| 400 | 会话不支持直传确认 | +| 404 | 上传会话不存在或已过期 / 文件未上传或上传失败 | + +--- + +### 4. 查询上传状态 + +查询上传会话的当前状态。 + +**请求** + +``` +GET /presign/upload/status/{upload_id} +``` + +**响应** + +```json +{ + "code": 200, + "detail": { + "upload_id": "a1b2c3d4e5f6...", + "file_name": "document.pdf", + "file_size": 1048576, + "mode": "direct", + "created_at": "2024-01-01T12:00:00", + "expires_at": "2024-01-01T12:15:00", + "is_expired": false + } +} +``` + +**错误响应** + +| 状态码 | 说明 | +| ------ | -------------- | +| 404 | 上传会话不存在 | + +--- + +### 5. 取消上传 + +取消上传会话并清理相关资源。 + +**请求** + +``` +DELETE /presign/upload/{upload_id} +``` + +**响应** + +```json +{ + "code": 200, + "detail": { + "message": "上传会话已取消" + } +} +``` + +**错误响应** + +| 状态码 | 说明 | +| ------ | -------------- | +| 404 | 上传会话不存在 | + +--- + +## 前端集成示例 + +### 完整上传流程(JavaScript/TypeScript) + +```typescript +interface PresignInitResponse { + upload_id: string + upload_url: string + mode: 'direct' | 'proxy' + save_path: string + expires_in: number +} + +interface UploadResult { + code: string + name: string +} + +async function uploadFile( + file: File, + expireValue: number = 1, + expireStyle: string = 'day' +): Promise { + // 1. 初始化上传 + const initResponse = await fetch('/presign/upload/init', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + file_name: file.name, + file_size: file.size, + expire_value: expireValue, + expire_style: expireStyle, + }), + }) + + const initData = await initResponse.json() + if (initData.code !== 200) { + throw new Error(initData.detail) + } + + const { upload_id, upload_url, mode } = initData.detail as PresignInitResponse + + // 2. 根据模式上传文件 + if (mode === 'direct') { + // 直传模式:上传到S3 + const uploadResponse = await fetch(upload_url, { + method: 'PUT', + body: file, + headers: { 'Content-Type': 'application/octet-stream' }, + }) + + if (!uploadResponse.ok) { + throw new Error('S3上传失败') + } + + // 3. 确认上传 + const confirmResponse = await fetch( + `/presign/upload/confirm/${upload_id}`, + { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + expire_value: expireValue, + expire_style: expireStyle, + }), + } + ) + + const confirmData = await confirmResponse.json() + if (confirmData.code !== 200) { + throw new Error(confirmData.detail) + } + + return confirmData.detail + } else { + // 代理模式:上传到服务器 + const formData = new FormData() + formData.append('file', file) + + const uploadResponse = await fetch(upload_url, { + method: 'PUT', + body: formData, + }) + + const uploadData = await uploadResponse.json() + if (uploadData.code !== 200) { + throw new Error(uploadData.detail) + } + + return uploadData.detail + } +} + +// 使用示例 +const file = document.querySelector('input[type="file"]').files[0] +const result = await uploadFile(file, 7, 'day') +console.log('分享码:', result.code) +``` + +### Vue 3 组件示例 + +```vue + + + +``` + +--- + +## 注意事项 + +1. **会话有效期**: 上传会话默认 15 分钟后过期,请在有效期内完成上传 +2. **文件大小限制**: 受系统配置 `uploadSize` 限制 +3. **过期类型**: 支持 `day`、`hour`、`minute`、`forever`、`count` +4. **CORS**: 直传模式下,S3 需要配置正确的 CORS 策略 +5. **重试机制**: 建议实现上传失败重试逻辑 diff --git a/main.py b/main.py index 145b501..a4ae4f4 100644 --- a/main.py +++ b/main.py @@ -16,7 +16,7 @@ from tortoise.contrib.fastapi import register_tortoise from apps.admin.views import admin_api from apps.base.models import KeyValue from apps.base.utils import ip_limit -from apps.base.views import share_api, chunk_api +from apps.base.views import share_api, chunk_api, presign_api from core.database import init_db from core.logger import logger from core.response import APIResponse @@ -98,6 +98,7 @@ register_tortoise( app.include_router(share_api) app.include_router(chunk_api) +app.include_router(presign_api) app.include_router(admin_api) diff --git a/themes/2024/assets/AdminLayout-CoImnOQO.js b/themes/2024/assets/AdminLayout-CoImnOQO.js deleted file mode 100644 index 137ebe7..0000000 --- a/themes/2024/assets/AdminLayout-CoImnOQO.js +++ /dev/null @@ -1,21 +0,0 @@ -import{c as l,d as _,u as M,r as p,f as m,L as C,a as b,o as h,b as t,n as o,e,i as z,k as i,B as L,t as x,X as B,F as D,x as j,z as F,D as N,y as S,M as V}from"./index-14Tp7zPK.js";import{B as E}from"./box-CiSQlKtb.js";/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const I=l("cog",[["path",{d:"M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z",key:"sobvz5"}],["path",{d:"M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z",key:"11i496"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 22v-2",key:"1osdcq"}],["path",{d:"m17 20.66-1-1.73",key:"eq3orb"}],["path",{d:"M11 10.27 7 3.34",key:"16pf9h"}],["path",{d:"m20.66 17-1.73-1",key:"sg0v6f"}],["path",{d:"m3.34 7 1.73 1",key:"1ulond"}],["path",{d:"M14 12h8",key:"4f43i9"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"m20.66 7-1.73 1",key:"1ow05n"}],["path",{d:"m3.34 17 1.73-1",key:"nuk764"}],["path",{d:"m17 3.34-1 1.73",key:"2wel8s"}],["path",{d:"m11 13.73-4 6.93",key:"794ttg"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const R=l("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Z=l("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const q=l("menu",[["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 18h16",key:"19g7jn"}],["path",{d:"M4 6h16",key:"1o0s65"}]]),A={class:"flex items-center"},$={class:"rounded-full bg-gradient-to-r from-indigo-500 via-purple-500 to-pink-500 p-1 animate-spin-slow"},H={class:"flex-1 overflow-y-auto custom-scrollbar"},O={class:"p-4 space-y-2"},T=["onClick"],U={class:"flex-1 flex flex-col h-full"},W={class:"flex items-center justify-between h-16 px-4"},P=_({__name:"AdminLayout",setup(X){const d=L(),{t:n}=M(),a=z("isDarkMode"),f=[{id:"Dashboard",name:n("admin.dashboard.title"),icon:Z,redirect:"/admin/dashboard"},{id:"FileManage",name:n("admin.fileManage.title"),icon:R,redirect:"/admin/files"},{id:"Settings",name:n("admin.settings.title"),icon:I,redirect:"/admin/settings"}],r=p(!0),g=()=>{r.value=!r.value},c=()=>{window.innerWidth>=1024?r.value=!0:r.value=!1};m(()=>{c(),window.addEventListener("resize",c)}),C(()=>{window.removeEventListener("resize",c)});const k=p({page:1,size:10,total:0}),v=async()=>{try{k.value.total=85}catch(u){console.error("加载文件列表失败:",u)}};return m(()=>{v()}),(u,y)=>{const w=F("router-view");return h(),b("div",{class:o(["h-screen flex flex-col lg:flex-row transition-colors duration-300",[e(a)?"bg-gray-900":"bg-gray-50"]])},[t("aside",{class:o(["fixed inset-y-0 border-transparent left-0 z-50 w-64 transform transition-all duration-300 ease-in-out lg:relative lg:translate-x-0 border-r flex flex-col h-full lg:h-screen",[e(a)?"bg-gray-800 bg-opacity-90 backdrop-filter backdrop-blur-xl ":"bg-white ",{"-translate-x-full":!r.value}]])},[t("div",{class:o(["flex items-center justify-between h-16 px-4 border-b",[e(a)?"border-gray-700":"border-gray-200"]])},[t("div",A,[t("div",$,[t("div",{class:o(["rounded-full p-1",[e(a)?"bg-gray-800":"bg-white"]])},[i(e(E),{class:o(["w-6 h-6",[e(a)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"])],2)]),t("h1",{onClick:y[0]||(y[0]=s=>e(d).push("/")),class:o(["ml-2 text-xl font-semibold cursor-pointer",[e(a)?"text-white":"text-gray-800"]])},x(e(n)("common.appName")),3)]),t("button",{onClick:g,class:"lg:hidden"},[i(e(B),{class:o(["w-6 h-6",[e(a)?"text-gray-400":"text-gray-600"]])},null,8,["class"])])],2),t("nav",H,[t("ul",O,[(h(),b(D,null,j(f,s=>t("li",{key:s.id},[t("a",{onClick:G=>e(d).push(s.redirect),class:o(["flex items-center p-2 rounded-lg transition-colors duration-200",[e(d).currentRoute.value.name===s.id?e(a)?"bg-indigo-900 text-indigo-400":"bg-indigo-100 text-indigo-600":e(a)?"text-gray-400 hover:bg-gray-700":"text-gray-600 hover:bg-gray-100"]])},[(h(),N(V(s.icon),{class:"w-5 h-5 mr-3"})),S(" "+x(s.name),1)],10,T)])),64))])])],2),t("div",U,[t("header",{class:o(["shadow-md border-b transition-colors duration-300 h-16",[e(a)?"bg-gray-800 border-gray-700":"bg-white border-gray-200"]])},[t("div",W,[t("button",{onClick:g,class:"lg:hidden"},[i(e(q),{class:o(["w-6 h-6",[e(a)?"text-gray-400":"text-gray-600"]])},null,8,["class"])])])],2),t("main",{class:o(["overflow-y-auto transition-colors duration-300 custom-scrollbar",[e(a)?"bg-gray-900":"bg-gray-50"]])},[i(w)],2)])],2)}}});export{P as default}; diff --git a/themes/2024/assets/AdminLayout-nlp_lohe.css b/themes/2024/assets/AdminLayout-nlp_lohe.css deleted file mode 100644 index b39e160..0000000 --- a/themes/2024/assets/AdminLayout-nlp_lohe.css +++ /dev/null @@ -1 +0,0 @@ -.switch{position:relative;display:inline-block;width:60px;height:34px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#e5e7eb;transition:.4s}.dark .slider{background-color:#4b5563}input:checked+.slider{background-color:#4f46e5}.dark input:checked+.slider{background-color:#4f46e5}.slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s}.dark .slider:before{background-color:#e5e7eb}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin-slow{animation:spin 8s linear infinite}.transition-colors{transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:#cbd5e0;border-radius:3px}:is():hover{background-color:#a0aec0}:global(.dark) .custom-scrollbar::-webkit-scrollbar-thumb{background-color:#4a5568}:is():hover{background-color:#2d3748} diff --git a/themes/2024/assets/DashboardView-BQRsJrnN.js b/themes/2024/assets/DashboardView-BQRsJrnN.js deleted file mode 100644 index ada2b0b..0000000 --- a/themes/2024/assets/DashboardView-BQRsJrnN.js +++ /dev/null @@ -1,11 +0,0 @@ -import{c as _,d as S,g as x,a as M,o as v,n as d,e as t,i as k,b as s,t as r,D,M as w,E as F,u as U,N as B,f as z,k as g,m,y as C,S as $}from"./index-14Tp7zPK.js";import{F as N}from"./file-CN_5aebv.js";import{H as T}from"./hard-drive-DvXIDK_-.js";/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const H=_("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const V=_("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]),j={class:"flex items-center justify-between"},b=S({__name:"StatCard",props:{title:{},value:{},icon:{},iconColor:{},descriptionType:{default:"neutral"}},setup(f){const l=f,e=k("isDarkMode"),a=x(()=>({indigo:e?"bg-indigo-900":"bg-indigo-100",purple:e?"bg-purple-900":"bg-purple-100",green:e?"bg-green-900":"bg-green-100",blue:e?"bg-blue-900":"bg-blue-100"})[l.iconColor]),h=x(()=>({indigo:e?"text-indigo-400":"text-indigo-600",purple:e?"text-purple-400":"text-purple-600",green:e?"text-green-400":"text-green-600",blue:e?"text-blue-400":"text-blue-600"})[l.iconColor]),p=x(()=>({success:e?"text-green-400":"text-green-600",error:e?"text-red-400":"text-red-600",neutral:e?"text-gray-400":"text-gray-600"})[l.descriptionType]);return(i,o)=>(v(),M("div",{class:d(["p-6 rounded-lg shadow-md transition-colors duration-300",[t(e)?"bg-gray-800 bg-opacity-70":"bg-white"]])},[s("div",j,[s("div",null,[s("p",{class:d(["text-sm",[t(e)?"text-gray-400":"text-gray-600"]])},r(i.title),3),s("h3",{class:d(["text-2xl font-bold mt-1",[t(e)?"text-white":"text-gray-800"]])},r(i.value),3)]),s("div",{class:d(["p-3 rounded-full",a.value])},[(v(),D(w(i.icon),{class:d(["w-6 h-6",h.value])},null,8,["class"]))],2)]),s("p",{class:d(["text-sm mt-2",p.value])},[F(i.$slots,"description")],2)],2))}}),I={class:"p-6 overflow-y-auto custom-scrollbar"},L={class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8"},A={class:"ml-2"},E={class:"ml-2"},q={class:"text-sm mt-1"},J=S({__name:"DashboardView",setup(f){const l=k("isDarkMode"),{t:e}=U(),a=B({totalFiles:0,storageUsed:0,yesterdayCount:0,todayCount:0,yesterdaySize:0,todaySize:0,sysUptime:0}),h=o=>{const c=new Date().getTime()-o,u=Math.floor(c/(1440*60*1e3)),y=Math.floor(c%(1440*60*1e3)/(3600*1e3));return`${u}天${y}小时`},p=o=>{const n=parseInt(o)/1024,c=n/1024,u=c/1024,y=u/1024;return y>1?`${y.toFixed(2)}TB`:u>1?`${u.toFixed(2)}GB`:c>1?`${c.toFixed(2)}MB`:n>1?`${n.toFixed(2)}KB`:`${o}B`},i=async()=>{const o=await $.getDashboard();o.detail&&(a.totalFiles=o.detail.totalFiles,a.storageUsed=p(o.detail.storageUsed.toString()),a.yesterdaySize=p(o.detail.yesterdaySize.toString()),a.todaySize=p(o.detail.todaySize.toString()),a.yesterdayCount=o.detail.yesterdayCount,a.todayCount=o.detail.todayCount,a.sysUptime=h(Number(o.detail.sysUptime)))};return z(()=>{i()}),(o,n)=>(v(),M("div",I,[s("h2",{class:d(["text-2xl font-bold mb-6",[t(l)?"text-white":"text-gray-800"]])},r(t(e)("admin.dashboard.title")),3),s("div",L,[g(b,{title:t(e)("admin.dashboard.totalFiles"),value:a.totalFiles,icon:t(N),"icon-color":"indigo","description-type":"success"},{description:m(()=>[s("span",null,r(t(e)("admin.dashboard.yesterday"))+":"+r(a.yesterdayCount),1),s("span",A,r(t(e)("admin.dashboard.today"))+":"+r(a.todayCount),1)]),_:1},8,["title","value","icon"]),g(b,{title:t(e)("admin.dashboard.storageSpace"),value:a.storageUsed,icon:t(T),"icon-color":"purple","description-type":"success"},{description:m(()=>[s("span",null,r(t(e)("admin.dashboard.yesterday"))+":"+r(a.yesterdaySize),1),s("span",E,r(t(e)("admin.dashboard.today"))+":"+r(a.todaySize),1)]),_:1},8,["title","value","icon"]),g(b,{title:t(e)("admin.dashboard.activeUsers"),value:"25",icon:t(V),"icon-color":"green","description-type":"error"},{description:m(()=>[s("span",null,r(t(e)("admin.dashboard.weeklyChange")),1)]),_:1},8,["title","icon"]),g(b,{title:t(e)("admin.dashboard.systemStatus"),value:t(e)("admin.dashboard.normal"),icon:t(H),"icon-color":"blue","description-type":"neutral"},{description:m(()=>[C(r(t(e)("admin.dashboard.serverUptime"))+": "+r(a.sysUptime),1)]),_:1},8,["title","value","icon"])]),s("div",{class:d(["mt-auto text-center py-4",[t(l)?"text-gray-400":"text-gray-600"]])},[n[1]||(n[1]=s("p",{class:"text-sm"}," 版本 v2.2.1 更新时间:2025-09-04 ",-1)),s("p",q,[C(" © "+r(new Date().getFullYear())+" ",1),n[0]||(n[0]=s("a",{href:"https://github.com/vastsa/FileCodeBox"},"FileCodeBox",-1))])],2)]))}});export{J as default}; diff --git a/themes/2024/assets/FileManageView-CZQWWk0t.js b/themes/2024/assets/FileManageView-CZQWWk0t.js deleted file mode 100644 index e3c71f0..0000000 --- a/themes/2024/assets/FileManageView-CZQWWk0t.js +++ /dev/null @@ -1,26 +0,0 @@ -import{c as P,d as V,a as x,o as h,n as o,e as t,i as L,b as e,E as B,t as l,F as S,x as T,g as F,k as u,y as k,u as N,r as $,l as Q,j as W,p as v,v as w,O as X,m as E,P as D}from"./index-14Tp7zPK.js";import{F as Z}from"./file-CN_5aebv.js";import{T as ee}from"./trash-BTMfj7si.js";/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const _=P("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const te=P("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const oe=P("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const A=P("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const I=P("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]),ae={class:"overflow-x-auto"},ie=V({__name:"DataTable",props:{title:{},headers:{}},setup(z){const y=L("isDarkMode");return(i,a)=>(h(),x("div",{class:o(["rounded-lg shadow-sm overflow-hidden transition-all duration-300",[t(y)?"bg-gray-800 bg-opacity-70":"bg-white"]])},[e("div",{class:o(["px-6 py-4 border-b",[t(y)?"border-gray-700":"border-gray-200"]])},[e("h3",{class:o(["text-lg font-medium",[t(y)?"text-white":"text-gray-800"]])},l(i.title),3)],2),e("div",ae,[e("table",{class:o(["min-w-full divide-y",[t(y)?"divide-gray-700":"divide-gray-200"]])},[e("thead",{class:o([t(y)?"bg-gray-900/50":"bg-gray-50"])},[e("tr",null,[(h(!0),x(S,null,T(i.headers,b=>(h(),x("th",{key:b,class:o(["px-6 py-3.5 text-left text-xs font-medium uppercase tracking-wider",[t(y)?"text-gray-400":"text-gray-500"]])},l(b),3))),128))])],2),e("tbody",{class:o([t(y)?"bg-gray-800/50 divide-y divide-gray-700":"bg-white divide-y divide-gray-200"])},[B(i.$slots,"body")],2)],2)]),B(i.$slots,"footer")],2))}}),se={class:"flex items-center space-x-2"},re=["disabled"],ne={class:"flex items-center space-x-1"},le=["onClick"],de=["disabled"],ge=V({__name:"DataPagination",props:{currentPage:{},pageSize:{},total:{}},emits:["page-change"],setup(z){const y=z,i=L("isDarkMode"),a=F(()=>Math.ceil(y.total/y.pageSize)),b=F(()=>{const d=y.currentPage,p=a.value,g=2,f=[];f.push(1);const c=Math.max(2,d-g),C=Math.min(p-1,d+g);c>2&&f.push("...");for(let m=c;m<=C;m++)f.push(m);return C1&&f.push(p),f});return(d,p)=>(h(),x("div",{class:o(["mt-4 flex items-center justify-between px-6 py-4 border-t",[t(i)?"border-gray-700":"border-gray-200"]])},[e("div",{class:o(["flex items-center text-sm",[t(i)?"text-gray-400":"text-gray-500"]])}," 显示第 "+l((d.currentPage-1)*d.pageSize+1)+" 到 "+l(Math.min(d.currentPage*d.pageSize,d.total))+" 条,共 "+l(d.total)+" 条 ",3),e("div",se,[e("button",{onClick:p[0]||(p[0]=g=>d.$emit("page-change",d.currentPage-1)),disabled:d.currentPage===1,class:o(["inline-flex items-center px-3 py-1.5 rounded-md transition-colors duration-200",[t(i)?d.currentPage===1?"bg-gray-800 text-gray-600 cursor-not-allowed":"bg-gray-800 text-gray-300 hover:bg-gray-700":d.currentPage===1?"bg-gray-100 text-gray-400 cursor-not-allowed":"bg-gray-100 text-gray-700 hover:bg-gray-200"]])},[u(t(oe),{class:"w-4 h-4"}),p[2]||(p[2]=k(" 上一页 ",-1))],10,re),e("div",ne,[(h(!0),x(S,null,T(b.value,g=>(h(),x(S,{key:g},[g!=="..."?(h(),x("button",{key:0,onClick:f=>d.$emit("page-change",g),class:o(["inline-flex items-center px-3 py-1.5 rounded-md transition-colors duration-200",[d.currentPage===g?"bg-indigo-600 text-white":t(i)?"bg-gray-800 text-gray-300 hover:bg-gray-700":"bg-gray-100 text-gray-700 hover:bg-gray-200"]])},l(g),11,le)):(h(),x("span",{key:1,class:o(["px-2",[t(i)?"text-gray-400":"text-gray-500"]])}," ... ",2))],64))),128))]),e("button",{onClick:p[1]||(p[1]=g=>d.$emit("page-change",d.currentPage+1)),disabled:d.currentPage>=a.value,class:o(["inline-flex items-center px-3 py-1.5 rounded-md transition-colors duration-200",[t(i)?d.currentPage>=a.value?"bg-gray-800 text-gray-600 cursor-not-allowed":"bg-gray-800 text-gray-300 hover:bg-gray-700":d.currentPage>=a.value?"bg-gray-100 text-gray-400 cursor-not-allowed":"bg-gray-100 text-gray-700 hover:bg-gray-200"]])},[p[3]||(p[3]=k(" 下一页 ",-1)),u(t(te),{class:"w-4 h-4"})],10,de)])],2))}}),ce={class:"p-6 overflow-y-auto custom-scrollbar"},ue={class:"mb-8"},pe={class:"flex flex-1 gap-4 w-full sm:w-auto"},ye={class:"relative flex-1"},xe=["placeholder"],he={class:"px-6 py-4 whitespace-nowrap"},fe={class:"flex items-center"},me={class:"px-6 py-4"},be={class:"flex items-center group relative"},ve=["title"],we={class:"absolute left-0 -top-2 -translate-y-full opacity-0 group-hover:opacity-100 transition-opacity duration-200 pointer-events-none"},_e={class:"bg-gray-900 text-white text-sm rounded px-2 py-1 max-w-xs break-all"},ke={class:"px-6 py-4 whitespace-nowrap"},Me={class:"px-6 py-4"},Pe={class:"group relative"},Ce={class:"absolute left-0 -top-2 -translate-y-full opacity-0 group-hover:opacity-100 transition-opacity duration-200 pointer-events-none z-10"},$e={class:"bg-gray-900 text-white text-sm rounded px-2 py-1 max-w-xs break-all"},Se={class:"px-6 py-4 whitespace-nowrap"},Fe={class:"px-6 py-4 whitespace-nowrap text-right text-sm font-medium"},ze={class:"flex items-center space-x-2"},je=["onClick"],De=["onClick"],Ve={key:0,class:"fixed inset-0 z-50","aria-labelledby":"modal-title",role:"dialog","aria-modal":"true"},Le={class:"fixed inset-0 z-10 overflow-y-auto"},Te={class:"flex min-h-full items-center justify-center p-4 text-center sm:p-0"},Ue={class:"flex items-center justify-between"},Be={class:"flex items-center space-x-3"},Ee={class:"px-6 py-5"},Ae={class:"grid gap-6"},Ie={class:"space-y-2 group"},He={class:"relative rounded-lg shadow-sm"},Ke=["placeholder"],qe={class:"absolute inset-y-0 right-0 flex items-center pr-3 pointer-events-none transition-opacity duration-200 opacity-0 group-focus-within:opacity-100"},Oe={class:"space-y-2 group"},Re={class:"relative rounded-lg shadow-sm"},Ye=["placeholder"],Ge={class:"absolute inset-y-0 right-0 flex items-center pr-3 pointer-events-none transition-opacity duration-200 opacity-0 group-focus-within:opacity-100"},Je={class:"space-y-2 group"},Ne={class:"relative rounded-lg shadow-sm"},Qe=["placeholder"],We={class:"absolute inset-y-0 right-0 flex items-center pr-3 pointer-events-none transition-opacity duration-200 opacity-0 group-focus-within:opacity-100"},Xe={class:"space-y-2 group"},Ze={class:"relative rounded-lg shadow-sm"},et={class:"absolute inset-y-0 right-0 flex items-center pr-3 pointer-events-none transition-opacity duration-200 opacity-0 group-focus-within:opacity-100"},tt={class:"space-y-2 group"},ot={class:"relative rounded-lg shadow-sm"},at=["placeholder"],it={class:"absolute inset-y-0 right-0 flex items-center pr-3 pointer-events-none transition-opacity duration-200 opacity-0 group-focus-within:opacity-100"},lt=V({__name:"FileManageView",setup(z){function y(r){const n=new Date(r),s=n.getFullYear(),j=(n.getMonth()+1).toString().padStart(2,"0"),R=n.getDate().toString().padStart(2,"0"),Y=n.getHours().toString().padStart(2,"0"),G=n.getMinutes().toString().padStart(2,"0"),J=n.getSeconds().toString().padStart(2,"0");return`${s}-${j}-${R} ${Y}:${G}:${J}`}const{t:i}=N(),a=L("isDarkMode"),b=$([]),d=Q(),p=F(()=>[i("fileManage.headers.code"),i("fileManage.headers.name"),i("fileManage.headers.size"),i("fileManage.headers.description"),i("fileManage.headers.expiration"),i("fileManage.headers.actions")]),g=$({page:1,size:10,total:0,keyword:""}),f=$(!1),c=$({id:null,code:"",prefix:"",suffix:"",expired_at:"",expired_count:null}),C=r=>{c.value={id:r.id,code:r.code,prefix:r.prefix,suffix:r.suffix,expired_at:r.expired_at?r.expired_at.slice(0,16):"",expired_count:r.expired_count},f.value=!0},m=()=>{f.value=!1,c.value={id:null,code:"",prefix:"",suffix:"",expired_at:"",expired_count:null}},H=async()=>{try{await D.updateFile(c.value),await M(),m()}catch(r){const n=r;d.showAlert(n.response?.data?.detail||i("manage.fileManage.updateFailed"),"error")}},K=async r=>{try{await D.deleteAdminFile(r),await M()}catch(n){console.error(i("manage.fileManage.deleteFailed"),n)}},M=async()=>{try{const r=await D.getAdminFileList(g.value);r.detail&&(b.value=r.detail.data,g.value.total=r.detail.total)}catch(r){console.error(i("manage.fileManage.loadFileListFailed"),r)}},q=async r=>{typeof r!="string"&&(r<1||r>O.value||(g.value.page=r,await M()))};M();const O=F(()=>Math.ceil(g.value.total/g.value.size)),U=async()=>{g.value.page=1,await M()};return(r,n)=>(h(),x("div",ce,[e("div",ue,[e("h2",{class:o(["text-2xl font-bold mb-4",[t(a)?"text-white":"text-gray-800"]])},l(t(i)("fileManage.title")),3)]),e("div",{class:o(["mb-6 flex flex-col sm:flex-row gap-4 items-start sm:items-center justify-between bg-opacity-70 p-4 rounded-lg shadow-sm",[t(a)?"bg-gray-800":"bg-white"]])},[e("div",pe,[e("div",ye,[v(e("input",{type:"text","onUpdate:modelValue":n[0]||(n[0]=s=>g.value.keyword=s),onKeyup:X(U,["enter"]),class:o([t(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400":"bg-white border-gray-300 text-gray-900 placeholder-gray-400","w-full pl-10 pr-4 py-2.5 rounded-lg border focus:ring-2 focus:ring-indigo-500 focus:border-transparent"]),placeholder:t(i)("fileManage.searchPlaceholder")},null,42,xe),[[w,g.value.keyword]]),u(t(I),{class:o(["absolute left-3 top-3 w-5 h-5",[t(a)?"text-gray-400":"text-gray-500"]])},null,8,["class"])]),e("button",{onClick:U,class:"px-4 py-2.5 rounded-lg inline-flex items-center transition-all duration-200 bg-indigo-600 hover:bg-indigo-700 text-white shadow-sm"},[u(t(I),{class:"w-5 h-5 mr-2"}),k(" "+l(t(i)("common.search")),1)])])],2),u(ie,{title:t(i)("fileManage.allFiles"),headers:p.value},{body:E(()=>[(h(!0),x(S,null,T(b.value,s=>(h(),x("tr",{key:s.id,class:o(["hover:bg-opacity-50 transition-colors duration-200",[t(a)?"hover:bg-gray-700":"hover:bg-gray-50"]])},[e("td",he,[e("div",fe,[e("span",{class:o(["font-medium select-all",[t(a)?"text-white":"text-gray-900"]])},l(s.code),3)])]),e("td",me,[e("div",be,[u(t(Z),{class:o(["w-5 h-5 mr-2 flex-shrink-0",[t(a)?"text-indigo-400":"text-indigo-500"]])},null,8,["class"]),e("span",{class:o(["font-medium truncate max-w-[200px]",[t(a)?"text-white":"text-gray-900"]]),title:s.prefix},l(s.prefix),11,ve),e("div",we,[e("div",_e,l(s.prefix),1)])])]),e("td",ke,[e("span",{class:o(["inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium",[t(a)?"bg-gray-700 text-gray-300":"bg-gray-100 text-gray-800"]])},l(Math.round(s.size/1024/1024*100)/100)+"MB ",3)]),e("td",Me,[e("div",Pe,[e("span",{class:o(["block truncate max-w-[250px]",[t(a)?"text-gray-400":"text-gray-500"]])},l(s.text),3),e("div",Ce,[e("div",$e,l(s.text),1)])])]),e("td",Se,[e("span",{class:o(["inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium",[s.expired_at?t(a)?"bg-yellow-900/30 text-yellow-400":"bg-yellow-100 text-yellow-800":t(a)?"bg-green-900/30 text-green-400":"bg-green-100 text-green-800"]])},l(s.expired_at?y(s.expired_at):t(i)("send.expiration.units.forever")),3)]),e("td",Fe,[e("div",ze,[e("button",{onClick:j=>C(s),class:o(["inline-flex items-center px-3 py-1.5 rounded-md transition-colors duration-200",[t(a)?"bg-blue-900/20 text-blue-400 hover:bg-blue-900/30":"bg-blue-50 text-blue-600 hover:bg-blue-100"]])},[u(t(A),{class:"w-4 h-4 mr-1.5"}),k(" "+l(t(i)("common.edit")),1)],10,je),e("button",{onClick:j=>K(s.id),class:o(["inline-flex items-center px-3 py-1.5 rounded-md transition-colors duration-200",[t(a)?"bg-red-900/20 text-red-400 hover:bg-red-900/30":"bg-red-50 text-red-600 hover:bg-red-100"]])},[u(t(ee),{class:"w-4 h-4 mr-1.5"}),k(" "+l(t(i)("common.delete")),1)],10,De)])])],2))),128))]),footer:E(()=>[u(ge,{"current-page":g.value.page,"page-size":g.value.size,total:g.value.total,onPageChange:q},null,8,["current-page","page-size","total"])]),_:1},8,["title","headers"]),f.value?(h(),x("div",Ve,[e("div",{class:"fixed inset-0 bg-gradient-to-br from-gray-900/90 to-black/90 backdrop-blur-sm transition-opacity duration-300",onClick:m}),e("div",Le,[e("div",Te,[e("div",{class:o(["relative transform overflow-hidden rounded-2xl text-left shadow-2xl transition-all sm:my-8 sm:w-full sm:max-w-xl animate-modal-scale",[t(a)?"bg-gray-800/95 backdrop-blur-md":"bg-white"]])},[e("div",{class:o(["relative px-6 pt-6 pb-4",[t(a)?"bg-gradient-to-r from-gray-800/50 to-gray-700/50":"bg-gradient-to-r from-gray-50 to-white"]])},[e("div",Ue,[e("div",Be,[e("div",{class:o(["p-2 rounded-lg",[t(a)?"bg-indigo-500/10":"bg-indigo-50"]])},[u(t(A),{class:o(["w-5 h-5",[t(a)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"])],2),e("h3",{class:o(["text-xl font-semibold leading-6",[t(a)?"text-white":"text-gray-900"]])},l(t(i)("fileManage.editFileInfo")),3)]),e("button",{onClick:m,class:o(["rounded-lg p-2 transition-all duration-200 hover:rotate-90",[t(a)?"text-gray-400 hover:text-white hover:bg-white/10":"text-gray-500 hover:text-gray-700 hover:bg-gray-100"]])},[...n[6]||(n[6]=[e("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"})],-1)])],2)])],2),e("div",Ee,[e("div",Ae,[e("div",Ie,[e("label",{class:o(["text-sm font-medium flex items-center space-x-2 transition-colors duration-200",[t(a)?"text-gray-300 group-focus-within:text-indigo-400":"text-gray-700 group-focus-within:text-indigo-600"]])},[e("span",null,l(t(i)("fileManage.form.code")),1),e("div",{class:o(["h-px flex-1 transition-colors duration-200",[t(a)?"bg-gray-700 group-focus-within:bg-indigo-500/50":"bg-gray-200 group-focus-within:bg-indigo-500/30"]])},null,2)],2),e("div",He,[v(e("input",{type:"text","onUpdate:modelValue":n[1]||(n[1]=s=>c.value.code=s),class:o(["block w-full rounded-lg border-0 py-2.5 pl-4 pr-10 transition-all duration-200 focus:ring-2 focus:ring-inset sm:text-sm",[t(a)?"bg-gray-700/50 text-white placeholder-gray-400 focus:ring-indigo-500/50":"bg-gray-50 text-gray-900 placeholder-gray-400 focus:ring-indigo-500"]]),placeholder:t(i)("fileManage.form.codePlaceholder")},null,10,Ke),[[w,c.value.code]]),e("div",qe,[u(t(_),{class:o(["w-5 h-5",[t(a)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"])])])]),e("div",Oe,[e("label",{class:o(["text-sm font-medium flex items-center space-x-2 transition-colors duration-200",[t(a)?"text-gray-300 group-focus-within:text-indigo-400":"text-gray-700 group-focus-within:text-indigo-600"]])},[e("span",null,l(t(i)("fileManage.form.filename")),1),e("div",{class:o(["h-px flex-1 transition-colors duration-200",[t(a)?"bg-gray-700 group-focus-within:bg-indigo-500/50":"bg-gray-200 group-focus-within:bg-indigo-500/30"]])},null,2)],2),e("div",Re,[v(e("input",{type:"text","onUpdate:modelValue":n[2]||(n[2]=s=>c.value.prefix=s),class:o(["block w-full rounded-lg border-0 py-2.5 pl-4 pr-10 transition-all duration-200 focus:ring-2 focus:ring-inset sm:text-sm",[t(a)?"bg-gray-700/50 text-white placeholder-gray-400 focus:ring-indigo-500/50":"bg-gray-50 text-gray-900 placeholder-gray-400 focus:ring-indigo-500"]]),placeholder:t(i)("fileManage.form.filenamePlaceholder")},null,10,Ye),[[w,c.value.prefix]]),e("div",Ge,[u(t(_),{class:o(["w-5 h-5",[t(a)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"])])])]),e("div",Je,[e("label",{class:o(["text-sm font-medium flex items-center space-x-2 transition-colors duration-200",[t(a)?"text-gray-300 group-focus-within:text-indigo-400":"text-gray-700 group-focus-within:text-indigo-600"]])},[e("span",null,l(t(i)("fileManage.form.suffix")),1),e("div",{class:o(["h-px flex-1 transition-colors duration-200",[t(a)?"bg-gray-700 group-focus-within:bg-indigo-500/50":"bg-gray-200 group-focus-within:bg-indigo-500/30"]])},null,2)],2),e("div",Ne,[v(e("input",{type:"text","onUpdate:modelValue":n[3]||(n[3]=s=>c.value.suffix=s),class:o(["block w-full rounded-lg border-0 py-2.5 pl-4 pr-10 transition-all duration-200 focus:ring-2 focus:ring-inset sm:text-sm",[t(a)?"bg-gray-700/50 text-white placeholder-gray-400 focus:ring-indigo-500/50":"bg-gray-50 text-gray-900 placeholder-gray-400 focus:ring-indigo-500"]]),placeholder:t(i)("fileManage.form.suffixPlaceholder")},null,10,Qe),[[w,c.value.suffix]]),e("div",We,[u(t(_),{class:o(["w-5 h-5",[t(a)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"])])])]),e("div",Xe,[e("label",{class:o(["text-sm font-medium flex items-center space-x-2 transition-colors duration-200",[t(a)?"text-gray-300 group-focus-within:text-indigo-400":"text-gray-700 group-focus-within:text-indigo-600"]])},[e("span",null,l(t(i)("send.expiration.label")),1),e("div",{class:o(["h-px flex-1 transition-colors duration-200",[t(a)?"bg-gray-700 group-focus-within:bg-indigo-500/50":"bg-gray-200 group-focus-within:bg-indigo-500/30"]])},null,2)],2),e("div",Ze,[v(e("input",{type:"datetime-local","onUpdate:modelValue":n[4]||(n[4]=s=>c.value.expired_at=s),class:o(["block w-full rounded-lg border-0 py-2.5 pl-4 pr-10 transition-all duration-200 focus:ring-2 focus:ring-inset sm:text-sm",[t(a)?"bg-gray-700/50 text-white placeholder-gray-400 focus:ring-indigo-500/50":"bg-gray-50 text-gray-900 placeholder-gray-400 focus:ring-indigo-500"]])},null,2),[[w,c.value.expired_at]]),e("div",et,[u(t(_),{class:o(["w-5 h-5",[t(a)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"])])])]),e("div",tt,[e("label",{class:o(["text-sm font-medium flex items-center space-x-2 transition-colors duration-200",[t(a)?"text-gray-300 group-focus-within:text-indigo-400":"text-gray-700 group-focus-within:text-indigo-600"]])},[e("span",null,l(t(i)("fileManage.form.downloadLimit")),1),e("div",{class:o(["h-px flex-1 transition-colors duration-200",[t(a)?"bg-gray-700 group-focus-within:bg-indigo-500/50":"bg-gray-200 group-focus-within:bg-indigo-500/30"]])},null,2)],2),e("div",ot,[v(e("input",{type:"number","onUpdate:modelValue":n[5]||(n[5]=s=>c.value.expired_count=s),class:o(["block w-full rounded-lg border-0 py-2.5 pl-4 pr-10 transition-all duration-200 focus:ring-2 focus:ring-inset sm:text-sm",[t(a)?"bg-gray-700/50 text-white placeholder-gray-400 focus:ring-indigo-500/50":"bg-gray-50 text-gray-900 placeholder-gray-400 focus:ring-indigo-500"]]),placeholder:t(i)("fileManage.form.downloadLimitPlaceholder")},null,10,at),[[w,c.value.expired_count]]),e("div",it,[u(t(_),{class:o(["w-5 h-5",[t(a)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"])])])])])]),e("div",{class:o(["flex items-center justify-end gap-3 px-6 py-4 border-t bg-gradient-to-b",[t(a)?"border-gray-700/50 from-gray-800/50 to-gray-800":"border-gray-200 from-gray-50 to-white"]])},[e("button",{onClick:m,class:o(["inline-flex items-center justify-center rounded-lg px-4 py-2.5 text-sm font-medium transition-all duration-200",[t(a)?"bg-gray-700/50 text-gray-300 hover:bg-gray-600/50 hover:text-white":"bg-gray-100 text-gray-700 hover:bg-gray-200"]])},l(t(i)("common.cancel")),3),e("button",{onClick:H,class:"inline-flex items-center justify-center rounded-lg px-4 py-2.5 text-sm font-medium transition-all duration-200 bg-gradient-to-r from-indigo-600 to-indigo-500 hover:from-indigo-500 hover:to-indigo-600 text-white shadow-lg shadow-indigo-500/25 hover:shadow-indigo-500/35"},[u(t(_),{class:"w-4 h-4 mr-2"}),k(" "+l(t(i)("fileManage.saveChanges")),1)])],2)],2)])])])):W("",!0)]))}});export{lt as default}; diff --git a/themes/2024/assets/LoginView-B4xHkhLy.js b/themes/2024/assets/LoginView-B4xHkhLy.js deleted file mode 100644 index 7b56e14..0000000 --- a/themes/2024/assets/LoginView-B4xHkhLy.js +++ /dev/null @@ -1 +0,0 @@ -import{K as y,r as c,V as u,g as b,d as w,l as x,a as h,o as S,b as e,n as d,e as i,i as A,k,h as I,p as D,v as N,y as T,t as _,W as M,B as O,_ as V}from"./index-14Tp7zPK.js";import{B as E}from"./box-CiSQlKtb.js";const B=y("admin",()=>{const p=c(localStorage.getItem(u.ADMIN_PASSWORD)||""),a=c(localStorage.getItem(u.TOKEN)||""),s=c(!1),l=c(null),n=b(()=>s.value&&!!a.value),f=o=>{p.value=o,localStorage.setItem(u.ADMIN_PASSWORD,o)},g=o=>{a.value=o,localStorage.setItem(u.TOKEN,o)},m=o=>{l.value=o,s.value=!0,g(o.token)};return{adminPassword:p,token:a,isLoggedIn:s,userInfo:l,isAuthenticated:n,updateAdminPassword:f,setToken:g,setUserInfo:m,login:o=>{m(o)},logout:()=>{p.value="",a.value="",s.value=!1,l.value=null,localStorage.removeItem(u.ADMIN_PASSWORD),localStorage.removeItem(u.TOKEN)},initAuth:()=>{const o=localStorage.getItem(u.TOKEN);o&&(a.value=o,s.value=!0)}}}),K=B,j={class:"mx-auto h-16 w-16 relative"},P={class:"rounded-md shadow-sm -space-y-px"},R=["disabled"],L=w({__name:"LoginView",setup(p){const a=x(),s=c(""),l=c(!1),n=A("isDarkMode"),f=K(),g=()=>{let r=!0;return s.value?s.value.length<6&&(a.showAlert("密码长度至少为6位","error"),r=!1):(a.showAlert("无效的密码","error"),r=!1),r},m=O(),v=async()=>{if(g()){l.value=!0;try{const r=await M.login(s.value);r.detail?.token?(f.setToken(r.detail.token),m.push("/admin")):a.showAlert("登录失败:未获取到有效令牌","error")}catch(r){const t=r&&typeof r=="object"&&"response"in r&&r.response?.data?.detail||"登录失败";a.showAlert(t,"error")}finally{l.value=!1}}};return(r,t)=>(S(),h("div",{class:d(["min-h-screen flex items-center justify-center py-12 px-4 sm:px-6 lg:px-8 transition-colors duration-200 relative overflow-hidden",i(n)?"bg-gray-900":"bg-gray-50"])},[t[6]||(t[6]=e("div",{class:"absolute inset-0 z-0"},[e("div",{class:"cyber-grid"}),e("div",{class:"floating-particles"})],-1)),e("div",{class:d(["max-w-md w-full space-y-8 backdrop-blur-lg bg-opacity-20 p-8 rounded-xl border border-opacity-20",[i(n)?"bg-gray-800 border-gray-600":"bg-white/70 border-gray-200"]])},[e("div",null,[e("div",j,[t[1]||(t[1]=e("div",{class:"absolute inset-0 bg-gradient-to-r from-cyan-500 via-purple-500 to-pink-500 rounded-full animate-spin-slow"},null,-1)),t[2]||(t[2]=e("div",{class:"absolute -inset-2 bg-gradient-to-r from-cyan-500 via-purple-500 to-pink-500 rounded-full opacity-50 blur-md animate-pulse"},null,-1)),e("div",{class:d(["absolute inset-1 rounded-full flex items-center justify-center",i(n)?"bg-gray-800":"bg-white"])},[k(i(E),{class:d(["h-8 w-8",i(n)?"text-cyan-400":"text-cyan-600"])},null,8,["class"])],2)]),e("h2",{class:d(["mt-6 text-center text-3xl font-extrabold",i(n)?"text-white":"text-gray-900"])}," 登录 ",2)]),e("form",{class:"mt-8 space-y-6",onSubmit:I(v,["prevent"])},[t[5]||(t[5]=e("input",{type:"hidden",name:"remember",value:"true"},null,-1)),e("div",P,[e("div",null,[t[3]||(t[3]=e("label",{for:"password",class:"sr-only"},"密码",-1)),D(e("input",{id:"password",name:"password",type:"password",autocomplete:"current-password",required:"","onUpdate:modelValue":t[0]||(t[0]=o=>s.value=o),class:d(["appearance-none rounded-t-md relative block w-full px-4 py-3 border transition-all duration-200 placeholder-gray-500 focus:outline-none focus:ring-2 focus:ring-cyan-500 focus:border-cyan-500 focus:z-10 sm:text-sm backdrop-blur-sm",i(n)?"bg-gray-800/50 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"bg-white/50 border-gray-300 text-gray-900 hover:border-gray-400"]),placeholder:"密码"},null,2),[[N,s.value]])])]),e("div",null,[e("button",{type:"submit",class:d(["group relative w-full flex justify-center py-3 px-4 border border-transparent text-sm font-medium rounded-md text-white transition-all duration-300 transform hover:scale-[1.02] focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-cyan-500 shadow-lg hover:shadow-cyan-500/50",i(n)?"bg-gradient-to-r from-cyan-500 to-purple-500 hover:from-cyan-600 hover:to-purple-600":"bg-gradient-to-r from-cyan-600 to-purple-600 hover:from-cyan-700 hover:to-purple-700",l.value?"opacity-75 cursor-not-allowed":""]),disabled:l.value},[t[4]||(t[4]=e("span",{class:"absolute left-0 inset-y-0 flex items-center pl-3"},null,-1)),T(" "+_(l.value?"登录中...":"登录"),1)],10,R)])],32)],2)],2))}}),C=V(L,[["__scopeId","data-v-894571a2"]]);export{C as default}; diff --git a/themes/2024/assets/PageHeader-BDzp_ji4.js b/themes/2024/assets/PageHeader-BDzp_ji4.js deleted file mode 100644 index 4f24c65..0000000 --- a/themes/2024/assets/PageHeader-BDzp_ji4.js +++ /dev/null @@ -1,21 +0,0 @@ -import{c as Y,d as G,I as N,r as y,J as Z,f as ne,F as oe,K as ie,g as B,U as x,l as se,a as le,o as ue,b as H,k as ce,e as J,n as de,i as fe,t as he,_ as ve}from"./index-14Tp7zPK.js";import{B as ge}from"./box-CiSQlKtb.js";/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const xe=Y("clipboard-list",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const He=Y("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ge=Y("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/*! - * qrcode.vue v3.6.0 - * A Vue.js component to generate QRCode. Both support Vue 2 and Vue 3 - * © 2017-PRESENT @scopewu(https://github.com/scopewu) - * MIT License. - */var D=function(){return D=Object.assign||function(c){for(var u,l=1,f=arguments.length;la.MAX_VERSION)throw new RangeError("Version value out of range");if(n<-1||n>7)throw new RangeError("Mask value out of range");this.size=e*4+17;for(var s=[],i=0;i7)throw new RangeError("Invalid value");var h,p;for(h=r;;h++){var M=a.getNumDataCodewords(h,t)*8,w=v.getTotalBits(e,h);if(w<=M){p=w;break}if(h>=n)throw new RangeError("Data too long")}for(var C=0,R=[a.Ecc.MEDIUM,a.Ecc.QUARTILE,a.Ecc.HIGH];C>>3]|=O<<7-(Q&7)}),new a(h,t,T,s)},a.prototype.getModule=function(e,t){return 0<=e&&e>>9)*1335;var s=(t<<10|r)^21522;f(s>>>15==0);for(var n=0;n<=5;n++)this.setFunctionModule(8,n,l(s,n));this.setFunctionModule(8,7,l(s,6)),this.setFunctionModule(8,8,l(s,7)),this.setFunctionModule(7,8,l(s,8));for(var n=9;n<15;n++)this.setFunctionModule(14-n,8,l(s,n));for(var n=0;n<8;n++)this.setFunctionModule(this.size-1-n,8,l(s,n));for(var n=8;n<15;n++)this.setFunctionModule(8,this.size-15+n,l(s,n));this.setFunctionModule(8,this.size-8,!0)},a.prototype.drawVersion=function(){if(!(this.version<7)){for(var e=this.version,t=0;t<12;t++)e=e<<1^(e>>>11)*7973;var r=this.version<<12|e;f(r>>>18==0);for(var t=0;t<18;t++){var n=l(r,t),s=this.size-11+t%3,i=Math.floor(t/3);this.setFunctionModule(s,i,n),this.setFunctionModule(i,s,n)}}},a.prototype.drawFinderPattern=function(e,t){for(var r=-4;r<=4;r++)for(var n=-4;n<=4;n++){var s=Math.max(Math.abs(n),Math.abs(r)),i=e+n,h=t+r;0<=i&&i=h)&&E.push(b[S])})},C=0;C=1;r-=2){r==6&&(r=5);for(var n=0;n>>3],7-(t&7)),t++)}}f(t==e.length*8)},a.prototype.applyMask=function(e){if(e<0||e>7)throw new RangeError("Mask value out of range");for(var t=0;t5&&e++):(this.finderPenaltyAddHistory(n,s),r||(e+=this.finderPenaltyCountPatterns(s)*a.PENALTY_N3),r=this.modules[t][i],n=1);e+=this.finderPenaltyTerminateAndCount(r,n,s)*a.PENALTY_N3}for(var i=0;i5&&e++):(this.finderPenaltyAddHistory(h,s),r||(e+=this.finderPenaltyCountPatterns(s)*a.PENALTY_N3),r=this.modules[t][i],h=1);e+=this.finderPenaltyTerminateAndCount(r,h,s)*a.PENALTY_N3}for(var t=0;ta.MAX_VERSION)throw new RangeError("Version number out of range");var t=(16*e+128)*e+64;if(e>=2){var r=Math.floor(e/7)+2;t-=(25*r-10)*r-55,e>=7&&(t-=36)}return f(208<=t&&t<=29648),t},a.getNumDataCodewords=function(e,t){return Math.floor(a.getNumRawDataModules(e)/8)-a.ECC_CODEWORDS_PER_BLOCK[t.ordinal][e]*a.NUM_ERROR_CORRECTION_BLOCKS[t.ordinal][e]},a.reedSolomonComputeDivisor=function(e){if(e<1||e>255)throw new RangeError("Degree out of range");for(var t=[],r=0;r>>8||t>>>8)throw new RangeError("Byte out of range");for(var r=0,n=7;n>=0;n--)r=r<<1^(r>>>7)*285,r^=(t>>>n&1)*e;return f(r>>>8==0),r},a.prototype.finderPenaltyCountPatterns=function(e){var t=e[1];f(t<=this.size*3);var r=t>0&&e[2]==t&&e[3]==t*3&&e[4]==t&&e[5]==t;return(r&&e[0]>=t*4&&e[6]>=t?1:0)+(r&&e[6]>=t*4&&e[0]>=t?1:0)},a.prototype.finderPenaltyTerminateAndCount=function(e,t,r){return e&&(this.finderPenaltyAddHistory(t,r),t=0),t+=this.size,this.finderPenaltyAddHistory(t,r),this.finderPenaltyCountPatterns(r)},a.prototype.finderPenaltyAddHistory=function(e,t){t[0]==0&&(e+=this.size),t.pop(),t.unshift(e)},a.MIN_VERSION=1,a.MAX_VERSION=40,a.PENALTY_N1=3,a.PENALTY_N2=3,a.PENALTY_N3=40,a.PENALTY_N4=10,a.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],a.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],a})();o.QrCode=c;function u(a,e,t){if(e<0||e>31||a>>>e)throw new RangeError("Value out of range");for(var r=e-1;r>=0;r--)t.push(a>>>r&1)}function l(a,e){return(a>>>e&1)!=0}function f(a){if(!a)throw new Error("Assertion error")}var v=(function(){function a(e,t,r){if(this.mode=e,this.numChars=t,this.bitData=r,t<0)throw new RangeError("Invalid argument");this.bitData=r.slice()}return a.makeBytes=function(e){for(var t=[],r=0,n=e;r=1<=c.y+c.h?u:u.map(function(f,v){return v=c.x+c.w?f:!1})})}var V={value:{type:String,required:!0,default:""},size:{type:Number,default:100},level:{type:String,default:K,validator:function(o){return q(o)}},background:{type:String,default:"#fff"},foreground:{type:String,default:"#000"},margin:{type:Number,required:!1,default:0},imageSettings:{type:Object,required:!1,default:function(){return{}}},gradient:{type:Boolean,required:!1,default:!1},gradientType:{type:String,required:!1,default:"linear",validator:function(o){return["linear","radial"].indexOf(o)>-1}},gradientStartColor:{type:String,required:!1,default:"#000"},gradientEndColor:{type:String,required:!1,default:"#fff"}},me=D(D({},V),{renderAs:{type:String,required:!1,default:"canvas",validator:function(o){return["canvas","svg"].indexOf(o)>-1}}}),Ce=G({name:"QRCodeSvg",props:V,setup:function(o){var c=y(0),u=y(""),l,f=function(){var a=o.value,e=o.level,t=o.margin,r=t>>>0,n=q(e)?e:K,s=U.QrCode.encodeText(a,W[n]).getModules();if(c.value=s.length+r*2,o.imageSettings.src){var i=ee(s,o.size,r,o.imageSettings);l={x:i.x+r,y:i.y+r,width:i.w,height:i.h},i.excavation&&(s=te(s,i.excavation))}u.value=j(s,r)},v=function(){if(!o.gradient)return null;var a=o.gradientType==="linear"?{x1:"0%",y1:"0%",x2:"100%",y2:"100%"}:{cx:"50%",cy:"50%",r:"50%",fx:"50%",fy:"50%"};return N(o.gradientType==="linear"?"linearGradient":"radialGradient",D({id:"qr-gradient"},a),[N("stop",{offset:"0%",style:{stopColor:o.gradientStartColor}}),N("stop",{offset:"100%",style:{stopColor:o.gradientEndColor}})])};return f(),Z(f),function(){return N("svg",{width:o.size,height:o.size,"shape-rendering":"crispEdges",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(c.value," ").concat(c.value)},[N("defs",{},[v()]),N("rect",{width:"100%",height:"100%",fill:o.background}),N("path",{fill:o.gradient?"url(#qr-gradient)":o.foreground,d:u.value}),o.imageSettings.src&&N("image",D({href:o.imageSettings.src},l))])}}}),we=G({name:"QRCodeCanvas",props:V,setup:function(o,c){var u=y(null),l=y(null),f=function(){var a=o.value,e=o.level,t=o.size,r=o.margin,n=o.background,s=o.foreground,i=o.gradient,h=o.gradientType,p=o.gradientStartColor,M=o.gradientEndColor,w=r>>>0,C=q(e)?e:K,R=u.value;if(R){var m=R.getContext("2d");if(m){var g=U.QrCode.encodeText(a,W[C]).getModules(),E=g.length+w*2,P=l.value,S={x:0,y:0,width:0,height:0},b=o.imageSettings.src&&P!=null&&P.naturalWidth!==0&&P.naturalHeight!==0;if(b){var A=ee(g,o.size,w,o.imageSettings);S={x:A.x+w,y:A.y+w,width:A.w,height:A.h},A.excavation&&(g=te(g,A.excavation))}var k=window.devicePixelRatio||1,L=t/E*k;if(R.height=R.width=t*k,m.scale(L,L),m.fillStyle=n,m.fillRect(0,0,E,E),i){var I=void 0;h==="linear"?I=m.createLinearGradient(0,0,E,E):I=m.createRadialGradient(E/2,E/2,0,E/2,E/2,E/2),I.addColorStop(0,p),I.addColorStop(1,M),m.fillStyle=I}else m.fillStyle=s;pe?m.fill(new Path2D(j(g,w))):g.forEach(function(T,O){T.forEach(function(Q,X){Q&&m.fillRect(X+w,O+w,1,1)})}),b&&m.drawImage(P,S.x,S.y,S.width,S.height)}}};ne(f),Z(f);var v=c.attrs.style;return function(){return N(oe,[N("canvas",D(D({},c.attrs),{ref:u,style:D(D({},v),{width:"".concat(o.size,"px"),height:"".concat(o.size,"px")})})),o.imageSettings.src&&N("img",{ref:l,src:o.imageSettings.src,style:{display:"none"},onLoad:f})])}}}),$e=G({name:"Qrcode",render:function(){var o=this.$props,c=o.renderAs,u=o.value,l=o.size,f=o.margin,v=o.level,a=o.background,e=o.foreground,t=o.imageSettings,r=o.gradient,n=o.gradientType,s=o.gradientStartColor,i=o.gradientEndColor;return N(c==="svg"?Ce:we,{value:u,size:l,margin:f,level:v,background:a,foreground:e,imageSettings:t,gradient:r,gradientType:n,gradientStartColor:s,gradientEndColor:i})},props:me});const Ye=ie("fileData",()=>{const o=y(x.IDLE),c=y({loaded:0,total:0,percentage:0}),u=y(""),l=y(null),f=y(""),v=y(null),a=y(!1),e=y([]),t=y(0),r=y(1),n=y(10),s=y(!1),i=y([]),h=y([]),p=B(()=>o.value===x.UPLOADING),M=B(()=>o.value===x.SUCCESS),w=B(()=>o.value===x.ERROR),C=B(()=>v.value!==null),R=B(()=>C.value&&!a.value),m=B(()=>Math.ceil(t.value/n.value)),g=d=>{o.value=d},E=d=>{c.value=d},P=d=>{u.value=d},S=d=>{l.value=d},b=()=>{o.value=x.IDLE,c.value={loaded:0,total:0,percentage:0},u.value="",l.value=null},A=d=>{f.value=d},k=d=>{v.value=d},L=d=>{a.value=d},I=()=>{f.value="",v.value=null,a.value=!1},T=d=>{e.value=d},O=d=>{e.value.unshift(d),t.value+=1};return{uploadStatus:o,uploadProgress:c,uploadedCode:u,currentFile:l,downloadCode:f,fileInfo:v,isDownloading:a,fileList:e,totalFiles:t,currentPage:r,pageSize:n,isLoadingList:s,isUploading:p,isUploadSuccess:M,isUploadError:w,hasFileInfo:C,canDownload:R,totalPages:m,setUploadStatus:g,setUploadProgress:E,setUploadedCode:P,setCurrentFile:S,resetUpload:b,setDownloadCode:A,setFileInfo:k,setDownloading:L,resetDownload:I,setFileList:T,addFile:O,removeFile:d=>{const _=e.value.findIndex(z=>z.id===d);_>-1&&(e.value.splice(_,1),t.value-=1)},updateFile:(d,_)=>{const z=e.value.findIndex(ae=>ae.id===d);z>-1&&(e.value[z]={...e.value[z],..._})},setTotalFiles:d=>{t.value=d},setCurrentPage:d=>{r.value=d},setPageSize:d=>{n.value=d},setLoadingList:d=>{s.value=d},resetFileList:()=>{e.value=[],t.value=0,r.value=1,s.value=!1},addShareData:d=>{if(P(d.code),d.name){const _={id:d.code,name:d.name,size:0,type:"",uploadTime:new Date().toISOString(),downloadCount:0};O(_)}},receiveData:i,addReceiveData:d=>{i.value.push(d)},removeReceiveData:d=>{const _=i.value.findIndex(z=>z.id===d);_>-1&&i.value.splice(_,1)},deleteReceiveData:d=>{d>-1&&d{i.value=[]},shareData:h,addShareDataRecord:d=>{h.value.push(d)},deleteShareData:d=>{d>-1&&d{h.value=[]}}}),re=async(o,c={})=>{const{successMsg:u="复制成功",errorMsg:l="复制失败,请手动复制",showMsg:f=!0}=c,v=se();try{if(document.hasFocus()&&navigator.clipboard&&navigator.clipboard.writeText)return await navigator.clipboard.writeText(o),f&&v.showAlert(u,"success"),!0;const a=document.createElement("textarea");a.value=o,a.style.position="fixed",a.style.opacity="0",document.body.appendChild(a),a.select();const e=document.execCommand("copy");if(document.body.removeChild(a),e)return f&&v.showAlert(u,"success"),!0;throw new Error("execCommand copy failed")}catch(a){return console.error("复制失败:",a),f&&v.showAlert(l,"error"),!1}},Ke=async o=>{const c=`${window.location.origin}/#/?code=${o}`;return re(c,{successMsg:"取件链接已复制到剪贴板",errorMsg:"复制失败,请手动复制取件链接"})},We=async o=>re(o,{successMsg:"取件码已复制到剪贴板",errorMsg:"复制失败,请手动复制取件码"}),Ee=window.location.origin+"/",qe=(o,c)=>{const u=`wget ${Ee}share/select?code=${o} -O "${c}"`;navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(u).then(()=>{console.log("命令已复制到剪贴板!")}).catch(l=>{console.error("复制失败,使用回退方法:",l),$(u)}):(console.warn("Clipboard API 不可用,使用回退方法。"),$(u))};function $(o){const c=document.createElement("textarea");c.value=o,c.style.position="fixed",document.body.appendChild(c),c.focus(),c.select();try{const u=document.execCommand("copy");console.log("回退复制操作成功:",u),document.hasFocus()&&navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(o):$(o)}catch(u){console.error("回退复制操作失败:",u)}document.body.removeChild(c)}const Me={class:"text-center"},ye={class:"flex justify-center mb-8"},Re={class:"rounded-full bg-gradient-to-r from-indigo-500 via-purple-500 to-pink-500 p-1 animate-spin-slow"},Se={class:"rounded-full bg-gray-900 p-2"},Pe=G({__name:"PageHeader",props:{title:{}},emits:["title-click"],setup(o){const c=fe("isDarkMode");return(u,l)=>(ue(),le("div",Me,[H("div",ye,[H("div",Re,[H("div",Se,[ce(J(ge),{class:"w-8 h-8 text-white"})])])]),H("h2",{onClick:l[0]||(l[0]=f=>u.$emit("title-click")),class:de(["text-3xl cursor-pointer font-extrabold text-center mb-6",[J(c)?"text-transparent bg-clip-text bg-gradient-to-r from-indigo-300 via-purple-300 to-pink-300":"text-indigo-600"]])},he(u.title),3)]))}}),Ve=ve(Pe,[["__scopeId","data-v-2a18d8c8"]]);export{xe as C,He as E,Ve as P,$e as Q,Ge as S,qe as a,Ke as b,We as c,re as d,Ye as u}; diff --git a/themes/2024/assets/RetrievewFileView-DWBfGPUc.js b/themes/2024/assets/RetrievewFileView-DWBfGPUc.js deleted file mode 100644 index b1bfdcd..0000000 --- a/themes/2024/assets/RetrievewFileView-DWBfGPUc.js +++ /dev/null @@ -1,81 +0,0 @@ -import{c as ct,d as be,u as We,r as K,w as It,a as W,o as P,h as zt,b,n as T,e as d,i as xe,t as R,p as cr,j as ge,v as ur,k as L,_ as Re,z as pr,m as Le,y as me,D as Ut,T as Ft,E as hr,X as Nn,A as dr,F as fr,x as gr,l as mr,G as kr,f as br,H as xr,B as wr,C as yr}from"./index-14Tp7zPK.js";import{S as _r,C as Tr,Q as vr,E as Ar,u as Er,P as Sr,d as Rr}from"./PageHeader-BDzp_ji4.js";import{F as Pn}from"./file-CN_5aebv.js";import{H as Lr}from"./hard-drive-DvXIDK_-.js";import{T as Cr}from"./trash-BTMfj7si.js";import"./box-CiSQlKtb.js";/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Dr=ct("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ir=ct("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const $r=ct("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const zn=ct("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]),Mr={class:"mb-6 relative"},Or={class:"relative"},Nr=["placeholder","readonly"],Pr={key:0,class:"absolute inset-y-0 right-0 flex items-center pr-3"},zr=["disabled"],Ur={class:"flex items-center justify-center relative z-10"},Fr=be({__name:"RetrieveForm",props:{inputStatus:{},error:{type:Boolean}},emits:["submit","update:code"],setup(r,{expose:e,emit:t}){const{t:s}=We(),n=t,l=xe("isDarkMode"),i=K(""),a=K(!1),u=K();return It(i,c=>{n("update:code",c)}),e({focus:()=>u.value?.focus()}),(c,h)=>(P(),W("form",{onSubmit:h[3]||(h[3]=zt(m=>c.$emit("submit"),["prevent"]))},[b("div",Mr,[b("label",{for:"code",class:T(["block text-sm font-medium mb-2",[d(l)?"text-gray-300":"text-gray-800"]])},R(d(s)("retrieve.codeInput.label")),3),b("div",Or,[cr(b("input",{id:"code","onUpdate:modelValue":h[0]||(h[0]=m=>i.value=m),type:"text",ref_key:"codeInput",ref:u,class:T(["w-full px-4 py-3 rounded-lg placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-indigo-500 transition duration-300 pr-10",[d(l)?"bg-gray-700 bg-opacity-50":"bg-gray-100",{"ring-2 ring-red-500":c.error},d(l)?"text-gray-300":"text-gray-800"]]),placeholder:d(s)("retrieve.codeInput.placeholder"),required:"",readonly:c.inputStatus.readonly,maxlength:"5",onFocus:h[1]||(h[1]=m=>a.value=!0),onBlur:h[2]||(h[2]=m=>a.value=!1)},null,42,Nr),[[ur,i.value]]),c.inputStatus.loading?(P(),W("div",Pr,[...h[4]||(h[4]=[b("span",{class:"animate-spin rounded-full h-5 w-5 border-b-2 border-indigo-500"},null,-1)])])):ge("",!0)]),b("div",{class:T(["absolute -bottom-0.5 left-2 h-0.5 bg-gradient-to-r from-indigo-500 via-purple-500 to-pink-500 transition-all duration-300 ease-in-out",{"w-97-100":a.value,"w-0":!a.value}])},null,2)]),b("button",{type:"submit",class:"w-full bg-gradient-to-r from-indigo-500 via-purple-500 to-pink-500 text-white font-bold py-3 px-4 rounded-lg hover:from-indigo-600 hover:via-purple-600 hover:to-pink-600 focus:outline-none focus:ring-2 focus:ring-purple-500 focus:ring-opacity-50 transition duration-300 transform hover:scale-105 hover:shadow-lg relative overflow-hidden group",disabled:c.inputStatus.loading},[b("span",Ur,[b("span",null,R(c.inputStatus.loading?d(s)("common.loading"):d(s)("retrieve.submit")),1),L(d(Dr),{class:"w-5 h-5 ml-2 transition-transform duration-300 transform group-hover:translate-x-1"})]),h[5]||(h[5]=b("span",{class:"absolute top-0 left-0 w-full h-full bg-gradient-to-r from-pink-500 via-purple-500 to-indigo-500 opacity-0 group-hover:opacity-100 transition-opacity duration-300"},null,-1))],8,zr)],32))}}),Br=Re(Fr,[["__scopeId","data-v-8f0be1b0"]]),Hr={key:0,class:"mb-6 text-center"},Gr=be({__name:"PageFooter",props:{linkText:{},linkTo:{},drawerText:{}},emits:["toggle-drawer"],setup(r){const{t:e}=We(),t=xe("isDarkMode");return(s,n)=>{const l=pr("router-link");return P(),W("div",null,[s.linkText&&s.linkTo?(P(),W("div",Hr,[L(l,{to:s.linkTo,class:"text-indigo-400 hover:text-indigo-300 transition duration-300"},{default:Le(()=>[me(R(s.linkText),1)]),_:1},8,["to"])])):ge("",!0),b("div",{class:T(["px-8 py-4 bg-opacity-50 flex justify-between items-center",[d(t)?"bg-gray-800":"bg-gray-100"]])},[b("span",{class:T(["text-sm flex items-center",[d(t)?"text-gray-300":"text-gray-800"]])},[L(d(_r),{class:"w-4 h-4 mr-1 text-green-400"}),me(" "+R(d(e)("send.secureEncryption")),1)],2),b("button",{onClick:n[0]||(n[0]=i=>s.$emit("toggle-drawer")),class:T(["text-sm hover:text-indigo-300 transition duration-300 flex items-center",[d(t)?"text-indigo-400":"text-indigo-600"]])},[me(R(s.drawerText)+" ",1),L(d(Tr),{class:"w-4 h-4 ml-1"})],2)],2)])}}}),Wr=be({__name:"SideDrawer",props:{visible:{type:Boolean},title:{}},emits:["close"],setup(r){const e=xe("isDarkMode");return(t,s)=>(P(),Ut(Ft,{name:"drawer"},{default:Le(()=>[t.visible?(P(),W("div",{key:0,class:T(["fixed inset-y-0 right-0 w-full sm:w-120 bg-opacity-70 backdrop-filter backdrop-blur-xl shadow-2xl z-50 overflow-hidden flex flex-col",[d(e)?"bg-gray-900":"bg-white"]])},[b("div",{class:T(["flex justify-between items-center p-6 border-b",[d(e)?"border-gray-700":"border-gray-200"]])},[b("h3",{class:T(["text-2xl font-bold",[d(e)?"text-white":"text-gray-800"]])},R(t.title),3),b("button",{onClick:s[0]||(s[0]=n=>t.$emit("close")),class:T(["hover:text-white transition duration-300",[d(e)?"text-gray-400":"text-gray-800"]])},[L(d(Nn),{class:"w-6 h-6"})],2)],2),hr(t.$slots,"default",{},void 0,!0)],2)):ge("",!0)]),_:3}))}}),qr=Re(Wr,[["__scopeId","data-v-9c6698ec"]]),jr={key:0,class:"space-y-4"},Zr={class:"flex items-center"},Xr={class:"font-medium"},Yr={class:"flex items-center"},Vr={class:"font-medium"},Qr={class:"flex items-center"},Kr={class:"font-medium"},Jr={class:"flex items-center"},es={class:"font-medium"},ts={key:0,class:"ml-2"},ns={key:1},rs=["href"],ss={key:1,class:"mt-6 flex flex-col items-center"},is={class:"bg-white p-2 rounded-lg shadow-md"},os=be({__name:"FileDetailModal",props:{visible:{type:Boolean},record:{}},emits:["close","preview-content"],setup(r){const{t:e}=We(),t=xe("isDarkMode"),s=window.location.origin,n=i=>i.downloadUrl?i.downloadUrl.startsWith("http")?i.downloadUrl:`${s}${i.downloadUrl}`:"",l=i=>i.downloadUrl?`${s}${i.downloadUrl}`:`${s}?code=${i.code}`;return(i,a)=>(P(),Ut(Ft,{name:"fade"},{default:Le(()=>[i.visible?(P(),W("div",{key:0,class:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",onClick:a[2]||(a[2]=zt(u=>i.$emit("close"),["self"]))},[b("div",{class:T(["p-8 rounded-2xl max-w-md w-full mx-4 shadow-2xl transform transition-all duration-300 ease-out backdrop-filter backdrop-blur-lg overflow-hidden",[d(t)?"bg-gray-800 bg-opacity-70":"bg-white bg-opacity-95"]])},[b("h3",{class:T(["text-2xl font-bold mb-6 truncate",[d(t)?"text-white":"text-gray-800"]])},R(d(e)("fileDetail.title")),3),i.record?(P(),W("div",jr,[b("div",Zr,[L(d(Pn),{class:T(["w-6 h-6 mr-3 flex-shrink-0",[d(t)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"]),b("p",{class:T([[d(t)?"text-gray-300":"text-gray-800"],"truncate flex-grow"])},[b("span",Xr,R(d(e)("fileRecord.filename"))+":",1),me(R(i.record.filename),1)],2)]),b("div",Yr,[L(d(Ir),{class:T(["w-6 h-6 mr-3 flex-shrink-0",[d(t)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"]),b("p",{class:T([[d(t)?"text-gray-300":"text-gray-800"],"truncate flex-grow"])},[b("span",Vr,R(d(e)("fileRecord.date"))+":",1),me(R(i.record.date),1)],2)]),b("div",Qr,[L(d(Lr),{class:T(["w-6 h-6 mr-3 flex-shrink-0",[d(t)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"]),b("p",{class:T([[d(t)?"text-gray-300":"text-gray-800"],"truncate flex-grow"])},[b("span",Kr,R(d(e)("fileRecord.size"))+":",1),me(R(i.record.size),1)],2)]),b("div",Jr,[L(d(zn),{class:T(["w-6 h-6 mr-3",[d(t)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"]),b("p",{class:T([d(t)?"text-gray-300":"text-gray-800"])},[b("span",es,R(d(e)("fileDetail.content"))+":",1)],2),i.record.filename==="Text"?(P(),W("div",ts,[b("button",{onClick:a[0]||(a[0]=u=>i.$emit("preview-content")),class:"px-4 py-2 bg-indigo-600 text-white rounded-lg hover:bg-indigo-700 transition duration-300"},R(d(e)("fileDetail.previewContent")),1)])):(P(),W("div",ns,[b("a",{href:n(i.record),target:"_blank",rel:"noopener noreferrer",class:"px-4 py-2 bg-indigo-600 text-white rounded-lg hover:bg-indigo-700 transition duration-300"},R(d(e)("fileDetail.download")),9,rs)]))])])):ge("",!0),i.record?(P(),W("div",ss,[b("h4",{class:T(["text-lg font-semibold mb-3",[d(t)?"text-white":"text-gray-800"]])},R(d(e)("fileDetail.qrCode")),3),b("div",is,[L(vr,{value:l(i.record),size:128,level:"M"},null,8,["value"])]),b("p",{class:T(["mt-2 text-sm",[d(t)?"text-gray-400":"text-gray-600"]])},R(d(e)("fileDetail.scanQrCode")),3)])):ge("",!0),b("button",{onClick:a[1]||(a[1]=u=>i.$emit("close")),class:"mt-8 w-full bg-gradient-to-r from-indigo-500 to-purple-600 text-white px-6 py-3 rounded-lg font-medium hover:from-indigo-600 hover:to-purple-700 focus:outline-none focus:ring-2 focus:ring-purple-500 focus:ring-opacity-50 transition duration-300 transform hover:scale-105"},R(d(e)("common.close")),1)],2)])):ge("",!0)]),_:1}))}}),ls=Re(os,[["__scopeId","data-v-5c3436d6"]]),as={class:"flex-grow overflow-y-auto p-6"},cs={class:"flex-shrink-0 mr-4"},us={class:"flex-grow min-w-0 mr-4"},ps={class:"flex-shrink-0 flex space-x-2"},hs=["onClick"],ds=["onClick"],fs=["onClick"],gs=be({__name:"FileRecordList",props:{records:{}},emits:["view-details","download-record","delete-record"],setup(r){const e=xe("isDarkMode");return(t,s)=>(P(),W("div",as,[L(dr,{name:"list",tag:"div",class:"space-y-4"},{default:Le(()=>[(P(!0),W(fr,null,gr(t.records,n=>(P(),W("div",{key:n.id,class:T(["bg-opacity-50 rounded-lg p-4 flex items-center shadow-md hover:shadow-lg transition duration-300 transform hover:scale-102",[d(e)?"bg-gray-800 hover:bg-gray-700":"bg-gray-100 hover:bg-white"]])},[b("div",cs,[L(d(Pn),{class:T(["w-10 h-10",[d(e)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"])]),b("div",us,[b("p",{class:T(["font-medium text-lg truncate",[d(e)?"text-white":"text-gray-800"]])},R(n.filename),3),b("p",{class:T(["text-sm truncate",[d(e)?"text-gray-400":"text-gray-600"]])},R(n.date)+" · "+R(n.size),3)]),b("div",ps,[b("button",{onClick:l=>t.$emit("view-details",n),class:T(["p-2 rounded-full hover:bg-opacity-20 transition duration-300",[d(e)?"hover:bg-indigo-400 text-indigo-400":"hover:bg-indigo-100 text-indigo-600"]])},[L(d(Ar),{class:"w-5 h-5"})],10,hs),b("button",{onClick:l=>t.$emit("download-record",n),class:T(["p-2 rounded-full hover:bg-opacity-20 transition duration-300",[d(e)?"hover:bg-green-400 text-green-400":"hover:bg-green-100 text-green-600"]])},[L(d(zn),{class:"w-5 h-5"})],10,ds),b("button",{onClick:l=>t.$emit("delete-record",n.id),class:T(["p-2 rounded-full hover:bg-opacity-20 transition duration-300",[d(e)?"hover:bg-red-400 text-red-400":"hover:bg-red-100 text-red-600"]])},[L(d(Cr),{class:"w-5 h-5"})],10,fs)])],2))),128))]),_:1})]))}}),ms=Re(gs,[["__scopeId","data-v-31facf40"]]),ks={class:"flex justify-between items-center mb-4 flex-shrink-0"},bs={class:"flex items-center gap-3"},xs={class:"flex-1 overflow-y-auto custom-scrollbar"},ws=["innerHTML"],ys=be({__name:"ContentPreviewModal",props:{visible:{type:Boolean},renderedContent:{}},emits:["close","copy-content"],setup(r){const{t:e}=We(),t=xe("isDarkMode");return(s,n)=>(P(),Ut(Ft,{name:"fade"},{default:Le(()=>[s.visible?(P(),W("div",{key:0,class:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",onClick:n[2]||(n[2]=zt(l=>s.$emit("close"),["self"]))},[b("div",{class:T(["p-6 rounded-2xl max-w-3xl w-full mx-4 shadow-2xl transform transition-all duration-300 ease-out backdrop-filter backdrop-blur-lg bg-opacity-70 max-h-[85vh] overflow-hidden flex flex-col",[d(t)?"bg-gray-800":"bg-white"]])},[b("div",ks,[b("h3",{class:T(["text-2xl font-bold",[d(t)?"text-white":"text-gray-800"]])},R(d(e)("contentPreview.title")),3),b("div",bs,[b("button",{onClick:n[0]||(n[0]=l=>s.$emit("copy-content")),class:T(["px-4 py-1.5 rounded-lg transition duration-300 flex items-center gap-2 text-sm font-medium",[d(t)?"bg-gray-700 hover:bg-gray-600 text-gray-300 hover:text-white":"bg-gray-100 hover:bg-gray-200 text-gray-700 hover:text-gray-900"]])},[L(d($r),{class:"w-4 h-4"}),me(" "+R(d(e)("common.copy")),1)],2),b("button",{onClick:n[1]||(n[1]=l=>s.$emit("close")),class:T(["p-1.5 rounded-lg transition duration-300 hover:bg-opacity-10",[d(t)?"text-gray-400 hover:text-white hover:bg-white":"text-gray-500 hover:text-gray-900 hover:bg-black"]])},[L(d(Nn),{class:"w-5 h-5"})],2)])]),b("div",xs,[b("div",{class:T(["prose max-w-none p-6 rounded-xl break-words overflow-wrap-anywhere",[d(t)?"prose-invert bg-gray-900 bg-opacity-50":"bg-gray-50"]]),innerHTML:s.renderedContent},null,10,ws)])],2)])):ge("",!0)]),_:1}))}}),_s=Re(ys,[["__scopeId","data-v-eb3f9cc8"]]);var Je=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},rt={exports:{}},Ts=rt.exports,yn;function vs(){return yn||(yn=1,(function(r,e){(function(t,s){s()})(Ts,function(){function t(c,h){return typeof h>"u"?h={autoBom:!1}:typeof h!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),h={autoBom:!h}),h.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(c.type)?new Blob(["\uFEFF",c],{type:c.type}):c}function s(c,h,m){var f=new XMLHttpRequest;f.open("GET",c),f.responseType="blob",f.onload=function(){u(f.response,h,m)},f.onerror=function(){console.error("could not download file")},f.send()}function n(c){var h=new XMLHttpRequest;h.open("HEAD",c,!1);try{h.send()}catch{}return 200<=h.status&&299>=h.status}function l(c){try{c.dispatchEvent(new MouseEvent("click"))}catch{var h=document.createEvent("MouseEvents");h.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),c.dispatchEvent(h)}}var i=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof Je=="object"&&Je.global===Je?Je:void 0,a=i.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),u=i.saveAs||(typeof window!="object"||window!==i?function(){}:"download"in HTMLAnchorElement.prototype&&!a?function(c,h,m){var f=i.URL||i.webkitURL,y=document.createElement("a");h=h||c.name||"download",y.download=h,y.rel="noopener",typeof c=="string"?(y.href=c,y.origin===location.origin?l(y):n(y.href)?s(c,h,m):l(y,y.target="_blank")):(y.href=f.createObjectURL(c),setTimeout(function(){f.revokeObjectURL(y.href)},4e4),setTimeout(function(){l(y)},0))}:"msSaveOrOpenBlob"in navigator?function(c,h,m){if(h=h||c.name||"download",typeof c!="string")navigator.msSaveOrOpenBlob(t(c,m),h);else if(n(c))s(c,h,m);else{var f=document.createElement("a");f.href=c,f.target="_blank",setTimeout(function(){l(f)})}}:function(c,h,m,f){if(f=f||open("","_blank"),f&&(f.document.title=f.document.body.innerText="downloading..."),typeof c=="string")return s(c,h,m);var y=c.type==="application/octet-stream",v=/constructor/i.test(i.HTMLElement)||i.safari,$=/CriOS\/[\d]+/.test(navigator.userAgent);if(($||y&&v||a)&&typeof FileReader<"u"){var V=new FileReader;V.onloadend=function(){var U=V.result;U=$?U:U.replace(/^data:[^;]*;/,"data:attachment/file;"),f?f.location.href=U:location=U,f=null},V.readAsDataURL(c)}else{var J=i.URL||i.webkitURL,ee=J.createObjectURL(c);f?f.location=ee:location.href=ee,f=null,setTimeout(function(){J.revokeObjectURL(ee)},4e4)}});i.saveAs=u.saveAs=u,r.exports=u})})(rt)),rt.exports}var As=vs();function Bt(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var we=Bt();function Un(r){we=r}var Ge={exec:()=>null};function A(r,e=""){let t=typeof r=="string"?r:r.source,s={replace:(n,l)=>{let i=typeof l=="string"?l:l.source;return i=i.replace(q.caret,"$1"),t=t.replace(n,i),s},getRegex:()=>new RegExp(t,e)};return s}var q={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:r=>new RegExp(`^( {0,3}${r})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}#`),htmlBeginRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}<(?:[a-z].*>|!--)`,"i")},Es=/^(?:[ \t]*(?:\n|$))+/,Ss=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Rs=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,qe=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Ls=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Ht=/(?:[*+-]|\d{1,9}[.)])/,Fn=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Bn=A(Fn).replace(/bull/g,Ht).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),Cs=A(Fn).replace(/bull/g,Ht).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Gt=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Ds=/^[^\n]+/,Wt=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Is=A(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Wt).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),$s=A(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Ht).getRegex(),ut="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",qt=/|$))/,Ms=A("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",qt).replace("tag",ut).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Hn=A(Gt).replace("hr",qe).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ut).getRegex(),Os=A(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Hn).getRegex(),jt={blockquote:Os,code:Ss,def:Is,fences:Rs,heading:Ls,hr:qe,html:Ms,lheading:Bn,list:$s,newline:Es,paragraph:Hn,table:Ge,text:Ds},_n=A("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",qe).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ut).getRegex(),Ns={...jt,lheading:Cs,table:_n,paragraph:A(Gt).replace("hr",qe).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",_n).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ut).getRegex()},Ps={...jt,html:A(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",qt).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Ge,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:A(Gt).replace("hr",qe).replace("heading",` *#{1,6} *[^ -]`).replace("lheading",Bn).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},zs=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Us=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Gn=/^( {2,}|\\)\n(?!\s*$)/,Fs=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,jn=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,qs=A(jn,"u").replace(/punct/g,pt).getRegex(),js=A(jn,"u").replace(/punct/g,qn).getRegex(),Zn="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",Zs=A(Zn,"gu").replace(/notPunctSpace/g,Wn).replace(/punctSpace/g,Zt).replace(/punct/g,pt).getRegex(),Xs=A(Zn,"gu").replace(/notPunctSpace/g,Gs).replace(/punctSpace/g,Hs).replace(/punct/g,qn).getRegex(),Ys=A("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Wn).replace(/punctSpace/g,Zt).replace(/punct/g,pt).getRegex(),Vs=A(/\\(punct)/,"gu").replace(/punct/g,pt).getRegex(),Qs=A(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Ks=A(qt).replace("(?:-->|$)","-->").getRegex(),Js=A("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",Ks).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),ot=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`[^`]*`|[^\[\]\\`])*?/,ei=A(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",ot).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Xn=A(/^!?\[(label)\]\[(ref)\]/).replace("label",ot).replace("ref",Wt).getRegex(),Yn=A(/^!?\[(ref)\](?:\[\])?/).replace("ref",Wt).getRegex(),ti=A("reflink|nolink(?!\\()","g").replace("reflink",Xn).replace("nolink",Yn).getRegex(),Xt={_backpedal:Ge,anyPunctuation:Vs,autolink:Qs,blockSkip:Ws,br:Gn,code:Us,del:Ge,emStrongLDelim:qs,emStrongRDelimAst:Zs,emStrongRDelimUnd:Ys,escape:zs,link:ei,nolink:Yn,punctuation:Bs,reflink:Xn,reflinkSearch:ti,tag:Js,text:Fs,url:Ge},ni={...Xt,link:A(/^!?\[(label)\]\((.*?)\)/).replace("label",ot).getRegex(),reflink:A(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ot).getRegex()},$t={...Xt,emStrongRDelimAst:Xs,emStrongLDelim:js,url:A(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},Tn=r=>si[r];function re(r,e){if(e){if(q.escapeTest.test(r))return r.replace(q.escapeReplace,Tn)}else if(q.escapeTestNoEncode.test(r))return r.replace(q.escapeReplaceNoEncode,Tn);return r}function vn(r){try{r=encodeURI(r).replace(q.percentDecode,"%")}catch{return null}return r}function An(r,e){let t=r.replace(q.findPipe,(l,i,a)=>{let u=!1,c=i;for(;--c>=0&&a[c]==="\\";)u=!u;return u?"|":" |"}),s=t.split(q.splitPipe),n=0;if(s[0].trim()||s.shift(),s.length>0&&!s.at(-1)?.trim()&&s.pop(),e)if(s.length>e)s.splice(e);else for(;s.length0?-2:-1}function En(r,e,t,s,n){let l=e.href,i=e.title||null,a=r[1].replace(n.other.outputLinkReplace,"$1");s.state.inLink=!0;let u={type:r[0].charAt(0)==="!"?"image":"link",raw:t,href:l,title:i,text:a,tokens:s.inlineTokens(a)};return s.state.inLink=!1,u}function oi(r,e,t){let s=r.match(t.other.indentCodeCompensation);if(s===null)return e;let n=s[1];return e.split(` -`).map(l=>{let i=l.match(t.other.beginningSpace);if(i===null)return l;let[a]=i;return a.length>=n.length?l.slice(n.length):l}).join(` -`)}var lt=class{options;rules;lexer;constructor(r){this.options=r||we}space(r){let e=this.rules.block.newline.exec(r);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(r){let e=this.rules.block.code.exec(r);if(e){let t=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?t:Pe(t,` -`)}}}fences(r){let e=this.rules.block.fences.exec(r);if(e){let t=e[0],s=oi(t,e[3]||"",this.rules);return{type:"code",raw:t,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:s}}}heading(r){let e=this.rules.block.heading.exec(r);if(e){let t=e[2].trim();if(this.rules.other.endingHash.test(t)){let s=Pe(t,"#");(this.options.pedantic||!s||this.rules.other.endingSpaceChar.test(s))&&(t=s.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:t,tokens:this.lexer.inline(t)}}}hr(r){let e=this.rules.block.hr.exec(r);if(e)return{type:"hr",raw:Pe(e[0],` -`)}}blockquote(r){let e=this.rules.block.blockquote.exec(r);if(e){let t=Pe(e[0],` -`).split(` -`),s="",n="",l=[];for(;t.length>0;){let i=!1,a=[],u;for(u=0;u1,n={type:"list",raw:"",ordered:s,start:s?+t.slice(0,-1):"",loose:!1,items:[]};t=s?`\\d{1,9}\\${t.slice(-1)}`:`\\${t}`,this.options.pedantic&&(t=s?t:"[*+-]");let l=this.rules.other.listItemRegex(t),i=!1;for(;r;){let u=!1,c="",h="";if(!(e=l.exec(r))||this.rules.block.hr.test(r))break;c=e[0],r=r.substring(c.length);let m=e[2].split(` -`,1)[0].replace(this.rules.other.listReplaceTabs,J=>" ".repeat(3*J.length)),f=r.split(` -`,1)[0],y=!m.trim(),v=0;if(this.options.pedantic?(v=2,h=m.trimStart()):y?v=e[1].length+1:(v=e[2].search(this.rules.other.nonSpaceChar),v=v>4?1:v,h=m.slice(v),v+=e[1].length),y&&this.rules.other.blankLine.test(f)&&(c+=f+` -`,r=r.substring(f.length+1),u=!0),!u){let J=this.rules.other.nextBulletRegex(v),ee=this.rules.other.hrRegex(v),U=this.rules.other.fencesBeginRegex(v),D=this.rules.other.headingBeginRegex(v),se=this.rules.other.htmlBeginRegex(v);for(;r;){let ie=r.split(` -`,1)[0],te;if(f=ie,this.options.pedantic?(f=f.replace(this.rules.other.listReplaceNesting," "),te=f):te=f.replace(this.rules.other.tabCharGlobal," "),U.test(f)||D.test(f)||se.test(f)||J.test(f)||ee.test(f))break;if(te.search(this.rules.other.nonSpaceChar)>=v||!f.trim())h+=` -`+te.slice(v);else{if(y||m.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||U.test(m)||D.test(m)||ee.test(m))break;h+=` -`+f}!y&&!f.trim()&&(y=!0),c+=ie+` -`,r=r.substring(ie.length+1),m=te.slice(v)}}n.loose||(i?n.loose=!0:this.rules.other.doubleBlankLine.test(c)&&(i=!0));let $=null,V;this.options.gfm&&($=this.rules.other.listIsTask.exec(h),$&&(V=$[0]!=="[ ] ",h=h.replace(this.rules.other.listReplaceTask,""))),n.items.push({type:"list_item",raw:c,task:!!$,checked:V,loose:!1,text:h,tokens:[]}),n.raw+=c}let a=n.items.at(-1);if(a)a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd();else return;n.raw=n.raw.trimEnd();for(let u=0;um.type==="space"),h=c.length>0&&c.some(m=>this.rules.other.anyLine.test(m.raw));n.loose=h}if(n.loose)for(let u=0;u({text:a,tokens:this.lexer.inline(a),header:!1,align:l.align[u]})));return l}}lheading(r){let e=this.rules.block.lheading.exec(r);if(e)return{type:"heading",raw:e[0],depth:e[2].charAt(0)==="="?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(r){let e=this.rules.block.paragraph.exec(r);if(e){let t=e[1].charAt(e[1].length-1)===` -`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(r){let e=this.rules.block.text.exec(r);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(r){let e=this.rules.inline.escape.exec(r);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(r){let e=this.rules.inline.tag.exec(r);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(r){let e=this.rules.inline.link.exec(r);if(e){let t=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(t)){if(!this.rules.other.endAngleBracket.test(t))return;let l=Pe(t.slice(0,-1),"\\");if((t.length-l.length)%2===0)return}else{let l=ii(e[2],"()");if(l===-2)return;if(l>-1){let i=(e[0].indexOf("!")===0?5:4)+e[1].length+l;e[2]=e[2].substring(0,l),e[0]=e[0].substring(0,i).trim(),e[3]=""}}let s=e[2],n="";if(this.options.pedantic){let l=this.rules.other.pedanticHrefTitle.exec(s);l&&(s=l[1],n=l[3])}else n=e[3]?e[3].slice(1,-1):"";return s=s.trim(),this.rules.other.startAngleBracket.test(s)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(t)?s=s.slice(1):s=s.slice(1,-1)),En(e,{href:s&&s.replace(this.rules.inline.anyPunctuation,"$1"),title:n&&n.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(r,e){let t;if((t=this.rules.inline.reflink.exec(r))||(t=this.rules.inline.nolink.exec(r))){let s=(t[2]||t[1]).replace(this.rules.other.multipleSpaceGlobal," "),n=e[s.toLowerCase()];if(!n){let l=t[0].charAt(0);return{type:"text",raw:l,text:l}}return En(t,n,t[0],this.lexer,this.rules)}}emStrong(r,e,t=""){let s=this.rules.inline.emStrongLDelim.exec(r);if(!(!s||s[3]&&t.match(this.rules.other.unicodeAlphaNumeric))&&(!(s[1]||s[2])||!t||this.rules.inline.punctuation.exec(t))){let n=[...s[0]].length-1,l,i,a=n,u=0,c=s[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,e=e.slice(-1*r.length+n);(s=c.exec(e))!=null;){if(l=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!l)continue;if(i=[...l].length,s[3]||s[4]){a+=i;continue}else if((s[5]||s[6])&&n%3&&!((n+i)%3)){u+=i;continue}if(a-=i,a>0)continue;i=Math.min(i,i+a+u);let h=[...s[0]][0].length,m=r.slice(0,n+s.index+h+i);if(Math.min(n,i)%2){let y=m.slice(1,-1);return{type:"em",raw:m,text:y,tokens:this.lexer.inlineTokens(y)}}let f=m.slice(2,-2);return{type:"strong",raw:m,text:f,tokens:this.lexer.inlineTokens(f)}}}}codespan(r){let e=this.rules.inline.code.exec(r);if(e){let t=e[2].replace(this.rules.other.newLineCharGlobal," "),s=this.rules.other.nonSpaceChar.test(t),n=this.rules.other.startingSpaceChar.test(t)&&this.rules.other.endingSpaceChar.test(t);return s&&n&&(t=t.substring(1,t.length-1)),{type:"codespan",raw:e[0],text:t}}}br(r){let e=this.rules.inline.br.exec(r);if(e)return{type:"br",raw:e[0]}}del(r){let e=this.rules.inline.del.exec(r);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(r){let e=this.rules.inline.autolink.exec(r);if(e){let t,s;return e[2]==="@"?(t=e[1],s="mailto:"+t):(t=e[1],s=t),{type:"link",raw:e[0],text:t,href:s,tokens:[{type:"text",raw:t,text:t}]}}}url(r){let e;if(e=this.rules.inline.url.exec(r)){let t,s;if(e[2]==="@")t=e[0],s="mailto:"+t;else{let n;do n=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(n!==e[0]);t=e[0],e[1]==="www."?s="http://"+e[0]:s=e[0]}return{type:"link",raw:e[0],text:t,href:s,tokens:[{type:"text",raw:t,text:t}]}}}inlineText(r){let e=this.rules.inline.text.exec(r);if(e){let t=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:t}}}},pe=class Mt{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||we,this.options.tokenizer=this.options.tokenizer||new lt,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:q,block:et.normal,inline:Ne.normal};this.options.pedantic?(t.block=et.pedantic,t.inline=Ne.pedantic):this.options.gfm&&(t.block=et.gfm,this.options.breaks?t.inline=Ne.breaks:t.inline=Ne.gfm),this.tokenizer.rules=t}static get rules(){return{block:et,inline:Ne}}static lex(e,t){return new Mt(t).lex(e)}static lexInline(e,t){return new Mt(t).inlineTokens(e)}lex(e){e=e.replace(q.carriageReturn,` -`),this.blockTokens(e,this.tokens);for(let t=0;t(n=i.call({lexer:this},e,t))?(e=e.substring(n.raw.length),t.push(n),!0):!1))continue;if(n=this.tokenizer.space(e)){e=e.substring(n.raw.length);let i=t.at(-1);n.raw.length===1&&i!==void 0?i.raw+=` -`:t.push(n);continue}if(n=this.tokenizer.code(e)){e=e.substring(n.raw.length);let i=t.at(-1);i?.type==="paragraph"||i?.type==="text"?(i.raw+=(i.raw.endsWith(` -`)?"":` -`)+n.raw,i.text+=` -`+n.text,this.inlineQueue.at(-1).src=i.text):t.push(n);continue}if(n=this.tokenizer.fences(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.heading(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.hr(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.blockquote(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.list(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.html(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.def(e)){e=e.substring(n.raw.length);let i=t.at(-1);i?.type==="paragraph"||i?.type==="text"?(i.raw+=(i.raw.endsWith(` -`)?"":` -`)+n.raw,i.text+=` -`+n.raw,this.inlineQueue.at(-1).src=i.text):this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title},t.push(n));continue}if(n=this.tokenizer.table(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.lheading(e)){e=e.substring(n.raw.length),t.push(n);continue}let l=e;if(this.options.extensions?.startBlock){let i=1/0,a=e.slice(1),u;this.options.extensions.startBlock.forEach(c=>{u=c.call({lexer:this},a),typeof u=="number"&&u>=0&&(i=Math.min(i,u))}),i<1/0&&i>=0&&(l=e.substring(0,i+1))}if(this.state.top&&(n=this.tokenizer.paragraph(l))){let i=t.at(-1);s&&i?.type==="paragraph"?(i.raw+=(i.raw.endsWith(` -`)?"":` -`)+n.raw,i.text+=` -`+n.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=i.text):t.push(n),s=l.length!==e.length,e=e.substring(n.raw.length);continue}if(n=this.tokenizer.text(e)){e=e.substring(n.raw.length);let i=t.at(-1);i?.type==="text"?(i.raw+=(i.raw.endsWith(` -`)?"":` -`)+n.raw,i.text+=` -`+n.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=i.text):t.push(n);continue}if(e){let i="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(i);break}else throw new Error(i)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let s=e,n=null;if(this.tokens.links){let a=Object.keys(this.tokens.links);if(a.length>0)for(;(n=this.tokenizer.rules.inline.reflinkSearch.exec(s))!=null;)a.includes(n[0].slice(n[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,n.index)+"["+"a".repeat(n[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(n=this.tokenizer.rules.inline.anyPunctuation.exec(s))!=null;)s=s.slice(0,n.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;(n=this.tokenizer.rules.inline.blockSkip.exec(s))!=null;)s=s.slice(0,n.index)+"["+"a".repeat(n[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);let l=!1,i="";for(;e;){l||(i=""),l=!1;let a;if(this.options.extensions?.inline?.some(c=>(a=c.call({lexer:this},e,t))?(e=e.substring(a.raw.length),t.push(a),!0):!1))continue;if(a=this.tokenizer.escape(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.tag(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.link(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(a.raw.length);let c=t.at(-1);a.type==="text"&&c?.type==="text"?(c.raw+=a.raw,c.text+=a.text):t.push(a);continue}if(a=this.tokenizer.emStrong(e,s,i)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.codespan(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.br(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.del(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.autolink(e)){e=e.substring(a.raw.length),t.push(a);continue}if(!this.state.inLink&&(a=this.tokenizer.url(e))){e=e.substring(a.raw.length),t.push(a);continue}let u=e;if(this.options.extensions?.startInline){let c=1/0,h=e.slice(1),m;this.options.extensions.startInline.forEach(f=>{m=f.call({lexer:this},h),typeof m=="number"&&m>=0&&(c=Math.min(c,m))}),c<1/0&&c>=0&&(u=e.substring(0,c+1))}if(a=this.tokenizer.inlineText(u)){e=e.substring(a.raw.length),a.raw.slice(-1)!=="_"&&(i=a.raw.slice(-1)),l=!0;let c=t.at(-1);c?.type==="text"?(c.raw+=a.raw,c.text+=a.text):t.push(a);continue}if(e){let c="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(c);break}else throw new Error(c)}}return t}},at=class{options;parser;constructor(r){this.options=r||we}space(r){return""}code({text:r,lang:e,escaped:t}){let s=(e||"").match(q.notSpaceStart)?.[0],n=r.replace(q.endingNewline,"")+` -`;return s?'
'+(t?n:re(n,!0))+`
-`:"
"+(t?n:re(n,!0))+`
-`}blockquote({tokens:r}){return`
-${this.parser.parse(r)}
-`}html({text:r}){return r}def(r){return""}heading({tokens:r,depth:e}){return`${this.parser.parseInline(r)} -`}hr(r){return`
-`}list(r){let e=r.ordered,t=r.start,s="";for(let i=0;i -`+s+" -`}listitem(r){let e="";if(r.task){let t=this.checkbox({checked:!!r.checked});r.loose?r.tokens[0]?.type==="paragraph"?(r.tokens[0].text=t+" "+r.tokens[0].text,r.tokens[0].tokens&&r.tokens[0].tokens.length>0&&r.tokens[0].tokens[0].type==="text"&&(r.tokens[0].tokens[0].text=t+" "+re(r.tokens[0].tokens[0].text),r.tokens[0].tokens[0].escaped=!0)):r.tokens.unshift({type:"text",raw:t+" ",text:t+" ",escaped:!0}):e+=t+" "}return e+=this.parser.parse(r.tokens,!!r.loose),`
  • ${e}
  • -`}checkbox({checked:r}){return"'}paragraph({tokens:r}){return`

    ${this.parser.parseInline(r)}

    -`}table(r){let e="",t="";for(let n=0;n${s}`),` - -`+e+` -`+s+`
    -`}tablerow({text:r}){return` -${r} -`}tablecell(r){let e=this.parser.parseInline(r.tokens),t=r.header?"th":"td";return(r.align?`<${t} align="${r.align}">`:`<${t}>`)+e+` -`}strong({tokens:r}){return`${this.parser.parseInline(r)}`}em({tokens:r}){return`${this.parser.parseInline(r)}`}codespan({text:r}){return`${re(r,!0)}`}br(r){return"
    "}del({tokens:r}){return`${this.parser.parseInline(r)}`}link({href:r,title:e,tokens:t}){let s=this.parser.parseInline(t),n=vn(r);if(n===null)return s;r=n;let l='
    ",l}image({href:r,title:e,text:t,tokens:s}){s&&(t=this.parser.parseInline(s,this.parser.textRenderer));let n=vn(r);if(n===null)return re(t);r=n;let l=`${t}{let i=n[l].flat(1/0);t=t.concat(this.walkTokens(i,e))}):n.tokens&&(t=t.concat(this.walkTokens(n.tokens,e)))}}return t}use(...r){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return r.forEach(t=>{let s={...t};if(s.async=this.defaults.async||s.async||!1,t.extensions&&(t.extensions.forEach(n=>{if(!n.name)throw new Error("extension name required");if("renderer"in n){let l=e.renderers[n.name];l?e.renderers[n.name]=function(...i){let a=n.renderer.apply(this,i);return a===!1&&(a=l.apply(this,i)),a}:e.renderers[n.name]=n.renderer}if("tokenizer"in n){if(!n.level||n.level!=="block"&&n.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let l=e[n.level];l?l.unshift(n.tokenizer):e[n.level]=[n.tokenizer],n.start&&(n.level==="block"?e.startBlock?e.startBlock.push(n.start):e.startBlock=[n.start]:n.level==="inline"&&(e.startInline?e.startInline.push(n.start):e.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(e.childTokens[n.name]=n.childTokens)}),s.extensions=e),t.renderer){let n=this.defaults.renderer||new at(this.defaults);for(let l in t.renderer){if(!(l in n))throw new Error(`renderer '${l}' does not exist`);if(["options","parser"].includes(l))continue;let i=l,a=t.renderer[i],u=n[i];n[i]=(...c)=>{let h=a.apply(n,c);return h===!1&&(h=u.apply(n,c)),h||""}}s.renderer=n}if(t.tokenizer){let n=this.defaults.tokenizer||new lt(this.defaults);for(let l in t.tokenizer){if(!(l in n))throw new Error(`tokenizer '${l}' does not exist`);if(["options","rules","lexer"].includes(l))continue;let i=l,a=t.tokenizer[i],u=n[i];n[i]=(...c)=>{let h=a.apply(n,c);return h===!1&&(h=u.apply(n,c)),h}}s.tokenizer=n}if(t.hooks){let n=this.defaults.hooks||new st;for(let l in t.hooks){if(!(l in n))throw new Error(`hook '${l}' does not exist`);if(["options","block"].includes(l))continue;let i=l,a=t.hooks[i],u=n[i];st.passThroughHooks.has(l)?n[i]=c=>{if(this.defaults.async)return Promise.resolve(a.call(n,c)).then(m=>u.call(n,m));let h=a.call(n,c);return u.call(n,h)}:n[i]=(...c)=>{let h=a.apply(n,c);return h===!1&&(h=u.apply(n,c)),h}}s.hooks=n}if(t.walkTokens){let n=this.defaults.walkTokens,l=t.walkTokens;s.walkTokens=function(i){let a=[];return a.push(l.call(this,i)),n&&(a=a.concat(n.call(this,i))),a}}this.defaults={...this.defaults,...s}}),this}setOptions(r){return this.defaults={...this.defaults,...r},this}lexer(r,e){return pe.lex(r,e??this.defaults)}parser(r,e){return he.parse(r,e??this.defaults)}parseMarkdown(r){return(e,t)=>{let s={...t},n={...this.defaults,...s},l=this.onError(!!n.silent,!!n.async);if(this.defaults.async===!0&&s.async===!1)return l(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return l(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return l(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));n.hooks&&(n.hooks.options=n,n.hooks.block=r);let i=n.hooks?n.hooks.provideLexer():r?pe.lex:pe.lexInline,a=n.hooks?n.hooks.provideParser():r?he.parse:he.parseInline;if(n.async)return Promise.resolve(n.hooks?n.hooks.preprocess(e):e).then(u=>i(u,n)).then(u=>n.hooks?n.hooks.processAllTokens(u):u).then(u=>n.walkTokens?Promise.all(this.walkTokens(u,n.walkTokens)).then(()=>u):u).then(u=>a(u,n)).then(u=>n.hooks?n.hooks.postprocess(u):u).catch(l);try{n.hooks&&(e=n.hooks.preprocess(e));let u=i(e,n);n.hooks&&(u=n.hooks.processAllTokens(u)),n.walkTokens&&this.walkTokens(u,n.walkTokens);let c=a(u,n);return n.hooks&&(c=n.hooks.postprocess(c)),c}catch(u){return l(u)}}}onError(r,e){return t=>{if(t.message+=` -Please report this to https://github.com/markedjs/marked.`,r){let s="

    An error occurred:

    "+re(t.message+"",!0)+"
    ";return e?Promise.resolve(s):s}if(e)return Promise.reject(t);throw t}}},ke=new li;function E(r,e){return ke.parse(r,e)}E.options=E.setOptions=function(r){return ke.setOptions(r),E.defaults=ke.defaults,Un(E.defaults),E};E.getDefaults=Bt;E.defaults=we;E.use=function(...r){return ke.use(...r),E.defaults=ke.defaults,Un(E.defaults),E};E.walkTokens=function(r,e){return ke.walkTokens(r,e)};E.parseInline=ke.parseInline;E.Parser=he;E.parser=he.parse;E.Renderer=at;E.TextRenderer=Yt;E.Lexer=pe;E.lexer=pe.lex;E.Tokenizer=lt;E.Hooks=st;E.parse=E;E.options;E.setOptions;E.use;E.walkTokens;E.parseInline;he.parse;pe.lex;/*! @license DOMPurify 3.2.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.6/LICENSE */const{entries:Vn,setPrototypeOf:Sn,isFrozen:ai,getPrototypeOf:ci,getOwnPropertyDescriptor:ui}=Object;let{freeze:j,seal:Y,create:Qn}=Object,{apply:Nt,construct:Pt}=typeof Reflect<"u"&&Reflect;j||(j=function(e){return e});Y||(Y=function(e){return e});Nt||(Nt=function(e,t,s){return e.apply(t,s)});Pt||(Pt=function(e,t){return new e(...t)});const tt=Z(Array.prototype.forEach),pi=Z(Array.prototype.lastIndexOf),Rn=Z(Array.prototype.pop),ze=Z(Array.prototype.push),hi=Z(Array.prototype.splice),it=Z(String.prototype.toLowerCase),St=Z(String.prototype.toString),Ln=Z(String.prototype.match),Ue=Z(String.prototype.replace),di=Z(String.prototype.indexOf),fi=Z(String.prototype.trim),Q=Z(Object.prototype.hasOwnProperty),G=Z(RegExp.prototype.test),Fe=gi(TypeError);function Z(r){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var t=arguments.length,s=new Array(t>1?t-1:0),n=1;n2&&arguments[2]!==void 0?arguments[2]:it;Sn&&Sn(r,null);let s=e.length;for(;s--;){let n=e[s];if(typeof n=="string"){const l=t(n);l!==n&&(ai(e)||(e[s]=l),n=l)}r[n]=!0}return r}function mi(r){for(let e=0;e/gm),yi=Y(/\$\{[\w\W]*/gm),_i=Y(/^data-[\-\w.\u00B7-\uFFFF]+$/),Ti=Y(/^aria-[\-\w]+$/),Kn=Y(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),vi=Y(/^(?:\w+script|data):/i),Ai=Y(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Jn=Y(/^html$/i),Ei=Y(/^[a-z][.\w]*(-[.\w]+)+$/i);var Mn=Object.freeze({__proto__:null,ARIA_ATTR:Ti,ATTR_WHITESPACE:Ai,CUSTOM_ELEMENT:Ei,DATA_ATTR:_i,DOCTYPE_NAME:Jn,ERB_EXPR:wi,IS_ALLOWED_URI:Kn,IS_SCRIPT_OR_DATA:vi,MUSTACHE_EXPR:xi,TMPLIT_EXPR:yi});const He={element:1,text:3,progressingInstruction:7,comment:8,document:9},Si=function(){return typeof window>"u"?null:window},Ri=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let s=null;const n="data-tt-policy-suffix";t&&t.hasAttribute(n)&&(s=t.getAttribute(n));const l="dompurify"+(s?"#"+s:"");try{return e.createPolicy(l,{createHTML(i){return i},createScriptURL(i){return i}})}catch{return console.warn("TrustedTypes policy "+l+" could not be created."),null}},On=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function er(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Si();const e=k=>er(k);if(e.version="3.2.6",e.removed=[],!r||!r.document||r.document.nodeType!==He.document||!r.Element)return e.isSupported=!1,e;let{document:t}=r;const s=t,n=s.currentScript,{DocumentFragment:l,HTMLTemplateElement:i,Node:a,Element:u,NodeFilter:c,NamedNodeMap:h=r.NamedNodeMap||r.MozNamedAttrMap,HTMLFormElement:m,DOMParser:f,trustedTypes:y}=r,v=u.prototype,$=Be(v,"cloneNode"),V=Be(v,"remove"),J=Be(v,"nextSibling"),ee=Be(v,"childNodes"),U=Be(v,"parentNode");if(typeof i=="function"){const k=t.createElement("template");k.content&&k.content.ownerDocument&&(t=k.content.ownerDocument)}let D,se="";const{implementation:ie,createNodeIterator:te,createDocumentFragment:ht,getElementsByTagName:dt}=t,{importNode:ft}=s;let I=On();e.isSupported=typeof Vn=="function"&&typeof U=="function"&&ie&&ie.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:de,ERB_EXPR:Ce,TMPLIT_EXPR:x,DATA_ATTR:_,ARIA_ATTR:H,IS_SCRIPT_OR_DATA:oe,ATTR_WHITESPACE:De,CUSTOM_ELEMENT:gt}=Mn;let{IS_ALLOWED_URI:Vt}=Mn,O=null;const Qt=w({},[...Cn,...Rt,...Lt,...Ct,...Dn]);let z=null;const Kt=w({},[...In,...Dt,...$n,...nt]);let C=Object.seal(Qn(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ie=null,mt=null,Jt=!0,kt=!0,en=!1,tn=!0,ye=!1,je=!0,fe=!1,bt=!1,xt=!1,_e=!1,Ze=!1,Xe=!1,nn=!0,rn=!1;const tr="user-content-";let wt=!0,$e=!1,Te={},ve=null;const sn=w({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let on=null;const ln=w({},["audio","video","img","source","image","track"]);let yt=null;const an=w({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ye="http://www.w3.org/1998/Math/MathML",Ve="http://www.w3.org/2000/svg",le="http://www.w3.org/1999/xhtml";let Ae=le,_t=!1,Tt=null;const nr=w({},[Ye,Ve,le],St);let Qe=w({},["mi","mo","mn","ms","mtext"]),Ke=w({},["annotation-xml"]);const rr=w({},["title","style","font","a","script"]);let Me=null;const sr=["application/xhtml+xml","text/html"],ir="text/html";let N=null,Ee=null;const or=t.createElement("form"),cn=function(o){return o instanceof RegExp||o instanceof Function},vt=function(){let o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Ee&&Ee===o)){if((!o||typeof o!="object")&&(o={}),o=ue(o),Me=sr.indexOf(o.PARSER_MEDIA_TYPE)===-1?ir:o.PARSER_MEDIA_TYPE,N=Me==="application/xhtml+xml"?St:it,O=Q(o,"ALLOWED_TAGS")?w({},o.ALLOWED_TAGS,N):Qt,z=Q(o,"ALLOWED_ATTR")?w({},o.ALLOWED_ATTR,N):Kt,Tt=Q(o,"ALLOWED_NAMESPACES")?w({},o.ALLOWED_NAMESPACES,St):nr,yt=Q(o,"ADD_URI_SAFE_ATTR")?w(ue(an),o.ADD_URI_SAFE_ATTR,N):an,on=Q(o,"ADD_DATA_URI_TAGS")?w(ue(ln),o.ADD_DATA_URI_TAGS,N):ln,ve=Q(o,"FORBID_CONTENTS")?w({},o.FORBID_CONTENTS,N):sn,Ie=Q(o,"FORBID_TAGS")?w({},o.FORBID_TAGS,N):ue({}),mt=Q(o,"FORBID_ATTR")?w({},o.FORBID_ATTR,N):ue({}),Te=Q(o,"USE_PROFILES")?o.USE_PROFILES:!1,Jt=o.ALLOW_ARIA_ATTR!==!1,kt=o.ALLOW_DATA_ATTR!==!1,en=o.ALLOW_UNKNOWN_PROTOCOLS||!1,tn=o.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ye=o.SAFE_FOR_TEMPLATES||!1,je=o.SAFE_FOR_XML!==!1,fe=o.WHOLE_DOCUMENT||!1,_e=o.RETURN_DOM||!1,Ze=o.RETURN_DOM_FRAGMENT||!1,Xe=o.RETURN_TRUSTED_TYPE||!1,xt=o.FORCE_BODY||!1,nn=o.SANITIZE_DOM!==!1,rn=o.SANITIZE_NAMED_PROPS||!1,wt=o.KEEP_CONTENT!==!1,$e=o.IN_PLACE||!1,Vt=o.ALLOWED_URI_REGEXP||Kn,Ae=o.NAMESPACE||le,Qe=o.MATHML_TEXT_INTEGRATION_POINTS||Qe,Ke=o.HTML_INTEGRATION_POINTS||Ke,C=o.CUSTOM_ELEMENT_HANDLING||{},o.CUSTOM_ELEMENT_HANDLING&&cn(o.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(C.tagNameCheck=o.CUSTOM_ELEMENT_HANDLING.tagNameCheck),o.CUSTOM_ELEMENT_HANDLING&&cn(o.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(C.attributeNameCheck=o.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),o.CUSTOM_ELEMENT_HANDLING&&typeof o.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(C.allowCustomizedBuiltInElements=o.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),ye&&(kt=!1),Ze&&(_e=!0),Te&&(O=w({},Dn),z=[],Te.html===!0&&(w(O,Cn),w(z,In)),Te.svg===!0&&(w(O,Rt),w(z,Dt),w(z,nt)),Te.svgFilters===!0&&(w(O,Lt),w(z,Dt),w(z,nt)),Te.mathMl===!0&&(w(O,Ct),w(z,$n),w(z,nt))),o.ADD_TAGS&&(O===Qt&&(O=ue(O)),w(O,o.ADD_TAGS,N)),o.ADD_ATTR&&(z===Kt&&(z=ue(z)),w(z,o.ADD_ATTR,N)),o.ADD_URI_SAFE_ATTR&&w(yt,o.ADD_URI_SAFE_ATTR,N),o.FORBID_CONTENTS&&(ve===sn&&(ve=ue(ve)),w(ve,o.FORBID_CONTENTS,N)),wt&&(O["#text"]=!0),fe&&w(O,["html","head","body"]),O.table&&(w(O,["tbody"]),delete Ie.tbody),o.TRUSTED_TYPES_POLICY){if(typeof o.TRUSTED_TYPES_POLICY.createHTML!="function")throw Fe('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof o.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Fe('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');D=o.TRUSTED_TYPES_POLICY,se=D.createHTML("")}else D===void 0&&(D=Ri(y,n)),D!==null&&typeof se=="string"&&(se=D.createHTML(""));j&&j(o),Ee=o}},un=w({},[...Rt,...Lt,...ki]),pn=w({},[...Ct,...bi]),lr=function(o){let p=U(o);(!p||!p.tagName)&&(p={namespaceURI:Ae,tagName:"template"});const g=it(o.tagName),S=it(p.tagName);return Tt[o.namespaceURI]?o.namespaceURI===Ve?p.namespaceURI===le?g==="svg":p.namespaceURI===Ye?g==="svg"&&(S==="annotation-xml"||Qe[S]):!!un[g]:o.namespaceURI===Ye?p.namespaceURI===le?g==="math":p.namespaceURI===Ve?g==="math"&&Ke[S]:!!pn[g]:o.namespaceURI===le?p.namespaceURI===Ve&&!Ke[S]||p.namespaceURI===Ye&&!Qe[S]?!1:!pn[g]&&(rr[g]||!un[g]):!!(Me==="application/xhtml+xml"&&Tt[o.namespaceURI]):!1},ne=function(o){ze(e.removed,{element:o});try{U(o).removeChild(o)}catch{V(o)}},Se=function(o,p){try{ze(e.removed,{attribute:p.getAttributeNode(o),from:p})}catch{ze(e.removed,{attribute:null,from:p})}if(p.removeAttribute(o),o==="is")if(_e||Ze)try{ne(p)}catch{}else try{p.setAttribute(o,"")}catch{}},hn=function(o){let p=null,g=null;if(xt)o=""+o;else{const M=Ln(o,/^[\r\n\t ]+/);g=M&&M[0]}Me==="application/xhtml+xml"&&Ae===le&&(o=''+o+"");const S=D?D.createHTML(o):o;if(Ae===le)try{p=new f().parseFromString(S,Me)}catch{}if(!p||!p.documentElement){p=ie.createDocument(Ae,"template",null);try{p.documentElement.innerHTML=_t?se:S}catch{}}const F=p.body||p.documentElement;return o&&g&&F.insertBefore(t.createTextNode(g),F.childNodes[0]||null),Ae===le?dt.call(p,fe?"html":"body")[0]:fe?p.documentElement:F},dn=function(o){return te.call(o.ownerDocument||o,o,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},At=function(o){return o instanceof m&&(typeof o.nodeName!="string"||typeof o.textContent!="string"||typeof o.removeChild!="function"||!(o.attributes instanceof h)||typeof o.removeAttribute!="function"||typeof o.setAttribute!="function"||typeof o.namespaceURI!="string"||typeof o.insertBefore!="function"||typeof o.hasChildNodes!="function")},fn=function(o){return typeof a=="function"&&o instanceof a};function ae(k,o,p){tt(k,g=>{g.call(e,o,p,Ee)})}const gn=function(o){let p=null;if(ae(I.beforeSanitizeElements,o,null),At(o))return ne(o),!0;const g=N(o.nodeName);if(ae(I.uponSanitizeElement,o,{tagName:g,allowedTags:O}),je&&o.hasChildNodes()&&!fn(o.firstElementChild)&&G(/<[/\w!]/g,o.innerHTML)&&G(/<[/\w!]/g,o.textContent)||o.nodeType===He.progressingInstruction||je&&o.nodeType===He.comment&&G(/<[/\w]/g,o.data))return ne(o),!0;if(!O[g]||Ie[g]){if(!Ie[g]&&kn(g)&&(C.tagNameCheck instanceof RegExp&&G(C.tagNameCheck,g)||C.tagNameCheck instanceof Function&&C.tagNameCheck(g)))return!1;if(wt&&!ve[g]){const S=U(o)||o.parentNode,F=ee(o)||o.childNodes;if(F&&S){const M=F.length;for(let X=M-1;X>=0;--X){const ce=$(F[X],!0);ce.__removalCount=(o.__removalCount||0)+1,S.insertBefore(ce,J(o))}}}return ne(o),!0}return o instanceof u&&!lr(o)||(g==="noscript"||g==="noembed"||g==="noframes")&&G(/<\/no(script|embed|frames)/i,o.innerHTML)?(ne(o),!0):(ye&&o.nodeType===He.text&&(p=o.textContent,tt([de,Ce,x],S=>{p=Ue(p,S," ")}),o.textContent!==p&&(ze(e.removed,{element:o.cloneNode()}),o.textContent=p)),ae(I.afterSanitizeElements,o,null),!1)},mn=function(o,p,g){if(nn&&(p==="id"||p==="name")&&(g in t||g in or))return!1;if(!(kt&&!mt[p]&&G(_,p))){if(!(Jt&&G(H,p))){if(!z[p]||mt[p]){if(!(kn(o)&&(C.tagNameCheck instanceof RegExp&&G(C.tagNameCheck,o)||C.tagNameCheck instanceof Function&&C.tagNameCheck(o))&&(C.attributeNameCheck instanceof RegExp&&G(C.attributeNameCheck,p)||C.attributeNameCheck instanceof Function&&C.attributeNameCheck(p))||p==="is"&&C.allowCustomizedBuiltInElements&&(C.tagNameCheck instanceof RegExp&&G(C.tagNameCheck,g)||C.tagNameCheck instanceof Function&&C.tagNameCheck(g))))return!1}else if(!yt[p]){if(!G(Vt,Ue(g,De,""))){if(!((p==="src"||p==="xlink:href"||p==="href")&&o!=="script"&&di(g,"data:")===0&&on[o])){if(!(en&&!G(oe,Ue(g,De,"")))){if(g)return!1}}}}}}return!0},kn=function(o){return o!=="annotation-xml"&&Ln(o,gt)},bn=function(o){ae(I.beforeSanitizeAttributes,o,null);const{attributes:p}=o;if(!p||At(o))return;const g={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:z,forceKeepAttr:void 0};let S=p.length;for(;S--;){const F=p[S],{name:M,namespaceURI:X,value:ce}=F,Oe=N(M),Et=ce;let B=M==="value"?Et:fi(Et);if(g.attrName=Oe,g.attrValue=B,g.keepAttr=!0,g.forceKeepAttr=void 0,ae(I.uponSanitizeAttribute,o,g),B=g.attrValue,rn&&(Oe==="id"||Oe==="name")&&(Se(M,o),B=tr+B),je&&G(/((--!?|])>)|<\/(style|title)/i,B)){Se(M,o);continue}if(g.forceKeepAttr)continue;if(!g.keepAttr){Se(M,o);continue}if(!tn&&G(/\/>/i,B)){Se(M,o);continue}ye&&tt([de,Ce,x],wn=>{B=Ue(B,wn," ")});const xn=N(o.nodeName);if(!mn(xn,Oe,B)){Se(M,o);continue}if(D&&typeof y=="object"&&typeof y.getAttributeType=="function"&&!X)switch(y.getAttributeType(xn,Oe)){case"TrustedHTML":{B=D.createHTML(B);break}case"TrustedScriptURL":{B=D.createScriptURL(B);break}}if(B!==Et)try{X?o.setAttributeNS(X,M,B):o.setAttribute(M,B),At(o)?ne(o):Rn(e.removed)}catch{Se(M,o)}}ae(I.afterSanitizeAttributes,o,null)},ar=function k(o){let p=null;const g=dn(o);for(ae(I.beforeSanitizeShadowDOM,o,null);p=g.nextNode();)ae(I.uponSanitizeShadowNode,p,null),gn(p),bn(p),p.content instanceof l&&k(p.content);ae(I.afterSanitizeShadowDOM,o,null)};return e.sanitize=function(k){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},p=null,g=null,S=null,F=null;if(_t=!k,_t&&(k=""),typeof k!="string"&&!fn(k))if(typeof k.toString=="function"){if(k=k.toString(),typeof k!="string")throw Fe("dirty is not a string, aborting")}else throw Fe("toString is not a function");if(!e.isSupported)return k;if(bt||vt(o),e.removed=[],typeof k=="string"&&($e=!1),$e){if(k.nodeName){const ce=N(k.nodeName);if(!O[ce]||Ie[ce])throw Fe("root node is forbidden and cannot be sanitized in-place")}}else if(k instanceof a)p=hn(""),g=p.ownerDocument.importNode(k,!0),g.nodeType===He.element&&g.nodeName==="BODY"||g.nodeName==="HTML"?p=g:p.appendChild(g);else{if(!_e&&!ye&&!fe&&k.indexOf("<")===-1)return D&&Xe?D.createHTML(k):k;if(p=hn(k),!p)return _e?null:Xe?se:""}p&&xt&&ne(p.firstChild);const M=dn($e?k:p);for(;S=M.nextNode();)gn(S),bn(S),S.content instanceof l&&ar(S.content);if($e)return k;if(_e){if(Ze)for(F=ht.call(p.ownerDocument);p.firstChild;)F.appendChild(p.firstChild);else F=p;return(z.shadowroot||z.shadowrootmode)&&(F=ft.call(s,F,!0)),F}let X=fe?p.outerHTML:p.innerHTML;return fe&&O["!doctype"]&&p.ownerDocument&&p.ownerDocument.doctype&&p.ownerDocument.doctype.name&&G(Jn,p.ownerDocument.doctype.name)&&(X=" -`+X),ye&&tt([de,Ce,x],ce=>{X=Ue(X,ce," ")}),D&&Xe?D.createHTML(X):X},e.setConfig=function(){let k=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};vt(k),bt=!0},e.clearConfig=function(){Ee=null,bt=!1},e.isValidAttribute=function(k,o,p){Ee||vt({});const g=N(k),S=N(o);return mn(g,S,p)},e.addHook=function(k,o){typeof o=="function"&&ze(I[k],o)},e.removeHook=function(k,o){if(o!==void 0){const p=pi(I[k],o);return p===-1?void 0:hi(I[k],p,1)[0]}return Rn(I[k])},e.removeHooks=function(k){I[k]=[]},e.removeAllHooks=function(){I=On()},e}var Li=er();const Ci={class:"min-h-screen flex items-center justify-center p-4 overflow-hidden transition-colors duration-300"},Di={class:"w-full max-w-md relative z-10"},Ii={class:"p-8"},$i=be({__name:"RetrievewFileView",setup(r){const{t:e}=We(),t=mr(),s=window.location.origin,n=wr(),l=xe("isDarkMode"),i=Er(),{receiveData:a}=kr(i),u=K(""),c=K({readonly:!1,loading:!1}),h=K(""),m=K(null),f=K(!1),y=xr(),v=a,$=JSON.parse(localStorage.getItem("config")||"{}"),V=K(null);br(()=>{V.value&&V.value.focus();const x=y.query.code;x&&typeof x=="string"&&(u.value=x)}),It(u,x=>{x.length===5&&U()});const J=x=>x.downloadUrl?x.downloadUrl.startsWith("http")?x.downloadUrl:`${s}${x.downloadUrl}`:"",ee=async()=>{m.value&&m.value.content&&await Rr(m.value.content,{successMsg:e("fileRecord.contentCopied"),errorMsg:e("fileRecord.copyFailed")})},U=async()=>{if(u.value.length!==5){t.showAlert(e("retrieve.messages.invalidCode"),"error");return}c.value.readonly=!0,c.value.loading=!0;try{const x=await yr.post("/share/select/",{code:u.value}),_=x.data||x;if(_&&_.code===200)if(_.detail){const H=_.detail.text.startsWith("/share/download")||_.detail.name!=="Text",oe={id:Date.now(),code:_.detail.code,filename:_.detail.name,size:D(_.detail.size),downloadUrl:H?_.detail.text:null,content:H?null:_.detail.text,date:new Date().toLocaleString()};let De=!0;i.receiveData.forEach(gt=>{gt.code===oe.code&&(De=!1)}),De&&i.addReceiveData(oe),H?m.value=oe:(m.value=oe,I.value=!0),t.showAlert(e("retrieve.messages.retrieveSuccess"),"success")}else t.showAlert(e("retrieve.messages.invalidCodeError"),"error");else t.showAlert(e("retrieve.messages.retrieveFailure")+_.detail,"error")}catch(x){console.error("Retrieve failed:",x);const _=x,H=_?.response?.data?.detail||_?.message||e("retrieve.messages.unknownError");t.showAlert(e("retrieve.messages.networkError")+H,"error")}finally{c.value.readonly=!1,c.value.loading=!1,u.value=""}},D=x=>{if(x===0)return"0 "+e("fileSize.bytes");const _=1024,H=[e("fileSize.bytes"),e("fileSize.kb"),e("fileSize.mb"),e("fileSize.gb"),e("fileSize.tb")],oe=Math.floor(Math.log(x)/Math.log(_));return parseFloat((x/Math.pow(_,oe)).toFixed(2))+" "+H[oe]},se=x=>{m.value=x},ie=x=>{const _=v.value.findIndex(H=>H.id===x);_!==-1&&i.deleteReceiveData(_)},te=()=>{f.value=!f.value},ht=()=>{n.push("/send")},dt=x=>x.downloadUrl?`${s}${x.downloadUrl}`:`${s}?code=${x.code}`,ft=x=>{if(x.downloadUrl)window.open(`${x.downloadUrl.startsWith("http")?"":s}${x.downloadUrl}`,"_blank");else if(x.content){const _=new Blob([x.content],{type:"text/plain;charset=utf-8"});As.saveAs(_,`${x.filename}.txt`)}},I=K(!1),de=K("");It(()=>m.value?.content,async x=>{if(x)try{const _=await E(x);de.value=Li.sanitize(_,{ALLOWED_TAGS:["p","br","strong","em","u","h1","h2","h3","h4","h5","h6","ul","ol","li","blockquote","code","pre","a","img"],ALLOWED_ATTR:["href","src","alt","title","class"],ALLOWED_URI_REGEXP:/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|xxx):|[^a-z]|[a-z+.-]+(?:[^a-z+.-:]|$))/i})}catch(_){console.error("Markdown 渲染失败:",_),de.value=x}else de.value=""},{immediate:!0});const Ce=()=>{I.value=!0};return(x,_)=>(P(),W("div",Ci,[b("div",Di,[b("div",{class:T(["rounded-3xl shadow-2xl overflow-hidden border transform transition-all duration-300",[d(l)?"bg-gray-800 bg-opacity-50 backdrop-filter backdrop-blur-xl border-gray-700":"bg-white border-gray-200"]])},[b("div",Ii,[L(Sr,{title:d($).name,onTitleClick:ht},null,8,["title"]),L(Br,{"input-status":c.value,error:!!h.value,onSubmit:U,"onUpdate:code":_[0]||(_[0]=H=>u.value=H),ref:"retrieveFormRef"},null,8,["input-status","error"])]),L(Gr,{"link-text":x.$t("retrieve.needSendFile"),"link-to":"/send","drawer-text":x.$t("retrieve.recordsDrawer"),onToggleDrawer:te},null,8,["link-text","drawer-text"])],2)]),L(qr,{visible:f.value,title:x.$t("retrieve.recordsDrawer"),onClose:te},{default:Le(()=>[L(ms,{records:d(v),onViewDetails:se,onDownloadRecord:ft,onDeleteRecord:ie},null,8,["records"])]),_:1},8,["visible","title"]),L(ls,{visible:!!m.value,record:m.value,onClose:_[1]||(_[1]=H=>m.value=null),onShowContentPreview:Ce,"get-download-url":J,"get-qr-code-value":dt},null,8,["visible","record"]),L(_s,{visible:I.value,"rendered-content":de.value,onClose:_[2]||(_[2]=H=>I.value=!1),onCopyContent:ee},null,8,["visible","rendered-content"])]))}}),Fi=Re($i,[["__scopeId","data-v-a89ba9bf"]]);export{Fi as default}; diff --git a/themes/2024/assets/RetrievewFileView-pLqL6j5e.css b/themes/2024/assets/RetrievewFileView-pLqL6j5e.css deleted file mode 100644 index c4cdaf5..0000000 --- a/themes/2024/assets/RetrievewFileView-pLqL6j5e.css +++ /dev/null @@ -1 +0,0 @@ -.w-97-100[data-v-8f0be1b0]{width:calc(100% - 1rem)}.drawer-enter-active[data-v-9c6698ec],.drawer-leave-active[data-v-9c6698ec]{transition:transform .3s ease}.drawer-enter-from[data-v-9c6698ec],.drawer-leave-to[data-v-9c6698ec]{transform:translate(100%)}@media (min-width: 640px){.sm\:w-120[data-v-9c6698ec]{width:30rem}}.fade-enter-active[data-v-5c3436d6],.fade-leave-active[data-v-5c3436d6]{transition:opacity .3s ease}.fade-enter-from[data-v-5c3436d6],.fade-leave-to[data-v-5c3436d6]{opacity:0}.list-enter-active[data-v-31facf40],.list-leave-active[data-v-31facf40]{transition:all .3s ease}.list-enter-from[data-v-31facf40],.list-leave-to[data-v-31facf40]{opacity:0;transform:translate(30px)}.list-move[data-v-31facf40]{transition:transform .3s ease}.fade-enter-active[data-v-eb3f9cc8],.fade-leave-active[data-v-eb3f9cc8]{transition:opacity .3s ease}.fade-enter-from[data-v-eb3f9cc8],.fade-leave-to[data-v-eb3f9cc8]{opacity:0}.custom-scrollbar[data-v-eb3f9cc8]{scrollbar-width:thin;scrollbar-color:rgba(156,163,175,.3) rgba(243,244,246,.5)}.custom-scrollbar[data-v-eb3f9cc8]::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar[data-v-eb3f9cc8]::-webkit-scrollbar-track{background:#f3f4f680;border-radius:3px}.custom-scrollbar[data-v-eb3f9cc8]::-webkit-scrollbar-thumb{background-color:#9ca3af80;border-radius:3px;-webkit-transition:background-color .3s;transition:background-color .3s}.custom-scrollbar[data-v-eb3f9cc8]::-webkit-scrollbar-thumb:hover{background-color:#9ca3afb3}[data-v-eb3f9cc8] [class*=dark] .custom-scrollbar{scrollbar-color:rgba(75,85,99,.5) rgba(31,41,55,.5)}[data-v-eb3f9cc8] [class*=dark] .custom-scrollbar::-webkit-scrollbar-track{background:#1f293780}[data-v-eb3f9cc8] [class*=dark] .custom-scrollbar::-webkit-scrollbar-thumb{background-color:#4b556380}[data-v-eb3f9cc8] [class*=dark] .custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#4b5563b3}.custom-scrollbar[data-v-eb3f9cc8]{background:inherit}.break-words[data-v-eb3f9cc8]{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.overflow-wrap-anywhere[data-v-eb3f9cc8]{overflow-wrap:anywhere}[data-v-eb3f9cc8] .prose{text-align:left;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}[data-v-eb3f9cc8] .prose h1,[data-v-eb3f9cc8] .prose h2,[data-v-eb3f9cc8] .prose h3,[data-v-eb3f9cc8] .prose h4,[data-v-eb3f9cc8] .prose h5,[data-v-eb3f9cc8] .prose h6{color:#4f46e5;word-wrap:break-word;overflow-wrap:break-word}[data-v-eb3f9cc8] .prose p,[data-v-eb3f9cc8] .prose div,[data-v-eb3f9cc8] .prose span,[data-v-eb3f9cc8] .prose code,[data-v-eb3f9cc8] .prose pre{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}[data-v-eb3f9cc8] .prose pre{white-space:pre-wrap;overflow-x:auto}[data-v-eb3f9cc8] .prose code{white-space:pre-wrap}@media (prefers-color-scheme: dark){[data-v-eb3f9cc8] .prose h1,[data-v-eb3f9cc8] .prose h2,[data-v-eb3f9cc8] .prose h3,[data-v-eb3f9cc8] .prose h4,[data-v-eb3f9cc8] .prose h5,[data-v-eb3f9cc8] .prose h6{color:#818cf8}}@keyframes blob-a89ba9bf{0%,to{transform:translate(0) scale(1)}25%{transform:translate(20px,-50px) scale(1.1)}50%{transform:translate(-20px,20px) scale(.9)}75%{transform:translate(50px,50px) scale(1.05)}}.animate-spin-slow[data-v-a89ba9bf]{animation:spin-a89ba9bf 8s linear infinite}@keyframes spin-a89ba9bf{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.w-97-100[data-v-a89ba9bf]{width:97%}[data-v-a89ba9bf] .prose{text-align:left;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}[data-v-a89ba9bf] .prose h1,[data-v-a89ba9bf] .prose h2,[data-v-a89ba9bf] .prose h3,[data-v-a89ba9bf] .prose h4,[data-v-a89ba9bf] .prose h5,[data-v-a89ba9bf] .prose h6{color:#4f46e5;word-wrap:break-word;overflow-wrap:break-word}[data-v-a89ba9bf] .prose p,[data-v-a89ba9bf] .prose div,[data-v-a89ba9bf] .prose span,[data-v-a89ba9bf] .prose code,[data-v-a89ba9bf] .prose pre{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}[data-v-a89ba9bf] .prose pre{white-space:pre-wrap;overflow-x:auto}[data-v-a89ba9bf] .prose code{white-space:pre-wrap}@media (prefers-color-scheme: dark){[data-v-a89ba9bf] .prose h1,[data-v-a89ba9bf] .prose h2,[data-v-a89ba9bf] .prose h3,[data-v-a89ba9bf] .prose h4,[data-v-a89ba9bf] .prose h5,[data-v-a89ba9bf] .prose h6{color:#818cf8}}@media (min-width: 640px){.sm\:w-120[data-v-a89ba9bf]{width:30rem}}.custom-scrollbar[data-v-a89ba9bf]{scrollbar-width:thin;scrollbar-color:rgba(156,163,175,.3) rgba(243,244,246,.5)}.custom-scrollbar[data-v-a89ba9bf]::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar[data-v-a89ba9bf]::-webkit-scrollbar-track{background:#f3f4f680;border-radius:3px}.custom-scrollbar[data-v-a89ba9bf]::-webkit-scrollbar-thumb{background-color:#9ca3af80;border-radius:3px;-webkit-transition:background-color .3s;transition:background-color .3s}.custom-scrollbar[data-v-a89ba9bf]::-webkit-scrollbar-thumb:hover{background-color:#9ca3afb3}[data-v-a89ba9bf] [class*=dark] .custom-scrollbar{scrollbar-color:rgba(75,85,99,.5) rgba(31,41,55,.5)}[data-v-a89ba9bf] [class*=dark] .custom-scrollbar::-webkit-scrollbar-track{background:#1f293780}[data-v-a89ba9bf] [class*=dark] .custom-scrollbar::-webkit-scrollbar-thumb{background-color:#4b556380}[data-v-a89ba9bf] [class*=dark] .custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#4b5563b3}.custom-scrollbar[data-v-a89ba9bf]{background:inherit}.break-words[data-v-a89ba9bf]{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.overflow-wrap-anywhere[data-v-a89ba9bf]{overflow-wrap:anywhere} diff --git a/themes/2024/assets/SendFileView-BqULfUDl.js b/themes/2024/assets/SendFileView-BqULfUDl.js deleted file mode 100644 index 4ef032f..0000000 --- a/themes/2024/assets/SendFileView-BqULfUDl.js +++ /dev/null @@ -1,26 +0,0 @@ -import{c as H,d as N,u as Q,a as A,o as F,b as s,n as a,e,i as J,t as k,r as z,f as ve,w as Ve,_ as re,g as G,h as O,j as q,k as y,l as je,m as E,T as Y,p as pe,F as Z,v as Re,q as Ee,s as ge,x as he,y as ee,z as Le,X as fe,A as He,B as Ne,C as L}from"./index-14Tp7zPK.js";import{u as We,P as qe,S as me,C as Ge,c as Oe,a as Qe,Q as Je,b as te,E as Ke}from"./PageHeader-BDzp_ji4.js";import{F as ye}from"./file-CN_5aebv.js";import{T as Xe}from"./trash-BTMfj7si.js";import"./box-CiSQlKtb.js";/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const se=H("clipboard-copy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ye=H("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ze=H("cloud-upload",[["path",{d:"M12 13v8",key:"1l5pq0"}],["path",{d:"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242",key:"1pljnt"}],["path",{d:"m8 17 4-4 4 4",key:"1quai1"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const et=H("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const tt=H("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]),xe=$=>$>=1024*1024*1024?Math.round($/(1024*1024*1024))+"GB":$>=1024*1024?Math.round($/(1024*1024))+"MB":Math.round($/1024)+"KB",st={class:"flex justify-center space-x-4 mb-6"},rt=N({__name:"SendTypeSelector",props:{selectedType:{}},emits:["update:selectedType"],setup($,{emit:_}){const{t:D}=Q(),o=_,f=J("isDarkMode"),b=v=>{o("update:selectedType",v)};return(v,u)=>(F(),A("div",st,[s("button",{type:"button",onClick:u[0]||(u[0]=i=>b("file")),class:a(["px-4 py-2 rounded-lg transition-colors duration-300",v.selectedType==="file"?"bg-indigo-600 text-white":e(f)?"bg-gray-700 text-gray-300 hover:bg-gray-600":"bg-gray-200 text-gray-700 hover:bg-gray-300"])},k(e(D)("nav.sendFile")),3),s("button",{type:"button",onClick:u[1]||(u[1]=i=>b("text")),class:a(["px-4 py-2 rounded-lg transition-colors duration-300",v.selectedType==="text"?"bg-indigo-600 text-white":e(f)?"bg-gray-700 text-gray-300 hover:bg-gray-600":"bg-gray-200 text-gray-700 hover:bg-gray-300"])},k(e(D)("send.sendText")),3)]))}}),ot=N({__name:"BorderProgressBar",props:{progress:{}},setup($){const _=$,D=z(null),o=z(null);let f=null;const b=()=>{if(!f||!o.value||!D.value)return;const u=D.value.clientWidth,i=D.value.clientHeight;o.value.width=u,o.value.height=i;const g=4,d=8;f.lineWidth=g;const C=f.createLinearGradient(0,0,u,i);C.addColorStop(0,"#4f46e5"),C.addColorStop(.5,"#7c3aed"),C.addColorStop(1,"#db2777"),f.strokeStyle="rgba(229, 231, 235, 0.2)",v(f,g/2,g/2,u-g,i-g,d),f.stroke();const c=((u+i)*2-8*d+2*Math.PI*d)*_.progress/100;f.strokeStyle=C,f.lineCap="round",f.lineJoin="round",f.beginPath();let p=c;const w=g/2,I=u-g,U=i-g;if(p>0){const x=Math.min(I-2*d,p);f.moveTo(d+w,w),f.lineTo(x+d+w,w),p-=x}if(p>0){const x=Math.min(Math.PI/2,p/d);f.arc(I-d+w,d+w,d,-Math.PI/2,x-Math.PI/2,!1),p-=x*d}if(p>0){const x=Math.min(U-2*d,p);f.lineTo(I+w,x+d+w),p-=x}if(p>0){const x=Math.min(Math.PI/2,p/d);f.arc(I-d+w,U-d+w,d,0,x,!1),p-=x*d}if(p>0){const x=Math.min(I-2*d,p);f.lineTo(I-x-d+w,U+w),p-=x}if(p>0){const x=Math.min(Math.PI/2,p/d);f.arc(d+w,U-d+w,d,Math.PI/2,Math.PI/2+x,!1),p-=x*d}if(p>0){const x=Math.min(U-2*d,p);f.lineTo(w,U-x-d+w),p-=x}if(p>0){const x=Math.min(Math.PI/2,p/d);f.arc(d+w,d+w,d,Math.PI,Math.PI+x,!1)}f.stroke()};function v(u,i,g,d,C,h){u.beginPath(),u.moveTo(i+h,g),u.lineTo(i+d-h,g),u.arcTo(i+d,g,i+d,g+h,h),u.lineTo(i+d,g+C-h),u.arcTo(i+d,g+C,i+d-h,g+C,h),u.lineTo(i+h,g+C),u.arcTo(i,g+C,i,g+C-h,h),u.lineTo(i,g+h),u.arcTo(i,g,i+h,g,h),u.closePath()}return ve(()=>{o.value&&(f=o.value.getContext("2d"),b())}),Ve(()=>_.progress,b),(u,i)=>(F(),A("div",{class:"border-progress-container",ref_key:"container",ref:D},[s("canvas",{ref_key:"canvas",ref:o,class:"border-progress-canvas"},null,512)],512))}}),at=re(ot,[["__scopeId","data-v-2fbf5085"]]),nt=["accept"],lt={key:0,class:"absolute inset-0 w-full h-full"},it={class:"block truncate"},dt=N({__name:"FileUploadArea",props:{selectedFile:{default:null},progress:{default:0},placeholder:{default:""},description:{default:""},acceptedTypes:{default:"*"}},emits:["fileSelected","fileDrop"],setup($,{emit:_}){const{t:D}=Q(),o=$,f=_,b=J("isDarkMode"),v=G(()=>o.placeholder||D("send.uploadArea.placeholder")),u=G(()=>o.description||D("send.uploadArea.description")),i=z(null),g=()=>{i.value?.click()},d=h=>{const p=h.target.files?.[0];p&&f("fileSelected",p)},C=h=>{f("fileDrop",h)};return(h,c)=>(F(),A("div",{class:a(["rounded-xl p-8 flex flex-col items-center justify-center border-2 border-dashed transition-all duration-300 group cursor-pointer relative",[e(b)?"bg-gray-800 bg-opacity-50 border-gray-600 hover:border-indigo-500":"bg-gray-100 border-gray-300 hover:border-indigo-500"]]),onClick:g,onDragover:c[0]||(c[0]=O(()=>{},["prevent"])),onDrop:O(C,["prevent"])},[s("input",{ref_key:"fileInput",ref:i,type:"file",class:"hidden",onChange:d,accept:h.acceptedTypes},null,40,nt),h.progress>0?(F(),A("div",lt,[y(at,{progress:h.progress},null,8,["progress"])])):q("",!0),y(e(Ze),{class:a(["w-16 h-16 transition-colors duration-300",e(b)?"text-gray-400 group-hover:text-indigo-400":"text-gray-600 group-hover:text-indigo-600"])},null,8,["class"]),s("p",{class:a(["mt-4 text-sm transition-colors duration-300 w-full text-center",e(b)?"text-gray-400 group-hover:text-indigo-400":"text-gray-600 group-hover:text-indigo-600"])},[s("span",it,k(h.selectedFile?h.selectedFile.name:v.value),1)],2),s("p",{class:a(["mt-2 text-xs",e(b)?"text-gray-500":"text-gray-400"])},k(u.value),3)],34))}}),ct={class:"flex flex-col"},ut=["value","rows","placeholder"],pt=N({__name:"TextInputArea",props:{modelValue:{},rows:{default:7},placeholder:{default:"在此输入要发送的文本..."}},emits:["update:modelValue"],setup($,{emit:_}){const{t:D}=Q(),o=$,f=_,b=J("isDarkMode"),v=G(()=>o.placeholder||D("send.uploadArea.textInput")),u=i=>{const g=i.target;f("update:modelValue",g.value)};return(i,g)=>(F(),A("div",ct,[s("textarea",{value:i.modelValue,onInput:u,rows:i.rows,placeholder:v.value,class:a(["flex-grow px-4 py-3 rounded-xl placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-indigo-500 transition duration-300 resize-none custom-scrollbar",e(b)?"bg-gray-800 bg-opacity-50 text-white":"bg-white text-gray-900 border border-gray-300"])},null,42,ut)]))}}),gt=re(pt,[["__scopeId","data-v-bebdfe92"]]),ht={class:"p-8"},ft={key:"file",class:"grid grid-cols-1 gap-8"},mt={key:"text",class:"grid grid-cols-1 gap-8"},yt={class:"flex flex-col space-y-3"},xt={class:"relative flex-grow group"},vt=["placeholder"],bt=["value"],wt={type:"submit",class:"w-full bg-gradient-to-r from-indigo-500 via-purple-500 to-pink-500 text-white font-bold py-4 px-6 rounded-lg focus:outline-none focus:ring-2 focus:ring-purple-500 focus:ring-opacity-50 transition-all duration-300 transform hover:scale-105 hover:shadow-lg relative overflow-hidden group"},kt={class:"relative z-10 flex items-center justify-center text-lg"},_t={class:"mt-6 text-center"},St={class:"flex-grow overflow-y-auto p-6"},Ct={class:"flex-shrink-0 mr-4"},Mt={class:"flex-grow min-w-0 mr-4"},Tt={class:"flex-shrink-0 flex space-x-2"},At=["onClick"],Ft=["onClick"],Dt=["onClick"],$t={key:0,class:"fixed inset-0 bg-black/60 backdrop-blur-sm flex items-center justify-center z-50 p-3 sm:p-4 overflow-y-auto"},It={class:"flex items-center justify-between"},zt={class:"p-4 sm:p-6"},Pt={class:"flex items-center mb-3 sm:mb-4"},Bt={class:"ml-3 sm:ml-4 min-w-0 flex-1"},Ut={class:"grid grid-cols-2 gap-3 sm:gap-4"},Vt={class:"flex items-center min-w-0"},jt={class:"flex items-center min-w-0"},Rt={class:"grid grid-cols-1 md:grid-cols-2 gap-4 sm:gap-6"},Et={class:"space-y-3 sm:space-y-4"},Lt={class:"bg-gradient-to-br from-indigo-500 to-purple-600 rounded-xl p-4 sm:p-5 text-white"},Ht={class:"flex items-center justify-between mb-3 sm:mb-4"},Nt={class:"text-2xl sm:text-3xl font-bold tracking-wider text-center break-all"},Wt={class:"flex items-center justify-between mb-2 sm:mb-3"},qt={class:"bg-white p-3 sm:p-4 rounded-lg shadow-sm mb-3 sm:mb-4"},Gt=N({__name:"SendFileView",setup($){const _=JSON.parse(localStorage.getItem("config")||"{}"),D=Ne(),o=J("isDarkMode"),f=We(),b=z("file"),v=z(null),u=z(""),i=z(_.expireStyle?.[0]||"day"),g=z("1"),d=z(0),C=z(!1),h=z(null),{t:c}=Q(),p=je(),w=G(()=>f.shareData),I=z(""),U=async r=>{v.value=r,ae()&&ne(r)&&(I.value=await W(r))},x=async r=>{if(r.dataTransfer?.files&&r.dataTransfer.files.length>0){const t=r.dataTransfer.files[0];if(v.value=t,!ie())return;I.value=await W(t)}},be=async r=>{const t=r.clipboardData?.items;if(t)for(let n=0;n{const S=m.trim();if(!S)return;const M=document.getElementById("text-content");if(!M){u.value+=S;return}const P=M.selectionStart,T=M.selectionEnd;if(P!==T){const B=u.value.substring(0,P),V=u.value.substring(T);u.value=B+S+V,setTimeout(()=>{const j=P+S.length;M.setSelectionRange(j,j),M.focus()},0)}else{const B=P,V=u.value.substring(0,B),j=u.value.substring(B);u.value=V+S+j,setTimeout(()=>{const X=B+S.length;M.setSelectionRange(X,X),M.focus()},0)}})}},W=async r=>{try{if(r.size<=10*1024*1024){const T=await r.arrayBuffer();if(window.isSecureContext){const R=await crypto.subtle.digest("SHA-256",T);return Array.from(new Uint8Array(R)).map(V=>V.toString(16).padStart(2,"0")).join("")}return K(r)}const t=5*1024*1024,n=r.slice(0,t),l=r.slice(-t),[m,S]=await Promise.all([n.arrayBuffer(),l.arrayBuffer()]),M=new Uint8Array(m.byteLength+S.byteLength+16);M.set(new Uint8Array(m),0),M.set(new Uint8Array(S),m.byteLength);const P=new TextEncoder().encode(r.size.toString());if(M.set(P,m.byteLength+S.byteLength),window.isSecureContext){const T=await crypto.subtle.digest("SHA-256",M);return Array.from(new Uint8Array(T)).map(B=>B.toString(16).padStart(2,"0")).join("")}return K(r)}catch(t){return console.error("File hash calculation failed:",t),K(r)}},K=r=>{const t=`${r.name}-${r.size}-${r.lastModified}`;let n=0;for(let l=0;l{switch(r){case"day":return c("send.expiration.placeholders.days");case"hour":return c("send.expiration.placeholders.hours");case"minute":return c("send.expiration.placeholders.minutes");case"count":return c("send.expiration.placeholders.count");case"forever":return c("send.expiration.placeholders.forever");default:return c("send.expiration.placeholders.default")}},oe=(r=i.value)=>{switch(r){case"day":return c("send.expiration.units.days");case"hour":return c("send.expiration.units.hours");case"minute":return c("send.expiration.units.minutes");case"count":return c("send.expiration.units.times");case"forever":return c("send.expiration.units.forever");default:return""}},ke=(r,t)=>{if(r==="forever")return c("send.expiration.units.forever");if(r==="count")return c("send.messages.expiresAfterCount",{count:t});const n=new Date,l=parseInt(t);switch(r){case"minute":n.setMinutes(n.getMinutes()+l);break;case"hour":n.setHours(n.getHours()+l);break;case"day":n.setDate(n.getDate()+l);break;default:return c("send.messages.expiresAfter",{value:t,unit:oe(r)})}const m=n.getFullYear(),S=(n.getMonth()+1).toString().padStart(2,"0"),M=n.getDate().toString().padStart(2,"0"),P=n.getHours().toString().padStart(2,"0"),T=n.getMinutes().toString().padStart(2,"0");return c("send.messages.expiresAt",{date:`${m}-${S}-${M} ${P}:${T}`})},_e=async r=>{try{const t=await W(r);I.value=t,console.log("Calculated file hash:",t);const n=5*1024*1024,l=Math.ceil(r.size/n),m=await L.post("chunk/upload/init/",{file_name:r.name,file_size:r.size,chunk_size:n,file_hash:I.value});if(m.code!==200)throw new Error(c("send.messages.initChunkUploadFailed"));if(m.detail?.existed)return m;const S=m.detail?.upload_id,M=new Set(m.detail?.uploaded_chunks||[]);for(let T=0;T{const Ie=Array.from(M).reduce((Pe,ue)=>{const Be=Math.min((ue+1)*n,r.size),Ue=ue*n;return Pe+(Be-Ue)},0),ze=Math.round((Ie+T*n+$e.loaded)*100/r.size);d.value=Math.min(ze,99)}})).code!==200)throw new Error(c("send.messages.chunkUploadFailed",{index:T}))}const P=await L.post(`chunk/upload/complete/${S}`,{expire_value:g.value?parseInt(g.value):1,expire_style:i.value});if(P.code!==200)throw new Error(c("send.messages.completeUploadFailed"));return P}catch(t){if(console.error("切片上传失败:",t),t&&typeof t=="object"&&"response"in t){const n=t;n.response?.data?.detail&&p.showAlert(n.response.data.detail,"error")}else p.showAlert(c("send.messages.uploadFailed"),"error");throw t}},Se=async r=>{const t=new FormData,n={headers:{"Content-Type":"multipart/form-data"},onUploadProgress:m=>{const S=Math.round(m.loaded*100/(m.total||1));d.value=S}};return t.append("file",r),t.append("expire_value",g.value),t.append("expire_style",i.value),await L.post("share/file/",t,n)},ae=()=>_.openUpload===0&&localStorage.getItem("token")===null?(p.showAlert(c("send.messages.guestUploadDisabled"),"error"),!1):!0,ne=r=>r.size>_.uploadSize?(p.showAlert(c("send.messages.fileSizeExceeded",{size:xe(_.uploadSize)}),"error"),v.value=null,!1):!0,le=(r,t)=>{if(r==="forever"||r==="count")return!0;const n=_.max_save_seconds||0;if(n===0)return!0;let l=0;switch(r){case"minute":l=parseInt(t)*60;break;case"hour":l=parseInt(t)*3600;break;case"day":l=parseInt(t)*86400;break;default:return!1}return l<=n},ie=()=>!(!ae()||!ne(v.value)||!le(i.value,g.value)),Ce=async()=>{if(b.value==="file"&&!v.value){p.showAlert(c("send.messages.selectFile"),"error");return}if(b.value==="text"&&!u.value.trim()){p.showAlert(c("send.messages.enterText"),"error");return}if(i.value!=="forever"&&!g.value){p.showAlert(c("send.messages.enterExpirationValue"),"error");return}if(!le(i.value,g.value)){const r=Math.floor(_.max_save_seconds/86400);p.showAlert(c("send.messages.expirationTooLong",{days:r}),"error");return}try{let r;if(b.value==="file")_.enableChunk?r=await _e(v.value):r=await Se(v.value);else{const t=new FormData;t.append("text",u.value),t.append("expire_value",g.value),t.append("expire_style",i.value),r=await L.post("share/text/",t,{headers:{"Content-Type":"multipart/form-data"}})}if(r&&r.code===200){const t=r.detail?.code||"",n=r.detail?.name||"",l={id:Date.now(),filename:n,date:new Date().toISOString().split("T")[0],size:b.value==="text"?`${(u.value.length/1024).toFixed(2)} KB`:`${(v.value.size/(1024*1024)).toFixed(1)} MB`,expiration:i.value==="forever"?c("send.expiration.forever"):ke(i.value,g.value),retrieveCode:t};f.addShareDataRecord(l),p.showAlert(c("send.messages.sendSuccess",{code:t}),"success"),v.value=null,u.value="",d.value=0,h.value=l,await te(t)}else throw new Error(c("send.messages.serverError"))}catch(r){if(r&&typeof r=="object"&&"response"in r){const t=r;t.response?.data?.detail&&p.showAlert(t.response.data.detail,"error")}else p.showAlert(c("send.messages.sendFailed"),"error")}finally{d.value=0}},Me=()=>{D.push("/")},de=()=>{C.value=!C.value},Te=r=>{h.value=r},Ae=r=>{const t=f.shareData.findIndex(n=>n.id===r);t!==-1&&f.deleteShareData(t)},Fe=window.location.origin+"/#/",De=r=>`${Fe}?code=${r.retrieveCode}`,ce=r=>{const n=(parseInt(g.value)||0)+r;n>=1&&(g.value=n.toString())};return ve(()=>{console.log("SendFileView mounted")}),(r,t)=>{const n=Le("router-link");return F(),A("div",{class:"min-h-screen flex items-center justify-center p-4 overflow-hidden transition-colors duration-300",onPaste:O(be,["prevent"])},[s("div",{class:a(["rounded-3xl shadow-2xl overflow-hidden border w-full max-w-md transition-colors duration-300",[e(o)?"bg-white bg-opacity-10 backdrop-filter backdrop-blur-xl border-gray-700":"bg-white border-gray-200"]])},[s("div",ht,[y(qe,{title:e(_).name,onTitleClick:Me},null,8,["title"]),s("form",{onSubmit:O(Ce,["prevent"]),class:"space-y-8"},[y(rt,{"selected-type":b.value,"onUpdate:selectedType":t[0]||(t[0]=l=>b.value=l)},null,8,["selected-type"]),y(Y,{name:"fade",mode:"out-in"},{default:E(()=>[b.value==="file"?(F(),A("div",ft,[y(dt,{"selected-file":v.value,progress:d.value,description:`支持各种常见格式,最大${e(xe)(e(_).uploadSize)}`,onFileSelected:U,onFileDrop:x},null,8,["selected-file","progress","description"])])):(F(),A("div",mt,[y(gt,{modelValue:u.value,"onUpdate:modelValue":t[1]||(t[1]=l=>u.value=l),placeholder:e(c)("send.uploadArea.textInput")},null,8,["modelValue","placeholder"])]))]),_:1}),s("div",yt,[s("label",{class:a(["text-sm font-medium",e(o)?"text-gray-300":"text-gray-700"])},k(e(c)("send.expiration.label")),3),s("div",xt,[s("div",{class:a(["relative h-12 rounded-2xl border transition-all duration-300 shadow-sm",e(o)?"bg-gray-800/60 border-gray-700/60 group-hover:border-gray-600/80 group-hover:shadow-lg group-hover:shadow-gray-900/20":"bg-white border-gray-200 group-hover:border-gray-300 group-hover:shadow-md group-hover:shadow-gray-200/50"])},[i.value!=="forever"?(F(),A(Z,{key:0},[pe(s("input",{"onUpdate:modelValue":t[2]||(t[2]=l=>g.value=l),type:"number",placeholder:we(),min:"1",class:a(["w-full h-full px-5 pr-32 rounded-2xl placeholder-gray-400 transition-all duration-300","focus:outline-none focus:ring-2 focus:ring-offset-0","[appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none","bg-transparent",e(o)?"text-gray-100 focus:ring-indigo-500/80 placeholder-gray-500":"text-gray-900 focus:ring-indigo-500/60 placeholder-gray-400"])},null,10,vt),[[Re,g.value]]),s("div",{class:a(["absolute right-28 top-0 h-full flex flex-col border-l",[e(o)?"border-gray-700/60":"border-gray-200"]])},[s("button",{type:"button",onClick:t[3]||(t[3]=l=>ce(1)),class:a(["flex-1 px-2 flex items-center justify-center transition-all duration-200",[e(o)?"hover:bg-gray-700/60 text-gray-400 hover:text-gray-200":"hover:bg-gray-50 text-gray-500 hover:text-gray-700"]])},[...t[10]||(t[10]=[s("svg",{class:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[s("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 15l7-7 7 7"})],-1)])],2),s("button",{type:"button",onClick:t[4]||(t[4]=l=>ce(-1)),class:a(["flex-1 px-2 flex items-center justify-center transition-all duration-200",[e(o)?"hover:bg-gray-700/60 text-gray-400 hover:text-gray-200":"hover:bg-gray-50 text-gray-500 hover:text-gray-700"]])},[...t[11]||(t[11]=[s("svg",{class:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[s("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1)])],2)],2)],64)):q("",!0),pe(s("select",{"onUpdate:modelValue":t[5]||(t[5]=l=>i.value=l),class:a(["absolute right-0 top-0 h-full appearance-none cursor-pointer transition-all duration-300","focus:outline-none focus:ring-2 focus:ring-offset-0",i.value==="forever"?"w-full px-5 rounded-2xl":"w-28 pl-4 pr-9 border-l rounded-r-2xl",e(o)?"text-gray-100 border-gray-700/60 focus:ring-indigo-500/80 bg-gray-800/60":"text-gray-900 border-gray-200 focus:ring-indigo-500/60 bg-white"]),style:ge({color:e(o)?"#f3f4f6":"#111827",backgroundColor:e(o)?"rgba(31, 41, 55, 0.5)":"#ffffff"})},[(F(!0),A(Z,null,he(e(_).expireStyle,l=>(F(),A("option",{value:l,key:l,class:a([e(o)?"bg-gray-800 text-gray-100":"bg-white text-gray-900"]),style:ge({color:e(o)?"#f3f4f6":"#111827",backgroundColor:e(o)?"#1f2937":"#ffffff"})},k(oe(l)),15,bt))),128))],6),[[Ee,i.value]]),s("div",{class:a(["absolute pointer-events-none",[i.value==="forever"?"right-3":"right-2","top-1/2 -translate-y-1/2"]])},[(F(),A("svg",{class:a(["w-4 h-4 transition-colors duration-300",[e(o)?"text-gray-400":"text-gray-500"]]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[12]||(t[12]=[s("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"},null,-1)])],2))],2)],2)])]),s("button",wt,[t[13]||(t[13]=s("span",{class:"absolute top-0 left-0 w-full h-full bg-white opacity-0 group-hover:opacity-20 transition-opacity duration-300"},null,-1)),s("span",kt,[y(e(et),{class:"w-6 h-6 mr-2"}),s("span",null,k(e(c)("send.submit")),1)])])],32),s("div",_t,[y(n,{to:"/",class:"text-indigo-400 hover:text-indigo-300 transition duration-300"},{default:E(()=>[ee(k(e(c)("send.needRetrieveFile")),1)]),_:1})])]),s("div",{class:a(["px-8 py-4 bg-opacity-50 flex justify-between items-center",[e(o)?"bg-gray-800":"bg-gray-100"]])},[s("span",{class:a(["text-sm flex items-center",[e(o)?"text-gray-300":"text-gray-800"]])},[y(e(me),{class:"w-4 h-4 mr-1 text-green-400"}),ee(" "+k(e(c)("send.secureEncryption")),1)],2),s("button",{onClick:de,class:a(["text-sm hover:text-indigo-300 transition duration-300 flex items-center",[e(o)?"text-indigo-400":"text-indigo-600"]])},[ee(k(e(c)("send.sendRecords"))+" ",1),y(e(Ge),{class:"w-4 h-4 ml-1"})],2)],2)],2),y(Y,{name:"drawer"},{default:E(()=>[C.value?(F(),A("div",{key:0,class:a(["fixed inset-y-0 right-0 w-full sm:w-120 bg-opacity-70 backdrop-filter backdrop-blur-xl shadow-2xl z-50 overflow-hidden flex flex-col",[e(o)?"bg-gray-900":"bg-white"]])},[s("div",{class:a(["flex justify-between items-center p-6 border-b",[e(o)?"border-gray-700":"border-gray-200"]])},[s("h3",{class:a(["text-2xl font-bold",[e(o)?"text-white":"text-gray-800"]])},k(e(c)("send.sendRecords")),3),s("button",{onClick:de,class:a(["hover:text-white transition duration-300",[e(o)?"text-gray-400":"text-gray-800"]])},[y(e(fe),{class:"w-6 h-6"})],2)],2),s("div",St,[y(He,{name:"list",tag:"div",class:"space-y-4"},{default:E(()=>[(F(!0),A(Z,null,he(w.value,l=>(F(),A("div",{key:l.id,class:a(["bg-opacity-50 rounded-lg p-4 flex items-center shadow-md hover:shadow-lg transition duration-300 transform hover:scale-102",[e(o)?"bg-gray-800 hover:bg-gray-700":"bg-gray-100 hover:bg-white"]])},[s("div",Ct,[y(e(ye),{class:a(["w-10 h-10",[e(o)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"])]),s("div",Mt,[s("p",{class:a(["font-medium text-lg truncate",[e(o)?"text-white":"text-gray-800"]])},k(l.filename?l.filename:"Text"),3),s("p",{class:a(["text-sm truncate",[e(o)?"text-gray-400":"text-gray-600"]])},k(l.date)+" · "+k(l.size),3)]),s("div",Tt,[s("button",{onClick:m=>e(te)(l.retrieveCode),class:a(["p-2 rounded-full hover:bg-opacity-20 transition duration-300",[e(o)?"hover:bg-blue-400 text-blue-400":"hover:bg-blue-100 text-blue-600"]])},[y(e(se),{class:"w-5 h-5"})],10,At),s("button",{onClick:m=>Te(l),class:a(["p-2 rounded-full hover:bg-opacity-20 transition duration-300",[e(o)?"hover:bg-green-400 text-green-400":"hover:bg-green-100 text-green-600"]])},[y(e(Ke),{class:"w-5 h-5"})],10,Ft),s("button",{onClick:m=>Ae(l.id),class:a(["p-2 rounded-full hover:bg-opacity-20 transition duration-300",[e(o)?"hover:bg-red-400 text-red-400":"hover:bg-red-100 text-red-600"]])},[y(e(Xe),{class:"w-5 h-5"})],10,Dt)])],2))),128))]),_:1})])],2)):q("",!0)]),_:1}),y(Y,{name:"fade"},{default:E(()=>[h.value?(F(),A("div",$t,[s("div",{class:a(["w-full max-w-2xl rounded-2xl shadow-2xl transform transition-all duration-300 ease-out overflow-hidden",[e(o)?"bg-gray-900 bg-opacity-70":"bg-white bg-opacity-95"]])},[s("div",{class:a(["px-4 sm:px-6 py-3 sm:py-4 border-b",[e(o)?"border-gray-800":"border-gray-100"]])},[s("div",It,[s("h3",{class:a(["text-lg sm:text-xl font-semibold",[e(o)?"text-white":"text-gray-900"]])},k(e(c)("send.fileDetails")),3),s("button",{onClick:t[6]||(t[6]=l=>h.value=null),class:"p-1.5 sm:p-2 rounded-full hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors"},[y(e(fe),{class:a(["w-4 h-4 sm:w-5 sm:h-5",[e(o)?"text-gray-400":"text-gray-500"]])},null,8,["class"])])])],2),s("div",zt,[s("div",{class:a(["rounded-xl p-3 sm:p-4 mb-4 sm:mb-6",[e(o)?"bg-gray-800 bg-opacity-50":"bg-gray-50 bg-opacity-95"]])},[s("div",Pt,[s("div",{class:a(["p-2 sm:p-3 rounded-lg",[e(o)?"bg-gray-800":"bg-white"]])},[y(e(ye),{class:a(["w-5 h-5 sm:w-6 sm:h-6",[e(o)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"])],2),s("div",Bt,[s("h4",{class:a(["font-medium text-sm sm:text-base truncate",[e(o)?"text-white":"text-gray-900"]])},k(h.value.filename),3),s("p",{class:a(["text-xs sm:text-sm truncate",[e(o)?"text-gray-400":"text-gray-500"]])},k(h.value.size)+" · "+k(h.value.date),3)])]),s("div",Ut,[s("div",Vt,[y(e(Ye),{class:a(["w-3.5 h-3.5 sm:w-4 sm:h-4 mr-1.5 sm:mr-2 flex-shrink-0",[e(o)?"text-gray-400":"text-gray-500"]])},null,8,["class"]),s("span",{class:a(["text-xs sm:text-sm truncate",[e(o)?"text-gray-300":"text-gray-600"]])},k(h.value.expiration),3)]),s("div",jt,[y(e(me),{class:a(["w-3.5 h-3.5 sm:w-4 sm:h-4 mr-1.5 sm:mr-2 flex-shrink-0",[e(o)?"text-gray-400":"text-gray-500"]])},null,8,["class"]),s("span",{class:a(["text-xs sm:text-sm truncate",[e(o)?"text-gray-300":"text-gray-600"]])}," 安全加密 ",2)])])],2),s("div",Rt,[s("div",Et,[s("div",Lt,[s("div",Ht,[t[14]||(t[14]=s("h4",{class:"font-medium text-sm sm:text-base"},"取件码",-1)),s("button",{onClick:t[7]||(t[7]=l=>e(Oe)(h.value.retrieveCode)),class:"p-1.5 sm:p-2 rounded-full hover:bg-white/10 transition-colors"},[y(e(se),{class:"w-4 h-4 sm:w-5 sm:h-5"})])]),s("p",Nt,k(h.value.retrieveCode),1)]),s("div",{class:a(["rounded-xl p-3 sm:p-4",[e(o)?"bg-gray-800 bg-opacity-50":"bg-gray-50 bg-opacity-95"]])},[s("div",Wt,[s("h4",{class:a(["font-medium text-sm sm:text-base flex items-center min-w-0",[e(o)?"text-white":"text-gray-900"]])},[y(e(tt),{class:"w-4 h-4 sm:w-5 sm:h-5 mr-1.5 sm:mr-2 text-indigo-500 flex-shrink-0"}),t[15]||(t[15]=s("span",{class:"truncate"},"wget下载",-1))],2),s("button",{onClick:t[8]||(t[8]=l=>e(Qe)(h.value.retrieveCode,h.value.filename)),class:"p-1.5 sm:p-2 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors flex-shrink-0"},[y(e(se),{class:a(["w-4 h-4 sm:w-5 sm:h-5",[e(o)?"text-gray-400":"text-gray-500"]])},null,8,["class"])])]),s("p",{class:a(["text-xs sm:text-sm font-mono break-all line-clamp-2",[e(o)?"text-gray-300":"text-gray-600"]])}," 点击复制wget命令 ",2)],2)]),s("div",{class:a(["rounded-xl p-4 sm:p-5 flex flex-col items-center",[e(o)?"bg-gray-800 bg-opacity-50":"bg-gray-50 bg-opacity-95"]])},[s("div",qt,[y(Je,{value:De(h.value),size:140,level:"M",class:"sm:w-[160px] sm:h-[160px]"},null,8,["value"])]),s("p",{class:a(["text-xs sm:text-sm truncate max-w-full",[e(o)?"text-gray-400":"text-gray-500"]])}," 扫描二维码快速取件 ",2)],2)])]),s("div",{class:a(["px-4 sm:px-6 py-3 sm:py-4 border-t",[e(o)?"border-gray-800":"border-gray-100"]])},[s("button",{onClick:t[9]||(t[9]=l=>e(te)(h.value.retrieveCode)),class:"w-full bg-indigo-600 hover:bg-indigo-700 text-white px-4 sm:px-6 py-2 sm:py-3 rounded-lg text-sm sm:text-base font-medium transition-colors"}," 复制取件链接 ")],2)],2)])):q("",!0)]),_:1})],32)}}}),Yt=re(Gt,[["__scopeId","data-v-ebff2eb6"]]);export{Yt as default}; diff --git a/themes/2024/assets/SendFileView-D1bkFasE.css b/themes/2024/assets/SendFileView-D1bkFasE.css deleted file mode 100644 index bff3374..0000000 --- a/themes/2024/assets/SendFileView-D1bkFasE.css +++ /dev/null @@ -1 +0,0 @@ -.border-progress-container[data-v-2fbf5085]{position:relative;width:100%;height:100%}.border-progress-canvas[data-v-2fbf5085]{position:absolute;top:0;left:0;width:100%;height:100%;transition:all .3s ease}.custom-scrollbar[data-v-bebdfe92]{scrollbar-width:thin;scrollbar-color:rgba(156,163,175,.3) rgba(243,244,246,.5)}.custom-scrollbar[data-v-bebdfe92]::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar[data-v-bebdfe92]::-webkit-scrollbar-track{background:#f3f4f680;border-radius:3px}.custom-scrollbar[data-v-bebdfe92]::-webkit-scrollbar-thumb{background-color:#9ca3af80;border-radius:3px;-webkit-transition:background-color .3s;transition:background-color .3s}.custom-scrollbar[data-v-bebdfe92]::-webkit-scrollbar-thumb:hover{background-color:#9ca3afb3}[data-v-bebdfe92] [class*=dark] .custom-scrollbar{scrollbar-color:rgba(75,85,99,.5) rgba(31,41,55,.5)}[data-v-bebdfe92] [class*=dark] .custom-scrollbar::-webkit-scrollbar-track{background:#1f293780}[data-v-bebdfe92] [class*=dark] .custom-scrollbar::-webkit-scrollbar-thumb{background-color:#4b556380}[data-v-bebdfe92] [class*=dark] .custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#4b5563b3}.fade-enter-active[data-v-ebff2eb6],.fade-leave-active[data-v-ebff2eb6]{transition:opacity .3s ease,transform .3s ease}.fade-enter-from[data-v-ebff2eb6],.fade-leave-to[data-v-ebff2eb6]{opacity:0;transform:translateY(10px)}@media (min-width: 640px){.sm\:w-120[data-v-ebff2eb6]{width:30rem}}.fade-enter-to[data-v-ebff2eb6],.fade-leave-from[data-v-ebff2eb6]{opacity:1;transform:translateY(0)}.drawer-enter-active[data-v-ebff2eb6],.drawer-leave-active[data-v-ebff2eb6]{transition:transform .3s ease}.drawer-enter-from[data-v-ebff2eb6],.drawer-leave-to[data-v-ebff2eb6]{transform:translate(100%)}.list-enter-active[data-v-ebff2eb6],.list-leave-active[data-v-ebff2eb6]{transition:all .5s ease}.list-enter-from[data-v-ebff2eb6],.list-leave-to[data-v-ebff2eb6]{opacity:0;transform:translate(30px)}select option[data-v-ebff2eb6]{padding:8px;margin:4px;border-radius:6px}select option[data-v-ebff2eb6]:checked{background:linear-gradient(to right,#6366f180,#a855f780)!important;color:#fff!important}.dark select option[data-v-ebff2eb6]:checked{background:linear-gradient(to right,#6366f1b3,#a855f7b3)!important}select option[data-v-ebff2eb6]:hover{background-color:#6366f11a}.dark select option[data-v-ebff2eb6]:hover{background-color:#6366f133}.custom-scrollbar[data-v-ebff2eb6]{scrollbar-width:thin;scrollbar-color:rgba(156,163,175,.4) rgba(243,244,246,.3)}.custom-scrollbar[data-v-ebff2eb6]::-webkit-scrollbar{width:8px;height:8px}.custom-scrollbar[data-v-ebff2eb6]::-webkit-scrollbar-track{background:#f3f4f64d;border-radius:6px;margin:4px}.custom-scrollbar[data-v-ebff2eb6]::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#6366f199,#a855f799);border-radius:6px;border:1px solid rgba(255,255,255,.2);-webkit-transition:all .3s ease;transition:all .3s ease}.custom-scrollbar[data-v-ebff2eb6]::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#6366f1cc,#a855f7cc);transform:scale(1.1)}.custom-scrollbar[data-v-ebff2eb6]::-webkit-scrollbar-corner{background:transparent}.dark .custom-scrollbar[data-v-ebff2eb6]{scrollbar-color:rgba(75,85,99,.6) rgba(31,41,55,.4)}.dark .custom-scrollbar[data-v-ebff2eb6]::-webkit-scrollbar-track{background:#1f293766}.dark .custom-scrollbar[data-v-ebff2eb6]::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#6366f1b3,#a855f7b3);border:1px solid rgba(255,255,255,.1)}.dark .custom-scrollbar[data-v-ebff2eb6]::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#6366f1e6,#a855f7e6)} diff --git a/themes/2024/assets/SystemSettingsView-CE4x9hEg.js b/themes/2024/assets/SystemSettingsView-CE4x9hEg.js deleted file mode 100644 index 181e445..0000000 --- a/themes/2024/assets/SystemSettingsView-CE4x9hEg.js +++ /dev/null @@ -1 +0,0 @@ -import{d as B,u as F,r as h,l as P,a as m,o as b,b as e,t as l,e as o,n as s,i as z,p as d,v as g,q as x,F as w,x as k,j as _,Q as U,R as A}from"./index-14Tp7zPK.js";const T={class:"p-6 h-screen overflow-y-auto custom-scrollbar"},E={class:"space-y-4"},N={class:"grid grid-cols-1 gap-6"},L={class:"space-y-2"},I={class:"space-y-2"},j={class:"space-y-2"},K={class:"relative"},$=["placeholder"],G={class:"text-xs"},R={class:"space-y-2"},W={class:"space-y-2"},q=["value"],H={class:"space-y-2"},Q={class:"grid grid-cols-1 gap-6 mt-8"},J={class:"space-y-2"},O={class:"space-y-2"},X={class:"space-y-4"},Y={class:"space-y-2"},Z=["placeholder"],ee={class:"space-y-4"},oe={class:"space-y-2"},te={value:"local"},re={value:"s3"},ae={value:"webdav"},se={key:0,class:"space-y-2"},ne={class:"flex items-center"},ie=["aria-checked"],le={key:1,class:"space-y-4"},de={class:"space-y-2"},ge=["placeholder"],ue={class:"grid grid-cols-1 md:grid-cols-2 gap-6"},ce={class:"space-y-2"},ye=["placeholder"],me={class:"space-y-2"},be=["placeholder"],pe={key:2,class:"space-y-4"},ve={class:"grid grid-cols-1 md:grid-cols-2 gap-6"},he={class:"space-y-2"},xe={class:"space-y-2"},fe={class:"space-y-2"},_e={class:"space-y-2"},we={class:"space-y-2"},ke=["placeholder"],Ue={class:"space-y-2"},Ce={value:"s3v2"},Se={value:"s3v4"},Ve={class:"space-y-2"},De={class:"space-y-2"},Me={class:"flex items-center"},Be=["aria-checked"],Fe={class:"space-y-2"},Pe={class:"flex items-center"},ze=["aria-checked"],Ae={class:"mt-8"},Te={class:"grid grid-cols-1 md:grid-cols-2 gap-6"},Ee={class:"space-y-2"},Ne={class:"flex items-center space-x-2"},Le={class:"space-y-2"},Ie={class:"flex items-center space-x-2"},je={class:"space-y-2"},Ke={class:"flex items-center space-x-2"},$e={value:"KB"},Ge={value:"MB"},Re={value:"GB"},We={class:"space-y-2"},qe={class:"flex flex-wrap gap-3"},He=["value"],Qe={class:"space-y-2"},Je={class:"flex items-center space-x-2"},Oe={value:"秒"},Xe={value:"分"},Ye={value:"时"},Ze={value:"天"},eo={class:"space-y-2"},oo={class:"flex items-center"},to=["aria-checked"],ro={class:"mt-8"},ao={class:"grid grid-cols-1 md:grid-cols-2 gap-6"},so={class:"space-y-2"},no={class:"flex items-center space-x-2"},io={class:"space-y-2"},lo={class:"flex items-center space-x-2"},go={class:"flex justify-end mt-8"},yo=B({__name:"SystemSettingsView",setup(uo){const n=z("isDarkMode"),{t:i}=F(),t=h({name:"",description:"",file_storage:"",webdav_url:"",webdav_username:"",webdav_password:"",themesChoices:[],expireStyle:[],admin_token:"",robotsText:"",keywords:"",notify_title:"",storage_path:"",notify_content:"",openUpload:1,uploadSize:1,enableChunk:0,uploadMinute:1,max_save_seconds:0,opacity:.9,s3_access_key_id:"",background:"",showAdminAddr:0,page_explain:"",s3_secret_access_key:"",aws_session_token:"",s3_signature_version:"",s3_region_name:"",s3_bucket_name:"",s3_endpoint_url:"",s3_hostname:"",uploadCount:1,errorMinute:1,errorCount:1,s3_proxy:0,themesSelect:""}),p=h(1),v=h("MB"),c=h(1),y=h("天"),C=(u,a)=>u*{秒:1,分:60,时:3600,天:86400}[a],f=P(),S=async()=>{try{const u=await U.getConfig();if(u.code===200&&u.detail){t.value=u.detail;const a=t.value.uploadSize;a>=1024*1024*1024?(p.value=Math.round(a/(1024*1024*1024)),v.value="GB"):a>=1024*1024?(p.value=Math.round(a/(1024*1024)),v.value="MB"):(p.value=Math.round(a/1024),v.value="KB");const r=t.value.max_save_seconds;r===0?(c.value=7,y.value="天"):r%86400===0&&r>=86400?(c.value=r/86400,y.value="天"):r%3600===0&&r>=3600?(c.value=r/3600,y.value="时"):r%60===0&&r>=60?(c.value=r/60,y.value="分"):(c.value=r,y.value="秒")}}catch(u){const a=u instanceof Error?u.message:i("manage.systemSettings.getConfigFailed");f.showAlert(a,"error"),console.error("Failed to get system config:",u)}},V=(u,a)=>u*{KB:1024,MB:1048576,GB:1073741824}[a],D=()=>{const u={...t.value};u.uploadSize=V(p.value,v.value),c.value===0?u.max_save_seconds=7*86400:u.max_save_seconds=C(c.value,y.value),U.updateConfig(u).then(a=>{a.code==200?f.showAlert(i("manage.systemSettings.saveSuccess"),"success"):f.showAlert(a.message||i("manage.systemSettings.saveFailed"),"error")}).catch(a=>{const r=a instanceof Error?a.message:i("manage.systemSettings.saveFailed");f.showAlert(r,"error")})};return S(),(u,a)=>(b(),m("div",T,[e("h2",{class:s(["text-2xl font-bold mb-6",[o(n)?"text-white":"text-gray-800"]])},l(o(i)("admin.settings.title")),3),e("div",{class:s(["space-y-6 rounded-lg shadow-md p-6",[o(n)?"bg-gray-800 bg-opacity-70":"bg-white"]])},[e("section",E,[e("h3",{class:s(["text-lg font-medium mb-4",[o(n)?"text-white":"text-gray-800"]])},l(o(i)("admin.settings.basicSettings")),3),e("div",N,[e("div",L,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("admin.settings.siteName")),3),d(e("input",{type:"text","onUpdate:modelValue":a[0]||(a[0]=r=>t.value.name=r),class:s(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[g,t.value.name]])]),e("div",I,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("admin.settings.websiteDescription")),3),d(e("input",{type:"text","onUpdate:modelValue":a[1]||(a[1]=r=>t.value.description=r),class:s(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[g,t.value.description]])]),e("div",j,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("admin.settings.adminPassword")),3),e("div",K,[d(e("input",{type:"password",minlength:"6","onUpdate:modelValue":a[2]||(a[2]=r=>t.value.admin_token=r),placeholder:o(i)("admin.settings.passwordPlaceholder"),class:s(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,10,$),[[g,t.value.admin_token]]),e("div",{class:s(["absolute inset-y-0 right-0 flex items-center pr-3 text-sm text-gray-400",[o(n)?"text-gray-500":"text-gray-400"]])},[e("span",G,l(o(i)("admin.settings.passwordNote")),1)],2)])]),e("div",R,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("admin.settings.keywords")),3),d(e("input",{type:"text","onUpdate:modelValue":a[3]||(a[3]=r=>t.value.keywords=r),class:s(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[g,t.value.keywords]])]),e("div",W,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.themeSelection")),3),d(e("select",{"onUpdate:modelValue":a[4]||(a[4]=r=>t.value.themesSelect=r),class:s(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border appearance-none bg-no-repeat bg-right focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none cursor-pointer",[o(n)?"bg-gray-700 border-gray-600 text-white hover:border-gray-500":"border-gray-300 hover:border-gray-400"]]),style:{"background-image":"url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M7%208l3%203%203-3%22%20stroke%3D%22%236B7280%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E')"}},[(b(!0),m(w,null,k(t.value.themesChoices,r=>(b(),m("option",{value:r.key,key:r.key},l(r.name)+" (by "+l(r.author)+" V"+l(r.version)+") ",9,q))),128))],2),[[x,t.value.themesSelect]])]),e("div",H,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.robotsFile")),3),d(e("textarea",{"onUpdate:modelValue":a[5]||(a[5]=r=>t.value.robotsText=r),rows:"3",class:s(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border resize-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[g,t.value.robotsText]])])]),e("div",Q,[e("div",J,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.notificationTitle")),3),d(e("input",{type:"text","onUpdate:modelValue":a[6]||(a[6]=r=>t.value.notify_title=r),class:s(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[g,t.value.notify_title]])]),e("div",O,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.notificationContent")),3),d(e("textarea",{"onUpdate:modelValue":a[7]||(a[7]=r=>t.value.notify_content=r),rows:"3",class:s(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border resize-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[g,t.value.notify_content]])])]),e("div",X,[e("h3",{class:s(["text-lg font-medium mb-4",[o(n)?"text-white":"text-gray-800"]])},l(o(i)("manage.settings.storageSettings")),3),e("div",Y,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.storagePath")),3),d(e("input",{type:"text",placeholder:o(i)("manage.settings.storagePathPlaceholder"),"onUpdate:modelValue":a[8]||(a[8]=r=>t.value.storage_path=r),class:s(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,10,Z),[[g,t.value.storage_path]])]),e("div",ee,[e("div",oe,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.storageMethod")),3),d(e("select",{"onUpdate:modelValue":a[9]||(a[9]=r=>t.value.file_storage=r),class:s(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border appearance-none bg-no-repeat bg-right focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none cursor-pointer",[o(n)?"bg-gray-700 border-gray-600 text-white hover:border-gray-500":"border-gray-300 hover:border-gray-400"]]),style:{"background-image":"url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M7%208l3%203%203-3%22%20stroke%3D%22%236B7280%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E')"}},[e("option",te,l(o(i)("manage.settings.localStorage")),1),e("option",re,l(o(i)("manage.settings.s3Storage")),1),e("option",ae,l(o(i)("manage.settings.webdavStorage")),1)],2),[[x,t.value.file_storage]])]),t.value.file_storage==="local"?(b(),m("div",se,[e("label",{class:s(["block text-sm font-medium mb-2",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.chunkUploadNote")),3),e("div",ne,[e("button",{type:"button",onClick:a[10]||(a[10]=r=>t.value.enableChunk=t.value.enableChunk===1?0:1),class:s(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2",[t.value.enableChunk===1?"bg-indigo-600":"bg-gray-200"]]),role:"switch","aria-checked":t.value.enableChunk===1},[e("span",{class:s(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",[t.value.enableChunk===1?"translate-x-5":"translate-x-0",o(n)&&t.value.enableChunk!==1?"bg-gray-100":"bg-white"]])},null,2)],10,ie),e("span",{class:s(["ml-3 text-sm",[o(n)?"text-gray-300":"text-gray-700"]])},l(t.value.enableChunk===1?o(i)("common.enabled"):o(i)("common.disabled")),3)])])):_("",!0),t.value.file_storage==="webdav"?(b(),m("div",le,[e("div",de,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])}," Webdav URL ",2),d(e("input",{type:"text",placeholder:o(i)("manage.settings.webdavUrlPlaceholder"),"onUpdate:modelValue":a[11]||(a[11]=r=>t.value.webdav_url=r),class:s(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,10,ge),[[g,t.value.webdav_url]])]),e("div",ue,[e("div",ce,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])}," Webdav Username ",2),d(e("input",{type:"text",placeholder:o(i)("manage.settings.webdavUsernamePlaceholder"),"onUpdate:modelValue":a[12]||(a[12]=r=>t.value.webdav_username=r),class:s(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,10,ye),[[g,t.value.webdav_username]])]),e("div",me,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])}," Webdav Password ",2),d(e("input",{type:"password",placeholder:o(i)("manage.settings.webdavPasswordPlaceholder"),"onUpdate:modelValue":a[13]||(a[13]=r=>t.value.webdav_password=r),class:s(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,10,be),[[g,t.value.webdav_password]])])])])):_("",!0),t.value.file_storage==="s3"?(b(),m("div",pe,[e("div",ve,[e("div",he,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.s3AccessKeyId")),3),d(e("input",{type:"text","onUpdate:modelValue":a[14]||(a[14]=r=>t.value.s3_access_key_id=r),class:s(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[g,t.value.s3_access_key_id]])]),e("div",xe,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.s3SecretAccessKey")),3),d(e("input",{type:"password","onUpdate:modelValue":a[15]||(a[15]=r=>t.value.s3_secret_access_key=r),class:s(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[g,t.value.s3_secret_access_key]])]),e("div",fe,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.s3BucketName")),3),d(e("input",{type:"text","onUpdate:modelValue":a[16]||(a[16]=r=>t.value.s3_bucket_name=r),class:s(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[g,t.value.s3_bucket_name]])]),e("div",_e,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.s3EndpointUrl")),3),d(e("input",{type:"text","onUpdate:modelValue":a[17]||(a[17]=r=>t.value.s3_endpoint_url=r),class:s(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[g,t.value.s3_endpoint_url]])]),e("div",we,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.s3RegionName")),3),d(e("input",{type:"text","onUpdate:modelValue":a[18]||(a[18]=r=>t.value.s3_region_name=r),placeholder:o(i)("manage.settings.autoPlaceholder"),class:s(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,10,ke),[[g,t.value.s3_region_name]])]),e("div",Ue,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.s3SignatureVersion")),3),d(e("select",{"onUpdate:modelValue":a[19]||(a[19]=r=>t.value.s3_signature_version=r),class:s(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white hover:border-gray-500":"border-gray-300 hover:border-gray-400"]])},[e("option",Ce,l(o(i)("manage.settings.s3v2")),1),e("option",Se,l(o(i)("manage.settings.s3v4")),1)],2),[[x,t.value.s3_signature_version]])]),e("div",Ve,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.s3Hostname")),3),d(e("input",{type:"text","onUpdate:modelValue":a[20]||(a[20]=r=>t.value.s3_hostname=r),class:s(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[g,t.value.s3_hostname]])]),e("div",De,[e("label",{class:s(["block text-sm font-medium mb-2",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.enableProxy")),3),e("div",Me,[e("button",{type:"button",onClick:a[21]||(a[21]=r=>t.value.s3_proxy=t.value.s3_proxy===1?0:1),class:s(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2",[t.value.s3_proxy===1?"bg-indigo-600":"bg-gray-200"]]),role:"switch","aria-checked":t.value.s3_proxy===1},[e("span",{class:s(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",[t.value.s3_proxy===1?"translate-x-5":"translate-x-0",o(n)&&t.value.s3_proxy!==1?"bg-gray-100":"bg-white"]])},null,2)],10,Be),e("span",{class:s(["ml-3 text-sm",[o(n)?"text-gray-300":"text-gray-700"]])},l(t.value.s3_proxy===1?o(i)("common.enabled"):o(i)("common.disabled")),3)])]),e("div",Fe,[e("label",{class:s(["block text-sm font-medium mb-2",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.chunkUploadNote")),3),e("div",Pe,[e("button",{type:"button",onClick:a[22]||(a[22]=r=>t.value.enableChunk=t.value.enableChunk===1?0:1),class:s(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2",[t.value.enableChunk===1?"bg-indigo-600":"bg-gray-200"]]),role:"switch","aria-checked":t.value.enableChunk===1},[e("span",{class:s(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",[t.value.enableChunk===1?"translate-x-5":"translate-x-0",o(n)&&t.value.enableChunk!==1?"bg-gray-100":"bg-white"]])},null,2)],10,ze),e("span",{class:s(["ml-3 text-sm",[o(n)?"text-gray-300":"text-gray-700"]])},l(t.value.enableChunk===1?o(i)("common.enabled"):o(i)("common.disabled")),3)])])])])):_("",!0)])]),e("div",Ae,[e("h3",{class:s(["text-lg font-medium mb-4",[o(n)?"text-white":"text-gray-800"]])},l(o(i)("manage.settings.uploadLimits")),3),e("div",Te,[e("div",Ee,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.uploadPerMinute")),3),e("div",Ne,[d(e("input",{type:"number","onUpdate:modelValue":a[23]||(a[23]=r=>t.value.uploadMinute=r),class:s(["w-24 rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[g,t.value.uploadMinute]]),e("span",{class:s([o(n)?"text-gray-300":"text-gray-700"])},l(o(i)("common.minute")),3)])]),e("div",Le,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.uploadCountLimit")),3),e("div",Ie,[d(e("input",{type:"number","onUpdate:modelValue":a[24]||(a[24]=r=>t.value.uploadCount=r),class:s(["w-24 rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[g,t.value.uploadCount]]),e("span",{class:s([o(n)?"text-gray-300":"text-gray-700"])},l(o(i)("common.files")),3)])]),e("div",je,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.fileSizeLimit")),3),e("div",Ke,[d(e("input",{type:"number","onUpdate:modelValue":a[25]||(a[25]=r=>p.value=r),class:s(["w-24 rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[g,p.value]]),d(e("select",{"onUpdate:modelValue":a[26]||(a[26]=r=>v.value=r),class:s(["rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white hover:border-gray-500":"border-gray-300 hover:border-gray-400"]])},[e("option",$e,l(o(i)("manage.settings.fileSizeUnits.kb")),1),e("option",Ge,l(o(i)("manage.settings.fileSizeUnits.mb")),1),e("option",Re,l(o(i)("manage.settings.fileSizeUnits.gb")),1)],2),[[x,v.value]])])]),e("div",We,[e("label",{class:s(["block text-sm font-medium mb-2",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.expirationType")),3),e("div",qe,[(b(),m(w,null,k(["day","hour","minute","forever","count"],r=>e("label",{key:r,class:"relative inline-flex items-center group cursor-pointer"},[d(e("input",{type:"checkbox",value:r,"onUpdate:modelValue":a[27]||(a[27]=M=>t.value.expireStyle=M),class:"peer sr-only"},null,8,He),[[A,t.value.expireStyle]]),e("div",{class:s(["px-4 py-2 rounded-full border-2 transition-all duration-200 select-none",[t.value.expireStyle.includes(r)?(o(n),"bg-indigo-600 border-indigo-600 text-white"):o(n)?"bg-gray-700 border-gray-600 text-gray-300 hover:border-indigo-500":"bg-white border-gray-300 text-gray-700 hover:border-indigo-500"]])},l(o(i)(`manage.settings.expiration.${r}`)),3)])),64))])]),e("div",Qe,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.maxSaveTime")),3),e("div",Je,[d(e("input",{type:"number","onUpdate:modelValue":a[28]||(a[28]=r=>c.value=r),class:s(["w-24 rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[g,c.value]]),d(e("select",{"onUpdate:modelValue":a[29]||(a[29]=r=>y.value=r),class:s(["rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white hover:border-gray-500":"border-gray-300 hover:border-gray-400"]])},[e("option",Oe,l(o(i)("common.second")),1),e("option",Xe,l(o(i)("common.minute")),1),e("option",Ye,l(o(i)("common.hour")),1),e("option",Ze,l(o(i)("common.day")),1)],2),[[x,y.value]])])]),e("div",eo,[e("label",{class:s(["block text-sm font-medium mb-2",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.guestUpload")),3),e("div",oo,[e("button",{type:"button",onClick:a[30]||(a[30]=r=>t.value.openUpload=t.value.openUpload===1?0:1),class:s(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2",[t.value.openUpload===1?"bg-indigo-600":"bg-gray-200"]]),role:"switch","aria-checked":t.value.openUpload===1},[e("span",{class:s(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",[t.value.openUpload===1?"translate-x-5":"translate-x-0",o(n)&&t.value.openUpload!==1?"bg-gray-100":"bg-white"]])},null,2)],10,to),e("span",{class:s(["ml-3 text-sm",[o(n)?"text-gray-300":"text-gray-700"]])},l(t.value.openUpload===1?o(i)("common.enabled"):o(i)("common.disabled")),3)])])])]),e("div",ro,[e("h3",{class:s(["text-lg font-medium mb-4",[o(n)?"text-white":"text-gray-800"]])},l(o(i)("manage.settings.errorLimits")),3),e("div",ao,[e("div",so,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.errorPerMinute")),3),e("div",no,[d(e("input",{type:"number","onUpdate:modelValue":a[31]||(a[31]=r=>t.value.errorMinute=r),class:s(["w-24 rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[g,t.value.errorMinute]]),e("span",{class:s([o(n)?"text-gray-300":"text-gray-700"])},l(o(i)("common.minute")),3)])]),e("div",io,[e("label",{class:s(["block text-sm font-medium",[o(n)?"text-gray-300":"text-gray-700"]])},l(o(i)("manage.settings.errorCountLimit")),3),e("div",lo,[d(e("input",{type:"number","onUpdate:modelValue":a[32]||(a[32]=r=>t.value.errorCount=r),class:s(["w-24 rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[o(n)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[g,t.value.errorCount]]),e("span",{class:s([o(n)?"text-gray-300":"text-gray-700"])},l(o(i)("common.times")),3)])])])]),e("div",go,[e("button",{onClick:D,class:"px-4 py-2 bg-indigo-600 text-white rounded-md hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 transition-colors duration-200"},l(o(i)("manage.settings.saveChanges")),1)])])],2)]))}});export{yo as default}; diff --git a/themes/2024/assets/box-CiSQlKtb.js b/themes/2024/assets/box-CiSQlKtb.js deleted file mode 100644 index e061b55..0000000 --- a/themes/2024/assets/box-CiSQlKtb.js +++ /dev/null @@ -1,6 +0,0 @@ -import{c as a}from"./index-14Tp7zPK.js";/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const e=a("box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);export{e as B}; diff --git a/themes/2024/assets/file-CN_5aebv.js b/themes/2024/assets/file-CN_5aebv.js deleted file mode 100644 index 406cef8..0000000 --- a/themes/2024/assets/file-CN_5aebv.js +++ /dev/null @@ -1,6 +0,0 @@ -import{c as a}from"./index-14Tp7zPK.js";/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const t=a("file",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}]]);export{t as F}; diff --git a/themes/2024/assets/hard-drive-DvXIDK_-.js b/themes/2024/assets/hard-drive-DvXIDK_-.js deleted file mode 100644 index 2e64039..0000000 --- a/themes/2024/assets/hard-drive-DvXIDK_-.js +++ /dev/null @@ -1,6 +0,0 @@ -import{c as e}from"./index-14Tp7zPK.js";/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const a=e("hard-drive",[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]]);export{a as H}; diff --git a/themes/2024/assets/index-14Tp7zPK.js b/themes/2024/assets/index-14Tp7zPK.js deleted file mode 100644 index 8b2ee82..0000000 --- a/themes/2024/assets/index-14Tp7zPK.js +++ /dev/null @@ -1,114 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/SendFileView-BqULfUDl.js","assets/PageHeader-BDzp_ji4.js","assets/box-CiSQlKtb.js","assets/PageHeader-DV4PCTwD.css","assets/file-CN_5aebv.js","assets/trash-BTMfj7si.js","assets/SendFileView-D1bkFasE.css","assets/RetrievewFileView-DWBfGPUc.js","assets/hard-drive-DvXIDK_-.js","assets/RetrievewFileView-pLqL6j5e.css","assets/AdminLayout-CoImnOQO.js","assets/AdminLayout-nlp_lohe.css","assets/DashboardView-BQRsJrnN.js","assets/FileManageView-CZQWWk0t.js","assets/FileManageView-DrjnVkAt.css","assets/LoginView-B4xHkhLy.js","assets/LoginView-CbGDZtny.css"])))=>i.map(i=>d[i]); -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();/** -* @vue/shared v3.5.21 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Yo(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const ge={},Wn=[],kt=()=>{},Ol=()=>!1,vs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),zo=e=>e.startsWith("onUpdate:"),xe=Object.assign,Xo=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Nf=Object.prototype.hasOwnProperty,me=(e,t)=>Nf.call(e,t),J=Array.isArray,Vn=e=>Fr(e)==="[object Map]",Qn=e=>Fr(e)==="[object Set]",Ri=e=>Fr(e)==="[object Date]",ne=e=>typeof e=="function",Re=e=>typeof e=="string",Et=e=>typeof e=="symbol",pe=e=>e!==null&&typeof e=="object",Nl=e=>(pe(e)||ne(e))&&ne(e.then)&&ne(e.catch),Al=Object.prototype.toString,Fr=e=>Al.call(e),Af=e=>Fr(e).slice(8,-1),Il=e=>Fr(e)==="[object Object]",Jo=e=>Re(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ur=Yo(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ss=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},If=/-\w/g,pt=Ss(e=>e.replace(If,t=>t.slice(1).toUpperCase())),kf=/\B([A-Z])/g,gn=Ss(e=>e.replace(kf,"-$1").toLowerCase()),ws=Ss(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ys=Ss(e=>e?`on${ws(e)}`:""),cn=(e,t)=>!Object.is(e,t),Zr=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},is=e=>{const t=parseFloat(e);return isNaN(t)?e:t},xf=e=>{const t=Re(e)?Number(e):NaN;return isNaN(t)?e:t};let Oi;const Ts=()=>Oi||(Oi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Cs(e){if(J(e)){const t={};for(let n=0;n{if(n){const r=n.split(Mf);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function At(e){let t="";if(Re(e))t=e;else if(J(e))for(let n=0;nMr(n,t))}const Fl=e=>!!(e&&e.__v_isRef===!0),br=e=>Re(e)?e:e==null?"":J(e)||pe(e)&&(e.toString===Al||!ne(e.toString))?Fl(e)?br(e.value):JSON.stringify(e,Ml,2):String(e),Ml=(e,t)=>Fl(t)?Ml(e,t.value):Vn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[zs(r,o)+" =>"]=s,n),{})}:Qn(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>zs(n))}:Et(t)?zs(t):pe(t)&&!J(t)&&!Il(t)?String(t):t,zs=(e,t="")=>{var n;return Et(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.5.21 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Ke;class Dl{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Ke,!t&&Ke&&(this.index=(Ke.scopes||(Ke.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0&&(Ke=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n0)return;if(dr){let t=dr;for(dr=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;fr;){let t=fr;for(fr=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function Wl(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Vl(e){let t,n=e.depsTail,r=n;for(;r;){const s=r.prevDep;r.version===-1?(r===n&&(n=s),ni(r),Vf(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=s}e.deps=t,e.depsTail=n}function yo(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(jl(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function jl(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Er)||(e.globalVersion=Er,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!yo(e))))return;e.flags|=2;const t=e.dep,n=be,r=bt;be=e,bt=!0;try{Wl(e);const s=e.fn(e._value);(t.version===0||cn(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{be=n,bt=r,Vl(e),e.flags&=-3}}function ni(e,t=!1){const{dep:n,prevSub:r,nextSub:s}=e;if(r&&(r.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)ni(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Vf(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let bt=!0;const Kl=[];function qt(){Kl.push(bt),bt=!1}function Yt(){const e=Kl.pop();bt=e===void 0?!0:e}function Ni(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=be;be=void 0;try{t()}finally{be=n}}}let Er=0;class jf{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ri{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!be||!bt||be===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==be)n=this.activeLink=new jf(be,this),be.deps?(n.prevDep=be.depsTail,be.depsTail.nextDep=n,be.depsTail=n):be.deps=be.depsTail=n,Gl(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=be.depsTail,n.nextDep=void 0,be.depsTail.nextDep=n,be.depsTail=n,be.deps===n&&(be.deps=r)}return n}trigger(t){this.version++,Er++,this.notify(t)}notify(t){ei();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ti()}}}function Gl(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)Gl(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const as=new WeakMap,Nn=Symbol(""),bo=Symbol(""),vr=Symbol("");function Ge(e,t,n){if(bt&&be){let r=as.get(e);r||as.set(e,r=new Map);let s=r.get(n);s||(r.set(n,s=new ri),s.map=r,s.key=n),s.track()}}function Ht(e,t,n,r,s,o){const i=as.get(e);if(!i){Er++;return}const a=l=>{l&&l.trigger()};if(ei(),t==="clear")i.forEach(a);else{const l=J(e),c=l&&Jo(n);if(l&&n==="length"){const u=Number(r);i.forEach((f,d)=>{(d==="length"||d===vr||!Et(d)&&d>=u)&&a(f)})}else switch((n!==void 0||i.has(void 0))&&a(i.get(n)),c&&a(i.get(vr)),t){case"add":l?c&&a(i.get("length")):(a(i.get(Nn)),Vn(e)&&a(i.get(bo)));break;case"delete":l||(a(i.get(Nn)),Vn(e)&&a(i.get(bo)));break;case"set":Vn(e)&&a(i.get(Nn));break}}ti()}function Kf(e,t){const n=as.get(e);return n&&n.get(t)}function Mn(e){const t=ce(e);return t===e?t:(Ge(t,"iterate",vr),ht(e)?t:t.map(He))}function Ls(e){return Ge(e=ce(e),"iterate",vr),e}const Gf={__proto__:null,[Symbol.iterator](){return Js(this,Symbol.iterator,He)},concat(...e){return Mn(this).concat(...e.map(t=>J(t)?Mn(t):t))},entries(){return Js(this,"entries",e=>(e[1]=He(e[1]),e))},every(e,t){return Ft(this,"every",e,t,void 0,arguments)},filter(e,t){return Ft(this,"filter",e,t,n=>n.map(He),arguments)},find(e,t){return Ft(this,"find",e,t,He,arguments)},findIndex(e,t){return Ft(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ft(this,"findLast",e,t,He,arguments)},findLastIndex(e,t){return Ft(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ft(this,"forEach",e,t,void 0,arguments)},includes(...e){return Qs(this,"includes",e)},indexOf(...e){return Qs(this,"indexOf",e)},join(e){return Mn(this).join(e)},lastIndexOf(...e){return Qs(this,"lastIndexOf",e)},map(e,t){return Ft(this,"map",e,t,void 0,arguments)},pop(){return sr(this,"pop")},push(...e){return sr(this,"push",e)},reduce(e,...t){return Ai(this,"reduce",e,t)},reduceRight(e,...t){return Ai(this,"reduceRight",e,t)},shift(){return sr(this,"shift")},some(e,t){return Ft(this,"some",e,t,void 0,arguments)},splice(...e){return sr(this,"splice",e)},toReversed(){return Mn(this).toReversed()},toSorted(e){return Mn(this).toSorted(e)},toSpliced(...e){return Mn(this).toSpliced(...e)},unshift(...e){return sr(this,"unshift",e)},values(){return Js(this,"values",He)}};function Js(e,t,n){const r=Ls(e),s=r[t]();return r!==e&&!ht(e)&&(s._next=s.next,s.next=()=>{const o=s._next();return o.value&&(o.value=n(o.value)),o}),s}const qf=Array.prototype;function Ft(e,t,n,r,s,o){const i=Ls(e),a=i!==e&&!ht(e),l=i[t];if(l!==qf[t]){const f=l.apply(e,o);return a?He(f):f}let c=n;i!==e&&(a?c=function(f,d){return n.call(this,He(f),d,e)}:n.length>2&&(c=function(f,d){return n.call(this,f,d,e)}));const u=l.call(i,c,r);return a&&s?s(u):u}function Ai(e,t,n,r){const s=Ls(e);let o=n;return s!==e&&(ht(e)?n.length>3&&(o=function(i,a,l){return n.call(this,i,a,l,e)}):o=function(i,a,l){return n.call(this,i,He(a),l,e)}),s[t](o,...r)}function Qs(e,t,n){const r=ce(e);Ge(r,"iterate",vr);const s=r[t](...n);return(s===-1||s===!1)&&ii(n[0])?(n[0]=ce(n[0]),r[t](...n)):s}function sr(e,t,n=[]){qt(),ei();const r=ce(e)[t].apply(e,n);return ti(),Yt(),r}const Yf=Yo("__proto__,__v_isRef,__isVue"),ql=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Et));function zf(e){Et(e)||(e=String(e));const t=ce(this);return Ge(t,"has",e),t.hasOwnProperty(e)}class Yl{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?od:Ql:o?Jl:Xl).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=J(t);if(!s){let l;if(i&&(l=Gf[n]))return l;if(n==="hasOwnProperty")return zf}const a=Reflect.get(t,n,we(t)?t:r);return(Et(n)?ql.has(n):Yf(n))||(s||Ge(t,"get",n),o)?a:we(a)?i&&Jo(n)?a:a.value:pe(a)?s?ec(a):Dr(a):a}}class zl extends Yl{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];if(!this._isShallow){const l=fn(o);if(!ht(r)&&!fn(r)&&(o=ce(o),r=ce(r)),!J(t)&&we(o)&&!we(r))return l||(o.value=r),!0}const i=J(t)&&Jo(n)?Number(n)e,Gr=e=>Reflect.getPrototypeOf(e);function ed(e,t,n){return function(...r){const s=this.__v_raw,o=ce(s),i=Vn(o),a=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,c=s[e](...r),u=n?Eo:t?ls:He;return!t&&Ge(o,"iterate",l?bo:Nn),{next(){const{value:f,done:d}=c.next();return d?{value:f,done:d}:{value:a?[u(f[0]),u(f[1])]:u(f),done:d}},[Symbol.iterator](){return this}}}}function qr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function td(e,t){const n={get(s){const o=this.__v_raw,i=ce(o),a=ce(s);e||(cn(s,a)&&Ge(i,"get",s),Ge(i,"get",a));const{has:l}=Gr(i),c=t?Eo:e?ls:He;if(l.call(i,s))return c(o.get(s));if(l.call(i,a))return c(o.get(a));o!==i&&o.get(s)},get size(){const s=this.__v_raw;return!e&&Ge(ce(s),"iterate",Nn),s.size},has(s){const o=this.__v_raw,i=ce(o),a=ce(s);return e||(cn(s,a)&&Ge(i,"has",s),Ge(i,"has",a)),s===a?o.has(s):o.has(s)||o.has(a)},forEach(s,o){const i=this,a=i.__v_raw,l=ce(a),c=t?Eo:e?ls:He;return!e&&Ge(l,"iterate",Nn),a.forEach((u,f)=>s.call(o,c(u),c(f),i))}};return xe(n,e?{add:qr("add"),set:qr("set"),delete:qr("delete"),clear:qr("clear")}:{add(s){!t&&!ht(s)&&!fn(s)&&(s=ce(s));const o=ce(this);return Gr(o).has.call(o,s)||(o.add(s),Ht(o,"add",s,s)),this},set(s,o){!t&&!ht(o)&&!fn(o)&&(o=ce(o));const i=ce(this),{has:a,get:l}=Gr(i);let c=a.call(i,s);c||(s=ce(s),c=a.call(i,s));const u=l.call(i,s);return i.set(s,o),c?cn(o,u)&&Ht(i,"set",s,o):Ht(i,"add",s,o),this},delete(s){const o=ce(this),{has:i,get:a}=Gr(o);let l=i.call(o,s);l||(s=ce(s),l=i.call(o,s)),a&&a.call(o,s);const c=o.delete(s);return l&&Ht(o,"delete",s,void 0),c},clear(){const s=ce(this),o=s.size!==0,i=s.clear();return o&&Ht(s,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=ed(s,e,t)}),n}function si(e,t){const n=td(e,t);return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(me(n,s)&&s in r?n:r,s,o)}const nd={get:si(!1,!1)},rd={get:si(!1,!0)},sd={get:si(!0,!1)};const Xl=new WeakMap,Jl=new WeakMap,Ql=new WeakMap,od=new WeakMap;function id(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ad(e){return e.__v_skip||!Object.isExtensible(e)?0:id(Af(e))}function Dr(e){return fn(e)?e:oi(e,!1,Jf,nd,Xl)}function Zl(e){return oi(e,!1,Zf,rd,Jl)}function ec(e){return oi(e,!0,Qf,sd,Ql)}function oi(e,t,n,r,s){if(!pe(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=ad(e);if(o===0)return e;const i=s.get(e);if(i)return i;const a=new Proxy(e,o===2?r:n);return s.set(e,a),a}function Kt(e){return fn(e)?Kt(e.__v_raw):!!(e&&e.__v_isReactive)}function fn(e){return!!(e&&e.__v_isReadonly)}function ht(e){return!!(e&&e.__v_isShallow)}function ii(e){return e?!!e.__v_raw:!1}function ce(e){const t=e&&e.__v_raw;return t?ce(t):e}function ai(e){return!me(e,"__v_skip")&&Object.isExtensible(e)&&kl(e,"__v_skip",!0),e}const He=e=>pe(e)?Dr(e):e,ls=e=>pe(e)?ec(e):e;function we(e){return e?e.__v_isRef===!0:!1}function st(e){return tc(e,!1)}function li(e){return tc(e,!0)}function tc(e,t){return we(e)?e:new ld(e,t)}class ld{constructor(t,n){this.dep=new ri,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ce(t),this._value=n?t:He(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||ht(t)||fn(t);t=r?t:ce(t),cn(t,n)&&(this._rawValue=t,this._value=r?t:He(t),this.dep.trigger())}}function ve(e){return we(e)?e.value:e}const cd={get:(e,t,n)=>t==="__v_raw"?e:ve(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return we(s)&&!we(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function nc(e){return Kt(e)?e:new Proxy(e,cd)}function ud(e){const t=J(e)?new Array(e.length):{};for(const n in e)t[n]=rc(e,n);return t}class fd{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Kf(ce(this._object),this._key)}}class dd{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function md(e,t,n){return we(e)?e:ne(e)?new dd(e):pe(e)&&arguments.length>1?rc(e,t,n):st(e)}function rc(e,t,n){const r=e[t];return we(r)?r:new fd(e,t,n)}class hd{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new ri(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Er-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&be!==this)return Hl(this,!0),!0}get value(){const t=this.dep.track();return jl(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function pd(e,t,n=!1){let r,s;return ne(e)?r=e:(r=e.get,s=e.set),new hd(r,s,n)}const Yr={},cs=new WeakMap;let Ln;function gd(e,t=!1,n=Ln){if(n){let r=cs.get(n);r||cs.set(n,r=[]),r.push(e)}}function _d(e,t,n=ge){const{immediate:r,deep:s,once:o,scheduler:i,augmentJob:a,call:l}=n,c=v=>s?v:ht(v)||s===!1||s===0?Wt(v,1):Wt(v);let u,f,d,p,E=!1,S=!1;if(we(e)?(f=()=>e.value,E=ht(e)):Kt(e)?(f=()=>c(e),E=!0):J(e)?(S=!0,E=e.some(v=>Kt(v)||ht(v)),f=()=>e.map(v=>{if(we(v))return v.value;if(Kt(v))return c(v);if(ne(v))return l?l(v,2):v()})):ne(e)?t?f=l?()=>l(e,2):e:f=()=>{if(d){qt();try{d()}finally{Yt()}}const v=Ln;Ln=u;try{return l?l(e,3,[p]):e(p)}finally{Ln=v}}:f=kt,t&&s){const v=f,L=s===!0?1/0:s;f=()=>Wt(v(),L)}const w=Ul(),O=()=>{u.stop(),w&&w.active&&Xo(w.effects,u)};if(o&&t){const v=t;t=(...L)=>{v(...L),O()}}let k=S?new Array(e.length).fill(Yr):Yr;const b=v=>{if(!(!(u.flags&1)||!u.dirty&&!v))if(t){const L=u.run();if(s||E||(S?L.some((N,M)=>cn(N,k[M])):cn(L,k))){d&&d();const N=Ln;Ln=u;try{const M=[L,k===Yr?void 0:S&&k[0]===Yr?[]:k,p];k=L,l?l(t,3,M):t(...M)}finally{Ln=N}}}else u.run()};return a&&a(b),u=new $l(f),u.scheduler=i?()=>i(b,!1):b,p=v=>gd(v,!1,u),d=u.onStop=()=>{const v=cs.get(u);if(v){if(l)l(v,4);else for(const L of v)L();cs.delete(u)}},t?r?b(!0):k=u.run():i?i(b.bind(null,!0),!0):u.run(),O.pause=u.pause.bind(u),O.resume=u.resume.bind(u),O.stop=O,O}function Wt(e,t=1/0,n){if(t<=0||!pe(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,we(e))Wt(e.value,t,n);else if(J(e))for(let r=0;r{Wt(r,t,n)});else if(Il(e)){for(const r in e)Wt(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Wt(e[r],t,n)}return e}/** -* @vue/runtime-core v3.5.21 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Ur(e,t,n,r){try{return r?e(...r):e()}catch(s){Ps(s,t,n)}}function vt(e,t,n,r){if(ne(e)){const s=Ur(e,t,n,r);return s&&Nl(s)&&s.catch(o=>{Ps(o,t,n)}),s}if(J(e)){const s=[];for(let o=0;o>>1,s=tt[r],o=Sr(s);o=Sr(n)?tt.push(e):tt.splice(bd(t),0,e),e.flags|=1,oc()}}function oc(){us||(us=sc.then(ac))}function Ed(e){J(e)?jn.push(...e):sn&&e.id===-1?sn.splice(Un+1,0,e):e.flags&1||(jn.push(e),e.flags|=1),oc()}function Ii(e,t,n=Ot+1){for(;nSr(n)-Sr(r));if(jn.length=0,sn){sn.push(...t);return}for(sn=t,Un=0;Une.id==null?e.flags&2?-1:1/0:e.id;function ac(e){try{for(Ot=0;Ot{r._d&&hs(-1);const o=fs(t);let i;try{i=e(...s)}finally{fs(o),r._d&&hs(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function zb(e,t){if(We===null)return e;const n=Is(We),r=e.dirs||(e.dirs=[]);for(let s=0;se.__isTeleport,Bt=Symbol("_leaveCb"),zr=Symbol("_enterCb");function uc(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Zn(()=>{e.isMounted=!0}),bc(()=>{e.isUnmounting=!0}),e}const dt=[Function,Array],fc={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:dt,onEnter:dt,onAfterEnter:dt,onEnterCancelled:dt,onBeforeLeave:dt,onLeave:dt,onAfterLeave:dt,onLeaveCancelled:dt,onBeforeAppear:dt,onAppear:dt,onAfterAppear:dt,onAppearCancelled:dt},dc=e=>{const t=e.subTree;return t.component?dc(t.component):t},Sd={name:"BaseTransition",props:fc,setup(e,{slots:t}){const n=zt(),r=uc();return()=>{const s=t.default&&ui(t.default(),!0);if(!s||!s.length)return;const o=mc(s),i=ce(e),{mode:a}=i;if(r.isLeaving)return Zs(o);const l=ki(o);if(!l)return Zs(o);let c=Tr(l,i,r,n,f=>c=f);l.type!==qe&&xn(l,c);let u=n.subTree&&ki(n.subTree);if(u&&u.type!==qe&&!Rn(u,l)&&dc(n).type!==qe){let f=Tr(u,i,r,n);if(xn(u,f),a==="out-in"&&l.type!==qe)return r.isLeaving=!0,f.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete f.afterLeave,u=void 0},Zs(o);a==="in-out"&&l.type!==qe?f.delayLeave=(d,p,E)=>{const S=hc(r,u);S[String(u.key)]=u,d[Bt]=()=>{p(),d[Bt]=void 0,delete c.delayedLeave,u=void 0},c.delayedLeave=()=>{E(),delete c.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return o}}};function mc(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==qe){t=n;break}}return t}const wd=Sd;function hc(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Tr(e,t,n,r,s){const{appear:o,mode:i,persisted:a=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:f,onBeforeLeave:d,onLeave:p,onAfterLeave:E,onLeaveCancelled:S,onBeforeAppear:w,onAppear:O,onAfterAppear:k,onAppearCancelled:b}=t,v=String(e.key),L=hc(n,e),N=(R,Y)=>{R&&vt(R,r,9,Y)},M=(R,Y)=>{const ee=Y[1];N(R,Y),J(R)?R.every(B=>B.length<=1)&&ee():R.length<=1&&ee()},$={mode:i,persisted:a,beforeEnter(R){let Y=l;if(!n.isMounted)if(o)Y=w||l;else return;R[Bt]&&R[Bt](!0);const ee=L[v];ee&&Rn(e,ee)&&ee.el[Bt]&&ee.el[Bt](),N(Y,[R])},enter(R){let Y=c,ee=u,B=f;if(!n.isMounted)if(o)Y=O||c,ee=k||u,B=b||f;else return;let Q=!1;const ye=R[zr]=Oe=>{Q||(Q=!0,Oe?N(B,[R]):N(ee,[R]),$.delayedLeave&&$.delayedLeave(),R[zr]=void 0)};Y?M(Y,[R,ye]):ye()},leave(R,Y){const ee=String(e.key);if(R[zr]&&R[zr](!0),n.isUnmounting)return Y();N(d,[R]);let B=!1;const Q=R[Bt]=ye=>{B||(B=!0,Y(),ye?N(S,[R]):N(E,[R]),R[Bt]=void 0,L[ee]===e&&delete L[ee])};L[ee]=e,p?M(p,[R,Q]):Q()},clone(R){const Y=Tr(R,t,n,r,s);return s&&s(Y),Y}};return $}function Zs(e){if(Os(e))return e=mn(e),e.children=null,e}function ki(e){if(!Os(e))return cc(e.type)&&e.children?mc(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ne(n.default))return n.default()}}function xn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,xn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ui(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;omr(E,t&&(J(t)?t[S]:t),n,r,s));return}if(Kn(r)&&!s){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&mr(e,t,n,r.component.subTree);return}const o=r.shapeFlag&4?Is(r.component):r.el,i=s?null:o,{i:a,r:l}=e,c=t&&t.r,u=a.refs===ge?a.refs={}:a.refs,f=a.setupState,d=ce(f),p=f===ge?Ol:E=>me(d,E);if(c!=null&&c!==l){if(xi(t),Re(c))u[c]=null,p(c)&&(f[c]=null);else if(we(c)){c.value=null;const E=t;E.k&&(u[E.k]=null)}}if(ne(l))Ur(l,a,12,[i,u]);else{const E=Re(l),S=we(l);if(E||S){const w=()=>{if(e.f){const O=E?p(l)?f[l]:u[l]:l.value;if(s)J(O)&&Xo(O,o);else if(J(O))O.includes(o)||O.push(o);else if(E)u[l]=[o],p(l)&&(f[l]=u[l]);else{const k=[o];l.value=k,e.k&&(u[e.k]=k)}}else E?(u[l]=i,p(l)&&(f[l]=i)):S&&(l.value=i,e.k&&(u[e.k]=i))};if(i){const O=()=>{w(),ds.delete(e)};O.id=-1,ds.set(e,O),ct(O,n)}else xi(e),w()}}}function xi(e){const t=ds.get(e);t&&(t.flags|=8,ds.delete(e))}Ts().requestIdleCallback;Ts().cancelIdleCallback;const Kn=e=>!!e.type.__asyncLoader,Os=e=>e.type.__isKeepAlive;function Td(e,t){gc(e,"a",t)}function Cd(e,t){gc(e,"da",t)}function gc(e,t,n=Ye){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(Ns(t,r,n),n){let s=n.parent;for(;s&&s.parent;)Os(s.parent.vnode)&&Ld(r,t,n,s),s=s.parent}}function Ld(e,t,n,r){const s=Ns(t,e,r,!0);er(()=>{Xo(r[t],s)},n)}function Ns(e,t,n=Ye,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{qt();const a=Br(n),l=vt(t,n,e,i);return a(),Yt(),l});return r?s.unshift(o):s.push(o),o}}const Jt=e=>(t,n=Ye)=>{(!Pr||e==="sp")&&Ns(e,(...r)=>t(...r),n)},_c=Jt("bm"),Zn=Jt("m"),Pd=Jt("bu"),yc=Jt("u"),bc=Jt("bum"),er=Jt("um"),Rd=Jt("sp"),Od=Jt("rtg"),Nd=Jt("rtc");function Ad(e,t=Ye){Ns("ec",e,t)}const Ec="components";function Xb(e,t){return wc(Ec,e,!0,t)||e}const vc=Symbol.for("v-ndc");function Sc(e){return Re(e)?wc(Ec,e,!1)||e:e||vc}function wc(e,t,n=!0,r=!1){const s=We||Ye;if(s){const o=s.type;{const a=Em(o,!1);if(a&&(a===t||a===pt(t)||a===ws(pt(t))))return o}const i=Fi(s[e]||o[e],t)||Fi(s.appContext[e],t);return!i&&r?o:i}}function Fi(e,t){return e&&(e[t]||e[pt(t)]||e[ws(pt(t))])}function Tc(e,t,n,r){let s;const o=n,i=J(e);if(i||Re(e)){const a=i&&Kt(e);let l=!1,c=!1;a&&(l=!ht(e),c=fn(e),e=Ls(e)),s=new Array(e.length);for(let u=0,f=e.length;ut(a,l,void 0,o));else{const a=Object.keys(e);s=new Array(a.length);for(let l=0,c=a.length;lLr(t)?!(t.type===qe||t.type===Me&&!Cc(t.children)):!0)?e:null}const vo=e=>e?Gc(e)?Is(e):vo(e.parent):null,hr=xe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>vo(e.parent),$root:e=>vo(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Pc(e),$forceUpdate:e=>e.f||(e.f=()=>{ci(e.update)}),$nextTick:e=>e.n||(e.n=Rs.bind(e.proxy)),$watch:e=>Zd.bind(e)}),eo=(e,t)=>e!==ge&&!e.__isScriptSetup&&me(e,t),Id={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:a,appContext:l}=e;let c;if(t[0]!=="$"){const p=i[t];if(p!==void 0)switch(p){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(eo(r,t))return i[t]=1,r[t];if(s!==ge&&me(s,t))return i[t]=2,s[t];if((c=e.propsOptions[0])&&me(c,t))return i[t]=3,o[t];if(n!==ge&&me(n,t))return i[t]=4,n[t];So&&(i[t]=0)}}const u=hr[t];let f,d;if(u)return t==="$attrs"&&Ge(e.attrs,"get",""),u(e);if((f=a.__cssModules)&&(f=f[t]))return f;if(n!==ge&&me(n,t))return i[t]=4,n[t];if(d=l.config.globalProperties,me(d,t))return d[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return eo(s,t)?(s[t]=n,!0):r!==ge&&me(r,t)?(r[t]=n,!0):me(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOptions:o,type:i}},a){let l,c;return!!(n[a]||e!==ge&&a[0]!=="$"&&me(e,a)||eo(t,a)||(l=o[0])&&me(l,a)||me(r,a)||me(hr,a)||me(s.config.globalProperties,a)||(c=i.__cssModules)&&c[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:me(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Mi(e){return J(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let So=!0;function kd(e){const t=Pc(e),n=e.proxy,r=e.ctx;So=!1,t.beforeCreate&&Di(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:a,provide:l,inject:c,created:u,beforeMount:f,mounted:d,beforeUpdate:p,updated:E,activated:S,deactivated:w,beforeDestroy:O,beforeUnmount:k,destroyed:b,unmounted:v,render:L,renderTracked:N,renderTriggered:M,errorCaptured:$,serverPrefetch:R,expose:Y,inheritAttrs:ee,components:B,directives:Q,filters:ye}=t;if(c&&xd(c,r,null),i)for(const te in i){const ae=i[te];ne(ae)&&(r[te]=ae.bind(n))}if(s){const te=s.call(n,n);pe(te)&&(e.data=Dr(te))}if(So=!0,o)for(const te in o){const ae=o[te],Je=ne(ae)?ae.bind(n,n):ne(ae.get)?ae.get.bind(n,n):kt,nt=!ne(ae)&&ne(ae.set)?ae.set.bind(n):kt,Ce=_e({get:Je,set:nt});Object.defineProperty(r,te,{enumerable:!0,configurable:!0,get:()=>Ce.value,set:Le=>Ce.value=Le})}if(a)for(const te in a)Lc(a[te],r,n,te);if(l){const te=ne(l)?l.call(n):l;Reflect.ownKeys(te).forEach(ae=>{In(ae,te[ae])})}u&&Di(u,e,"c");function oe(te,ae){J(ae)?ae.forEach(Je=>te(Je.bind(n))):ae&&te(ae.bind(n))}if(oe(_c,f),oe(Zn,d),oe(Pd,p),oe(yc,E),oe(Td,S),oe(Cd,w),oe(Ad,$),oe(Nd,N),oe(Od,M),oe(bc,k),oe(er,v),oe(Rd,R),J(Y))if(Y.length){const te=e.exposed||(e.exposed={});Y.forEach(ae=>{Object.defineProperty(te,ae,{get:()=>n[ae],set:Je=>n[ae]=Je,enumerable:!0})})}else e.exposed||(e.exposed={});L&&e.render===kt&&(e.render=L),ee!=null&&(e.inheritAttrs=ee),B&&(e.components=B),Q&&(e.directives=Q),R&&pc(e)}function xd(e,t,n=kt){J(e)&&(e=wo(e));for(const r in e){const s=e[r];let o;pe(s)?"default"in s?o=Xe(s.from||r,s.default,!0):o=Xe(s.from||r):o=Xe(s),we(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o}}function Di(e,t,n){vt(J(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Lc(e,t,n,r){let s=r.includes(".")?Bc(n,r):()=>n[r];if(Re(e)){const o=t[e];ne(o)&&un(s,o)}else if(ne(e))un(s,e.bind(n));else if(pe(e))if(J(e))e.forEach(o=>Lc(o,t,n,r));else{const o=ne(e.handler)?e.handler.bind(n):t[e.handler];ne(o)&&un(s,o,e)}}function Pc(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,a=o.get(t);let l;return a?l=a:!s.length&&!n&&!r?l=t:(l={},s.length&&s.forEach(c=>ms(l,c,i,!0)),ms(l,t,i)),pe(t)&&o.set(t,l),l}function ms(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&ms(e,o,n,!0),s&&s.forEach(i=>ms(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const a=Fd[i]||n&&n[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const Fd={data:Ui,props:$i,emits:$i,methods:cr,computed:cr,beforeCreate:Ze,created:Ze,beforeMount:Ze,mounted:Ze,beforeUpdate:Ze,updated:Ze,beforeDestroy:Ze,beforeUnmount:Ze,destroyed:Ze,unmounted:Ze,activated:Ze,deactivated:Ze,errorCaptured:Ze,serverPrefetch:Ze,components:cr,directives:cr,watch:Dd,provide:Ui,inject:Md};function Ui(e,t){return t?e?function(){return xe(ne(e)?e.call(this,this):e,ne(t)?t.call(this,this):t)}:t:e}function Md(e,t){return cr(wo(e),wo(t))}function wo(e){if(J(e)){const t={};for(let n=0;n1)return n&&ne(t)?t.call(r&&r.proxy):t}}function Bd(){return!!(zt()||An)}const Oc={},Nc=()=>Object.create(Oc),Ac=e=>Object.getPrototypeOf(e)===Oc;function Hd(e,t,n,r=!1){const s={},o=Nc();e.propsDefaults=Object.create(null),Ic(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=r?s:Zl(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function Wd(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,a=ce(s),[l]=e.propsOptions;let c=!1;if((r||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[d,p]=kc(f,t,!0);xe(i,d),p&&a.push(...p)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!o&&!l)return pe(e)&&r.set(e,Wn),Wn;if(J(o))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",di=e=>J(e)?e.map(Nt):[Nt(e)],jd=(e,t,n)=>{if(t._n)return t;const r=wr((...s)=>di(t(...s)),n);return r._c=!1,r},xc=(e,t,n)=>{const r=e._ctx;for(const s in e){if(fi(s))continue;const o=e[s];if(ne(o))t[s]=jd(s,o,r);else if(o!=null){const i=di(o);t[s]=()=>i}}},Fc=(e,t)=>{const n=di(t);e.slots.default=()=>n},Mc=(e,t,n)=>{for(const r in t)(n||!fi(r))&&(e[r]=t[r])},Kd=(e,t,n)=>{const r=e.slots=Nc();if(e.vnode.shapeFlag&32){const s=t._;s?(Mc(r,t,n),n&&kl(r,"_",s,!0)):xc(t,r)}else t&&Fc(e,t)},Gd=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=ge;if(r.shapeFlag&32){const a=t._;a?n&&a===1?o=!1:Mc(s,t,n):(o=!t.$stable,xc(t,s)),i=t}else t&&(Fc(e,t),i={default:1});if(o)for(const a in s)!fi(a)&&i[a]==null&&delete s[a]},ct=am;function qd(e){return Yd(e)}function Yd(e,t){const n=Ts();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:i,createText:a,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:d,setScopeId:p=kt,insertStaticContent:E}=e,S=(g,y,_,P=null,U=null,F=null,V=void 0,W=null,m=!!y.dynamicChildren)=>{if(g===y)return;g&&!Rn(g,y)&&(P=D(g),Le(g,U,F,!0),g=null),y.patchFlag===-2&&(m=!1,y.dynamicChildren=null);const{type:h,ref:C,shapeFlag:I}=y;switch(h){case $r:w(g,y,_,P);break;case qe:O(g,y,_,P);break;case no:g==null&&k(y,_,P,V);break;case Me:B(g,y,_,P,U,F,V,W,m);break;default:I&1?L(g,y,_,P,U,F,V,W,m):I&6?Q(g,y,_,P,U,F,V,W,m):(I&64||I&128)&&h.process(g,y,_,P,U,F,V,W,m,z)}C!=null&&U?mr(C,g&&g.ref,F,y||g,!y):C==null&&g&&g.ref!=null&&mr(g.ref,null,F,g,!0)},w=(g,y,_,P)=>{if(g==null)r(y.el=a(y.children),_,P);else{const U=y.el=g.el;y.children!==g.children&&c(U,y.children)}},O=(g,y,_,P)=>{g==null?r(y.el=l(y.children||""),_,P):y.el=g.el},k=(g,y,_,P)=>{[g.el,g.anchor]=E(g.children,y,_,P,g.el,g.anchor)},b=({el:g,anchor:y},_,P)=>{let U;for(;g&&g!==y;)U=d(g),r(g,_,P),g=U;r(y,_,P)},v=({el:g,anchor:y})=>{let _;for(;g&&g!==y;)_=d(g),s(g),g=_;s(y)},L=(g,y,_,P,U,F,V,W,m)=>{y.type==="svg"?V="svg":y.type==="math"&&(V="mathml"),g==null?N(y,_,P,U,F,V,W,m):R(g,y,U,F,V,W,m)},N=(g,y,_,P,U,F,V,W)=>{let m,h;const{props:C,shapeFlag:I,transition:K,dirs:H}=g;if(m=g.el=i(g.type,F,C&&C.is,C),I&8?u(m,g.children):I&16&&$(g.children,m,null,P,U,to(g,F),V,W),H&&vn(g,null,P,"created"),M(m,g,g.scopeId,V,P),C){for(const x in C)x!=="value"&&!ur(x)&&o(m,x,null,C[x],F,P);"value"in C&&o(m,"value",null,C.value,F),(h=C.onVnodeBeforeMount)&&Lt(h,P,g)}H&&vn(g,null,P,"beforeMount");const T=zd(U,K);T&&K.beforeEnter(m),r(m,y,_),((h=C&&C.onVnodeMounted)||T||H)&&ct(()=>{h&&Lt(h,P,g),T&&K.enter(m),H&&vn(g,null,P,"mounted")},U)},M=(g,y,_,P,U)=>{if(_&&p(g,_),P)for(let F=0;F{for(let h=m;h{const W=y.el=g.el;let{patchFlag:m,dynamicChildren:h,dirs:C}=y;m|=g.patchFlag&16;const I=g.props||ge,K=y.props||ge;let H;if(_&&Sn(_,!1),(H=K.onVnodeBeforeUpdate)&&Lt(H,_,y,g),C&&vn(y,g,_,"beforeUpdate"),_&&Sn(_,!0),(I.innerHTML&&K.innerHTML==null||I.textContent&&K.textContent==null)&&u(W,""),h?Y(g.dynamicChildren,h,W,_,P,to(y,U),F):V||ae(g,y,W,null,_,P,to(y,U),F,!1),m>0){if(m&16)ee(W,I,K,_,U);else if(m&2&&I.class!==K.class&&o(W,"class",null,K.class,U),m&4&&o(W,"style",I.style,K.style,U),m&8){const T=y.dynamicProps;for(let x=0;x{H&&Lt(H,_,y,g),C&&vn(y,g,_,"updated")},P)},Y=(g,y,_,P,U,F,V)=>{for(let W=0;W{if(y!==_){if(y!==ge)for(const F in y)!ur(F)&&!(F in _)&&o(g,F,y[F],null,U,P);for(const F in _){if(ur(F))continue;const V=_[F],W=y[F];V!==W&&F!=="value"&&o(g,F,W,V,U,P)}"value"in _&&o(g,"value",y.value,_.value,U)}},B=(g,y,_,P,U,F,V,W,m)=>{const h=y.el=g?g.el:a(""),C=y.anchor=g?g.anchor:a("");let{patchFlag:I,dynamicChildren:K,slotScopeIds:H}=y;H&&(W=W?W.concat(H):H),g==null?(r(h,_,P),r(C,_,P),$(y.children||[],_,C,U,F,V,W,m)):I>0&&I&64&&K&&g.dynamicChildren?(Y(g.dynamicChildren,K,_,U,F,V,W),(y.key!=null||U&&y===U.subTree)&&Dc(g,y,!0)):ae(g,y,_,C,U,F,V,W,m)},Q=(g,y,_,P,U,F,V,W,m)=>{y.slotScopeIds=W,g==null?y.shapeFlag&512?U.ctx.activate(y,_,P,V,m):ye(y,_,P,U,F,V,m):Oe(g,y,m)},ye=(g,y,_,P,U,F,V)=>{const W=g.component=pm(g,P,U);if(Os(g)&&(W.ctx.renderer=z),gm(W,!1,V),W.asyncDep){if(U&&U.registerDep(W,oe,V),!g.el){const m=W.subTree=Pe(qe);O(null,m,y,_),g.placeholder=m.el}}else oe(W,g,y,_,U,F,V)},Oe=(g,y,_)=>{const P=y.component=g.component;if(om(g,y,_))if(P.asyncDep&&!P.asyncResolved){te(P,y,_);return}else P.next=y,P.update();else y.el=g.el,P.vnode=y},oe=(g,y,_,P,U,F,V)=>{const W=()=>{if(g.isMounted){let{next:I,bu:K,u:H,parent:T,vnode:x}=g;{const Ue=Uc(g);if(Ue){I&&(I.el=x.el,te(g,I,V)),Ue.asyncDep.then(()=>{g.isUnmounted||W()});return}}let X=I,le;Sn(g,!1),I?(I.el=x.el,te(g,I,V)):I=x,K&&Zr(K),(le=I.props&&I.props.onVnodeBeforeUpdate)&&Lt(le,T,I,x),Sn(g,!0);const Te=Wi(g),Qe=g.subTree;g.subTree=Te,S(Qe,Te,f(Qe.el),D(Qe),g,U,F),I.el=Te.el,X===null&&im(g,Te.el),H&&ct(H,U),(le=I.props&&I.props.onVnodeUpdated)&&ct(()=>Lt(le,T,I,x),U)}else{let I;const{el:K,props:H}=y,{bm:T,m:x,parent:X,root:le,type:Te}=g,Qe=Kn(y);Sn(g,!1),T&&Zr(T),!Qe&&(I=H&&H.onVnodeBeforeMount)&&Lt(I,X,y),Sn(g,!0);{le.ce&&le.ce._def.shadowRoot!==!1&&le.ce._injectChildStyle(Te);const Ue=g.subTree=Wi(g);S(null,Ue,_,P,g,U,F),y.el=Ue.el}if(x&&ct(x,U),!Qe&&(I=H&&H.onVnodeMounted)){const Ue=y;ct(()=>Lt(I,X,Ue),U)}(y.shapeFlag&256||X&&Kn(X.vnode)&&X.vnode.shapeFlag&256)&&g.a&&ct(g.a,U),g.isMounted=!0,y=_=P=null}};g.scope.on();const m=g.effect=new $l(W);g.scope.off();const h=g.update=m.run.bind(m),C=g.job=m.runIfDirty.bind(m);C.i=g,C.id=g.uid,m.scheduler=()=>ci(C),Sn(g,!0),h()},te=(g,y,_)=>{y.component=g;const P=g.vnode.props;g.vnode=y,g.next=null,Wd(g,y.props,P,_),Gd(g,y.children,_),qt(),Ii(g),Yt()},ae=(g,y,_,P,U,F,V,W,m=!1)=>{const h=g&&g.children,C=g?g.shapeFlag:0,I=y.children,{patchFlag:K,shapeFlag:H}=y;if(K>0){if(K&128){nt(h,I,_,P,U,F,V,W,m);return}else if(K&256){Je(h,I,_,P,U,F,V,W,m);return}}H&8?(C&16&&Fe(h,U,F),I!==h&&u(_,I)):C&16?H&16?nt(h,I,_,P,U,F,V,W,m):Fe(h,U,F,!0):(C&8&&u(_,""),H&16&&$(I,_,P,U,F,V,W,m))},Je=(g,y,_,P,U,F,V,W,m)=>{g=g||Wn,y=y||Wn;const h=g.length,C=y.length,I=Math.min(h,C);let K;for(K=0;KC?Fe(g,U,F,!0,!1,I):$(y,_,P,U,F,V,W,m,I)},nt=(g,y,_,P,U,F,V,W,m)=>{let h=0;const C=y.length;let I=g.length-1,K=C-1;for(;h<=I&&h<=K;){const H=g[h],T=y[h]=m?on(y[h]):Nt(y[h]);if(Rn(H,T))S(H,T,_,null,U,F,V,W,m);else break;h++}for(;h<=I&&h<=K;){const H=g[I],T=y[K]=m?on(y[K]):Nt(y[K]);if(Rn(H,T))S(H,T,_,null,U,F,V,W,m);else break;I--,K--}if(h>I){if(h<=K){const H=K+1,T=HK)for(;h<=I;)Le(g[h],U,F,!0),h++;else{const H=h,T=h,x=new Map;for(h=T;h<=K;h++){const lt=y[h]=m?on(y[h]):Nt(y[h]);lt.key!=null&&x.set(lt.key,h)}let X,le=0;const Te=K-T+1;let Qe=!1,Ue=0;const En=new Array(Te);for(h=0;h=Te){Le(lt,U,F,!0);continue}let Ct;if(lt.key!=null)Ct=x.get(lt.key);else for(X=T;X<=K;X++)if(En[X-T]===0&&Rn(lt,y[X])){Ct=X;break}Ct===void 0?Le(lt,U,F,!0):(En[Ct-T]=h+1,Ct>=Ue?Ue=Ct:Qe=!0,S(lt,y[Ct],_,null,U,F,V,W,m),le++)}const qs=Qe?Xd(En):Wn;for(X=qs.length-1,h=Te-1;h>=0;h--){const lt=T+h,Ct=y[lt],Li=y[lt+1],Pi=lt+1{const{el:F,type:V,transition:W,children:m,shapeFlag:h}=g;if(h&6){Ce(g.component.subTree,y,_,P);return}if(h&128){g.suspense.move(y,_,P);return}if(h&64){V.move(g,y,_,z);return}if(V===Me){r(F,y,_);for(let I=0;IW.enter(F),U);else{const{leave:I,delayLeave:K,afterLeave:H}=W,T=()=>{g.ctx.isUnmounted?s(F):r(F,y,_)},x=()=>{F._isLeaving&&F[Bt](!0),I(F,()=>{T(),H&&H()})};K?K(F,T,x):x()}else r(F,y,_)},Le=(g,y,_,P=!1,U=!1)=>{const{type:F,props:V,ref:W,children:m,dynamicChildren:h,shapeFlag:C,patchFlag:I,dirs:K,cacheIndex:H}=g;if(I===-2&&(U=!1),W!=null&&(qt(),mr(W,null,_,g,!0),Yt()),H!=null&&(y.renderCache[H]=void 0),C&256){y.ctx.deactivate(g);return}const T=C&1&&K,x=!Kn(g);let X;if(x&&(X=V&&V.onVnodeBeforeUnmount)&&Lt(X,y,g),C&6)Tt(g.component,_,P);else{if(C&128){g.suspense.unmount(_,P);return}T&&vn(g,null,y,"beforeUnmount"),C&64?g.type.remove(g,y,_,z,P):h&&!h.hasOnce&&(F!==Me||I>0&&I&64)?Fe(h,y,_,!1,!0):(F===Me&&I&384||!U&&C&16)&&Fe(m,y,_),P&&ft(g)}(x&&(X=V&&V.onVnodeUnmounted)||T)&&ct(()=>{X&&Lt(X,y,g),T&&vn(g,null,y,"unmounted")},_)},ft=g=>{const{type:y,el:_,anchor:P,transition:U}=g;if(y===Me){at(_,P);return}if(y===no){v(g);return}const F=()=>{s(_),U&&!U.persisted&&U.afterLeave&&U.afterLeave()};if(g.shapeFlag&1&&U&&!U.persisted){const{leave:V,delayLeave:W}=U,m=()=>V(_,F);W?W(g.el,F,m):m()}else F()},at=(g,y)=>{let _;for(;g!==y;)_=d(g),s(g),g=_;s(y)},Tt=(g,y,_)=>{const{bum:P,scope:U,job:F,subTree:V,um:W,m,a:h}=g;Hi(m),Hi(h),P&&Zr(P),U.stop(),F&&(F.flags|=8,Le(V,g,y,_)),W&&ct(W,y),ct(()=>{g.isUnmounted=!0},y)},Fe=(g,y,_,P=!1,U=!1,F=0)=>{for(let V=F;V{if(g.shapeFlag&6)return D(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const y=d(g.anchor||g.el),_=y&&y[vd];return _?d(_):y};let q=!1;const j=(g,y,_)=>{g==null?y._vnode&&Le(y._vnode,null,null,!0):S(y._vnode||null,g,y,null,null,null,_),y._vnode=g,q||(q=!0,Ii(),ic(),q=!1)},z={p:S,um:Le,m:Ce,r:ft,mt:ye,mc:$,pc:ae,pbc:Y,n:D,o:e};return{render:j,hydrate:void 0,createApp:$d(j)}}function to({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Sn({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function zd(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Dc(e,t,n=!1){const r=e.children,s=t.children;if(J(r)&&J(s))for(let o=0;o>1,e[n[a]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Uc(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Uc(t)}function Hi(e){if(e)for(let t=0;tXe(Jd);function un(e,t,n){return $c(e,t,n)}function $c(e,t,n=ge){const{immediate:r,deep:s,flush:o,once:i}=n,a=xe({},n),l=t&&r||!t&&o!=="post";let c;if(Pr){if(o==="sync"){const p=Qd();c=p.__watcherHandles||(p.__watcherHandles=[])}else if(!l){const p=()=>{};return p.stop=kt,p.resume=kt,p.pause=kt,p}}const u=Ye;a.call=(p,E,S)=>vt(p,u,E,S);let f=!1;o==="post"?a.scheduler=p=>{ct(p,u&&u.suspense)}:o!=="sync"&&(f=!0,a.scheduler=(p,E)=>{E?p():ci(p)}),a.augmentJob=p=>{t&&(p.flags|=4),f&&(p.flags|=2,u&&(p.id=u.uid,p.i=u))};const d=_d(e,t,a);return Pr&&(c?c.push(d):l&&d()),d}function Zd(e,t,n){const r=this.proxy,s=Re(e)?e.includes(".")?Bc(r,e):()=>r[e]:e.bind(r,r);let o;ne(t)?o=t:(o=t.handler,n=t);const i=Br(this),a=$c(s,o.bind(r),n);return i(),a}function Bc(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;st==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${pt(t)}Modifiers`]||e[`${gn(t)}Modifiers`];function tm(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||ge;let s=n;const o=t.startsWith("update:"),i=o&&em(r,t.slice(7));i&&(i.trim&&(s=n.map(u=>Re(u)?u.trim():u)),i.number&&(s=n.map(is)));let a,l=r[a=Ys(t)]||r[a=Ys(pt(t))];!l&&o&&(l=r[a=Ys(gn(t))]),l&&vt(l,e,6,s);const c=r[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,vt(c,e,6,s)}}const nm=new WeakMap;function Hc(e,t,n=!1){const r=n?nm:t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},a=!1;if(!ne(e)){const l=c=>{const u=Hc(c,t,!0);u&&(a=!0,xe(i,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!o&&!a?(pe(e)&&r.set(e,null),null):(J(o)?o.forEach(l=>i[l]=null):xe(i,o),pe(e)&&r.set(e,i),i)}function As(e,t){return!e||!vs(t)?!1:(t=t.slice(2).replace(/Once$/,""),me(e,t[0].toLowerCase()+t.slice(1))||me(e,gn(t))||me(e,t))}function Wi(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[o],slots:i,attrs:a,emit:l,render:c,renderCache:u,props:f,data:d,setupState:p,ctx:E,inheritAttrs:S}=e,w=fs(e);let O,k;try{if(n.shapeFlag&4){const v=s||r,L=v;O=Nt(c.call(L,v,u,f,p,d,E)),k=a}else{const v=t;O=Nt(v.length>1?v(f,{attrs:a,slots:i,emit:l}):v(f,null)),k=t.props?a:rm(a)}}catch(v){pr.length=0,Ps(v,e,1),O=Pe(qe)}let b=O;if(k&&S!==!1){const v=Object.keys(k),{shapeFlag:L}=b;v.length&&L&7&&(o&&v.some(zo)&&(k=sm(k,o)),b=mn(b,k,!1,!0))}return n.dirs&&(b=mn(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&xn(b,n.transition),O=b,fs(w),O}const rm=e=>{let t;for(const n in e)(n==="class"||n==="style"||vs(n))&&((t||(t={}))[n]=e[n]);return t},sm=(e,t)=>{const n={};for(const r in e)(!zo(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function om(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:a,patchFlag:l}=t,c=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return r?Vi(r,i,c):!!i;if(l&8){const u=t.dynamicProps;for(let f=0;fe.__isSuspense;function am(e,t){t&&t.pendingBranch?J(e)?t.effects.push(...e):t.effects.push(e):Ed(e)}const Me=Symbol.for("v-fgt"),$r=Symbol.for("v-txt"),qe=Symbol.for("v-cmt"),no=Symbol.for("v-stc"),pr=[];let ut=null;function Ve(e=!1){pr.push(ut=e?null:[])}function lm(){pr.pop(),ut=pr[pr.length-1]||null}let Cr=1;function hs(e,t=!1){Cr+=e,e<0&&ut&&t&&(ut.hasOnce=!0)}function Vc(e){return e.dynamicChildren=Cr>0?ut||Wn:null,lm(),Cr>0&&ut&&ut.push(e),e}function jt(e,t,n,r,s,o){return Vc(Be(e,t,n,r,s,o,!0))}function dn(e,t,n,r,s){return Vc(Pe(e,t,n,r,s,!0))}function Lr(e){return e?e.__v_isVNode===!0:!1}function Rn(e,t){return e.type===t.type&&e.key===t.key}const jc=({key:e})=>e??null,es=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Re(e)||we(e)||ne(e)?{i:We,r:e,k:t,f:!!n}:e:null);function Be(e,t=null,n=null,r=0,s=null,o=e===Me?0:1,i=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&jc(t),ref:t&&es(t),scopeId:lc,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:We};return a?(mi(l,n),o&128&&e.normalize(l)):n&&(l.shapeFlag|=Re(n)?8:16),Cr>0&&!i&&ut&&(l.patchFlag>0||o&6)&&l.patchFlag!==32&&ut.push(l),l}const Pe=cm;function cm(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===vc)&&(e=qe),Lr(e)){const a=mn(e,t,!0);return n&&mi(a,n),Cr>0&&!o&&ut&&(a.shapeFlag&6?ut[ut.indexOf(e)]=a:ut.push(a)),a.patchFlag=-2,a}if(vm(e)&&(e=e.__vccOpts),t){t=um(t);let{class:a,style:l}=t;a&&!Re(a)&&(t.class=At(a)),pe(l)&&(ii(l)&&!J(l)&&(l=xe({},l)),t.style=Cs(l))}const i=Re(e)?1:Wc(e)?128:cc(e)?64:pe(e)?4:ne(e)?2:0;return Be(e,t,n,r,s,i,o,!0)}function um(e){return e?ii(e)||Ac(e)?xe({},e):e:null}function mn(e,t,n=!1,r=!1){const{props:s,ref:o,patchFlag:i,children:a,transition:l}=e,c=t?dm(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&jc(c),ref:t&&t.ref?n&&o?J(o)?o.concat(es(t)):[o,es(t)]:es(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Me?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&mn(e.ssContent),ssFallback:e.ssFallback&&mn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&r&&xn(u,l.clone(u)),u}function fm(e=" ",t=0){return Pe($r,null,e,t)}function Kc(e="",t=!1){return t?(Ve(),dn(qe,null,e)):Pe(qe,null,e)}function Nt(e){return e==null||typeof e=="boolean"?Pe(qe):J(e)?Pe(Me,null,e.slice()):Lr(e)?on(e):Pe($r,null,String(e))}function on(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:mn(e)}function mi(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(J(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),mi(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!Ac(t)?t._ctx=We:s===3&&We&&(We.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ne(t)?(t={default:t,_ctx:We},n=32):(t=String(t),r&64?(n=16,t=[fm(t)]):n=8);e.children=t,e.shapeFlag|=n}function dm(...e){const t={};for(let n=0;nYe||We;let ps,Co;{const e=Ts(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(i=>i(o)):s[0](o)}};ps=t("__VUE_INSTANCE_SETTERS__",n=>Ye=n),Co=t("__VUE_SSR_SETTERS__",n=>Pr=n)}const Br=e=>{const t=Ye;return ps(e),e.scope.on(),()=>{e.scope.off(),ps(t)}},ji=()=>{Ye&&Ye.scope.off(),ps(null)};function Gc(e){return e.vnode.shapeFlag&4}let Pr=!1;function gm(e,t=!1,n=!1){t&&Co(t);const{props:r,children:s}=e.vnode,o=Gc(e);Hd(e,r,o,t),Kd(e,s,n||t);const i=o?_m(e,t):void 0;return t&&Co(!1),i}function _m(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Id);const{setup:r}=n;if(r){qt();const s=e.setupContext=r.length>1?bm(e):null,o=Br(e),i=Ur(r,e,0,[e.props,s]),a=Nl(i);if(Yt(),o(),(a||e.sp)&&!Kn(e)&&pc(e),a){if(i.then(ji,ji),t)return i.then(l=>{Ki(e,l)}).catch(l=>{Ps(l,e,0)});e.asyncDep=i}else Ki(e,i)}else qc(e)}function Ki(e,t,n){ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:pe(t)&&(e.setupState=nc(t)),qc(e)}function qc(e,t,n){const r=e.type;e.render||(e.render=r.render||kt);{const s=Br(e);qt();try{kd(e)}finally{Yt(),s()}}}const ym={get(e,t){return Ge(e,"get",""),e[t]}};function bm(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,ym),slots:e.slots,emit:e.emit,expose:t}}function Is(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(nc(ai(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in hr)return hr[n](e)},has(t,n){return n in t||n in hr}})):e.proxy}function Em(e,t=!0){return ne(e)?e.displayName||e.name:e.name||t&&e.__name}function vm(e){return ne(e)&&"__vccOpts"in e}const _e=(e,t)=>pd(e,t,Pr);function hn(e,t,n){const r=(o,i,a)=>{hs(-1);try{return Pe(o,i,a)}finally{hs(1)}},s=arguments.length;return s===2?pe(t)&&!J(t)?Lr(t)?r(e,null,[t]):r(e,t):r(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Lr(n)&&(n=[n]),r(e,t,n))}const Sm="3.5.21";/** -* @vue/runtime-dom v3.5.21 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Lo;const Gi=typeof window<"u"&&window.trustedTypes;if(Gi)try{Lo=Gi.createPolicy("vue",{createHTML:e=>e})}catch{}const Yc=Lo?e=>Lo.createHTML(e):e=>e,wm="http://www.w3.org/2000/svg",Tm="http://www.w3.org/1998/Math/MathML",$t=typeof document<"u"?document:null,qi=$t&&$t.createElement("template"),Cm={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?$t.createElementNS(wm,e):t==="mathml"?$t.createElementNS(Tm,e):n?$t.createElement(e,{is:n}):$t.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>$t.createTextNode(e),createComment:e=>$t.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>$t.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{qi.innerHTML=Yc(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const a=qi.content;if(r==="svg"||r==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Zt="transition",or="animation",Gn=Symbol("_vtc"),zc={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Xc=xe({},fc,zc),Lm=e=>(e.displayName="Transition",e.props=Xc,e),Jc=Lm((e,{slots:t})=>hn(wd,Qc(e),t)),wn=(e,t=[])=>{J(e)?e.forEach(n=>n(...t)):e&&e(...t)},Yi=e=>e?J(e)?e.some(t=>t.length>1):e.length>1:!1;function Qc(e){const t={};for(const B in e)B in zc||(t[B]=e[B]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=o,appearActiveClass:c=i,appearToClass:u=a,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,E=Pm(s),S=E&&E[0],w=E&&E[1],{onBeforeEnter:O,onEnter:k,onEnterCancelled:b,onLeave:v,onLeaveCancelled:L,onBeforeAppear:N=O,onAppear:M=k,onAppearCancelled:$=b}=t,R=(B,Q,ye,Oe)=>{B._enterCancelled=Oe,nn(B,Q?u:a),nn(B,Q?c:i),ye&&ye()},Y=(B,Q)=>{B._isLeaving=!1,nn(B,f),nn(B,p),nn(B,d),Q&&Q()},ee=B=>(Q,ye)=>{const Oe=B?M:k,oe=()=>R(Q,B,ye);wn(Oe,[Q,oe]),zi(()=>{nn(Q,B?l:o),Rt(Q,B?u:a),Yi(Oe)||Xi(Q,r,S,oe)})};return xe(t,{onBeforeEnter(B){wn(O,[B]),Rt(B,o),Rt(B,i)},onBeforeAppear(B){wn(N,[B]),Rt(B,l),Rt(B,c)},onEnter:ee(!1),onAppear:ee(!0),onLeave(B,Q){B._isLeaving=!0;const ye=()=>Y(B,Q);Rt(B,f),B._enterCancelled?(Rt(B,d),Po()):(Po(),Rt(B,d)),zi(()=>{B._isLeaving&&(nn(B,f),Rt(B,p),Yi(v)||Xi(B,r,w,ye))}),wn(v,[B,ye])},onEnterCancelled(B){R(B,!1,void 0,!0),wn(b,[B])},onAppearCancelled(B){R(B,!0,void 0,!0),wn($,[B])},onLeaveCancelled(B){Y(B),wn(L,[B])}})}function Pm(e){if(e==null)return null;if(pe(e))return[ro(e.enter),ro(e.leave)];{const t=ro(e);return[t,t]}}function ro(e){return xf(e)}function Rt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Gn]||(e[Gn]=new Set)).add(t)}function nn(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Gn];n&&(n.delete(t),n.size||(e[Gn]=void 0))}function zi(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Rm=0;function Xi(e,t,n,r){const s=e._endId=++Rm,o=()=>{s===e._endId&&r()};if(n!=null)return setTimeout(o,n);const{type:i,timeout:a,propCount:l}=Zc(e,t);if(!i)return r();const c=i+"end";let u=0;const f=()=>{e.removeEventListener(c,d),o()},d=p=>{p.target===e&&++u>=l&&f()};setTimeout(()=>{u(n[E]||"").split(", "),s=r(`${Zt}Delay`),o=r(`${Zt}Duration`),i=Ji(s,o),a=r(`${or}Delay`),l=r(`${or}Duration`),c=Ji(a,l);let u=null,f=0,d=0;t===Zt?i>0&&(u=Zt,f=i,d=o.length):t===or?c>0&&(u=or,f=c,d=l.length):(f=Math.max(i,c),u=f>0?i>c?Zt:or:null,d=u?u===Zt?o.length:l.length:0);const p=u===Zt&&/\b(?:transform|all)(?:,|$)/.test(r(`${Zt}Property`).toString());return{type:u,timeout:f,propCount:d,hasTransform:p}}function Ji(e,t){for(;e.lengthQi(n)+Qi(e[r])))}function Qi(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Po(){return document.body.offsetHeight}function Om(e,t,n){const r=e[Gn];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Zi=Symbol("_vod"),Nm=Symbol("_vsh"),Am=Symbol(""),Im=/(?:^|;)\s*display\s*:/;function km(e,t,n){const r=e.style,s=Re(n);let o=!1;if(n&&!s){if(t)if(Re(t))for(const i of t.split(";")){const a=i.slice(0,i.indexOf(":")).trim();n[a]==null&&ts(r,a,"")}else for(const i in t)n[i]==null&&ts(r,i,"");for(const i in n)i==="display"&&(o=!0),ts(r,i,n[i])}else if(s){if(t!==n){const i=r[Am];i&&(n+=";"+i),r.cssText=n,o=Im.test(n)}}else t&&e.removeAttribute("style");Zi in e&&(e[Zi]=o?r.display:"",e[Nm]&&(r.display="none"))}const ea=/\s*!important$/;function ts(e,t,n){if(J(n))n.forEach(r=>ts(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=xm(e,t);ea.test(n)?e.setProperty(gn(r),n.replace(ea,""),"important"):e[r]=n}}const ta=["Webkit","Moz","ms"],so={};function xm(e,t){const n=so[t];if(n)return n;let r=pt(t);if(r!=="filter"&&r in e)return so[t]=r;r=ws(r);for(let s=0;soo||(Um.then(()=>oo=0),oo=Date.now());function Bm(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;vt(Hm(r,n.value),t,5,[r])};return n.value=e,n.attached=$m(),n}function Hm(e,t){if(J(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const aa=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Wm=(e,t,n,r,s,o)=>{const i=s==="svg";t==="class"?Om(e,r,i):t==="style"?km(e,n,r):vs(t)?zo(t)||Mm(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Vm(e,t,r,i))?(sa(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&ra(e,t,r,i,o,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Re(r))?sa(e,pt(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),ra(e,t,r,i))};function Vm(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&aa(t)&&ne(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return aa(t)&&Re(n)?!1:t in e}const eu=new WeakMap,tu=new WeakMap,gs=Symbol("_moveCb"),la=Symbol("_enterCb"),jm=e=>(delete e.props.mode,e),Km=jm({name:"TransitionGroup",props:xe({},Xc,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=zt(),r=uc();let s,o;return yc(()=>{if(!s.length)return;const i=e.moveClass||`${e.name||"v"}-move`;if(!Xm(s[0].el,n.vnode.el,i)){s=[];return}s.forEach(qm),s.forEach(Ym);const a=s.filter(zm);Po(),a.forEach(l=>{const c=l.el,u=c.style;Rt(c,i),u.transform=u.webkitTransform=u.transitionDuration="";const f=c[gs]=d=>{d&&d.target!==c||(!d||d.propertyName.endsWith("transform"))&&(c.removeEventListener("transitionend",f),c[gs]=null,nn(c,i))};c.addEventListener("transitionend",f)}),s=[]}),()=>{const i=ce(e),a=Qc(i);let l=i.tag||Me;if(s=[],o)for(let c=0;c{a.split(/\s+/).forEach(l=>l&&r.classList.remove(l))}),n.split(/\s+/).forEach(a=>a&&r.classList.add(a)),r.style.display="none";const o=t.nodeType===1?t:t.parentNode;o.appendChild(r);const{hasTransform:i}=Zc(r);return o.removeChild(r),i}const qn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return J(t)?n=>Zr(t,n):t};function Jm(e){e.target.composing=!0}function ca(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Gt=Symbol("_assign"),Qb={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[Gt]=qn(s);const o=r||s.props&&s.props.type==="number";ln(e,t?"change":"input",i=>{if(i.target.composing)return;let a=e.value;n&&(a=a.trim()),o&&(a=is(a)),e[Gt](a)}),n&&ln(e,"change",()=>{e.value=e.value.trim()}),t||(ln(e,"compositionstart",Jm),ln(e,"compositionend",ca),ln(e,"change",ca))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:o}},i){if(e[Gt]=qn(i),e.composing)return;const a=(o||e.type==="number")&&!/^0\d/.test(e.value)?is(e.value):e.value,l=t??"";a!==l&&(document.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===l)||(e.value=l))}},Zb={deep:!0,created(e,t,n){e[Gt]=qn(n),ln(e,"change",()=>{const r=e._modelValue,s=Rr(e),o=e.checked,i=e[Gt];if(J(r)){const a=Qo(r,s),l=a!==-1;if(o&&!l)i(r.concat(s));else if(!o&&l){const c=[...r];c.splice(a,1),i(c)}}else if(Qn(r)){const a=new Set(r);o?a.add(s):a.delete(s),i(a)}else i(nu(e,o))})},mounted:ua,beforeUpdate(e,t,n){e[Gt]=qn(n),ua(e,t,n)}};function ua(e,{value:t,oldValue:n},r){e._modelValue=t;let s;if(J(t))s=Qo(t,r.props.value)>-1;else if(Qn(t))s=t.has(r.props.value);else{if(t===n)return;s=Mr(t,nu(e,!0))}e.checked!==s&&(e.checked=s)}const eE={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const s=Qn(t);ln(e,"change",()=>{const o=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>n?is(Rr(i)):Rr(i));e[Gt](e.multiple?s?new Set(o):o:o[0]),e._assigning=!0,Rs(()=>{e._assigning=!1})}),e[Gt]=qn(r)},mounted(e,{value:t}){fa(e,t)},beforeUpdate(e,t,n){e[Gt]=qn(n)},updated(e,{value:t}){e._assigning||fa(e,t)}};function fa(e,t){const n=e.multiple,r=J(t);if(!(n&&!r&&!Qn(t))){for(let s=0,o=e.options.length;sString(c)===String(a)):i.selected=Qo(t,a)>-1}else i.selected=t.has(a);else if(Mr(Rr(i),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Rr(e){return"_value"in e?e._value:e.value}function nu(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Qm=["ctrl","shift","alt","meta"],Zm={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Qm.some(n=>e[`${n}Key`]&&!t.includes(n))},tE=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=((s,...o)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=(s=>{if(!("key"in s))return;const o=gn(s.key);if(t.some(i=>i===o||eh[i]===o))return e(s)}))},th=xe({patchProp:Wm},Cm);let da;function nh(){return da||(da=qd(th))}const rh=((...e)=>{const t=nh().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=oh(r);if(!s)return;const o=t._component;!ne(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const i=n(s,!1,sh(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t});function sh(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function oh(e){return Re(e)?document.querySelector(e):e}/*! - * pinia v3.0.3 - * (c) 2025 Eduardo San Martin Morote - * @license MIT - */let ru;const ks=e=>ru=e,su=Symbol();function Ro(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var gr;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(gr||(gr={}));function ih(){const e=Zo(!0),t=e.run(()=>st({}));let n=[],r=[];const s=ai({install(o){ks(s),s._a=o,o.provide(su,s),o.config.globalProperties.$pinia=s,r.forEach(i=>n.push(i)),r=[]},use(o){return this._a?n.push(o):r.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const ou=()=>{};function ma(e,t,n,r=ou){e.push(t);const s=()=>{const o=e.indexOf(t);o>-1&&(e.splice(o,1),r())};return!n&&Ul()&&Wf(s),s}function Dn(e,...t){e.slice().forEach(n=>{n(...t)})}const ah=e=>e(),ha=Symbol(),io=Symbol();function Oo(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],s=e[n];Ro(s)&&Ro(r)&&e.hasOwnProperty(n)&&!we(r)&&!Kt(r)?e[n]=Oo(s,r):e[n]=r}return e}const lh=Symbol();function ch(e){return!Ro(e)||!Object.prototype.hasOwnProperty.call(e,lh)}const{assign:rn}=Object;function uh(e){return!!(we(e)&&e.effect)}function fh(e,t,n,r){const{state:s,actions:o,getters:i}=t,a=n.state.value[e];let l;function c(){a||(n.state.value[e]=s?s():{});const u=ud(n.state.value[e]);return rn(u,o,Object.keys(i||{}).reduce((f,d)=>(f[d]=ai(_e(()=>{ks(n);const p=n._s.get(e);return i[d].call(p,p)})),f),{}))}return l=iu(e,c,t,n,r,!0),l}function iu(e,t,n={},r,s,o){let i;const a=rn({actions:{}},n),l={deep:!0};let c,u,f=[],d=[],p;const E=r.state.value[e];!o&&!E&&(r.state.value[e]={}),st({});let S;function w($){let R;c=u=!1,typeof $=="function"?($(r.state.value[e]),R={type:gr.patchFunction,storeId:e,events:p}):(Oo(r.state.value[e],$),R={type:gr.patchObject,payload:$,storeId:e,events:p});const Y=S=Symbol();Rs().then(()=>{S===Y&&(c=!0)}),u=!0,Dn(f,R,r.state.value[e])}const O=o?function(){const{state:R}=n,Y=R?R():{};this.$patch(ee=>{rn(ee,Y)})}:ou;function k(){i.stop(),f=[],d=[],r._s.delete(e)}const b=($,R="")=>{if(ha in $)return $[io]=R,$;const Y=function(){ks(r);const ee=Array.from(arguments),B=[],Q=[];function ye(te){B.push(te)}function Oe(te){Q.push(te)}Dn(d,{args:ee,name:Y[io],store:L,after:ye,onError:Oe});let oe;try{oe=$.apply(this&&this.$id===e?this:L,ee)}catch(te){throw Dn(Q,te),te}return oe instanceof Promise?oe.then(te=>(Dn(B,te),te)).catch(te=>(Dn(Q,te),Promise.reject(te))):(Dn(B,oe),oe)};return Y[ha]=!0,Y[io]=R,Y},v={_p:r,$id:e,$onAction:ma.bind(null,d),$patch:w,$reset:O,$subscribe($,R={}){const Y=ma(f,$,R.detached,()=>ee()),ee=i.run(()=>un(()=>r.state.value[e],B=>{(R.flush==="sync"?u:c)&&$({storeId:e,type:gr.direct,events:p},B)},rn({},l,R)));return Y},$dispose:k},L=Dr(v);r._s.set(e,L);const M=(r._a&&r._a.runWithContext||ah)(()=>r._e.run(()=>(i=Zo()).run(()=>t({action:b}))));for(const $ in M){const R=M[$];if(we(R)&&!uh(R)||Kt(R))o||(E&&ch(R)&&(we(R)?R.value=E[$]:Oo(R,E[$])),r.state.value[e][$]=R);else if(typeof R=="function"){const Y=b(R,$);M[$]=Y,a.actions[$]=R}}return rn(L,M),rn(ce(L),M),Object.defineProperty(L,"$state",{get:()=>r.state.value[e],set:$=>{w(R=>{rn(R,$)})}}),r._p.forEach($=>{rn(L,i.run(()=>$({store:L,app:r._a,pinia:r,options:a})))}),E&&o&&n.hydrate&&n.hydrate(L.$state,E),c=!0,u=!0,L}/*! #__NO_SIDE_EFFECTS__ */function dh(e,t,n){let r;const s=typeof t=="function";r=s?n:t;function o(i,a){const l=Bd();return i=i||(l?Xe(su,null):null),i&&ks(i),i=ru,i._s.has(e)||(s?iu(e,t,r,i):fh(e,r,i)),i._s.get(e)}return o.$id=e,o}function mh(e){const t=ce(e),n={};for(const r in t){const s=t[r];s.effect?n[r]=_e({get:()=>e[r],set(o){e[r]=o}}):(we(s)||Kt(s))&&(n[r]=md(e,r))}return n}/*! - * vue-router v4.5.1 - * (c) 2025 Eduardo San Martin Morote - * @license MIT - */const $n=typeof document<"u";function au(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function hh(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&au(e.default)}const de=Object.assign;function ao(e,t){const n={};for(const r in t){const s=t[r];n[r]=St(s)?s.map(e):e(s)}return n}const _r=()=>{},St=Array.isArray,lu=/#/g,ph=/&/g,gh=/\//g,_h=/=/g,yh=/\?/g,cu=/\+/g,bh=/%5B/g,Eh=/%5D/g,uu=/%5E/g,vh=/%60/g,fu=/%7B/g,Sh=/%7C/g,du=/%7D/g,wh=/%20/g;function hi(e){return encodeURI(""+e).replace(Sh,"|").replace(bh,"[").replace(Eh,"]")}function Th(e){return hi(e).replace(fu,"{").replace(du,"}").replace(uu,"^")}function No(e){return hi(e).replace(cu,"%2B").replace(wh,"+").replace(lu,"%23").replace(ph,"%26").replace(vh,"`").replace(fu,"{").replace(du,"}").replace(uu,"^")}function Ch(e){return No(e).replace(_h,"%3D")}function Lh(e){return hi(e).replace(lu,"%23").replace(yh,"%3F")}function Ph(e){return e==null?"":Lh(e).replace(gh,"%2F")}function Or(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const Rh=/\/$/,Oh=e=>e.replace(Rh,"");function lo(e,t,n="/"){let r,s={},o="",i="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(r=t.slice(0,l),o=t.slice(l+1,a>-1?a:t.length),s=e(o)),a>-1&&(r=r||t.slice(0,a),i=t.slice(a,t.length)),r=kh(r??t,n),{fullPath:r+(o&&"?")+o+i,path:r,query:s,hash:Or(i)}}function Nh(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function pa(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Ah(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&Yn(t.matched[r],n.matched[s])&&mu(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Yn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function mu(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Ih(e[n],t[n]))return!1;return!0}function Ih(e,t){return St(e)?ga(e,t):St(t)?ga(t,e):e===t}function ga(e,t){return St(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function kh(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,a;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(i).join("/")}const en={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var Nr;(function(e){e.pop="pop",e.push="push"})(Nr||(Nr={}));var yr;(function(e){e.back="back",e.forward="forward",e.unknown=""})(yr||(yr={}));function xh(e){if(!e)if($n){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Oh(e)}const Fh=/^[^#]+#/;function Mh(e,t){return e.replace(Fh,"#")+t}function Dh(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const xs=()=>({left:window.scrollX,top:window.scrollY});function Uh(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=Dh(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function _a(e,t){return(history.state?history.state.position-t:-1)+e}const Ao=new Map;function $h(e,t){Ao.set(e,t)}function Bh(e){const t=Ao.get(e);return Ao.delete(e),t}let Hh=()=>location.protocol+"//"+location.host;function hu(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let a=s.includes(e.slice(o))?e.slice(o).length:1,l=s.slice(a);return l[0]!=="/"&&(l="/"+l),pa(l,"")}return pa(n,e)+r+s}function Wh(e,t,n,r){let s=[],o=[],i=null;const a=({state:d})=>{const p=hu(e,location),E=n.value,S=t.value;let w=0;if(d){if(n.value=p,t.value=d,i&&i===E){i=null;return}w=S?d.position-S.position:0}else r(p);s.forEach(O=>{O(n.value,E,{delta:w,type:Nr.pop,direction:w?w>0?yr.forward:yr.back:yr.unknown})})};function l(){i=n.value}function c(d){s.push(d);const p=()=>{const E=s.indexOf(d);E>-1&&s.splice(E,1)};return o.push(p),p}function u(){const{history:d}=window;d.state&&d.replaceState(de({},d.state,{scroll:xs()}),"")}function f(){for(const d of o)d();o=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:l,listen:c,destroy:f}}function ya(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?xs():null}}function Vh(e){const{history:t,location:n}=window,r={value:hu(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,c,u){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+l:Hh()+e+l;try{t[u?"replaceState":"pushState"](c,"",d),s.value=c}catch(p){console.error(p),n[u?"replace":"assign"](d)}}function i(l,c){const u=de({},t.state,ya(s.value.back,l,s.value.forward,!0),c,{position:s.value.position});o(l,u,!0),r.value=l}function a(l,c){const u=de({},s.value,t.state,{forward:l,scroll:xs()});o(u.current,u,!0);const f=de({},ya(r.value,l,null),{position:u.position+1},c);o(l,f,!1),r.value=l}return{location:r,state:s,push:a,replace:i}}function jh(e){e=xh(e);const t=Vh(e),n=Wh(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=de({location:"",base:e,go:r,createHref:Mh.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function Kh(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),jh(e)}function Gh(e){return typeof e=="string"||e&&typeof e=="object"}function pu(e){return typeof e=="string"||typeof e=="symbol"}const gu=Symbol("");var ba;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(ba||(ba={}));function zn(e,t){return de(new Error,{type:e,[gu]:!0},t)}function Mt(e,t){return e instanceof Error&&gu in e&&(t==null||!!(e.type&t))}const Ea="[^/]+?",qh={sensitive:!1,strict:!1,start:!0,end:!0},Yh=/[.+*?^${}()[\]/\\]/g;function zh(e,t){const n=de({},qh,t),r=[];let s=n.start?"^":"";const o=[];for(const c of e){const u=c.length?[]:[90];n.strict&&!c.length&&(s+="/");for(let f=0;ft.length?t.length===1&&t[0]===80?1:-1:0}function _u(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const Jh={type:0,value:""},Qh=/[a-zA-Z0-9_]/;function Zh(e){if(!e)return[[]];if(e==="/")return[[Jh]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${c}": ${p}`)}let n=0,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let a=0,l,c="",u="";function f(){c&&(n===0?o.push({type:0,value:c}):n===1||n===2||n===3?(o.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:c,regexp:u,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function d(){c+=l}for(;a{i(b)}:_r}function i(f){if(pu(f)){const d=r.get(f);d&&(r.delete(f),n.splice(n.indexOf(d),1),d.children.forEach(i),d.alias.forEach(i))}else{const d=n.indexOf(f);d>-1&&(n.splice(d,1),f.record.name&&r.delete(f.record.name),f.children.forEach(i),f.alias.forEach(i))}}function a(){return n}function l(f){const d=sp(f,n);n.splice(d,0,f),f.record.name&&!Ta(f)&&r.set(f.record.name,f)}function c(f,d){let p,E={},S,w;if("name"in f&&f.name){if(p=r.get(f.name),!p)throw zn(1,{location:f});w=p.record.name,E=de(Sa(d.params,p.keys.filter(b=>!b.optional).concat(p.parent?p.parent.keys.filter(b=>b.optional):[]).map(b=>b.name)),f.params&&Sa(f.params,p.keys.map(b=>b.name))),S=p.stringify(E)}else if(f.path!=null)S=f.path,p=n.find(b=>b.re.test(S)),p&&(E=p.parse(S),w=p.record.name);else{if(p=d.name?r.get(d.name):n.find(b=>b.re.test(d.path)),!p)throw zn(1,{location:f,currentLocation:d});w=p.record.name,E=de({},d.params,f.params),S=p.stringify(E)}const O=[];let k=p;for(;k;)O.unshift(k.record),k=k.parent;return{name:w,path:S,params:E,matched:O,meta:rp(O)}}e.forEach(f=>o(f));function u(){n.length=0,r.clear()}return{addRoute:o,resolve:c,removeRoute:i,clearRoutes:u,getRoutes:a,getRecordMatcher:s}}function Sa(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function wa(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:np(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function np(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Ta(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function rp(e){return e.reduce((t,n)=>de(t,n.meta),{})}function Ca(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function sp(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;_u(e,t[o])<0?r=o:n=o+1}const s=op(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function op(e){let t=e;for(;t=t.parent;)if(yu(t)&&_u(e,t)===0)return t}function yu({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function ip(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;so&&No(o)):[r&&No(r)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function ap(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=St(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const lp=Symbol(""),Pa=Symbol(""),Fs=Symbol(""),pi=Symbol(""),Io=Symbol("");function ir(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function an(e,t,n,r,s,o=i=>i()){const i=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((a,l)=>{const c=d=>{d===!1?l(zn(4,{from:n,to:t})):d instanceof Error?l(d):Gh(d)?l(zn(2,{from:t,to:d})):(i&&r.enterCallbacks[s]===i&&typeof d=="function"&&i.push(d),a())},u=o(()=>e.call(r&&r.instances[s],t,n,c));let f=Promise.resolve(u);e.length<3&&(f=f.then(c)),f.catch(d=>l(d))})}function co(e,t,n,r,s=o=>o()){const o=[];for(const i of e)for(const a in i.components){let l=i.components[a];if(!(t!=="beforeRouteEnter"&&!i.instances[a]))if(au(l)){const u=(l.__vccOpts||l)[t];u&&o.push(an(u,n,r,i,a,s))}else{let c=l();o.push(()=>c.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${a}" at "${i.path}"`);const f=hh(u)?u.default:u;i.mods[a]=u,i.components[a]=f;const p=(f.__vccOpts||f)[t];return p&&an(p,n,r,i,a,s)()}))}}return o}function Ra(e){const t=Xe(Fs),n=Xe(pi),r=_e(()=>{const l=ve(e.to);return t.resolve(l)}),s=_e(()=>{const{matched:l}=r.value,{length:c}=l,u=l[c-1],f=n.matched;if(!u||!f.length)return-1;const d=f.findIndex(Yn.bind(null,u));if(d>-1)return d;const p=Oa(l[c-2]);return c>1&&Oa(u)===p&&f[f.length-1].path!==p?f.findIndex(Yn.bind(null,l[c-2])):d}),o=_e(()=>s.value>-1&&mp(n.params,r.value.params)),i=_e(()=>s.value>-1&&s.value===n.matched.length-1&&mu(n.params,r.value.params));function a(l={}){if(dp(l)){const c=t[ve(e.replace)?"replace":"push"](ve(e.to)).catch(_r);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>c),c}return Promise.resolve()}return{route:r,href:_e(()=>r.value.href),isActive:o,isExactActive:i,navigate:a}}function cp(e){return e.length===1?e[0]:e}const up=Xt({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:Ra,setup(e,{slots:t}){const n=Dr(Ra(e)),{options:r}=Xe(Fs),s=_e(()=>({[Na(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Na(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&cp(t.default(n));return e.custom?o:hn("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),fp=up;function dp(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function mp(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!St(s)||s.length!==r.length||r.some((o,i)=>o!==s[i]))return!1}return!0}function Oa(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Na=(e,t,n)=>e??t??n,hp=Xt({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Xe(Io),s=_e(()=>e.route||r.value),o=Xe(Pa,0),i=_e(()=>{let c=ve(o);const{matched:u}=s.value;let f;for(;(f=u[c])&&!f.components;)c++;return c}),a=_e(()=>s.value.matched[i.value]);In(Pa,_e(()=>i.value+1)),In(lp,a),In(Io,s);const l=st();return un(()=>[l.value,a.value,e.name],([c,u,f],[d,p,E])=>{u&&(u.instances[f]=c,p&&p!==u&&c&&c===d&&(u.leaveGuards.size||(u.leaveGuards=p.leaveGuards),u.updateGuards.size||(u.updateGuards=p.updateGuards))),c&&u&&(!p||!Yn(u,p)||!d)&&(u.enterCallbacks[f]||[]).forEach(S=>S(c))},{flush:"post"}),()=>{const c=s.value,u=e.name,f=a.value,d=f&&f.components[u];if(!d)return Aa(n.default,{Component:d,route:c});const p=f.props[u],E=p?p===!0?c.params:typeof p=="function"?p(c):p:null,w=hn(d,de({},E,t,{onVnodeUnmounted:O=>{O.component.isUnmounted&&(f.instances[u]=null)},ref:l}));return Aa(n.default,{Component:w,route:c})||w}}});function Aa(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const bu=hp;function pp(e){const t=tp(e.routes,e),n=e.parseQuery||ip,r=e.stringifyQuery||La,s=e.history,o=ir(),i=ir(),a=ir(),l=li(en);let c=en;$n&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=ao.bind(null,D=>""+D),f=ao.bind(null,Ph),d=ao.bind(null,Or);function p(D,q){let j,z;return pu(D)?(j=t.getRecordMatcher(D),z=q):z=D,t.addRoute(z,j)}function E(D){const q=t.getRecordMatcher(D);q&&t.removeRoute(q)}function S(){return t.getRoutes().map(D=>D.record)}function w(D){return!!t.getRecordMatcher(D)}function O(D,q){if(q=de({},q||l.value),typeof D=="string"){const _=lo(n,D,q.path),P=t.resolve({path:_.path},q),U=s.createHref(_.fullPath);return de(_,P,{params:d(P.params),hash:Or(_.hash),redirectedFrom:void 0,href:U})}let j;if(D.path!=null)j=de({},D,{path:lo(n,D.path,q.path).path});else{const _=de({},D.params);for(const P in _)_[P]==null&&delete _[P];j=de({},D,{params:f(_)}),q.params=f(q.params)}const z=t.resolve(j,q),ue=D.hash||"";z.params=u(d(z.params));const g=Nh(r,de({},D,{hash:Th(ue),path:z.path})),y=s.createHref(g);return de({fullPath:g,hash:ue,query:r===La?ap(D.query):D.query||{}},z,{redirectedFrom:void 0,href:y})}function k(D){return typeof D=="string"?lo(n,D,l.value.path):de({},D)}function b(D,q){if(c!==D)return zn(8,{from:q,to:D})}function v(D){return M(D)}function L(D){return v(de(k(D),{replace:!0}))}function N(D){const q=D.matched[D.matched.length-1];if(q&&q.redirect){const{redirect:j}=q;let z=typeof j=="function"?j(D):j;return typeof z=="string"&&(z=z.includes("?")||z.includes("#")?z=k(z):{path:z},z.params={}),de({query:D.query,hash:D.hash,params:z.path!=null?{}:D.params},z)}}function M(D,q){const j=c=O(D),z=l.value,ue=D.state,g=D.force,y=D.replace===!0,_=N(j);if(_)return M(de(k(_),{state:typeof _=="object"?de({},ue,_.state):ue,force:g,replace:y}),q||j);const P=j;P.redirectedFrom=q;let U;return!g&&Ah(r,z,j)&&(U=zn(16,{to:P,from:z}),Ce(z,z,!0,!1)),(U?Promise.resolve(U):Y(P,z)).catch(F=>Mt(F)?Mt(F,2)?F:nt(F):ae(F,P,z)).then(F=>{if(F){if(Mt(F,2))return M(de({replace:y},k(F.to),{state:typeof F.to=="object"?de({},ue,F.to.state):ue,force:g}),q||P)}else F=B(P,z,!0,y,ue);return ee(P,z,F),F})}function $(D,q){const j=b(D,q);return j?Promise.reject(j):Promise.resolve()}function R(D){const q=at.values().next().value;return q&&typeof q.runWithContext=="function"?q.runWithContext(D):D()}function Y(D,q){let j;const[z,ue,g]=gp(D,q);j=co(z.reverse(),"beforeRouteLeave",D,q);for(const _ of z)_.leaveGuards.forEach(P=>{j.push(an(P,D,q))});const y=$.bind(null,D,q);return j.push(y),Fe(j).then(()=>{j=[];for(const _ of o.list())j.push(an(_,D,q));return j.push(y),Fe(j)}).then(()=>{j=co(ue,"beforeRouteUpdate",D,q);for(const _ of ue)_.updateGuards.forEach(P=>{j.push(an(P,D,q))});return j.push(y),Fe(j)}).then(()=>{j=[];for(const _ of g)if(_.beforeEnter)if(St(_.beforeEnter))for(const P of _.beforeEnter)j.push(an(P,D,q));else j.push(an(_.beforeEnter,D,q));return j.push(y),Fe(j)}).then(()=>(D.matched.forEach(_=>_.enterCallbacks={}),j=co(g,"beforeRouteEnter",D,q,R),j.push(y),Fe(j))).then(()=>{j=[];for(const _ of i.list())j.push(an(_,D,q));return j.push(y),Fe(j)}).catch(_=>Mt(_,8)?_:Promise.reject(_))}function ee(D,q,j){a.list().forEach(z=>R(()=>z(D,q,j)))}function B(D,q,j,z,ue){const g=b(D,q);if(g)return g;const y=q===en,_=$n?history.state:{};j&&(z||y?s.replace(D.fullPath,de({scroll:y&&_&&_.scroll},ue)):s.push(D.fullPath,ue)),l.value=D,Ce(D,q,j,y),nt()}let Q;function ye(){Q||(Q=s.listen((D,q,j)=>{if(!Tt.listening)return;const z=O(D),ue=N(z);if(ue){M(de(ue,{replace:!0,force:!0}),z).catch(_r);return}c=z;const g=l.value;$n&&$h(_a(g.fullPath,j.delta),xs()),Y(z,g).catch(y=>Mt(y,12)?y:Mt(y,2)?(M(de(k(y.to),{force:!0}),z).then(_=>{Mt(_,20)&&!j.delta&&j.type===Nr.pop&&s.go(-1,!1)}).catch(_r),Promise.reject()):(j.delta&&s.go(-j.delta,!1),ae(y,z,g))).then(y=>{y=y||B(z,g,!1),y&&(j.delta&&!Mt(y,8)?s.go(-j.delta,!1):j.type===Nr.pop&&Mt(y,20)&&s.go(-1,!1)),ee(z,g,y)}).catch(_r)}))}let Oe=ir(),oe=ir(),te;function ae(D,q,j){nt(D);const z=oe.list();return z.length?z.forEach(ue=>ue(D,q,j)):console.error(D),Promise.reject(D)}function Je(){return te&&l.value!==en?Promise.resolve():new Promise((D,q)=>{Oe.add([D,q])})}function nt(D){return te||(te=!D,ye(),Oe.list().forEach(([q,j])=>D?j(D):q()),Oe.reset()),D}function Ce(D,q,j,z){const{scrollBehavior:ue}=e;if(!$n||!ue)return Promise.resolve();const g=!j&&Bh(_a(D.fullPath,0))||(z||!j)&&history.state&&history.state.scroll||null;return Rs().then(()=>ue(D,q,g)).then(y=>y&&Uh(y)).catch(y=>ae(y,D,q))}const Le=D=>s.go(D);let ft;const at=new Set,Tt={currentRoute:l,listening:!0,addRoute:p,removeRoute:E,clearRoutes:t.clearRoutes,hasRoute:w,getRoutes:S,resolve:O,options:e,push:v,replace:L,go:Le,back:()=>Le(-1),forward:()=>Le(1),beforeEach:o.add,beforeResolve:i.add,afterEach:a.add,onError:oe.add,isReady:Je,install(D){const q=this;D.component("RouterLink",fp),D.component("RouterView",bu),D.config.globalProperties.$router=q,Object.defineProperty(D.config.globalProperties,"$route",{enumerable:!0,get:()=>ve(l)}),$n&&!ft&&l.value===en&&(ft=!0,v(s.location).catch(ue=>{}));const j={};for(const ue in en)Object.defineProperty(j,ue,{get:()=>l.value[ue],enumerable:!0});D.provide(Fs,q),D.provide(pi,Zl(j)),D.provide(Io,l);const z=D.unmount;at.add(D),D.unmount=function(){at.delete(D),at.size<1&&(c=en,Q&&Q(),Q=null,l.value=en,ft=!1,te=!1),z()}}};function Fe(D){return D.reduce((q,j)=>q.then(()=>R(j)),Promise.resolve())}return Tt}function gp(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;iYn(c,a))?r.push(a):n.push(a));const l=e.matched[i];l&&(t.matched.find(c=>Yn(c,l))||s.push(l))}return[n,r,s]}function _p(){return Xe(Fs)}function yp(e){return Xe(pi)}/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ia=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),bp=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,r)=>r?r.toUpperCase():n.toLowerCase()),Ep=e=>{const t=bp(e);return t.charAt(0).toUpperCase()+t.slice(1)},vp=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim();/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */var Xr={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Sp=({size:e,strokeWidth:t=2,absoluteStrokeWidth:n,color:r,iconNode:s,name:o,class:i,...a},{slots:l})=>hn("svg",{...Xr,width:e||Xr.width,height:e||Xr.height,stroke:r||Xr.stroke,"stroke-width":n?Number(t)*24/Number(e):t,class:vp("lucide",...o?[`lucide-${Ia(Ep(o))}-icon`,`lucide-${Ia(o)}`]:["lucide-icon"]),...a},[...s.map(c=>hn(...c)),...l.default?[l.default()]:[]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Qt=(e,t)=>(n,{slots:r})=>hn(Sp,{...n,iconNode:t,name:e},r);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const wp=Qt("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Tp=Qt("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Cp=Qt("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Lp=Qt("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Pp=Qt("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Rp=Qt("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Op=Qt("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Np=Qt("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ap=Qt("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),Ip=Xt({__name:"ThemeToggle",setup(e){const t=Xe("isDarkMode"),n=Xe("toggleTheme"),r=()=>{n()};return(s,o)=>(Ve(),jt("button",{onClick:r,class:At(["p-2 rounded-full transition-all duration-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 transform hover:rotate-180",ve(t)?"bg-gray-800 text-yellow-300":"bg-white text-gray-800"])},[ve(t)?(Ve(),dn(ve(Rp),{key:1,class:"w-6 h-6"})):(Ve(),dn(ve(Op),{key:0,class:"w-6 h-6"}))],2))}});/*! - * shared v9.14.5 - * (c) 2025 kazuya kawaguchi - * Released under the MIT License. - */function kp(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const _s=typeof window<"u",_n=(e,t=!1)=>t?Symbol.for(e):Symbol(e),xp=(e,t,n)=>Fp({l:e,k:t,s:n}),Fp=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Ne=e=>typeof e=="number"&&isFinite(e),Mp=e=>vu(e)==="[object Date]",pn=e=>vu(e)==="[object RegExp]",Ms=e=>re(e)&&Object.keys(e).length===0,je=Object.assign,Dp=Object.create,he=(e=null)=>Dp(e);let ka;const Vt=()=>ka||(ka=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:he());function xa(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Fa(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Up(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(r,s,o)=>`${s}="${Fa(o)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(r,s,o)=>`${s}='${Fa(o)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(r=>{e=e.replace(r,"$1javascript:")}),e}const $p=Object.prototype.hasOwnProperty;function _t(e,t){return $p.call(e,t)}const Se=Array.isArray,Ee=e=>typeof e=="function",G=e=>typeof e=="string",ie=e=>typeof e=="boolean",fe=e=>e!==null&&typeof e=="object",Bp=e=>fe(e)&&Ee(e.then)&&Ee(e.catch),Eu=Object.prototype.toString,vu=e=>Eu.call(e),re=e=>{if(!fe(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},Hp=e=>e==null?"":Se(e)||re(e)&&e.toString===Eu?JSON.stringify(e,null,2):String(e);function Wp(e,t=""){return e.reduce((n,r,s)=>s===0?n+r:n+t+r,"")}function Ds(e){let t=e;return()=>++t}const Jr=e=>!fe(e)||Se(e);function ns(e,t){if(Jr(e)||Jr(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:r,des:s}=n.pop();Object.keys(r).forEach(o=>{o!=="__proto__"&&(fe(r[o])&&!fe(s[o])&&(s[o]=Array.isArray(r[o])?[]:he()),Jr(s[o])||Jr(r[o])?s[o]=r[o]:n.push({src:r[o],des:s[o]}))})}}/*! - * message-compiler v9.14.5 - * (c) 2025 kazuya kawaguchi - * Released under the MIT License. - */function Vp(e,t,n){return{line:e,column:t,offset:n}}function ys(e,t,n){return{start:e,end:t}}const jp=/\{([0-9a-zA-Z]+)\}/g;function Su(e,...t){return t.length===1&&Kp(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(jp,(n,r)=>t.hasOwnProperty(r)?t[r]:"")}const wu=Object.assign,Ma=e=>typeof e=="string",Kp=e=>e!==null&&typeof e=="object";function Tu(e,t=""){return e.reduce((n,r,s)=>s===0?n+r:n+t+r,"")}const gi={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Gp={[gi.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function qp(e,t,...n){const r=Su(Gp[e],...n||[]),s={message:String(r),code:e};return t&&(s.location=t),s}const Z={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},Yp={[Z.EXPECTED_TOKEN]:"Expected token: '{0}'",[Z.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Z.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Z.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Z.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Z.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Z.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Z.EMPTY_PLACEHOLDER]:"Empty placeholder",[Z.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Z.INVALID_LINKED_FORMAT]:"Invalid linked format",[Z.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Z.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Z.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Z.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Z.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Z.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function tr(e,t,n={}){const{domain:r,messages:s,args:o}=n,i=Su((s||Yp)[e]||"",...o||[]),a=new SyntaxError(String(i));return a.code=e,t&&(a.location=t),a.domain=r,a}function zp(e){throw e}const Dt=" ",Xp="\r",et=` -`,Jp="\u2028",Qp="\u2029";function Zp(e){const t=e;let n=0,r=1,s=1,o=0;const i=M=>t[M]===Xp&&t[M+1]===et,a=M=>t[M]===et,l=M=>t[M]===Qp,c=M=>t[M]===Jp,u=M=>i(M)||a(M)||l(M)||c(M),f=()=>n,d=()=>r,p=()=>s,E=()=>o,S=M=>i(M)||l(M)||c(M)?et:t[M],w=()=>S(n),O=()=>S(n+o);function k(){return o=0,u(n)&&(r++,s=0),i(n)&&n++,n++,s++,t[n]}function b(){return i(n+o)&&o++,o++,t[n+o]}function v(){n=0,r=1,s=1,o=0}function L(M=0){o=M}function N(){const M=n+o;for(;M!==n;)k();o=0}return{index:f,line:d,column:p,peekOffset:E,charAt:S,currentChar:w,currentPeek:O,next:k,peek:b,reset:v,resetPeek:L,skipToPeek:N}}const tn=void 0,eg=".",Da="'",tg="tokenizer";function ng(e,t={}){const n=t.location!==!1,r=Zp(e),s=()=>r.index(),o=()=>Vp(r.line(),r.column(),r.index()),i=o(),a=s(),l={currentType:14,offset:a,startLoc:i,endLoc:i,lastType:14,lastOffset:a,lastStartLoc:i,lastEndLoc:i,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function f(m,h,C,...I){const K=c();if(h.column+=C,h.offset+=C,u){const H=n?ys(K.startLoc,h):null,T=tr(m,H,{domain:tg,args:I});u(T)}}function d(m,h,C){m.endLoc=o(),m.currentType=h;const I={type:h};return n&&(I.loc=ys(m.startLoc,m.endLoc)),C!=null&&(I.value=C),I}const p=m=>d(m,14);function E(m,h){return m.currentChar()===h?(m.next(),h):(f(Z.EXPECTED_TOKEN,o(),0,h),"")}function S(m){let h="";for(;m.currentPeek()===Dt||m.currentPeek()===et;)h+=m.currentPeek(),m.peek();return h}function w(m){const h=S(m);return m.skipToPeek(),h}function O(m){if(m===tn)return!1;const h=m.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h===95}function k(m){if(m===tn)return!1;const h=m.charCodeAt(0);return h>=48&&h<=57}function b(m,h){const{currentType:C}=h;if(C!==2)return!1;S(m);const I=O(m.currentPeek());return m.resetPeek(),I}function v(m,h){const{currentType:C}=h;if(C!==2)return!1;S(m);const I=m.currentPeek()==="-"?m.peek():m.currentPeek(),K=k(I);return m.resetPeek(),K}function L(m,h){const{currentType:C}=h;if(C!==2)return!1;S(m);const I=m.currentPeek()===Da;return m.resetPeek(),I}function N(m,h){const{currentType:C}=h;if(C!==8)return!1;S(m);const I=m.currentPeek()===".";return m.resetPeek(),I}function M(m,h){const{currentType:C}=h;if(C!==9)return!1;S(m);const I=O(m.currentPeek());return m.resetPeek(),I}function $(m,h){const{currentType:C}=h;if(!(C===8||C===12))return!1;S(m);const I=m.currentPeek()===":";return m.resetPeek(),I}function R(m,h){const{currentType:C}=h;if(C!==10)return!1;const I=()=>{const H=m.currentPeek();return H==="{"?O(m.peek()):H==="@"||H==="%"||H==="|"||H===":"||H==="."||H===Dt||!H?!1:H===et?(m.peek(),I()):B(m,!1)},K=I();return m.resetPeek(),K}function Y(m){S(m);const h=m.currentPeek()==="|";return m.resetPeek(),h}function ee(m){const h=S(m),C=m.currentPeek()==="%"&&m.peek()==="{";return m.resetPeek(),{isModulo:C,hasSpace:h.length>0}}function B(m,h=!0){const C=(K=!1,H="",T=!1)=>{const x=m.currentPeek();return x==="{"?H==="%"?!1:K:x==="@"||!x?H==="%"?!0:K:x==="%"?(m.peek(),C(K,"%",!0)):x==="|"?H==="%"||T?!0:!(H===Dt||H===et):x===Dt?(m.peek(),C(!0,Dt,T)):x===et?(m.peek(),C(!0,et,T)):!0},I=C();return h&&m.resetPeek(),I}function Q(m,h){const C=m.currentChar();return C===tn?tn:h(C)?(m.next(),C):null}function ye(m){const h=m.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36}function Oe(m){return Q(m,ye)}function oe(m){const h=m.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36||h===45}function te(m){return Q(m,oe)}function ae(m){const h=m.charCodeAt(0);return h>=48&&h<=57}function Je(m){return Q(m,ae)}function nt(m){const h=m.charCodeAt(0);return h>=48&&h<=57||h>=65&&h<=70||h>=97&&h<=102}function Ce(m){return Q(m,nt)}function Le(m){let h="",C="";for(;h=Je(m);)C+=h;return C}function ft(m){w(m);const h=m.currentChar();return h!=="%"&&f(Z.EXPECTED_TOKEN,o(),0,h),m.next(),"%"}function at(m){let h="";for(;;){const C=m.currentChar();if(C==="{"||C==="}"||C==="@"||C==="|"||!C)break;if(C==="%")if(B(m))h+=C,m.next();else break;else if(C===Dt||C===et)if(B(m))h+=C,m.next();else{if(Y(m))break;h+=C,m.next()}else h+=C,m.next()}return h}function Tt(m){w(m);let h="",C="";for(;h=te(m);)C+=h;return m.currentChar()===tn&&f(Z.UNTERMINATED_CLOSING_BRACE,o(),0),C}function Fe(m){w(m);let h="";return m.currentChar()==="-"?(m.next(),h+=`-${Le(m)}`):h+=Le(m),m.currentChar()===tn&&f(Z.UNTERMINATED_CLOSING_BRACE,o(),0),h}function D(m){return m!==Da&&m!==et}function q(m){w(m),E(m,"'");let h="",C="";for(;h=Q(m,D);)h==="\\"?C+=j(m):C+=h;const I=m.currentChar();return I===et||I===tn?(f(Z.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,o(),0),I===et&&(m.next(),E(m,"'")),C):(E(m,"'"),C)}function j(m){const h=m.currentChar();switch(h){case"\\":case"'":return m.next(),`\\${h}`;case"u":return z(m,h,4);case"U":return z(m,h,6);default:return f(Z.UNKNOWN_ESCAPE_SEQUENCE,o(),0,h),""}}function z(m,h,C){E(m,h);let I="";for(let K=0;K{const I=m.currentChar();return I==="{"||I==="%"||I==="@"||I==="|"||I==="("||I===")"||!I||I===Dt?C:(C+=I,m.next(),h(C))};return h("")}function P(m){w(m);const h=E(m,"|");return w(m),h}function U(m,h){let C=null;switch(m.currentChar()){case"{":return h.braceNest>=1&&f(Z.NOT_ALLOW_NEST_PLACEHOLDER,o(),0),m.next(),C=d(h,2,"{"),w(m),h.braceNest++,C;case"}":return h.braceNest>0&&h.currentType===2&&f(Z.EMPTY_PLACEHOLDER,o(),0),m.next(),C=d(h,3,"}"),h.braceNest--,h.braceNest>0&&w(m),h.inLinked&&h.braceNest===0&&(h.inLinked=!1),C;case"@":return h.braceNest>0&&f(Z.UNTERMINATED_CLOSING_BRACE,o(),0),C=F(m,h)||p(h),h.braceNest=0,C;default:{let K=!0,H=!0,T=!0;if(Y(m))return h.braceNest>0&&f(Z.UNTERMINATED_CLOSING_BRACE,o(),0),C=d(h,1,P(m)),h.braceNest=0,h.inLinked=!1,C;if(h.braceNest>0&&(h.currentType===5||h.currentType===6||h.currentType===7))return f(Z.UNTERMINATED_CLOSING_BRACE,o(),0),h.braceNest=0,V(m,h);if(K=b(m,h))return C=d(h,5,Tt(m)),w(m),C;if(H=v(m,h))return C=d(h,6,Fe(m)),w(m),C;if(T=L(m,h))return C=d(h,7,q(m)),w(m),C;if(!K&&!H&&!T)return C=d(h,13,g(m)),f(Z.INVALID_TOKEN_IN_PLACEHOLDER,o(),0,C.value),w(m),C;break}}return C}function F(m,h){const{currentType:C}=h;let I=null;const K=m.currentChar();switch((C===8||C===9||C===12||C===10)&&(K===et||K===Dt)&&f(Z.INVALID_LINKED_FORMAT,o(),0),K){case"@":return m.next(),I=d(h,8,"@"),h.inLinked=!0,I;case".":return w(m),m.next(),d(h,9,".");case":":return w(m),m.next(),d(h,10,":");default:return Y(m)?(I=d(h,1,P(m)),h.braceNest=0,h.inLinked=!1,I):N(m,h)||$(m,h)?(w(m),F(m,h)):M(m,h)?(w(m),d(h,12,y(m))):R(m,h)?(w(m),K==="{"?U(m,h)||I:d(h,11,_(m))):(C===8&&f(Z.INVALID_LINKED_FORMAT,o(),0),h.braceNest=0,h.inLinked=!1,V(m,h))}}function V(m,h){let C={type:14};if(h.braceNest>0)return U(m,h)||p(h);if(h.inLinked)return F(m,h)||p(h);switch(m.currentChar()){case"{":return U(m,h)||p(h);case"}":return f(Z.UNBALANCED_CLOSING_BRACE,o(),0),m.next(),d(h,3,"}");case"@":return F(m,h)||p(h);default:{if(Y(m))return C=d(h,1,P(m)),h.braceNest=0,h.inLinked=!1,C;const{isModulo:K,hasSpace:H}=ee(m);if(K)return H?d(h,0,at(m)):d(h,4,ft(m));if(B(m))return d(h,0,at(m));break}}return C}function W(){const{currentType:m,offset:h,startLoc:C,endLoc:I}=l;return l.lastType=m,l.lastOffset=h,l.lastStartLoc=C,l.lastEndLoc=I,l.offset=s(),l.startLoc=o(),r.currentChar()===tn?d(l,14):V(r,l)}return{nextToken:W,currentOffset:s,currentPosition:o,context:c}}const rg="parser",sg=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function og(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const r=parseInt(t||n,16);return r<=55295||r>=57344?String.fromCodePoint(r):"�"}}}function ig(e={}){const t=e.location!==!1,{onError:n,onWarn:r}=e;function s(b,v,L,N,...M){const $=b.currentPosition();if($.offset+=N,$.column+=N,n){const R=t?ys(L,$):null,Y=tr(v,R,{domain:rg,args:M});n(Y)}}function o(b,v,L,N,...M){const $=b.currentPosition();if($.offset+=N,$.column+=N,r){const R=t?ys(L,$):null;r(qp(v,R,M))}}function i(b,v,L){const N={type:b};return t&&(N.start=v,N.end=v,N.loc={start:L,end:L}),N}function a(b,v,L,N){t&&(b.end=v,b.loc&&(b.loc.end=L))}function l(b,v){const L=b.context(),N=i(3,L.offset,L.startLoc);return N.value=v,a(N,b.currentOffset(),b.currentPosition()),N}function c(b,v){const L=b.context(),{lastOffset:N,lastStartLoc:M}=L,$=i(5,N,M);return $.index=parseInt(v,10),b.nextToken(),a($,b.currentOffset(),b.currentPosition()),$}function u(b,v,L){const N=b.context(),{lastOffset:M,lastStartLoc:$}=N,R=i(4,M,$);return R.key=v,L===!0&&(R.modulo=!0),b.nextToken(),a(R,b.currentOffset(),b.currentPosition()),R}function f(b,v){const L=b.context(),{lastOffset:N,lastStartLoc:M}=L,$=i(9,N,M);return $.value=v.replace(sg,og),b.nextToken(),a($,b.currentOffset(),b.currentPosition()),$}function d(b){const v=b.nextToken(),L=b.context(),{lastOffset:N,lastStartLoc:M}=L,$=i(8,N,M);return v.type!==12?(s(b,Z.UNEXPECTED_EMPTY_LINKED_MODIFIER,L.lastStartLoc,0),$.value="",a($,N,M),{nextConsumeToken:v,node:$}):(v.value==null&&s(b,Z.UNEXPECTED_LEXICAL_ANALYSIS,L.lastStartLoc,0,gt(v)),$.value=v.value||"",a($,b.currentOffset(),b.currentPosition()),{node:$})}function p(b,v){const L=b.context(),N=i(7,L.offset,L.startLoc);return N.value=v,a(N,b.currentOffset(),b.currentPosition()),N}function E(b){const v=b.context(),L=i(6,v.offset,v.startLoc);let N=b.nextToken();if(N.type===9){const M=d(b);L.modifier=M.node,N=M.nextConsumeToken||b.nextToken()}switch(N.type!==10&&s(b,Z.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,gt(N)),N=b.nextToken(),N.type===2&&(N=b.nextToken()),N.type){case 11:N.value==null&&s(b,Z.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,gt(N)),L.key=p(b,N.value||"");break;case 5:N.value==null&&s(b,Z.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,gt(N)),L.key=u(b,N.value||"");break;case 6:N.value==null&&s(b,Z.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,gt(N)),L.key=c(b,N.value||"");break;case 7:N.value==null&&s(b,Z.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,gt(N)),L.key=f(b,N.value||"");break;default:{s(b,Z.UNEXPECTED_EMPTY_LINKED_KEY,v.lastStartLoc,0);const M=b.context(),$=i(7,M.offset,M.startLoc);return $.value="",a($,M.offset,M.startLoc),L.key=$,a(L,M.offset,M.startLoc),{nextConsumeToken:N,node:L}}}return a(L,b.currentOffset(),b.currentPosition()),{node:L}}function S(b){const v=b.context(),L=v.currentType===1?b.currentOffset():v.offset,N=v.currentType===1?v.endLoc:v.startLoc,M=i(2,L,N);M.items=[];let $=null,R=null;do{const B=$||b.nextToken();switch($=null,B.type){case 0:B.value==null&&s(b,Z.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,gt(B)),M.items.push(l(b,B.value||""));break;case 6:B.value==null&&s(b,Z.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,gt(B)),M.items.push(c(b,B.value||""));break;case 4:R=!0;break;case 5:B.value==null&&s(b,Z.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,gt(B)),M.items.push(u(b,B.value||"",!!R)),R&&(o(b,gi.USE_MODULO_SYNTAX,v.lastStartLoc,0,gt(B)),R=null);break;case 7:B.value==null&&s(b,Z.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,gt(B)),M.items.push(f(b,B.value||""));break;case 8:{const Q=E(b);M.items.push(Q.node),$=Q.nextConsumeToken||null;break}}}while(v.currentType!==14&&v.currentType!==1);const Y=v.currentType===1?v.lastOffset:b.currentOffset(),ee=v.currentType===1?v.lastEndLoc:b.currentPosition();return a(M,Y,ee),M}function w(b,v,L,N){const M=b.context();let $=N.items.length===0;const R=i(1,v,L);R.cases=[],R.cases.push(N);do{const Y=S(b);$||($=Y.items.length===0),R.cases.push(Y)}while(M.currentType!==14);return $&&s(b,Z.MUST_HAVE_MESSAGES_IN_PLURAL,L,0),a(R,b.currentOffset(),b.currentPosition()),R}function O(b){const v=b.context(),{offset:L,startLoc:N}=v,M=S(b);return v.currentType===14?M:w(b,L,N,M)}function k(b){const v=ng(b,wu({},e)),L=v.context(),N=i(0,L.offset,L.startLoc);return t&&N.loc&&(N.loc.source=b),N.body=O(v),e.onCacheKey&&(N.cacheKey=e.onCacheKey(b)),L.currentType!==14&&s(v,Z.UNEXPECTED_LEXICAL_ANALYSIS,L.lastStartLoc,0,b[L.offset]||""),a(N,v.currentOffset(),v.currentPosition()),N}return{parse:k}}function gt(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function ag(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:o=>(n.helpers.add(o),o)}}function Ua(e,t){for(let n=0;n$a(n)),e}function $a(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;ni;function l(S,w){i.code+=S}function c(S,w=!0){const O=w?r:"";l(s?O+" ".repeat(S):O)}function u(S=!0){const w=++i.indentLevel;S&&c(w)}function f(S=!0){const w=--i.indentLevel;S&&c(w)}function d(){c(i.indentLevel)}return{context:a,push:l,indent:u,deindent:f,newline:d,helper:S=>`_${S}`,needIndent:()=>i.needIndent}}function mg(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),Xn(e,t.key),t.modifier?(e.push(", "),Xn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function hg(e,t){const{helper:n,needIndent:r}=e;e.push(`${n("normalize")}([`),e.indent(r());const s=t.items.length;for(let o=0;o1){e.push(`${n("plural")}([`),e.indent(r());const s=t.cases.length;for(let o=0;o{const n=Ma(t.mode)?t.mode:"normal",r=Ma(t.filename)?t.filename:"message.intl";t.sourceMap;const s=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` -`,o=t.needIndent?t.needIndent:n!=="arrow",i=e.helpers||[],a=dg(e,{filename:r,breakLineCode:s,needIndent:o});a.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),a.indent(o),i.length>0&&(a.push(`const { ${Tu(i.map(u=>`${u}: _${u}`),", ")} } = ctx`),a.newline()),a.push("return "),Xn(a,e),a.deindent(o),a.push("}"),delete e.helpers;const{code:l,map:c}=a.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function yg(e,t={}){const n=wu({},t),r=!!n.jit,s=!!n.minify,o=n.optimize==null?!0:n.optimize,a=ig(n).parse(e);return r?(o&&cg(a),s&&Bn(a),{ast:a,code:""}):(lg(a,n),_g(a,n))}/*! - * core-base v9.14.5 - * (c) 2025 kazuya kawaguchi - * Released under the MIT License. - */function bg(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Vt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Vt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Vt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function xt(e){return fe(e)&&yi(e)===0&&(_t(e,"b")||_t(e,"body"))}const Cu=["b","body"];function Eg(e){return yn(e,Cu)}const Lu=["c","cases"];function vg(e){return yn(e,Lu,[])}const Pu=["s","static"];function Sg(e){return yn(e,Pu)}const Ru=["i","items"];function wg(e){return yn(e,Ru,[])}const Ou=["t","type"];function yi(e){return yn(e,Ou)}const Nu=["v","value"];function Qr(e,t){const n=yn(e,Nu);if(n!=null)return n;throw Ar(t)}const Au=["m","modifier"];function Tg(e){return yn(e,Au)}const Iu=["k","key"];function Cg(e){const t=yn(e,Iu);if(t)return t;throw Ar(6)}function yn(e,t,n){for(let r=0;r{i===void 0?i=a:i+=a},d[1]=()=>{i!==void 0&&(t.push(i),i=void 0)},d[2]=()=>{d[0](),s++},d[3]=()=>{if(s>0)s--,r=4,d[0]();else{if(s=0,i===void 0||(i=Ng(i),i===!1))return!1;d[1]()}};function p(){const E=e[n+1];if(r===5&&E==="'"||r===6&&E==='"')return n++,a="\\"+E,d[0](),!0}for(;r!==null;)if(n++,o=e[n],!(o==="\\"&&p())){if(l=Og(o),f=bn[r],c=f[l]||f.l||8,c===8||(r=c[0],c[1]!==void 0&&(u=d[c[1]],u&&(a=o,u()===!1))))return;if(r===7)return t}}const Ba=new Map;function Ig(e,t){return fe(e)?e[t]:null}function kg(e,t){if(!fe(e))return null;let n=Ba.get(t);if(n||(n=Ag(t),n&&Ba.set(t,n)),!n)return null;const r=n.length;let s=e,o=0;for(;oe,Fg=e=>"",Mg="text",Dg=e=>e.length===0?"":Wp(e),Ug=Hp;function Ha(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function $g(e){const t=Ne(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Ne(e.named.count)||Ne(e.named.n))?Ne(e.named.count)?e.named.count:Ne(e.named.n)?e.named.n:t:t}function Bg(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Hg(e={}){const t=e.locale,n=$g(e),r=fe(e.pluralRules)&&G(t)&&Ee(e.pluralRules[t])?e.pluralRules[t]:Ha,s=fe(e.pluralRules)&&G(t)&&Ee(e.pluralRules[t])?Ha:void 0,o=O=>O[r(n,O.length,s)],i=e.list||[],a=O=>i[O],l=e.named||he();Ne(e.pluralIndex)&&Bg(n,l);const c=O=>l[O];function u(O){const k=Ee(e.messages)?e.messages(O):fe(e.messages)?e.messages[O]:!1;return k||(e.parent?e.parent.message(O):Fg)}const f=O=>e.modifiers?e.modifiers[O]:xg,d=re(e.processor)&&Ee(e.processor.normalize)?e.processor.normalize:Dg,p=re(e.processor)&&Ee(e.processor.interpolate)?e.processor.interpolate:Ug,E=re(e.processor)&&G(e.processor.type)?e.processor.type:Mg,w={list:a,named:c,plural:o,linked:(O,...k)=>{const[b,v]=k;let L="text",N="";k.length===1?fe(b)?(N=b.modifier||N,L=b.type||L):G(b)&&(N=b||N):k.length===2&&(G(b)&&(N=b||N),G(v)&&(L=v||L));const M=u(O)(w),$=L==="vnode"&&Se(M)&&N?M[0]:M;return N?f(N)($,L):$},message:u,type:E,interpolate:p,normalize:d,values:je(he(),i,l)};return w}let Ir=null;function Wg(e){Ir=e}function Vg(e,t,n){Ir&&Ir.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const jg=Kg("function:translate");function Kg(e){return t=>Ir&&Ir.emit(e,t)}const Gg=gi.__EXTEND_POINT__,Tn=Ds(Gg),qg={FALLBACK_TO_TRANSLATE:Tn(),CANNOT_FORMAT_NUMBER:Tn(),FALLBACK_TO_NUMBER_FORMAT:Tn(),CANNOT_FORMAT_DATE:Tn(),FALLBACK_TO_DATE_FORMAT:Tn(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:Tn(),__EXTEND_POINT__:Tn()},xu=Z.__EXTEND_POINT__,Cn=Ds(xu),yt={INVALID_ARGUMENT:xu,INVALID_DATE_ARGUMENT:Cn(),INVALID_ISO_DATE_ARGUMENT:Cn(),NOT_SUPPORT_NON_STRING_MESSAGE:Cn(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:Cn(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:Cn(),NOT_SUPPORT_LOCALE_TYPE:Cn(),__EXTEND_POINT__:Cn()};function It(e){return tr(e,null,void 0)}function bi(e,t){return t.locale!=null?Wa(t.locale):Wa(e.locale)}let uo;function Wa(e){if(G(e))return e;if(Ee(e)){if(e.resolvedOnce&&uo!=null)return uo;if(e.constructor.name==="Function"){const t=e();if(Bp(t))throw It(yt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return uo=t}else throw It(yt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw It(yt.NOT_SUPPORT_LOCALE_TYPE)}function Yg(e,t,n){return[...new Set([n,...Se(t)?t:fe(t)?Object.keys(t):G(t)?[t]:[n]])]}function Fu(e,t,n){const r=G(n)?n:Jn,s=e;s.__localeChainCache||(s.__localeChainCache=new Map);let o=s.__localeChainCache.get(r);if(!o){o=[];let i=[n];for(;Se(i);)i=Va(o,i,t);const a=Se(t)||!re(t)?t:t.default?t.default:null;i=G(a)?[a]:a,Se(i)&&Va(o,i,!1),s.__localeChainCache.set(r,o)}return o}function Va(e,t,n){let r=!0;for(let s=0;s`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Qg(){return{upper:(e,t)=>t==="text"&&G(e)?e.toUpperCase():t==="vnode"&&fe(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&G(e)?e.toLowerCase():t==="vnode"&&fe(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&G(e)?Ka(e):t==="vnode"&&fe(e)&&"__v_isVNode"in e?Ka(e.children):e}}let Mu;function Ga(e){Mu=e}let Du;function Zg(e){Du=e}let Uu;function e_(e){Uu=e}let $u=null;const t_=e=>{$u=e},n_=()=>$u;let Bu=null;const qa=e=>{Bu=e},r_=()=>Bu;let Ya=0;function s_(e={}){const t=Ee(e.onWarn)?e.onWarn:kp,n=G(e.version)?e.version:Jg,r=G(e.locale)||Ee(e.locale)?e.locale:Jn,s=Ee(r)?Jn:r,o=Se(e.fallbackLocale)||re(e.fallbackLocale)||G(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:s,i=re(e.messages)?e.messages:fo(s),a=re(e.datetimeFormats)?e.datetimeFormats:fo(s),l=re(e.numberFormats)?e.numberFormats:fo(s),c=je(he(),e.modifiers,Qg()),u=e.pluralRules||he(),f=Ee(e.missing)?e.missing:null,d=ie(e.missingWarn)||pn(e.missingWarn)?e.missingWarn:!0,p=ie(e.fallbackWarn)||pn(e.fallbackWarn)?e.fallbackWarn:!0,E=!!e.fallbackFormat,S=!!e.unresolving,w=Ee(e.postTranslation)?e.postTranslation:null,O=re(e.processor)?e.processor:null,k=ie(e.warnHtmlMessage)?e.warnHtmlMessage:!0,b=!!e.escapeParameter,v=Ee(e.messageCompiler)?e.messageCompiler:Mu,L=Ee(e.messageResolver)?e.messageResolver:Du||Ig,N=Ee(e.localeFallbacker)?e.localeFallbacker:Uu||Yg,M=fe(e.fallbackContext)?e.fallbackContext:void 0,$=e,R=fe($.__datetimeFormatters)?$.__datetimeFormatters:new Map,Y=fe($.__numberFormatters)?$.__numberFormatters:new Map,ee=fe($.__meta)?$.__meta:{};Ya++;const B={version:n,cid:Ya,locale:r,fallbackLocale:o,messages:i,modifiers:c,pluralRules:u,missing:f,missingWarn:d,fallbackWarn:p,fallbackFormat:E,unresolving:S,postTranslation:w,processor:O,warnHtmlMessage:k,escapeParameter:b,messageCompiler:v,messageResolver:L,localeFallbacker:N,fallbackContext:M,onWarn:t,__meta:ee};return B.datetimeFormats=a,B.numberFormats=l,B.__datetimeFormatters=R,B.__numberFormatters=Y,__INTLIFY_PROD_DEVTOOLS__&&Vg(B,n,ee),B}const fo=e=>({[e]:he()});function Ei(e,t,n,r,s){const{missing:o,onWarn:i}=e;if(o!==null){const a=o(e,n,t,s);return G(a)?a:t}else return t}function ar(e,t,n){const r=e;r.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function o_(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function i_(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let r=n+1;ra_(n,e)}function a_(e,t){const n=Eg(t);if(n==null)throw Ar(0);if(yi(n)===1){const o=vg(n);return e.plural(o.reduce((i,a)=>[...i,za(e,a)],[]))}else return za(e,n)}function za(e,t){const n=Sg(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const r=wg(t).reduce((s,o)=>[...s,ko(e,o)],[]);return e.normalize(r)}}function ko(e,t){const n=yi(t);switch(n){case 3:return Qr(t,n);case 9:return Qr(t,n);case 4:{const r=t;if(_t(r,"k")&&r.k)return e.interpolate(e.named(r.k));if(_t(r,"key")&&r.key)return e.interpolate(e.named(r.key));throw Ar(n)}case 5:{const r=t;if(_t(r,"i")&&Ne(r.i))return e.interpolate(e.list(r.i));if(_t(r,"index")&&Ne(r.index))return e.interpolate(e.list(r.index));throw Ar(n)}case 6:{const r=t,s=Tg(r),o=Cg(r);return e.linked(ko(e,o),s?ko(e,s):void 0,e.type)}case 7:return Qr(t,n);case 8:return Qr(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const Hu=e=>e;let Hn=he();function Wu(e,t={}){let n=!1;const r=t.onError||zp;return t.onError=s=>{n=!0,r(s)},{...yg(e,t),detectError:n}}const l_=(e,t)=>{if(!G(e))throw It(yt.NOT_SUPPORT_NON_STRING_MESSAGE);{ie(t.warnHtmlMessage)&&t.warnHtmlMessage;const r=(t.onCacheKey||Hu)(e),s=Hn[r];if(s)return s;const{code:o,detectError:i}=Wu(e,t),a=new Function(`return ${o}`)();return i?a:Hn[r]=a}};function c_(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&G(e)){ie(t.warnHtmlMessage)&&t.warnHtmlMessage;const r=(t.onCacheKey||Hu)(e),s=Hn[r];if(s)return s;const{ast:o,detectError:i}=Wu(e,{...t,location:!1,jit:!0}),a=mo(o);return i?a:Hn[r]=a}else{const n=e.cacheKey;if(n){const r=Hn[n];return r||(Hn[n]=mo(e))}else return mo(e)}}const Xa=()=>"",mt=e=>Ee(e);function Ja(e,...t){const{fallbackFormat:n,postTranslation:r,unresolving:s,messageCompiler:o,fallbackLocale:i,messages:a}=e,[l,c]=xo(...t),u=ie(c.missingWarn)?c.missingWarn:e.missingWarn,f=ie(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,d=ie(c.escapeParameter)?c.escapeParameter:e.escapeParameter,p=!!c.resolvedMessage,E=G(c.default)||ie(c.default)?ie(c.default)?o?l:()=>l:c.default:n?o?l:()=>l:"",S=n||E!=="",w=bi(e,c);d&&u_(c);let[O,k,b]=p?[l,w,a[w]||he()]:Vu(e,l,w,i,f,u),v=O,L=l;if(!p&&!(G(v)||xt(v)||mt(v))&&S&&(v=E,L=v),!p&&(!(G(v)||xt(v)||mt(v))||!G(k)))return s?Us:l;let N=!1;const M=()=>{N=!0},$=mt(v)?v:ju(e,l,k,v,L,M);if(N)return v;const R=m_(e,k,b,c),Y=Hg(R),ee=f_(e,$,Y);let B=r?r(ee,l):ee;if(d&&G(B)&&(B=Up(B)),__INTLIFY_PROD_DEVTOOLS__){const Q={timestamp:Date.now(),key:G(l)?l:mt(v)?v.key:"",locale:k||(mt(v)?v.locale:""),format:G(v)?v:mt(v)?v.source:"",message:B};Q.meta=je({},e.__meta,n_()||{}),jg(Q)}return B}function u_(e){Se(e.list)?e.list=e.list.map(t=>G(t)?xa(t):t):fe(e.named)&&Object.keys(e.named).forEach(t=>{G(e.named[t])&&(e.named[t]=xa(e.named[t]))})}function Vu(e,t,n,r,s,o){const{messages:i,onWarn:a,messageResolver:l,localeFallbacker:c}=e,u=c(e,r,n);let f=he(),d,p=null;const E="translate";for(let S=0;Sr);return c.locale=n,c.key=t,c}const l=i(r,d_(e,n,s,r,a,o));return l.locale=n,l.key=t,l.source=r,l}function f_(e,t,n){return t(n)}function xo(...e){const[t,n,r]=e,s=he();if(!G(t)&&!Ne(t)&&!mt(t)&&!xt(t))throw It(yt.INVALID_ARGUMENT);const o=Ne(t)?String(t):(mt(t),t);return Ne(n)?s.plural=n:G(n)?s.default=n:re(n)&&!Ms(n)?s.named=n:Se(n)&&(s.list=n),Ne(r)?s.plural=r:G(r)?s.default=r:re(r)&&je(s,r),[o,s]}function d_(e,t,n,r,s,o){return{locale:t,key:n,warnHtmlMessage:s,onError:i=>{throw o&&o(i),i},onCacheKey:i=>xp(t,n,i)}}function m_(e,t,n,r){const{modifiers:s,pluralRules:o,messageResolver:i,fallbackLocale:a,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,d={locale:t,modifiers:s,pluralRules:o,messages:p=>{let E=i(n,p);if(E==null&&u){const[,,S]=Vu(u,p,t,a,l,c);E=i(S,p)}if(G(E)||xt(E)){let S=!1;const O=ju(e,p,t,E,p,()=>{S=!0});return S?Xa:O}else return mt(E)?E:Xa}};return e.processor&&(d.processor=e.processor),r.list&&(d.list=r.list),r.named&&(d.named=r.named),Ne(r.plural)&&(d.pluralIndex=r.plural),d}function Qa(e,...t){const{datetimeFormats:n,unresolving:r,fallbackLocale:s,onWarn:o,localeFallbacker:i}=e,{__datetimeFormatters:a}=e,[l,c,u,f]=Fo(...t),d=ie(u.missingWarn)?u.missingWarn:e.missingWarn;ie(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const p=!!u.part,E=bi(e,u),S=i(e,s,E);if(!G(l)||l==="")return new Intl.DateTimeFormat(E,f).format(c);let w={},O,k=null;const b="datetime format";for(let N=0;N{Ku.includes(l)?i[l]=n[l]:o[l]=n[l]}),G(r)?o.locale=r:re(r)&&(i=r),re(s)&&(i=s),[o.key||"",a,o,i]}function Za(e,t,n){const r=e;for(const s in n){const o=`${t}__${s}`;r.__datetimeFormatters.has(o)&&r.__datetimeFormatters.delete(o)}}function el(e,...t){const{numberFormats:n,unresolving:r,fallbackLocale:s,onWarn:o,localeFallbacker:i}=e,{__numberFormatters:a}=e,[l,c,u,f]=Mo(...t),d=ie(u.missingWarn)?u.missingWarn:e.missingWarn;ie(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const p=!!u.part,E=bi(e,u),S=i(e,s,E);if(!G(l)||l==="")return new Intl.NumberFormat(E,f).format(c);let w={},O,k=null;const b="number format";for(let N=0;N{Gu.includes(l)?i[l]=n[l]:o[l]=n[l]}),G(r)?o.locale=r:re(r)&&(i=r),re(s)&&(i=s),[o.key||"",a,o,i]}function tl(e,t,n){const r=e;for(const s in n){const o=`${t}__${s}`;r.__numberFormatters.has(o)&&r.__numberFormatters.delete(o)}}bg();/*! - * vue-i18n v9.14.5 - * (c) 2025 kazuya kawaguchi - * Released under the MIT License. - */const h_="9.14.5";function p_(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Vt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Vt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Vt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Vt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Vt().__INTLIFY_PROD_DEVTOOLS__=!1)}const g_=qg.__EXTEND_POINT__,Ut=Ds(g_);Ut(),Ut(),Ut(),Ut(),Ut(),Ut(),Ut(),Ut(),Ut();const qu=yt.__EXTEND_POINT__,rt=Ds(qu),ke={UNEXPECTED_RETURN_TYPE:qu,INVALID_ARGUMENT:rt(),MUST_BE_CALL_SETUP_TOP:rt(),NOT_INSTALLED:rt(),NOT_AVAILABLE_IN_LEGACY_MODE:rt(),REQUIRED_VALUE:rt(),INVALID_VALUE:rt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:rt(),NOT_INSTALLED_WITH_PROVIDE:rt(),UNEXPECTED_ERROR:rt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:rt(),BRIDGE_SUPPORT_VUE_2_ONLY:rt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:rt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:rt(),__EXTEND_POINT__:rt()};function De(e,...t){return tr(e,null,void 0)}const Do=_n("__translateVNode"),Uo=_n("__datetimeParts"),$o=_n("__numberParts"),Yu=_n("__setPluralRules"),zu=_n("__injectWithOption"),Bo=_n("__dispose");function kr(e){if(!fe(e)||xt(e))return e;for(const t in e)if(_t(e,t))if(!t.includes("."))fe(e[t])&&kr(e[t]);else{const n=t.split("."),r=n.length-1;let s=e,o=!1;for(let i=0;i{if("locale"in a&&"resource"in a){const{locale:l,resource:c}=a;l?(i[l]=i[l]||he(),ns(c,i[l])):ns(c,i)}else G(a)&&ns(JSON.parse(a),i)}),s==null&&o)for(const a in i)_t(i,a)&&kr(i[a]);return i}function Xu(e){return e.type}function Ju(e,t,n){let r=fe(t.messages)?t.messages:he();"__i18nGlobal"in n&&(r=$s(e.locale.value,{messages:r,__i18n:n.__i18nGlobal}));const s=Object.keys(r);s.length&&s.forEach(o=>{e.mergeLocaleMessage(o,r[o])});{if(fe(t.datetimeFormats)){const o=Object.keys(t.datetimeFormats);o.length&&o.forEach(i=>{e.mergeDateTimeFormat(i,t.datetimeFormats[i])})}if(fe(t.numberFormats)){const o=Object.keys(t.numberFormats);o.length&&o.forEach(i=>{e.mergeNumberFormat(i,t.numberFormats[i])})}}}function nl(e){return Pe($r,null,e,0)}const rl="__INTLIFY_META__",sl=()=>[],__=()=>!1;let ol=0;function il(e){return((t,n,r,s)=>e(n,r,zt()||void 0,s))}const y_=()=>{const e=zt();let t=null;return e&&(t=Xu(e)[rl])?{[rl]:t}:null};function vi(e={},t){const{__root:n,__injectWithOption:r}=e,s=n===void 0,o=e.flatJson,i=_s?st:li,a=!!e.translateExistCompatible;let l=ie(e.inheritLocale)?e.inheritLocale:!0;const c=i(n&&l?n.locale.value:G(e.locale)?e.locale:Jn),u=i(n&&l?n.fallbackLocale.value:G(e.fallbackLocale)||Se(e.fallbackLocale)||re(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=i($s(c.value,e)),d=i(re(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),p=i(re(e.numberFormats)?e.numberFormats:{[c.value]:{}});let E=n?n.missingWarn:ie(e.missingWarn)||pn(e.missingWarn)?e.missingWarn:!0,S=n?n.fallbackWarn:ie(e.fallbackWarn)||pn(e.fallbackWarn)?e.fallbackWarn:!0,w=n?n.fallbackRoot:ie(e.fallbackRoot)?e.fallbackRoot:!0,O=!!e.fallbackFormat,k=Ee(e.missing)?e.missing:null,b=Ee(e.missing)?il(e.missing):null,v=Ee(e.postTranslation)?e.postTranslation:null,L=n?n.warnHtmlMessage:ie(e.warnHtmlMessage)?e.warnHtmlMessage:!0,N=!!e.escapeParameter;const M=n?n.modifiers:re(e.modifiers)?e.modifiers:{};let $=e.pluralRules||n&&n.pluralRules,R;R=(()=>{s&&qa(null);const T={version:h_,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:M,pluralRules:$,missing:b===null?void 0:b,missingWarn:E,fallbackWarn:S,fallbackFormat:O,unresolving:!0,postTranslation:v===null?void 0:v,warnHtmlMessage:L,escapeParameter:N,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};T.datetimeFormats=d.value,T.numberFormats=p.value,T.__datetimeFormatters=re(R)?R.__datetimeFormatters:void 0,T.__numberFormatters=re(R)?R.__numberFormatters:void 0;const x=s_(T);return s&&qa(x),x})(),ar(R,c.value,u.value);function ee(){return[c.value,u.value,f.value,d.value,p.value]}const B=_e({get:()=>c.value,set:T=>{c.value=T,R.locale=c.value}}),Q=_e({get:()=>u.value,set:T=>{u.value=T,R.fallbackLocale=u.value,ar(R,c.value,T)}}),ye=_e(()=>f.value),Oe=_e(()=>d.value),oe=_e(()=>p.value);function te(){return Ee(v)?v:null}function ae(T){v=T,R.postTranslation=T}function Je(){return k}function nt(T){T!==null&&(b=il(T)),k=T,R.missing=b}const Ce=(T,x,X,le,Te,Qe)=>{ee();let Ue;try{__INTLIFY_PROD_DEVTOOLS__,s||(R.fallbackContext=n?r_():void 0),Ue=T(R)}finally{__INTLIFY_PROD_DEVTOOLS__,s||(R.fallbackContext=void 0)}if(X!=="translate exists"&&Ne(Ue)&&Ue===Us||X==="translate exists"&&!Ue){const[En,qs]=x();return n&&w?le(n):Te(En)}else{if(Qe(Ue))return Ue;throw De(ke.UNEXPECTED_RETURN_TYPE)}};function Le(...T){return Ce(x=>Reflect.apply(Ja,null,[x,...T]),()=>xo(...T),"translate",x=>Reflect.apply(x.t,x,[...T]),x=>x,x=>G(x))}function ft(...T){const[x,X,le]=T;if(le&&!fe(le))throw De(ke.INVALID_ARGUMENT);return Le(x,X,je({resolvedMessage:!0},le||{}))}function at(...T){return Ce(x=>Reflect.apply(Qa,null,[x,...T]),()=>Fo(...T),"datetime format",x=>Reflect.apply(x.d,x,[...T]),()=>ja,x=>G(x))}function Tt(...T){return Ce(x=>Reflect.apply(el,null,[x,...T]),()=>Mo(...T),"number format",x=>Reflect.apply(x.n,x,[...T]),()=>ja,x=>G(x))}function Fe(T){return T.map(x=>G(x)||Ne(x)||ie(x)?nl(String(x)):x)}const q={normalize:Fe,interpolate:T=>T,type:"vnode"};function j(...T){return Ce(x=>{let X;const le=x;try{le.processor=q,X=Reflect.apply(Ja,null,[le,...T])}finally{le.processor=null}return X},()=>xo(...T),"translate",x=>x[Do](...T),x=>[nl(x)],x=>Se(x))}function z(...T){return Ce(x=>Reflect.apply(el,null,[x,...T]),()=>Mo(...T),"number format",x=>x[$o](...T),sl,x=>G(x)||Se(x))}function ue(...T){return Ce(x=>Reflect.apply(Qa,null,[x,...T]),()=>Fo(...T),"datetime format",x=>x[Uo](...T),sl,x=>G(x)||Se(x))}function g(T){$=T,R.pluralRules=$}function y(T,x){return Ce(()=>{if(!T)return!1;const X=G(x)?x:c.value,le=U(X),Te=R.messageResolver(le,T);return a?Te!=null:xt(Te)||mt(Te)||G(Te)},()=>[T],"translate exists",X=>Reflect.apply(X.te,X,[T,x]),__,X=>ie(X))}function _(T){let x=null;const X=Fu(R,u.value,c.value);for(let le=0;le{l&&(c.value=T,R.locale=T,ar(R,c.value,u.value))}),un(n.fallbackLocale,T=>{l&&(u.value=T,R.fallbackLocale=T,ar(R,c.value,u.value))}));const H={id:ol,locale:B,fallbackLocale:Q,get inheritLocale(){return l},set inheritLocale(T){l=T,T&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,ar(R,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:ye,get modifiers(){return M},get pluralRules(){return $||{}},get isGlobal(){return s},get missingWarn(){return E},set missingWarn(T){E=T,R.missingWarn=E},get fallbackWarn(){return S},set fallbackWarn(T){S=T,R.fallbackWarn=S},get fallbackRoot(){return w},set fallbackRoot(T){w=T},get fallbackFormat(){return O},set fallbackFormat(T){O=T,R.fallbackFormat=O},get warnHtmlMessage(){return L},set warnHtmlMessage(T){L=T,R.warnHtmlMessage=T},get escapeParameter(){return N},set escapeParameter(T){N=T,R.escapeParameter=T},t:Le,getLocaleMessage:U,setLocaleMessage:F,mergeLocaleMessage:V,getPostTranslationHandler:te,setPostTranslationHandler:ae,getMissingHandler:Je,setMissingHandler:nt,[Yu]:g};return H.datetimeFormats=Oe,H.numberFormats=oe,H.rt=ft,H.te=y,H.tm=P,H.d=at,H.n=Tt,H.getDateTimeFormat=W,H.setDateTimeFormat=m,H.mergeDateTimeFormat=h,H.getNumberFormat=C,H.setNumberFormat=I,H.mergeNumberFormat=K,H[zu]=r,H[Do]=j,H[Uo]=ue,H[$o]=z,H}function b_(e){const t=G(e.locale)?e.locale:Jn,n=G(e.fallbackLocale)||Se(e.fallbackLocale)||re(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,r=Ee(e.missing)?e.missing:void 0,s=ie(e.silentTranslationWarn)||pn(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,o=ie(e.silentFallbackWarn)||pn(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,i=ie(e.fallbackRoot)?e.fallbackRoot:!0,a=!!e.formatFallbackMessages,l=re(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Ee(e.postTranslation)?e.postTranslation:void 0,f=G(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,d=!!e.escapeParameterHtml,p=ie(e.sync)?e.sync:!0;let E=e.messages;if(re(e.sharedMessages)){const N=e.sharedMessages;E=Object.keys(N).reduce(($,R)=>{const Y=$[R]||($[R]={});return je(Y,N[R]),$},E||{})}const{__i18n:S,__root:w,__injectWithOption:O}=e,k=e.datetimeFormats,b=e.numberFormats,v=e.flatJson,L=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:E,flatJson:v,datetimeFormats:k,numberFormats:b,missing:r,missingWarn:s,fallbackWarn:o,fallbackRoot:i,fallbackFormat:a,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:d,messageResolver:e.messageResolver,inheritLocale:p,translateExistCompatible:L,__i18n:S,__root:w,__injectWithOption:O}}function Ho(e={},t){{const n=vi(b_(e)),{__extender:r}=e,s={id:n.id,get locale(){return n.locale.value},set locale(o){n.locale.value=o},get fallbackLocale(){return n.fallbackLocale.value},set fallbackLocale(o){n.fallbackLocale.value=o},get messages(){return n.messages.value},get datetimeFormats(){return n.datetimeFormats.value},get numberFormats(){return n.numberFormats.value},get availableLocales(){return n.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(o){},get missing(){return n.getMissingHandler()},set missing(o){n.setMissingHandler(o)},get silentTranslationWarn(){return ie(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(o){n.missingWarn=ie(o)?!o:o},get silentFallbackWarn(){return ie(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(o){n.fallbackWarn=ie(o)?!o:o},get modifiers(){return n.modifiers},get formatFallbackMessages(){return n.fallbackFormat},set formatFallbackMessages(o){n.fallbackFormat=o},get postTranslation(){return n.getPostTranslationHandler()},set postTranslation(o){n.setPostTranslationHandler(o)},get sync(){return n.inheritLocale},set sync(o){n.inheritLocale=o},get warnHtmlInMessage(){return n.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(o){n.warnHtmlMessage=o!=="off"},get escapeParameterHtml(){return n.escapeParameter},set escapeParameterHtml(o){n.escapeParameter=o},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(o){},get pluralizationRules(){return n.pluralRules||{}},__composer:n,t(...o){const[i,a,l]=o,c={};let u=null,f=null;if(!G(i))throw De(ke.INVALID_ARGUMENT);const d=i;return G(a)?c.locale=a:Se(a)?u=a:re(a)&&(f=a),Se(l)?u=l:re(l)&&(f=l),Reflect.apply(n.t,n,[d,u||f||{},c])},rt(...o){return Reflect.apply(n.rt,n,[...o])},tc(...o){const[i,a,l]=o,c={plural:1};let u=null,f=null;if(!G(i))throw De(ke.INVALID_ARGUMENT);const d=i;return G(a)?c.locale=a:Ne(a)?c.plural=a:Se(a)?u=a:re(a)&&(f=a),G(l)?c.locale=l:Se(l)?u=l:re(l)&&(f=l),Reflect.apply(n.t,n,[d,u||f||{},c])},te(o,i){return n.te(o,i)},tm(o){return n.tm(o)},getLocaleMessage(o){return n.getLocaleMessage(o)},setLocaleMessage(o,i){n.setLocaleMessage(o,i)},mergeLocaleMessage(o,i){n.mergeLocaleMessage(o,i)},d(...o){return Reflect.apply(n.d,n,[...o])},getDateTimeFormat(o){return n.getDateTimeFormat(o)},setDateTimeFormat(o,i){n.setDateTimeFormat(o,i)},mergeDateTimeFormat(o,i){n.mergeDateTimeFormat(o,i)},n(...o){return Reflect.apply(n.n,n,[...o])},getNumberFormat(o){return n.getNumberFormat(o)},setNumberFormat(o,i){n.setNumberFormat(o,i)},mergeNumberFormat(o,i){n.mergeNumberFormat(o,i)},getChoiceIndex(o,i){return-1}};return s.__extender=r,s}}const Si={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function E_({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((r,s)=>[...r,...s.type===Me?s.children:[s]],[]):t.reduce((n,r)=>{const s=e[r];return s&&(n[r]=s()),n},he())}function Qu(e){return Me}const v_=Xt({name:"i18n-t",props:je({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Ne(e)||!isNaN(e)}},Si),setup(e,t){const{slots:n,attrs:r}=t,s=e.i18n||Hr({useScope:e.scope,__useComponent:!0});return()=>{const o=Object.keys(n).filter(f=>f!=="_"),i=he();e.locale&&(i.locale=e.locale),e.plural!==void 0&&(i.plural=G(e.plural)?+e.plural:e.plural);const a=E_(t,o),l=s[Do](e.keypath,a,i),c=je(he(),r),u=G(e.tag)||fe(e.tag)?e.tag:Qu();return hn(u,c,l)}}}),al=v_;function S_(e){return Se(e)&&!G(e[0])}function Zu(e,t,n,r){const{slots:s,attrs:o}=t;return()=>{const i={part:!0};let a=he();e.locale&&(i.locale=e.locale),G(e.format)?i.key=e.format:fe(e.format)&&(G(e.format.key)&&(i.key=e.format.key),a=Object.keys(e.format).reduce((d,p)=>n.includes(p)?je(he(),d,{[p]:e.format[p]}):d,he()));const l=r(e.value,i,a);let c=[i.key];Se(l)?c=l.map((d,p)=>{const E=s[d.type],S=E?E({[d.type]:d.value,index:p,parts:l}):[d.value];return S_(S)&&(S[0].key=`${d.type}-${p}`),S}):G(l)&&(c=[l]);const u=je(he(),o),f=G(e.tag)||fe(e.tag)?e.tag:Qu();return hn(f,u,c)}}const w_=Xt({name:"i18n-n",props:je({value:{type:Number,required:!0},format:{type:[String,Object]}},Si),setup(e,t){const n=e.i18n||Hr({useScope:e.scope,__useComponent:!0});return Zu(e,t,Gu,(...r)=>n[$o](...r))}}),ll=w_,T_=Xt({name:"i18n-d",props:je({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Si),setup(e,t){const n=e.i18n||Hr({useScope:e.scope,__useComponent:!0});return Zu(e,t,Ku,(...r)=>n[Uo](...r))}}),cl=T_;function C_(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const r=n.__getInstance(t);return r!=null?r.__composer:e.global.__composer}}function L_(e){const t=i=>{const{instance:a,modifiers:l,value:c}=i;if(!a||!a.$)throw De(ke.UNEXPECTED_ERROR);const u=C_(e,a.$),f=ul(c);return[Reflect.apply(u.t,u,[...fl(f)]),u]};return{created:(i,a)=>{const[l,c]=t(a);_s&&e.global===c&&(i.__i18nWatcher=un(c.locale,()=>{a.instance&&a.instance.$forceUpdate()})),i.__composer=c,i.textContent=l},unmounted:i=>{_s&&i.__i18nWatcher&&(i.__i18nWatcher(),i.__i18nWatcher=void 0,delete i.__i18nWatcher),i.__composer&&(i.__composer=void 0,delete i.__composer)},beforeUpdate:(i,{value:a})=>{if(i.__composer){const l=i.__composer,c=ul(a);i.textContent=Reflect.apply(l.t,l,[...fl(c)])}},getSSRProps:i=>{const[a]=t(i);return{textContent:a}}}}function ul(e){if(G(e))return{path:e};if(re(e)){if(!("path"in e))throw De(ke.REQUIRED_VALUE,"path");return e}else throw De(ke.INVALID_VALUE)}function fl(e){const{path:t,locale:n,args:r,choice:s,plural:o}=e,i={},a=r||{};return G(n)&&(i.locale=n),Ne(s)&&(i.plural=s),Ne(o)&&(i.plural=o),[t,a,i]}function P_(e,t,...n){const r=re(n[0])?n[0]:{},s=!!r.useI18nComponentName;(ie(r.globalInstall)?r.globalInstall:!0)&&([s?"i18n":al.name,"I18nT"].forEach(i=>e.component(i,al)),[ll.name,"I18nN"].forEach(i=>e.component(i,ll)),[cl.name,"I18nD"].forEach(i=>e.component(i,cl))),e.directive("t",L_(t))}function R_(e,t,n){return{beforeCreate(){const r=zt();if(!r)throw De(ke.UNEXPECTED_ERROR);const s=this.$options;if(s.i18n){const o=s.i18n;if(s.__i18n&&(o.__i18n=s.__i18n),o.__root=t,this===this.$root)this.$i18n=dl(e,o);else{o.__injectWithOption=!0,o.__extender=n.__vueI18nExtend,this.$i18n=Ho(o);const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}}else if(s.__i18n)if(this===this.$root)this.$i18n=dl(e,s);else{this.$i18n=Ho({__i18n:s.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const o=this.$i18n;o.__extender&&(o.__disposer=o.__extender(this.$i18n))}else this.$i18n=e;s.__i18nGlobal&&Ju(t,s,s),this.$t=(...o)=>this.$i18n.t(...o),this.$rt=(...o)=>this.$i18n.rt(...o),this.$tc=(...o)=>this.$i18n.tc(...o),this.$te=(o,i)=>this.$i18n.te(o,i),this.$d=(...o)=>this.$i18n.d(...o),this.$n=(...o)=>this.$i18n.n(...o),this.$tm=o=>this.$i18n.tm(o),n.__setInstance(r,this.$i18n)},mounted(){},unmounted(){const r=zt();if(!r)throw De(ke.UNEXPECTED_ERROR);const s=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,s.__disposer&&(s.__disposer(),delete s.__disposer,delete s.__extender),n.__deleteInstance(r),delete this.$i18n}}}function dl(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[Yu](t.pluralizationRules||e.pluralizationRules);const n=$s(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(r=>e.mergeLocaleMessage(r,n[r])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(r=>e.mergeDateTimeFormat(r,t.datetimeFormats[r])),t.numberFormats&&Object.keys(t.numberFormats).forEach(r=>e.mergeNumberFormat(r,t.numberFormats[r])),e}const O_=_n("global-vue-i18n");function N_(e={},t){const n=__VUE_I18N_LEGACY_API__&&ie(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,r=ie(e.globalInjection)?e.globalInjection:!0,s=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,o=new Map,[i,a]=A_(e,n),l=_n("");function c(d){return o.get(d)||null}function u(d,p){o.set(d,p)}function f(d){o.delete(d)}{const d={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return s},async install(p,...E){if(p.__VUE_I18N_SYMBOL__=l,p.provide(p.__VUE_I18N_SYMBOL__,d),re(E[0])){const O=E[0];d.__composerExtend=O.__composerExtend,d.__vueI18nExtend=O.__vueI18nExtend}let S=null;!n&&r&&(S=B_(p,d.global)),__VUE_I18N_FULL_INSTALL__&&P_(p,d,...E),__VUE_I18N_LEGACY_API__&&n&&p.mixin(R_(a,a.__composer,d));const w=p.unmount;p.unmount=()=>{S&&S(),d.dispose(),w()}},get global(){return a},dispose(){i.stop()},__instances:o,__getInstance:c,__setInstance:u,__deleteInstance:f};return d}}function Hr(e={}){const t=zt();if(t==null)throw De(ke.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw De(ke.NOT_INSTALLED);const n=I_(t),r=x_(n),s=Xu(t),o=k_(e,s);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw De(ke.NOT_AVAILABLE_IN_LEGACY_MODE);return U_(t,o,r,e)}if(o==="global")return Ju(r,e,s),r;if(o==="parent"){let l=F_(n,t,e.__useComponent);return l==null&&(l=r),l}const i=n;let a=i.__getInstance(t);if(a==null){const l=je({},e);"__i18n"in s&&(l.__i18n=s.__i18n),r&&(l.__root=r),a=vi(l),i.__composerExtend&&(a[Bo]=i.__composerExtend(a)),D_(i,t,a),i.__setInstance(t,a)}return a}function A_(e,t,n){const r=Zo();{const s=__VUE_I18N_LEGACY_API__&&t?r.run(()=>Ho(e)):r.run(()=>vi(e));if(s==null)throw De(ke.UNEXPECTED_ERROR);return[r,s]}}function I_(e){{const t=Xe(e.isCE?O_:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw De(e.isCE?ke.NOT_INSTALLED_WITH_PROVIDE:ke.UNEXPECTED_ERROR);return t}}function k_(e,t){return Ms(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function x_(e){return e.mode==="composition"?e.global:e.global.__composer}function F_(e,t,n=!1){let r=null;const s=t.root;let o=M_(t,n);for(;o!=null;){const i=e;if(e.mode==="composition")r=i.__getInstance(o);else if(__VUE_I18N_LEGACY_API__){const a=i.__getInstance(o);a!=null&&(r=a.__composer,n&&r&&!r[zu]&&(r=null))}if(r!=null||s===o)break;o=o.parent}return r}function M_(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function D_(e,t,n){Zn(()=>{},t),er(()=>{const r=n;e.__deleteInstance(t);const s=r[Bo];s&&(s(),delete r[Bo])},t)}function U_(e,t,n,r={}){const s=t==="local",o=li(null);if(s&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw De(ke.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const i=ie(r.inheritLocale)?r.inheritLocale:!G(r.locale),a=st(!s||i?n.locale.value:G(r.locale)?r.locale:Jn),l=st(!s||i?n.fallbackLocale.value:G(r.fallbackLocale)||Se(r.fallbackLocale)||re(r.fallbackLocale)||r.fallbackLocale===!1?r.fallbackLocale:a.value),c=st($s(a.value,r)),u=st(re(r.datetimeFormats)?r.datetimeFormats:{[a.value]:{}}),f=st(re(r.numberFormats)?r.numberFormats:{[a.value]:{}}),d=s?n.missingWarn:ie(r.missingWarn)||pn(r.missingWarn)?r.missingWarn:!0,p=s?n.fallbackWarn:ie(r.fallbackWarn)||pn(r.fallbackWarn)?r.fallbackWarn:!0,E=s?n.fallbackRoot:ie(r.fallbackRoot)?r.fallbackRoot:!0,S=!!r.fallbackFormat,w=Ee(r.missing)?r.missing:null,O=Ee(r.postTranslation)?r.postTranslation:null,k=s?n.warnHtmlMessage:ie(r.warnHtmlMessage)?r.warnHtmlMessage:!0,b=!!r.escapeParameter,v=s?n.modifiers:re(r.modifiers)?r.modifiers:{},L=r.pluralRules||s&&n.pluralRules;function N(){return[a.value,l.value,c.value,u.value,f.value]}const M=_e({get:()=>o.value?o.value.locale.value:a.value,set:_=>{o.value&&(o.value.locale.value=_),a.value=_}}),$=_e({get:()=>o.value?o.value.fallbackLocale.value:l.value,set:_=>{o.value&&(o.value.fallbackLocale.value=_),l.value=_}}),R=_e(()=>o.value?o.value.messages.value:c.value),Y=_e(()=>u.value),ee=_e(()=>f.value);function B(){return o.value?o.value.getPostTranslationHandler():O}function Q(_){o.value&&o.value.setPostTranslationHandler(_)}function ye(){return o.value?o.value.getMissingHandler():w}function Oe(_){o.value&&o.value.setMissingHandler(_)}function oe(_){return N(),_()}function te(..._){return o.value?oe(()=>Reflect.apply(o.value.t,null,[..._])):oe(()=>"")}function ae(..._){return o.value?Reflect.apply(o.value.rt,null,[..._]):""}function Je(..._){return o.value?oe(()=>Reflect.apply(o.value.d,null,[..._])):oe(()=>"")}function nt(..._){return o.value?oe(()=>Reflect.apply(o.value.n,null,[..._])):oe(()=>"")}function Ce(_){return o.value?o.value.tm(_):{}}function Le(_,P){return o.value?o.value.te(_,P):!1}function ft(_){return o.value?o.value.getLocaleMessage(_):{}}function at(_,P){o.value&&(o.value.setLocaleMessage(_,P),c.value[_]=P)}function Tt(_,P){o.value&&o.value.mergeLocaleMessage(_,P)}function Fe(_){return o.value?o.value.getDateTimeFormat(_):{}}function D(_,P){o.value&&(o.value.setDateTimeFormat(_,P),u.value[_]=P)}function q(_,P){o.value&&o.value.mergeDateTimeFormat(_,P)}function j(_){return o.value?o.value.getNumberFormat(_):{}}function z(_,P){o.value&&(o.value.setNumberFormat(_,P),f.value[_]=P)}function ue(_,P){o.value&&o.value.mergeNumberFormat(_,P)}const g={get id(){return o.value?o.value.id:-1},locale:M,fallbackLocale:$,messages:R,datetimeFormats:Y,numberFormats:ee,get inheritLocale(){return o.value?o.value.inheritLocale:i},set inheritLocale(_){o.value&&(o.value.inheritLocale=_)},get availableLocales(){return o.value?o.value.availableLocales:Object.keys(c.value)},get modifiers(){return o.value?o.value.modifiers:v},get pluralRules(){return o.value?o.value.pluralRules:L},get isGlobal(){return o.value?o.value.isGlobal:!1},get missingWarn(){return o.value?o.value.missingWarn:d},set missingWarn(_){o.value&&(o.value.missingWarn=_)},get fallbackWarn(){return o.value?o.value.fallbackWarn:p},set fallbackWarn(_){o.value&&(o.value.missingWarn=_)},get fallbackRoot(){return o.value?o.value.fallbackRoot:E},set fallbackRoot(_){o.value&&(o.value.fallbackRoot=_)},get fallbackFormat(){return o.value?o.value.fallbackFormat:S},set fallbackFormat(_){o.value&&(o.value.fallbackFormat=_)},get warnHtmlMessage(){return o.value?o.value.warnHtmlMessage:k},set warnHtmlMessage(_){o.value&&(o.value.warnHtmlMessage=_)},get escapeParameter(){return o.value?o.value.escapeParameter:b},set escapeParameter(_){o.value&&(o.value.escapeParameter=_)},t:te,getPostTranslationHandler:B,setPostTranslationHandler:Q,getMissingHandler:ye,setMissingHandler:Oe,rt:ae,d:Je,n:nt,tm:Ce,te:Le,getLocaleMessage:ft,setLocaleMessage:at,mergeLocaleMessage:Tt,getDateTimeFormat:Fe,setDateTimeFormat:D,mergeDateTimeFormat:q,getNumberFormat:j,setNumberFormat:z,mergeNumberFormat:ue};function y(_){_.locale.value=a.value,_.fallbackLocale.value=l.value,Object.keys(c.value).forEach(P=>{_.mergeLocaleMessage(P,c.value[P])}),Object.keys(u.value).forEach(P=>{_.mergeDateTimeFormat(P,u.value[P])}),Object.keys(f.value).forEach(P=>{_.mergeNumberFormat(P,f.value[P])}),_.escapeParameter=b,_.fallbackFormat=S,_.fallbackRoot=E,_.fallbackWarn=p,_.missingWarn=d,_.warnHtmlMessage=k}return _c(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw De(ke.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const _=o.value=e.proxy.$i18n.__composer;t==="global"?(a.value=_.locale.value,l.value=_.fallbackLocale.value,c.value=_.messages.value,u.value=_.datetimeFormats.value,f.value=_.numberFormats.value):s&&y(_)}),g}const $_=["locale","fallbackLocale","availableLocales"],ml=["t","rt","d","n","tm","te"];function B_(e,t){const n=Object.create(null);return $_.forEach(s=>{const o=Object.getOwnPropertyDescriptor(t,s);if(!o)throw De(ke.UNEXPECTED_ERROR);const i=we(o.value)?{get(){return o.value.value},set(a){o.value.value=a}}:{get(){return o.get&&o.get()}};Object.defineProperty(n,s,i)}),e.config.globalProperties.$i18n=n,ml.forEach(s=>{const o=Object.getOwnPropertyDescriptor(t,s);if(!o||!o.value)throw De(ke.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${s}`,o)}),()=>{delete e.config.globalProperties.$i18n,ml.forEach(s=>{delete e.config.globalProperties[`$${s}`]})}}p_();__INTLIFY_JIT_COMPILATION__?Ga(c_):Ga(l_);Zg(kg);e_(Fu);if(__INTLIFY_PROD_DEVTOOLS__){const e=Vt();e.__INTLIFY__=!0,Wg(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const H_={common:{confirm:"确认",cancel:"取消",close:"关闭",delete:"删除",edit:"编辑",save:"保存",add:"添加",back:"返回",next:"下一页",previous:"上一页",loading:"加载中...",success:"成功",error:"错误",warning:"警告",info:"信息",search:"搜索",copy:"复制",uploadSuccess:"上传成功",uploadFailed:"上传失败",copySuccess:"复制成功",copyFailed:"复制失败",deleteSuccess:"删除成功",deleteFailed:"删除失败",downloadSuccess:"下载成功",downloadFailed:"下载失败",shareSuccess:"分享成功",shareFailed:"分享失败",expiredFile:"文件已过期",fileNotFound:"文件不存在",networkError:"网络错误",unknownError:"未知错误",invalidFileType:"不支持的文件类型",fileTooLarge:"文件过大",uploadCanceled:"上传已取消",processing:"处理中...",pleaseWait:"请稍候...",fileDetails:"文件详情",enabled:"已开启",disabled:"已关闭",minute:"分钟",files:"个文件",second:"秒",hour:"小时",day:"天",times:"次",appName:"文件快递柜 - FileCodeBox",appDescription:"开箱即用的文件快传系统"},admin:{dashboard:{title:"仪表盘",totalFiles:"总文件数",storageSpace:"存储空间",activeUsers:"活跃用户",systemStatus:"系统状态",yesterday:"昨天:",today:"今天:",weeklyChange:"↓ 5% 较上周",normal:"正常",serverUptime:"服务器运行时间:",version:"版本 v2.2.1 更新时间:2025-09-04"},fileManage:{title:"文件管理"},settings:{title:"系统设置",basicSettings:"基本设置",websiteInfo:"网站基本信息",websiteName:"网站名称",websiteDescription:"网站描述",siteName:"网站名称",adminPassword:"管理员密码",passwordPlaceholder:"留空则不修改密码",passwordNote:"留空则不修改",keywords:"关键词",themeSelection:"主题选择",robotsFile:"Robots.txt",notificationSettings:"通知设置",notificationTitle:"通知标题",notificationContent:"通知内容",storageSettings:"存储设置",storagePath:"存储路径",storagePathPlaceholder:"留空则使用默认路径,可不填写",storageMethod:"存储方式",localStorage:"本地存储",s3Storage:"S3 存储",webdavStorage:"Webdav 存储",chunkUploadNote:"开启切片上传(实验性功能,可能会出现未知问题)",s3AccessKeyId:"S3 AccessKeyId",s3SecretAccessKey:"S3 SecretAccessKey",s3BucketName:"S3 BucketName",s3EndpointUrl:"S3 EndpointUrl",s3RegionName:"S3 Region Name",s3SignatureVersion:"S3 Signature Version",s3Hostname:"S3 Hostname",s3v2:"S3v2",s3v4:"S3v4",autoPlaceholder:"auto",enabled:"已开启",disabled:"已关闭",webdavUrl:"请输入 Webdav URL",webdavUsername:"请输入 Webdav Username",webdavPassword:"请输入 Webdav Password",webdavUrlPlaceholder:"请输入 Webdav URL",webdavUsernamePlaceholder:"请输入 Webdav Username",webdavPasswordPlaceholder:"请输入 Webdav Password",enableProxy:"启用代理",uploadLimits:"上传限制",uploadRateLimit:"每分钟上传限制",uploadPerMinute:"每分钟上传限制",minute:"分钟",uploadCountLimit:"上传数量限制",files:"个文件",fileSizeLimit:"文件大小限制",expirationMethod:"过期方式",expirationType:"过期类型",expiration:{day:"按天",hour:"按小时",minute:"按分钟",forever:"永久",count:"按次数"},maxSaveTime:"最长保存时间",timeUnits:{second:"秒",minute:"分",hour:"时",day:"天"},guestUpload:"游客上传",errorLimits:"错误限制",errorRateLimit:"每分钟错误限制",errorPerMinute:"每分钟错误限制",errorCountLimit:"错误次数限制",times:"次",saveChanges:"保存更改",fileSizeUnits:{kb:"KB",mb:"MB",gb:"GB"}}},nav:{sendFile:"发送文件",retrieveFile:"取件",fileRecords:"取件记录"},retrieve:{title:"文件取件",codeInput:{placeholder:"请输入5位取件码",label:"取件码"},submit:"取件",needSendFile:"需要发送文件?点击这里",recordsDrawer:"取件记录",messages:{invalidCode:"请输入5位取件码",retrieveSuccess:"文件获取成功",invalidCodeError:"无效的取件码",retrieveFailure:"获取文件失败:",networkError:"取件失败,请稍后重试:",unknownError:"未知错误"}},send:{title:"文件发送",sendText:"发送文本",fileDetails:"文件详情",expirationMethod:"过期方式",uploadArea:{dragText:"拖拽文件到此处或",clickText:"点击选择文件",textInput:"在此输入要发送的文本...",placeholder:"点击或拖放文件到此处上传",description:"支持各种常见格式"},submit:"安全寄送",needRetrieveFile:"需要取件?点击这里",sendRecords:"发件记录",secureEncryption:"安全加密",fileDetail:{title:"文件详情",content:"文件内容",previewContent:"预览内容",download:"点击下载",qrCode:"取件二维码",scanQrCode:"扫描二维码快速取件"},contentPreview:{title:"内容预览"},fileManage:{title:"文件管理",searchPlaceholder:"搜索文件名称、描述...",allFiles:"所有文件",editFileInfo:"编辑文件信息",saveChanges:"保存更改",headers:{code:"取件码",name:"名称",size:"大小",description:"描述",expiration:"过期时间",actions:"操作"},form:{code:"取件码",codePlaceholder:"输入取件码",filename:"文件名称",filenamePlaceholder:"输入文件名称",suffix:"文件后缀",suffixPlaceholder:"输入文件后缀",downloadLimit:"下载次数限制",downloadLimitPlaceholder:"输入下载次数限制"}},expiration:{label:"过期时间",placeholders:{days:"输入天数",hours:"输入小时数",minutes:"输入分钟数",count:"输入查看次数",forever:"永久",default:"输入值"},units:{days:"天",hours:"小时",minutes:"分钟",times:"次",forever:"永久"}},time:{day:"按天",hour:"按小时",minute:"按分钟",forever:"永久",count:"按次数"},messages:{selectFile:"请选择要上传的文件",enterText:"请输入要发送的文本",enterExpirationValue:"请输入过期值",expirationTooLong:"过期时间不能超过{days}天",sendSuccess:"文件发送成功!取件码:{code}",initChunkUploadFailed:"初始化切片上传失败",chunkUploadFailed:"切片 {index} 上传失败",completeUploadFailed:"完成上传失败",uploadFailed:"上传失败,请稍后重试",guestUploadDisabled:"游客上传功能已关闭",fileSizeExceeded:"文件大小超过限制 ({size})",serverError:"服务器响应异常",sendFailed:"发送失败,请稍后重试",expiresAfterCount:"{count}次后过期",expiresAt:"{date}过期",emptyFileError:"无法读取空文件",fileAddedFromClipboard:"已从剪贴板添加文件:{filename}",fileProcessingFailed:"文件处理失败",expiresAfter:"{value}{unit}后过期"}},fileManage:{title:"文件管理",searchPlaceholder:"搜索文件名称、描述...",allFiles:"所有文件",editFileInfo:"编辑文件信息",saveChanges:"保存更改",headers:{code:"取件码",name:"名称",size:"大小",description:"描述",expiration:"过期时间",actions:"操作"},form:{code:"取件码",codePlaceholder:"输入取件码",filename:"文件名称",filenamePlaceholder:"输入文件名称",suffix:"文件后缀",suffixPlaceholder:"输入文件后缀",downloadLimit:"下载次数限制",downloadLimitPlaceholder:"输入下载次数限制"}},fileRecord:{filename:"文件名",size:"文件大小",date:"取件日期",code:"取件码",actions:"操作",download:"下载",viewDetails:"查看详情",deleteRecord:"删除记录",preview:"预览",copyContent:"复制内容",contentCopied:"内容已复制到剪贴板",copyFailed:"复制失败,请重试"},fileDetail:{title:"文件详情",content:"文件内容",previewContent:"预览内容",download:"点击下载",qrCode:"取件二维码",scanQrCode:"扫描二维码快速取件"},contentPreview:{title:"内容预览"},drawer:{noRecords:"暂无记录"},fileSize:{bytes:"Bytes",kb:"KB",mb:"MB",gb:"GB",tb:"TB"},manage:{settings:{title:"系统设置",basicSettings:"基本设置",siteName:"网站名称",adminPassword:"管理员密码",passwordPlaceholder:"留空则不修改密码",passwordNote:"留空则不修改",keywords:"关键词",themeSelection:"主题选择",robotsFile:"Robots.txt",notificationSettings:"通知设置",notificationTitle:"通知标题",notificationContent:"通知内容",storageSettings:"存储设置",storagePath:"存储路径",storagePathPlaceholder:"留空则使用默认路径,可不填写",storageMethod:"存储方式",localStorage:"本地存储",s3Storage:"S3 存储",webdavStorage:"Webdav 存储",chunkUploadNote:"开启切片上传(实验性功能,可能会出现未知问题)",uploadLimits:"上传限制",uploadPerMinute:"每分钟上传限制",uploadCountLimit:"上传数量限制",fileSizeLimit:"文件大小限制",expiration:{day:"按天",hour:"按小时",minute:"按分钟",forever:"永久",count:"按次数"},maxSaveTime:"最长保存时间",s3AccessKeyId:"S3 AccessKeyId",s3SecretAccessKey:"S3 SecretAccessKey",s3BucketName:"S3 BucketName",s3EndpointUrl:"S3 EndpointUrl",s3RegionName:"S3 Region Name",s3SignatureVersion:"S3 Signature Version",s3Hostname:"S3 Hostname",s3v2:"S3v2",s3v4:"S3v4",autoPlaceholder:"auto",enableProxy:"启用代理",webdavUrlPlaceholder:"请输入 Webdav URL",webdavUsernamePlaceholder:"请输入 Webdav Username",webdavPasswordPlaceholder:"请输入 Webdav Password",fileSizeUnits:{kb:"KB",mb:"MB",gb:"GB"},expirationType:"过期类型",guestUpload:"游客上传",errorLimits:"错误限制",errorPerMinute:"每分钟错误限制",errorCountLimit:"错误次数限制",saveChanges:"保存更改"},dashboard:{title:"仪表盘",totalFiles:"总文件数",storageSpace:"存储空间",activeUsers:"活跃用户",systemStatus:"系统状态",yesterday:"昨天:",today:"今天:",weeklyChange:"↓ 5% 较上周",normal:"正常",serverUptime:"服务器运行时间:",version:"版本 v2.2.1 更新时间:2025-09-04"},fileManage:{title:"文件管理",searchPlaceholder:"搜索文件名称、描述...",allFiles:"所有文件",editFileInfo:"编辑文件信息",saveChanges:"保存更改",headers:{code:"取件码",name:"名称",size:"大小",description:"描述",expiration:"过期时间",actions:"操作"},form:{code:"取件码",codePlaceholder:"输入取件码",filename:"文件名称",filenamePlaceholder:"输入文件名称",suffix:"文件后缀",suffixPlaceholder:"输入文件后缀",downloadLimit:"下载次数限制",downloadLimitPlaceholder:"输入下载次数限制"},updateFailed:"更新失败",deleteFailed:"删除失败",loadFileListFailed:"加载文件列表失败"},systemSettings:{title:"系统设置",basicSettings:"基本设置",websiteInfo:"网站基本信息",websiteName:"网站名称",websiteDescription:"网站描述",adminPassword:"管理员密码",passwordPlaceholder:"留空则不修改密码",passwordNote:"留空则不修改",keywords:"关键词",themeSelection:"主题选择",notificationSettings:"通知设置",notificationTitle:"通知标题",notificationContent:"通知内容",storageSettings:"存储设置",storagePath:"存储路径",storagePathPlaceholder:"留空则使用默认路径,可不填写",storageMethod:"存储方式",localStorage:"本地存储",s3Storage:"S3 存储",webdavStorage:"Webdav 存储",chunkUploadNote:"开启切片上传(实验性功能,可能会出现未知问题)",enabled:"已开启",disabled:"已关闭",webdavUrl:"请输入 Webdav URL",webdavUsername:"请输入 Webdav Username",webdavPassword:"请输入 Webdav Password",enableProxy:"启用代理",uploadLimits:"上传限制",uploadRateLimit:"每分钟上传限制",minute:"分钟",uploadCountLimit:"上传数量限制",files:"个文件",fileSizeLimit:"文件大小限制",expirationMethod:"过期方式",expirationMethods:{day:"按天",hour:"按小时",minute:"按分钟",forever:"永久",count:"按次数"},expiration:{day:"按天",hour:"按小时",minute:"按分钟",forever:"永久",count:"按次数"},maxSaveTime:"最长保存时间",timeUnits:{second:"秒",minute:"分",hour:"时",day:"天"},guestUpload:"游客上传",errorLimits:"错误限制",errorRateLimit:"每分钟错误限制",errorCountLimit:"错误次数限制",times:"次",saveSettings:"保存设置",saveSuccess:"保存成功",saveFailed:"保存失败",getConfigFailed:"获取配置失败"},login:{title:"登录",password:"密码",passwordPlaceholder:"密码",loginButton:"登录",loggingIn:"登录中...",invalidPassword:"无效的密码",passwordTooShort:"密码长度至少为6位",loginFailed:"登录失败",noValidToken:"登录失败:未获取到有效令牌"}},utils:{common:{formatTime:"格式化时间戳为可读格式",formatFileSize:"格式化文件大小",formatDuration:"格式化持续时间",time:{forever:"永久",day:"天",hour:"小时",minute:"分钟",second:"秒"},copyToClipboard:"复制文本到剪贴板",copyFailed:"复制失败:",debounce:"防抖函数",throttle:"节流函数",validateEmail:"验证邮箱格式",validateUrl:"验证URL格式",generateRandomString:"生成随机字符串",deepClone:"深度克隆对象",getFileExtension:"获取文件扩展名",isMobileDevice:"检查是否为移动设备",formatNumber:"格式化数字,添加千分位分隔符"},clipboard:{title:"剪贴板工具函数",copyText:"复制文本到剪贴板",copySuccess:"复制成功",copyFailed:"复制失败,请手动复制"}},components:{pagination:{showing:"显示第",to:"到",of:"条,共",total:"条",previous:"上一页",next:"下一页"},languageSwitcher:{clickOutsideToClose:"点击外部关闭下拉菜单"},borderProgressBar:{borderWidth:"边框宽度",cornerRadius:"拐角半径",createGradient:"创建渐变",drawBackground:"绘制背景",calculateProgress:"计算进度",drawProgress:"绘制进度"}},misc:{emptyFileError:"无法读取空文件",fileAddedFromClipboard:"已从剪贴板添加文件:",fileProcessFailed:"文件处理失败",chunkSize:"保持 2MB 的切片大小用于计算哈希",secureContext:"如果不是安全上下文(HTTP),则返回一个基于文件信息的替代哈希",cryptoFallback:"如果 crypto.subtle.digest 失败,使用替代方案",generateAlternativeHash:"生成替代哈希的函数",fileInfoHash:"使用文件名、大小和最后修改时间生成一个简单的哈希",convertToHex:"转换为16进制字符串并填充到64位",defaultChunkSize:"默认切片大小为5MB",initChunkUpload:"1. 初始化切片上传",uploadChunk:"2. 上传切片",completeUpload:"3. 完成上传",chunkUploadFailed:"切片上传失败:",uploadProgressListener:"添加上传进度监听",noLimitCheck:"如果没有限制,直接返回true",expirationValidation:"添加过期时间验证",chunkUploadReplacement:"使用切片上传替代原来的直接上传",textUploadUnchanged:"文本上传保持不变",addSendRecord:"添加新的发送记录",permanent:"永久",sendSuccessMessage:"显示发送成功消息",resetForm:"重置表单 - 只重置文件和文本内容,保留过期信息",showDetails:"显示详情",autoCopyLink:"自动复制取件码链接",delayedLoading:"使用 onMounted 钩子延迟加载一些非关键资源或初始化",nonCriticalInit:"这里可以放置一些非立即需要的初始化代码"}},W_={common:{confirm:"Confirm",cancel:"Cancel",close:"Close",delete:"Delete",edit:"Edit",save:"Save",add:"Add",back:"Back",next:"Next",previous:"Previous",loading:"Loading...",noData:"No Data",success:"Success",error:"Error",warning:"Warning",info:"Information",search:"Search",copy:"Copy",uploadSuccess:"Upload successful",uploadFailed:"Upload failed",copySuccess:"Copy successful",copyFailed:"Copy failed",deleteSuccess:"Delete successful",deleteFailed:"Delete failed",downloadSuccess:"Download successful",downloadFailed:"Download failed",shareSuccess:"Share successful",shareFailed:"Share failed",expiredFile:"File has expired",fileNotFound:"File not found",networkError:"Network error",unknownError:"Unknown error",invalidFileType:"Invalid file type",fileTooLarge:"File too large",uploadCanceled:"Upload canceled",processing:"Processing",pleaseWait:"Please wait",fileDetails:"File Details",enabled:"Enabled",disabled:"Disabled",minute:"minute",files:"files",second:"second",hour:"hour",day:"day",times:"times",appName:"FileCodeBox - File Transfer",appDescription:"Ready-to-use file transfer system"},admin:{dashboard:{title:"Dashboard",totalFiles:"Total Files",storageSpace:"Storage Space",activeUsers:"Active Users",systemStatus:"System Status",yesterday:"Yesterday:",today:"Today:",weeklyChange:"↓ 5% from last week",normal:"Normal",serverUptime:"Server Uptime:",version:"Version v2.2.1 Updated: 2025-09-04"},fileManage:{title:"File Management"},settings:{title:"System Settings",basicSettings:"Basic Settings",websiteInfo:"Website Basic Information",websiteName:"Website Name",websiteDescription:"Website Description",siteName:"Site Name",adminPassword:"Admin Password",passwordPlaceholder:"Leave blank to keep current password",passwordNote:"Leave blank to keep unchanged",keywords:"Keywords",themeSelection:"Theme Selection",robotsFile:"Robots.txt",notificationSettings:"Notification Settings",notificationTitle:"Notification Title",notificationContent:"Notification Content",storageSettings:"Storage Settings",storagePath:"Storage Path",storagePathPlaceholder:"Leave blank to use default path, optional",storageMethod:"Storage Method",localStorage:"Local Storage",s3Storage:"S3 Storage",webdavStorage:"Webdav Storage",chunkUploadNote:"Enable chunk upload (experimental feature, may have unknown issues)",s3AccessKeyId:"S3 AccessKeyId",s3SecretAccessKey:"S3 SecretAccessKey",s3BucketName:"S3 BucketName",s3EndpointUrl:"S3 EndpointUrl",s3RegionName:"S3 Region Name",s3SignatureVersion:"S3 Signature Version",s3Hostname:"S3 Hostname",s3v2:"S3v2",s3v4:"S3v4",autoPlaceholder:"auto",enabled:"Enabled",disabled:"Disabled",webdavUrl:"Please enter Webdav URL",webdavUsername:"Please enter Webdav Username",webdavPassword:"Please enter Webdav Password",webdavUrlPlaceholder:"Please enter Webdav URL",webdavUsernamePlaceholder:"Please enter Webdav Username",webdavPasswordPlaceholder:"Please enter Webdav Password",enableProxy:"Enable Proxy",uploadLimits:"Upload Limits",uploadRateLimit:"Upload Rate Limit",uploadPerMinute:"Upload Per Minute",minute:"minute",uploadCountLimit:"Upload Count Limit",files:"files",fileSizeLimit:"File Size Limit",expirationMethod:"Expiration Method",expirationType:"Expiration Type",expiration:{day:"By Day",hour:"By Hour",minute:"By Minute",forever:"Forever",count:"By Count"},maxSaveTime:"Maximum Save Time",timeUnits:{second:"second",minute:"minute",hour:"hour",day:"day"},guestUpload:"Guest Upload",errorLimits:"Error Limits",errorRateLimit:"Error Rate Limit",errorPerMinute:"Error Per Minute",errorCountLimit:"Error Count Limit",times:"times",saveChanges:"Save Changes",fileSizeUnits:{kb:"KB",mb:"MB",gb:"GB"}}},nav:{sendFile:"Send File",retrieveFile:"Retrieve",fileRecords:"File Records"},retrieve:{title:"File Retrieval",codeInput:{placeholder:"Enter 5-digit retrieval code",label:"Retrieval Code"},submit:"Retrieve",needSendFile:"Need to send a file? Click here",recordsDrawer:"Retrieval Records",messages:{invalidCode:"Please enter a 5-digit retrieval code",retrieveSuccess:"File retrieved successfully",invalidCodeError:"Invalid retrieval code",retrieveFailure:"Failed to retrieve file: ",networkError:"Retrieval failed, please try again later: ",unknownError:"Unknown error"}},send:{title:"File Send",sendText:"Send Text",uploadArea:{dragText:"Drag files here or",clickText:"click to select files",textInput:"Enter text to send here...",placeholder:"Click or drag files here to upload",description:"Supports various common formats"},submit:"Secure Send",needRetrieveFile:"Need to retrieve? Click here",sendRecords:"Send Records",secureEncryption:"Secure Encryption",fileDetails:"File Details",expirationMethod:"Expiration Method",expiration:{day:"By Day",hour:"By Hour",minute:"By Minute",forever:"Forever",count:"By Count",label:"Expiration Time",placeholders:{days:"Enter days",hours:"Enter hours",minutes:"Enter minutes",count:"Enter view count",forever:"Forever",default:"Enter value"},units:{days:"days",hours:"hours",minutes:"minutes",times:"times",forever:"Forever"}},time:{day:"By Day",hour:"By Hour",minute:"By Minute",forever:"Forever",count:"By Count"},messages:{selectFile:"Please select a file to upload",enterText:"Please enter text to send",enterExpirationValue:"Please enter expiration value",expirationTooLong:"Expiration time cannot exceed {days} days",sendSuccess:"File sent successfully! Retrieve code: {code}",initChunkUploadFailed:"Failed to initialize chunk upload",chunkUploadFailed:"Chunk {index} upload failed",completeUploadFailed:"Failed to complete upload",uploadFailed:"Upload failed, please try again later",guestUploadDisabled:"Guest upload feature is disabled",fileSizeExceeded:"File size exceeds limit ({size})",serverError:"Server response error",sendFailed:"Send failed, please try again later",expiresAfterCount:"Expires after {count} times",expiresAt:"Expires at {date}",emptyFileError:"Cannot read empty file",fileAddedFromClipboard:"File added from clipboard: {filename}",fileProcessingFailed:"File processing failed",expiresAfter:"Expires after {value} {unit}"}},fileRecord:{filename:"Filename",size:"Size",date:"Date",code:"Code",actions:"Actions",download:"Download",viewDetails:"View Details",deleteRecord:"Delete Record",preview:"Preview",copyContent:"Copy Content",contentCopied:"Content copied to clipboard",copyFailed:"Copy failed, please try again"},fileDetail:{title:"File Details",content:"File Content",previewContent:"Preview Content",download:"Click to Download",qrCode:"Retrieve QR Code",scanQrCode:"Scan QR code for quick retrieval"},contentPreview:{title:"Content Preview"},fileManage:{title:"File Management",searchPlaceholder:"Search file name, description...",allFiles:"All Files",editFileInfo:"Edit File Information",saveChanges:"Save Changes",headers:{code:"Retrieve Code",name:"Name",size:"Size",description:"Description",expiration:"Expiration",actions:"Actions"},form:{code:"Retrieve Code",codePlaceholder:"Enter retrieve code",filename:"File Name",filenamePlaceholder:"Enter file name",suffix:"File Extension",suffixPlaceholder:"Enter file extension",downloadLimit:"Download Limit",downloadLimitPlaceholder:"Enter download limit"}},drawer:{noRecords:"No records"},manage:{settings:{title:"System Settings",basicSettings:"Basic Settings",websiteInfo:"Website Basic Information",websiteName:"Website Name",websiteDescription:"Website Description",siteName:"Site Name",adminPassword:"Admin Password",passwordPlaceholder:"Leave blank to keep current password",passwordNote:"Leave blank to keep unchanged",keywords:"Keywords",themeSelection:"Theme Selection",notificationSettings:"Notification Settings",notificationTitle:"Notification Title",notificationContent:"Notification Content",storageSettings:"Storage Settings",storagePath:"Storage Path",storagePathPlaceholder:"Leave blank to use default path, optional",storageMethod:"Storage Method",localStorage:"Local Storage",s3Storage:"S3 Storage",webdavStorage:"Webdav Storage",chunkUploadNote:"Enable chunk upload (experimental feature, may have unknown issues)",enabled:"Enabled",disabled:"Disabled",webdavUrl:"Please enter Webdav URL",webdavUsername:"Please enter Webdav Username",webdavPassword:"Please enter Webdav Password",webdavUrlPlaceholder:"Please enter Webdav URL",webdavUsernamePlaceholder:"Please enter Webdav Username",webdavPasswordPlaceholder:"Please enter Webdav Password",enableProxy:"Enable Proxy",uploadLimits:"Upload Limits",uploadRateLimit:"Upload Rate Limit",uploadPerMinute:"Upload Per Minute",minute:"minute",uploadCountLimit:"Upload Count Limit",files:"files",fileSizeLimit:"File Size Limit",expirationMethod:"Expiration Method",expirationType:"Expiration Type",expiration:{day:"By Day",hour:"By Hour",minute:"By Minute",forever:"Forever",count:"By Count"},maxSaveTime:"Maximum Save Time",timeUnits:{second:"second",minute:"minute",hour:"hour",day:"day"},guestUpload:"Guest Upload",errorLimits:"Error Limits",errorRateLimit:"Error Rate Limit",errorPerMinute:"Error Per Minute",errorCountLimit:"Error Count Limit",times:"times",fileSizeUnits:{kb:"KB",mb:"MB",gb:"GB"},saveChanges:"Save Changes"},systemSettings:{title:"System Settings",basicSettings:"Basic Settings",websiteInfo:"Website Basic Information",websiteName:"Website Name",websiteDescription:"Website Description",adminPassword:"Admin Password",passwordPlaceholder:"Leave blank to keep current password",passwordNote:"Leave blank to keep unchanged",keywords:"Keywords",themeSelection:"Theme Selection",notificationSettings:"Notification Settings",notificationTitle:"Notification Title",notificationContent:"Notification Content",storageSettings:"Storage Settings",storagePath:"Storage Path",storagePathPlaceholder:"Leave blank to use default path, optional",storageMethod:"Storage Method",localStorage:"Local Storage",s3Storage:"S3 Storage",webdavStorage:"Webdav Storage",chunkUploadNote:"Enable chunk upload (experimental feature, may have unknown issues)",enabled:"Enabled",disabled:"Disabled",webdavUrl:"Please enter Webdav URL",webdavUsername:"Please enter Webdav Username",webdavPassword:"Please enter Webdav Password",enableProxy:"Enable Proxy",uploadLimits:"Upload Limits",uploadRateLimit:"Upload Rate Limit",minute:"minute",uploadCountLimit:"Upload Count Limit",files:"files",fileSizeLimit:"File Size Limit",expirationMethod:"Expiration Method",expirationMethods:{day:"By Day",hour:"By Hour",minute:"By Minute",forever:"Forever",count:"By Count"},expiration:{day:"By Day",hour:"By Hour",minute:"By Minute",forever:"Forever",count:"By Count"},maxSaveTime:"Maximum Save Time",timeUnits:{second:"second",minute:"minute",hour:"hour",day:"day"},guestUpload:"Guest Upload",errorLimits:"Error Limits",errorRateLimit:"Error Rate Limit",errorCountLimit:"Error Count Limit",times:"times",saveSettings:"Save Settings",saveSuccess:"Save successful",saveFailed:"Save failed",getConfigFailed:"Failed to get configuration"},dashboard:{title:"Dashboard",totalFiles:"Total Files",storageSpace:"Storage Space",activeUsers:"Active Users",systemStatus:"System Status",yesterday:"Yesterday:",today:"Today:",weeklyChange:"↓ 5% from last week",normal:"Normal",serverUptime:"Server Uptime:",version:"Version v2.2.1 Updated: 2025-09-04"},fileManage:{title:"File Management",searchPlaceholder:"Search file name, description...",allFiles:"All Files",editFileInfo:"Edit File Info",saveChanges:"Save Changes",headers:{code:"Code",name:"Name",size:"Size",description:"Description",expiration:"Expiration",actions:"Actions"},form:{code:"Code",codePlaceholder:"Enter code",filename:"File Name",filenamePlaceholder:"Enter file name",suffix:"File Suffix",suffixPlaceholder:"Enter file suffix",downloadLimit:"Download Limit",downloadLimitPlaceholder:"Enter download limit"},updateFailed:"Update failed",deleteFailed:"Delete failed",loadFileListFailed:"Failed to load file list"},login:{title:"Login",password:"Password",passwordPlaceholder:"Password",loginButton:"Login",loggingIn:"Logging in...",invalidPassword:"Invalid password",passwordTooShort:"Password must be at least 6 characters",loginFailed:"Login failed",noValidToken:"Login failed: No valid token received"}},fileSize:{bytes:"Bytes",kb:"KB",mb:"MB",gb:"GB",tb:"TB"},utils:{formatTime:"Format timestamp to readable format",formatFileSize:"Format file size",formatDuration:"Format duration",time:{forever:"Forever",day:"day",hour:"hour",minute:"minute",second:"second"},copyToClipboard:"Copy text to clipboard",copyFailed:"Copy failed:",debounce:"Debounce function",throttle:"Throttle function",validateEmail:"Validate email format",validateUrl:"Validate URL format",generateRandomString:"Generate random string",deepClone:"Deep clone object",getFileExtension:"Get file extension",isMobileDevice:"Check if mobile device",formatNumber:"Format number with thousand separators",clipboard:{title:"Clipboard utility functions",copyText:"Copy text to clipboard",copySuccess:"Copy successful",copyFailed:"Copy failed, please copy manually"}},components:{pagination:{showing:"Showing",to:"to",of:"of",total:"total",previous:"Previous",next:"Next"},languageSwitcher:{clickOutsideToClose:"Click outside to close dropdown menu"},borderProgressBar:{borderWidth:"Border width",cornerRadius:"Corner radius",createGradient:"Create gradient",drawBackground:"Draw background",calculateProgress:"Calculate progress",drawProgress:"Draw progress"}},misc:{emptyFileError:"Cannot read empty file",fileAddedFromClipboard:"File added from clipboard: ",fileProcessFailed:"File processing failed",chunkSize:"Keep 2MB chunk size for hash calculation",secureContext:"If not in secure context (HTTP), return an alternative hash based on file info",cryptoFallback:"If crypto.subtle.digest fails, use fallback method",generateAlternativeHash:"Function to generate alternative hash",fileInfoHash:"Generate simple hash using filename, size and last modified time",convertToHex:"Convert to hex string and pad to 64 bits",defaultChunkSize:"Default chunk size is 5MB",initChunkUpload:"1. Initialize chunk upload",uploadChunk:"2. Upload chunk",completeUpload:"3. Complete upload",chunkUploadFailed:"Chunk upload failed: ",uploadProgressListener:"Add upload progress listener",noLimitCheck:"If no limit, return true directly",expirationValidation:"Add expiration time validation",chunkUploadReplacement:"Use chunk upload to replace direct upload",textUploadUnchanged:"Text upload remains unchanged",addSendRecord:"Add new send record",permanent:"Permanent",sendSuccessMessage:"Show send success message",resetForm:"Reset form - only reset file and text content, keep expiration info",showDetails:"Show details",autoCopyLink:"Auto copy retrieve code link",delayedLoading:"Use onMounted hook to delay load non-critical resources or initialization",nonCriticalInit:"Place non-immediately needed initialization code here"}},V_=()=>{const e=localStorage.getItem("locale");return e||(navigator.language.toLowerCase().startsWith("zh")?"zh-CN":"en-US")},j_={"zh-CN":H_,"en-US":W_},ef=N_({legacy:!1,locale:V_(),fallbackLocale:"zh-CN",messages:j_,globalInjection:!0}),K_=e=>{ef.global.locale.value=e,localStorage.setItem("locale",e),document.documentElement.lang=e},ho=[{code:"zh-CN",name:"中文"},{code:"en-US",name:"English"}],G_={class:"relative"},q_={class:"text-sm font-medium"},Y_={class:"py-1"},z_=["onClick"],X_=Xt({__name:"LanguageSwitcher",setup(e){const{locale:t}=Hr(),n=Xe("isDarkMode"),r=st(!1),s=_e(()=>t.value),o=_e(()=>ho.find(c=>c.code===s.value)||ho[0]),i=()=>{r.value=!r.value},a=c=>{K_(c),r.value=!1},l=c=>{c.target.closest(".relative")||(r.value=!1)};return Zn(()=>{document.addEventListener("click",l)}),er(()=>{document.removeEventListener("click",l)}),(c,u)=>(Ve(),jt("div",G_,[Be("button",{onClick:i,class:At(["flex items-center space-x-2 px-3 py-2 rounded-lg transition-all duration-200",ve(n)?"bg-gray-800/60 hover:bg-gray-700/80 text-gray-300 hover:text-white":"bg-gray-100 hover:bg-gray-200 text-gray-700 hover:text-gray-900"])},[Pe(ve(Lp),{class:"w-4 h-4"}),Be("span",q_,br(o.value.name),1),Pe(ve(wp),{class:At(["w-4 h-4 transition-transform duration-200",{"rotate-180":r.value}])},null,8,["class"])],2),Pe(Jc,{"enter-active-class":"transition ease-out duration-200","enter-from-class":"opacity-0 scale-95","enter-to-class":"opacity-100 scale-100","leave-active-class":"transition ease-in duration-150","leave-from-class":"opacity-100 scale-100","leave-to-class":"opacity-0 scale-95"},{default:wr(()=>[r.value?(Ve(),jt("div",{key:0,class:At(["absolute right-0 mt-2 w-32 rounded-lg shadow-lg ring-1 ring-black ring-opacity-5 z-50",ve(n)?"bg-gray-800 border border-gray-700":"bg-white border border-gray-200"])},[Be("div",Y_,[(Ve(!0),jt(Me,null,Tc(ve(ho),f=>(Ve(),jt("button",{key:f.code,onClick:d=>a(f.code),class:At(["w-full text-left px-4 py-2 text-sm transition-colors duration-150",s.value===f.code?ve(n)?"bg-indigo-600 text-white":"bg-indigo-50 text-indigo-600":ve(n)?"text-gray-300 hover:bg-gray-700 hover:text-white":"text-gray-700 hover:bg-gray-100"])},br(f.name),11,z_))),128))])],2)):Kc("",!0)]),_:1})]))}}),hl={COLOR_MODE:"colorMode",ADMIN_PASSWORD:"adminPassword",TOKEN:"token"},$e={LIGHT:"light",DARK:"dark",SYSTEM:"system"},rE={IDLE:"idle",UPLOADING:"uploading",SUCCESS:"success",ERROR:"error"},tf={ALERT_DURATION:5e3,REQUEST_TIMEOUT:3e8},nf=dh("alert",{state:()=>({alerts:[]}),actions:{showAlert(e,t="info",n=tf.ALERT_DURATION){const r=Date.now(),s=Date.now();this.alerts.push({id:r,message:e,type:t,progress:100,duration:n,startTime:s}),setTimeout(()=>this.removeAlert(r),n)},removeAlert(e){const t=this.alerts.findIndex(n=>n.id===e);t>-1&&this.alerts.splice(t,1)},updateAlertProgress(e){const t=this.alerts.find(n=>n.id===e);if(t){const r=100-(Date.now()-t.startTime)/t.duration*100;t.progress=Math.max(0,r),t.progress<=0&&this.removeAlert(e)}}}}),J_={class:"p-4"},Q_={class:"flex items-start"},Z_={class:"flex-shrink-0"},ey={class:"ml-3 flex-1 pt-0.5"},ty={class:"text-sm font-medium text-white"},ny={class:"ml-4 flex-shrink-0 flex"},ry=["onClick"],sy={class:"sr-only"},oy={class:"h-1 bg-white bg-opacity-25"},iy=Xt({__name:"AlertComponent",setup(e){const{t}=Hr(),n=nf(),{alerts:r}=mh(n),{removeAlert:s,updateAlertProgress:o}=n,i={success:"from-green-500 to-green-600",error:"from-red-500 to-red-600",warning:"from-yellow-500 to-yellow-600",info:"from-blue-500 to-blue-600"},a={success:Cp,error:Np,warning:Tp,info:Pp};let l;return Zn(()=>{l=setInterval(()=>{r.value.forEach(c=>{o(c.id)})},100)}),er(()=>{clearInterval(l)}),(c,u)=>(Ve(),dn(Gm,{name:"alert-fade",tag:"div",class:"fixed top-4 left-4 z-50 w-full sm:max-w-sm md:max-w-md space-y-4 px-4 sm:px-0"},{default:wr(()=>[(Ve(!0),jt(Me,null,Tc(ve(r),f=>(Ve(),jt("div",{key:f.id,class:At(["w-full rounded-lg shadow-xl overflow-hidden","bg-gradient-to-r",i[f.type]])},[Be("div",J_,[Be("div",Q_,[Be("div",Z_,[(Ve(),dn(Sc(a[f.type]),{class:"h-6 w-6 text-white"}))]),Be("div",ey,[Be("p",ty,br(f.message),1)]),Be("div",ny,[Be("button",{onClick:d=>ve(s)(f.id),class:"inline-flex text-white hover:text-gray-200 focus:outline-none transition-colors duration-200"},[Be("span",sy,br(ve(t)("common.close")),1),Pe(ve(Ap),{class:"h-5 w-5"})],8,ry)])])]),Be("div",oy,[Be("div",{class:"h-full bg-white transition-all duration-100 ease-out",style:Cs({width:`${f.progress}%`})},null,4)])],2))),128))]),_:1}))}}),ay=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},ly=ay(iy,[["__scopeId","data-v-59f86e5f"]]);function rf(e,t){return function(){return e.apply(t,arguments)}}const{toString:cy}=Object.prototype,{getPrototypeOf:wi}=Object,{iterator:Bs,toStringTag:sf}=Symbol,Hs=(e=>t=>{const n=cy.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),wt=e=>(e=e.toLowerCase(),t=>Hs(t)===e),Ws=e=>t=>typeof t===e,{isArray:nr}=Array,xr=Ws("undefined");function Wr(e){return e!==null&&!xr(e)&&e.constructor!==null&&!xr(e.constructor)&&ot(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const of=wt("ArrayBuffer");function uy(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&of(e.buffer),t}const fy=Ws("string"),ot=Ws("function"),af=Ws("number"),Vr=e=>e!==null&&typeof e=="object",dy=e=>e===!0||e===!1,rs=e=>{if(Hs(e)!=="object")return!1;const t=wi(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(sf in e)&&!(Bs in e)},my=e=>{if(!Vr(e)||Wr(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},hy=wt("Date"),py=wt("File"),gy=wt("Blob"),_y=wt("FileList"),yy=e=>Vr(e)&&ot(e.pipe),by=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||ot(e.append)&&((t=Hs(e))==="formdata"||t==="object"&&ot(e.toString)&&e.toString()==="[object FormData]"))},Ey=wt("URLSearchParams"),[vy,Sy,wy,Ty]=["ReadableStream","Request","Response","Headers"].map(wt),Cy=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function jr(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,s;if(typeof e!="object"&&(e=[e]),nr(e))for(r=0,s=e.length;r0;)if(s=n[r],t===s.toLowerCase())return s;return null}const On=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,cf=e=>!xr(e)&&e!==On;function Wo(){const{caseless:e}=cf(this)&&this||{},t={},n=(r,s)=>{const o=e&&lf(t,s)||s;rs(t[o])&&rs(r)?t[o]=Wo(t[o],r):rs(r)?t[o]=Wo({},r):nr(r)?t[o]=r.slice():t[o]=r};for(let r=0,s=arguments.length;r(jr(t,(s,o)=>{n&&ot(s)?e[o]=rf(s,n):e[o]=s},{allOwnKeys:r}),e),Py=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Ry=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},Oy=(e,t,n,r)=>{let s,o,i;const a={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),o=s.length;o-- >0;)i=s[o],(!r||r(i,e,t))&&!a[i]&&(t[i]=e[i],a[i]=!0);e=n!==!1&&wi(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},Ny=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},Ay=e=>{if(!e)return null;if(nr(e))return e;let t=e.length;if(!af(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},Iy=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&wi(Uint8Array)),ky=(e,t)=>{const r=(e&&e[Bs]).call(e);let s;for(;(s=r.next())&&!s.done;){const o=s.value;t.call(e,o[0],o[1])}},xy=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},Fy=wt("HTMLFormElement"),My=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),pl=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),Dy=wt("RegExp"),uf=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};jr(n,(s,o)=>{let i;(i=t(s,o,e))!==!1&&(r[o]=i||s)}),Object.defineProperties(e,r)},Uy=e=>{uf(e,(t,n)=>{if(ot(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(ot(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},$y=(e,t)=>{const n={},r=s=>{s.forEach(o=>{n[o]=!0})};return nr(e)?r(e):r(String(e).split(t)),n},By=()=>{},Hy=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Wy(e){return!!(e&&ot(e.append)&&e[sf]==="FormData"&&e[Bs])}const Vy=e=>{const t=new Array(10),n=(r,s)=>{if(Vr(r)){if(t.indexOf(r)>=0)return;if(Wr(r))return r;if(!("toJSON"in r)){t[s]=r;const o=nr(r)?[]:{};return jr(r,(i,a)=>{const l=n(i,s+1);!xr(l)&&(o[a]=l)}),t[s]=void 0,o}}return r};return n(e,0)},jy=wt("AsyncFunction"),Ky=e=>e&&(Vr(e)||ot(e))&&ot(e.then)&&ot(e.catch),ff=((e,t)=>e?setImmediate:t?((n,r)=>(On.addEventListener("message",({source:s,data:o})=>{s===On&&o===n&&r.length&&r.shift()()},!1),s=>{r.push(s),On.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",ot(On.postMessage)),Gy=typeof queueMicrotask<"u"?queueMicrotask.bind(On):typeof process<"u"&&process.nextTick||ff,qy=e=>e!=null&&ot(e[Bs]),A={isArray:nr,isArrayBuffer:of,isBuffer:Wr,isFormData:by,isArrayBufferView:uy,isString:fy,isNumber:af,isBoolean:dy,isObject:Vr,isPlainObject:rs,isEmptyObject:my,isReadableStream:vy,isRequest:Sy,isResponse:wy,isHeaders:Ty,isUndefined:xr,isDate:hy,isFile:py,isBlob:gy,isRegExp:Dy,isFunction:ot,isStream:yy,isURLSearchParams:Ey,isTypedArray:Iy,isFileList:_y,forEach:jr,merge:Wo,extend:Ly,trim:Cy,stripBOM:Py,inherits:Ry,toFlatObject:Oy,kindOf:Hs,kindOfTest:wt,endsWith:Ny,toArray:Ay,forEachEntry:ky,matchAll:xy,isHTMLForm:Fy,hasOwnProperty:pl,hasOwnProp:pl,reduceDescriptors:uf,freezeMethods:Uy,toObjectSet:$y,toCamelCase:My,noop:By,toFiniteNumber:Hy,findKey:lf,global:On,isContextDefined:cf,isSpecCompliantForm:Wy,toJSONObject:Vy,isAsyncFn:jy,isThenable:Ky,setImmediate:ff,asap:Gy,isIterable:qy};function se(e,t,n,r,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),s&&(this.response=s,this.status=s.status?s.status:null)}A.inherits(se,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:A.toJSONObject(this.config),code:this.code,status:this.status}}});const df=se.prototype,mf={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{mf[e]={value:e}});Object.defineProperties(se,mf);Object.defineProperty(df,"isAxiosError",{value:!0});se.from=(e,t,n,r,s,o)=>{const i=Object.create(df);return A.toFlatObject(e,i,function(l){return l!==Error.prototype},a=>a!=="isAxiosError"),se.call(i,e.message,t,n,r,s),i.cause=e,i.name=e.name,o&&Object.assign(i,o),i};const Yy=null;function Vo(e){return A.isPlainObject(e)||A.isArray(e)}function hf(e){return A.endsWith(e,"[]")?e.slice(0,-2):e}function gl(e,t,n){return e?e.concat(t).map(function(s,o){return s=hf(s),!n&&o?"["+s+"]":s}).join(n?".":""):t}function zy(e){return A.isArray(e)&&!e.some(Vo)}const Xy=A.toFlatObject(A,{},null,function(t){return/^is[A-Z]/.test(t)});function Vs(e,t,n){if(!A.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=A.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(S,w){return!A.isUndefined(w[S])});const r=n.metaTokens,s=n.visitor||u,o=n.dots,i=n.indexes,l=(n.Blob||typeof Blob<"u"&&Blob)&&A.isSpecCompliantForm(t);if(!A.isFunction(s))throw new TypeError("visitor must be a function");function c(E){if(E===null)return"";if(A.isDate(E))return E.toISOString();if(A.isBoolean(E))return E.toString();if(!l&&A.isBlob(E))throw new se("Blob is not supported. Use a Buffer instead.");return A.isArrayBuffer(E)||A.isTypedArray(E)?l&&typeof Blob=="function"?new Blob([E]):Buffer.from(E):E}function u(E,S,w){let O=E;if(E&&!w&&typeof E=="object"){if(A.endsWith(S,"{}"))S=r?S:S.slice(0,-2),E=JSON.stringify(E);else if(A.isArray(E)&&zy(E)||(A.isFileList(E)||A.endsWith(S,"[]"))&&(O=A.toArray(E)))return S=hf(S),O.forEach(function(b,v){!(A.isUndefined(b)||b===null)&&t.append(i===!0?gl([S],v,o):i===null?S:S+"[]",c(b))}),!1}return Vo(E)?!0:(t.append(gl(w,S,o),c(E)),!1)}const f=[],d=Object.assign(Xy,{defaultVisitor:u,convertValue:c,isVisitable:Vo});function p(E,S){if(!A.isUndefined(E)){if(f.indexOf(E)!==-1)throw Error("Circular reference detected in "+S.join("."));f.push(E),A.forEach(E,function(O,k){(!(A.isUndefined(O)||O===null)&&s.call(t,O,A.isString(k)?k.trim():k,S,d))===!0&&p(O,S?S.concat(k):[k])}),f.pop()}}if(!A.isObject(e))throw new TypeError("data must be an object");return p(e),t}function _l(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function Ti(e,t){this._pairs=[],e&&Vs(e,this,t)}const pf=Ti.prototype;pf.append=function(t,n){this._pairs.push([t,n])};pf.toString=function(t){const n=t?function(r){return t.call(this,r,_l)}:_l;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function Jy(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function gf(e,t,n){if(!t)return e;const r=n&&n.encode||Jy;A.isFunction(n)&&(n={serialize:n});const s=n&&n.serialize;let o;if(s?o=s(t,n):o=A.isURLSearchParams(t)?t.toString():new Ti(t,n).toString(r),o){const i=e.indexOf("#");i!==-1&&(e=e.slice(0,i)),e+=(e.indexOf("?")===-1?"?":"&")+o}return e}class yl{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){A.forEach(this.handlers,function(r){r!==null&&t(r)})}}const _f={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Qy=typeof URLSearchParams<"u"?URLSearchParams:Ti,Zy=typeof FormData<"u"?FormData:null,eb=typeof Blob<"u"?Blob:null,tb={isBrowser:!0,classes:{URLSearchParams:Qy,FormData:Zy,Blob:eb},protocols:["http","https","file","blob","url","data"]},Ci=typeof window<"u"&&typeof document<"u",jo=typeof navigator=="object"&&navigator||void 0,nb=Ci&&(!jo||["ReactNative","NativeScript","NS"].indexOf(jo.product)<0),rb=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",sb=Ci&&window.location.href||"http://localhost",ob=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Ci,hasStandardBrowserEnv:nb,hasStandardBrowserWebWorkerEnv:rb,navigator:jo,origin:sb},Symbol.toStringTag,{value:"Module"})),ze={...ob,...tb};function ib(e,t){return Vs(e,new ze.classes.URLSearchParams,{visitor:function(n,r,s,o){return ze.isNode&&A.isBuffer(n)?(this.append(r,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...t})}function ab(e){return A.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function lb(e){const t={},n=Object.keys(e);let r;const s=n.length;let o;for(r=0;r=n.length;return i=!i&&A.isArray(s)?s.length:i,l?(A.hasOwnProp(s,i)?s[i]=[s[i],r]:s[i]=r,!a):((!s[i]||!A.isObject(s[i]))&&(s[i]=[]),t(n,r,s[i],o)&&A.isArray(s[i])&&(s[i]=lb(s[i])),!a)}if(A.isFormData(e)&&A.isFunction(e.entries)){const n={};return A.forEachEntry(e,(r,s)=>{t(ab(r),s,n,0)}),n}return null}function cb(e,t,n){if(A.isString(e))try{return(t||JSON.parse)(e),A.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const Kr={transitional:_f,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",s=r.indexOf("application/json")>-1,o=A.isObject(t);if(o&&A.isHTMLForm(t)&&(t=new FormData(t)),A.isFormData(t))return s?JSON.stringify(yf(t)):t;if(A.isArrayBuffer(t)||A.isBuffer(t)||A.isStream(t)||A.isFile(t)||A.isBlob(t)||A.isReadableStream(t))return t;if(A.isArrayBufferView(t))return t.buffer;if(A.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(o){if(r.indexOf("application/x-www-form-urlencoded")>-1)return ib(t,this.formSerializer).toString();if((a=A.isFileList(t))||r.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return Vs(a?{"files[]":t}:t,l&&new l,this.formSerializer)}}return o||s?(n.setContentType("application/json",!1),cb(t)):t}],transformResponse:[function(t){const n=this.transitional||Kr.transitional,r=n&&n.forcedJSONParsing,s=this.responseType==="json";if(A.isResponse(t)||A.isReadableStream(t))return t;if(t&&A.isString(t)&&(r&&!this.responseType||s)){const i=!(n&&n.silentJSONParsing)&&s;try{return JSON.parse(t)}catch(a){if(i)throw a.name==="SyntaxError"?se.from(a,se.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ze.classes.FormData,Blob:ze.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};A.forEach(["delete","get","head","post","put","patch"],e=>{Kr.headers[e]={}});const ub=A.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),fb=e=>{const t={};let n,r,s;return e&&e.split(` -`).forEach(function(i){s=i.indexOf(":"),n=i.substring(0,s).trim().toLowerCase(),r=i.substring(s+1).trim(),!(!n||t[n]&&ub[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},bl=Symbol("internals");function lr(e){return e&&String(e).trim().toLowerCase()}function ss(e){return e===!1||e==null?e:A.isArray(e)?e.map(ss):String(e)}function db(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const mb=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function po(e,t,n,r,s){if(A.isFunction(r))return r.call(this,t,n);if(s&&(t=n),!!A.isString(t)){if(A.isString(r))return t.indexOf(r)!==-1;if(A.isRegExp(r))return r.test(t)}}function hb(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function pb(e,t){const n=A.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(s,o,i){return this[r].call(this,t,s,o,i)},configurable:!0})})}let it=class{constructor(t){t&&this.set(t)}set(t,n,r){const s=this;function o(a,l,c){const u=lr(l);if(!u)throw new Error("header name must be a non-empty string");const f=A.findKey(s,u);(!f||s[f]===void 0||c===!0||c===void 0&&s[f]!==!1)&&(s[f||l]=ss(a))}const i=(a,l)=>A.forEach(a,(c,u)=>o(c,u,l));if(A.isPlainObject(t)||t instanceof this.constructor)i(t,n);else if(A.isString(t)&&(t=t.trim())&&!mb(t))i(fb(t),n);else if(A.isObject(t)&&A.isIterable(t)){let a={},l,c;for(const u of t){if(!A.isArray(u))throw TypeError("Object iterator must return a key-value pair");a[c=u[0]]=(l=a[c])?A.isArray(l)?[...l,u[1]]:[l,u[1]]:u[1]}i(a,n)}else t!=null&&o(n,t,r);return this}get(t,n){if(t=lr(t),t){const r=A.findKey(this,t);if(r){const s=this[r];if(!n)return s;if(n===!0)return db(s);if(A.isFunction(n))return n.call(this,s,r);if(A.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=lr(t),t){const r=A.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||po(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let s=!1;function o(i){if(i=lr(i),i){const a=A.findKey(r,i);a&&(!n||po(r,r[a],a,n))&&(delete r[a],s=!0)}}return A.isArray(t)?t.forEach(o):o(t),s}clear(t){const n=Object.keys(this);let r=n.length,s=!1;for(;r--;){const o=n[r];(!t||po(this,this[o],o,t,!0))&&(delete this[o],s=!0)}return s}normalize(t){const n=this,r={};return A.forEach(this,(s,o)=>{const i=A.findKey(r,o);if(i){n[i]=ss(s),delete n[o];return}const a=t?hb(o):String(o).trim();a!==o&&delete n[o],n[a]=ss(s),r[a]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return A.forEach(this,(r,s)=>{r!=null&&r!==!1&&(n[s]=t&&A.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` -`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(s=>r.set(s)),r}static accessor(t){const r=(this[bl]=this[bl]={accessors:{}}).accessors,s=this.prototype;function o(i){const a=lr(i);r[a]||(pb(s,i),r[a]=!0)}return A.isArray(t)?t.forEach(o):o(t),this}};it.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);A.reduceDescriptors(it.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});A.freezeMethods(it);function go(e,t){const n=this||Kr,r=t||n,s=it.from(r.headers);let o=r.data;return A.forEach(e,function(a){o=a.call(n,o,s.normalize(),t?t.status:void 0)}),s.normalize(),o}function bf(e){return!!(e&&e.__CANCEL__)}function rr(e,t,n){se.call(this,e??"canceled",se.ERR_CANCELED,t,n),this.name="CanceledError"}A.inherits(rr,se,{__CANCEL__:!0});function Ef(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new se("Request failed with status code "+n.status,[se.ERR_BAD_REQUEST,se.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function gb(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function _b(e,t){e=e||10;const n=new Array(e),r=new Array(e);let s=0,o=0,i;return t=t!==void 0?t:1e3,function(l){const c=Date.now(),u=r[o];i||(i=c),n[s]=l,r[s]=c;let f=o,d=0;for(;f!==s;)d+=n[f++],f=f%e;if(s=(s+1)%e,s===o&&(o=(o+1)%e),c-i{n=u,s=null,o&&(clearTimeout(o),o=null),e(...c)};return[(...c)=>{const u=Date.now(),f=u-n;f>=r?i(c,u):(s=c,o||(o=setTimeout(()=>{o=null,i(s)},r-f)))},()=>s&&i(s)]}const bs=(e,t,n=3)=>{let r=0;const s=_b(50,250);return yb(o=>{const i=o.loaded,a=o.lengthComputable?o.total:void 0,l=i-r,c=s(l),u=i<=a;r=i;const f={loaded:i,total:a,progress:a?i/a:void 0,bytes:l,rate:c||void 0,estimated:c&&a&&u?(a-i)/c:void 0,event:o,lengthComputable:a!=null,[t?"download":"upload"]:!0};e(f)},n)},El=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},vl=e=>(...t)=>A.asap(()=>e(...t)),bb=ze.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,ze.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(ze.origin),ze.navigator&&/(msie|trident)/i.test(ze.navigator.userAgent)):()=>!0,Eb=ze.hasStandardBrowserEnv?{write(e,t,n,r,s,o){const i=[e+"="+encodeURIComponent(t)];A.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),A.isString(r)&&i.push("path="+r),A.isString(s)&&i.push("domain="+s),o===!0&&i.push("secure"),document.cookie=i.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function vb(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function Sb(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function vf(e,t,n){let r=!vb(t);return e&&(r||n==!1)?Sb(e,t):t}const Sl=e=>e instanceof it?{...e}:e;function Fn(e,t){t=t||{};const n={};function r(c,u,f,d){return A.isPlainObject(c)&&A.isPlainObject(u)?A.merge.call({caseless:d},c,u):A.isPlainObject(u)?A.merge({},u):A.isArray(u)?u.slice():u}function s(c,u,f,d){if(A.isUndefined(u)){if(!A.isUndefined(c))return r(void 0,c,f,d)}else return r(c,u,f,d)}function o(c,u){if(!A.isUndefined(u))return r(void 0,u)}function i(c,u){if(A.isUndefined(u)){if(!A.isUndefined(c))return r(void 0,c)}else return r(void 0,u)}function a(c,u,f){if(f in t)return r(c,u);if(f in e)return r(void 0,c)}const l={url:o,method:o,data:o,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a,headers:(c,u,f)=>s(Sl(c),Sl(u),f,!0)};return A.forEach(Object.keys({...e,...t}),function(u){const f=l[u]||s,d=f(e[u],t[u],u);A.isUndefined(d)&&f!==a||(n[u]=d)}),n}const Sf=e=>{const t=Fn({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:s,xsrfCookieName:o,headers:i,auth:a}=t;t.headers=i=it.from(i),t.url=gf(vf(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),a&&i.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):"")));let l;if(A.isFormData(n)){if(ze.hasStandardBrowserEnv||ze.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if((l=i.getContentType())!==!1){const[c,...u]=l?l.split(";").map(f=>f.trim()).filter(Boolean):[];i.setContentType([c||"multipart/form-data",...u].join("; "))}}if(ze.hasStandardBrowserEnv&&(r&&A.isFunction(r)&&(r=r(t)),r||r!==!1&&bb(t.url))){const c=s&&o&&Eb.read(o);c&&i.set(s,c)}return t},wb=typeof XMLHttpRequest<"u",Tb=wb&&function(e){return new Promise(function(n,r){const s=Sf(e);let o=s.data;const i=it.from(s.headers).normalize();let{responseType:a,onUploadProgress:l,onDownloadProgress:c}=s,u,f,d,p,E;function S(){p&&p(),E&&E(),s.cancelToken&&s.cancelToken.unsubscribe(u),s.signal&&s.signal.removeEventListener("abort",u)}let w=new XMLHttpRequest;w.open(s.method.toUpperCase(),s.url,!0),w.timeout=s.timeout;function O(){if(!w)return;const b=it.from("getAllResponseHeaders"in w&&w.getAllResponseHeaders()),L={data:!a||a==="text"||a==="json"?w.responseText:w.response,status:w.status,statusText:w.statusText,headers:b,config:e,request:w};Ef(function(M){n(M),S()},function(M){r(M),S()},L),w=null}"onloadend"in w?w.onloadend=O:w.onreadystatechange=function(){!w||w.readyState!==4||w.status===0&&!(w.responseURL&&w.responseURL.indexOf("file:")===0)||setTimeout(O)},w.onabort=function(){w&&(r(new se("Request aborted",se.ECONNABORTED,e,w)),w=null)},w.onerror=function(){r(new se("Network Error",se.ERR_NETWORK,e,w)),w=null},w.ontimeout=function(){let v=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const L=s.transitional||_f;s.timeoutErrorMessage&&(v=s.timeoutErrorMessage),r(new se(v,L.clarifyTimeoutError?se.ETIMEDOUT:se.ECONNABORTED,e,w)),w=null},o===void 0&&i.setContentType(null),"setRequestHeader"in w&&A.forEach(i.toJSON(),function(v,L){w.setRequestHeader(L,v)}),A.isUndefined(s.withCredentials)||(w.withCredentials=!!s.withCredentials),a&&a!=="json"&&(w.responseType=s.responseType),c&&([d,E]=bs(c,!0),w.addEventListener("progress",d)),l&&w.upload&&([f,p]=bs(l),w.upload.addEventListener("progress",f),w.upload.addEventListener("loadend",p)),(s.cancelToken||s.signal)&&(u=b=>{w&&(r(!b||b.type?new rr(null,e,w):b),w.abort(),w=null)},s.cancelToken&&s.cancelToken.subscribe(u),s.signal&&(s.signal.aborted?u():s.signal.addEventListener("abort",u)));const k=gb(s.url);if(k&&ze.protocols.indexOf(k)===-1){r(new se("Unsupported protocol "+k+":",se.ERR_BAD_REQUEST,e));return}w.send(o||null)})},Cb=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,s;const o=function(c){if(!s){s=!0,a();const u=c instanceof Error?c:this.reason;r.abort(u instanceof se?u:new rr(u instanceof Error?u.message:u))}};let i=t&&setTimeout(()=>{i=null,o(new se(`timeout ${t} of ms exceeded`,se.ETIMEDOUT))},t);const a=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach(c=>{c.unsubscribe?c.unsubscribe(o):c.removeEventListener("abort",o)}),e=null)};e.forEach(c=>c.addEventListener("abort",o));const{signal:l}=r;return l.unsubscribe=()=>A.asap(a),l}},Lb=function*(e,t){let n=e.byteLength;if(n{const s=Pb(e,t);let o=0,i,a=l=>{i||(i=!0,r&&r(l))};return new ReadableStream({async pull(l){try{const{done:c,value:u}=await s.next();if(c){a(),l.close();return}let f=u.byteLength;if(n){let d=o+=f;n(d)}l.enqueue(new Uint8Array(u))}catch(c){throw a(c),c}},cancel(l){return a(l),s.return()}},{highWaterMark:2})},js=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",wf=js&&typeof ReadableStream=="function",Ob=js&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),Tf=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Nb=wf&&Tf(()=>{let e=!1;const t=new Request(ze.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),Tl=64*1024,Ko=wf&&Tf(()=>A.isReadableStream(new Response("").body)),Es={stream:Ko&&(e=>e.body)};js&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!Es[t]&&(Es[t]=A.isFunction(e[t])?n=>n[t]():(n,r)=>{throw new se(`Response type '${t}' is not supported`,se.ERR_NOT_SUPPORT,r)})})})(new Response);const Ab=async e=>{if(e==null)return 0;if(A.isBlob(e))return e.size;if(A.isSpecCompliantForm(e))return(await new Request(ze.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(A.isArrayBufferView(e)||A.isArrayBuffer(e))return e.byteLength;if(A.isURLSearchParams(e)&&(e=e+""),A.isString(e))return(await Ob(e)).byteLength},Ib=async(e,t)=>{const n=A.toFiniteNumber(e.getContentLength());return n??Ab(t)},kb=js&&(async e=>{let{url:t,method:n,data:r,signal:s,cancelToken:o,timeout:i,onDownloadProgress:a,onUploadProgress:l,responseType:c,headers:u,withCredentials:f="same-origin",fetchOptions:d}=Sf(e);c=c?(c+"").toLowerCase():"text";let p=Cb([s,o&&o.toAbortSignal()],i),E;const S=p&&p.unsubscribe&&(()=>{p.unsubscribe()});let w;try{if(l&&Nb&&n!=="get"&&n!=="head"&&(w=await Ib(u,r))!==0){let L=new Request(t,{method:"POST",body:r,duplex:"half"}),N;if(A.isFormData(r)&&(N=L.headers.get("content-type"))&&u.setContentType(N),L.body){const[M,$]=El(w,bs(vl(l)));r=wl(L.body,Tl,M,$)}}A.isString(f)||(f=f?"include":"omit");const O="credentials"in Request.prototype;E=new Request(t,{...d,signal:p,method:n.toUpperCase(),headers:u.normalize().toJSON(),body:r,duplex:"half",credentials:O?f:void 0});let k=await fetch(E,d);const b=Ko&&(c==="stream"||c==="response");if(Ko&&(a||b&&S)){const L={};["status","statusText","headers"].forEach(R=>{L[R]=k[R]});const N=A.toFiniteNumber(k.headers.get("content-length")),[M,$]=a&&El(N,bs(vl(a),!0))||[];k=new Response(wl(k.body,Tl,M,()=>{$&&$(),S&&S()}),L)}c=c||"text";let v=await Es[A.findKey(Es,c)||"text"](k,e);return!b&&S&&S(),await new Promise((L,N)=>{Ef(L,N,{data:v,headers:it.from(k.headers),status:k.status,statusText:k.statusText,config:e,request:E})})}catch(O){throw S&&S(),O&&O.name==="TypeError"&&/Load failed|fetch/i.test(O.message)?Object.assign(new se("Network Error",se.ERR_NETWORK,e,E),{cause:O.cause||O}):se.from(O,O&&O.code,e,E)}}),Go={http:Yy,xhr:Tb,fetch:kb};A.forEach(Go,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const Cl=e=>`- ${e}`,xb=e=>A.isFunction(e)||e===null||e===!1,Cf={getAdapter:e=>{e=A.isArray(e)?e:[e];const{length:t}=e;let n,r;const s={};for(let o=0;o`adapter ${a} `+(l===!1?"is not supported by the environment":"is not available in the build"));let i=t?o.length>1?`since : -`+o.map(Cl).join(` -`):" "+Cl(o[0]):"as no adapter specified";throw new se("There is no suitable adapter to dispatch the request "+i,"ERR_NOT_SUPPORT")}return r},adapters:Go};function _o(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new rr(null,e)}function Ll(e){return _o(e),e.headers=it.from(e.headers),e.data=go.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Cf.getAdapter(e.adapter||Kr.adapter)(e).then(function(r){return _o(e),r.data=go.call(e,e.transformResponse,r),r.headers=it.from(r.headers),r},function(r){return bf(r)||(_o(e),r&&r.response&&(r.response.data=go.call(e,e.transformResponse,r.response),r.response.headers=it.from(r.response.headers))),Promise.reject(r)})}const Lf="1.11.0",Ks={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Ks[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const Pl={};Ks.transitional=function(t,n,r){function s(o,i){return"[Axios v"+Lf+"] Transitional option '"+o+"'"+i+(r?". "+r:"")}return(o,i,a)=>{if(t===!1)throw new se(s(i," has been removed"+(n?" in "+n:"")),se.ERR_DEPRECATED);return n&&!Pl[i]&&(Pl[i]=!0,console.warn(s(i," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(o,i,a):!0}};Ks.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function Fb(e,t,n){if(typeof e!="object")throw new se("options must be an object",se.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let s=r.length;for(;s-- >0;){const o=r[s],i=t[o];if(i){const a=e[o],l=a===void 0||i(a,o,e);if(l!==!0)throw new se("option "+o+" must be "+l,se.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new se("Unknown option "+o,se.ERR_BAD_OPTION)}}const os={assertOptions:Fb,validators:Ks},Pt=os.validators;let kn=class{constructor(t){this.defaults=t||{},this.interceptors={request:new yl,response:new yl}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const o=s.stack?s.stack.replace(/^.+\n/,""):"";try{r.stack?o&&!String(r.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(r.stack+=` -`+o):r.stack=o}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Fn(this.defaults,n);const{transitional:r,paramsSerializer:s,headers:o}=n;r!==void 0&&os.assertOptions(r,{silentJSONParsing:Pt.transitional(Pt.boolean),forcedJSONParsing:Pt.transitional(Pt.boolean),clarifyTimeoutError:Pt.transitional(Pt.boolean)},!1),s!=null&&(A.isFunction(s)?n.paramsSerializer={serialize:s}:os.assertOptions(s,{encode:Pt.function,serialize:Pt.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),os.assertOptions(n,{baseUrl:Pt.spelling("baseURL"),withXsrfToken:Pt.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let i=o&&A.merge(o.common,o[n.method]);o&&A.forEach(["delete","get","head","post","put","patch","common"],E=>{delete o[E]}),n.headers=it.concat(i,o);const a=[];let l=!0;this.interceptors.request.forEach(function(S){typeof S.runWhen=="function"&&S.runWhen(n)===!1||(l=l&&S.synchronous,a.unshift(S.fulfilled,S.rejected))});const c=[];this.interceptors.response.forEach(function(S){c.push(S.fulfilled,S.rejected)});let u,f=0,d;if(!l){const E=[Ll.bind(this),void 0];for(E.unshift(...a),E.push(...c),d=E.length,u=Promise.resolve(n);f{if(!r._listeners)return;let o=r._listeners.length;for(;o-- >0;)r._listeners[o](s);r._listeners=null}),this.promise.then=s=>{let o;const i=new Promise(a=>{r.subscribe(a),o=a}).then(s);return i.cancel=function(){r.unsubscribe(o)},i},t(function(o,i,a){r.reason||(r.reason=new rr(o,i,a),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new Pf(function(s){t=s}),cancel:t}}};function Db(e){return function(n){return e.apply(null,n)}}function Ub(e){return A.isObject(e)&&e.isAxiosError===!0}const qo={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(qo).forEach(([e,t])=>{qo[t]=e});function Rf(e){const t=new kn(e),n=rf(kn.prototype.request,t);return A.extend(n,kn.prototype,t,{allOwnKeys:!0}),A.extend(n,t,null,{allOwnKeys:!0}),n.create=function(s){return Rf(Fn(e,s))},n}const Ae=Rf(Kr);Ae.Axios=kn;Ae.CanceledError=rr;Ae.CancelToken=Mb;Ae.isCancel=bf;Ae.VERSION=Lf;Ae.toFormData=Vs;Ae.AxiosError=se;Ae.Cancel=Ae.CanceledError;Ae.all=function(t){return Promise.all(t)};Ae.spread=Db;Ae.isAxiosError=Ub;Ae.mergeConfig=Fn;Ae.AxiosHeaders=it;Ae.formToJSON=e=>yf(A.isHTMLForm(e)?new FormData(e):e);Ae.getAdapter=Cf.getAdapter;Ae.HttpStatusCode=qo;Ae.default=Ae;const{Axios:iE,AxiosError:aE,CanceledError:lE,isCancel:cE,CancelToken:uE,VERSION:fE,all:dE,Cancel:mE,isAxiosError:hE,spread:pE,toFormData:gE,AxiosHeaders:_E,HttpStatusCode:yE,formToJSON:bE,getAdapter:EE,mergeConfig:vE}=Ae,$b="",Of=$b,Ie=Ae.create({baseURL:Of,timeout:tf.REQUEST_TIMEOUT,headers:{"Content-Type":"application/json"}});Ie.interceptors.request.use(e=>{const t=localStorage.getItem("token");return t&&(e.headers.Authorization=`Bearer ${t}`),e.url&&!e.url.startsWith("http")&&(e.url=`${Of}/${e.url.replace(/^\//,"")}`),e},e=>Promise.reject(e));Ie.interceptors.response.use(e=>e.data,e=>{if(e.response){const{status:t}=e.response;switch(t){case 401:localStorage.removeItem("token"),window.location.hash!=="#/login"&&(window.location.href="/#/login");break}}else e.request;return Promise.reject(e)});class Bb{static async getConfig(){return Ie.get("/admin/config/get")}static async getUserConfig(){return Ie.post("/")}static async updateConfig(t){return Ie.patch("/admin/config/update",t)}}class SE{static async uploadFile(t,n){const r=new FormData;return r.append("file",t),Ie.post("/share/file/",r,{headers:{"Content-Type":"multipart/form-data"},onUploadProgress:s=>{if(n&&s.total){const o={loaded:s.loaded,total:s.total,percentage:Math.round(s.loaded*100/s.total)};n(o)}}})}static async uploadText(t){return Ie.post("/share/text/",{content:t})}static async getFile(t){return Ie.get(`/file/${t}`)}static async downloadFile(t){return(await Ie.get(`/download/${t}`,{responseType:"blob"})).data}static async deleteFile(t){return Ie.post("/admin/file/delete",{id:t})}static async getFileList(t=1,n=10){return Ie.get("/admin/file/list",{params:{page:t,size:n}})}static async getAdminFileList(t){return Ie.get("/admin/file/list",{params:t})}static async updateFile(t){return Ie.patch("/admin/file/update",t)}static async deleteAdminFile(t){return Ie.delete("/admin/file/delete",{data:{id:t}})}static async downloadAdminFile(t){return Ie.get("/admin/file/download",{params:{id:t},responseType:"blob"})}}class wE{static async login(t){return Ie.post("/admin/login",{password:t})}static async logout(){return Ie.post("/admin/logout")}static async verifyToken(){return Ie.get("/admin/verify")}}class TE{static async getDashboardStats(){return Ie.get("/admin/dashboard")}static async getDashboard(){return Ie.get("/admin/dashboard")}}function Hb(){const e=st(!1),t=st($e.SYSTEM),n=()=>window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches,r=()=>{const f=localStorage.getItem(hl.COLOR_MODE);return f&&Object.values($e).includes(f)?f:null},s=f=>{t.value=f,localStorage.setItem(hl.COLOR_MODE,f),f===$e.SYSTEM?e.value=n():e.value=f===$e.DARK,o()},o=()=>{const f=document.documentElement;e.value?f.classList.add("dark"):f.classList.remove("dark")},i=()=>{t.value===$e.LIGHT?s($e.DARK):t.value===$e.DARK?s($e.SYSTEM):s($e.LIGHT)},a=()=>{if(window.matchMedia){const f=window.matchMedia("(prefers-color-scheme: dark)"),d=p=>{t.value===$e.SYSTEM&&(e.value=p.matches,o())};return f.addEventListener("change",d),()=>{f.removeEventListener("change",d)}}return()=>{}},l=()=>{const f=r();return s(f||$e.SYSTEM),a()},c=_e(()=>{switch(t.value){case $e.LIGHT:return"sun";case $e.DARK:return"moon";case $e.SYSTEM:return"monitor";default:return"monitor"}}),u=_e(()=>{switch(t.value){case $e.LIGHT:return"浅色模式";case $e.DARK:return"深色模式";case $e.SYSTEM:return"跟随系统";default:return"跟随系统"}});return{isDarkMode:e,themeMode:t,themeIcon:c,themeLabel:u,setThemeMode:s,toggleTheme:i,initTheme:l,checkSystemColorScheme:n}}const Wb={class:"fixed top-4 right-4 z-50 flex items-center space-x-3"},Vb={key:0,class:"loading-overlay"},jb=Xt({__name:"App",setup(e){const t=st(!1),n=_p(),r=yp(),s=nf(),{isDarkMode:o,toggleTheme:i,initTheme:a}=Hb();let l=null;return Zn(()=>{l=a(),Bb.getUserConfig().then(c=>{c.code===200&&c.detail&&(localStorage.setItem("config",JSON.stringify(c.detail)),c.detail.notify_title&&c.detail.notify_content&&localStorage.getItem("notify")!==c.detail.notify_title+c.detail.notify_content&&(localStorage.setItem("notify",c.detail.notify_title+c.detail.notify_content),s.showAlert(c.detail.notify_title+": "+c.detail.notify_content,"success")))})}),er(()=>{l&&l()}),n.beforeEach((c,u,f)=>{t.value=!0,f()}),n.afterEach(()=>{setTimeout(()=>{t.value=!1},200)}),In("isDarkMode",o),In("toggleTheme",i),In("isLoading",t),(c,u)=>(Ve(),jt("div",{class:At(["app-container",ve(o)?"dark":"light"])},[Be("div",Wb,[Pe(X_),Pe(Ip,{modelValue:ve(o),"onUpdate:modelValue":u[0]||(u[0]=f=>we(o)?o.value=f:null)},null,8,["modelValue"])]),t.value?(Ve(),jt("div",Vb,[...u[1]||(u[1]=[Be("div",{class:"loading-spinner"},null,-1)])])):Kc("",!0),Pe(ve(bu),null,{default:wr(({Component:f})=>[Pe(Jc,{name:"fade",mode:"out-in"},{default:wr(()=>[(Ve(),dn(Sc(f),{key:ve(r).fullPath}))]),_:2},1024)]),_:1}),Pe(ly)],2))}}),Kb="modulepreload",Gb=function(e){return"/"+e},Rl={},Pn=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){let l=function(c){return Promise.all(c.map(u=>Promise.resolve(u).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),a=i?.nonce||i?.getAttribute("nonce");s=l(n.map(c=>{if(c=Gb(c),c in Rl)return;Rl[c]=!0;const u=c.endsWith(".css"),f=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${f}`))return;const d=document.createElement("link");if(d.rel=u?"stylesheet":Kb,u||(d.as="script"),d.crossOrigin="",d.href=c,a&&d.setAttribute("nonce",a),document.head.appendChild(d),u)return new Promise((p,E)=>{d.addEventListener("load",p),d.addEventListener("error",()=>E(new Error(`Unable to preload CSS for ${c}`)))})}))}function o(i){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=i,window.dispatchEvent(a),!a.defaultPrevented)throw i}return s.then(i=>{for(const a of i||[])a.status==="rejected"&&o(a.reason);return t().catch(o)})},qb=()=>Pn(()=>import("./SendFileView-BqULfUDl.js"),__vite__mapDeps([0,1,2,3,4,5,6])),Yb=pp({history:Kh("/"),routes:[{path:"/",name:"Retrieve",component:()=>Pn(()=>import("./RetrievewFileView-DWBfGPUc.js"),__vite__mapDeps([7,1,2,3,4,8,5,9]))},{path:"/send",name:"Send",component:qb},{path:"/admin",name:"Manage",component:()=>Pn(()=>import("./AdminLayout-CoImnOQO.js"),__vite__mapDeps([10,2,11])),redirect:"/admin/dashboard",children:[{path:"/admin/dashboard",name:"Dashboard",component:()=>Pn(()=>import("./DashboardView-BQRsJrnN.js"),__vite__mapDeps([12,4,8]))},{path:"/admin/files",name:"FileManage",component:()=>Pn(()=>import("./FileManageView-CZQWWk0t.js"),__vite__mapDeps([13,4,5,14]))},{path:"/admin/settings",name:"Settings",component:()=>Pn(()=>import("./SystemSettingsView-CE4x9hEg.js"),[])}]},{path:"/login",name:"Login",component:()=>Pn(()=>import("./LoginView-B4xHkhLy.js"),__vite__mapDeps([15,2,16]))}]}),Gs=rh(jb);Gs.use(ih());Gs.use(Yb);Gs.use(ef);Gs.mount("#app");export{Gm as A,_p as B,Ie as C,dn as D,Jb as E,Me as F,mh as G,yp as H,hn as I,yc as J,dh as K,er as L,Sc as M,Dr as N,nE as O,SE as P,Bb as Q,Zb as R,TE as S,Jc as T,rE as U,hl as V,wE as W,Ap as X,ay as _,jt as a,Be as b,Qt as c,Xt as d,ve as e,Zn as f,_e as g,tE as h,Xe as i,Kc as j,Pe as k,nf as l,wr as m,At as n,Ve as o,zb as p,eE as q,st as r,Cs as s,br as t,Hr as u,Qb as v,un as w,Tc as x,fm as y,Xb as z}; diff --git a/themes/2024/assets/index-Cd5a1Wuq.css b/themes/2024/assets/index-Cd5a1Wuq.css deleted file mode 100644 index 3fd4d44..0000000 --- a/themes/2024/assets/index-Cd5a1Wuq.css +++ /dev/null @@ -1 +0,0 @@ -*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%),0 3px rgb(var(--tw-prose-kbd-shadows) / 10%);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: 17 24 39;--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: 255 255 255;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-invert{--tw-prose-body: var(--tw-prose-invert-body);--tw-prose-headings: var(--tw-prose-invert-headings);--tw-prose-lead: var(--tw-prose-invert-lead);--tw-prose-links: var(--tw-prose-invert-links);--tw-prose-bold: var(--tw-prose-invert-bold);--tw-prose-counters: var(--tw-prose-invert-counters);--tw-prose-bullets: var(--tw-prose-invert-bullets);--tw-prose-hr: var(--tw-prose-invert-hr);--tw-prose-quotes: var(--tw-prose-invert-quotes);--tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);--tw-prose-captions: var(--tw-prose-invert-captions);--tw-prose-kbd: var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);--tw-prose-code: var(--tw-prose-invert-code);--tw-prose-pre-code: var(--tw-prose-invert-pre-code);--tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);--tw-prose-th-borders: var(--tw-prose-invert-th-borders);--tw-prose-td-borders: var(--tw-prose-invert-td-borders)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.-inset-2{inset:-.5rem}.inset-0{inset:0}.inset-1{inset:.25rem}.inset-y-0{top:0;bottom:0}.-bottom-0\.5{bottom:-.125rem}.-top-2{top:-.5rem}.left-0{left:0}.left-2{left:.5rem}.left-3{left:.75rem}.left-4{left:1rem}.right-0{right:0}.right-2{right:.5rem}.right-28{right:7rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-3{top:.75rem}.top-4{top:1rem}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[85vh\]{max-height:85vh}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0{width:0px}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-16{width:4rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-8{width:2rem}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-\[200px\]{max-width:200px}.max-w-\[250px\]{max-width:250px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-5{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-none{resize:none}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.-space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(-1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1px * var(--tw-space-y-reverse))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity, 1))}.divide-gray-700>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(55 65 81 / var(--tw-divide-opacity, 1))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-current{border-color:currentColor}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.border-gray-700\/50{border-color:#37415180}.border-gray-700\/60{border-color:#37415199}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.border-indigo-500{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.border-indigo-600{--tw-border-opacity: 1;border-color:rgb(79 70 229 / var(--tw-border-opacity, 1))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-t-transparent{border-top-color:transparent}.border-opacity-20{--tw-border-opacity: .2}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/60{background-color:#0009}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-900{--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity, 1))}.bg-blue-900\/20{background-color:#1e3a8a33}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.bg-gray-700\/50{background-color:#37415180}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.bg-gray-800\/50{background-color:#1f293780}.bg-gray-800\/60{background-color:#1f293799}.bg-gray-800\/95{background-color:#1f2937f2}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.bg-gray-900\/50{background-color:#11182780}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-green-900{--tw-bg-opacity: 1;background-color:rgb(20 83 45 / var(--tw-bg-opacity, 1))}.bg-green-900\/30{background-color:#14532d4d}.bg-indigo-100{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity, 1))}.bg-indigo-50{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity, 1))}.bg-indigo-500\/10{background-color:#6366f11a}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-indigo-900{--tw-bg-opacity: 1;background-color:rgb(49 46 129 / var(--tw-bg-opacity, 1))}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-purple-900{--tw-bg-opacity: 1;background-color:rgb(88 28 135 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-red-900\/20{background-color:#7f1d1d33}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/50{background-color:#ffffff80}.bg-white\/70{background-color:#ffffffb3}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.bg-yellow-900\/30{background-color:#713f124d}.bg-opacity-10{--tw-bg-opacity: .1}.bg-opacity-20{--tw-bg-opacity: .2}.bg-opacity-25{--tw-bg-opacity: .25}.bg-opacity-50{--tw-bg-opacity: .5}.bg-opacity-70{--tw-bg-opacity: .7}.bg-opacity-90{--tw-bg-opacity: .9}.bg-opacity-95{--tw-bg-opacity: .95}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-50{--tw-gradient-from: #eff6ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-cyan-500{--tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-cyan-600{--tw-gradient-from: #0891b2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(8 145 178 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-50{--tw-gradient-from: #f9fafb var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-800\/50{--tw-gradient-from: rgb(31 41 55 / .5) var(--tw-gradient-from-position);--tw-gradient-to: rgb(31 41 55 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-900{--tw-gradient-from: #111827 var(--tw-gradient-from-position);--tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-900\/90{--tw-gradient-from: rgb(17 24 39 / .9) var(--tw-gradient-from-position);--tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-500{--tw-gradient-from: #22c55e var(--tw-gradient-from-position);--tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-300{--tw-gradient-from: #a5b4fc var(--tw-gradient-from-position);--tw-gradient-to: rgb(165 180 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from: #6366f1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-600{--tw-gradient-from: #4f46e5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-500{--tw-gradient-from: #ec4899 var(--tw-gradient-from-position);--tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-500{--tw-gradient-from: #ef4444 var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-yellow-500{--tw-gradient-from: #eab308 var(--tw-gradient-from-position);--tw-gradient-to: rgb(234 179 8 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-indigo-50{--tw-gradient-to: rgb(238 242 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #eef2ff var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-indigo-900{--tw-gradient-to: rgb(49 46 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #312e81 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-purple-300{--tw-gradient-to: rgb(216 180 254 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #d8b4fe var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-purple-500{--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #a855f7 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-black\/90{--tw-gradient-to: rgb(0 0 0 / .9) var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to: #2563eb var(--tw-gradient-to-position)}.to-gray-700\/50{--tw-gradient-to: rgb(55 65 81 / .5) var(--tw-gradient-to-position)}.to-gray-800{--tw-gradient-to: #1f2937 var(--tw-gradient-to-position)}.to-green-600{--tw-gradient-to: #16a34a var(--tw-gradient-to-position)}.to-indigo-500{--tw-gradient-to: #6366f1 var(--tw-gradient-to-position)}.to-pink-300{--tw-gradient-to: #f9a8d4 var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to: #ec4899 var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to: #a855f7 var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to: #9333ea var(--tw-gradient-to-position)}.to-red-600{--tw-gradient-to: #dc2626 var(--tw-gradient-to-position)}.to-white{--tw-gradient-to: #fff var(--tw-gradient-to-position)}.to-yellow-600{--tw-gradient-to: #ca8a04 var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-right{background-position:right}.bg-no-repeat{background-repeat:no-repeat}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pb-4{padding-bottom:1rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-10{padding-right:2.5rem}.pr-3{padding-right:.75rem}.pr-32{padding-right:8rem}.pr-4{padding-right:1rem}.pr-9{padding-right:2.25rem}.pt-0\.5{padding-top:.125rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-6{line-height:1.5rem}.tracking-wider{letter-spacing:.05em}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.text-cyan-600{--tw-text-opacity: 1;color:rgb(8 145 178 / var(--tw-text-opacity, 1))}.text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-indigo-400{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.text-indigo-500{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity, 1))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-300{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-500::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(107 114 128 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-500::placeholder{--tw-placeholder-opacity: 1;color:rgb(107 114 128 / var(--tw-placeholder-opacity, 1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-indigo-500\/25{--tw-shadow-color: rgb(99 102 241 / .25);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-black{--tw-ring-opacity: 1;--tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity, 1))}.ring-red-500{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.ring-opacity-5{--tw-ring-opacity: .05}.blur-md{--tw-blur: blur(12px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-lg{--tw-backdrop-blur: blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[appearance\:textfield\]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}@font-face{font-family:DingTalk;src:url(/assets/DingTalk-CT5a5scH.ttf) format("truetype")}*{font-family:DingTalk,sans-serif!important}.hover\:rotate-180:hover{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:rotate-90:hover{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-\[1\.02\]:hover{--tw-scale-x: 1.02;--tw-scale-y: 1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-gray-400:hover{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.hover\:border-gray-500:hover{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.hover\:border-indigo-500:hover{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.hover\:bg-black:hover{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-400:hover{--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-900\/30:hover{background-color:#1e3a8a4d}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-300:hover{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-600:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-600\/50:hover{background-color:#4b556380}.hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-700\/60:hover{background-color:#37415199}.hover\:bg-gray-700\/80:hover{background-color:#374151cc}.hover\:bg-green-100:hover{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.hover\:bg-green-400:hover{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity, 1))}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.hover\:bg-indigo-100:hover{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity, 1))}.hover\:bg-indigo-400:hover{--tw-bg-opacity: 1;background-color:rgb(129 140 248 / var(--tw-bg-opacity, 1))}.hover\:bg-indigo-700:hover{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity, 1))}.hover\:bg-red-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.hover\:bg-red-400:hover{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\:bg-red-900\/30:hover{background-color:#7f1d1d4d}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-opacity-10:hover{--tw-bg-opacity: .1}.hover\:bg-opacity-20:hover{--tw-bg-opacity: .2}.hover\:bg-opacity-50:hover{--tw-bg-opacity: .5}.hover\:from-cyan-600:hover{--tw-gradient-from: #0891b2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(8 145 178 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:from-cyan-700:hover{--tw-gradient-from: #0e7490 var(--tw-gradient-from-position);--tw-gradient-to: rgb(14 116 144 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:from-indigo-500:hover{--tw-gradient-from: #6366f1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:from-indigo-600:hover{--tw-gradient-from: #4f46e5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:via-purple-600:hover{--tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #9333ea var(--tw-gradient-via-position), var(--tw-gradient-to)}.hover\:to-indigo-600:hover{--tw-gradient-to: #4f46e5 var(--tw-gradient-to-position)}.hover\:to-pink-600:hover{--tw-gradient-to: #db2777 var(--tw-gradient-to-position)}.hover\:to-purple-600:hover{--tw-gradient-to: #9333ea var(--tw-gradient-to-position)}.hover\:to-purple-700:hover{--tw-gradient-to: #7e22ce var(--tw-gradient-to-position)}.hover\:text-gray-200:hover{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.hover\:text-gray-300:hover{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.hover\:text-gray-500:hover{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.hover\:text-indigo-300:hover{--tw-text-opacity: 1;color:rgb(165 180 252 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-cyan-500\/50:hover{--tw-shadow-color: rgb(6 182 212 / .5);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-indigo-500\/35:hover{--tw-shadow-color: rgb(99 102 241 / .35);--tw-shadow: var(--tw-shadow-colored)}.focus\:z-10:focus{z-index:10}.focus\:border-cyan-500:focus{--tw-border-opacity: 1;border-color:rgb(6 182 212 / var(--tw-border-opacity, 1))}.focus\:border-indigo-500:focus{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.focus\:border-red-500:focus{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-inset:focus{--tw-ring-inset: inset}.focus\:ring-cyan-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(6 182 212 / var(--tw-ring-opacity, 1))}.focus\:ring-gray-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1))}.focus\:ring-green-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1))}.focus\:ring-indigo-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1))}.focus\:ring-indigo-500\/50:focus{--tw-ring-color: rgb(99 102 241 / .5)}.focus\:ring-indigo-500\/60:focus{--tw-ring-color: rgb(99 102 241 / .6)}.focus\:ring-indigo-500\/80:focus{--tw-ring-color: rgb(99 102 241 / .8)}.focus\:ring-purple-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity, 1))}.focus\:ring-red-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.focus\:ring-opacity-50:focus{--tw-ring-opacity: .5}.focus\:ring-offset-0:focus{--tw-ring-offset-width: 0px}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:focus-within .group-focus-within\:bg-indigo-500\/30{background-color:#6366f14d}.group:focus-within .group-focus-within\:bg-indigo-500\/50{background-color:#6366f180}.group:focus-within .group-focus-within\:text-indigo-400{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.group:focus-within .group-focus-within\:text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.group:focus-within .group-focus-within\:opacity-100{opacity:1}.group:hover .group-hover\:translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.group:hover .group-hover\:border-gray-600\/80{border-color:#4b5563cc}.group:hover .group-hover\:text-indigo-400{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-20{opacity:.2}.group:hover .group-hover\:shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group:hover .group-hover\:shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group:hover .group-hover\:shadow-gray-200\/50{--tw-shadow-color: rgb(229 231 235 / .5);--tw-shadow: var(--tw-shadow-colored)}.group:hover .group-hover\:shadow-gray-900\/20{--tw-shadow-color: rgb(17 24 39 / .2);--tw-shadow: var(--tw-shadow-colored)}@media (min-width: 640px){.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:mb-3{margin-bottom:.75rem}.sm\:mb-4{margin-bottom:1rem}.sm\:mb-6{margin-bottom:1.5rem}.sm\:ml-4{margin-left:1rem}.sm\:mr-2{margin-right:.5rem}.sm\:h-4{height:1rem}.sm\:h-5{height:1.25rem}.sm\:h-6{height:1.5rem}.sm\:h-\[160px\]{height:160px}.sm\:w-4{width:1rem}.sm\:w-5{width:1.25rem}.sm\:w-6{width:1.5rem}.sm\:w-\[160px\]{width:160px}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-sm{max-width:24rem}.sm\:max-w-xl{max-width:36rem}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:gap-4{gap:1rem}.sm\:gap-6{gap:1.5rem}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.sm\:p-0{padding:0}.sm\:p-2{padding:.5rem}.sm\:p-3{padding:.75rem}.sm\:p-4{padding:1rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-3{padding-top:.75rem;padding-bottom:.75rem}.sm\:py-4{padding-top:1rem;padding-bottom:1rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 768px){.md\:max-w-md{max-width:28rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:relative{position:relative}.lg\:hidden{display:none}.lg\:h-screen{height:100vh}.lg\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme: dark){.dark\:hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-gray-800:hover{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none}.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none}.alert-fade-enter-active[data-v-59f86e5f],.alert-fade-leave-active[data-v-59f86e5f]{transition:all .5s cubic-bezier(.68,-.55,.265,1.55)}.alert-fade-enter-from[data-v-59f86e5f],.alert-fade-leave-to[data-v-59f86e5f]{opacity:0;transform:translate(-50px) scale(.95)}.app-container{min-height:100vh;width:100%;transition:background-color .5s ease}.light{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from: #eff6ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: rgb(238 242 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #eef2ff var(--tw-gradient-via-position), var(--tw-gradient-to);--tw-gradient-to: #fff var(--tw-gradient-to-position)}.dark{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from: #111827 var(--tw-gradient-from-position);--tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: rgb(49 46 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #312e81 var(--tw-gradient-via-position), var(--tw-gradient-to);--tw-gradient-to: #000 var(--tw-gradient-to-position)}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999}.loading-spinner{width:50px;height:50px;border:3px solid #fff;border-top:3px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}} diff --git a/themes/2024/assets/trash-BTMfj7si.js b/themes/2024/assets/trash-BTMfj7si.js deleted file mode 100644 index 60ba694..0000000 --- a/themes/2024/assets/trash-BTMfj7si.js +++ /dev/null @@ -1,6 +0,0 @@ -import{c as a}from"./index-14Tp7zPK.js";/** - * @license lucide-vue-next v0.535.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const e=a("trash",[["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);export{e as T}; diff --git a/themes/2024/index.html b/themes/2024/index.html index 605b289..fa1caae 100644 --- a/themes/2024/index.html +++ b/themes/2024/index.html @@ -13,8 +13,8 @@ {{title}} - - + +