commit 4a2be3b4d092849e62efa123c38456f42f1e21d3 Author: kreven1982 Date: Thu Apr 30 09:17:31 2026 +0800 feat:修改英文双引号 diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..b0d4783 --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,63 @@ +{ + "permissions": { + "allow": [ + "mcp__chrome-devtools__click", + "Bash(for i in 1 2 3 4 5 6 7 8)", + "Bash(do echo \"=== place$i import line ===\" grep -n \"useChenyunStore\\\\|saveChenyunStore\" \"/Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/src/pages/chenyun/place/place$i.tsx\" echo \"=== place$i 继续前进 block ===\" grep -n -A5 \"继续前进\" \"/Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/src/pages/chenyun/place/place$i.tsx\")", + "Bash(done)", + "Bash(grep -E \"\\\\.tsx$\")", + "Bash(grep -r \"navigate\" /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/src/pages/chenyun/place/place*.tsx)", + "Bash(bun run:*)", + "Bash(npm run *)", + "Bash(npx prettier *)", + "Bash(grep -Ei \"nieer|badge|mp3_nieer|/video/|\\\\.mp3$|\\\\.mp4$|\\\\.mov$|\\\\.webm$\")", + "Bash(npm exec *)", + "Bash(/\\\\$\\\\{moduleName\\\\}/\\\\$\\\\{starName\\\\}\" \"/Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a48dafb4/src/pages\" \"/Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a48dafb4/src/router\")", + "Bash(grep -RIn \"moduleName as ModuleName\\\\|starName = \\\\\"\\\\|navigate\\\\\\(`/\\\\$\\\\{moduleName\\\\}/\\\\$\\\\{starName\\\\}\" \"/Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a48dafb4/src/pages\" \"/Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a48dafb4/src/router\")", + "Bash(bunx eslint *)", + "Bash(npx eslint *)", + "Bash(npx tsc *)", + "Bash(python3 -)", + "Bash(git -C /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a5e97b1c status --short)", + "Bash(git -C /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a5e97b1c branch --show-current)", + "Bash(git -C /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a5e97b1c log --oneline --all --decorate --grep='张乐平\\\\|三毛\\\\|Sanmao\\\\|draw\\\\|draw1\\\\|ExhibitFlipOverlay' -n 50)", + "Bash(grep -E '\\(/image/|/button/|ExhibitDescriptionNarration|ExhibitOverlay|router/modules|reflection/scene|home.tsx|place[0-9].tsx$|utils/index.ts\\)')", + "Bash(grep -E \"\\(tsx|ts\\)$\")", + "Bash(git -C \"/Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a5bf04dd\" status --short)", + "Bash(git -C \"/Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a5bf04dd\" branch --show-current)", + "Bash(git -C \"/Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a5bf04dd\" ls-files)", + "Bash(git -C /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a41031e2 status --short)", + "Bash(git -C /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a41031e2 branch --show-current)", + "Bash(git -C /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a41031e2 log --oneline -5)", + "Bash(git -C /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a41031e2 grep -n -i \"zhangleping\\\\|drawArtworkDataUrl\\\\|hasSubmittedArtwork\\\\|三毛\\\\|张乐平\\\\|创作了三毛\" -- .)", + "Bash(git -C /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a41031e2 branch -a --list '*zhang*' '*main*' '*master*')", + "Bash(git -C /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a41031e2 log --all --oneline --grep='张乐平\\\\|三毛\\\\|zhangleping\\\\|drawArtwork' -50)", + "Bash(git -C /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a41031e2 grep -n -i \"zhangleping\\\\|drawArtworkDataUrl\\\\|hasSubmittedArtwork\\\\|三毛\\\\|张乐平\\\\|创作了三毛\" main origin/main master origin/master -- .)", + "Bash(git -C /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a41031e2 ls-tree -r --name-only main src/pages/zhangleping)", + "Bash(git -C /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a41031e2 show main:src/pages/zhangleping/reflection/scene5.tsx)", + "Bash(git -C /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a41031e2 show main:src/store/zhanglepingStore.ts)", + "Bash(git -C /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a41031e2 show main:src/pages/zhangleping/draw/index.tsx)", + "Bash(git -C /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a41031e2 show main:src/pages/zhangleping/draw/draw1.tsx)", + "Bash(git -C /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a41031e2 show main:src/pages/zhangleping/draw/draw1.config.ts)", + "Bash(git -C /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a41031e2 show main:src/router/modules/zhangleping.tsx)", + "Bash(git -C /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a41031e2 show main:src/pages/zhangleping/reflection/index.tsx)", + "Bash(git -C /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a41031e2 grep -n \"getUserDefine\\\\|setUserDefine\\\\|saveZhanglepingStore\\\\|ZHANGLEPING_LESSON_ID\\\\|ZHANGLEPING_KEY\\\\|drawArtworkDataUrl\\\\|hasDrawArtwork\" main -- src)", + "Bash(git -C /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a41031e2 show main:src/pages/zhangleping/home.tsx)", + "Bash(git -C /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a41031e2 show main:src/store/storeNames.ts)", + "Bash(git -C /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a41031e2 grep -n \"getUserDefine\" main -- src/pages/zhangleping src/store/zhanglepingStore.ts src/App.tsx)", + "Bash(git -C /Users/zhongyidian/工作/育享/沪上又见故人来/shanghai-residences/.claude/worktrees/agent-a41031e2 grep -n \"setDrawArtwork\\\\|clearDrawArtwork\\\\|drawArtworkDataUrl\" main -- src)" + ], + "deny": [ + "Read(public/**)", + "Read(src/assets/images/chenyun/**)", + "Read(src/assets/images/huangyanpei/**)", + "Read(src/assets/images/luxun/**)", + "Read(src/assets/images/maozedong/**)", + "Read(src/assets/images/sunzhongshan/**)", + "Read(src/assets/images/puzzle/**)", + "Read(src/assets/images/zhangleping/place*/**)", + "Read(src/assets/images/zhangleping/reflection/scene*/**)", + "Read(src/assets/images/zhangleping/reflection/home/**)" + ] + } +} diff --git a/.claudeignore b/.claudeignore new file mode 100644 index 0000000..9c68c21 --- /dev/null +++ b/.claudeignore @@ -0,0 +1,13 @@ +public/ +src/assets/images/chenyun/ +src/assets/images/huangyanpei/ +src/assets/images/luxun/ +src/assets/images/maozedong/ +src/assets/images/sunzhongshan/ +src/assets/images/puzzle/ +src/assets/images/nieer/ +src/assets/images/zhangleping/place*/ +src/assets/images/zhangleping/reflection/scene*/ +src/assets/images/zhangleping/reflection/home/ +src/assets/images/zhangleping/张乐平故居底图.png +src/assets/images/zhangleping/张乐平故居效果图.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d5cc2fe --- /dev/null +++ b/.gitignore @@ -0,0 +1,28 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local +public/video/* +public/words/* +public/audio/* + +# Editor directories and files +.vscode/* +.claude/worktrees/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..de2be72 --- /dev/null +++ b/.npmrc @@ -0,0 +1,11 @@ +# 锁定包管理器为 bun +package-manager=bun + +# 严格模式:不允许使用其他包管理器 +engine-strict=true + +# 自动安装 peers +auto-install-peers=true + +# 使用国内镜像(可选) +registry=https://registry.npmmirror.com diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..2991919 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,8 @@ +{ + "semi": false, + "singleQuote": true, + "tabWidth": 2, + "trailingComma": "es5", + "printWidth": 100, + "endOfLine": "lf" +} diff --git a/.storybook/main.ts b/.storybook/main.ts new file mode 100644 index 0000000..922a4b8 --- /dev/null +++ b/.storybook/main.ts @@ -0,0 +1,27 @@ +import type { StorybookConfig } from '@storybook/react-vite' +import { mergeConfig } from 'vite' +import path from 'path' + +const config: StorybookConfig = { + stories: ['../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'], + addons: [ + '@storybook/addon-links', + '@storybook/addon-essentials', + '@storybook/addon-interactions', + ], + framework: { + name: '@storybook/react-vite', + options: {}, + }, + async viteFinal(config) { + return mergeConfig(config, { + resolve: { + alias: { + '@': path.resolve(__dirname, '../src'), + }, + }, + }) + }, +} + +export default config diff --git a/.storybook/preview.ts b/.storybook/preview.ts new file mode 100644 index 0000000..e1bb3a9 --- /dev/null +++ b/.storybook/preview.ts @@ -0,0 +1,15 @@ +import type { Preview } from '@storybook/react' +import '../src/index.css' + +const preview: Preview = { + parameters: { + controls: { + matchers: { + color: /(background|color)$/i, + date: /Date$/i, + }, + }, + }, +} + +export default preview diff --git a/README.md b/README.md new file mode 100644 index 0000000..7667558 --- /dev/null +++ b/README.md @@ -0,0 +1,64 @@ +# 名师工作室 - 实验课件系统 + +这是一个基于 React 的名师工作室实验课件交互式平台。 + +## 技术栈 + +- **框架**: React 19 + Vite 7 +- **样式**: Tailwind CSS 4 +- **路由**: React Router Dom 7 +- **拖拽**: @dnd-kit +- **HTTP 客户端**: Axios +- **图标**: Lucide React +- **包管理器**: pnpm + +## 开发环境要求 + +- Node.js 18+ +- pnpm 10+ + +## 安装依赖 + +```bash +pnpm install +``` + +## 开发命令 + +```bash +# 启动开发服务器 +pnpm dev + +# 构建生产版本 +pnpm build + +# 预览生产构建 +pnpm preview + +# 代码检查 +pnpm lint +``` + +## 项目特性 + +- 支持拖拽交互的实验课件展示 +- 响应式设计,适配多种设备 +- 模块化组件架构 +- 现代化的 UI 设计 + +## 项目结构 + +``` +sensor-lab/ +├── src/ +│ ├── components/ # 可复用组件 +│ ├── assets/ # 静态资源 +│ ├── App.jsx # 主应用组件 +│ └── main.jsx # 应用入口 +├── public/ # 公共资源 +└── index.html # HTML 模板 +``` + +## 开发说明 + +本项目使用 **pnpm** 作为包管理工具,请勿使用 npm 或 yarn 安装依赖,以保持依赖的一致性。 diff --git a/bun.lock b/bun.lock new file mode 100644 index 0000000..bcf9701 --- /dev/null +++ b/bun.lock @@ -0,0 +1,1107 @@ +{ + "lockfileVersion": 1, + "configVersion": 1, + "workspaces": { + "": { + "name": "shanghai-residences", + "dependencies": { + "axios": "^1.12.2", + "clsx": "^2.1.1", + "framer-motion": "^12.23.26", + "html-to-image": "^1.11.13", + "lucide-react": "^0.545.0", + "mammoth": "^1.11.0", + "react": "^19.1.1", + "react-dom": "^19.1.1", + "react-router-dom": "^7.9.4", + "tailwind-merge": "^3.4.0", + "vconsole": "^3.15.1", + "zustand": "^5.0.8", + }, + "devDependencies": { + "@eslint/js": "^9.36.0", + "@storybook/addon-essentials": "^8.4.7", + "@storybook/addon-interactions": "^8.4.7", + "@storybook/addon-links": "^8.4.7", + "@storybook/react": "^8.4.7", + "@storybook/react-vite": "^8.4.7", + "@storybook/test": "^8.4.7", + "@tailwindcss/postcss": "^4.1.14", + "@types/node": "^24.8.0", + "@types/react": "^19.1.16", + "@types/react-dom": "^19.1.9", + "@typescript-eslint/eslint-plugin": "^8.46.1", + "@typescript-eslint/parser": "^8.46.1", + "@vitejs/plugin-react": "^5.0.4", + "autoprefixer": "^10.4.21", + "baseline-browser-mapping": "^2.9.6", + "eslint": "^9.36.0", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-prettier": "^5.5.5", + "eslint-plugin-react-hooks": "^5.2.0", + "eslint-plugin-react-refresh": "^0.4.22", + "globals": "^16.4.0", + "postcss": "^8.5.6", + "prettier": "^3.8.1", + "storybook": "^8.4.7", + "tailwindcss": "^4.1.14", + "typescript": "^5.9.3", + "typescript-eslint": "^8.46.1", + "vite": "^7.1.7", + }, + }, + }, + "packages": { + "@adobe/css-tools": ["@adobe/css-tools@4.4.4", "https://registry.npmmirror.com/@adobe/css-tools/-/css-tools-4.4.4.tgz", {}, "sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg=="], + + "@alloc/quick-lru": ["@alloc/quick-lru@5.2.0", "https://registry.npmmirror.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", {}, "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="], + + "@babel/code-frame": ["@babel/code-frame@7.29.0", "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.29.0.tgz", { "dependencies": { "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw=="], + + "@babel/compat-data": ["@babel/compat-data@7.29.0", "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.29.0.tgz", {}, "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg=="], + + "@babel/core": ["@babel/core@7.29.0", "https://registry.npmmirror.com/@babel/core/-/core-7.29.0.tgz", { "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/generator": "^7.29.0", "@babel/helper-compilation-targets": "^7.28.6", "@babel/helper-module-transforms": "^7.28.6", "@babel/helpers": "^7.28.6", "@babel/parser": "^7.29.0", "@babel/template": "^7.28.6", "@babel/traverse": "^7.29.0", "@babel/types": "^7.29.0", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA=="], + + "@babel/generator": ["@babel/generator@7.29.1", "https://registry.npmmirror.com/@babel/generator/-/generator-7.29.1.tgz", { "dependencies": { "@babel/parser": "^7.29.0", "@babel/types": "^7.29.0", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw=="], + + "@babel/helper-compilation-targets": ["@babel/helper-compilation-targets@7.28.6", "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", { "dependencies": { "@babel/compat-data": "^7.28.6", "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" } }, "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA=="], + + "@babel/helper-globals": ["@babel/helper-globals@7.28.0", "https://registry.npmmirror.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz", {}, "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw=="], + + "@babel/helper-module-imports": ["@babel/helper-module-imports@7.28.6", "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", { "dependencies": { "@babel/traverse": "^7.28.6", "@babel/types": "^7.28.6" } }, "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw=="], + + "@babel/helper-module-transforms": ["@babel/helper-module-transforms@7.28.6", "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", { "dependencies": { "@babel/helper-module-imports": "^7.28.6", "@babel/helper-validator-identifier": "^7.28.5", "@babel/traverse": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA=="], + + "@babel/helper-plugin-utils": ["@babel/helper-plugin-utils@7.28.6", "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", {}, "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug=="], + + "@babel/helper-string-parser": ["@babel/helper-string-parser@7.27.1", "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", {}, "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA=="], + + "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.28.5", "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", {}, "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q=="], + + "@babel/helper-validator-option": ["@babel/helper-validator-option@7.27.1", "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", {}, "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg=="], + + "@babel/helpers": ["@babel/helpers@7.28.6", "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.28.6.tgz", { "dependencies": { "@babel/template": "^7.28.6", "@babel/types": "^7.28.6" } }, "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw=="], + + "@babel/parser": ["@babel/parser@7.29.0", "https://registry.npmmirror.com/@babel/parser/-/parser-7.29.0.tgz", { "dependencies": { "@babel/types": "^7.29.0" }, "bin": "./bin/babel-parser.js" }, "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww=="], + + "@babel/plugin-transform-react-jsx-self": ["@babel/plugin-transform-react-jsx-self@7.27.1", "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw=="], + + "@babel/plugin-transform-react-jsx-source": ["@babel/plugin-transform-react-jsx-source@7.27.1", "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw=="], + + "@babel/runtime": ["@babel/runtime@7.28.6", "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.28.6.tgz", {}, "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA=="], + + "@babel/template": ["@babel/template@7.28.6", "https://registry.npmmirror.com/@babel/template/-/template-7.28.6.tgz", { "dependencies": { "@babel/code-frame": "^7.28.6", "@babel/parser": "^7.28.6", "@babel/types": "^7.28.6" } }, "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ=="], + + "@babel/traverse": ["@babel/traverse@7.29.0", "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.29.0.tgz", { "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/generator": "^7.29.0", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.29.0", "@babel/template": "^7.28.6", "@babel/types": "^7.29.0", "debug": "^4.3.1" } }, "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA=="], + + "@babel/types": ["@babel/types@7.29.0", "https://registry.npmmirror.com/@babel/types/-/types-7.29.0.tgz", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.28.5" } }, "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A=="], + + "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.27.3", "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", { "os": "aix", "cpu": "ppc64" }, "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg=="], + + "@esbuild/android-arm": ["@esbuild/android-arm@0.27.3", "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.27.3.tgz", { "os": "android", "cpu": "arm" }, "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA=="], + + "@esbuild/android-arm64": ["@esbuild/android-arm64@0.27.3", "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", { "os": "android", "cpu": "arm64" }, "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg=="], + + "@esbuild/android-x64": ["@esbuild/android-x64@0.27.3", "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.27.3.tgz", { "os": "android", "cpu": "x64" }, "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ=="], + + "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.27.3", "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", { "os": "darwin", "cpu": "arm64" }, "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg=="], + + "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.27.3", "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", { "os": "darwin", "cpu": "x64" }, "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg=="], + + "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.27.3", "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", { "os": "freebsd", "cpu": "arm64" }, "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w=="], + + "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.27.3", "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", { "os": "freebsd", "cpu": "x64" }, "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA=="], + + "@esbuild/linux-arm": ["@esbuild/linux-arm@0.27.3", "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", { "os": "linux", "cpu": "arm" }, "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw=="], + + "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.27.3", "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", { "os": "linux", "cpu": "arm64" }, "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg=="], + + "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.27.3", "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", { "os": "linux", "cpu": "ia32" }, "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg=="], + + "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.27.3", "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", { "os": "linux", "cpu": "none" }, "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA=="], + + "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.27.3", "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", { "os": "linux", "cpu": "none" }, "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw=="], + + "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.27.3", "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", { "os": "linux", "cpu": "ppc64" }, "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA=="], + + "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.27.3", "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", { "os": "linux", "cpu": "none" }, "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ=="], + + "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.27.3", "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", { "os": "linux", "cpu": "s390x" }, "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw=="], + + "@esbuild/linux-x64": ["@esbuild/linux-x64@0.27.3", "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", { "os": "linux", "cpu": "x64" }, "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA=="], + + "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.27.3", "https://registry.npmmirror.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", { "os": "none", "cpu": "arm64" }, "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA=="], + + "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.27.3", "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", { "os": "none", "cpu": "x64" }, "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA=="], + + "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.27.3", "https://registry.npmmirror.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", { "os": "openbsd", "cpu": "arm64" }, "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw=="], + + "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.27.3", "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", { "os": "openbsd", "cpu": "x64" }, "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ=="], + + "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.27.3", "https://registry.npmmirror.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", { "os": "none", "cpu": "arm64" }, "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g=="], + + "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.27.3", "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", { "os": "sunos", "cpu": "x64" }, "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA=="], + + "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.27.3", "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", { "os": "win32", "cpu": "arm64" }, "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA=="], + + "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.27.3", "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", { "os": "win32", "cpu": "ia32" }, "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q=="], + + "@esbuild/win32-x64": ["@esbuild/win32-x64@0.27.3", "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", { "os": "win32", "cpu": "x64" }, "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA=="], + + "@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.9.1", "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ=="], + + "@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.2", "https://registry.npmmirror.com/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", {}, "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew=="], + + "@eslint/config-array": ["@eslint/config-array@0.21.1", "https://registry.npmmirror.com/@eslint/config-array/-/config-array-0.21.1.tgz", { "dependencies": { "@eslint/object-schema": "^2.1.7", "debug": "^4.3.1", "minimatch": "^3.1.2" } }, "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA=="], + + "@eslint/config-helpers": ["@eslint/config-helpers@0.4.2", "https://registry.npmmirror.com/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", { "dependencies": { "@eslint/core": "^0.17.0" } }, "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw=="], + + "@eslint/core": ["@eslint/core@0.17.0", "https://registry.npmmirror.com/@eslint/core/-/core-0.17.0.tgz", { "dependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ=="], + + "@eslint/eslintrc": ["@eslint/eslintrc@3.3.4", "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-3.3.4.tgz", { "dependencies": { "ajv": "^6.14.0", "debug": "^4.3.2", "espree": "^10.0.1", "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.1", "minimatch": "^3.1.3", "strip-json-comments": "^3.1.1" } }, "sha512-4h4MVF8pmBsncB60r0wSJiIeUKTSD4m7FmTFThG8RHlsg9ajqckLm9OraguFGZE4vVdpiI1Q4+hFnisopmG6gQ=="], + + "@eslint/js": ["@eslint/js@9.39.3", "https://registry.npmmirror.com/@eslint/js/-/js-9.39.3.tgz", {}, "sha512-1B1VkCq6FuUNlQvlBYb+1jDu/gV297TIs/OeiaSR9l1H27SVW55ONE1e1Vp16NqP683+xEGzxYtv4XCiDPaQiw=="], + + "@eslint/object-schema": ["@eslint/object-schema@2.1.7", "https://registry.npmmirror.com/@eslint/object-schema/-/object-schema-2.1.7.tgz", {}, "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA=="], + + "@eslint/plugin-kit": ["@eslint/plugin-kit@0.4.1", "https://registry.npmmirror.com/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", { "dependencies": { "@eslint/core": "^0.17.0", "levn": "^0.4.1" } }, "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA=="], + + "@humanfs/core": ["@humanfs/core@0.19.1", "https://registry.npmmirror.com/@humanfs/core/-/core-0.19.1.tgz", {}, "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA=="], + + "@humanfs/node": ["@humanfs/node@0.16.7", "https://registry.npmmirror.com/@humanfs/node/-/node-0.16.7.tgz", { "dependencies": { "@humanfs/core": "^0.19.1", "@humanwhocodes/retry": "^0.4.0" } }, "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ=="], + + "@humanwhocodes/module-importer": ["@humanwhocodes/module-importer@1.0.1", "https://registry.npmmirror.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", {}, "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="], + + "@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.3", "https://registry.npmmirror.com/@humanwhocodes/retry/-/retry-0.4.3.tgz", {}, "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ=="], + + "@isaacs/cliui": ["@isaacs/cliui@8.0.2", "https://registry.npmmirror.com/@isaacs/cliui/-/cliui-8.0.2.tgz", { "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="], + + "@joshwooding/vite-plugin-react-docgen-typescript": ["@joshwooding/vite-plugin-react-docgen-typescript@0.5.0", "https://registry.npmmirror.com/@joshwooding/vite-plugin-react-docgen-typescript/-/vite-plugin-react-docgen-typescript-0.5.0.tgz", { "dependencies": { "glob": "^10.0.0", "magic-string": "^0.27.0", "react-docgen-typescript": "^2.2.2" }, "peerDependencies": { "typescript": ">= 4.3.x", "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" }, "optionalPeers": ["typescript"] }, "sha512-qYDdL7fPwLRI+bJNurVcis+tNgJmvWjH4YTBGXTA8xMuxFrnAz6E5o35iyzyKbq5J5Lr8mJGfrR5GXl+WGwhgQ=="], + + "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="], + + "@jridgewell/remapping": ["@jridgewell/remapping@2.3.5", "https://registry.npmmirror.com/@jridgewell/remapping/-/remapping-2.3.5.tgz", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ=="], + + "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], + + "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="], + + "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="], + + "@mdx-js/react": ["@mdx-js/react@3.1.1", "https://registry.npmmirror.com/@mdx-js/react/-/react-3.1.1.tgz", { "dependencies": { "@types/mdx": "^2.0.0" }, "peerDependencies": { "@types/react": ">=16", "react": ">=16" } }, "sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw=="], + + "@pkgjs/parseargs": ["@pkgjs/parseargs@0.11.0", "https://registry.npmmirror.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="], + + "@pkgr/core": ["@pkgr/core@0.2.9", "https://registry.npmmirror.com/@pkgr/core/-/core-0.2.9.tgz", {}, "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA=="], + + "@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-rc.3", "https://registry.npmmirror.com/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.3.tgz", {}, "sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q=="], + + "@rollup/pluginutils": ["@rollup/pluginutils@5.3.0", "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", { "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", "picomatch": "^4.0.2" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q=="], + + "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", { "os": "android", "cpu": "arm" }, "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg=="], + + "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", { "os": "android", "cpu": "arm64" }, "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q=="], + + "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", { "os": "darwin", "cpu": "arm64" }, "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg=="], + + "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", { "os": "darwin", "cpu": "x64" }, "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w=="], + + "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", { "os": "freebsd", "cpu": "arm64" }, "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA=="], + + "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", { "os": "freebsd", "cpu": "x64" }, "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg=="], + + "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", { "os": "linux", "cpu": "arm" }, "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw=="], + + "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", { "os": "linux", "cpu": "arm" }, "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA=="], + + "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", { "os": "linux", "cpu": "arm64" }, "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA=="], + + "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", { "os": "linux", "cpu": "arm64" }, "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA=="], + + "@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", { "os": "linux", "cpu": "none" }, "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg=="], + + "@rollup/rollup-linux-loong64-musl": ["@rollup/rollup-linux-loong64-musl@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", { "os": "linux", "cpu": "none" }, "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q=="], + + "@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", { "os": "linux", "cpu": "ppc64" }, "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA=="], + + "@rollup/rollup-linux-ppc64-musl": ["@rollup/rollup-linux-ppc64-musl@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", { "os": "linux", "cpu": "ppc64" }, "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA=="], + + "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", { "os": "linux", "cpu": "none" }, "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg=="], + + "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", { "os": "linux", "cpu": "none" }, "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg=="], + + "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", { "os": "linux", "cpu": "s390x" }, "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w=="], + + "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", { "os": "linux", "cpu": "x64" }, "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg=="], + + "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", { "os": "linux", "cpu": "x64" }, "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg=="], + + "@rollup/rollup-openbsd-x64": ["@rollup/rollup-openbsd-x64@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", { "os": "openbsd", "cpu": "x64" }, "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ=="], + + "@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", { "os": "none", "cpu": "arm64" }, "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA=="], + + "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", { "os": "win32", "cpu": "arm64" }, "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A=="], + + "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", { "os": "win32", "cpu": "ia32" }, "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA=="], + + "@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", { "os": "win32", "cpu": "x64" }, "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA=="], + + "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.59.0", "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", { "os": "win32", "cpu": "x64" }, "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA=="], + + "@storybook/addon-actions": ["@storybook/addon-actions@8.6.14", "https://registry.npmmirror.com/@storybook/addon-actions/-/addon-actions-8.6.14.tgz", { "dependencies": { "@storybook/global": "^5.0.0", "@types/uuid": "^9.0.1", "dequal": "^2.0.2", "polished": "^4.2.2", "uuid": "^9.0.0" }, "peerDependencies": { "storybook": "^8.6.14" } }, "sha512-mDQxylxGGCQSK7tJPkD144J8jWh9IU9ziJMHfB84PKpI/V5ZgqMDnpr2bssTrUaGDqU5e1/z8KcRF+Melhs9pQ=="], + + "@storybook/addon-backgrounds": ["@storybook/addon-backgrounds@8.6.14", "https://registry.npmmirror.com/@storybook/addon-backgrounds/-/addon-backgrounds-8.6.14.tgz", { "dependencies": { "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3", "ts-dedent": "^2.0.0" }, "peerDependencies": { "storybook": "^8.6.14" } }, "sha512-l9xS8qWe5n4tvMwth09QxH2PmJbCctEvBAc1tjjRasAfrd69f7/uFK4WhwJAstzBTNgTc8VXI4w8ZR97i1sFbg=="], + + "@storybook/addon-controls": ["@storybook/addon-controls@8.6.14", "https://registry.npmmirror.com/@storybook/addon-controls/-/addon-controls-8.6.14.tgz", { "dependencies": { "@storybook/global": "^5.0.0", "dequal": "^2.0.2", "ts-dedent": "^2.0.0" }, "peerDependencies": { "storybook": "^8.6.14" } }, "sha512-IiQpkNJdiRyA4Mq9mzjZlvQugL/aE7hNgVxBBGPiIZG6wb6Ht9hNnBYpap5ZXXFKV9p2qVI0FZK445ONmAa+Cw=="], + + "@storybook/addon-docs": ["@storybook/addon-docs@8.6.14", "https://registry.npmmirror.com/@storybook/addon-docs/-/addon-docs-8.6.14.tgz", { "dependencies": { "@mdx-js/react": "^3.0.0", "@storybook/blocks": "8.6.14", "@storybook/csf-plugin": "8.6.14", "@storybook/react-dom-shim": "8.6.14", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "ts-dedent": "^2.0.0" }, "peerDependencies": { "storybook": "^8.6.14" } }, "sha512-Obpd0OhAF99JyU5pp5ci17YmpcQtMNgqW2pTXV8jAiiipWpwO++hNDeQmLmlSXB399XjtRDOcDVkoc7rc6JzdQ=="], + + "@storybook/addon-essentials": ["@storybook/addon-essentials@8.6.14", "https://registry.npmmirror.com/@storybook/addon-essentials/-/addon-essentials-8.6.14.tgz", { "dependencies": { "@storybook/addon-actions": "8.6.14", "@storybook/addon-backgrounds": "8.6.14", "@storybook/addon-controls": "8.6.14", "@storybook/addon-docs": "8.6.14", "@storybook/addon-highlight": "8.6.14", "@storybook/addon-measure": "8.6.14", "@storybook/addon-outline": "8.6.14", "@storybook/addon-toolbars": "8.6.14", "@storybook/addon-viewport": "8.6.14", "ts-dedent": "^2.0.0" }, "peerDependencies": { "storybook": "^8.6.14" } }, "sha512-5ZZSHNaW9mXMOFkoPyc3QkoNGdJHETZydI62/OASR0lmPlJ1065TNigEo5dJddmZNn0/3bkE8eKMAzLnO5eIdA=="], + + "@storybook/addon-highlight": ["@storybook/addon-highlight@8.6.14", "https://registry.npmmirror.com/@storybook/addon-highlight/-/addon-highlight-8.6.14.tgz", { "dependencies": { "@storybook/global": "^5.0.0" }, "peerDependencies": { "storybook": "^8.6.14" } }, "sha512-4H19OJlapkofiE9tM6K/vsepf4ir9jMm9T+zw5L85blJZxhKZIbJ6FO0TCG9PDc4iPt3L6+aq5B0X29s9zicNQ=="], + + "@storybook/addon-interactions": ["@storybook/addon-interactions@8.6.14", "https://registry.npmmirror.com/@storybook/addon-interactions/-/addon-interactions-8.6.14.tgz", { "dependencies": { "@storybook/global": "^5.0.0", "@storybook/instrumenter": "8.6.14", "@storybook/test": "8.6.14", "polished": "^4.2.2", "ts-dedent": "^2.2.0" }, "peerDependencies": { "storybook": "^8.6.14" } }, "sha512-8VmElhm2XOjh22l/dO4UmXxNOolGhNiSpBcls2pqWSraVh4a670EyYBZsHpkXqfNHo2YgKyZN3C91+9zfH79qQ=="], + + "@storybook/addon-links": ["@storybook/addon-links@8.6.17", "https://registry.npmmirror.com/@storybook/addon-links/-/addon-links-8.6.17.tgz", { "dependencies": { "@storybook/global": "^5.0.0", "ts-dedent": "^2.0.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "storybook": "^8.6.17" }, "optionalPeers": ["react"] }, "sha512-ch1GgXILEmekf81nUvmre3xyhlg5zDibRxm8+psPqj7GqzWBI5l4kAiha0XOBWGz6vQEL5xCvN/rr8rfA9kWdQ=="], + + "@storybook/addon-measure": ["@storybook/addon-measure@8.6.14", "https://registry.npmmirror.com/@storybook/addon-measure/-/addon-measure-8.6.14.tgz", { "dependencies": { "@storybook/global": "^5.0.0", "tiny-invariant": "^1.3.1" }, "peerDependencies": { "storybook": "^8.6.14" } }, "sha512-1Tlyb72NX8aAqm6I6OICsUuGOP6hgnXcuFlXucyhKomPa6j3Eu2vKu561t/f0oGtAK2nO93Z70kVaEh5X+vaGw=="], + + "@storybook/addon-outline": ["@storybook/addon-outline@8.6.14", "https://registry.npmmirror.com/@storybook/addon-outline/-/addon-outline-8.6.14.tgz", { "dependencies": { "@storybook/global": "^5.0.0", "ts-dedent": "^2.0.0" }, "peerDependencies": { "storybook": "^8.6.14" } }, "sha512-CW857JvN6OxGWElqjlzJO2S69DHf+xO3WsEfT5mT3ZtIjmsvRDukdWfDU9bIYUFyA2lFvYjncBGjbK+I91XR7w=="], + + "@storybook/addon-toolbars": ["@storybook/addon-toolbars@8.6.14", "https://registry.npmmirror.com/@storybook/addon-toolbars/-/addon-toolbars-8.6.14.tgz", { "peerDependencies": { "storybook": "^8.6.14" } }, "sha512-W/wEXT8h3VyZTVfWK/84BAcjAxTdtRiAkT2KAN0nbSHxxB5KEM1MjKpKu2upyzzMa3EywITqbfy4dP6lpkVTwQ=="], + + "@storybook/addon-viewport": ["@storybook/addon-viewport@8.6.14", "https://registry.npmmirror.com/@storybook/addon-viewport/-/addon-viewport-8.6.14.tgz", { "dependencies": { "memoizerific": "^1.11.3" }, "peerDependencies": { "storybook": "^8.6.14" } }, "sha512-gNzVQbMqRC+/4uQTPI2ZrWuRHGquTMZpdgB9DrD88VTEjNudP+J6r8myLfr2VvGksBbUMHkGHMXHuIhrBEnXYA=="], + + "@storybook/blocks": ["@storybook/blocks@8.6.14", "https://registry.npmmirror.com/@storybook/blocks/-/blocks-8.6.14.tgz", { "dependencies": { "@storybook/icons": "^1.2.12", "ts-dedent": "^2.0.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "storybook": "^8.6.14" }, "optionalPeers": ["react", "react-dom"] }, "sha512-rBMHAfA39AGHgkrDze4RmsnQTMw1ND5fGWobr9pDcJdnDKWQWNRD7Nrlxj0gFlN3n4D9lEZhWGdFrCbku7FVAQ=="], + + "@storybook/builder-vite": ["@storybook/builder-vite@8.6.17", "https://registry.npmmirror.com/@storybook/builder-vite/-/builder-vite-8.6.17.tgz", { "dependencies": { "@storybook/csf-plugin": "8.6.17", "browser-assert": "^1.2.1", "ts-dedent": "^2.0.0" }, "peerDependencies": { "storybook": "^8.6.17", "vite": "^4.0.0 || ^5.0.0 || ^6.0.0" } }, "sha512-ZqFaLUKlRNaU4ovEa5R6D5YTbft1CUcNHLhzpmL9JWInEh4PrUkxiLD/jjB6fiYLcRpSpcs2DF+O/Jh2GDWemA=="], + + "@storybook/components": ["@storybook/components@8.6.17", "https://registry.npmmirror.com/@storybook/components/-/components-8.6.17.tgz", { "peerDependencies": { "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" } }, "sha512-0b8xkkuPCNbM8LTOzyfxuo2KdJCHIfu3+QxWBFllXap0eYNHwVeSxE5KERQ/bk2GDCiRzaUbwH9PeLorxOzJJQ=="], + + "@storybook/core": ["@storybook/core@8.6.17", "https://registry.npmmirror.com/@storybook/core/-/core-8.6.17.tgz", { "dependencies": { "@storybook/theming": "8.6.17", "better-opn": "^3.0.2", "browser-assert": "^1.2.1", "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0", "esbuild-register": "^3.5.0", "jsdoc-type-pratt-parser": "^4.0.0", "process": "^0.11.10", "recast": "^0.23.5", "semver": "^7.6.2", "util": "^0.12.5", "ws": "^8.2.3" }, "peerDependencies": { "prettier": "^2 || ^3" }, "optionalPeers": ["prettier"] }, "sha512-lndZDYIvUddWk54HmgYwE4h2B0JtWt8ztIRAzHRt6ReZZ9QQbmM5b85Qpa+ng4dyQEKc2JAtYD3Du7RRFcpHlw=="], + + "@storybook/csf-plugin": ["@storybook/csf-plugin@8.6.14", "https://registry.npmmirror.com/@storybook/csf-plugin/-/csf-plugin-8.6.14.tgz", { "dependencies": { "unplugin": "^1.3.1" }, "peerDependencies": { "storybook": "^8.6.14" } }, "sha512-dErtc9teAuN+eelN8FojzFE635xlq9cNGGGEu0WEmMUQ4iJ8pingvBO1N8X3scz4Ry7KnxX++NNf3J3gpxS8qQ=="], + + "@storybook/global": ["@storybook/global@5.0.0", "https://registry.npmmirror.com/@storybook/global/-/global-5.0.0.tgz", {}, "sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ=="], + + "@storybook/icons": ["@storybook/icons@1.6.0", "https://registry.npmmirror.com/@storybook/icons/-/icons-1.6.0.tgz", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta" } }, "sha512-hcFZIjW8yQz8O8//2WTIXylm5Xsgc+lW9ISLgUk1xGmptIJQRdlhVIXCpSyLrQaaRiyhQRaVg7l3BD9S216BHw=="], + + "@storybook/instrumenter": ["@storybook/instrumenter@8.6.14", "https://registry.npmmirror.com/@storybook/instrumenter/-/instrumenter-8.6.14.tgz", { "dependencies": { "@storybook/global": "^5.0.0", "@vitest/utils": "^2.1.1" }, "peerDependencies": { "storybook": "^8.6.14" } }, "sha512-iG4MlWCcz1L7Yu8AwgsnfVAmMbvyRSk700Mfy2g4c8y5O+Cv1ejshE1LBBsCwHgkuqU0H4R0qu4g23+6UnUemQ=="], + + "@storybook/manager-api": ["@storybook/manager-api@8.6.17", "https://registry.npmmirror.com/@storybook/manager-api/-/manager-api-8.6.17.tgz", { "peerDependencies": { "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" } }, "sha512-sPJytvClNrw5GgKcPletMTxDOAYcTRA8VRt9E+ncKvPSYHtPDqLfGTgWajXmt0hRsiBUN5bOgLS9bmNjNQWhrw=="], + + "@storybook/preview-api": ["@storybook/preview-api@8.6.17", "https://registry.npmmirror.com/@storybook/preview-api/-/preview-api-8.6.17.tgz", { "peerDependencies": { "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" } }, "sha512-vpTCTkw11wXerYnlG5Q0y4SbFqG9O6GhR0hlYgCn3Z9kcHlNjK/xuwd3h4CvwNXxRNWZGT8qYYCLn5gSSrX6fA=="], + + "@storybook/react": ["@storybook/react@8.6.17", "https://registry.npmmirror.com/@storybook/react/-/react-8.6.17.tgz", { "dependencies": { "@storybook/components": "8.6.17", "@storybook/global": "^5.0.0", "@storybook/manager-api": "8.6.17", "@storybook/preview-api": "8.6.17", "@storybook/react-dom-shim": "8.6.17", "@storybook/theming": "8.6.17" }, "peerDependencies": { "@storybook/test": "8.6.17", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "storybook": "^8.6.17", "typescript": ">= 4.2.x" }, "optionalPeers": ["@storybook/test", "typescript"] }, "sha512-yoOzgyZ2VXPJBmvcKS4EVoAf7SJxXbMBcLjWGvmWdDnS+hd7S9cHG/SbgQ+9/vgiLUc+uEuvQjiKrwY3iOA5rg=="], + + "@storybook/react-dom-shim": ["@storybook/react-dom-shim@8.6.17", "https://registry.npmmirror.com/@storybook/react-dom-shim/-/react-dom-shim-8.6.17.tgz", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "storybook": "^8.6.17" } }, "sha512-bHLsR9b/tiwm9lXbN8kp9XlOgkRXeg84UFwXaWBPu3pOO7vRXukk23SQUpLW+HhjKtCJ3xClSi5uMpse5MpkVQ=="], + + "@storybook/react-vite": ["@storybook/react-vite@8.6.17", "https://registry.npmmirror.com/@storybook/react-vite/-/react-vite-8.6.17.tgz", { "dependencies": { "@joshwooding/vite-plugin-react-docgen-typescript": "0.5.0", "@rollup/pluginutils": "^5.0.2", "@storybook/builder-vite": "8.6.17", "@storybook/react": "8.6.17", "find-up": "^5.0.0", "magic-string": "^0.30.0", "react-docgen": "^7.0.0", "resolve": "^1.22.8", "tsconfig-paths": "^4.2.0" }, "peerDependencies": { "@storybook/test": "8.6.17", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "storybook": "^8.6.17", "vite": "^4.0.0 || ^5.0.0 || ^6.0.0" }, "optionalPeers": ["@storybook/test"] }, "sha512-Tsn16nN++3j0fynrPQkuxxNQHHh06nqgYRTfCTT5qQUV6hDY1uiwN7ZkJEIODEqc26O4HRd0yrAA6lOnr1KZOg=="], + + "@storybook/test": ["@storybook/test@8.6.15", "https://registry.npmmirror.com/@storybook/test/-/test-8.6.15.tgz", { "dependencies": { "@storybook/global": "^5.0.0", "@storybook/instrumenter": "8.6.15", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "6.5.0", "@testing-library/user-event": "14.5.2", "@vitest/expect": "2.0.5", "@vitest/spy": "2.0.5" }, "peerDependencies": { "storybook": "^8.6.15" } }, "sha512-EwquDRUDVvWcZds3T2abmB5wSN/Vattal4YtZ6fpBlIUqONV4o/cOBX39cFfQSUCBrIXIjQ6RmapQCHK/PvBYw=="], + + "@storybook/theming": ["@storybook/theming@8.6.17", "https://registry.npmmirror.com/@storybook/theming/-/theming-8.6.17.tgz", { "peerDependencies": { "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" } }, "sha512-IttFvRqozpuzN5MlQEWGOzUA2rZg86688Dyv1d+bjpYcFHtY1X4XyTCGwv1BPTaTsB959oM8R2yoNYWQkABbBA=="], + + "@tailwindcss/node": ["@tailwindcss/node@4.2.1", "https://registry.npmmirror.com/@tailwindcss/node/-/node-4.2.1.tgz", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "enhanced-resolve": "^5.19.0", "jiti": "^2.6.1", "lightningcss": "1.31.1", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", "tailwindcss": "4.2.1" } }, "sha512-jlx6sLk4EOwO6hHe1oCGm1Q4AN/s0rSrTTPBGPM0/RQ6Uylwq17FuU8IeJJKEjtc6K6O07zsvP+gDO6MMWo7pg=="], + + "@tailwindcss/oxide": ["@tailwindcss/oxide@4.2.1", "https://registry.npmmirror.com/@tailwindcss/oxide/-/oxide-4.2.1.tgz", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.2.1", "@tailwindcss/oxide-darwin-arm64": "4.2.1", "@tailwindcss/oxide-darwin-x64": "4.2.1", "@tailwindcss/oxide-freebsd-x64": "4.2.1", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.1", "@tailwindcss/oxide-linux-arm64-gnu": "4.2.1", "@tailwindcss/oxide-linux-arm64-musl": "4.2.1", "@tailwindcss/oxide-linux-x64-gnu": "4.2.1", "@tailwindcss/oxide-linux-x64-musl": "4.2.1", "@tailwindcss/oxide-wasm32-wasi": "4.2.1", "@tailwindcss/oxide-win32-arm64-msvc": "4.2.1", "@tailwindcss/oxide-win32-x64-msvc": "4.2.1" } }, "sha512-yv9jeEFWnjKCI6/T3Oq50yQEOqmpmpfzG1hcZsAOaXFQPfzWprWrlHSdGPEF3WQTi8zu8ohC9Mh9J470nT5pUw=="], + + "@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.2.1", "https://registry.npmmirror.com/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.1.tgz", { "os": "android", "cpu": "arm64" }, "sha512-eZ7G1Zm5EC8OOKaesIKuw77jw++QJ2lL9N+dDpdQiAB/c/B2wDh0QPFHbkBVrXnwNugvrbJFk1gK2SsVjwWReg=="], + + "@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.2.1", "https://registry.npmmirror.com/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.1.tgz", { "os": "darwin", "cpu": "arm64" }, "sha512-q/LHkOstoJ7pI1J0q6djesLzRvQSIfEto148ppAd+BVQK0JYjQIFSK3JgYZJa+Yzi0DDa52ZsQx2rqytBnf8Hw=="], + + "@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.2.1", "https://registry.npmmirror.com/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.1.tgz", { "os": "darwin", "cpu": "x64" }, "sha512-/f/ozlaXGY6QLbpvd/kFTro2l18f7dHKpB+ieXz+Cijl4Mt9AI2rTrpq7V+t04nK+j9XBQHnSMdeQRhbGyt6fw=="], + + "@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.2.1", "https://registry.npmmirror.com/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.1.tgz", { "os": "freebsd", "cpu": "x64" }, "sha512-5e/AkgYJT/cpbkys/OU2Ei2jdETCLlifwm7ogMC7/hksI2fC3iiq6OcXwjibcIjPung0kRtR3TxEITkqgn0TcA=="], + + "@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.2.1", "https://registry.npmmirror.com/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.1.tgz", { "os": "linux", "cpu": "arm" }, "sha512-Uny1EcVTTmerCKt/1ZuKTkb0x8ZaiuYucg2/kImO5A5Y/kBz41/+j0gxUZl+hTF3xkWpDmHX+TaWhOtba2Fyuw=="], + + "@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.2.1", "https://registry.npmmirror.com/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.1.tgz", { "os": "linux", "cpu": "arm64" }, "sha512-CTrwomI+c7n6aSSQlsPL0roRiNMDQ/YzMD9EjcR+H4f0I1SQ8QqIuPnsVp7QgMkC1Qi8rtkekLkOFjo7OlEFRQ=="], + + "@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.2.1", "https://registry.npmmirror.com/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.1.tgz", { "os": "linux", "cpu": "arm64" }, "sha512-WZA0CHRL/SP1TRbA5mp9htsppSEkWuQ4KsSUumYQnyl8ZdT39ntwqmz4IUHGN6p4XdSlYfJwM4rRzZLShHsGAQ=="], + + "@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.2.1", "https://registry.npmmirror.com/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.1.tgz", { "os": "linux", "cpu": "x64" }, "sha512-qMFzxI2YlBOLW5PhblzuSWlWfwLHaneBE0xHzLrBgNtqN6mWfs+qYbhryGSXQjFYB1Dzf5w+LN5qbUTPhW7Y5g=="], + + "@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.2.1", "https://registry.npmmirror.com/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.1.tgz", { "os": "linux", "cpu": "x64" }, "sha512-5r1X2FKnCMUPlXTWRYpHdPYUY6a1Ar/t7P24OuiEdEOmms5lyqjDRvVY1yy9Rmioh+AunQ0rWiOTPE8F9A3v5g=="], + + "@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.2.1", "https://registry.npmmirror.com/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.1.tgz", { "dependencies": { "@emnapi/core": "^1.8.1", "@emnapi/runtime": "^1.8.1", "@emnapi/wasi-threads": "^1.1.0", "@napi-rs/wasm-runtime": "^1.1.1", "@tybys/wasm-util": "^0.10.1", "tslib": "^2.8.1" }, "cpu": "none" }, "sha512-MGFB5cVPvshR85MTJkEvqDUnuNoysrsRxd6vnk1Lf2tbiqNlXpHYZqkqOQalydienEWOHHFyyuTSYRsLfxFJ2Q=="], + + "@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.2.1", "https://registry.npmmirror.com/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.1.tgz", { "os": "win32", "cpu": "arm64" }, "sha512-YlUEHRHBGnCMh4Nj4GnqQyBtsshUPdiNroZj8VPkvTZSoHsilRCwXcVKnG9kyi0ZFAS/3u+qKHBdDc81SADTRA=="], + + "@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.2.1", "https://registry.npmmirror.com/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.1.tgz", { "os": "win32", "cpu": "x64" }, "sha512-rbO34G5sMWWyrN/idLeVxAZgAKWrn5LiR3/I90Q9MkA67s6T1oB0xtTe+0heoBvHSpbU9Mk7i6uwJnpo4u21XQ=="], + + "@tailwindcss/postcss": ["@tailwindcss/postcss@4.2.1", "https://registry.npmmirror.com/@tailwindcss/postcss/-/postcss-4.2.1.tgz", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "@tailwindcss/node": "4.2.1", "@tailwindcss/oxide": "4.2.1", "postcss": "^8.5.6", "tailwindcss": "4.2.1" } }, "sha512-OEwGIBnXnj7zJeonOh6ZG9woofIjGrd2BORfvE5p9USYKDCZoQmfqLcfNiRWoJlRWLdNPn2IgVZuWAOM4iTYMw=="], + + "@testing-library/dom": ["@testing-library/dom@10.4.0", "https://registry.npmmirror.com/@testing-library/dom/-/dom-10.4.0.tgz", { "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.3.0", "chalk": "^4.1.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "pretty-format": "^27.0.2" } }, "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ=="], + + "@testing-library/jest-dom": ["@testing-library/jest-dom@6.5.0", "https://registry.npmmirror.com/@testing-library/jest-dom/-/jest-dom-6.5.0.tgz", { "dependencies": { "@adobe/css-tools": "^4.4.0", "aria-query": "^5.0.0", "chalk": "^3.0.0", "css.escape": "^1.5.1", "dom-accessibility-api": "^0.6.3", "lodash": "^4.17.21", "redent": "^3.0.0" } }, "sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA=="], + + "@testing-library/user-event": ["@testing-library/user-event@14.5.2", "https://registry.npmmirror.com/@testing-library/user-event/-/user-event-14.5.2.tgz", { "peerDependencies": { "@testing-library/dom": ">=7.21.4" } }, "sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ=="], + + "@types/aria-query": ["@types/aria-query@5.0.4", "https://registry.npmmirror.com/@types/aria-query/-/aria-query-5.0.4.tgz", {}, "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw=="], + + "@types/babel__core": ["@types/babel__core@7.20.5", "https://registry.npmmirror.com/@types/babel__core/-/babel__core-7.20.5.tgz", { "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", "@types/babel__generator": "*", "@types/babel__template": "*", "@types/babel__traverse": "*" } }, "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA=="], + + "@types/babel__generator": ["@types/babel__generator@7.27.0", "https://registry.npmmirror.com/@types/babel__generator/-/babel__generator-7.27.0.tgz", { "dependencies": { "@babel/types": "^7.0.0" } }, "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg=="], + + "@types/babel__template": ["@types/babel__template@7.4.4", "https://registry.npmmirror.com/@types/babel__template/-/babel__template-7.4.4.tgz", { "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A=="], + + "@types/babel__traverse": ["@types/babel__traverse@7.28.0", "https://registry.npmmirror.com/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", { "dependencies": { "@babel/types": "^7.28.2" } }, "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q=="], + + "@types/doctrine": ["@types/doctrine@0.0.9", "https://registry.npmmirror.com/@types/doctrine/-/doctrine-0.0.9.tgz", {}, "sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA=="], + + "@types/estree": ["@types/estree@1.0.8", "https://registry.npmmirror.com/@types/estree/-/estree-1.0.8.tgz", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "@types/json-schema": ["@types/json-schema@7.0.15", "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="], + + "@types/mdx": ["@types/mdx@2.0.13", "https://registry.npmmirror.com/@types/mdx/-/mdx-2.0.13.tgz", {}, "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw=="], + + "@types/node": ["@types/node@24.10.14", "https://registry.npmmirror.com/@types/node/-/node-24.10.14.tgz", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-OowOUbD1lBCOFIPOZ8xnMIhgqA4sCutMiYOmPHL1PTLt5+y1XA+g2+yC9OOyz8p+deMZqPZLxfMjYIfrKsPeFg=="], + + "@types/react": ["@types/react@19.2.14", "https://registry.npmmirror.com/@types/react/-/react-19.2.14.tgz", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w=="], + + "@types/react-dom": ["@types/react-dom@19.2.3", "https://registry.npmmirror.com/@types/react-dom/-/react-dom-19.2.3.tgz", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ=="], + + "@types/resolve": ["@types/resolve@1.20.6", "https://registry.npmmirror.com/@types/resolve/-/resolve-1.20.6.tgz", {}, "sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ=="], + + "@types/uuid": ["@types/uuid@9.0.8", "https://registry.npmmirror.com/@types/uuid/-/uuid-9.0.8.tgz", {}, "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA=="], + + "@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.56.1", "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.56.1.tgz", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "@typescript-eslint/scope-manager": "8.56.1", "@typescript-eslint/type-utils": "8.56.1", "@typescript-eslint/utils": "8.56.1", "@typescript-eslint/visitor-keys": "8.56.1", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.4.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.56.1", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-Jz9ZztpB37dNC+HU2HI28Bs9QXpzCz+y/twHOwhyrIRdbuVDxSytJNDl6z/aAKlaRIwC7y8wJdkBv7FxYGgi0A=="], + + "@typescript-eslint/parser": ["@typescript-eslint/parser@8.56.1", "https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-8.56.1.tgz", { "dependencies": { "@typescript-eslint/scope-manager": "8.56.1", "@typescript-eslint/types": "8.56.1", "@typescript-eslint/typescript-estree": "8.56.1", "@typescript-eslint/visitor-keys": "8.56.1", "debug": "^4.4.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg=="], + + "@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.56.1", "https://registry.npmmirror.com/@typescript-eslint/project-service/-/project-service-8.56.1.tgz", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.56.1", "@typescript-eslint/types": "^8.56.1", "debug": "^4.4.3" }, "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ=="], + + "@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.56.1", "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-8.56.1.tgz", { "dependencies": { "@typescript-eslint/types": "8.56.1", "@typescript-eslint/visitor-keys": "8.56.1" } }, "sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w=="], + + "@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.56.1", "https://registry.npmmirror.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.56.1.tgz", { "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ=="], + + "@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.56.1", "https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-8.56.1.tgz", { "dependencies": { "@typescript-eslint/types": "8.56.1", "@typescript-eslint/typescript-estree": "8.56.1", "@typescript-eslint/utils": "8.56.1", "debug": "^4.4.3", "ts-api-utils": "^2.4.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-yB/7dxi7MgTtGhZdaHCemf7PuwrHMenHjmzgUW1aJpO+bBU43OycnM3Wn+DdvDO/8zzA9HlhaJ0AUGuvri4oGg=="], + + "@typescript-eslint/types": ["@typescript-eslint/types@8.56.1", "https://registry.npmmirror.com/@typescript-eslint/types/-/types-8.56.1.tgz", {}, "sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw=="], + + "@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.56.1", "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.56.1.tgz", { "dependencies": { "@typescript-eslint/project-service": "8.56.1", "@typescript-eslint/tsconfig-utils": "8.56.1", "@typescript-eslint/types": "8.56.1", "@typescript-eslint/visitor-keys": "8.56.1", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", "ts-api-utils": "^2.4.0" }, "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg=="], + + "@typescript-eslint/utils": ["@typescript-eslint/utils@8.56.1", "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-8.56.1.tgz", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/scope-manager": "8.56.1", "@typescript-eslint/types": "8.56.1", "@typescript-eslint/typescript-estree": "8.56.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA=="], + + "@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.56.1", "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.56.1.tgz", { "dependencies": { "@typescript-eslint/types": "8.56.1", "eslint-visitor-keys": "^5.0.0" } }, "sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw=="], + + "@vitejs/plugin-react": ["@vitejs/plugin-react@5.1.4", "https://registry.npmmirror.com/@vitejs/plugin-react/-/plugin-react-5.1.4.tgz", { "dependencies": { "@babel/core": "^7.29.0", "@babel/plugin-transform-react-jsx-self": "^7.27.1", "@babel/plugin-transform-react-jsx-source": "^7.27.1", "@rolldown/pluginutils": "1.0.0-rc.3", "@types/babel__core": "^7.20.5", "react-refresh": "^0.18.0" }, "peerDependencies": { "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, "sha512-VIcFLdRi/VYRU8OL/puL7QXMYafHmqOnwTZY50U1JPlCNj30PxCMx65c494b1K9be9hX83KVt0+gTEwTWLqToA=="], + + "@vitest/expect": ["@vitest/expect@2.0.5", "https://registry.npmmirror.com/@vitest/expect/-/expect-2.0.5.tgz", { "dependencies": { "@vitest/spy": "2.0.5", "@vitest/utils": "2.0.5", "chai": "^5.1.1", "tinyrainbow": "^1.2.0" } }, "sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA=="], + + "@vitest/pretty-format": ["@vitest/pretty-format@2.1.9", "https://registry.npmmirror.com/@vitest/pretty-format/-/pretty-format-2.1.9.tgz", { "dependencies": { "tinyrainbow": "^1.2.0" } }, "sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ=="], + + "@vitest/spy": ["@vitest/spy@2.0.5", "https://registry.npmmirror.com/@vitest/spy/-/spy-2.0.5.tgz", { "dependencies": { "tinyspy": "^3.0.0" } }, "sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA=="], + + "@vitest/utils": ["@vitest/utils@2.1.9", "https://registry.npmmirror.com/@vitest/utils/-/utils-2.1.9.tgz", { "dependencies": { "@vitest/pretty-format": "2.1.9", "loupe": "^3.1.2", "tinyrainbow": "^1.2.0" } }, "sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ=="], + + "@xmldom/xmldom": ["@xmldom/xmldom@0.8.11", "https://registry.npmmirror.com/@xmldom/xmldom/-/xmldom-0.8.11.tgz", {}, "sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw=="], + + "acorn": ["acorn@8.16.0", "https://registry.npmmirror.com/acorn/-/acorn-8.16.0.tgz", { "bin": { "acorn": "bin/acorn" } }, "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw=="], + + "acorn-jsx": ["acorn-jsx@5.3.2", "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="], + + "ajv": ["ajv@6.14.0", "https://registry.npmmirror.com/ajv/-/ajv-6.14.0.tgz", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw=="], + + "ansi-regex": ["ansi-regex@5.0.1", "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], + + "ansi-styles": ["ansi-styles@4.3.0", "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], + + "argparse": ["argparse@1.0.10", "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], + + "aria-query": ["aria-query@5.3.0", "https://registry.npmmirror.com/aria-query/-/aria-query-5.3.0.tgz", { "dependencies": { "dequal": "^2.0.3" } }, "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A=="], + + "assertion-error": ["assertion-error@2.0.1", "https://registry.npmmirror.com/assertion-error/-/assertion-error-2.0.1.tgz", {}, "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA=="], + + "ast-types": ["ast-types@0.16.1", "https://registry.npmmirror.com/ast-types/-/ast-types-0.16.1.tgz", { "dependencies": { "tslib": "^2.0.1" } }, "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg=="], + + "asynckit": ["asynckit@0.4.0", "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", {}, "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="], + + "autoprefixer": ["autoprefixer@10.4.27", "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.27.tgz", { "dependencies": { "browserslist": "^4.28.1", "caniuse-lite": "^1.0.30001774", "fraction.js": "^5.3.4", "picocolors": "^1.1.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.1.0" }, "bin": { "autoprefixer": "bin/autoprefixer" } }, "sha512-NP9APE+tO+LuJGn7/9+cohklunJsXWiaWEfV3si4Gi/XHDwVNgkwr1J3RQYFIvPy76GmJ9/bW8vyoU1LcxwKHA=="], + + "available-typed-arrays": ["available-typed-arrays@1.0.7", "https://registry.npmmirror.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", { "dependencies": { "possible-typed-array-names": "^1.0.0" } }, "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ=="], + + "axios": ["axios@1.13.5", "https://registry.npmmirror.com/axios/-/axios-1.13.5.tgz", { "dependencies": { "follow-redirects": "^1.15.11", "form-data": "^4.0.5", "proxy-from-env": "^1.1.0" } }, "sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q=="], + + "balanced-match": ["balanced-match@1.0.2", "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], + + "base64-js": ["base64-js@1.5.1", "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], + + "baseline-browser-mapping": ["baseline-browser-mapping@2.10.0", "https://registry.npmmirror.com/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz", { "bin": { "baseline-browser-mapping": "dist/cli.cjs" } }, "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA=="], + + "better-opn": ["better-opn@3.0.2", "https://registry.npmmirror.com/better-opn/-/better-opn-3.0.2.tgz", { "dependencies": { "open": "^8.0.4" } }, "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ=="], + + "bluebird": ["bluebird@3.4.7", "https://registry.npmmirror.com/bluebird/-/bluebird-3.4.7.tgz", {}, "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA=="], + + "brace-expansion": ["brace-expansion@1.1.12", "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.12.tgz", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], + + "browser-assert": ["browser-assert@1.2.1", "https://registry.npmmirror.com/browser-assert/-/browser-assert-1.2.1.tgz", {}, "sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ=="], + + "browserslist": ["browserslist@4.28.1", "https://registry.npmmirror.com/browserslist/-/browserslist-4.28.1.tgz", { "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", "electron-to-chromium": "^1.5.263", "node-releases": "^2.0.27", "update-browserslist-db": "^1.2.0" }, "bin": { "browserslist": "cli.js" } }, "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA=="], + + "call-bind": ["call-bind@1.0.8", "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.8.tgz", { "dependencies": { "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", "get-intrinsic": "^1.2.4", "set-function-length": "^1.2.2" } }, "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww=="], + + "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], + + "call-bound": ["call-bound@1.0.4", "https://registry.npmmirror.com/call-bound/-/call-bound-1.0.4.tgz", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="], + + "callsites": ["callsites@3.1.0", "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="], + + "caniuse-lite": ["caniuse-lite@1.0.30001774", "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001774.tgz", {}, "sha512-DDdwPGz99nmIEv216hKSgLD+D4ikHQHjBC/seF98N9CPqRX4M5mSxT9eTV6oyisnJcuzxtZy4n17yKKQYmYQOA=="], + + "chai": ["chai@5.3.3", "https://registry.npmmirror.com/chai/-/chai-5.3.3.tgz", { "dependencies": { "assertion-error": "^2.0.1", "check-error": "^2.1.1", "deep-eql": "^5.0.1", "loupe": "^3.1.0", "pathval": "^2.0.0" } }, "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw=="], + + "chalk": ["chalk@4.1.2", "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + + "check-error": ["check-error@2.1.3", "https://registry.npmmirror.com/check-error/-/check-error-2.1.3.tgz", {}, "sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA=="], + + "clsx": ["clsx@2.1.1", "https://registry.npmmirror.com/clsx/-/clsx-2.1.1.tgz", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="], + + "color-convert": ["color-convert@2.0.1", "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], + + "color-name": ["color-name@1.1.4", "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], + + "combined-stream": ["combined-stream@1.0.8", "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="], + + "concat-map": ["concat-map@0.0.1", "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], + + "convert-source-map": ["convert-source-map@2.0.0", "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + + "cookie": ["cookie@1.1.1", "https://registry.npmmirror.com/cookie/-/cookie-1.1.1.tgz", {}, "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ=="], + + "copy-text-to-clipboard": ["copy-text-to-clipboard@3.2.2", "https://registry.npmmirror.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.2.tgz", {}, "sha512-T6SqyLd1iLuqPA90J5N4cTalrtovCySh58iiZDGJ6FGznbclKh4UI+FGacQSgFzwKG77W7XT5gwbVEbd9cIH1A=="], + + "core-js": ["core-js@3.48.0", "https://registry.npmmirror.com/core-js/-/core-js-3.48.0.tgz", {}, "sha512-zpEHTy1fjTMZCKLHUZoVeylt9XrzaIN2rbPXEt0k+q7JE5CkCZdo6bNq55bn24a69CH7ErAVLKijxJja4fw+UQ=="], + + "core-util-is": ["core-util-is@1.0.3", "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz", {}, "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="], + + "cross-spawn": ["cross-spawn@7.0.6", "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], + + "css.escape": ["css.escape@1.5.1", "https://registry.npmmirror.com/css.escape/-/css.escape-1.5.1.tgz", {}, "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg=="], + + "csstype": ["csstype@3.2.3", "https://registry.npmmirror.com/csstype/-/csstype-3.2.3.tgz", {}, "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="], + + "debug": ["debug@4.4.3", "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], + + "deep-eql": ["deep-eql@5.0.2", "https://registry.npmmirror.com/deep-eql/-/deep-eql-5.0.2.tgz", {}, "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q=="], + + "deep-is": ["deep-is@0.1.4", "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="], + + "define-data-property": ["define-data-property@1.1.4", "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz", { "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" } }, "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A=="], + + "define-lazy-prop": ["define-lazy-prop@2.0.0", "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", {}, "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og=="], + + "delayed-stream": ["delayed-stream@1.0.0", "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", {}, "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="], + + "dequal": ["dequal@2.0.3", "https://registry.npmmirror.com/dequal/-/dequal-2.0.3.tgz", {}, "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="], + + "detect-libc": ["detect-libc@2.1.2", "https://registry.npmmirror.com/detect-libc/-/detect-libc-2.1.2.tgz", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], + + "dingbat-to-unicode": ["dingbat-to-unicode@1.0.1", "https://registry.npmmirror.com/dingbat-to-unicode/-/dingbat-to-unicode-1.0.1.tgz", {}, "sha512-98l0sW87ZT58pU4i61wa2OHwxbiYSbuxsCBozaVnYX2iCnr3bLM3fIes1/ej7h1YdOKuKt/MLs706TVnALA65w=="], + + "doctrine": ["doctrine@3.0.0", "https://registry.npmmirror.com/doctrine/-/doctrine-3.0.0.tgz", { "dependencies": { "esutils": "^2.0.2" } }, "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w=="], + + "dom-accessibility-api": ["dom-accessibility-api@0.5.16", "https://registry.npmmirror.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", {}, "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg=="], + + "duck": ["duck@0.1.12", "https://registry.npmmirror.com/duck/-/duck-0.1.12.tgz", { "dependencies": { "underscore": "^1.13.1" } }, "sha512-wkctla1O6VfP89gQ+J/yDesM0S7B7XLXjKGzXxMDVFg7uEn706niAtyYovKbyq1oT9YwDcly721/iUWoc8MVRg=="], + + "dunder-proto": ["dunder-proto@1.0.1", "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], + + "eastasianwidth": ["eastasianwidth@0.2.0", "https://registry.npmmirror.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="], + + "electron-to-chromium": ["electron-to-chromium@1.5.302", "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.302.tgz", {}, "sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg=="], + + "emoji-regex": ["emoji-regex@9.2.2", "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], + + "enhanced-resolve": ["enhanced-resolve@5.19.0", "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.3.0" } }, "sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg=="], + + "es-define-property": ["es-define-property@1.0.1", "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="], + + "es-errors": ["es-errors@1.3.0", "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="], + + "es-object-atoms": ["es-object-atoms@1.1.1", "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="], + + "es-set-tostringtag": ["es-set-tostringtag@2.1.0", "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="], + + "esbuild": ["esbuild@0.27.3", "https://registry.npmmirror.com/esbuild/-/esbuild-0.27.3.tgz", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.27.3", "@esbuild/android-arm": "0.27.3", "@esbuild/android-arm64": "0.27.3", "@esbuild/android-x64": "0.27.3", "@esbuild/darwin-arm64": "0.27.3", "@esbuild/darwin-x64": "0.27.3", "@esbuild/freebsd-arm64": "0.27.3", "@esbuild/freebsd-x64": "0.27.3", "@esbuild/linux-arm": "0.27.3", "@esbuild/linux-arm64": "0.27.3", "@esbuild/linux-ia32": "0.27.3", "@esbuild/linux-loong64": "0.27.3", "@esbuild/linux-mips64el": "0.27.3", "@esbuild/linux-ppc64": "0.27.3", "@esbuild/linux-riscv64": "0.27.3", "@esbuild/linux-s390x": "0.27.3", "@esbuild/linux-x64": "0.27.3", "@esbuild/netbsd-arm64": "0.27.3", "@esbuild/netbsd-x64": "0.27.3", "@esbuild/openbsd-arm64": "0.27.3", "@esbuild/openbsd-x64": "0.27.3", "@esbuild/openharmony-arm64": "0.27.3", "@esbuild/sunos-x64": "0.27.3", "@esbuild/win32-arm64": "0.27.3", "@esbuild/win32-ia32": "0.27.3", "@esbuild/win32-x64": "0.27.3" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg=="], + + "esbuild-register": ["esbuild-register@3.6.0", "https://registry.npmmirror.com/esbuild-register/-/esbuild-register-3.6.0.tgz", { "dependencies": { "debug": "^4.3.4" }, "peerDependencies": { "esbuild": ">=0.12 <1" } }, "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg=="], + + "escalade": ["escalade@3.2.0", "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], + + "escape-string-regexp": ["escape-string-regexp@4.0.0", "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], + + "eslint": ["eslint@9.39.3", "https://registry.npmmirror.com/eslint/-/eslint-9.39.3.tgz", { "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.21.1", "@eslint/config-helpers": "^0.4.2", "@eslint/core": "^0.17.0", "@eslint/eslintrc": "^3.3.1", "@eslint/js": "9.39.3", "@eslint/plugin-kit": "^0.4.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^8.4.0", "eslint-visitor-keys": "^4.2.1", "espree": "^10.4.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-VmQ+sifHUbI/IcSopBCF/HO3YiHQx/AVd3UVyYL6weuwW+HvON9VYn5l6Zl1WZzPWXPNZrSQpxwkkZ/VuvJZzg=="], + + "eslint-config-prettier": ["eslint-config-prettier@10.1.8", "https://registry.npmmirror.com/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", { "peerDependencies": { "eslint": ">=7.0.0" }, "bin": { "eslint-config-prettier": "bin/cli.js" } }, "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w=="], + + "eslint-plugin-prettier": ["eslint-plugin-prettier@5.5.5", "https://registry.npmmirror.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.5.tgz", { "dependencies": { "prettier-linter-helpers": "^1.0.1", "synckit": "^0.11.12" }, "peerDependencies": { "@types/eslint": ">=8.0.0", "eslint": ">=8.0.0", "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", "prettier": ">=3.0.0" }, "optionalPeers": ["@types/eslint", "eslint-config-prettier"] }, "sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw=="], + + "eslint-plugin-react-hooks": ["eslint-plugin-react-hooks@5.2.0", "https://registry.npmmirror.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", { "peerDependencies": { "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg=="], + + "eslint-plugin-react-refresh": ["eslint-plugin-react-refresh@0.4.26", "https://registry.npmmirror.com/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.26.tgz", { "peerDependencies": { "eslint": ">=8.40" } }, "sha512-1RETEylht2O6FM/MvgnyvT+8K21wLqDNg4qD51Zj3guhjt433XbnnkVttHMyaVyAFD03QSV4LPS5iE3VQmO7XQ=="], + + "eslint-scope": ["eslint-scope@8.4.0", "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-8.4.0.tgz", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg=="], + + "eslint-visitor-keys": ["eslint-visitor-keys@4.2.1", "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", {}, "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ=="], + + "espree": ["espree@10.4.0", "https://registry.npmmirror.com/espree/-/espree-10.4.0.tgz", { "dependencies": { "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^4.2.1" } }, "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ=="], + + "esprima": ["esprima@4.0.1", "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz", { "bin": { "esparse": "./bin/esparse.js", "esvalidate": "./bin/esvalidate.js" } }, "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="], + + "esquery": ["esquery@1.7.0", "https://registry.npmmirror.com/esquery/-/esquery-1.7.0.tgz", { "dependencies": { "estraverse": "^5.1.0" } }, "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g=="], + + "esrecurse": ["esrecurse@4.3.0", "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", { "dependencies": { "estraverse": "^5.2.0" } }, "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="], + + "estraverse": ["estraverse@5.3.0", "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], + + "estree-walker": ["estree-walker@2.0.2", "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + + "esutils": ["esutils@2.0.3", "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="], + + "fast-deep-equal": ["fast-deep-equal@3.1.3", "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], + + "fast-diff": ["fast-diff@1.3.0", "https://registry.npmmirror.com/fast-diff/-/fast-diff-1.3.0.tgz", {}, "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw=="], + + "fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="], + + "fast-levenshtein": ["fast-levenshtein@2.0.6", "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", {}, "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="], + + "fdir": ["fdir@6.5.0", "https://registry.npmmirror.com/fdir/-/fdir-6.5.0.tgz", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="], + + "file-entry-cache": ["file-entry-cache@8.0.0", "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz", { "dependencies": { "flat-cache": "^4.0.0" } }, "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ=="], + + "find-up": ["find-up@5.0.0", "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="], + + "flat-cache": ["flat-cache@4.0.1", "https://registry.npmmirror.com/flat-cache/-/flat-cache-4.0.1.tgz", { "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" } }, "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw=="], + + "flatted": ["flatted@3.3.3", "https://registry.npmmirror.com/flatted/-/flatted-3.3.3.tgz", {}, "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg=="], + + "follow-redirects": ["follow-redirects@1.15.11", "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.11.tgz", {}, "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ=="], + + "for-each": ["for-each@0.3.5", "https://registry.npmmirror.com/for-each/-/for-each-0.3.5.tgz", { "dependencies": { "is-callable": "^1.2.7" } }, "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg=="], + + "foreground-child": ["foreground-child@3.3.1", "https://registry.npmmirror.com/foreground-child/-/foreground-child-3.3.1.tgz", { "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="], + + "form-data": ["form-data@4.0.5", "https://registry.npmmirror.com/form-data/-/form-data-4.0.5.tgz", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.2", "mime-types": "^2.1.12" } }, "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w=="], + + "fraction.js": ["fraction.js@5.3.4", "https://registry.npmmirror.com/fraction.js/-/fraction.js-5.3.4.tgz", {}, "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ=="], + + "framer-motion": ["framer-motion@12.34.3", "https://registry.npmmirror.com/framer-motion/-/framer-motion-12.34.3.tgz", { "dependencies": { "motion-dom": "^12.34.3", "motion-utils": "^12.29.2", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-v81ecyZKYO/DfpTwHivqkxSUBzvceOpoI+wLfgCgoUIKxlFKEXdg0oR9imxwXumT4SFy8vRk9xzJ5l3/Du/55Q=="], + + "fsevents": ["fsevents@2.3.3", "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], + + "function-bind": ["function-bind@1.1.2", "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], + + "generator-function": ["generator-function@2.0.1", "https://registry.npmmirror.com/generator-function/-/generator-function-2.0.1.tgz", {}, "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g=="], + + "gensync": ["gensync@1.0.0-beta.2", "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="], + + "get-intrinsic": ["get-intrinsic@1.3.0", "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="], + + "get-proto": ["get-proto@1.0.1", "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="], + + "glob": ["glob@10.5.0", "https://registry.npmmirror.com/glob/-/glob-10.5.0.tgz", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="], + + "glob-parent": ["glob-parent@6.0.2", "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="], + + "globals": ["globals@16.5.0", "https://registry.npmmirror.com/globals/-/globals-16.5.0.tgz", {}, "sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ=="], + + "gopd": ["gopd@1.2.0", "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], + + "graceful-fs": ["graceful-fs@4.2.11", "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], + + "has-flag": ["has-flag@4.0.0", "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="], + + "has-property-descriptors": ["has-property-descriptors@1.0.2", "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", { "dependencies": { "es-define-property": "^1.0.0" } }, "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg=="], + + "has-symbols": ["has-symbols@1.1.0", "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="], + + "has-tostringtag": ["has-tostringtag@1.0.2", "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="], + + "hasown": ["hasown@2.0.2", "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="], + + "html-to-image": ["html-to-image@1.11.13", "https://registry.npmmirror.com/html-to-image/-/html-to-image-1.11.13.tgz", {}, "sha512-cuOPoI7WApyhBElTTb9oqsawRvZ0rHhaHwghRLlTuffoD1B2aDemlCruLeZrUIIdvG7gs9xeELEPm6PhuASqrg=="], + + "ignore": ["ignore@7.0.5", "https://registry.npmmirror.com/ignore/-/ignore-7.0.5.tgz", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], + + "immediate": ["immediate@3.0.6", "https://registry.npmmirror.com/immediate/-/immediate-3.0.6.tgz", {}, "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ=="], + + "import-fresh": ["import-fresh@3.3.1", "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.1.tgz", { "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ=="], + + "imurmurhash": ["imurmurhash@0.1.4", "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="], + + "indent-string": ["indent-string@4.0.0", "https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz", {}, "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg=="], + + "inherits": ["inherits@2.0.4", "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], + + "is-arguments": ["is-arguments@1.2.0", "https://registry.npmmirror.com/is-arguments/-/is-arguments-1.2.0.tgz", { "dependencies": { "call-bound": "^1.0.2", "has-tostringtag": "^1.0.2" } }, "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA=="], + + "is-callable": ["is-callable@1.2.7", "https://registry.npmmirror.com/is-callable/-/is-callable-1.2.7.tgz", {}, "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA=="], + + "is-core-module": ["is-core-module@2.16.1", "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.16.1.tgz", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="], + + "is-docker": ["is-docker@2.2.1", "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz", { "bin": { "is-docker": "cli.js" } }, "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ=="], + + "is-extglob": ["is-extglob@2.1.1", "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], + + "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], + + "is-generator-function": ["is-generator-function@1.1.2", "https://registry.npmmirror.com/is-generator-function/-/is-generator-function-1.1.2.tgz", { "dependencies": { "call-bound": "^1.0.4", "generator-function": "^2.0.0", "get-proto": "^1.0.1", "has-tostringtag": "^1.0.2", "safe-regex-test": "^1.1.0" } }, "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA=="], + + "is-glob": ["is-glob@4.0.3", "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], + + "is-regex": ["is-regex@1.2.1", "https://registry.npmmirror.com/is-regex/-/is-regex-1.2.1.tgz", { "dependencies": { "call-bound": "^1.0.2", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g=="], + + "is-typed-array": ["is-typed-array@1.1.15", "https://registry.npmmirror.com/is-typed-array/-/is-typed-array-1.1.15.tgz", { "dependencies": { "which-typed-array": "^1.1.16" } }, "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ=="], + + "is-wsl": ["is-wsl@2.2.0", "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz", { "dependencies": { "is-docker": "^2.0.0" } }, "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww=="], + + "isarray": ["isarray@1.0.0", "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", {}, "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="], + + "isexe": ["isexe@2.0.0", "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], + + "jackspeak": ["jackspeak@3.4.3", "https://registry.npmmirror.com/jackspeak/-/jackspeak-3.4.3.tgz", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], + + "jiti": ["jiti@2.6.1", "https://registry.npmmirror.com/jiti/-/jiti-2.6.1.tgz", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="], + + "js-tokens": ["js-tokens@4.0.0", "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], + + "js-yaml": ["js-yaml@4.1.1", "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.1.tgz", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="], + + "jsdoc-type-pratt-parser": ["jsdoc-type-pratt-parser@4.8.0", "https://registry.npmmirror.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.8.0.tgz", {}, "sha512-iZ8Bdb84lWRuGHamRXFyML07r21pcwBrLkHEuHgEY5UbCouBwv7ECknDRKzsQIXMiqpPymqtIf8TC/shYKB5rw=="], + + "jsesc": ["jsesc@3.1.0", "https://registry.npmmirror.com/jsesc/-/jsesc-3.1.0.tgz", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], + + "json-buffer": ["json-buffer@3.0.1", "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="], + + "json-schema-traverse": ["json-schema-traverse@0.4.1", "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], + + "json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="], + + "json5": ["json5@2.2.3", "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", { "bin": { "json5": "lib/cli.js" } }, "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="], + + "jszip": ["jszip@3.10.1", "https://registry.npmmirror.com/jszip/-/jszip-3.10.1.tgz", { "dependencies": { "lie": "~3.3.0", "pako": "~1.0.2", "readable-stream": "~2.3.6", "setimmediate": "^1.0.5" } }, "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g=="], + + "keyv": ["keyv@4.5.4", "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="], + + "levn": ["levn@0.4.1", "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz", { "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="], + + "lie": ["lie@3.3.0", "https://registry.npmmirror.com/lie/-/lie-3.3.0.tgz", { "dependencies": { "immediate": "~3.0.5" } }, "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ=="], + + "lightningcss": ["lightningcss@1.31.1", "https://registry.npmmirror.com/lightningcss/-/lightningcss-1.31.1.tgz", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.31.1", "lightningcss-darwin-arm64": "1.31.1", "lightningcss-darwin-x64": "1.31.1", "lightningcss-freebsd-x64": "1.31.1", "lightningcss-linux-arm-gnueabihf": "1.31.1", "lightningcss-linux-arm64-gnu": "1.31.1", "lightningcss-linux-arm64-musl": "1.31.1", "lightningcss-linux-x64-gnu": "1.31.1", "lightningcss-linux-x64-musl": "1.31.1", "lightningcss-win32-arm64-msvc": "1.31.1", "lightningcss-win32-x64-msvc": "1.31.1" } }, "sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ=="], + + "lightningcss-android-arm64": ["lightningcss-android-arm64@1.31.1", "https://registry.npmmirror.com/lightningcss-android-arm64/-/lightningcss-android-arm64-1.31.1.tgz", { "os": "android", "cpu": "arm64" }, "sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg=="], + + "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.31.1", "https://registry.npmmirror.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.31.1.tgz", { "os": "darwin", "cpu": "arm64" }, "sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg=="], + + "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.31.1", "https://registry.npmmirror.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.31.1.tgz", { "os": "darwin", "cpu": "x64" }, "sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA=="], + + "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.31.1", "https://registry.npmmirror.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.31.1.tgz", { "os": "freebsd", "cpu": "x64" }, "sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A=="], + + "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.31.1", "https://registry.npmmirror.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.31.1.tgz", { "os": "linux", "cpu": "arm" }, "sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g=="], + + "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.31.1", "https://registry.npmmirror.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.31.1.tgz", { "os": "linux", "cpu": "arm64" }, "sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg=="], + + "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.31.1", "https://registry.npmmirror.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.31.1.tgz", { "os": "linux", "cpu": "arm64" }, "sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg=="], + + "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.31.1", "https://registry.npmmirror.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.31.1.tgz", { "os": "linux", "cpu": "x64" }, "sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA=="], + + "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.31.1", "https://registry.npmmirror.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.31.1.tgz", { "os": "linux", "cpu": "x64" }, "sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA=="], + + "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.31.1", "https://registry.npmmirror.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.31.1.tgz", { "os": "win32", "cpu": "arm64" }, "sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w=="], + + "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.31.1", "https://registry.npmmirror.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.31.1.tgz", { "os": "win32", "cpu": "x64" }, "sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw=="], + + "locate-path": ["locate-path@6.0.0", "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="], + + "lodash": ["lodash@4.17.23", "https://registry.npmmirror.com/lodash/-/lodash-4.17.23.tgz", {}, "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w=="], + + "lodash.merge": ["lodash.merge@4.6.2", "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz", {}, "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="], + + "lop": ["lop@0.4.2", "https://registry.npmmirror.com/lop/-/lop-0.4.2.tgz", { "dependencies": { "duck": "^0.1.12", "option": "~0.2.1", "underscore": "^1.13.1" } }, "sha512-RefILVDQ4DKoRZsJ4Pj22TxE3omDO47yFpkIBoDKzkqPRISs5U1cnAdg/5583YPkWPaLIYHOKRMQSvjFsO26cw=="], + + "loupe": ["loupe@3.2.1", "https://registry.npmmirror.com/loupe/-/loupe-3.2.1.tgz", {}, "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ=="], + + "lru-cache": ["lru-cache@5.1.1", "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], + + "lucide-react": ["lucide-react@0.545.0", "https://registry.npmmirror.com/lucide-react/-/lucide-react-0.545.0.tgz", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-7r1/yUuflQDSt4f1bpn5ZAocyIxcTyVyBBChSVtBKn5M+392cPmI5YJMWOJKk/HUWGm5wg83chlAZtCcGbEZtw=="], + + "lz-string": ["lz-string@1.5.0", "https://registry.npmmirror.com/lz-string/-/lz-string-1.5.0.tgz", { "bin": { "lz-string": "bin/bin.js" } }, "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ=="], + + "magic-string": ["magic-string@0.30.21", "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.21.tgz", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], + + "mammoth": ["mammoth@1.11.0", "https://registry.npmmirror.com/mammoth/-/mammoth-1.11.0.tgz", { "dependencies": { "@xmldom/xmldom": "^0.8.6", "argparse": "~1.0.3", "base64-js": "^1.5.1", "bluebird": "~3.4.0", "dingbat-to-unicode": "^1.0.1", "jszip": "^3.7.1", "lop": "^0.4.2", "path-is-absolute": "^1.0.0", "underscore": "^1.13.1", "xmlbuilder": "^10.0.0" }, "bin": { "mammoth": "bin/mammoth" } }, "sha512-BcEqqY/BOwIcI1iR5tqyVlqc3KIaMRa4egSoK83YAVrBf6+yqdAAbtUcFDCWX8Zef8/fgNZ6rl4VUv+vVX8ddQ=="], + + "map-or-similar": ["map-or-similar@1.5.0", "https://registry.npmmirror.com/map-or-similar/-/map-or-similar-1.5.0.tgz", {}, "sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg=="], + + "math-intrinsics": ["math-intrinsics@1.1.0", "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], + + "memoizerific": ["memoizerific@1.11.3", "https://registry.npmmirror.com/memoizerific/-/memoizerific-1.11.3.tgz", { "dependencies": { "map-or-similar": "^1.5.0" } }, "sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog=="], + + "mime-db": ["mime-db@1.52.0", "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], + + "mime-types": ["mime-types@2.1.35", "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], + + "min-indent": ["min-indent@1.0.1", "https://registry.npmmirror.com/min-indent/-/min-indent-1.0.1.tgz", {}, "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg=="], + + "minimatch": ["minimatch@3.1.5", "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.5.tgz", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="], + + "minimist": ["minimist@1.2.8", "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="], + + "minipass": ["minipass@7.1.3", "https://registry.npmmirror.com/minipass/-/minipass-7.1.3.tgz", {}, "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A=="], + + "motion-dom": ["motion-dom@12.34.3", "https://registry.npmmirror.com/motion-dom/-/motion-dom-12.34.3.tgz", { "dependencies": { "motion-utils": "^12.29.2" } }, "sha512-sYgFe+pR9aIM7o4fhs2aXtOI+oqlUd33N9Yoxcgo1Fv7M20sRkHtCmzE/VRNIcq7uNJ+qio+Xubt1FXH3pQ+eQ=="], + + "motion-utils": ["motion-utils@12.29.2", "https://registry.npmmirror.com/motion-utils/-/motion-utils-12.29.2.tgz", {}, "sha512-G3kc34H2cX2gI63RqU+cZq+zWRRPSsNIOjpdl9TN4AQwC4sgwYPl/Q/Obf/d53nOm569T0fYK+tcoSV50BWx8A=="], + + "ms": ["ms@2.1.3", "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "mutation-observer": ["mutation-observer@1.0.3", "https://registry.npmmirror.com/mutation-observer/-/mutation-observer-1.0.3.tgz", {}, "sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA=="], + + "nanoid": ["nanoid@3.3.11", "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + + "natural-compare": ["natural-compare@1.4.0", "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz", {}, "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="], + + "node-releases": ["node-releases@2.0.27", "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.27.tgz", {}, "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA=="], + + "open": ["open@8.4.2", "https://registry.npmmirror.com/open/-/open-8.4.2.tgz", { "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", "is-wsl": "^2.2.0" } }, "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ=="], + + "option": ["option@0.2.4", "https://registry.npmmirror.com/option/-/option-0.2.4.tgz", {}, "sha512-pkEqbDyl8ou5cpq+VsnQbe/WlEy5qS7xPzMS1U55OCG9KPvwFD46zDbxQIj3egJSFc3D+XhYOPUzz49zQAVy7A=="], + + "optionator": ["optionator@0.9.4", "https://registry.npmmirror.com/optionator/-/optionator-0.9.4.tgz", { "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.5" } }, "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g=="], + + "p-limit": ["p-limit@3.1.0", "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="], + + "p-locate": ["p-locate@5.0.0", "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="], + + "package-json-from-dist": ["package-json-from-dist@1.0.1", "https://registry.npmmirror.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="], + + "pako": ["pako@1.0.11", "https://registry.npmmirror.com/pako/-/pako-1.0.11.tgz", {}, "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="], + + "parent-module": ["parent-module@1.0.1", "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], + + "path-exists": ["path-exists@4.0.0", "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="], + + "path-is-absolute": ["path-is-absolute@1.0.1", "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", {}, "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="], + + "path-key": ["path-key@3.1.1", "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], + + "path-parse": ["path-parse@1.0.7", "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="], + + "path-scurry": ["path-scurry@1.11.1", "https://registry.npmmirror.com/path-scurry/-/path-scurry-1.11.1.tgz", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], + + "pathval": ["pathval@2.0.1", "https://registry.npmmirror.com/pathval/-/pathval-2.0.1.tgz", {}, "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ=="], + + "picocolors": ["picocolors@1.1.1", "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], + + "picomatch": ["picomatch@4.0.3", "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.3.tgz", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="], + + "polished": ["polished@4.3.1", "https://registry.npmmirror.com/polished/-/polished-4.3.1.tgz", { "dependencies": { "@babel/runtime": "^7.17.8" } }, "sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA=="], + + "possible-typed-array-names": ["possible-typed-array-names@1.1.0", "https://registry.npmmirror.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", {}, "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg=="], + + "postcss": ["postcss@8.5.6", "https://registry.npmmirror.com/postcss/-/postcss-8.5.6.tgz", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], + + "postcss-value-parser": ["postcss-value-parser@4.2.0", "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", {}, "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="], + + "prelude-ls": ["prelude-ls@1.2.1", "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="], + + "prettier": ["prettier@3.8.1", "https://registry.npmmirror.com/prettier/-/prettier-3.8.1.tgz", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg=="], + + "prettier-linter-helpers": ["prettier-linter-helpers@1.0.1", "https://registry.npmmirror.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.1.tgz", { "dependencies": { "fast-diff": "^1.1.2" } }, "sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg=="], + + "pretty-format": ["pretty-format@27.5.1", "https://registry.npmmirror.com/pretty-format/-/pretty-format-27.5.1.tgz", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="], + + "process": ["process@0.11.10", "https://registry.npmmirror.com/process/-/process-0.11.10.tgz", {}, "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A=="], + + "process-nextick-args": ["process-nextick-args@2.0.1", "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz", {}, "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="], + + "proxy-from-env": ["proxy-from-env@1.1.0", "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", {}, "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="], + + "punycode": ["punycode@2.3.1", "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], + + "react": ["react@19.2.4", "https://registry.npmmirror.com/react/-/react-19.2.4.tgz", {}, "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ=="], + + "react-docgen": ["react-docgen@7.1.1", "https://registry.npmmirror.com/react-docgen/-/react-docgen-7.1.1.tgz", { "dependencies": { "@babel/core": "^7.18.9", "@babel/traverse": "^7.18.9", "@babel/types": "^7.18.9", "@types/babel__core": "^7.18.0", "@types/babel__traverse": "^7.18.0", "@types/doctrine": "^0.0.9", "@types/resolve": "^1.20.2", "doctrine": "^3.0.0", "resolve": "^1.22.1", "strip-indent": "^4.0.0" } }, "sha512-hlSJDQ2synMPKFZOsKo9Hi8WWZTC7POR8EmWvTSjow+VDgKzkmjQvFm2fk0tmRw+f0vTOIYKlarR0iL4996pdg=="], + + "react-docgen-typescript": ["react-docgen-typescript@2.4.0", "https://registry.npmmirror.com/react-docgen-typescript/-/react-docgen-typescript-2.4.0.tgz", { "peerDependencies": { "typescript": ">= 4.3.x" } }, "sha512-ZtAp5XTO5HRzQctjPU0ybY0RRCQO19X/8fxn3w7y2VVTUbGHDKULPTL4ky3vB05euSgG5NpALhEhDPvQ56wvXg=="], + + "react-dom": ["react-dom@19.2.4", "https://registry.npmmirror.com/react-dom/-/react-dom-19.2.4.tgz", { "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { "react": "^19.2.4" } }, "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ=="], + + "react-is": ["react-is@17.0.2", "https://registry.npmmirror.com/react-is/-/react-is-17.0.2.tgz", {}, "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="], + + "react-refresh": ["react-refresh@0.18.0", "https://registry.npmmirror.com/react-refresh/-/react-refresh-0.18.0.tgz", {}, "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw=="], + + "react-router": ["react-router@7.13.1", "https://registry.npmmirror.com/react-router/-/react-router-7.13.1.tgz", { "dependencies": { "cookie": "^1.0.1", "set-cookie-parser": "^2.6.0" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" }, "optionalPeers": ["react-dom"] }, "sha512-td+xP4X2/6BJvZoX6xw++A2DdEi++YypA69bJUV5oVvqf6/9/9nNlD70YO1e9d3MyamJEBQFEzk6mbfDYbqrSA=="], + + "react-router-dom": ["react-router-dom@7.13.1", "https://registry.npmmirror.com/react-router-dom/-/react-router-dom-7.13.1.tgz", { "dependencies": { "react-router": "7.13.1" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" } }, "sha512-UJnV3Rxc5TgUPJt2KJpo1Jpy0OKQr0AjgbZzBFjaPJcFOb2Y8jA5H3LT8HUJAiRLlWrEXWHbF1Z4SCZaQjWDHw=="], + + "readable-stream": ["readable-stream@2.3.8", "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz", { "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA=="], + + "recast": ["recast@0.23.11", "https://registry.npmmirror.com/recast/-/recast-0.23.11.tgz", { "dependencies": { "ast-types": "^0.16.1", "esprima": "~4.0.0", "source-map": "~0.6.1", "tiny-invariant": "^1.3.3", "tslib": "^2.0.1" } }, "sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA=="], + + "redent": ["redent@3.0.0", "https://registry.npmmirror.com/redent/-/redent-3.0.0.tgz", { "dependencies": { "indent-string": "^4.0.0", "strip-indent": "^3.0.0" } }, "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg=="], + + "resolve": ["resolve@1.22.11", "https://registry.npmmirror.com/resolve/-/resolve-1.22.11.tgz", { "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ=="], + + "resolve-from": ["resolve-from@4.0.0", "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], + + "rollup": ["rollup@4.59.0", "https://registry.npmmirror.com/rollup/-/rollup-4.59.0.tgz", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.59.0", "@rollup/rollup-android-arm64": "4.59.0", "@rollup/rollup-darwin-arm64": "4.59.0", "@rollup/rollup-darwin-x64": "4.59.0", "@rollup/rollup-freebsd-arm64": "4.59.0", "@rollup/rollup-freebsd-x64": "4.59.0", "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", "@rollup/rollup-linux-arm-musleabihf": "4.59.0", "@rollup/rollup-linux-arm64-gnu": "4.59.0", "@rollup/rollup-linux-arm64-musl": "4.59.0", "@rollup/rollup-linux-loong64-gnu": "4.59.0", "@rollup/rollup-linux-loong64-musl": "4.59.0", "@rollup/rollup-linux-ppc64-gnu": "4.59.0", "@rollup/rollup-linux-ppc64-musl": "4.59.0", "@rollup/rollup-linux-riscv64-gnu": "4.59.0", "@rollup/rollup-linux-riscv64-musl": "4.59.0", "@rollup/rollup-linux-s390x-gnu": "4.59.0", "@rollup/rollup-linux-x64-gnu": "4.59.0", "@rollup/rollup-linux-x64-musl": "4.59.0", "@rollup/rollup-openbsd-x64": "4.59.0", "@rollup/rollup-openharmony-arm64": "4.59.0", "@rollup/rollup-win32-arm64-msvc": "4.59.0", "@rollup/rollup-win32-ia32-msvc": "4.59.0", "@rollup/rollup-win32-x64-gnu": "4.59.0", "@rollup/rollup-win32-x64-msvc": "4.59.0", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg=="], + + "safe-buffer": ["safe-buffer@5.1.2", "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", {}, "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="], + + "safe-regex-test": ["safe-regex-test@1.1.0", "https://registry.npmmirror.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-regex": "^1.2.1" } }, "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw=="], + + "scheduler": ["scheduler@0.27.0", "https://registry.npmmirror.com/scheduler/-/scheduler-0.27.0.tgz", {}, "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q=="], + + "semver": ["semver@7.7.4", "https://registry.npmmirror.com/semver/-/semver-7.7.4.tgz", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], + + "set-cookie-parser": ["set-cookie-parser@2.7.2", "https://registry.npmmirror.com/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", {}, "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw=="], + + "set-function-length": ["set-function-length@1.2.2", "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz", { "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2" } }, "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg=="], + + "setimmediate": ["setimmediate@1.0.5", "https://registry.npmmirror.com/setimmediate/-/setimmediate-1.0.5.tgz", {}, "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA=="], + + "shebang-command": ["shebang-command@2.0.0", "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], + + "shebang-regex": ["shebang-regex@3.0.0", "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], + + "signal-exit": ["signal-exit@4.1.0", "https://registry.npmmirror.com/signal-exit/-/signal-exit-4.1.0.tgz", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], + + "source-map": ["source-map@0.6.1", "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], + + "source-map-js": ["source-map-js@1.2.1", "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], + + "sprintf-js": ["sprintf-js@1.0.3", "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz", {}, "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="], + + "storybook": ["storybook@8.6.17", "https://registry.npmmirror.com/storybook/-/storybook-8.6.17.tgz", { "dependencies": { "@storybook/core": "8.6.17" }, "peerDependencies": { "prettier": "^2 || ^3" }, "optionalPeers": ["prettier"], "bin": { "getstorybook": "./bin/index.cjs", "sb": "./bin/index.cjs", "storybook": "./bin/index.cjs" } }, "sha512-krR/l680A6qVnkGiK9p8jY0ucX3+kFCs2f4zw+S3w2Cdq8EiM/tFebPcX2V4S3z2UsO0v0dwAJOJNpzbFPdmVg=="], + + "string-width": ["string-width@5.1.2", "https://registry.npmmirror.com/string-width/-/string-width-5.1.2.tgz", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="], + + "string-width-cjs": ["string-width@4.2.3", "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + + "string_decoder": ["string_decoder@1.1.1", "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz", { "dependencies": { "safe-buffer": "~5.1.0" } }, "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="], + + "strip-ansi": ["strip-ansi@7.1.2", "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.2.tgz", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="], + + "strip-ansi-cjs": ["strip-ansi@6.0.1", "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + + "strip-bom": ["strip-bom@3.0.0", "https://registry.npmmirror.com/strip-bom/-/strip-bom-3.0.0.tgz", {}, "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA=="], + + "strip-indent": ["strip-indent@4.1.1", "https://registry.npmmirror.com/strip-indent/-/strip-indent-4.1.1.tgz", {}, "sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA=="], + + "strip-json-comments": ["strip-json-comments@3.1.1", "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="], + + "supports-color": ["supports-color@7.2.0", "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], + + "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="], + + "synckit": ["synckit@0.11.12", "https://registry.npmmirror.com/synckit/-/synckit-0.11.12.tgz", { "dependencies": { "@pkgr/core": "^0.2.9" } }, "sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ=="], + + "tailwind-merge": ["tailwind-merge@3.5.0", "https://registry.npmmirror.com/tailwind-merge/-/tailwind-merge-3.5.0.tgz", {}, "sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A=="], + + "tailwindcss": ["tailwindcss@4.2.1", "https://registry.npmmirror.com/tailwindcss/-/tailwindcss-4.2.1.tgz", {}, "sha512-/tBrSQ36vCleJkAOsy9kbNTgaxvGbyOamC30PRePTQe/o1MFwEKHQk4Cn7BNGaPtjp+PuUrByJehM1hgxfq4sw=="], + + "tapable": ["tapable@2.3.0", "https://registry.npmmirror.com/tapable/-/tapable-2.3.0.tgz", {}, "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg=="], + + "tiny-invariant": ["tiny-invariant@1.3.3", "https://registry.npmmirror.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz", {}, "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg=="], + + "tinyglobby": ["tinyglobby@0.2.15", "https://registry.npmmirror.com/tinyglobby/-/tinyglobby-0.2.15.tgz", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="], + + "tinyrainbow": ["tinyrainbow@1.2.0", "https://registry.npmmirror.com/tinyrainbow/-/tinyrainbow-1.2.0.tgz", {}, "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ=="], + + "tinyspy": ["tinyspy@3.0.2", "https://registry.npmmirror.com/tinyspy/-/tinyspy-3.0.2.tgz", {}, "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q=="], + + "ts-api-utils": ["ts-api-utils@2.4.0", "https://registry.npmmirror.com/ts-api-utils/-/ts-api-utils-2.4.0.tgz", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA=="], + + "ts-dedent": ["ts-dedent@2.2.0", "https://registry.npmmirror.com/ts-dedent/-/ts-dedent-2.2.0.tgz", {}, "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ=="], + + "tsconfig-paths": ["tsconfig-paths@4.2.0", "https://registry.npmmirror.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", { "dependencies": { "json5": "^2.2.2", "minimist": "^1.2.6", "strip-bom": "^3.0.0" } }, "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg=="], + + "tslib": ["tslib@2.8.1", "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "type-check": ["type-check@0.4.0", "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz", { "dependencies": { "prelude-ls": "^1.2.1" } }, "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="], + + "typescript": ["typescript@5.9.3", "https://registry.npmmirror.com/typescript/-/typescript-5.9.3.tgz", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + + "typescript-eslint": ["typescript-eslint@8.56.1", "https://registry.npmmirror.com/typescript-eslint/-/typescript-eslint-8.56.1.tgz", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.56.1", "@typescript-eslint/parser": "8.56.1", "@typescript-eslint/typescript-estree": "8.56.1", "@typescript-eslint/utils": "8.56.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-U4lM6pjmBX7J5wk4szltF7I1cGBHXZopnAXCMXb3+fZ3B/0Z3hq3wS/CCUB2NZBNAExK92mCU2tEohWuwVMsDQ=="], + + "underscore": ["underscore@1.13.8", "https://registry.npmmirror.com/underscore/-/underscore-1.13.8.tgz", {}, "sha512-DXtD3ZtEQzc7M8m4cXotyHR+FAS18C64asBYY5vqZexfYryNNnDc02W4hKg3rdQuqOYas1jkseX0+nZXjTXnvQ=="], + + "undici-types": ["undici-types@7.16.0", "https://registry.npmmirror.com/undici-types/-/undici-types-7.16.0.tgz", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "unplugin": ["unplugin@1.16.1", "https://registry.npmmirror.com/unplugin/-/unplugin-1.16.1.tgz", { "dependencies": { "acorn": "^8.14.0", "webpack-virtual-modules": "^0.6.2" } }, "sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w=="], + + "update-browserslist-db": ["update-browserslist-db@1.2.3", "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w=="], + + "uri-js": ["uri-js@4.4.1", "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="], + + "util": ["util@0.12.5", "https://registry.npmmirror.com/util/-/util-0.12.5.tgz", { "dependencies": { "inherits": "^2.0.3", "is-arguments": "^1.0.4", "is-generator-function": "^1.0.7", "is-typed-array": "^1.1.3", "which-typed-array": "^1.1.2" } }, "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA=="], + + "util-deprecate": ["util-deprecate@1.0.2", "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], + + "uuid": ["uuid@9.0.1", "https://registry.npmmirror.com/uuid/-/uuid-9.0.1.tgz", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="], + + "vconsole": ["vconsole@3.15.1", "https://registry.npmmirror.com/vconsole/-/vconsole-3.15.1.tgz", { "dependencies": { "@babel/runtime": "^7.17.2", "copy-text-to-clipboard": "^3.0.1", "core-js": "^3.11.0", "mutation-observer": "^1.0.3" } }, "sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g=="], + + "vite": ["vite@7.3.1", "https://registry.npmmirror.com/vite/-/vite-7.3.1.tgz", { "dependencies": { "esbuild": "^0.27.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA=="], + + "webpack-virtual-modules": ["webpack-virtual-modules@0.6.2", "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", {}, "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ=="], + + "which": ["which@2.0.2", "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], + + "which-typed-array": ["which-typed-array@1.1.20", "https://registry.npmmirror.com/which-typed-array/-/which-typed-array-1.1.20.tgz", { "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", "call-bound": "^1.0.4", "for-each": "^0.3.5", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2" } }, "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg=="], + + "word-wrap": ["word-wrap@1.2.5", "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.5.tgz", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="], + + "wrap-ansi": ["wrap-ansi@8.1.0", "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="], + + "wrap-ansi-cjs": ["wrap-ansi@7.0.0", "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], + + "ws": ["ws@8.19.0", "https://registry.npmmirror.com/ws/-/ws-8.19.0.tgz", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg=="], + + "xmlbuilder": ["xmlbuilder@10.1.1", "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-10.1.1.tgz", {}, "sha512-OyzrcFLL/nb6fMGHbiRDuPup9ljBycsdCypwuyg5AAHvyWzGfChJpCXMG88AGTIMFhGZ9RccFN1e6lhg3hkwKg=="], + + "yallist": ["yallist@3.1.1", "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="], + + "yocto-queue": ["yocto-queue@0.1.0", "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], + + "zustand": ["zustand@5.0.11", "https://registry.npmmirror.com/zustand/-/zustand-5.0.11.tgz", { "peerDependencies": { "@types/react": ">=18.0.0", "immer": ">=9.0.6", "react": ">=18.0.0", "use-sync-external-store": ">=1.2.0" }, "optionalPeers": ["@types/react", "immer", "react", "use-sync-external-store"] }, "sha512-fdZY+dk7zn/vbWNCYmzZULHRrss0jx5pPFiOuMZ/5HJN6Yv3u+1Wswy/4MpZEkEGhtNH+pwxZB8OKgUBPzYAGg=="], + + "@babel/core/semver": ["semver@6.3.1", "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + + "@babel/helper-compilation-targets/semver": ["semver@6.3.1", "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + + "@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], + + "@eslint/eslintrc/globals": ["globals@14.0.0", "https://registry.npmmirror.com/globals/-/globals-14.0.0.tgz", {}, "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ=="], + + "@eslint/eslintrc/ignore": ["ignore@5.3.2", "https://registry.npmmirror.com/ignore/-/ignore-5.3.2.tgz", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/magic-string": ["magic-string@0.27.0", "https://registry.npmmirror.com/magic-string/-/magic-string-0.27.0.tgz", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.13" } }, "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA=="], + + "@storybook/addon-docs/@storybook/react-dom-shim": ["@storybook/react-dom-shim@8.6.14", "https://registry.npmmirror.com/@storybook/react-dom-shim/-/react-dom-shim-8.6.14.tgz", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "storybook": "^8.6.14" } }, "sha512-0hixr3dOy3f3M+HBofp3jtMQMS+sqzjKNgl7Arfuj3fvjmyXOks/yGjDImySR4imPtEllvPZfhiQNlejheaInw=="], + + "@storybook/addon-interactions/@storybook/test": ["@storybook/test@8.6.14", "https://registry.npmmirror.com/@storybook/test/-/test-8.6.14.tgz", { "dependencies": { "@storybook/global": "^5.0.0", "@storybook/instrumenter": "8.6.14", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "6.5.0", "@testing-library/user-event": "14.5.2", "@vitest/expect": "2.0.5", "@vitest/spy": "2.0.5" }, "peerDependencies": { "storybook": "^8.6.14" } }, "sha512-GkPNBbbZmz+XRdrhMtkxPotCLOQ1BaGNp/gFZYdGDk2KmUWBKmvc5JxxOhtoXM2703IzNFlQHSSNnhrDZYuLlw=="], + + "@storybook/builder-vite/@storybook/csf-plugin": ["@storybook/csf-plugin@8.6.17", "https://registry.npmmirror.com/@storybook/csf-plugin/-/csf-plugin-8.6.17.tgz", { "dependencies": { "unplugin": "^1.3.1" }, "peerDependencies": { "storybook": "^8.6.17" } }, "sha512-ouvF/izbKclZxpfnRUkyC5ZVDU7QA0cHhjQnXTDT4F8b0uciQUDw1LosDZy5MXf03BeIDdyBAtzd/ym3wzd+kw=="], + + "@storybook/core/esbuild": ["esbuild@0.25.12", "https://registry.npmmirror.com/esbuild/-/esbuild-0.25.12.tgz", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="], + + "@storybook/test/@storybook/instrumenter": ["@storybook/instrumenter@8.6.15", "https://registry.npmmirror.com/@storybook/instrumenter/-/instrumenter-8.6.15.tgz", { "dependencies": { "@storybook/global": "^5.0.0", "@vitest/utils": "^2.1.1" }, "peerDependencies": { "storybook": "^8.6.15" } }, "sha512-TvHR/+yyIAOp/1bLulFai2kkhIBtAlBw7J6Jd9DKyInoGhTWNE1G1Y61jD5GWXX29AlwaHfzGUaX5NL1K+FJpg=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.8.1", "https://registry.npmmirror.com/@emnapi/core/-/core-1.8.1.tgz", { "dependencies": { "@emnapi/wasi-threads": "1.1.0", "tslib": "^2.4.0" }, "bundled": true }, "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.8.1", "https://registry.npmmirror.com/@emnapi/runtime/-/runtime-1.8.1.tgz", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.1.0", "https://registry.npmmirror.com/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ=="], + + "@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.1", "https://registry.npmmirror.com/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz", { "dependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1", "@tybys/wasm-util": "^0.10.1" }, "bundled": true }, "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A=="], + + "@tailwindcss/oxide-wasm32-wasi/@tybys/wasm-util": ["@tybys/wasm-util@0.10.1", "https://registry.npmmirror.com/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg=="], + + "@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@testing-library/jest-dom/chalk": ["chalk@3.0.0", "https://registry.npmmirror.com/chalk/-/chalk-3.0.0.tgz", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg=="], + + "@testing-library/jest-dom/dom-accessibility-api": ["dom-accessibility-api@0.6.3", "https://registry.npmmirror.com/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", {}, "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w=="], + + "@typescript-eslint/typescript-estree/minimatch": ["minimatch@10.2.4", "https://registry.npmmirror.com/minimatch/-/minimatch-10.2.4.tgz", { "dependencies": { "brace-expansion": "^5.0.2" } }, "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg=="], + + "@typescript-eslint/visitor-keys/eslint-visitor-keys": ["eslint-visitor-keys@5.0.1", "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", {}, "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA=="], + + "@vitest/expect/@vitest/utils": ["@vitest/utils@2.0.5", "https://registry.npmmirror.com/@vitest/utils/-/utils-2.0.5.tgz", { "dependencies": { "@vitest/pretty-format": "2.0.5", "estree-walker": "^3.0.3", "loupe": "^3.1.1", "tinyrainbow": "^1.2.0" } }, "sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ=="], + + "eslint/ignore": ["ignore@5.3.2", "https://registry.npmmirror.com/ignore/-/ignore-5.3.2.tgz", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], + + "glob/minimatch": ["minimatch@9.0.8", "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.8.tgz", { "dependencies": { "brace-expansion": "^5.0.2" } }, "sha512-reYkDYtj/b19TeqbNZCV4q9t+Yxylf/rYBsLb42SXJatTv4/ylq5lEiAmhA/IToxO7NI2UzNMghHoHuaqDkAjw=="], + + "js-yaml/argparse": ["argparse@2.0.1", "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], + + "path-scurry/lru-cache": ["lru-cache@10.4.3", "https://registry.npmmirror.com/lru-cache/-/lru-cache-10.4.3.tgz", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], + + "pretty-format/ansi-styles": ["ansi-styles@5.2.0", "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="], + + "redent/strip-indent": ["strip-indent@3.0.0", "https://registry.npmmirror.com/strip-indent/-/strip-indent-3.0.0.tgz", { "dependencies": { "min-indent": "^1.0.0" } }, "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ=="], + + "string-width-cjs/emoji-regex": ["emoji-regex@8.0.0", "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + + "string-width-cjs/strip-ansi": ["strip-ansi@6.0.1", "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + + "strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.2.2.tgz", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], + + "wrap-ansi/ansi-styles": ["ansi-styles@6.2.3", "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.3.tgz", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="], + + "wrap-ansi-cjs/string-width": ["string-width@4.2.3", "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + + "wrap-ansi-cjs/strip-ansi": ["strip-ansi@6.0.1", "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + + "@storybook/core/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.12", "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", { "os": "aix", "cpu": "ppc64" }, "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA=="], + + "@storybook/core/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.12", "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.25.12.tgz", { "os": "android", "cpu": "arm" }, "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg=="], + + "@storybook/core/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.12", "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", { "os": "android", "cpu": "arm64" }, "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg=="], + + "@storybook/core/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.12", "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.25.12.tgz", { "os": "android", "cpu": "x64" }, "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg=="], + + "@storybook/core/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.12", "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", { "os": "darwin", "cpu": "arm64" }, "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg=="], + + "@storybook/core/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.12", "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", { "os": "darwin", "cpu": "x64" }, "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA=="], + + "@storybook/core/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.12", "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", { "os": "freebsd", "cpu": "arm64" }, "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg=="], + + "@storybook/core/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.12", "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", { "os": "freebsd", "cpu": "x64" }, "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ=="], + + "@storybook/core/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.12", "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", { "os": "linux", "cpu": "arm" }, "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw=="], + + "@storybook/core/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.12", "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", { "os": "linux", "cpu": "arm64" }, "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ=="], + + "@storybook/core/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.12", "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", { "os": "linux", "cpu": "ia32" }, "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA=="], + + "@storybook/core/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.12", "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", { "os": "linux", "cpu": "none" }, "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng=="], + + "@storybook/core/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.12", "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", { "os": "linux", "cpu": "none" }, "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw=="], + + "@storybook/core/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.12", "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", { "os": "linux", "cpu": "ppc64" }, "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA=="], + + "@storybook/core/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.12", "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", { "os": "linux", "cpu": "none" }, "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w=="], + + "@storybook/core/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.12", "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", { "os": "linux", "cpu": "s390x" }, "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg=="], + + "@storybook/core/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.12", "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", { "os": "linux", "cpu": "x64" }, "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw=="], + + "@storybook/core/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.12", "https://registry.npmmirror.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", { "os": "none", "cpu": "arm64" }, "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg=="], + + "@storybook/core/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.12", "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", { "os": "none", "cpu": "x64" }, "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ=="], + + "@storybook/core/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.12", "https://registry.npmmirror.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", { "os": "openbsd", "cpu": "arm64" }, "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A=="], + + "@storybook/core/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.12", "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", { "os": "openbsd", "cpu": "x64" }, "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw=="], + + "@storybook/core/esbuild/@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.12", "https://registry.npmmirror.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", { "os": "none", "cpu": "arm64" }, "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg=="], + + "@storybook/core/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.12", "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", { "os": "sunos", "cpu": "x64" }, "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w=="], + + "@storybook/core/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.12", "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", { "os": "win32", "cpu": "arm64" }, "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg=="], + + "@storybook/core/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.12", "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", { "os": "win32", "cpu": "ia32" }, "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ=="], + + "@storybook/core/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.12", "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", { "os": "win32", "cpu": "x64" }, "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA=="], + + "@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@5.0.3", "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-5.0.3.tgz", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA=="], + + "@vitest/expect/@vitest/utils/@vitest/pretty-format": ["@vitest/pretty-format@2.0.5", "https://registry.npmmirror.com/@vitest/pretty-format/-/pretty-format-2.0.5.tgz", { "dependencies": { "tinyrainbow": "^1.2.0" } }, "sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ=="], + + "@vitest/expect/@vitest/utils/estree-walker": ["estree-walker@3.0.3", "https://registry.npmmirror.com/estree-walker/-/estree-walker-3.0.3.tgz", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="], + + "glob/minimatch/brace-expansion": ["brace-expansion@5.0.3", "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-5.0.3.tgz", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA=="], + + "wrap-ansi-cjs/string-width/emoji-regex": ["emoji-regex@8.0.0", "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + + "@typescript-eslint/typescript-estree/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.4", "https://registry.npmmirror.com/balanced-match/-/balanced-match-4.0.4.tgz", {}, "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="], + + "glob/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.4", "https://registry.npmmirror.com/balanced-match/-/balanced-match-4.0.4.tgz", {}, "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="], + } +} diff --git a/eslint.config.ts b/eslint.config.ts new file mode 100644 index 0000000..2c3ac86 --- /dev/null +++ b/eslint.config.ts @@ -0,0 +1,47 @@ +import path from 'node:path' +import { fileURLToPath } from 'node:url' +import js from '@eslint/js' +import globals from 'globals' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' +import tseslint from 'typescript-eslint' +import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended' + +const tsconfigRootDir = path.dirname(fileURLToPath(import.meta.url)) + +export default tseslint.config( + { + ignores: ['dist', 'node_modules', 'vite.config.ts', '.claude/worktrees/**', 'public/**'], + }, + { + extends: [ + js.configs.recommended, + ...tseslint.configs.recommended, + eslintPluginPrettierRecommended, // Prettier + ESLint 整合 + ], + files: ['**/*.{ts,tsx}'], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + parserOptions: { + tsconfigRootDir, + }, + }, + plugins: { + 'react-hooks': reactHooks, + 'react-refresh': reactRefresh, + }, + rules: { + ...reactHooks.configs.recommended.rules, + 'react-refresh/only-export-components': ['warn', { allowConstantExport: true }], + '@typescript-eslint/no-unused-vars': [ + 'warn', + { varsIgnorePattern: '^_', argsIgnorePattern: '^_' }, + ], + '@typescript-eslint/no-explicit-any': 'off', + // 禁用可能与 Prettier 冲突的 ESLint 规则 + quotes: 'off', + semi: 'off', + }, + } +) diff --git a/index.html b/index.html new file mode 100644 index 0000000..feadecd --- /dev/null +++ b/index.html @@ -0,0 +1,19 @@ + + + + + + + + + 沪上又见故人来 + + +
+ + + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..398b7e3 --- /dev/null +++ b/package.json @@ -0,0 +1,67 @@ +{ + "name": "shanghai-residences", + "private": true, + "version": "0.0.0", + "type": "module", + "packageManager": "bun@1.3.8", + "engines": { + "bun": ">=1.0.0" + }, + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "lint": "eslint .", + "lint:fix": "eslint . --fix", + "format": "prettier --write .", + "format:check": "prettier --check .", + "typecheck": "tsc --noEmit", + "preview": "vite preview", + "storybook": "storybook dev -p 6006", + "build-storybook": "storybook build" + }, + "dependencies": { + "axios": "^1.12.2", + "clsx": "^2.1.1", + "framer-motion": "^12.23.26", + "html-to-image": "^1.11.13", + "lucide-react": "^0.545.0", + "mammoth": "^1.11.0", + "react": "^19.1.1", + "react-dom": "^19.1.1", + "react-router-dom": "^7.9.4", + "tailwind-merge": "^3.4.0", + "vconsole": "^3.15.1", + "zustand": "^5.0.8" + }, + "devDependencies": { + "@eslint/js": "^9.36.0", + "@storybook/addon-essentials": "^8.4.7", + "@storybook/addon-interactions": "^8.4.7", + "@storybook/addon-links": "^8.4.7", + "@storybook/react": "^8.4.7", + "@storybook/react-vite": "^8.4.7", + "@storybook/test": "^8.4.7", + "@tailwindcss/postcss": "^4.1.14", + "@types/node": "^24.8.0", + "@types/react": "^19.1.16", + "@types/react-dom": "^19.1.9", + "@typescript-eslint/eslint-plugin": "^8.46.1", + "@typescript-eslint/parser": "^8.46.1", + "@vitejs/plugin-react": "^5.0.4", + "autoprefixer": "^10.4.21", + "baseline-browser-mapping": "^2.9.6", + "eslint": "^9.36.0", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-prettier": "^5.5.5", + "eslint-plugin-react-hooks": "^5.2.0", + "eslint-plugin-react-refresh": "^0.4.22", + "globals": "^16.4.0", + "postcss": "^8.5.6", + "prettier": "^3.8.1", + "storybook": "^8.4.7", + "tailwindcss": "^4.1.14", + "typescript": "^5.9.3", + "typescript-eslint": "^8.46.1", + "vite": "^7.1.7" + } +} diff --git a/postcss.config.ts b/postcss.config.ts new file mode 100644 index 0000000..1c87846 --- /dev/null +++ b/postcss.config.ts @@ -0,0 +1,6 @@ +export default { + plugins: { + '@tailwindcss/postcss': {}, + autoprefixer: {}, + }, +} diff --git a/public/fonts/SourceHanSerifCN-Bold-2.otf b/public/fonts/SourceHanSerifCN-Bold-2.otf new file mode 100644 index 0000000..28e08c5 Binary files /dev/null and b/public/fonts/SourceHanSerifCN-Bold-2.otf differ diff --git a/public/videoajax/jquery-3.7.1.min.js b/public/videoajax/jquery-3.7.1.min.js new file mode 100644 index 0000000..798cc8b --- /dev/null +++ b/public/videoajax/jquery-3.7.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.7.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},C=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||C).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.1",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="",le.option=!!xe.lastChild;var ke={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n",""]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="
",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0>> 6)) + + fromCharCode(0x80 | (cc & 0x3f))) + : (fromCharCode(0xe0 | ((cc >>> 12) & 0x0f)) + + fromCharCode(0x80 | ((cc >>> 6) & 0x3f)) + + fromCharCode(0x80 | ( cc & 0x3f))); + } else { + var cc = 0x10000 + + (c.charCodeAt(0) - 0xD800) * 0x400 + + (c.charCodeAt(1) - 0xDC00); + return (fromCharCode(0xf0 | ((cc >>> 18) & 0x07)) + + fromCharCode(0x80 | ((cc >>> 12) & 0x3f)) + + fromCharCode(0x80 | ((cc >>> 6) & 0x3f)) + + fromCharCode(0x80 | ( cc & 0x3f))); + } + }; + var re_utob = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g; + var utob = function(u) { + return u.replace(re_utob, cb_utob); + }; + var cb_encode = function(ccc) { + var padlen = [0, 2, 1][ccc.length % 3], + ord = ccc.charCodeAt(0) << 16 + | ((ccc.length > 1 ? ccc.charCodeAt(1) : 0) << 8) + | ((ccc.length > 2 ? ccc.charCodeAt(2) : 0)), + chars = [ + b64chars.charAt( ord >>> 18), + b64chars.charAt((ord >>> 12) & 63), + padlen >= 2 ? '=' : b64chars.charAt((ord >>> 6) & 63), + padlen >= 1 ? '=' : b64chars.charAt(ord & 63) + ]; + return chars.join(''); + }; + var btoa = global.btoa ? function(b) { + return global.btoa(b); + } : function(b) { + return b.replace(/[\s\S]{1,3}/g, cb_encode); + }; + var _encode = buffer + ? function (u) { return (new buffer(u)).toString('base64') } + : function (u) { return btoa(utob(u)) } + ; + var encode = function(u, urisafe) { + return !urisafe + ? _encode(u) + : _encode(u).replace(/[+\/]/g, function(m0) { + return m0 == '+' ? '-' : '_'; + }).replace(/=/g, ''); + }; + var encodeURI = function(u) { return encode(u, true) }; + // decoder stuff + var re_btou = new RegExp([ + '[\xC0-\xDF][\x80-\xBF]', + '[\xE0-\xEF][\x80-\xBF]{2}', + '[\xF0-\xF7][\x80-\xBF]{3}' + ].join('|'), 'g'); + var cb_btou = function(cccc) { + switch(cccc.length) { + case 4: + var cp = ((0x07 & cccc.charCodeAt(0)) << 18) + | ((0x3f & cccc.charCodeAt(1)) << 12) + | ((0x3f & cccc.charCodeAt(2)) << 6) + | (0x3f & cccc.charCodeAt(3)), + offset = cp - 0x10000; + return (fromCharCode((offset >>> 10) + 0xD800) + + fromCharCode((offset & 0x3FF) + 0xDC00)); + case 3: + return fromCharCode( + ((0x0f & cccc.charCodeAt(0)) << 12) + | ((0x3f & cccc.charCodeAt(1)) << 6) + | (0x3f & cccc.charCodeAt(2)) + ); + default: + return fromCharCode( + ((0x1f & cccc.charCodeAt(0)) << 6) + | (0x3f & cccc.charCodeAt(1)) + ); + } + }; + var btou = function(b) { + return b.replace(re_btou, cb_btou); + }; + var cb_decode = function(cccc) { + var len = cccc.length, + padlen = len % 4, + n = (len > 0 ? b64tab[cccc.charAt(0)] << 18 : 0) + | (len > 1 ? b64tab[cccc.charAt(1)] << 12 : 0) + | (len > 2 ? b64tab[cccc.charAt(2)] << 6 : 0) + | (len > 3 ? b64tab[cccc.charAt(3)] : 0), + chars = [ + fromCharCode( n >>> 16), + fromCharCode((n >>> 8) & 0xff), + fromCharCode( n & 0xff) + ]; + chars.length -= [0, 0, 2, 1][padlen]; + return chars.join(''); + }; + var atob = global.atob ? function(a) { + return global.atob(a); + } : function(a){ + return a.replace(/[\s\S]{1,4}/g, cb_decode); + }; + var _decode = buffer + ? function(a) { return (new buffer(a, 'base64')).toString() } + : function(a) { return btou(atob(a)) }; + var decode = function(a){ + return _decode( + a.replace(/[-_]/g, function(m0) { return m0 == '-' ? '+' : '/' }) + .replace(/[^A-Za-z0-9\+\/]/g, '') + ); + }; + var noConflict = function() { + var Base64 = global.Base64; + global.Base64 = _Base64; + return Base64; + }; + // export Base64 + global.Base64 = { + VERSION: version, + atob: atob, + btoa: btoa, + fromBase64: decode, + toBase64: encode, + utob: utob, + encode: encode, + encodeURI: encodeURI, + btou: btou, + decode: decode, + noConflict: noConflict + }; + // if ES5 is available, make Base64.extendString() available + if (typeof Object.defineProperty === 'function') { + var noEnum = function(v){ + return {value:v,enumerable:false,writable:true,configurable:true}; + }; + global.Base64.extendString = function () { + Object.defineProperty( + String.prototype, 'fromBase64', noEnum(function () { + return decode(this) + })); + Object.defineProperty( + String.prototype, 'toBase64', noEnum(function (urisafe) { + return encode(this, urisafe) + })); + Object.defineProperty( + String.prototype, 'toBase64URI', noEnum(function () { + return encode(this, true) + })); + }; + } + // that's it! +})(this); + +if (this['Meteor']) { + Base64 = global.Base64; // for normal export in Meteor.js +} + +; (function (root) { + // body... + + var videoajax = function (argument) { + // body... + var host = '/'; + + this._setHost=function(hoststr) { + host = hoststr; + }; + this._getHost = function(){ + return host; + } + }; + + $.extend(videoajax.prototype,{ + /** + * 设置主域名 + * @param hosts {String} default: '/' 主域名字符串 + */ + setHost :function(hosts){ + this._setHost(hosts); + }, + //user_id,course_id,lesson_id,break_point + /** + * 播放退出时间点 + * @param data {dataObject} 向后台传递的数据对象,应该包含 + * user_id {Number} 用户ID + * course_id {Number} 课程ID + * lesson_id {Number} 课时ID + * break_point {Number} 断点 + *@param callback {Function} 回调方法 + */ + quitBreakPoint:function(data,callback){ + var paramfiled = ["user_id","course_id","lesson_id","break_point"]; + var dataStr = verfiyData(paramfiled,data); + getDate(this._getHost()+'index.php?m=zzplatform&c=userview&a=addBreakPoint',{ + userViewPoint:dataStr + },function(data){ + isFunction(callback) ? callback(data.code == 200,data) : ''; + } + ); + }, + /** + * user_id:123,course_id:23,lesson_id:3 + *播放历史记录 + * @param data {dataObject} 向后台传递的数据对象,应该包含 + * user_id {Number} 用户ID + * course_id {Number} 课程ID + * lesson_id {Number} 课时ID + *@param callback {Function} 回调方法 + */ + getBreakPoint:function(data,callback){ + var paramfiled = ["user_id","course_id","lesson_id"]; + var dataStr = verfiyData(paramfiled,data); + getDate(this._getHost()+'index.php?m=zzplatform&c=userview&a=userbreakpoint',{ + userCourseInfo:dataStr + },function(data){ + isFunction(callback) ? callback(data.code == 200,data) : ''; + // isFunction(callback) ? callback(data) : ''; + } + ); + }, + /** + *用户答题答案 + * @param data {dataObject} 向后台传递的数据对象,应该包含 + * user_id {Number} 用户ID + * course_id {Number} 课程ID + * lesson_id {Number} 课时ID + * question_order {Number} 问题序号 + * answer {String} 问题 + *@param callback {Function} 回调方法 + */ + getUserAnswer:function(data,callback){ + var paramfiled = ["user_id","lesson_id","course_id","question_order","answer"]; + var dataStr = verfiyData(paramfiled,data); + getDate(this._getHost()+'index.php?m=zzplatform&c=userview&a=addUserAnswer',{ + userAnswerInfo:dataStr + },function(data){ + isFunction(callback) ? callback(data.code == 200,data) : ''; + } + ); + + }, + /** + *播放结束 + * @param data {dataObject} 向后台传递的数据对象,应该包含 + * order {Number} 排序ID + * co {Number} 课时ID + *@param callback {Function} 回调方法 + */ + finishCourse:function(data,callback){ + var paramfiled = ["order","co","process"]; + var dataStr = verfiyData(paramfiled,data); + getDate(this._getHost()+'index.php?m=user&c=learnrecord&a=playcount',data,function(data){ + isFunction(callback) ? callback(data.code == 200,data) : ''; + // isFunction(callback) ? callback(data) : ''; + } + ); + }, + /** + *课程进度获取 + * @param data {dataObject} 向后台传递的数据对象,应该包含 + * order {Number} 排序ID + * co {Number} 课时ID + *@param callback {Function} 回调方法 + * 注回调使用的参数,值类似为: {"status":true,"data":{"process":"91"}} + * 或: {"status":false,"data":'参数丢失'} + * 其中status为true为调用正常, 如果有值则data返回json形式的进度, 没有值则返回[] + * status为false时, data保存的是错误提示 + */ + getfinishCourse:function(data,callback){ + var paramfiled = ["order","co"]; + var dataStr = verfiyData(paramfiled,data); + getDate(this._getHost()+'index.php?m=user&c=learnrecord&a=getuserlessionprocess',data,function(data){ + isFunction(callback) ? callback(data) : ''; + // isFunction(callback) ? callback(data) : ''; + } + ); + }, + /** + *解码加密的breakpoint + * @pparam basecode {String} 要解码的字符串 + */ + fromBaseCode : function(basecode){ + return getBreakPoint(basecode); + }, + /** + *通过key值和课时值获取自定的数据 + * @param data {dataObject} 向后台传递的数据对象,应该包含 + * lessonId {Number} 课时ID + * order {Number} 排序ID + *@param callback {Function} 回调方法 + */ + getUserDefineInfo :function(data,callback){ + var paramfiled = ["lessonId","order"]; + var dataStr = verfiyData(paramfiled,data); + getDate(this._getHost()+'index.php?m=zzplatform&c=userview&a=getUserDefineInfo',{ + defineDate:dataStr + },function(data){ + isFunction(callback) ? callback(data) : ''; + }); + }, + /** + *通过key值和课时值及用户ID获取自定的数据 + * @param data {dataObject} 向后台传递的数据对象,应该包含 + * lessonId {Number} 课时ID + * order {Number} 排序ID + *@param callback {Function} 回调方法 + */ + getUserDefineInfoByUser :function(data,callback){ + var paramfiled = ["lessonId","order"]; + var dataStr = verfiyData(paramfiled,data); + getDate(this._getHost()+'index.php?m=zzplatform&c=userview&a=getUserDefineInfoByUser',{ + defineUserDate:dataStr + },function(data){ + isFunction(callback) ? callback(data) : ''; + }); + }, + /** + *增加自定数据 + * @param data {dataObject} 向后台传递的数据对象,应该包含 + * lessonId {Number} 课时ID + * key {string} 键值ID + * content {string} 字内容 + *@param callback {Function} 回调方法 + */ + addUserDefine:function(data,callback){ + var paramfiled = ["lessonId","key","content"]; + var dataStr = verfiyData(paramfiled,data); + getDate(this._getHost()+'index.php?m=zzplatform&c=userview&a=addUserDefine',{ + addDefineDate:dataStr + },function(data){ + isFunction(callback) ? callback(data) : ''; + }); + } + }) + + var getDate = function(url,data,callback){ + $.get(url,data,function(data){ + callback(data); + },'json') + }; + + var isFunction = function(fn){ + if(typeof fn === 'function')return true; + return false; + } + var verfiyData = function(field,data){ + var arr=[]; + console.log(field); + console.log('
'); + console.log(data); + for(var i in field){ + + if(!data[field[i]]){ + throw new Error('data is error'); + } + arr.push(field[i]+':'+data[field[i]]); + } + if(root.JSON){ + return JSON.stringify(data); + }else{ + return '{'+arr.join(',')+'}'; + } + + } + + var getBreakPoint = function (base64point) { + var newbc = base64point.split('').reverse().join(''); + return Base64.fromBase64(newbc); + } + + root.videoAjax = function(){ + return new videoajax(); + } +}(this)); \ No newline at end of file diff --git a/public/videoajax/videoajax.min.js b/public/videoajax/videoajax.min.js new file mode 100644 index 0000000..59a9620 --- /dev/null +++ b/public/videoajax/videoajax.min.js @@ -0,0 +1 @@ +(function(global){'use strict';var _Base64=global.Base64;var version="2.1.5";var buffer;if(typeof module!=='undefined'&&module.exports){buffer=require('buffer').Buffer}var b64chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';var b64tab=function(bin){var t={};for(var i=0,l=bin.length;i>>6))+fromCharCode(0x80|(cc&0x3f))):(fromCharCode(0xe0|((cc>>>12)&0x0f))+fromCharCode(0x80|((cc>>>6)&0x3f))+fromCharCode(0x80|(cc&0x3f)))}else{var cc=0x10000+(c.charCodeAt(0)-0xD800)*0x400+(c.charCodeAt(1)-0xDC00);return(fromCharCode(0xf0|((cc>>>18)&0x07))+fromCharCode(0x80|((cc>>>12)&0x3f))+fromCharCode(0x80|((cc>>>6)&0x3f))+fromCharCode(0x80|(cc&0x3f)))}};var re_utob=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g;var utob=function(u){return u.replace(re_utob,cb_utob)};var cb_encode=function(ccc){var padlen=[0,2,1][ccc.length%3],ord=ccc.charCodeAt(0)<<16|((ccc.length>1?ccc.charCodeAt(1):0)<<8)|((ccc.length>2?ccc.charCodeAt(2):0)),chars=[b64chars.charAt(ord>>>18),b64chars.charAt((ord>>>12)&63),padlen>=2?'=':b64chars.charAt((ord>>>6)&63),padlen>=1?'=':b64chars.charAt(ord&63)];return chars.join('')};var btoa=global.btoa?function(b){return global.btoa(b)}:function(b){return b.replace(/[\s\S]{1,3}/g,cb_encode)};var _encode=buffer?function(u){return(new buffer(u)).toString('base64')}:function(u){return btoa(utob(u))};var encode=function(u,urisafe){return!urisafe?_encode(u):_encode(u).replace(/[+\/]/g,function(m0){return m0=='+'?'-':'_'}).replace(/=/g,'')};var encodeURI=function(u){return encode(u,true)};var re_btou=new RegExp(['[\xC0-\xDF][\x80-\xBF]','[\xE0-\xEF][\x80-\xBF]{2}','[\xF0-\xF7][\x80-\xBF]{3}'].join('|'),'g');var cb_btou=function(cccc){switch(cccc.length){case 4:var cp=((0x07&cccc.charCodeAt(0))<<18)|((0x3f&cccc.charCodeAt(1))<<12)|((0x3f&cccc.charCodeAt(2))<<6)|(0x3f&cccc.charCodeAt(3)),offset=cp-0x10000;return(fromCharCode((offset>>>10)+0xD800)+fromCharCode((offset&0x3FF)+0xDC00));case 3:return fromCharCode(((0x0f&cccc.charCodeAt(0))<<12)|((0x3f&cccc.charCodeAt(1))<<6)|(0x3f&cccc.charCodeAt(2)));default:return fromCharCode(((0x1f&cccc.charCodeAt(0))<<6)|(0x3f&cccc.charCodeAt(1)))}};var btou=function(b){return b.replace(re_btou,cb_btou)};var cb_decode=function(cccc){var len=cccc.length,padlen=len%4,n=(len>0?b64tab[cccc.charAt(0)]<<18:0)|(len>1?b64tab[cccc.charAt(1)]<<12:0)|(len>2?b64tab[cccc.charAt(2)]<<6:0)|(len>3?b64tab[cccc.charAt(3)]:0),chars=[fromCharCode(n>>>16),fromCharCode((n>>>8)&0xff),fromCharCode(n&0xff)];chars.length-=[0,0,2,1][padlen];return chars.join('')};var atob=global.atob?function(a){return global.atob(a)}:function(a){return a.replace(/[\s\S]{1,4}/g,cb_decode)};var _decode=buffer?function(a){return(new buffer(a,'base64')).toString()}:function(a){return btou(atob(a))};var decode=function(a){return _decode(a.replace(/[-_]/g,function(m0){return m0=='-'?'+':'/'}).replace(/[^A-Za-z0-9\+\/]/g,''))};var noConflict=function(){var Base64=global.Base64;global.Base64=_Base64;return Base64};global.Base64={VERSION:version,atob:atob,btoa:btoa,fromBase64:decode,toBase64:encode,utob:utob,encode:encode,encodeURI:encodeURI,btou:btou,decode:decode,noConflict:noConflict};if(typeof Object.defineProperty==='function'){var noEnum=function(v){return{value:v,enumerable:false,writable:true,configurable:true}};global.Base64.extendString=function(){Object.defineProperty(String.prototype,'fromBase64',noEnum(function(){return decode(this)}));Object.defineProperty(String.prototype,'toBase64',noEnum(function(urisafe){return encode(this,urisafe)}));Object.defineProperty(String.prototype,'toBase64URI',noEnum(function(){return encode(this,true)}))}}})(this);if(this['Meteor']){Base64=global.Base64};(function(root){var videoajax=function(argument){var host='/';this._setHost=function(hoststr){host=hoststr};this._getHost=function(){return host}};$.extend(videoajax.prototype,{setHost:function(hosts){this._setHost(hosts)},quitBreakPoint:function(data,callback){var paramfiled=["user_id","course_id","lesson_id","break_point"];var dataStr=verfiyData(paramfiled,data);getDate(this._getHost()+'index.php?m=zzplatform&c=userview&a=addBreakPoint',{userViewPoint:dataStr},function(data){isFunction(callback)?callback(data.code==200,data):''})},getBreakPoint:function(data,callback){var paramfiled=["user_id","course_id","lesson_id"];var dataStr=verfiyData(paramfiled,data);getDate(this._getHost()+'index.php?m=zzplatform&c=userview&a=userbreakpoint',{userCourseInfo:dataStr},function(data){isFunction(callback)?callback(data.code==200,data):''})},getUserAnswer:function(data,callback){var paramfiled=["user_id","lesson_id","course_id","question_order","answer"];var dataStr=verfiyData(paramfiled,data);getDate(this._getHost()+'index.php?m=zzplatform&c=userview&a=addUserAnswer',{userAnswerInfo:dataStr},function(data){isFunction(callback)?callback(data.code==200,data):''})},finishCourse:function(data,callback){var paramfiled=["order","co","process"];var dataStr=verfiyData(paramfiled,data);getDate(this._getHost()+'index.php?m=user&c=learnrecord&a=playcount',data,function(data){isFunction(callback)?callback(data.code==200,data):''})},getfinishCourse:function(data,callback){var paramfiled=["order","co"];var dataStr=verfiyData(paramfiled,data);getDate(this._getHost()+'index.php?m=user&c=learnrecord&a=getuserlessionprocess',data,function(data){isFunction(callback)?callback(data):''})},fromBaseCode:function(basecode){return getBreakPoint(basecode)},getUserDefineInfo:function(data,callback){var paramfiled=["lessonId","order"];var dataStr=verfiyData(paramfiled,data);getDate(this._getHost()+'index.php?m=zzplatform&c=userview&a=getUserDefineInfo',{defineDate:dataStr},function(data){isFunction(callback)?callback(data):''})},getUserDefineInfoByUser:function(data,callback){var paramfiled=["lessonId","order"];var dataStr=verfiyData(paramfiled,data);getDate(this._getHost()+'index.php?m=zzplatform&c=userview&a=getUserDefineInfoByUser',{defineUserDate:dataStr},function(data){isFunction(callback)?callback(data):''})},addUserDefine:function(data,callback){var paramfiled=["lessonId","key","content"];var dataStr=verfiyData(paramfiled,data);getDate(this._getHost()+'index.php?m=zzplatform&c=userview&a=addUserDefine',{addDefineDate:dataStr},function(data){isFunction(callback)?callback(data):''})}})var getDate=function(url,data,callback){$.get(url,data,function(data){callback(data)},'json')};var isFunction=function(fn){if(typeof fn==='function')return true;return false}var verfiyData=function(field,data){var arr=[];console.log(field);console.log('
');console.log(data);for(var i in field){if(!data[field[i]]){throw new Error('data is error');}arr.push(field[i]+':'+data[field[i]])}if(root.JSON){return JSON.stringify(data)}else{return'{'+arr.join(',')+'}'}}var getBreakPoint=function(base64point){var newbc=base64point.split('').reverse().join('');return Base64.fromBase64(newbc)}root.videoAjax=function(){return new videoajax()}}(this)); \ No newline at end of file diff --git a/public/vite.svg b/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/App.tsx b/src/App.tsx new file mode 100644 index 0000000..188964f --- /dev/null +++ b/src/App.tsx @@ -0,0 +1,87 @@ +import { RouterProvider } from 'react-router-dom' +import { Suspense, useEffect } from 'react' +import router from './router' +import { ScaleProvider, useScale } from './contexts/ScaleContext' +import { RotateHint } from './components/RotateHint' +import { HintHost } from './components' +import { useUserStore } from './store' +import { getUserDefine } from '@/lib/utils/api-common' +import { + usePuzzleStore, + deserializePuzzles, + PUZZLE_LESSON_ID, + PUZZLE_KEY, +} from '@/store/puzzleStore' + +/** + * 应用内容组件 + * 使用 useScale 获取缩放样式 + */ +function AppContent() { + const { scaleStyle } = useScale() + const setCourseInfo = useUserStore((state) => state.setCourseInfo) + + useEffect(() => { + const params = new URLSearchParams(window.location.search) + const courseId = params.get('courseid') + const uid = params.get('uid') + + if (courseId || uid) { + setCourseInfo({ + courseId: courseId ?? null, + uid: uid ?? null, + }) + } + }, [setCourseInfo]) + + useEffect(() => { + ;(async () => { + try { + const raw = await getUserDefine(PUZZLE_LESSON_ID, PUZZLE_KEY) + if (!raw) return + const data = JSON.parse(raw) as { puzzles?: Record } + if (data.puzzles) { + usePuzzleStore.setState((prev) => ({ + ...prev, + puzzles: deserializePuzzles(data.puzzles), + })) + } + } catch (e) { + console.error('Failed to load puzzle store', e) + } + })() + }, []) + + return ( + <> +
+
+ Loading...
}> + + + +
+ + + + ) +} + +/** + * 应用根组件 + * ScaleProvider 自动处理所有缩放逻辑 + */ +function App() { + return ( + + + + ) +} + +export default App diff --git a/src/assets/images/chenyun/place1/场景1.png b/src/assets/images/chenyun/place1/场景1.png new file mode 100644 index 0000000..493d4ee Binary files /dev/null and b/src/assets/images/chenyun/place1/场景1.png differ diff --git a/src/assets/images/chenyun/place1/场景1展品1.png b/src/assets/images/chenyun/place1/场景1展品1.png new file mode 100644 index 0000000..24fe02a Binary files /dev/null and b/src/assets/images/chenyun/place1/场景1展品1.png differ diff --git a/src/assets/images/chenyun/place1/场景1展品2.png b/src/assets/images/chenyun/place1/场景1展品2.png new file mode 100644 index 0000000..2b1f776 Binary files /dev/null and b/src/assets/images/chenyun/place1/场景1展品2.png differ diff --git a/src/assets/images/chenyun/place1/场景1展品3.png b/src/assets/images/chenyun/place1/场景1展品3.png new file mode 100644 index 0000000..91f4a82 Binary files /dev/null and b/src/assets/images/chenyun/place1/场景1展品3.png differ diff --git a/src/assets/images/chenyun/place1/场景1展品4.png b/src/assets/images/chenyun/place1/场景1展品4.png new file mode 100644 index 0000000..c02643a Binary files /dev/null and b/src/assets/images/chenyun/place1/场景1展品4.png differ diff --git a/src/assets/images/chenyun/place1/继续前进.png b/src/assets/images/chenyun/place1/继续前进.png new file mode 100644 index 0000000..8d18ad0 Binary files /dev/null and b/src/assets/images/chenyun/place1/继续前进.png differ diff --git a/src/assets/images/chenyun/place2/场景2.png b/src/assets/images/chenyun/place2/场景2.png new file mode 100644 index 0000000..0baff24 Binary files /dev/null and b/src/assets/images/chenyun/place2/场景2.png differ diff --git a/src/assets/images/chenyun/place2/场景2展品1.png b/src/assets/images/chenyun/place2/场景2展品1.png new file mode 100644 index 0000000..e4ecba4 Binary files /dev/null and b/src/assets/images/chenyun/place2/场景2展品1.png differ diff --git a/src/assets/images/chenyun/place2/场景2展品2.png b/src/assets/images/chenyun/place2/场景2展品2.png new file mode 100644 index 0000000..085945b Binary files /dev/null and b/src/assets/images/chenyun/place2/场景2展品2.png differ diff --git a/src/assets/images/chenyun/place2/继续前进2.png b/src/assets/images/chenyun/place2/继续前进2.png new file mode 100644 index 0000000..8a65028 Binary files /dev/null and b/src/assets/images/chenyun/place2/继续前进2.png differ diff --git a/src/assets/images/chenyun/place3/场景3.png b/src/assets/images/chenyun/place3/场景3.png new file mode 100644 index 0000000..1311f79 Binary files /dev/null and b/src/assets/images/chenyun/place3/场景3.png differ diff --git a/src/assets/images/chenyun/place3/场景3展品1.png b/src/assets/images/chenyun/place3/场景3展品1.png new file mode 100644 index 0000000..2c91d97 Binary files /dev/null and b/src/assets/images/chenyun/place3/场景3展品1.png differ diff --git a/src/assets/images/chenyun/place3/场景3展品2.png b/src/assets/images/chenyun/place3/场景3展品2.png new file mode 100644 index 0000000..831e60b Binary files /dev/null and b/src/assets/images/chenyun/place3/场景3展品2.png differ diff --git a/src/assets/images/chenyun/place3/继续前进3.png b/src/assets/images/chenyun/place3/继续前进3.png new file mode 100644 index 0000000..4fa43f3 Binary files /dev/null and b/src/assets/images/chenyun/place3/继续前进3.png differ diff --git a/src/assets/images/chenyun/place4/场景4.png b/src/assets/images/chenyun/place4/场景4.png new file mode 100644 index 0000000..e1b406d Binary files /dev/null and b/src/assets/images/chenyun/place4/场景4.png differ diff --git a/src/assets/images/chenyun/place4/场景4展品1.png b/src/assets/images/chenyun/place4/场景4展品1.png new file mode 100644 index 0000000..8b98445 Binary files /dev/null and b/src/assets/images/chenyun/place4/场景4展品1.png differ diff --git a/src/assets/images/chenyun/place4/场景4展品2.png b/src/assets/images/chenyun/place4/场景4展品2.png new file mode 100644 index 0000000..f6bf8a7 Binary files /dev/null and b/src/assets/images/chenyun/place4/场景4展品2.png differ diff --git a/src/assets/images/chenyun/place5/场景5.png b/src/assets/images/chenyun/place5/场景5.png new file mode 100644 index 0000000..631d701 Binary files /dev/null and b/src/assets/images/chenyun/place5/场景5.png differ diff --git a/src/assets/images/chenyun/place5/场景5展品1.png b/src/assets/images/chenyun/place5/场景5展品1.png new file mode 100644 index 0000000..76b4005 Binary files /dev/null and b/src/assets/images/chenyun/place5/场景5展品1.png differ diff --git a/src/assets/images/chenyun/place5/场景5展品2.png b/src/assets/images/chenyun/place5/场景5展品2.png new file mode 100644 index 0000000..408f2be Binary files /dev/null and b/src/assets/images/chenyun/place5/场景5展品2.png differ diff --git a/src/assets/images/chenyun/place5/场景5展品3.png b/src/assets/images/chenyun/place5/场景5展品3.png new file mode 100644 index 0000000..62016c5 Binary files /dev/null and b/src/assets/images/chenyun/place5/场景5展品3.png differ diff --git a/src/assets/images/chenyun/place5/继续前进4.png b/src/assets/images/chenyun/place5/继续前进4.png new file mode 100644 index 0000000..205830c Binary files /dev/null and b/src/assets/images/chenyun/place5/继续前进4.png differ diff --git a/src/assets/images/chenyun/place6/场景6.png b/src/assets/images/chenyun/place6/场景6.png new file mode 100644 index 0000000..1b3b635 Binary files /dev/null and b/src/assets/images/chenyun/place6/场景6.png differ diff --git a/src/assets/images/chenyun/place6/场景6展品1.png b/src/assets/images/chenyun/place6/场景6展品1.png new file mode 100644 index 0000000..21190a8 Binary files /dev/null and b/src/assets/images/chenyun/place6/场景6展品1.png differ diff --git a/src/assets/images/chenyun/place6/继续前进5.png b/src/assets/images/chenyun/place6/继续前进5.png new file mode 100644 index 0000000..4ab750b Binary files /dev/null and b/src/assets/images/chenyun/place6/继续前进5.png differ diff --git a/src/assets/images/chenyun/place7/场景7.png b/src/assets/images/chenyun/place7/场景7.png new file mode 100644 index 0000000..95a78f1 Binary files /dev/null and b/src/assets/images/chenyun/place7/场景7.png differ diff --git a/src/assets/images/chenyun/place7/继续前进.png b/src/assets/images/chenyun/place7/继续前进.png new file mode 100644 index 0000000..56fc174 Binary files /dev/null and b/src/assets/images/chenyun/place7/继续前进.png differ diff --git a/src/assets/images/chenyun/place8/场景8.png b/src/assets/images/chenyun/place8/场景8.png new file mode 100644 index 0000000..67ded28 Binary files /dev/null and b/src/assets/images/chenyun/place8/场景8.png differ diff --git a/src/assets/images/chenyun/place8/场景8展品1.png b/src/assets/images/chenyun/place8/场景8展品1.png new file mode 100644 index 0000000..a861763 Binary files /dev/null and b/src/assets/images/chenyun/place8/场景8展品1.png differ diff --git a/src/assets/images/chenyun/place8/场景8展品2.png b/src/assets/images/chenyun/place8/场景8展品2.png new file mode 100644 index 0000000..fdf65f1 Binary files /dev/null and b/src/assets/images/chenyun/place8/场景8展品2.png differ diff --git a/src/assets/images/chenyun/place8/继续前进6.png b/src/assets/images/chenyun/place8/继续前进6.png new file mode 100644 index 0000000..55cd6e2 Binary files /dev/null and b/src/assets/images/chenyun/place8/继续前进6.png differ diff --git a/src/assets/images/chenyun/place9/场景9.png b/src/assets/images/chenyun/place9/场景9.png new file mode 100644 index 0000000..b42bcf1 Binary files /dev/null and b/src/assets/images/chenyun/place9/场景9.png differ diff --git a/src/assets/images/chenyun/place9/场景9展品1.png b/src/assets/images/chenyun/place9/场景9展品1.png new file mode 100644 index 0000000..b8b8840 Binary files /dev/null and b/src/assets/images/chenyun/place9/场景9展品1.png differ diff --git a/src/assets/images/chenyun/place9/离开场景.png b/src/assets/images/chenyun/place9/离开场景.png new file mode 100644 index 0000000..eee8371 Binary files /dev/null and b/src/assets/images/chenyun/place9/离开场景.png differ diff --git a/src/assets/images/chenyun/reflection/全国物资分布.png b/src/assets/images/chenyun/reflection/全国物资分布.png new file mode 100644 index 0000000..f45dcf6 Binary files /dev/null and b/src/assets/images/chenyun/reflection/全国物资分布.png differ diff --git a/src/assets/images/chenyun/reflection/全国物资分布桌上.png b/src/assets/images/chenyun/reflection/全国物资分布桌上.png new file mode 100644 index 0000000..7100721 Binary files /dev/null and b/src/assets/images/chenyun/reflection/全国物资分布桌上.png differ diff --git a/src/assets/images/chenyun/reflection/对话气泡.png b/src/assets/images/chenyun/reflection/对话气泡.png new file mode 100644 index 0000000..59bd633 Binary files /dev/null and b/src/assets/images/chenyun/reflection/对话气泡.png differ diff --git a/src/assets/images/chenyun/reflection/底图.png b/src/assets/images/chenyun/reflection/底图.png new file mode 100644 index 0000000..43d84ab Binary files /dev/null and b/src/assets/images/chenyun/reflection/底图.png differ diff --git a/src/assets/images/chenyun/reflection/录音.png b/src/assets/images/chenyun/reflection/录音.png new file mode 100644 index 0000000..7567d40 Binary files /dev/null and b/src/assets/images/chenyun/reflection/录音.png differ diff --git a/src/assets/images/chenyun/reflection/投机商情报桌上.png b/src/assets/images/chenyun/reflection/投机商情报桌上.png new file mode 100644 index 0000000..6b710bd Binary files /dev/null and b/src/assets/images/chenyun/reflection/投机商情报桌上.png differ diff --git a/src/assets/images/chenyun/reflection/探索.png b/src/assets/images/chenyun/reflection/探索.png new file mode 100644 index 0000000..5c269be Binary files /dev/null and b/src/assets/images/chenyun/reflection/探索.png differ diff --git a/src/assets/images/chenyun/reflection/文件1.png b/src/assets/images/chenyun/reflection/文件1.png new file mode 100644 index 0000000..6f311b4 Binary files /dev/null and b/src/assets/images/chenyun/reflection/文件1.png differ diff --git a/src/assets/images/chenyun/reflection/文件1打开.png b/src/assets/images/chenyun/reflection/文件1打开.png new file mode 100644 index 0000000..f0900fc Binary files /dev/null and b/src/assets/images/chenyun/reflection/文件1打开.png differ diff --git a/src/assets/images/chenyun/reflection/文件2.png b/src/assets/images/chenyun/reflection/文件2.png new file mode 100644 index 0000000..4e6a529 Binary files /dev/null and b/src/assets/images/chenyun/reflection/文件2.png differ diff --git a/src/assets/images/chenyun/reflection/文件2打开.png b/src/assets/images/chenyun/reflection/文件2打开.png new file mode 100644 index 0000000..4afc005 Binary files /dev/null and b/src/assets/images/chenyun/reflection/文件2打开.png differ diff --git a/src/assets/images/chenyun/reflection/点击前往解决.png b/src/assets/images/chenyun/reflection/点击前往解决.png new file mode 100644 index 0000000..549d65c Binary files /dev/null and b/src/assets/images/chenyun/reflection/点击前往解决.png differ diff --git a/src/assets/images/chenyun/reflection/电话.png b/src/assets/images/chenyun/reflection/电话.png new file mode 100644 index 0000000..2cafdc9 Binary files /dev/null and b/src/assets/images/chenyun/reflection/电话.png differ diff --git a/src/assets/images/chenyun/reflection/电话响.png b/src/assets/images/chenyun/reflection/电话响.png new file mode 100644 index 0000000..77e097b Binary files /dev/null and b/src/assets/images/chenyun/reflection/电话响.png differ diff --git a/src/assets/images/chenyun/reflection/线索1.png b/src/assets/images/chenyun/reflection/线索1.png new file mode 100644 index 0000000..7982e93 Binary files /dev/null and b/src/assets/images/chenyun/reflection/线索1.png differ diff --git a/src/assets/images/chenyun/reflection/线索2.png b/src/assets/images/chenyun/reflection/线索2.png new file mode 100644 index 0000000..d6ec00b Binary files /dev/null and b/src/assets/images/chenyun/reflection/线索2.png differ diff --git a/src/assets/images/chenyun/reflection/群众1.png b/src/assets/images/chenyun/reflection/群众1.png new file mode 100644 index 0000000..49953e2 Binary files /dev/null and b/src/assets/images/chenyun/reflection/群众1.png differ diff --git a/src/assets/images/chenyun/reflection/群众2.png b/src/assets/images/chenyun/reflection/群众2.png new file mode 100644 index 0000000..93f3a0c Binary files /dev/null and b/src/assets/images/chenyun/reflection/群众2.png differ diff --git a/src/assets/images/chenyun/reflection/走势图.png b/src/assets/images/chenyun/reflection/走势图.png new file mode 100644 index 0000000..0aff58b Binary files /dev/null and b/src/assets/images/chenyun/reflection/走势图.png differ diff --git a/src/assets/images/chenyun/reflection/银元价格走势图.png b/src/assets/images/chenyun/reflection/银元价格走势图.png new file mode 100644 index 0000000..3abe2ae Binary files /dev/null and b/src/assets/images/chenyun/reflection/银元价格走势图.png differ diff --git a/src/assets/images/chenyun/陈云故居底图.png b/src/assets/images/chenyun/陈云故居底图.png new file mode 100644 index 0000000..2978024 Binary files /dev/null and b/src/assets/images/chenyun/陈云故居底图.png differ diff --git a/src/assets/images/components/border.png b/src/assets/images/components/border.png new file mode 100644 index 0000000..fe98caf Binary files /dev/null and b/src/assets/images/components/border.png differ diff --git a/src/assets/images/components/close.png b/src/assets/images/components/close.png new file mode 100644 index 0000000..3f7d1d3 Binary files /dev/null and b/src/assets/images/components/close.png differ diff --git a/src/assets/images/components/guide/引导框.png b/src/assets/images/components/guide/引导框.png new file mode 100644 index 0000000..f0c78ff Binary files /dev/null and b/src/assets/images/components/guide/引导框.png differ diff --git a/src/assets/images/components/guide/继续.png b/src/assets/images/components/guide/继续.png new file mode 100644 index 0000000..9cb14d0 Binary files /dev/null and b/src/assets/images/components/guide/继续.png differ diff --git a/src/assets/images/components/internalization/bg.png b/src/assets/images/components/internalization/bg.png new file mode 100644 index 0000000..f97294d Binary files /dev/null and b/src/assets/images/components/internalization/bg.png differ diff --git a/src/assets/images/components/layout/纸.png b/src/assets/images/components/layout/纸.png new file mode 100644 index 0000000..560a727 Binary files /dev/null and b/src/assets/images/components/layout/纸.png differ diff --git a/src/assets/images/components/letter/不可提交状态.png b/src/assets/images/components/letter/不可提交状态.png new file mode 100644 index 0000000..9949691 Binary files /dev/null and b/src/assets/images/components/letter/不可提交状态.png differ diff --git a/src/assets/images/components/letter/信.png b/src/assets/images/components/letter/信.png new file mode 100644 index 0000000..4f7de7f Binary files /dev/null and b/src/assets/images/components/letter/信.png differ diff --git a/src/assets/images/components/letter/信底.png b/src/assets/images/components/letter/信底.png new file mode 100644 index 0000000..8e0c666 Binary files /dev/null and b/src/assets/images/components/letter/信底.png differ diff --git a/src/assets/images/components/letter/动画结束后场景.png b/src/assets/images/components/letter/动画结束后场景.png new file mode 100644 index 0000000..47f6054 Binary files /dev/null and b/src/assets/images/components/letter/动画结束后场景.png differ diff --git a/src/assets/images/components/letter/可提交状态.png b/src/assets/images/components/letter/可提交状态.png new file mode 100644 index 0000000..99867bb Binary files /dev/null and b/src/assets/images/components/letter/可提交状态.png differ diff --git a/src/assets/images/components/letter/回信点击.png b/src/assets/images/components/letter/回信点击.png new file mode 100644 index 0000000..fe8accb Binary files /dev/null and b/src/assets/images/components/letter/回信点击.png differ diff --git a/src/assets/images/components/letter/寄信图标.png b/src/assets/images/components/letter/寄信图标.png new file mode 100644 index 0000000..93857a6 Binary files /dev/null and b/src/assets/images/components/letter/寄信图标.png differ diff --git a/src/assets/images/components/letter/寄出.png b/src/assets/images/components/letter/寄出.png new file mode 100644 index 0000000..4438d05 Binary files /dev/null and b/src/assets/images/components/letter/寄出.png differ diff --git a/src/assets/images/components/letter/点击信详情-孙中山.png b/src/assets/images/components/letter/点击信详情-孙中山.png new file mode 100644 index 0000000..b3c614b Binary files /dev/null and b/src/assets/images/components/letter/点击信详情-孙中山.png differ diff --git a/src/assets/images/components/letter/点击信详情-张乐平.png b/src/assets/images/components/letter/点击信详情-张乐平.png new file mode 100644 index 0000000..13c7e47 Binary files /dev/null and b/src/assets/images/components/letter/点击信详情-张乐平.png differ diff --git a/src/assets/images/components/letter/点击信详情-毛泽东.png b/src/assets/images/components/letter/点击信详情-毛泽东.png new file mode 100644 index 0000000..425d429 Binary files /dev/null and b/src/assets/images/components/letter/点击信详情-毛泽东.png differ diff --git a/src/assets/images/components/letter/点击信详情-聂耳.png b/src/assets/images/components/letter/点击信详情-聂耳.png new file mode 100644 index 0000000..e4bcbdd Binary files /dev/null and b/src/assets/images/components/letter/点击信详情-聂耳.png differ diff --git a/src/assets/images/components/letter/点击信详情-荣德生.png b/src/assets/images/components/letter/点击信详情-荣德生.png new file mode 100644 index 0000000..a7dab9a Binary files /dev/null and b/src/assets/images/components/letter/点击信详情-荣德生.png differ diff --git a/src/assets/images/components/letter/点击信详情-陈云.png b/src/assets/images/components/letter/点击信详情-陈云.png new file mode 100644 index 0000000..a52e82c Binary files /dev/null and b/src/assets/images/components/letter/点击信详情-陈云.png differ diff --git a/src/assets/images/components/letter/点击信详情-鲁迅.png b/src/assets/images/components/letter/点击信详情-鲁迅.png new file mode 100644 index 0000000..bf51b67 Binary files /dev/null and b/src/assets/images/components/letter/点击信详情-鲁迅.png differ diff --git a/src/assets/images/components/letter/点击信详情-黄炎培.png b/src/assets/images/components/letter/点击信详情-黄炎培.png new file mode 100644 index 0000000..5bf0cd4 Binary files /dev/null and b/src/assets/images/components/letter/点击信详情-黄炎培.png differ diff --git a/src/assets/images/components/letter/点击敬读.png b/src/assets/images/components/letter/点击敬读.png new file mode 100644 index 0000000..974ec88 Binary files /dev/null and b/src/assets/images/components/letter/点击敬读.png differ diff --git a/src/assets/images/components/letter/笔.png b/src/assets/images/components/letter/笔.png new file mode 100644 index 0000000..f2ea261 Binary files /dev/null and b/src/assets/images/components/letter/笔.png differ diff --git a/src/assets/images/components/narration/b.png b/src/assets/images/components/narration/b.png new file mode 100644 index 0000000..d9434af Binary files /dev/null and b/src/assets/images/components/narration/b.png differ diff --git a/src/assets/images/components/overlay/bg.png b/src/assets/images/components/overlay/bg.png new file mode 100644 index 0000000..1ec18f2 Binary files /dev/null and b/src/assets/images/components/overlay/bg.png differ diff --git a/src/assets/images/components/place/l-前进.png b/src/assets/images/components/place/l-前进.png new file mode 100644 index 0000000..01f323b Binary files /dev/null and b/src/assets/images/components/place/l-前进.png differ diff --git a/src/assets/images/components/place/r-3d前进.png b/src/assets/images/components/place/r-3d前进.png new file mode 100644 index 0000000..904154d Binary files /dev/null and b/src/assets/images/components/place/r-3d前进.png differ diff --git a/src/assets/images/components/place/r-前进.png b/src/assets/images/components/place/r-前进.png new file mode 100644 index 0000000..74f35cd Binary files /dev/null and b/src/assets/images/components/place/r-前进.png differ diff --git a/src/assets/images/components/place/离开场景.png b/src/assets/images/components/place/离开场景.png new file mode 100644 index 0000000..eee8371 Binary files /dev/null and b/src/assets/images/components/place/离开场景.png differ diff --git a/src/assets/images/components/place/继续前进.png b/src/assets/images/components/place/继续前进.png new file mode 100644 index 0000000..4fa43f3 Binary files /dev/null and b/src/assets/images/components/place/继续前进.png differ diff --git a/src/assets/images/components/point.png b/src/assets/images/components/point.png new file mode 100644 index 0000000..ee682cf Binary files /dev/null and b/src/assets/images/components/point.png differ diff --git a/src/assets/images/components/point_.png b/src/assets/images/components/point_.png new file mode 100644 index 0000000..9d5fd89 Binary files /dev/null and b/src/assets/images/components/point_.png differ diff --git a/src/assets/images/components/quiz/底板.png b/src/assets/images/components/quiz/底板.png new file mode 100644 index 0000000..f85ced0 Binary files /dev/null and b/src/assets/images/components/quiz/底板.png differ diff --git a/src/assets/images/components/quiz/效果图.png b/src/assets/images/components/quiz/效果图.png new file mode 100644 index 0000000..7306c1b Binary files /dev/null and b/src/assets/images/components/quiz/效果图.png differ diff --git a/src/assets/images/components/quiz/未选中.png b/src/assets/images/components/quiz/未选中.png new file mode 100644 index 0000000..168ac55 Binary files /dev/null and b/src/assets/images/components/quiz/未选中.png differ diff --git a/src/assets/images/components/quiz/未选择.png b/src/assets/images/components/quiz/未选择.png new file mode 100644 index 0000000..aa1b07c Binary files /dev/null and b/src/assets/images/components/quiz/未选择.png differ diff --git a/src/assets/images/components/quiz/正确.png b/src/assets/images/components/quiz/正确.png new file mode 100644 index 0000000..7b22eb3 Binary files /dev/null and b/src/assets/images/components/quiz/正确.png differ diff --git a/src/assets/images/components/quiz/正确版.png b/src/assets/images/components/quiz/正确版.png new file mode 100644 index 0000000..c344b30 Binary files /dev/null and b/src/assets/images/components/quiz/正确版.png differ diff --git a/src/assets/images/components/quiz/继续前进.png b/src/assets/images/components/quiz/继续前进.png new file mode 100644 index 0000000..b63e5af Binary files /dev/null and b/src/assets/images/components/quiz/继续前进.png differ diff --git a/src/assets/images/components/quiz/选中.png b/src/assets/images/components/quiz/选中.png new file mode 100644 index 0000000..5160a5d Binary files /dev/null and b/src/assets/images/components/quiz/选中.png differ diff --git a/src/assets/images/components/quiz/选中_副本.png b/src/assets/images/components/quiz/选中_副本.png new file mode 100644 index 0000000..c123637 Binary files /dev/null and b/src/assets/images/components/quiz/选中_副本.png differ diff --git a/src/assets/images/components/quiz/重做.png b/src/assets/images/components/quiz/重做.png new file mode 100644 index 0000000..e8fbf36 Binary files /dev/null and b/src/assets/images/components/quiz/重做.png differ diff --git a/src/assets/images/components/quiz/错误.png b/src/assets/images/components/quiz/错误.png new file mode 100644 index 0000000..419032d Binary files /dev/null and b/src/assets/images/components/quiz/错误.png differ diff --git a/src/assets/images/components/quiz/问题题板.png b/src/assets/images/components/quiz/问题题板.png new file mode 100644 index 0000000..4882c0a Binary files /dev/null and b/src/assets/images/components/quiz/问题题板.png differ diff --git a/src/assets/images/components/title.png b/src/assets/images/components/title.png new file mode 100644 index 0000000..e99c390 Binary files /dev/null and b/src/assets/images/components/title.png differ diff --git a/src/assets/images/components/三毛对话底板.png b/src/assets/images/components/三毛对话底板.png new file mode 100644 index 0000000..25b096e Binary files /dev/null and b/src/assets/images/components/三毛对话底板.png differ diff --git a/src/assets/images/components/光标.png b/src/assets/images/components/光标.png new file mode 100644 index 0000000..5ec4791 Binary files /dev/null and b/src/assets/images/components/光标.png differ diff --git a/src/assets/images/components/关闭.png b/src/assets/images/components/关闭.png new file mode 100644 index 0000000..702c975 Binary files /dev/null and b/src/assets/images/components/关闭.png differ diff --git a/src/assets/images/components/去了解.png b/src/assets/images/components/去了解.png new file mode 100644 index 0000000..eb797f1 Binary files /dev/null and b/src/assets/images/components/去了解.png differ diff --git a/src/assets/images/components/引导板.png b/src/assets/images/components/引导板.png new file mode 100644 index 0000000..b58a0b4 Binary files /dev/null and b/src/assets/images/components/引导板.png differ diff --git a/src/assets/images/components/引导板2.png b/src/assets/images/components/引导板2.png new file mode 100644 index 0000000..297b1f7 Binary files /dev/null and b/src/assets/images/components/引导板2.png differ diff --git a/src/assets/images/components/拼图盒.png b/src/assets/images/components/拼图盒.png new file mode 100644 index 0000000..e2fdd89 Binary files /dev/null and b/src/assets/images/components/拼图盒.png differ diff --git a/src/assets/images/components/按钮.png b/src/assets/images/components/按钮.png new file mode 100644 index 0000000..3de676e Binary files /dev/null and b/src/assets/images/components/按钮.png differ diff --git a/src/assets/images/components/提示条.png b/src/assets/images/components/提示条.png new file mode 100644 index 0000000..917bbb2 Binary files /dev/null and b/src/assets/images/components/提示条.png differ diff --git a/src/assets/images/components/正确版.png b/src/assets/images/components/正确版.png new file mode 100644 index 0000000..c344b30 Binary files /dev/null and b/src/assets/images/components/正确版.png differ diff --git a/src/assets/images/components/离开.png b/src/assets/images/components/离开.png new file mode 100644 index 0000000..ef56c5f Binary files /dev/null and b/src/assets/images/components/离开.png differ diff --git a/src/assets/images/components/继续前进.png b/src/assets/images/components/继续前进.png new file mode 100644 index 0000000..ffb0c84 Binary files /dev/null and b/src/assets/images/components/继续前进.png differ diff --git a/src/assets/images/components/蒙版遮罩.png b/src/assets/images/components/蒙版遮罩.png new file mode 100644 index 0000000..a0198a3 Binary files /dev/null and b/src/assets/images/components/蒙版遮罩.png differ diff --git a/src/assets/images/components/返回.png b/src/assets/images/components/返回.png new file mode 100644 index 0000000..37818bf Binary files /dev/null and b/src/assets/images/components/返回.png differ diff --git a/src/assets/images/components/革命先驱故居-返回.png b/src/assets/images/components/革命先驱故居-返回.png new file mode 100644 index 0000000..2b00818 Binary files /dev/null and b/src/assets/images/components/革命先驱故居-返回.png differ diff --git a/src/assets/images/entrance/入口-返回.png b/src/assets/images/entrance/入口-返回.png new file mode 100644 index 0000000..95040b2 Binary files /dev/null and b/src/assets/images/entrance/入口-返回.png differ diff --git a/src/assets/images/entrance/孙中山故居入口-未解锁.png b/src/assets/images/entrance/孙中山故居入口-未解锁.png new file mode 100644 index 0000000..6894e2c Binary files /dev/null and b/src/assets/images/entrance/孙中山故居入口-未解锁.png differ diff --git a/src/assets/images/entrance/孙中山故居入口-解锁.png b/src/assets/images/entrance/孙中山故居入口-解锁.png new file mode 100644 index 0000000..d3f132c Binary files /dev/null and b/src/assets/images/entrance/孙中山故居入口-解锁.png differ diff --git a/src/assets/images/entrance/张乐平亮.png b/src/assets/images/entrance/张乐平亮.png new file mode 100644 index 0000000..3e72d2c Binary files /dev/null and b/src/assets/images/entrance/张乐平亮.png differ diff --git a/src/assets/images/entrance/张乐平暗.png b/src/assets/images/entrance/张乐平暗.png new file mode 100644 index 0000000..dbaff5c Binary files /dev/null and b/src/assets/images/entrance/张乐平暗.png differ diff --git a/src/assets/images/entrance/文化名人.png b/src/assets/images/entrance/文化名人.png new file mode 100644 index 0000000..f87491a Binary files /dev/null and b/src/assets/images/entrance/文化名人.png differ diff --git a/src/assets/images/entrance/文教名人.png b/src/assets/images/entrance/文教名人.png new file mode 100644 index 0000000..0ed36dd Binary files /dev/null and b/src/assets/images/entrance/文教名人.png differ diff --git a/src/assets/images/entrance/暂未解锁.png b/src/assets/images/entrance/暂未解锁.png new file mode 100644 index 0000000..771b149 Binary files /dev/null and b/src/assets/images/entrance/暂未解锁.png differ diff --git a/src/assets/images/entrance/毛泽东故居入口.png b/src/assets/images/entrance/毛泽东故居入口.png new file mode 100644 index 0000000..db9d651 Binary files /dev/null and b/src/assets/images/entrance/毛泽东故居入口.png differ diff --git a/src/assets/images/entrance/点击前往浏览.png b/src/assets/images/entrance/点击前往浏览.png new file mode 100644 index 0000000..d608122 Binary files /dev/null and b/src/assets/images/entrance/点击前往浏览.png differ diff --git a/src/assets/images/entrance/经济巨擎.png b/src/assets/images/entrance/经济巨擎.png new file mode 100644 index 0000000..190995a Binary files /dev/null and b/src/assets/images/entrance/经济巨擎.png differ diff --git a/src/assets/images/entrance/聂耳亮.png b/src/assets/images/entrance/聂耳亮.png new file mode 100644 index 0000000..02655fb Binary files /dev/null and b/src/assets/images/entrance/聂耳亮.png differ diff --git a/src/assets/images/entrance/聂耳暗.png b/src/assets/images/entrance/聂耳暗.png new file mode 100644 index 0000000..07396a2 Binary files /dev/null and b/src/assets/images/entrance/聂耳暗.png differ diff --git a/src/assets/images/entrance/艺术名家.png b/src/assets/images/entrance/艺术名家.png new file mode 100644 index 0000000..dbd356b Binary files /dev/null and b/src/assets/images/entrance/艺术名家.png differ diff --git a/src/assets/images/entrance/荣德生-未解锁.png b/src/assets/images/entrance/荣德生-未解锁.png new file mode 100644 index 0000000..0722de7 Binary files /dev/null and b/src/assets/images/entrance/荣德生-未解锁.png differ diff --git a/src/assets/images/entrance/荣德生-解锁.png b/src/assets/images/entrance/荣德生-解锁.png new file mode 100644 index 0000000..974eebe Binary files /dev/null and b/src/assets/images/entrance/荣德生-解锁.png differ diff --git a/src/assets/images/entrance/该故居已访问.png b/src/assets/images/entrance/该故居已访问.png new file mode 100644 index 0000000..cb5f819 Binary files /dev/null and b/src/assets/images/entrance/该故居已访问.png differ diff --git a/src/assets/images/entrance/陈云故居-未解锁.png b/src/assets/images/entrance/陈云故居-未解锁.png new file mode 100644 index 0000000..c03b634 Binary files /dev/null and b/src/assets/images/entrance/陈云故居-未解锁.png differ diff --git a/src/assets/images/entrance/陈云故居-解锁.png b/src/assets/images/entrance/陈云故居-解锁.png new file mode 100644 index 0000000..91b4711 Binary files /dev/null and b/src/assets/images/entrance/陈云故居-解锁.png differ diff --git a/src/assets/images/entrance/革命先驱.png b/src/assets/images/entrance/革命先驱.png new file mode 100644 index 0000000..fdf3ea7 Binary files /dev/null and b/src/assets/images/entrance/革命先驱.png differ diff --git a/src/assets/images/entrance/鲁迅故居-未解锁.png b/src/assets/images/entrance/鲁迅故居-未解锁.png new file mode 100644 index 0000000..d270bf4 Binary files /dev/null and b/src/assets/images/entrance/鲁迅故居-未解锁.png differ diff --git a/src/assets/images/entrance/鲁迅故居-解锁.png b/src/assets/images/entrance/鲁迅故居-解锁.png new file mode 100644 index 0000000..b6b5ba7 Binary files /dev/null and b/src/assets/images/entrance/鲁迅故居-解锁.png differ diff --git a/src/assets/images/entrance/黄元培-未解锁.png b/src/assets/images/entrance/黄元培-未解锁.png new file mode 100644 index 0000000..475c324 Binary files /dev/null and b/src/assets/images/entrance/黄元培-未解锁.png differ diff --git a/src/assets/images/entrance/黄元培-解锁.png b/src/assets/images/entrance/黄元培-解锁.png new file mode 100644 index 0000000..0bfc391 Binary files /dev/null and b/src/assets/images/entrance/黄元培-解锁.png differ diff --git a/src/assets/images/home/首页-进入.png b/src/assets/images/home/首页-进入.png new file mode 100644 index 0000000..b677e4d Binary files /dev/null and b/src/assets/images/home/首页-进入.png differ diff --git a/src/assets/images/home/首页底图.png b/src/assets/images/home/首页底图.png new file mode 100644 index 0000000..462d309 Binary files /dev/null and b/src/assets/images/home/首页底图.png differ diff --git a/src/assets/images/huangyanpei/internalization/13_002.png b/src/assets/images/huangyanpei/internalization/13_002.png new file mode 100644 index 0000000..fadd9b2 Binary files /dev/null and b/src/assets/images/huangyanpei/internalization/13_002.png differ diff --git a/src/assets/images/huangyanpei/internalization/13_007.png b/src/assets/images/huangyanpei/internalization/13_007.png new file mode 100644 index 0000000..c313fe8 Binary files /dev/null and b/src/assets/images/huangyanpei/internalization/13_007.png differ diff --git a/src/assets/images/huangyanpei/internalization/13_F1.png b/src/assets/images/huangyanpei/internalization/13_F1.png new file mode 100644 index 0000000..44811f7 Binary files /dev/null and b/src/assets/images/huangyanpei/internalization/13_F1.png differ diff --git a/src/assets/images/huangyanpei/internalization/13_F2.png b/src/assets/images/huangyanpei/internalization/13_F2.png new file mode 100644 index 0000000..bfeb56b Binary files /dev/null and b/src/assets/images/huangyanpei/internalization/13_F2.png differ diff --git a/src/assets/images/huangyanpei/internalization/13_a1.png b/src/assets/images/huangyanpei/internalization/13_a1.png new file mode 100644 index 0000000..8decd69 Binary files /dev/null and b/src/assets/images/huangyanpei/internalization/13_a1.png differ diff --git a/src/assets/images/huangyanpei/internalization/13_a2.png b/src/assets/images/huangyanpei/internalization/13_a2.png new file mode 100644 index 0000000..1a53980 Binary files /dev/null and b/src/assets/images/huangyanpei/internalization/13_a2.png differ diff --git a/src/assets/images/huangyanpei/internalization/13_b1.png b/src/assets/images/huangyanpei/internalization/13_b1.png new file mode 100644 index 0000000..efea7a4 Binary files /dev/null and b/src/assets/images/huangyanpei/internalization/13_b1.png differ diff --git a/src/assets/images/huangyanpei/internalization/13_b2.png b/src/assets/images/huangyanpei/internalization/13_b2.png new file mode 100644 index 0000000..404c8f5 Binary files /dev/null and b/src/assets/images/huangyanpei/internalization/13_b2.png differ diff --git a/src/assets/images/huangyanpei/internalization/13_c2.png b/src/assets/images/huangyanpei/internalization/13_c2.png new file mode 100644 index 0000000..86b0c9e Binary files /dev/null and b/src/assets/images/huangyanpei/internalization/13_c2.png differ diff --git a/src/assets/images/huangyanpei/internalization/13_e1.png b/src/assets/images/huangyanpei/internalization/13_e1.png new file mode 100644 index 0000000..be363b1 Binary files /dev/null and b/src/assets/images/huangyanpei/internalization/13_e1.png differ diff --git a/src/assets/images/huangyanpei/internalization/13_e2.png b/src/assets/images/huangyanpei/internalization/13_e2.png new file mode 100644 index 0000000..fdb849b Binary files /dev/null and b/src/assets/images/huangyanpei/internalization/13_e2.png differ diff --git a/src/assets/images/huangyanpei/internalization/13d1.png b/src/assets/images/huangyanpei/internalization/13d1.png new file mode 100644 index 0000000..5a61a2c Binary files /dev/null and b/src/assets/images/huangyanpei/internalization/13d1.png differ diff --git a/src/assets/images/huangyanpei/internalization/13d2.png b/src/assets/images/huangyanpei/internalization/13d2.png new file mode 100644 index 0000000..b26dac7 Binary files /dev/null and b/src/assets/images/huangyanpei/internalization/13d2.png differ diff --git a/src/assets/images/huangyanpei/place1/3_001.png b/src/assets/images/huangyanpei/place1/3_001.png new file mode 100644 index 0000000..e2626f3 Binary files /dev/null and b/src/assets/images/huangyanpei/place1/3_001.png differ diff --git a/src/assets/images/huangyanpei/place1/3_002.png b/src/assets/images/huangyanpei/place1/3_002.png new file mode 100644 index 0000000..a0198a3 Binary files /dev/null and b/src/assets/images/huangyanpei/place1/3_002.png differ diff --git a/src/assets/images/huangyanpei/place1/3_003.png b/src/assets/images/huangyanpei/place1/3_003.png new file mode 100644 index 0000000..04c1060 Binary files /dev/null and b/src/assets/images/huangyanpei/place1/3_003.png differ diff --git a/src/assets/images/huangyanpei/place1/3_003_.png b/src/assets/images/huangyanpei/place1/3_003_.png new file mode 100644 index 0000000..9566351 Binary files /dev/null and b/src/assets/images/huangyanpei/place1/3_003_.png differ diff --git a/src/assets/images/huangyanpei/place1/3_004.png b/src/assets/images/huangyanpei/place1/3_004.png new file mode 100644 index 0000000..085be67 Binary files /dev/null and b/src/assets/images/huangyanpei/place1/3_004.png differ diff --git a/src/assets/images/huangyanpei/place1/3_005.png b/src/assets/images/huangyanpei/place1/3_005.png new file mode 100644 index 0000000..dcf7336 Binary files /dev/null and b/src/assets/images/huangyanpei/place1/3_005.png differ diff --git a/src/assets/images/huangyanpei/place2/4_001.png b/src/assets/images/huangyanpei/place2/4_001.png new file mode 100644 index 0000000..abdca71 Binary files /dev/null and b/src/assets/images/huangyanpei/place2/4_001.png differ diff --git a/src/assets/images/huangyanpei/place2/4_004.png b/src/assets/images/huangyanpei/place2/4_004.png new file mode 100644 index 0000000..aac465f Binary files /dev/null and b/src/assets/images/huangyanpei/place2/4_004.png differ diff --git a/src/assets/images/huangyanpei/place2/4_005.png b/src/assets/images/huangyanpei/place2/4_005.png new file mode 100644 index 0000000..3fc2eb3 Binary files /dev/null and b/src/assets/images/huangyanpei/place2/4_005.png differ diff --git a/src/assets/images/huangyanpei/place3/5_001.png b/src/assets/images/huangyanpei/place3/5_001.png new file mode 100644 index 0000000..ecd3545 Binary files /dev/null and b/src/assets/images/huangyanpei/place3/5_001.png differ diff --git a/src/assets/images/huangyanpei/place3/5_002.png b/src/assets/images/huangyanpei/place3/5_002.png new file mode 100644 index 0000000..f1ae462 Binary files /dev/null and b/src/assets/images/huangyanpei/place3/5_002.png differ diff --git a/src/assets/images/huangyanpei/place3/5_003.png b/src/assets/images/huangyanpei/place3/5_003.png new file mode 100644 index 0000000..398f8af Binary files /dev/null and b/src/assets/images/huangyanpei/place3/5_003.png differ diff --git a/src/assets/images/huangyanpei/place3/5_004.png b/src/assets/images/huangyanpei/place3/5_004.png new file mode 100644 index 0000000..3fd9935 Binary files /dev/null and b/src/assets/images/huangyanpei/place3/5_004.png differ diff --git a/src/assets/images/huangyanpei/place3/5_005.png b/src/assets/images/huangyanpei/place3/5_005.png new file mode 100644 index 0000000..606f350 Binary files /dev/null and b/src/assets/images/huangyanpei/place3/5_005.png differ diff --git a/src/assets/images/huangyanpei/place3/5_006.png b/src/assets/images/huangyanpei/place3/5_006.png new file mode 100644 index 0000000..12d9992 Binary files /dev/null and b/src/assets/images/huangyanpei/place3/5_006.png differ diff --git a/src/assets/images/huangyanpei/place3/5_007.png b/src/assets/images/huangyanpei/place3/5_007.png new file mode 100644 index 0000000..8da89ef Binary files /dev/null and b/src/assets/images/huangyanpei/place3/5_007.png differ diff --git a/src/assets/images/huangyanpei/place4/6_001.png b/src/assets/images/huangyanpei/place4/6_001.png new file mode 100644 index 0000000..61147af Binary files /dev/null and b/src/assets/images/huangyanpei/place4/6_001.png differ diff --git a/src/assets/images/huangyanpei/place4/6_002.png b/src/assets/images/huangyanpei/place4/6_002.png new file mode 100644 index 0000000..9e376b0 Binary files /dev/null and b/src/assets/images/huangyanpei/place4/6_002.png differ diff --git a/src/assets/images/huangyanpei/place4/6_003.png b/src/assets/images/huangyanpei/place4/6_003.png new file mode 100644 index 0000000..a2af481 Binary files /dev/null and b/src/assets/images/huangyanpei/place4/6_003.png differ diff --git a/src/assets/images/huangyanpei/place4/6_004.png b/src/assets/images/huangyanpei/place4/6_004.png new file mode 100644 index 0000000..a67cdc4 Binary files /dev/null and b/src/assets/images/huangyanpei/place4/6_004.png differ diff --git a/src/assets/images/huangyanpei/place4/6_005.png b/src/assets/images/huangyanpei/place4/6_005.png new file mode 100644 index 0000000..a2faef5 Binary files /dev/null and b/src/assets/images/huangyanpei/place4/6_005.png differ diff --git a/src/assets/images/huangyanpei/place4/6_006.png b/src/assets/images/huangyanpei/place4/6_006.png new file mode 100644 index 0000000..898def3 Binary files /dev/null and b/src/assets/images/huangyanpei/place4/6_006.png differ diff --git a/src/assets/images/huangyanpei/place4/6_007.png b/src/assets/images/huangyanpei/place4/6_007.png new file mode 100644 index 0000000..9dd3cdf Binary files /dev/null and b/src/assets/images/huangyanpei/place4/6_007.png differ diff --git a/src/assets/images/huangyanpei/place4/6_008.png b/src/assets/images/huangyanpei/place4/6_008.png new file mode 100644 index 0000000..1a7ee92 Binary files /dev/null and b/src/assets/images/huangyanpei/place4/6_008.png differ diff --git a/src/assets/images/huangyanpei/place4/6_009.png b/src/assets/images/huangyanpei/place4/6_009.png new file mode 100644 index 0000000..c67f508 Binary files /dev/null and b/src/assets/images/huangyanpei/place4/6_009.png differ diff --git a/src/assets/images/huangyanpei/place4/6_010.png b/src/assets/images/huangyanpei/place4/6_010.png new file mode 100644 index 0000000..a391e74 Binary files /dev/null and b/src/assets/images/huangyanpei/place4/6_010.png differ diff --git a/src/assets/images/huangyanpei/place4/6_6&7.png b/src/assets/images/huangyanpei/place4/6_6&7.png new file mode 100644 index 0000000..24bd934 Binary files /dev/null and b/src/assets/images/huangyanpei/place4/6_6&7.png differ diff --git a/src/assets/images/huangyanpei/place5/7_001.png b/src/assets/images/huangyanpei/place5/7_001.png new file mode 100644 index 0000000..f8613e3 Binary files /dev/null and b/src/assets/images/huangyanpei/place5/7_001.png differ diff --git a/src/assets/images/huangyanpei/place5/7_002.png b/src/assets/images/huangyanpei/place5/7_002.png new file mode 100644 index 0000000..8655a72 Binary files /dev/null and b/src/assets/images/huangyanpei/place5/7_002.png differ diff --git a/src/assets/images/huangyanpei/place5/7_003.png b/src/assets/images/huangyanpei/place5/7_003.png new file mode 100644 index 0000000..41b924a Binary files /dev/null and b/src/assets/images/huangyanpei/place5/7_003.png differ diff --git a/src/assets/images/huangyanpei/place5/7_004.png b/src/assets/images/huangyanpei/place5/7_004.png new file mode 100644 index 0000000..6bf412c Binary files /dev/null and b/src/assets/images/huangyanpei/place5/7_004.png differ diff --git a/src/assets/images/huangyanpei/place6/8_001.png b/src/assets/images/huangyanpei/place6/8_001.png new file mode 100644 index 0000000..3515353 Binary files /dev/null and b/src/assets/images/huangyanpei/place6/8_001.png differ diff --git a/src/assets/images/huangyanpei/place6/8_002.png b/src/assets/images/huangyanpei/place6/8_002.png new file mode 100644 index 0000000..ed4c0dd Binary files /dev/null and b/src/assets/images/huangyanpei/place6/8_002.png differ diff --git a/src/assets/images/huangyanpei/place6/8_003.png b/src/assets/images/huangyanpei/place6/8_003.png new file mode 100644 index 0000000..c1ac867 Binary files /dev/null and b/src/assets/images/huangyanpei/place6/8_003.png differ diff --git a/src/assets/images/huangyanpei/reflection/components/compute.png b/src/assets/images/huangyanpei/reflection/components/compute.png new file mode 100644 index 0000000..71b3175 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/components/compute.png differ diff --git a/src/assets/images/huangyanpei/reflection/components/喇叭1.png b/src/assets/images/huangyanpei/reflection/components/喇叭1.png new file mode 100644 index 0000000..15f91c2 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/components/喇叭1.png differ diff --git a/src/assets/images/huangyanpei/reflection/components/喇叭2.png b/src/assets/images/huangyanpei/reflection/components/喇叭2.png new file mode 100644 index 0000000..52eb95d Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/components/喇叭2.png differ diff --git a/src/assets/images/huangyanpei/reflection/components/题目图.png b/src/assets/images/huangyanpei/reflection/components/题目图.png new file mode 100644 index 0000000..e8622b4 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/components/题目图.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene1/9_001.png b/src/assets/images/huangyanpei/reflection/scene1/9_001.png new file mode 100644 index 0000000..2e211ca Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene1/9_001.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene1/9_0010.png b/src/assets/images/huangyanpei/reflection/scene1/9_0010.png new file mode 100644 index 0000000..f2b0b19 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene1/9_0010.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene1/9_0011.png b/src/assets/images/huangyanpei/reflection/scene1/9_0011.png new file mode 100644 index 0000000..13807e7 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene1/9_0011.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene1/9_0012.png b/src/assets/images/huangyanpei/reflection/scene1/9_0012.png new file mode 100644 index 0000000..6636ec8 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene1/9_0012.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene1/9_0013.png b/src/assets/images/huangyanpei/reflection/scene1/9_0013.png new file mode 100644 index 0000000..6fec10a Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene1/9_0013.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene1/9_0014.png b/src/assets/images/huangyanpei/reflection/scene1/9_0014.png new file mode 100644 index 0000000..aaf25ce Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene1/9_0014.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene1/9_002.png b/src/assets/images/huangyanpei/reflection/scene1/9_002.png new file mode 100644 index 0000000..d8805c6 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene1/9_002.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene1/9_003.png b/src/assets/images/huangyanpei/reflection/scene1/9_003.png new file mode 100644 index 0000000..3f54b5b Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene1/9_003.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene1/9_004.png b/src/assets/images/huangyanpei/reflection/scene1/9_004.png new file mode 100644 index 0000000..70ff64a Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene1/9_004.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene1/9_004_.png b/src/assets/images/huangyanpei/reflection/scene1/9_004_.png new file mode 100644 index 0000000..b2eb1e9 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene1/9_004_.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene1/9_005.png b/src/assets/images/huangyanpei/reflection/scene1/9_005.png new file mode 100644 index 0000000..a69ab1e Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene1/9_005.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene1/9_006.png b/src/assets/images/huangyanpei/reflection/scene1/9_006.png new file mode 100644 index 0000000..cd05405 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene1/9_006.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene1/9_007.png b/src/assets/images/huangyanpei/reflection/scene1/9_007.png new file mode 100644 index 0000000..3a9e36d Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene1/9_007.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene1/9_008.png b/src/assets/images/huangyanpei/reflection/scene1/9_008.png new file mode 100644 index 0000000..70bbcc2 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene1/9_008.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene1/9_009.png b/src/assets/images/huangyanpei/reflection/scene1/9_009.png new file mode 100644 index 0000000..0e47e0c Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene1/9_009.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene1/9btn.png b/src/assets/images/huangyanpei/reflection/scene1/9btn.png new file mode 100644 index 0000000..d44eeb3 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene1/9btn.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene2/10_001.png b/src/assets/images/huangyanpei/reflection/scene2/10_001.png new file mode 100644 index 0000000..901ac3e Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene2/10_001.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene2/10_002.png b/src/assets/images/huangyanpei/reflection/scene2/10_002.png new file mode 100644 index 0000000..593e9ef Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene2/10_002.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene2/10_003.png b/src/assets/images/huangyanpei/reflection/scene2/10_003.png new file mode 100644 index 0000000..b07d616 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene2/10_003.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene2/10_004.png b/src/assets/images/huangyanpei/reflection/scene2/10_004.png new file mode 100644 index 0000000..ec18b79 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene2/10_004.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene2/10_005.png b/src/assets/images/huangyanpei/reflection/scene2/10_005.png new file mode 100644 index 0000000..e4e4f29 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene2/10_005.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene2/10_005_02.png b/src/assets/images/huangyanpei/reflection/scene2/10_005_02.png new file mode 100644 index 0000000..c7fbccd Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene2/10_005_02.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene2/10_006.png b/src/assets/images/huangyanpei/reflection/scene2/10_006.png new file mode 100644 index 0000000..ff0b00b Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene2/10_006.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene2/10_006_02.png b/src/assets/images/huangyanpei/reflection/scene2/10_006_02.png new file mode 100644 index 0000000..b522b9e Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene2/10_006_02.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene2/10_007.png b/src/assets/images/huangyanpei/reflection/scene2/10_007.png new file mode 100644 index 0000000..9f0b8a7 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene2/10_007.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene2/10_007_02.png b/src/assets/images/huangyanpei/reflection/scene2/10_007_02.png new file mode 100644 index 0000000..f2c72d4 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene2/10_007_02.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene2/10_008.png b/src/assets/images/huangyanpei/reflection/scene2/10_008.png new file mode 100644 index 0000000..4de7213 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene2/10_008.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene2/10_008_2.png b/src/assets/images/huangyanpei/reflection/scene2/10_008_2.png new file mode 100644 index 0000000..fc70350 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene2/10_008_2.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene2/10_009.png b/src/assets/images/huangyanpei/reflection/scene2/10_009.png new file mode 100644 index 0000000..c67161d Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene2/10_009.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene2/10_009_02.png b/src/assets/images/huangyanpei/reflection/scene2/10_009_02.png new file mode 100644 index 0000000..093c636 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene2/10_009_02.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene2/10btn.png b/src/assets/images/huangyanpei/reflection/scene2/10btn.png new file mode 100644 index 0000000..c8f4e61 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene2/10btn.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene3/11_001.png b/src/assets/images/huangyanpei/reflection/scene3/11_001.png new file mode 100644 index 0000000..92e35f0 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene3/11_001.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene3/11_002.png b/src/assets/images/huangyanpei/reflection/scene3/11_002.png new file mode 100644 index 0000000..2680473 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene3/11_002.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene3/11_003.png b/src/assets/images/huangyanpei/reflection/scene3/11_003.png new file mode 100644 index 0000000..6d1ed71 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene3/11_003.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene3/11_004.png b/src/assets/images/huangyanpei/reflection/scene3/11_004.png new file mode 100644 index 0000000..d09fb17 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene3/11_004.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene3/11_005.png b/src/assets/images/huangyanpei/reflection/scene3/11_005.png new file mode 100644 index 0000000..399ace0 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene3/11_005.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene3/11_006.png b/src/assets/images/huangyanpei/reflection/scene3/11_006.png new file mode 100644 index 0000000..7870c6c Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene3/11_006.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene3/11_008.png b/src/assets/images/huangyanpei/reflection/scene3/11_008.png new file mode 100644 index 0000000..b159ce1 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene3/11_008.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene3/11_009.png b/src/assets/images/huangyanpei/reflection/scene3/11_009.png new file mode 100644 index 0000000..d5ca065 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene3/11_009.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene3/11_010.png b/src/assets/images/huangyanpei/reflection/scene3/11_010.png new file mode 100644 index 0000000..7e29474 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene3/11_010.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene3/11_010_2.png b/src/assets/images/huangyanpei/reflection/scene3/11_010_2.png new file mode 100644 index 0000000..ee2e7c3 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene3/11_010_2.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene3/11_011.png b/src/assets/images/huangyanpei/reflection/scene3/11_011.png new file mode 100644 index 0000000..472f28d Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene3/11_011.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene3/11_011_2.png b/src/assets/images/huangyanpei/reflection/scene3/11_011_2.png new file mode 100644 index 0000000..828e4bb Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene3/11_011_2.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene3/11_012.png b/src/assets/images/huangyanpei/reflection/scene3/11_012.png new file mode 100644 index 0000000..4527541 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene3/11_012.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene3/11_012_3.png b/src/assets/images/huangyanpei/reflection/scene3/11_012_3.png new file mode 100644 index 0000000..bd33161 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene3/11_012_3.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene3/c.png b/src/assets/images/huangyanpei/reflection/scene3/c.png new file mode 100644 index 0000000..24ed7f3 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene3/c.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene4/12_001.png b/src/assets/images/huangyanpei/reflection/scene4/12_001.png new file mode 100644 index 0000000..65987c1 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene4/12_001.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene4/12_002.png b/src/assets/images/huangyanpei/reflection/scene4/12_002.png new file mode 100644 index 0000000..647945f Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene4/12_002.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene4/12_002_02.png b/src/assets/images/huangyanpei/reflection/scene4/12_002_02.png new file mode 100644 index 0000000..1e3533b Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene4/12_002_02.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene4/12_003.png b/src/assets/images/huangyanpei/reflection/scene4/12_003.png new file mode 100644 index 0000000..021fb2d Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene4/12_003.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene4/12_003_02.png b/src/assets/images/huangyanpei/reflection/scene4/12_003_02.png new file mode 100644 index 0000000..915d225 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene4/12_003_02.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene4/12_004.png b/src/assets/images/huangyanpei/reflection/scene4/12_004.png new file mode 100644 index 0000000..7acb533 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene4/12_004.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene4/12_004_03.png b/src/assets/images/huangyanpei/reflection/scene4/12_004_03.png new file mode 100644 index 0000000..001fe3a Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene4/12_004_03.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene4/12_005.png b/src/assets/images/huangyanpei/reflection/scene4/12_005.png new file mode 100644 index 0000000..372cfeb Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene4/12_005.png differ diff --git a/src/assets/images/huangyanpei/reflection/scene4/12_006.png b/src/assets/images/huangyanpei/reflection/scene4/12_006.png new file mode 100644 index 0000000..abc2795 Binary files /dev/null and b/src/assets/images/huangyanpei/reflection/scene4/12_006.png differ diff --git a/src/assets/images/huangyanpei/背景.png b/src/assets/images/huangyanpei/背景.png new file mode 100644 index 0000000..4f0ee9b Binary files /dev/null and b/src/assets/images/huangyanpei/背景.png differ diff --git a/src/assets/images/luxun/README.md b/src/assets/images/luxun/README.md new file mode 100644 index 0000000..26c6322 --- /dev/null +++ b/src/assets/images/luxun/README.md @@ -0,0 +1,57 @@ +# 鲁迅故居图片文件说明 + +## 文件夹结构已创建完成 + +以下文件夹已创建,请将对应的图片文件放入相应文件夹: + +## 需要的图片文件列表 + +### 1. 首页 +- `鲁迅-首页.png` - 首页背景图(放在 luxun 根目录) + +### 2. place1 - 风雨前夕的思想淬炼(探索鲁迅故居一楼客厅) +- `背景.png` - 场景背景图 +- `展品1.png` - 展品1图片 +- `展品2.png` - 展品2图片 +- `展品3.png` - 展品3图片 +- `展品4.png` - 展品4图片 +- `展品5.png` - 展品5图片 + +### 3. place2 - 杂文集里的匕首与投枪(探索卧室兼书房) +- `背景.png` - 场景背景图 +- `展品1.png` - 展品1图片 +- `展品2.png` - 展品2图片 +- `展品3.png` - 展品3图片 +- `展品4.png` - 展品4图片 + +### 4. place3 - 历史新编中的现实呐喊(探索二楼卧室兼书房) +- `背景.png` - 场景背景图 +- `展品1.png` - 展品1图片 +- `展品2.png` - 展品2图片 +- `展品3.png` - 展品3图片 +- `展品4.png` - 展品4图片 + +### 5. place4 - 为亡友编纂的精神丰碑(探索二楼卧室兼书房的书桌) +- `背景.png` - 场景背景图 +- `展品1.png` - 展品1图片 +- `展品2.png` - 展品2图片 +- `展品3.png` - 展品3图片 + +### 6. place5 - 6平方米的红色庇护所(探索鲁迅故居的客房) +- `背景.png` - 场景背景图 +- `展品1.png` - 展品1图片 +- `展品2.png` - 展品2图片 +- `展品3.png` - 展品3图片 + +### 7. reflection - 体悟模块 +- `底图.png` - 体悟模块背景图 + +### 8. internalization - 内化模块 +- `底图.png` - 内化模块背景图 + +## 注意事项 + +1. 所有图片文件请使用 PNG 格式 +2. 文件名请严格按照上述命名,区分大小写 +3. 入口页的鲁迅图标文件已存在于 `entrance/鲁迅.png` + diff --git a/src/assets/images/luxun/place1/前进.png b/src/assets/images/luxun/place1/前进.png new file mode 100644 index 0000000..e213b8b Binary files /dev/null and b/src/assets/images/luxun/place1/前进.png differ diff --git a/src/assets/images/luxun/place1/完整参考.png b/src/assets/images/luxun/place1/完整参考.png new file mode 100644 index 0000000..f61a6fc Binary files /dev/null and b/src/assets/images/luxun/place1/完整参考.png differ diff --git a/src/assets/images/luxun/place1/展品1.png b/src/assets/images/luxun/place1/展品1.png new file mode 100644 index 0000000..c96b061 Binary files /dev/null and b/src/assets/images/luxun/place1/展品1.png differ diff --git a/src/assets/images/luxun/place1/展品2.png b/src/assets/images/luxun/place1/展品2.png new file mode 100644 index 0000000..b47767f Binary files /dev/null and b/src/assets/images/luxun/place1/展品2.png differ diff --git a/src/assets/images/luxun/place1/背景.png b/src/assets/images/luxun/place1/背景.png new file mode 100644 index 0000000..4304bc5 Binary files /dev/null and b/src/assets/images/luxun/place1/背景.png differ diff --git a/src/assets/images/luxun/place2/前进.png b/src/assets/images/luxun/place2/前进.png new file mode 100644 index 0000000..b45526a Binary files /dev/null and b/src/assets/images/luxun/place2/前进.png differ diff --git a/src/assets/images/luxun/place2/完整参考.png b/src/assets/images/luxun/place2/完整参考.png new file mode 100644 index 0000000..617cf11 Binary files /dev/null and b/src/assets/images/luxun/place2/完整参考.png differ diff --git a/src/assets/images/luxun/place2/展品3.png b/src/assets/images/luxun/place2/展品3.png new file mode 100644 index 0000000..875c22a Binary files /dev/null and b/src/assets/images/luxun/place2/展品3.png differ diff --git a/src/assets/images/luxun/place2/展品4.png b/src/assets/images/luxun/place2/展品4.png new file mode 100644 index 0000000..85bcc63 Binary files /dev/null and b/src/assets/images/luxun/place2/展品4.png differ diff --git a/src/assets/images/luxun/place2/展品5.png b/src/assets/images/luxun/place2/展品5.png new file mode 100644 index 0000000..ce5d38d Binary files /dev/null and b/src/assets/images/luxun/place2/展品5.png differ diff --git a/src/assets/images/luxun/place2/背景.png b/src/assets/images/luxun/place2/背景.png new file mode 100644 index 0000000..336c3ee Binary files /dev/null and b/src/assets/images/luxun/place2/背景.png differ diff --git a/src/assets/images/luxun/place3/10.png b/src/assets/images/luxun/place3/10.png new file mode 100644 index 0000000..00df72b Binary files /dev/null and b/src/assets/images/luxun/place3/10.png differ diff --git a/src/assets/images/luxun/place3/6.png b/src/assets/images/luxun/place3/6.png new file mode 100644 index 0000000..48a79df Binary files /dev/null and b/src/assets/images/luxun/place3/6.png differ diff --git a/src/assets/images/luxun/place3/7.png b/src/assets/images/luxun/place3/7.png new file mode 100644 index 0000000..d8c6532 Binary files /dev/null and b/src/assets/images/luxun/place3/7.png differ diff --git a/src/assets/images/luxun/place3/8.png b/src/assets/images/luxun/place3/8.png new file mode 100644 index 0000000..ee3aa6d Binary files /dev/null and b/src/assets/images/luxun/place3/8.png differ diff --git a/src/assets/images/luxun/place3/9.png b/src/assets/images/luxun/place3/9.png new file mode 100644 index 0000000..f5135db Binary files /dev/null and b/src/assets/images/luxun/place3/9.png differ diff --git a/src/assets/images/luxun/place3/9_1.png b/src/assets/images/luxun/place3/9_1.png new file mode 100644 index 0000000..1574377 Binary files /dev/null and b/src/assets/images/luxun/place3/9_1.png differ diff --git a/src/assets/images/luxun/place3/9_2.png b/src/assets/images/luxun/place3/9_2.png new file mode 100644 index 0000000..34e4f4d Binary files /dev/null and b/src/assets/images/luxun/place3/9_2.png differ diff --git a/src/assets/images/luxun/place3/前进按钮.png b/src/assets/images/luxun/place3/前进按钮.png new file mode 100644 index 0000000..6fd4305 Binary files /dev/null and b/src/assets/images/luxun/place3/前进按钮.png differ diff --git a/src/assets/images/luxun/place3/背景.png b/src/assets/images/luxun/place3/背景.png new file mode 100644 index 0000000..58e3749 Binary files /dev/null and b/src/assets/images/luxun/place3/背景.png differ diff --git a/src/assets/images/luxun/place4/完整参考.png b/src/assets/images/luxun/place4/完整参考.png new file mode 100644 index 0000000..9a7e4a4 Binary files /dev/null and b/src/assets/images/luxun/place4/完整参考.png differ diff --git a/src/assets/images/luxun/place4/展品11.png b/src/assets/images/luxun/place4/展品11.png new file mode 100644 index 0000000..b38c10a Binary files /dev/null and b/src/assets/images/luxun/place4/展品11.png differ diff --git a/src/assets/images/luxun/place4/展品12.png b/src/assets/images/luxun/place4/展品12.png new file mode 100644 index 0000000..f45f426 Binary files /dev/null and b/src/assets/images/luxun/place4/展品12.png differ diff --git a/src/assets/images/luxun/place4/展品13.png b/src/assets/images/luxun/place4/展品13.png new file mode 100644 index 0000000..a714a95 Binary files /dev/null and b/src/assets/images/luxun/place4/展品13.png differ diff --git a/src/assets/images/luxun/place4/离开.png b/src/assets/images/luxun/place4/离开.png new file mode 100644 index 0000000..beb87c2 Binary files /dev/null and b/src/assets/images/luxun/place4/离开.png differ diff --git a/src/assets/images/luxun/place4/背景.png b/src/assets/images/luxun/place4/背景.png new file mode 100644 index 0000000..9bf1405 Binary files /dev/null and b/src/assets/images/luxun/place4/背景.png differ diff --git a/src/assets/images/luxun/reflection/scene1/上海.png b/src/assets/images/luxun/reflection/scene1/上海.png new file mode 100644 index 0000000..6a91fda Binary files /dev/null and b/src/assets/images/luxun/reflection/scene1/上海.png differ diff --git a/src/assets/images/luxun/reflection/scene1/北京.png b/src/assets/images/luxun/reflection/scene1/北京.png new file mode 100644 index 0000000..371ed39 Binary files /dev/null and b/src/assets/images/luxun/reflection/scene1/北京.png differ diff --git a/src/assets/images/luxun/reflection/scene1/厦门.png b/src/assets/images/luxun/reflection/scene1/厦门.png new file mode 100644 index 0000000..29b479c Binary files /dev/null and b/src/assets/images/luxun/reflection/scene1/厦门.png differ diff --git a/src/assets/images/luxun/reflection/scene1/广州.png b/src/assets/images/luxun/reflection/scene1/广州.png new file mode 100644 index 0000000..8b17213 Binary files /dev/null and b/src/assets/images/luxun/reflection/scene1/广州.png differ diff --git a/src/assets/images/luxun/reflection/scene1/底图.png b/src/assets/images/luxun/reflection/scene1/底图.png new file mode 100644 index 0000000..3a52f0d Binary files /dev/null and b/src/assets/images/luxun/reflection/scene1/底图.png differ diff --git a/src/assets/images/luxun/reflection/scene1/效果图1.jpg b/src/assets/images/luxun/reflection/scene1/效果图1.jpg new file mode 100644 index 0000000..8093c01 Binary files /dev/null and b/src/assets/images/luxun/reflection/scene1/效果图1.jpg differ diff --git a/src/assets/images/luxun/reflection/scene1/效果图2.jpg b/src/assets/images/luxun/reflection/scene1/效果图2.jpg new file mode 100644 index 0000000..f3c9bff Binary files /dev/null and b/src/assets/images/luxun/reflection/scene1/效果图2.jpg differ diff --git a/src/assets/images/luxun/reflection/scene1/离开.png b/src/assets/images/luxun/reflection/scene1/离开.png new file mode 100644 index 0000000..1a07f7d Binary files /dev/null and b/src/assets/images/luxun/reflection/scene1/离开.png differ diff --git a/src/assets/images/luxun/reflection/scene1/绍兴.png b/src/assets/images/luxun/reflection/scene1/绍兴.png new file mode 100644 index 0000000..b7ec71d Binary files /dev/null and b/src/assets/images/luxun/reflection/scene1/绍兴.png differ diff --git a/src/assets/images/luxun/reflection/scene1/鲁迅体悟改版点一点.png b/src/assets/images/luxun/reflection/scene1/鲁迅体悟改版点一点.png new file mode 100644 index 0000000..174a5df Binary files /dev/null and b/src/assets/images/luxun/reflection/scene1/鲁迅体悟改版点一点.png differ diff --git a/src/assets/images/luxun/reflection/scene1/鲁迅体悟点一点图标.png b/src/assets/images/luxun/reflection/scene1/鲁迅体悟点一点图标.png new file mode 100644 index 0000000..6644d1b Binary files /dev/null and b/src/assets/images/luxun/reflection/scene1/鲁迅体悟点一点图标.png differ diff --git a/src/assets/images/luxun/reflection/scene2/上海.png b/src/assets/images/luxun/reflection/scene2/上海.png new file mode 100644 index 0000000..6a91fda Binary files /dev/null and b/src/assets/images/luxun/reflection/scene2/上海.png differ diff --git a/src/assets/images/luxun/reflection/scene2/关注底层.png b/src/assets/images/luxun/reflection/scene2/关注底层.png new file mode 100644 index 0000000..b4ac213 Binary files /dev/null and b/src/assets/images/luxun/reflection/scene2/关注底层.png differ diff --git a/src/assets/images/luxun/reflection/scene2/北京.png b/src/assets/images/luxun/reflection/scene2/北京.png new file mode 100644 index 0000000..371ed39 Binary files /dev/null and b/src/assets/images/luxun/reflection/scene2/北京.png differ diff --git a/src/assets/images/luxun/reflection/scene2/厦门.png b/src/assets/images/luxun/reflection/scene2/厦门.png new file mode 100644 index 0000000..29b479c Binary files /dev/null and b/src/assets/images/luxun/reflection/scene2/厦门.png differ diff --git a/src/assets/images/luxun/reflection/scene2/广州.png b/src/assets/images/luxun/reflection/scene2/广州.png new file mode 100644 index 0000000..8b17213 Binary files /dev/null and b/src/assets/images/luxun/reflection/scene2/广州.png differ diff --git a/src/assets/images/luxun/reflection/scene2/底图.png b/src/assets/images/luxun/reflection/scene2/底图.png new file mode 100644 index 0000000..28bc46b Binary files /dev/null and b/src/assets/images/luxun/reflection/scene2/底图.png differ diff --git a/src/assets/images/luxun/reflection/scene2/拖拽-故事新编.png b/src/assets/images/luxun/reflection/scene2/拖拽-故事新编.png new file mode 100644 index 0000000..1e2a79c Binary files /dev/null and b/src/assets/images/luxun/reflection/scene2/拖拽-故事新编.png differ diff --git a/src/assets/images/luxun/reflection/scene2/拖拽-朝花夕拾.png b/src/assets/images/luxun/reflection/scene2/拖拽-朝花夕拾.png new file mode 100644 index 0000000..7c83706 Binary files /dev/null and b/src/assets/images/luxun/reflection/scene2/拖拽-朝花夕拾.png differ diff --git a/src/assets/images/luxun/reflection/scene2/拖拽-润土.png b/src/assets/images/luxun/reflection/scene2/拖拽-润土.png new file mode 100644 index 0000000..f0694e7 Binary files /dev/null and b/src/assets/images/luxun/reflection/scene2/拖拽-润土.png differ diff --git a/src/assets/images/luxun/reflection/scene2/拖拽-百草园到三味书屋.png b/src/assets/images/luxun/reflection/scene2/拖拽-百草园到三味书屋.png new file mode 100644 index 0000000..1255596 Binary files /dev/null and b/src/assets/images/luxun/reflection/scene2/拖拽-百草园到三味书屋.png differ diff --git a/src/assets/images/luxun/reflection/scene2/拖拽-精神胜利法.png b/src/assets/images/luxun/reflection/scene2/拖拽-精神胜利法.png new file mode 100644 index 0000000..bf35b8e Binary files /dev/null and b/src/assets/images/luxun/reflection/scene2/拖拽-精神胜利法.png differ diff --git a/src/assets/images/luxun/reflection/scene2/拖拽-阿Q正传.png b/src/assets/images/luxun/reflection/scene2/拖拽-阿Q正传.png new file mode 100644 index 0000000..4b1ef72 Binary files /dev/null and b/src/assets/images/luxun/reflection/scene2/拖拽-阿Q正传.png differ diff --git a/src/assets/images/luxun/reflection/scene2/效果图1.jpg b/src/assets/images/luxun/reflection/scene2/效果图1.jpg new file mode 100644 index 0000000..1ecf48d Binary files /dev/null and b/src/assets/images/luxun/reflection/scene2/效果图1.jpg differ diff --git a/src/assets/images/luxun/reflection/scene2/效果图2.jpg b/src/assets/images/luxun/reflection/scene2/效果图2.jpg new file mode 100644 index 0000000..256f5bf Binary files /dev/null and b/src/assets/images/luxun/reflection/scene2/效果图2.jpg differ diff --git a/src/assets/images/luxun/reflection/scene2/离开.png b/src/assets/images/luxun/reflection/scene2/离开.png new file mode 100644 index 0000000..1a07f7d Binary files /dev/null and b/src/assets/images/luxun/reflection/scene2/离开.png differ diff --git a/src/assets/images/luxun/reflection/scene2/笔为刀枪.png b/src/assets/images/luxun/reflection/scene2/笔为刀枪.png new file mode 100644 index 0000000..860f550 Binary files /dev/null and b/src/assets/images/luxun/reflection/scene2/笔为刀枪.png differ diff --git a/src/assets/images/luxun/reflection/scene2/绍兴.png b/src/assets/images/luxun/reflection/scene2/绍兴.png new file mode 100644 index 0000000..b7ec71d Binary files /dev/null and b/src/assets/images/luxun/reflection/scene2/绍兴.png differ diff --git a/src/assets/images/luxun/reflection/scene2/鲁迅体悟拖一拖.png b/src/assets/images/luxun/reflection/scene2/鲁迅体悟拖一拖.png new file mode 100644 index 0000000..4d91800 Binary files /dev/null and b/src/assets/images/luxun/reflection/scene2/鲁迅体悟拖一拖.png differ diff --git a/src/assets/images/luxun/reflection/scene2/鲁迅体悟拖一拖图标.png b/src/assets/images/luxun/reflection/scene2/鲁迅体悟拖一拖图标.png new file mode 100644 index 0000000..8240ca7 Binary files /dev/null and b/src/assets/images/luxun/reflection/scene2/鲁迅体悟拖一拖图标.png differ diff --git a/src/assets/images/luxun/reflection/scene2/鲁迅体悟改版点一点.png b/src/assets/images/luxun/reflection/scene2/鲁迅体悟改版点一点.png new file mode 100644 index 0000000..174a5df Binary files /dev/null and b/src/assets/images/luxun/reflection/scene2/鲁迅体悟改版点一点.png differ diff --git a/src/assets/images/luxun/reflection/scene2/鲁迅体悟点一点图标.png b/src/assets/images/luxun/reflection/scene2/鲁迅体悟点一点图标.png new file mode 100644 index 0000000..6644d1b Binary files /dev/null and b/src/assets/images/luxun/reflection/scene2/鲁迅体悟点一点图标.png differ diff --git a/src/assets/images/luxun/reflection/scene3/关注底层.png b/src/assets/images/luxun/reflection/scene3/关注底层.png new file mode 100644 index 0000000..4a7bd48 Binary files /dev/null and b/src/assets/images/luxun/reflection/scene3/关注底层.png differ diff --git a/src/assets/images/luxun/reflection/scene3/北京到厦门.png b/src/assets/images/luxun/reflection/scene3/北京到厦门.png new file mode 100644 index 0000000..58eb0eb Binary files /dev/null and b/src/assets/images/luxun/reflection/scene3/北京到厦门.png differ diff --git a/src/assets/images/luxun/reflection/scene3/厦门广州.png b/src/assets/images/luxun/reflection/scene3/厦门广州.png new file mode 100644 index 0000000..ad245eb Binary files /dev/null and b/src/assets/images/luxun/reflection/scene3/厦门广州.png differ diff --git a/src/assets/images/luxun/reflection/scene3/家国情怀.png b/src/assets/images/luxun/reflection/scene3/家国情怀.png new file mode 100644 index 0000000..e358610 Binary files /dev/null and b/src/assets/images/luxun/reflection/scene3/家国情怀.png differ diff --git a/src/assets/images/luxun/reflection/scene3/家国情怀_.png b/src/assets/images/luxun/reflection/scene3/家国情怀_.png new file mode 100644 index 0000000..2018f93 Binary files /dev/null and b/src/assets/images/luxun/reflection/scene3/家国情怀_.png differ diff --git a/src/assets/images/luxun/reflection/scene3/广州上海.png b/src/assets/images/luxun/reflection/scene3/广州上海.png new file mode 100644 index 0000000..e4ae82b Binary files /dev/null and b/src/assets/images/luxun/reflection/scene3/广州上海.png differ diff --git a/src/assets/images/luxun/reflection/scene3/底图.png b/src/assets/images/luxun/reflection/scene3/底图.png new file mode 100644 index 0000000..05792e6 Binary files /dev/null and b/src/assets/images/luxun/reflection/scene3/底图.png differ diff --git a/src/assets/images/luxun/reflection/scene3/批判现实.png b/src/assets/images/luxun/reflection/scene3/批判现实.png new file mode 100644 index 0000000..940f555 Binary files /dev/null and b/src/assets/images/luxun/reflection/scene3/批判现实.png differ diff --git a/src/assets/images/luxun/reflection/scene3/批判现实_.png b/src/assets/images/luxun/reflection/scene3/批判现实_.png new file mode 100644 index 0000000..87bc386 Binary files /dev/null and b/src/assets/images/luxun/reflection/scene3/批判现实_.png differ diff --git a/src/assets/images/luxun/reflection/scene3/效果图1.jpg b/src/assets/images/luxun/reflection/scene3/效果图1.jpg new file mode 100644 index 0000000..8c67b05 Binary files /dev/null and b/src/assets/images/luxun/reflection/scene3/效果图1.jpg differ diff --git a/src/assets/images/luxun/reflection/scene3/效果图2.jpg b/src/assets/images/luxun/reflection/scene3/效果图2.jpg new file mode 100644 index 0000000..a656879 Binary files /dev/null and b/src/assets/images/luxun/reflection/scene3/效果图2.jpg differ diff --git a/src/assets/images/luxun/reflection/scene3/离开.png b/src/assets/images/luxun/reflection/scene3/离开.png new file mode 100644 index 0000000..1a07f7d Binary files /dev/null and b/src/assets/images/luxun/reflection/scene3/离开.png differ diff --git a/src/assets/images/luxun/reflection/scene3/绍兴到北京.png b/src/assets/images/luxun/reflection/scene3/绍兴到北京.png new file mode 100644 index 0000000..1b6489d Binary files /dev/null and b/src/assets/images/luxun/reflection/scene3/绍兴到北京.png differ diff --git a/src/assets/images/luxun/reflection/scene3/鲁迅1.png b/src/assets/images/luxun/reflection/scene3/鲁迅1.png new file mode 100644 index 0000000..76efcbd Binary files /dev/null and b/src/assets/images/luxun/reflection/scene3/鲁迅1.png differ diff --git a/src/assets/images/luxun/reflection/scene3/鲁迅2.png b/src/assets/images/luxun/reflection/scene3/鲁迅2.png new file mode 100644 index 0000000..a98bee7 Binary files /dev/null and b/src/assets/images/luxun/reflection/scene3/鲁迅2.png differ diff --git a/src/assets/images/luxun/reflection/scene3/鲁迅体悟改版点一点.png b/src/assets/images/luxun/reflection/scene3/鲁迅体悟改版点一点.png new file mode 100644 index 0000000..174a5df Binary files /dev/null and b/src/assets/images/luxun/reflection/scene3/鲁迅体悟改版点一点.png differ diff --git a/src/assets/images/luxun/reflection/scene3/鲁迅体悟点一点图标.png b/src/assets/images/luxun/reflection/scene3/鲁迅体悟点一点图标.png new file mode 100644 index 0000000..6644d1b Binary files /dev/null and b/src/assets/images/luxun/reflection/scene3/鲁迅体悟点一点图标.png differ diff --git a/src/assets/images/luxun/首页.png b/src/assets/images/luxun/首页.png new file mode 100644 index 0000000..9a651e3 Binary files /dev/null and b/src/assets/images/luxun/首页.png differ diff --git a/src/assets/images/maozedong/place1/场景1.png b/src/assets/images/maozedong/place1/场景1.png new file mode 100644 index 0000000..afe1501 Binary files /dev/null and b/src/assets/images/maozedong/place1/场景1.png differ diff --git a/src/assets/images/maozedong/place1/场景1展品1.png b/src/assets/images/maozedong/place1/场景1展品1.png new file mode 100644 index 0000000..c9d1e12 Binary files /dev/null and b/src/assets/images/maozedong/place1/场景1展品1.png differ diff --git a/src/assets/images/maozedong/place1/场景1展品2.png b/src/assets/images/maozedong/place1/场景1展品2.png new file mode 100644 index 0000000..fbeb335 Binary files /dev/null and b/src/assets/images/maozedong/place1/场景1展品2.png differ diff --git a/src/assets/images/maozedong/place1/场景1继续前进.png b/src/assets/images/maozedong/place1/场景1继续前进.png new file mode 100644 index 0000000..9597462 Binary files /dev/null and b/src/assets/images/maozedong/place1/场景1继续前进.png differ diff --git a/src/assets/images/maozedong/place2/场景2.png b/src/assets/images/maozedong/place2/场景2.png new file mode 100644 index 0000000..c3340af Binary files /dev/null and b/src/assets/images/maozedong/place2/场景2.png differ diff --git a/src/assets/images/maozedong/place2/场景2展品1.png b/src/assets/images/maozedong/place2/场景2展品1.png new file mode 100644 index 0000000..74cd251 Binary files /dev/null and b/src/assets/images/maozedong/place2/场景2展品1.png differ diff --git a/src/assets/images/maozedong/place2/场景2展品2.png b/src/assets/images/maozedong/place2/场景2展品2.png new file mode 100644 index 0000000..21fa67d Binary files /dev/null and b/src/assets/images/maozedong/place2/场景2展品2.png differ diff --git a/src/assets/images/maozedong/place3/场景3.png b/src/assets/images/maozedong/place3/场景3.png new file mode 100644 index 0000000..10675f4 Binary files /dev/null and b/src/assets/images/maozedong/place3/场景3.png differ diff --git a/src/assets/images/maozedong/place3/场景3展品1.png b/src/assets/images/maozedong/place3/场景3展品1.png new file mode 100644 index 0000000..9fde2be Binary files /dev/null and b/src/assets/images/maozedong/place3/场景3展品1.png differ diff --git a/src/assets/images/maozedong/place3/场景3展品2.png b/src/assets/images/maozedong/place3/场景3展品2.png new file mode 100644 index 0000000..b7d8d1a Binary files /dev/null and b/src/assets/images/maozedong/place3/场景3展品2.png differ diff --git a/src/assets/images/maozedong/place3/场景3展品3.png b/src/assets/images/maozedong/place3/场景3展品3.png new file mode 100644 index 0000000..14903db Binary files /dev/null and b/src/assets/images/maozedong/place3/场景3展品3.png differ diff --git a/src/assets/images/maozedong/place4/场景4.png b/src/assets/images/maozedong/place4/场景4.png new file mode 100644 index 0000000..582555f Binary files /dev/null and b/src/assets/images/maozedong/place4/场景4.png differ diff --git a/src/assets/images/maozedong/place4/场景4展品1.png b/src/assets/images/maozedong/place4/场景4展品1.png new file mode 100644 index 0000000..f4318d0 Binary files /dev/null and b/src/assets/images/maozedong/place4/场景4展品1.png differ diff --git a/src/assets/images/maozedong/place4/场景4展品2.png b/src/assets/images/maozedong/place4/场景4展品2.png new file mode 100644 index 0000000..d0befcc Binary files /dev/null and b/src/assets/images/maozedong/place4/场景4展品2.png differ diff --git a/src/assets/images/maozedong/place4/场景4展品2_.png b/src/assets/images/maozedong/place4/场景4展品2_.png new file mode 100644 index 0000000..566a63c Binary files /dev/null and b/src/assets/images/maozedong/place4/场景4展品2_.png differ diff --git a/src/assets/images/maozedong/place4/场景4展品3.png b/src/assets/images/maozedong/place4/场景4展品3.png new file mode 100644 index 0000000..6f1327b Binary files /dev/null and b/src/assets/images/maozedong/place4/场景4展品3.png differ diff --git a/src/assets/images/maozedong/place4/场景4展品4.png b/src/assets/images/maozedong/place4/场景4展品4.png new file mode 100644 index 0000000..2137f38 Binary files /dev/null and b/src/assets/images/maozedong/place4/场景4展品4.png differ diff --git a/src/assets/images/maozedong/place4/场景4展品5.png b/src/assets/images/maozedong/place4/场景4展品5.png new file mode 100644 index 0000000..f7ebd85 Binary files /dev/null and b/src/assets/images/maozedong/place4/场景4展品5.png differ diff --git a/src/assets/images/maozedong/place4/场景4展品6.png b/src/assets/images/maozedong/place4/场景4展品6.png new file mode 100644 index 0000000..49f2e39 Binary files /dev/null and b/src/assets/images/maozedong/place4/场景4展品6.png differ diff --git a/src/assets/images/maozedong/毛泽东故居底图.png b/src/assets/images/maozedong/毛泽东故居底图.png new file mode 100644 index 0000000..87fac7d Binary files /dev/null and b/src/assets/images/maozedong/毛泽东故居底图.png differ diff --git a/src/assets/images/menu/学习地图.png b/src/assets/images/menu/学习地图.png new file mode 100644 index 0000000..48726b8 Binary files /dev/null and b/src/assets/images/menu/学习地图.png differ diff --git a/src/assets/images/menu/导航地图.png b/src/assets/images/menu/导航地图.png new file mode 100644 index 0000000..828b381 Binary files /dev/null and b/src/assets/images/menu/导航地图.png differ diff --git a/src/assets/images/menu/故居入口页底图.png b/src/assets/images/menu/故居入口页底图.png new file mode 100644 index 0000000..9271df1 Binary files /dev/null and b/src/assets/images/menu/故居入口页底图.png differ diff --git a/src/assets/images/menu/未探索.png b/src/assets/images/menu/未探索.png new file mode 100644 index 0000000..5f374ee Binary files /dev/null and b/src/assets/images/menu/未探索.png differ diff --git a/src/assets/images/menu/未看完.png b/src/assets/images/menu/未看完.png new file mode 100644 index 0000000..cb2da99 Binary files /dev/null and b/src/assets/images/menu/未看完.png differ diff --git a/src/assets/images/menu/模块-文化名人.png b/src/assets/images/menu/模块-文化名人.png new file mode 100644 index 0000000..7a82de3 Binary files /dev/null and b/src/assets/images/menu/模块-文化名人.png differ diff --git a/src/assets/images/menu/模块-文教名人.png b/src/assets/images/menu/模块-文教名人.png new file mode 100644 index 0000000..aa49a70 Binary files /dev/null and b/src/assets/images/menu/模块-文教名人.png differ diff --git a/src/assets/images/menu/模块-经济巨擘.png b/src/assets/images/menu/模块-经济巨擘.png new file mode 100644 index 0000000..16432e8 Binary files /dev/null and b/src/assets/images/menu/模块-经济巨擘.png differ diff --git a/src/assets/images/menu/模块-艺术名家.png b/src/assets/images/menu/模块-艺术名家.png new file mode 100644 index 0000000..215b486 Binary files /dev/null and b/src/assets/images/menu/模块-艺术名家.png differ diff --git a/src/assets/images/menu/模块-通用.png b/src/assets/images/menu/模块-通用.png new file mode 100644 index 0000000..3460b76 Binary files /dev/null and b/src/assets/images/menu/模块-通用.png differ diff --git a/src/assets/images/menu/模块-革命先驱.png b/src/assets/images/menu/模块-革命先驱.png new file mode 100644 index 0000000..aa3d901 Binary files /dev/null and b/src/assets/images/menu/模块-革命先驱.png differ diff --git a/src/assets/images/menu/首页-返回.png b/src/assets/images/menu/首页-返回.png new file mode 100644 index 0000000..67993f3 Binary files /dev/null and b/src/assets/images/menu/首页-返回.png differ diff --git a/src/assets/images/nieer/place1/场景1.png b/src/assets/images/nieer/place1/场景1.png new file mode 100644 index 0000000..837754d Binary files /dev/null and b/src/assets/images/nieer/place1/场景1.png differ diff --git a/src/assets/images/nieer/place1/场景1展品1.png b/src/assets/images/nieer/place1/场景1展品1.png new file mode 100644 index 0000000..8bee2ae Binary files /dev/null and b/src/assets/images/nieer/place1/场景1展品1.png differ diff --git a/src/assets/images/nieer/place1/场景1展品2.png b/src/assets/images/nieer/place1/场景1展品2.png new file mode 100644 index 0000000..e570438 Binary files /dev/null and b/src/assets/images/nieer/place1/场景1展品2.png differ diff --git a/src/assets/images/nieer/place1/场景1展品3.png b/src/assets/images/nieer/place1/场景1展品3.png new file mode 100644 index 0000000..1d992ef Binary files /dev/null and b/src/assets/images/nieer/place1/场景1展品3.png differ diff --git a/src/assets/images/nieer/place1/继续前进1.png b/src/assets/images/nieer/place1/继续前进1.png new file mode 100644 index 0000000..276da99 Binary files /dev/null and b/src/assets/images/nieer/place1/继续前进1.png differ diff --git a/src/assets/images/nieer/place2/场景2.png b/src/assets/images/nieer/place2/场景2.png new file mode 100644 index 0000000..71eee9c Binary files /dev/null and b/src/assets/images/nieer/place2/场景2.png differ diff --git a/src/assets/images/nieer/place2/场景2展品1.png b/src/assets/images/nieer/place2/场景2展品1.png new file mode 100644 index 0000000..c6cb2f0 Binary files /dev/null and b/src/assets/images/nieer/place2/场景2展品1.png differ diff --git a/src/assets/images/nieer/place2/场景2展品2.png b/src/assets/images/nieer/place2/场景2展品2.png new file mode 100644 index 0000000..bc22989 Binary files /dev/null and b/src/assets/images/nieer/place2/场景2展品2.png differ diff --git a/src/assets/images/nieer/place3/场景3.png b/src/assets/images/nieer/place3/场景3.png new file mode 100644 index 0000000..dbfbd74 Binary files /dev/null and b/src/assets/images/nieer/place3/场景3.png differ diff --git a/src/assets/images/nieer/place3/场景3展品1.png b/src/assets/images/nieer/place3/场景3展品1.png new file mode 100644 index 0000000..922d160 Binary files /dev/null and b/src/assets/images/nieer/place3/场景3展品1.png differ diff --git a/src/assets/images/nieer/place3/场景3展品2.png b/src/assets/images/nieer/place3/场景3展品2.png new file mode 100644 index 0000000..a71adf2 Binary files /dev/null and b/src/assets/images/nieer/place3/场景3展品2.png differ diff --git a/src/assets/images/nieer/place3/场景3展品3.png b/src/assets/images/nieer/place3/场景3展品3.png new file mode 100644 index 0000000..bb589df Binary files /dev/null and b/src/assets/images/nieer/place3/场景3展品3.png differ diff --git a/src/assets/images/nieer/place4/场景4.png b/src/assets/images/nieer/place4/场景4.png new file mode 100644 index 0000000..980bb31 Binary files /dev/null and b/src/assets/images/nieer/place4/场景4.png differ diff --git a/src/assets/images/nieer/place4/场景4展品1.png b/src/assets/images/nieer/place4/场景4展品1.png new file mode 100644 index 0000000..d54c85b Binary files /dev/null and b/src/assets/images/nieer/place4/场景4展品1.png differ diff --git a/src/assets/images/nieer/place4/场景4展品2.png b/src/assets/images/nieer/place4/场景4展品2.png new file mode 100644 index 0000000..86d9ff2 Binary files /dev/null and b/src/assets/images/nieer/place4/场景4展品2.png differ diff --git a/src/assets/images/nieer/place4/继续前进.png b/src/assets/images/nieer/place4/继续前进.png new file mode 100644 index 0000000..81e1b7d Binary files /dev/null and b/src/assets/images/nieer/place4/继续前进.png differ diff --git a/src/assets/images/nieer/place5/场景5.png b/src/assets/images/nieer/place5/场景5.png new file mode 100644 index 0000000..89c5d47 Binary files /dev/null and b/src/assets/images/nieer/place5/场景5.png differ diff --git a/src/assets/images/nieer/place5/场景5展品1.png b/src/assets/images/nieer/place5/场景5展品1.png new file mode 100644 index 0000000..1a18e18 Binary files /dev/null and b/src/assets/images/nieer/place5/场景5展品1.png differ diff --git a/src/assets/images/nieer/place5/场景5展品2.png b/src/assets/images/nieer/place5/场景5展品2.png new file mode 100644 index 0000000..4bdefd8 Binary files /dev/null and b/src/assets/images/nieer/place5/场景5展品2.png differ diff --git a/src/assets/images/nieer/place5/场景5展品3.png b/src/assets/images/nieer/place5/场景5展品3.png new file mode 100644 index 0000000..f14410e Binary files /dev/null and b/src/assets/images/nieer/place5/场景5展品3.png differ diff --git a/src/assets/images/nieer/place6/场景6.png b/src/assets/images/nieer/place6/场景6.png new file mode 100644 index 0000000..394d906 Binary files /dev/null and b/src/assets/images/nieer/place6/场景6.png differ diff --git a/src/assets/images/nieer/place6/场景6展品1.png b/src/assets/images/nieer/place6/场景6展品1.png new file mode 100644 index 0000000..7990999 Binary files /dev/null and b/src/assets/images/nieer/place6/场景6展品1.png differ diff --git a/src/assets/images/nieer/place6/场景6展品2.png b/src/assets/images/nieer/place6/场景6展品2.png new file mode 100644 index 0000000..92622ad Binary files /dev/null and b/src/assets/images/nieer/place6/场景6展品2.png differ diff --git a/src/assets/images/nieer/reflection/lobby/box/旅行箱内置.png b/src/assets/images/nieer/reflection/lobby/box/旅行箱内置.png new file mode 100644 index 0000000..c73d9cc Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/box/旅行箱内置.png differ diff --git a/src/assets/images/nieer/reflection/lobby/box/音符.png b/src/assets/images/nieer/reflection/lobby/box/音符.png new file mode 100644 index 0000000..d81a38c Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/box/音符.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景1交互.png b/src/assets/images/nieer/reflection/lobby/content/场景1交互.png new file mode 100644 index 0000000..eaf22be Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景1交互.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景1内容.png b/src/assets/images/nieer/reflection/lobby/content/场景1内容.png new file mode 100644 index 0000000..fae0a8f Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景1内容.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景2交互.png b/src/assets/images/nieer/reflection/lobby/content/场景2交互.png new file mode 100644 index 0000000..5cd52f7 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景2交互.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景2内容.png b/src/assets/images/nieer/reflection/lobby/content/场景2内容.png new file mode 100644 index 0000000..4d405c4 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景2内容.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景3内容.png b/src/assets/images/nieer/reflection/lobby/content/场景3内容.png new file mode 100644 index 0000000..608579a Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景3内容.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景4交互.png b/src/assets/images/nieer/reflection/lobby/content/场景4交互.png new file mode 100644 index 0000000..76c95e2 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景4交互.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景4内容.png b/src/assets/images/nieer/reflection/lobby/content/场景4内容.png new file mode 100644 index 0000000..505c377 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景4内容.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景5交互可拖拽1.png b/src/assets/images/nieer/reflection/lobby/content/场景5交互可拖拽1.png new file mode 100644 index 0000000..bfb554d Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景5交互可拖拽1.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景5交互可拖拽2.png b/src/assets/images/nieer/reflection/lobby/content/场景5交互可拖拽2.png new file mode 100644 index 0000000..f09ae81 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景5交互可拖拽2.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景5全部反馈.png b/src/assets/images/nieer/reflection/lobby/content/场景5全部反馈.png new file mode 100644 index 0000000..0d13476 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景5全部反馈.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景5内容.png b/src/assets/images/nieer/reflection/lobby/content/场景5内容.png new file mode 100644 index 0000000..57b7325 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景5内容.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景5待交互.png b/src/assets/images/nieer/reflection/lobby/content/场景5待交互.png new file mode 100644 index 0000000..fc214f8 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景5待交互.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景5我制作的明信片.png b/src/assets/images/nieer/reflection/lobby/content/场景5我制作的明信片.png new file mode 100644 index 0000000..3a29507 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景5我制作的明信片.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景5有文字反馈.png b/src/assets/images/nieer/reflection/lobby/content/场景5有文字反馈.png new file mode 100644 index 0000000..2d7fb25 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景5有文字反馈.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景5有飞机反馈.png b/src/assets/images/nieer/reflection/lobby/content/场景5有飞机反馈.png new file mode 100644 index 0000000..03fd33e Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景5有飞机反馈.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景6“东风-5C”液体洲际战略核导弹.png b/src/assets/images/nieer/reflection/lobby/content/场景6“东风-5C”液体洲际战略核导弹.png new file mode 100644 index 0000000..276d4c2 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景6“东风-5C”液体洲际战略核导弹.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景6两栖突击方队.png b/src/assets/images/nieer/reflection/lobby/content/场景6两栖突击方队.png new file mode 100644 index 0000000..19ef223 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景6两栖突击方队.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景6中国人民解放军仪仗方队.png b/src/assets/images/nieer/reflection/lobby/content/场景6中国人民解放军仪仗方队.png new file mode 100644 index 0000000..f6e37ec Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景6中国人民解放军仪仗方队.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景6内容.png b/src/assets/images/nieer/reflection/lobby/content/场景6内容.png new file mode 100644 index 0000000..08b7195 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景6内容.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景6定格底板.png b/src/assets/images/nieer/reflection/lobby/content/场景6定格底板.png new file mode 100644 index 0000000..26ed864 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景6定格底板.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景6文字1.png b/src/assets/images/nieer/reflection/lobby/content/场景6文字1.png new file mode 100644 index 0000000..9aeeee1 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景6文字1.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景6文字2.png b/src/assets/images/nieer/reflection/lobby/content/场景6文字2.png new file mode 100644 index 0000000..a516e42 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景6文字2.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景6文字3.png b/src/assets/images/nieer/reflection/lobby/content/场景6文字3.png new file mode 100644 index 0000000..00b18d9 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景6文字3.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景6文字4.png b/src/assets/images/nieer/reflection/lobby/content/场景6文字4.png new file mode 100644 index 0000000..f2a61c9 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景6文字4.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景6文字5.png b/src/assets/images/nieer/reflection/lobby/content/场景6文字5.png new file mode 100644 index 0000000..88db261 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景6文字5.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景6海上无人作战方队.png b/src/assets/images/nieer/reflection/lobby/content/场景6海上无人作战方队.png new file mode 100644 index 0000000..c9a61c6 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景6海上无人作战方队.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景6火箭军方队.png b/src/assets/images/nieer/reflection/lobby/content/场景6火箭军方队.png new file mode 100644 index 0000000..eb9df63 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景6火箭军方队.png differ diff --git a/src/assets/images/nieer/reflection/lobby/content/场景6空中护旗梯队.png b/src/assets/images/nieer/reflection/lobby/content/场景6空中护旗梯队.png new file mode 100644 index 0000000..7649d86 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/content/场景6空中护旗梯队.png differ diff --git a/src/assets/images/nieer/reflection/lobby/dialog/内容框.png b/src/assets/images/nieer/reflection/lobby/dialog/内容框.png new file mode 100644 index 0000000..4042e26 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/dialog/内容框.png differ diff --git a/src/assets/images/nieer/reflection/lobby/dialog/内容框关闭.png b/src/assets/images/nieer/reflection/lobby/dialog/内容框关闭.png new file mode 100644 index 0000000..045371a Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/dialog/内容框关闭.png differ diff --git a/src/assets/images/nieer/reflection/lobby/dialog/场景交互底板-最后一个.png b/src/assets/images/nieer/reflection/lobby/dialog/场景交互底板-最后一个.png new file mode 100644 index 0000000..cc7f4f6 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/dialog/场景交互底板-最后一个.png differ diff --git a/src/assets/images/nieer/reflection/lobby/dialog/按钮关闭2.png b/src/assets/images/nieer/reflection/lobby/dialog/按钮关闭2.png new file mode 100644 index 0000000..20dd73e Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/dialog/按钮关闭2.png differ diff --git a/src/assets/images/nieer/reflection/lobby/dialog/竖底板.png b/src/assets/images/nieer/reflection/lobby/dialog/竖底板.png new file mode 100644 index 0000000..517da15 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/dialog/竖底板.png differ diff --git a/src/assets/images/nieer/reflection/lobby/footer.png b/src/assets/images/nieer/reflection/lobby/footer.png new file mode 100644 index 0000000..3eb3814 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/footer.png differ diff --git a/src/assets/images/nieer/reflection/lobby/icon/分享.png b/src/assets/images/nieer/reflection/lobby/icon/分享.png new file mode 100644 index 0000000..8ef5dd2 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/icon/分享.png differ diff --git a/src/assets/images/nieer/reflection/lobby/icon/完成.png b/src/assets/images/nieer/reflection/lobby/icon/完成.png new file mode 100644 index 0000000..cb851e2 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/icon/完成.png differ diff --git a/src/assets/images/nieer/reflection/lobby/icon/寄语.png b/src/assets/images/nieer/reflection/lobby/icon/寄语.png new file mode 100644 index 0000000..c5fe3a4 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/icon/寄语.png differ diff --git a/src/assets/images/nieer/reflection/lobby/icon/徽章1.png b/src/assets/images/nieer/reflection/lobby/icon/徽章1.png new file mode 100644 index 0000000..aef5be2 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/icon/徽章1.png differ diff --git a/src/assets/images/nieer/reflection/lobby/icon/徽章2.png b/src/assets/images/nieer/reflection/lobby/icon/徽章2.png new file mode 100644 index 0000000..2cedcac Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/icon/徽章2.png differ diff --git a/src/assets/images/nieer/reflection/lobby/icon/徽章3.png b/src/assets/images/nieer/reflection/lobby/icon/徽章3.png new file mode 100644 index 0000000..6acceb6 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/icon/徽章3.png differ diff --git a/src/assets/images/nieer/reflection/lobby/icon/徽章底板.png b/src/assets/images/nieer/reflection/lobby/icon/徽章底板.png new file mode 100644 index 0000000..ac5250c Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/icon/徽章底板.png differ diff --git a/src/assets/images/nieer/reflection/lobby/icon/旅行箱.png b/src/assets/images/nieer/reflection/lobby/icon/旅行箱.png new file mode 100644 index 0000000..4bc99a2 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/icon/旅行箱.png differ diff --git a/src/assets/images/nieer/reflection/lobby/icon/点击前往.png b/src/assets/images/nieer/reflection/lobby/icon/点击前往.png new file mode 100644 index 0000000..d53f7e4 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/icon/点击前往.png differ diff --git a/src/assets/images/nieer/reflection/lobby/icon/点此寄语留念.png b/src/assets/images/nieer/reflection/lobby/icon/点此寄语留念.png new file mode 100644 index 0000000..d968013 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/icon/点此寄语留念.png differ diff --git a/src/assets/images/nieer/reflection/lobby/menu/唱片.png b/src/assets/images/nieer/reflection/lobby/menu/唱片.png new file mode 100644 index 0000000..c69db5a Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/menu/唱片.png differ diff --git a/src/assets/images/nieer/reflection/lobby/menu/喇叭.png b/src/assets/images/nieer/reflection/lobby/menu/喇叭.png new file mode 100644 index 0000000..92b0dec Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/menu/喇叭.png differ diff --git a/src/assets/images/nieer/reflection/lobby/menu/琴弦.png b/src/assets/images/nieer/reflection/lobby/menu/琴弦.png new file mode 100644 index 0000000..cc3ec75 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/menu/琴弦.png differ diff --git a/src/assets/images/nieer/reflection/lobby/menu/羽毛笔.png b/src/assets/images/nieer/reflection/lobby/menu/羽毛笔.png new file mode 100644 index 0000000..98faa46 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/menu/羽毛笔.png differ diff --git a/src/assets/images/nieer/reflection/lobby/menu/话筒.png b/src/assets/images/nieer/reflection/lobby/menu/话筒.png new file mode 100644 index 0000000..86e88f1 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/menu/话筒.png differ diff --git a/src/assets/images/nieer/reflection/lobby/menu/车.png b/src/assets/images/nieer/reflection/lobby/menu/车.png new file mode 100644 index 0000000..b047441 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/menu/车.png differ diff --git a/src/assets/images/nieer/reflection/lobby/menu/选中光标.png b/src/assets/images/nieer/reflection/lobby/menu/选中光标.png new file mode 100644 index 0000000..27d7411 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/menu/选中光标.png differ diff --git a/src/assets/images/nieer/reflection/lobby/menu/飞机.png b/src/assets/images/nieer/reflection/lobby/menu/飞机.png new file mode 100644 index 0000000..4377d27 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/menu/飞机.png differ diff --git a/src/assets/images/nieer/reflection/lobby/menu/黑白-唱片.png b/src/assets/images/nieer/reflection/lobby/menu/黑白-唱片.png new file mode 100644 index 0000000..370b87e Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/menu/黑白-唱片.png differ diff --git a/src/assets/images/nieer/reflection/lobby/menu/黑白-喇叭.png b/src/assets/images/nieer/reflection/lobby/menu/黑白-喇叭.png new file mode 100644 index 0000000..b8aa5dd Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/menu/黑白-喇叭.png differ diff --git a/src/assets/images/nieer/reflection/lobby/menu/黑白-羽毛.png b/src/assets/images/nieer/reflection/lobby/menu/黑白-羽毛.png new file mode 100644 index 0000000..44e7ad6 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/menu/黑白-羽毛.png differ diff --git a/src/assets/images/nieer/reflection/lobby/menu/黑白-话筒.png b/src/assets/images/nieer/reflection/lobby/menu/黑白-话筒.png new file mode 100644 index 0000000..74c2fc1 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/menu/黑白-话筒.png differ diff --git a/src/assets/images/nieer/reflection/lobby/menu/黑白-车.png b/src/assets/images/nieer/reflection/lobby/menu/黑白-车.png new file mode 100644 index 0000000..3a5a5a8 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/menu/黑白-车.png differ diff --git a/src/assets/images/nieer/reflection/lobby/menu/黑白-飞机.png b/src/assets/images/nieer/reflection/lobby/menu/黑白-飞机.png new file mode 100644 index 0000000..5818aa3 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/menu/黑白-飞机.png differ diff --git a/src/assets/images/nieer/reflection/lobby/piano/弹琴交互1.png b/src/assets/images/nieer/reflection/lobby/piano/弹琴交互1.png new file mode 100644 index 0000000..3b6437d Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/piano/弹琴交互1.png differ diff --git a/src/assets/images/nieer/reflection/lobby/piano/弹琴交互2.png b/src/assets/images/nieer/reflection/lobby/piano/弹琴交互2.png new file mode 100644 index 0000000..dabad6f Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/piano/弹琴交互2.png differ diff --git a/src/assets/images/nieer/reflection/lobby/piano/弹琴交互3.png b/src/assets/images/nieer/reflection/lobby/piano/弹琴交互3.png new file mode 100644 index 0000000..1fd832c Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/piano/弹琴交互3.png differ diff --git a/src/assets/images/nieer/reflection/lobby/piano/弹琴交互4.png b/src/assets/images/nieer/reflection/lobby/piano/弹琴交互4.png new file mode 100644 index 0000000..a375919 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/piano/弹琴交互4.png differ diff --git a/src/assets/images/nieer/reflection/lobby/piano/弹琴交互5.png b/src/assets/images/nieer/reflection/lobby/piano/弹琴交互5.png new file mode 100644 index 0000000..25600b2 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/piano/弹琴交互5.png differ diff --git a/src/assets/images/nieer/reflection/lobby/piano/弹琴交互6.png b/src/assets/images/nieer/reflection/lobby/piano/弹琴交互6.png new file mode 100644 index 0000000..8f48cdb Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/piano/弹琴交互6.png differ diff --git a/src/assets/images/nieer/reflection/lobby/piano/弹琴交互7.png b/src/assets/images/nieer/reflection/lobby/piano/弹琴交互7.png new file mode 100644 index 0000000..cf326bd Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/piano/弹琴交互7.png differ diff --git a/src/assets/images/nieer/reflection/lobby/piano/弹琴交互8.png b/src/assets/images/nieer/reflection/lobby/piano/弹琴交互8.png new file mode 100644 index 0000000..c639de0 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/piano/弹琴交互8.png differ diff --git a/src/assets/images/nieer/reflection/lobby/piano/弹琴交互9.png b/src/assets/images/nieer/reflection/lobby/piano/弹琴交互9.png new file mode 100644 index 0000000..ad1b94c Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/piano/弹琴交互9.png differ diff --git a/src/assets/images/nieer/reflection/lobby/result/聂耳结束场景1.png b/src/assets/images/nieer/reflection/lobby/result/聂耳结束场景1.png new file mode 100644 index 0000000..e0aacf1 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/result/聂耳结束场景1.png differ diff --git a/src/assets/images/nieer/reflection/lobby/result/聂耳结束场景2.png b/src/assets/images/nieer/reflection/lobby/result/聂耳结束场景2.png new file mode 100644 index 0000000..edd4644 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/result/聂耳结束场景2.png differ diff --git a/src/assets/images/nieer/reflection/lobby/result/聂耳结束场景3.png b/src/assets/images/nieer/reflection/lobby/result/聂耳结束场景3.png new file mode 100644 index 0000000..4343948 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/result/聂耳结束场景3.png differ diff --git a/src/assets/images/nieer/reflection/lobby/result/聂耳结束场景4.png b/src/assets/images/nieer/reflection/lobby/result/聂耳结束场景4.png new file mode 100644 index 0000000..8680c54 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/result/聂耳结束场景4.png differ diff --git a/src/assets/images/nieer/reflection/lobby/result/聂耳结束场景5.png b/src/assets/images/nieer/reflection/lobby/result/聂耳结束场景5.png new file mode 100644 index 0000000..a882c3d Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/result/聂耳结束场景5.png differ diff --git a/src/assets/images/nieer/reflection/lobby/result/聂耳结束场景6.png b/src/assets/images/nieer/reflection/lobby/result/聂耳结束场景6.png new file mode 100644 index 0000000..f4cf91a Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/result/聂耳结束场景6.png differ diff --git a/src/assets/images/nieer/reflection/lobby/select/未选中.png b/src/assets/images/nieer/reflection/lobby/select/未选中.png new file mode 100644 index 0000000..409d15d Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/select/未选中.png differ diff --git a/src/assets/images/nieer/reflection/lobby/select/选中.png b/src/assets/images/nieer/reflection/lobby/select/选中.png new file mode 100644 index 0000000..cf7e974 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/select/选中.png differ diff --git a/src/assets/images/nieer/reflection/lobby/上海.png b/src/assets/images/nieer/reflection/lobby/上海.png new file mode 100644 index 0000000..5c3452b Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/上海.png differ diff --git a/src/assets/images/nieer/reflection/lobby/利比亚.png b/src/assets/images/nieer/reflection/lobby/利比亚.png new file mode 100644 index 0000000..ceda374 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/利比亚.png differ diff --git a/src/assets/images/nieer/reflection/lobby/北京.png b/src/assets/images/nieer/reflection/lobby/北京.png new file mode 100644 index 0000000..6f3edb9 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/北京.png differ diff --git a/src/assets/images/nieer/reflection/lobby/场景首页底图.png b/src/assets/images/nieer/reflection/lobby/场景首页底图.png new file mode 100644 index 0000000..fa60d46 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/场景首页底图.png differ diff --git a/src/assets/images/nieer/reflection/lobby/欧洲亚洲.png b/src/assets/images/nieer/reflection/lobby/欧洲亚洲.png new file mode 100644 index 0000000..b03ba08 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/欧洲亚洲.png differ diff --git a/src/assets/images/nieer/reflection/lobby/美国.png b/src/assets/images/nieer/reflection/lobby/美国.png new file mode 100644 index 0000000..d42f5db Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/美国.png differ diff --git a/src/assets/images/nieer/reflection/lobby/贵州.png b/src/assets/images/nieer/reflection/lobby/贵州.png new file mode 100644 index 0000000..7620b85 Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/贵州.png differ diff --git a/src/assets/images/nieer/reflection/lobby/输入.png b/src/assets/images/nieer/reflection/lobby/输入.png new file mode 100644 index 0000000..f6e695a Binary files /dev/null and b/src/assets/images/nieer/reflection/lobby/输入.png differ diff --git a/src/assets/images/nieer/聂耳旧居底图.png b/src/assets/images/nieer/聂耳旧居底图.png new file mode 100644 index 0000000..f77b896 Binary files /dev/null and b/src/assets/images/nieer/聂耳旧居底图.png differ diff --git a/src/assets/images/puzzle/chenyun/1.png b/src/assets/images/puzzle/chenyun/1.png new file mode 100644 index 0000000..3f7f74c Binary files /dev/null and b/src/assets/images/puzzle/chenyun/1.png differ diff --git a/src/assets/images/puzzle/chenyun/10.png b/src/assets/images/puzzle/chenyun/10.png new file mode 100644 index 0000000..ab187e2 Binary files /dev/null and b/src/assets/images/puzzle/chenyun/10.png differ diff --git a/src/assets/images/puzzle/chenyun/11.png b/src/assets/images/puzzle/chenyun/11.png new file mode 100644 index 0000000..fd81f4a Binary files /dev/null and b/src/assets/images/puzzle/chenyun/11.png differ diff --git a/src/assets/images/puzzle/chenyun/12.png b/src/assets/images/puzzle/chenyun/12.png new file mode 100644 index 0000000..56370f4 Binary files /dev/null and b/src/assets/images/puzzle/chenyun/12.png differ diff --git a/src/assets/images/puzzle/chenyun/13.png b/src/assets/images/puzzle/chenyun/13.png new file mode 100644 index 0000000..2a0d181 Binary files /dev/null and b/src/assets/images/puzzle/chenyun/13.png differ diff --git a/src/assets/images/puzzle/chenyun/14.png b/src/assets/images/puzzle/chenyun/14.png new file mode 100644 index 0000000..c336102 Binary files /dev/null and b/src/assets/images/puzzle/chenyun/14.png differ diff --git a/src/assets/images/puzzle/chenyun/15.png b/src/assets/images/puzzle/chenyun/15.png new file mode 100644 index 0000000..0241b23 Binary files /dev/null and b/src/assets/images/puzzle/chenyun/15.png differ diff --git a/src/assets/images/puzzle/chenyun/16.png b/src/assets/images/puzzle/chenyun/16.png new file mode 100644 index 0000000..efacac9 Binary files /dev/null and b/src/assets/images/puzzle/chenyun/16.png differ diff --git a/src/assets/images/puzzle/chenyun/2.png b/src/assets/images/puzzle/chenyun/2.png new file mode 100644 index 0000000..dd78261 Binary files /dev/null and b/src/assets/images/puzzle/chenyun/2.png differ diff --git a/src/assets/images/puzzle/chenyun/3.png b/src/assets/images/puzzle/chenyun/3.png new file mode 100644 index 0000000..4c390a8 Binary files /dev/null and b/src/assets/images/puzzle/chenyun/3.png differ diff --git a/src/assets/images/puzzle/chenyun/4.png b/src/assets/images/puzzle/chenyun/4.png new file mode 100644 index 0000000..bb2f713 Binary files /dev/null and b/src/assets/images/puzzle/chenyun/4.png differ diff --git a/src/assets/images/puzzle/chenyun/5.png b/src/assets/images/puzzle/chenyun/5.png new file mode 100644 index 0000000..692ea1e Binary files /dev/null and b/src/assets/images/puzzle/chenyun/5.png differ diff --git a/src/assets/images/puzzle/chenyun/6.png b/src/assets/images/puzzle/chenyun/6.png new file mode 100644 index 0000000..b1203cf Binary files /dev/null and b/src/assets/images/puzzle/chenyun/6.png differ diff --git a/src/assets/images/puzzle/chenyun/7.png b/src/assets/images/puzzle/chenyun/7.png new file mode 100644 index 0000000..d5b8158 Binary files /dev/null and b/src/assets/images/puzzle/chenyun/7.png differ diff --git a/src/assets/images/puzzle/chenyun/8.png b/src/assets/images/puzzle/chenyun/8.png new file mode 100644 index 0000000..39ccd8f Binary files /dev/null and b/src/assets/images/puzzle/chenyun/8.png differ diff --git a/src/assets/images/puzzle/chenyun/9.png b/src/assets/images/puzzle/chenyun/9.png new file mode 100644 index 0000000..8e7eb7a Binary files /dev/null and b/src/assets/images/puzzle/chenyun/9.png differ diff --git a/src/assets/images/puzzle/chenyun/details/1.png b/src/assets/images/puzzle/chenyun/details/1.png new file mode 100644 index 0000000..e469b47 Binary files /dev/null and b/src/assets/images/puzzle/chenyun/details/1.png differ diff --git a/src/assets/images/puzzle/chenyun/details/10.png b/src/assets/images/puzzle/chenyun/details/10.png new file mode 100644 index 0000000..f6500e2 Binary files /dev/null and b/src/assets/images/puzzle/chenyun/details/10.png differ diff --git a/src/assets/images/puzzle/chenyun/details/11.png b/src/assets/images/puzzle/chenyun/details/11.png new file mode 100644 index 0000000..c295d11 Binary files /dev/null and b/src/assets/images/puzzle/chenyun/details/11.png differ diff --git a/src/assets/images/puzzle/chenyun/details/12.png b/src/assets/images/puzzle/chenyun/details/12.png new file mode 100644 index 0000000..55ddaef Binary files /dev/null and b/src/assets/images/puzzle/chenyun/details/12.png differ diff --git a/src/assets/images/puzzle/chenyun/details/13.png b/src/assets/images/puzzle/chenyun/details/13.png new file mode 100644 index 0000000..2c1a232 Binary files /dev/null and b/src/assets/images/puzzle/chenyun/details/13.png differ diff --git a/src/assets/images/puzzle/chenyun/details/14.png b/src/assets/images/puzzle/chenyun/details/14.png new file mode 100644 index 0000000..d7a1b50 Binary files /dev/null and b/src/assets/images/puzzle/chenyun/details/14.png differ diff --git a/src/assets/images/puzzle/chenyun/details/15.png b/src/assets/images/puzzle/chenyun/details/15.png new file mode 100644 index 0000000..34e4cd2 Binary files /dev/null and b/src/assets/images/puzzle/chenyun/details/15.png differ diff --git a/src/assets/images/puzzle/chenyun/details/16.png b/src/assets/images/puzzle/chenyun/details/16.png new file mode 100644 index 0000000..fea0766 Binary files /dev/null and b/src/assets/images/puzzle/chenyun/details/16.png differ diff --git a/src/assets/images/puzzle/chenyun/details/2.png b/src/assets/images/puzzle/chenyun/details/2.png new file mode 100644 index 0000000..c21dbfd Binary files /dev/null and b/src/assets/images/puzzle/chenyun/details/2.png differ diff --git a/src/assets/images/puzzle/chenyun/details/3.png b/src/assets/images/puzzle/chenyun/details/3.png new file mode 100644 index 0000000..a4f1b0f Binary files /dev/null and b/src/assets/images/puzzle/chenyun/details/3.png differ diff --git a/src/assets/images/puzzle/chenyun/details/4.png b/src/assets/images/puzzle/chenyun/details/4.png new file mode 100644 index 0000000..cdc60ec Binary files /dev/null and b/src/assets/images/puzzle/chenyun/details/4.png differ diff --git a/src/assets/images/puzzle/chenyun/details/5.png b/src/assets/images/puzzle/chenyun/details/5.png new file mode 100644 index 0000000..ac98cdb Binary files /dev/null and b/src/assets/images/puzzle/chenyun/details/5.png differ diff --git a/src/assets/images/puzzle/chenyun/details/6.png b/src/assets/images/puzzle/chenyun/details/6.png new file mode 100644 index 0000000..4f8f5ec Binary files /dev/null and b/src/assets/images/puzzle/chenyun/details/6.png differ diff --git a/src/assets/images/puzzle/chenyun/details/7.png b/src/assets/images/puzzle/chenyun/details/7.png new file mode 100644 index 0000000..34ac806 Binary files /dev/null and b/src/assets/images/puzzle/chenyun/details/7.png differ diff --git a/src/assets/images/puzzle/chenyun/details/8.png b/src/assets/images/puzzle/chenyun/details/8.png new file mode 100644 index 0000000..e0b8e91 Binary files /dev/null and b/src/assets/images/puzzle/chenyun/details/8.png differ diff --git a/src/assets/images/puzzle/chenyun/details/9.png b/src/assets/images/puzzle/chenyun/details/9.png new file mode 100644 index 0000000..830ea8c Binary files /dev/null and b/src/assets/images/puzzle/chenyun/details/9.png differ diff --git a/src/assets/images/puzzle/chenyun/svg/碎片路径.svg b/src/assets/images/puzzle/chenyun/svg/碎片路径.svg new file mode 100644 index 0000000..2ee1020 --- /dev/null +++ b/src/assets/images/puzzle/chenyun/svg/碎片路径.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/puzzle/chenyun/svg/纯色.svg b/src/assets/images/puzzle/chenyun/svg/纯色.svg new file mode 100644 index 0000000..4ba20a3 --- /dev/null +++ b/src/assets/images/puzzle/chenyun/svg/纯色.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/puzzle/chenyun/svg/轮廓.svg b/src/assets/images/puzzle/chenyun/svg/轮廓.svg new file mode 100644 index 0000000..c300b5e --- /dev/null +++ b/src/assets/images/puzzle/chenyun/svg/轮廓.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/puzzle/home/map/孙中山导图.png b/src/assets/images/puzzle/home/map/孙中山导图.png new file mode 100644 index 0000000..c15c0c0 Binary files /dev/null and b/src/assets/images/puzzle/home/map/孙中山导图.png differ diff --git a/src/assets/images/puzzle/home/map/毛泽东导图.png b/src/assets/images/puzzle/home/map/毛泽东导图.png new file mode 100644 index 0000000..64fbaf1 Binary files /dev/null and b/src/assets/images/puzzle/home/map/毛泽东导图.png differ diff --git a/src/assets/images/puzzle/home/map/陈云导图.png b/src/assets/images/puzzle/home/map/陈云导图.png new file mode 100644 index 0000000..e6f8b1d Binary files /dev/null and b/src/assets/images/puzzle/home/map/陈云导图.png differ diff --git a/src/assets/images/puzzle/home/map/鲁迅导图.png b/src/assets/images/puzzle/home/map/鲁迅导图.png new file mode 100644 index 0000000..bdf6076 Binary files /dev/null and b/src/assets/images/puzzle/home/map/鲁迅导图.png differ diff --git a/src/assets/images/puzzle/home/map/黄炎培导图.png b/src/assets/images/puzzle/home/map/黄炎培导图.png new file mode 100644 index 0000000..2356e96 Binary files /dev/null and b/src/assets/images/puzzle/home/map/黄炎培导图.png differ diff --git a/src/assets/images/puzzle/home/孙中山.png b/src/assets/images/puzzle/home/孙中山.png new file mode 100644 index 0000000..04bbd55 Binary files /dev/null and b/src/assets/images/puzzle/home/孙中山.png differ diff --git a/src/assets/images/puzzle/home/导图.png b/src/assets/images/puzzle/home/导图.png new file mode 100644 index 0000000..0075f0f Binary files /dev/null and b/src/assets/images/puzzle/home/导图.png differ diff --git a/src/assets/images/puzzle/home/底图.png b/src/assets/images/puzzle/home/底图.png new file mode 100644 index 0000000..b3083cc Binary files /dev/null and b/src/assets/images/puzzle/home/底图.png differ diff --git a/src/assets/images/puzzle/home/张乐平.png b/src/assets/images/puzzle/home/张乐平.png new file mode 100644 index 0000000..d25a52e Binary files /dev/null and b/src/assets/images/puzzle/home/张乐平.png differ diff --git a/src/assets/images/puzzle/home/拼图.png b/src/assets/images/puzzle/home/拼图.png new file mode 100644 index 0000000..94a4425 Binary files /dev/null and b/src/assets/images/puzzle/home/拼图.png differ diff --git a/src/assets/images/puzzle/home/效果图.png b/src/assets/images/puzzle/home/效果图.png new file mode 100644 index 0000000..c7ab73e Binary files /dev/null and b/src/assets/images/puzzle/home/效果图.png differ diff --git a/src/assets/images/puzzle/home/毛泽东.png b/src/assets/images/puzzle/home/毛泽东.png new file mode 100644 index 0000000..ce7fd91 Binary files /dev/null and b/src/assets/images/puzzle/home/毛泽东.png differ diff --git a/src/assets/images/puzzle/home/箭头指引.png b/src/assets/images/puzzle/home/箭头指引.png new file mode 100644 index 0000000..4068268 Binary files /dev/null and b/src/assets/images/puzzle/home/箭头指引.png differ diff --git a/src/assets/images/puzzle/home/聂耳.png b/src/assets/images/puzzle/home/聂耳.png new file mode 100644 index 0000000..806aeeb Binary files /dev/null and b/src/assets/images/puzzle/home/聂耳.png differ diff --git a/src/assets/images/puzzle/home/荣德生.png b/src/assets/images/puzzle/home/荣德生.png new file mode 100644 index 0000000..ab9b1b4 Binary files /dev/null and b/src/assets/images/puzzle/home/荣德生.png differ diff --git a/src/assets/images/puzzle/home/陈云.png b/src/assets/images/puzzle/home/陈云.png new file mode 100644 index 0000000..efa853f Binary files /dev/null and b/src/assets/images/puzzle/home/陈云.png differ diff --git a/src/assets/images/puzzle/home/鲁迅.png b/src/assets/images/puzzle/home/鲁迅.png new file mode 100644 index 0000000..33d28cd Binary files /dev/null and b/src/assets/images/puzzle/home/鲁迅.png differ diff --git a/src/assets/images/puzzle/home/黄炎培.png b/src/assets/images/puzzle/home/黄炎培.png new file mode 100644 index 0000000..a491e24 Binary files /dev/null and b/src/assets/images/puzzle/home/黄炎培.png differ diff --git a/src/assets/images/puzzle/huangyanpei/1.png b/src/assets/images/puzzle/huangyanpei/1.png new file mode 100644 index 0000000..e433051 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/1.png differ diff --git a/src/assets/images/puzzle/huangyanpei/10.png b/src/assets/images/puzzle/huangyanpei/10.png new file mode 100644 index 0000000..20bbd41 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/10.png differ diff --git a/src/assets/images/puzzle/huangyanpei/11.png b/src/assets/images/puzzle/huangyanpei/11.png new file mode 100644 index 0000000..5029885 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/11.png differ diff --git a/src/assets/images/puzzle/huangyanpei/12.png b/src/assets/images/puzzle/huangyanpei/12.png new file mode 100644 index 0000000..4d1162c Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/12.png differ diff --git a/src/assets/images/puzzle/huangyanpei/13.png b/src/assets/images/puzzle/huangyanpei/13.png new file mode 100644 index 0000000..1782373 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/13.png differ diff --git a/src/assets/images/puzzle/huangyanpei/14.png b/src/assets/images/puzzle/huangyanpei/14.png new file mode 100644 index 0000000..4ed192f Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/14.png differ diff --git a/src/assets/images/puzzle/huangyanpei/15.png b/src/assets/images/puzzle/huangyanpei/15.png new file mode 100644 index 0000000..7838f98 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/15.png differ diff --git a/src/assets/images/puzzle/huangyanpei/16.png b/src/assets/images/puzzle/huangyanpei/16.png new file mode 100644 index 0000000..640bf30 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/16.png differ diff --git a/src/assets/images/puzzle/huangyanpei/2.png b/src/assets/images/puzzle/huangyanpei/2.png new file mode 100644 index 0000000..9bbdc28 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/2.png differ diff --git a/src/assets/images/puzzle/huangyanpei/3.png b/src/assets/images/puzzle/huangyanpei/3.png new file mode 100644 index 0000000..4b83dd3 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/3.png differ diff --git a/src/assets/images/puzzle/huangyanpei/4.png b/src/assets/images/puzzle/huangyanpei/4.png new file mode 100644 index 0000000..00ea71d Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/4.png differ diff --git a/src/assets/images/puzzle/huangyanpei/5.png b/src/assets/images/puzzle/huangyanpei/5.png new file mode 100644 index 0000000..4de42d6 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/5.png differ diff --git a/src/assets/images/puzzle/huangyanpei/6.png b/src/assets/images/puzzle/huangyanpei/6.png new file mode 100644 index 0000000..54ce4a6 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/6.png differ diff --git a/src/assets/images/puzzle/huangyanpei/7.png b/src/assets/images/puzzle/huangyanpei/7.png new file mode 100644 index 0000000..10130c9 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/7.png differ diff --git a/src/assets/images/puzzle/huangyanpei/8.png b/src/assets/images/puzzle/huangyanpei/8.png new file mode 100644 index 0000000..f7fc4c6 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/8.png differ diff --git a/src/assets/images/puzzle/huangyanpei/9.png b/src/assets/images/puzzle/huangyanpei/9.png new file mode 100644 index 0000000..5c14432 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/9.png differ diff --git a/src/assets/images/puzzle/huangyanpei/details/1.png b/src/assets/images/puzzle/huangyanpei/details/1.png new file mode 100644 index 0000000..e89dc18 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/details/1.png differ diff --git a/src/assets/images/puzzle/huangyanpei/details/10.png b/src/assets/images/puzzle/huangyanpei/details/10.png new file mode 100644 index 0000000..f3bc39a Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/details/10.png differ diff --git a/src/assets/images/puzzle/huangyanpei/details/11.png b/src/assets/images/puzzle/huangyanpei/details/11.png new file mode 100644 index 0000000..164a63d Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/details/11.png differ diff --git a/src/assets/images/puzzle/huangyanpei/details/12.png b/src/assets/images/puzzle/huangyanpei/details/12.png new file mode 100644 index 0000000..c31cf57 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/details/12.png differ diff --git a/src/assets/images/puzzle/huangyanpei/details/13.png b/src/assets/images/puzzle/huangyanpei/details/13.png new file mode 100644 index 0000000..74721f6 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/details/13.png differ diff --git a/src/assets/images/puzzle/huangyanpei/details/14.png b/src/assets/images/puzzle/huangyanpei/details/14.png new file mode 100644 index 0000000..dae5571 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/details/14.png differ diff --git a/src/assets/images/puzzle/huangyanpei/details/15.png b/src/assets/images/puzzle/huangyanpei/details/15.png new file mode 100644 index 0000000..85bb180 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/details/15.png differ diff --git a/src/assets/images/puzzle/huangyanpei/details/16.png b/src/assets/images/puzzle/huangyanpei/details/16.png new file mode 100644 index 0000000..a8e00b3 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/details/16.png differ diff --git a/src/assets/images/puzzle/huangyanpei/details/2.png b/src/assets/images/puzzle/huangyanpei/details/2.png new file mode 100644 index 0000000..9035430 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/details/2.png differ diff --git a/src/assets/images/puzzle/huangyanpei/details/3.png b/src/assets/images/puzzle/huangyanpei/details/3.png new file mode 100644 index 0000000..311750a Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/details/3.png differ diff --git a/src/assets/images/puzzle/huangyanpei/details/4.png b/src/assets/images/puzzle/huangyanpei/details/4.png new file mode 100644 index 0000000..340c226 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/details/4.png differ diff --git a/src/assets/images/puzzle/huangyanpei/details/5.png b/src/assets/images/puzzle/huangyanpei/details/5.png new file mode 100644 index 0000000..a39df86 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/details/5.png differ diff --git a/src/assets/images/puzzle/huangyanpei/details/6.png b/src/assets/images/puzzle/huangyanpei/details/6.png new file mode 100644 index 0000000..4397f18 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/details/6.png differ diff --git a/src/assets/images/puzzle/huangyanpei/details/7.png b/src/assets/images/puzzle/huangyanpei/details/7.png new file mode 100644 index 0000000..5e4df1d Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/details/7.png differ diff --git a/src/assets/images/puzzle/huangyanpei/details/8.png b/src/assets/images/puzzle/huangyanpei/details/8.png new file mode 100644 index 0000000..76665ef Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/details/8.png differ diff --git a/src/assets/images/puzzle/huangyanpei/details/9.png b/src/assets/images/puzzle/huangyanpei/details/9.png new file mode 100644 index 0000000..19c4e58 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/details/9.png differ diff --git a/src/assets/images/puzzle/huangyanpei/黄炎培底图垫图.png b/src/assets/images/puzzle/huangyanpei/黄炎培底图垫图.png new file mode 100644 index 0000000..18794c6 Binary files /dev/null and b/src/assets/images/puzzle/huangyanpei/黄炎培底图垫图.png differ diff --git a/src/assets/images/puzzle/luxun/1.png b/src/assets/images/puzzle/luxun/1.png new file mode 100644 index 0000000..cda5858 Binary files /dev/null and b/src/assets/images/puzzle/luxun/1.png differ diff --git a/src/assets/images/puzzle/luxun/10.png b/src/assets/images/puzzle/luxun/10.png new file mode 100644 index 0000000..21aec68 Binary files /dev/null and b/src/assets/images/puzzle/luxun/10.png differ diff --git a/src/assets/images/puzzle/luxun/11.png b/src/assets/images/puzzle/luxun/11.png new file mode 100644 index 0000000..b0b9c55 Binary files /dev/null and b/src/assets/images/puzzle/luxun/11.png differ diff --git a/src/assets/images/puzzle/luxun/12.png b/src/assets/images/puzzle/luxun/12.png new file mode 100644 index 0000000..4721a5b Binary files /dev/null and b/src/assets/images/puzzle/luxun/12.png differ diff --git a/src/assets/images/puzzle/luxun/13.png b/src/assets/images/puzzle/luxun/13.png new file mode 100644 index 0000000..5170ed7 Binary files /dev/null and b/src/assets/images/puzzle/luxun/13.png differ diff --git a/src/assets/images/puzzle/luxun/14.png b/src/assets/images/puzzle/luxun/14.png new file mode 100644 index 0000000..307f53a Binary files /dev/null and b/src/assets/images/puzzle/luxun/14.png differ diff --git a/src/assets/images/puzzle/luxun/15.png b/src/assets/images/puzzle/luxun/15.png new file mode 100644 index 0000000..481406f Binary files /dev/null and b/src/assets/images/puzzle/luxun/15.png differ diff --git a/src/assets/images/puzzle/luxun/16.png b/src/assets/images/puzzle/luxun/16.png new file mode 100644 index 0000000..3e1f8d0 Binary files /dev/null and b/src/assets/images/puzzle/luxun/16.png differ diff --git a/src/assets/images/puzzle/luxun/2.png b/src/assets/images/puzzle/luxun/2.png new file mode 100644 index 0000000..9900c16 Binary files /dev/null and b/src/assets/images/puzzle/luxun/2.png differ diff --git a/src/assets/images/puzzle/luxun/3.png b/src/assets/images/puzzle/luxun/3.png new file mode 100644 index 0000000..f6b4de2 Binary files /dev/null and b/src/assets/images/puzzle/luxun/3.png differ diff --git a/src/assets/images/puzzle/luxun/4.png b/src/assets/images/puzzle/luxun/4.png new file mode 100644 index 0000000..f5e9eb4 Binary files /dev/null and b/src/assets/images/puzzle/luxun/4.png differ diff --git a/src/assets/images/puzzle/luxun/5.png b/src/assets/images/puzzle/luxun/5.png new file mode 100644 index 0000000..9d5edea Binary files /dev/null and b/src/assets/images/puzzle/luxun/5.png differ diff --git a/src/assets/images/puzzle/luxun/6.png b/src/assets/images/puzzle/luxun/6.png new file mode 100644 index 0000000..518662c Binary files /dev/null and b/src/assets/images/puzzle/luxun/6.png differ diff --git a/src/assets/images/puzzle/luxun/7.png b/src/assets/images/puzzle/luxun/7.png new file mode 100644 index 0000000..b5e94c3 Binary files /dev/null and b/src/assets/images/puzzle/luxun/7.png differ diff --git a/src/assets/images/puzzle/luxun/8.png b/src/assets/images/puzzle/luxun/8.png new file mode 100644 index 0000000..e659968 Binary files /dev/null and b/src/assets/images/puzzle/luxun/8.png differ diff --git a/src/assets/images/puzzle/luxun/9.png b/src/assets/images/puzzle/luxun/9.png new file mode 100644 index 0000000..57df4f0 Binary files /dev/null and b/src/assets/images/puzzle/luxun/9.png differ diff --git a/src/assets/images/puzzle/luxun/details/1.png b/src/assets/images/puzzle/luxun/details/1.png new file mode 100644 index 0000000..ed8ea11 Binary files /dev/null and b/src/assets/images/puzzle/luxun/details/1.png differ diff --git a/src/assets/images/puzzle/luxun/details/10.png b/src/assets/images/puzzle/luxun/details/10.png new file mode 100644 index 0000000..b7f5144 Binary files /dev/null and b/src/assets/images/puzzle/luxun/details/10.png differ diff --git a/src/assets/images/puzzle/luxun/details/11.png b/src/assets/images/puzzle/luxun/details/11.png new file mode 100644 index 0000000..92ce03f Binary files /dev/null and b/src/assets/images/puzzle/luxun/details/11.png differ diff --git a/src/assets/images/puzzle/luxun/details/12.png b/src/assets/images/puzzle/luxun/details/12.png new file mode 100644 index 0000000..fa14c08 Binary files /dev/null and b/src/assets/images/puzzle/luxun/details/12.png differ diff --git a/src/assets/images/puzzle/luxun/details/13.png b/src/assets/images/puzzle/luxun/details/13.png new file mode 100644 index 0000000..c364db5 Binary files /dev/null and b/src/assets/images/puzzle/luxun/details/13.png differ diff --git a/src/assets/images/puzzle/luxun/details/14.png b/src/assets/images/puzzle/luxun/details/14.png new file mode 100644 index 0000000..edefbd4 Binary files /dev/null and b/src/assets/images/puzzle/luxun/details/14.png differ diff --git a/src/assets/images/puzzle/luxun/details/15.png b/src/assets/images/puzzle/luxun/details/15.png new file mode 100644 index 0000000..f3fd7ad Binary files /dev/null and b/src/assets/images/puzzle/luxun/details/15.png differ diff --git a/src/assets/images/puzzle/luxun/details/16.png b/src/assets/images/puzzle/luxun/details/16.png new file mode 100644 index 0000000..7b49b1a Binary files /dev/null and b/src/assets/images/puzzle/luxun/details/16.png differ diff --git a/src/assets/images/puzzle/luxun/details/2.png b/src/assets/images/puzzle/luxun/details/2.png new file mode 100644 index 0000000..984d68c Binary files /dev/null and b/src/assets/images/puzzle/luxun/details/2.png differ diff --git a/src/assets/images/puzzle/luxun/details/3.png b/src/assets/images/puzzle/luxun/details/3.png new file mode 100644 index 0000000..39261dc Binary files /dev/null and b/src/assets/images/puzzle/luxun/details/3.png differ diff --git a/src/assets/images/puzzle/luxun/details/4.png b/src/assets/images/puzzle/luxun/details/4.png new file mode 100644 index 0000000..ffe031b Binary files /dev/null and b/src/assets/images/puzzle/luxun/details/4.png differ diff --git a/src/assets/images/puzzle/luxun/details/5.png b/src/assets/images/puzzle/luxun/details/5.png new file mode 100644 index 0000000..1a64d78 Binary files /dev/null and b/src/assets/images/puzzle/luxun/details/5.png differ diff --git a/src/assets/images/puzzle/luxun/details/6.png b/src/assets/images/puzzle/luxun/details/6.png new file mode 100644 index 0000000..774fee5 Binary files /dev/null and b/src/assets/images/puzzle/luxun/details/6.png differ diff --git a/src/assets/images/puzzle/luxun/details/7.png b/src/assets/images/puzzle/luxun/details/7.png new file mode 100644 index 0000000..9391811 Binary files /dev/null and b/src/assets/images/puzzle/luxun/details/7.png differ diff --git a/src/assets/images/puzzle/luxun/details/8.png b/src/assets/images/puzzle/luxun/details/8.png new file mode 100644 index 0000000..146d35f Binary files /dev/null and b/src/assets/images/puzzle/luxun/details/8.png differ diff --git a/src/assets/images/puzzle/luxun/details/9.png b/src/assets/images/puzzle/luxun/details/9.png new file mode 100644 index 0000000..488f8d2 Binary files /dev/null and b/src/assets/images/puzzle/luxun/details/9.png differ diff --git a/src/assets/images/puzzle/luxun/拼成功的底图-鲁迅.png b/src/assets/images/puzzle/luxun/拼成功的底图-鲁迅.png new file mode 100644 index 0000000..5056e62 Binary files /dev/null and b/src/assets/images/puzzle/luxun/拼成功的底图-鲁迅.png differ diff --git a/src/assets/images/puzzle/maozedong/1.png b/src/assets/images/puzzle/maozedong/1.png new file mode 100644 index 0000000..d008e4d Binary files /dev/null and b/src/assets/images/puzzle/maozedong/1.png differ diff --git a/src/assets/images/puzzle/maozedong/10.png b/src/assets/images/puzzle/maozedong/10.png new file mode 100644 index 0000000..cb3432e Binary files /dev/null and b/src/assets/images/puzzle/maozedong/10.png differ diff --git a/src/assets/images/puzzle/maozedong/11.png b/src/assets/images/puzzle/maozedong/11.png new file mode 100644 index 0000000..a07a464 Binary files /dev/null and b/src/assets/images/puzzle/maozedong/11.png differ diff --git a/src/assets/images/puzzle/maozedong/12.png b/src/assets/images/puzzle/maozedong/12.png new file mode 100644 index 0000000..7eac312 Binary files /dev/null and b/src/assets/images/puzzle/maozedong/12.png differ diff --git a/src/assets/images/puzzle/maozedong/13.png b/src/assets/images/puzzle/maozedong/13.png new file mode 100644 index 0000000..056aac9 Binary files /dev/null and b/src/assets/images/puzzle/maozedong/13.png differ diff --git a/src/assets/images/puzzle/maozedong/14.png b/src/assets/images/puzzle/maozedong/14.png new file mode 100644 index 0000000..1d55f46 Binary files /dev/null and b/src/assets/images/puzzle/maozedong/14.png differ diff --git a/src/assets/images/puzzle/maozedong/15.png b/src/assets/images/puzzle/maozedong/15.png new file mode 100644 index 0000000..ebda505 Binary files /dev/null and b/src/assets/images/puzzle/maozedong/15.png differ diff --git a/src/assets/images/puzzle/maozedong/16.png b/src/assets/images/puzzle/maozedong/16.png new file mode 100644 index 0000000..d7e608d Binary files /dev/null and b/src/assets/images/puzzle/maozedong/16.png differ diff --git a/src/assets/images/puzzle/maozedong/2.png b/src/assets/images/puzzle/maozedong/2.png new file mode 100644 index 0000000..d8b7efc Binary files /dev/null and b/src/assets/images/puzzle/maozedong/2.png differ diff --git a/src/assets/images/puzzle/maozedong/3.png b/src/assets/images/puzzle/maozedong/3.png new file mode 100644 index 0000000..f78bfd7 Binary files /dev/null and b/src/assets/images/puzzle/maozedong/3.png differ diff --git a/src/assets/images/puzzle/maozedong/4.png b/src/assets/images/puzzle/maozedong/4.png new file mode 100644 index 0000000..8c9d7d8 Binary files /dev/null and b/src/assets/images/puzzle/maozedong/4.png differ diff --git a/src/assets/images/puzzle/maozedong/5.png b/src/assets/images/puzzle/maozedong/5.png new file mode 100644 index 0000000..25fbac0 Binary files /dev/null and b/src/assets/images/puzzle/maozedong/5.png differ diff --git a/src/assets/images/puzzle/maozedong/6.png b/src/assets/images/puzzle/maozedong/6.png new file mode 100644 index 0000000..f5a5a13 Binary files /dev/null and b/src/assets/images/puzzle/maozedong/6.png differ diff --git a/src/assets/images/puzzle/maozedong/7.png b/src/assets/images/puzzle/maozedong/7.png new file mode 100644 index 0000000..0f88d7f Binary files /dev/null and b/src/assets/images/puzzle/maozedong/7.png differ diff --git a/src/assets/images/puzzle/maozedong/8.png b/src/assets/images/puzzle/maozedong/8.png new file mode 100644 index 0000000..871815d Binary files /dev/null and b/src/assets/images/puzzle/maozedong/8.png differ diff --git a/src/assets/images/puzzle/maozedong/9.png b/src/assets/images/puzzle/maozedong/9.png new file mode 100644 index 0000000..8d34e39 Binary files /dev/null and b/src/assets/images/puzzle/maozedong/9.png differ diff --git a/src/assets/images/puzzle/maozedong/details/1.png b/src/assets/images/puzzle/maozedong/details/1.png new file mode 100644 index 0000000..7c84ba4 Binary files /dev/null and b/src/assets/images/puzzle/maozedong/details/1.png differ diff --git a/src/assets/images/puzzle/maozedong/details/10.png b/src/assets/images/puzzle/maozedong/details/10.png new file mode 100644 index 0000000..a5db6a1 Binary files /dev/null and b/src/assets/images/puzzle/maozedong/details/10.png differ diff --git a/src/assets/images/puzzle/maozedong/details/11.png b/src/assets/images/puzzle/maozedong/details/11.png new file mode 100644 index 0000000..0d568b5 Binary files /dev/null and b/src/assets/images/puzzle/maozedong/details/11.png differ diff --git a/src/assets/images/puzzle/maozedong/details/12.png b/src/assets/images/puzzle/maozedong/details/12.png new file mode 100644 index 0000000..552ade7 Binary files /dev/null and b/src/assets/images/puzzle/maozedong/details/12.png differ diff --git a/src/assets/images/puzzle/maozedong/details/13.png b/src/assets/images/puzzle/maozedong/details/13.png new file mode 100644 index 0000000..b52920c Binary files /dev/null and b/src/assets/images/puzzle/maozedong/details/13.png differ diff --git a/src/assets/images/puzzle/maozedong/details/14.png b/src/assets/images/puzzle/maozedong/details/14.png new file mode 100644 index 0000000..1ebb275 Binary files /dev/null and b/src/assets/images/puzzle/maozedong/details/14.png differ diff --git a/src/assets/images/puzzle/maozedong/details/15.png b/src/assets/images/puzzle/maozedong/details/15.png new file mode 100644 index 0000000..dfab237 Binary files /dev/null and b/src/assets/images/puzzle/maozedong/details/15.png differ diff --git a/src/assets/images/puzzle/maozedong/details/16.png b/src/assets/images/puzzle/maozedong/details/16.png new file mode 100644 index 0000000..1c366fa Binary files /dev/null and b/src/assets/images/puzzle/maozedong/details/16.png differ diff --git a/src/assets/images/puzzle/maozedong/details/2.png b/src/assets/images/puzzle/maozedong/details/2.png new file mode 100644 index 0000000..aa481d5 Binary files /dev/null and b/src/assets/images/puzzle/maozedong/details/2.png differ diff --git a/src/assets/images/puzzle/maozedong/details/3.png b/src/assets/images/puzzle/maozedong/details/3.png new file mode 100644 index 0000000..379294d Binary files /dev/null and b/src/assets/images/puzzle/maozedong/details/3.png differ diff --git a/src/assets/images/puzzle/maozedong/details/4.png b/src/assets/images/puzzle/maozedong/details/4.png new file mode 100644 index 0000000..de0c9e0 Binary files /dev/null and b/src/assets/images/puzzle/maozedong/details/4.png differ diff --git a/src/assets/images/puzzle/maozedong/details/5.png b/src/assets/images/puzzle/maozedong/details/5.png new file mode 100644 index 0000000..f0fb19b Binary files /dev/null and b/src/assets/images/puzzle/maozedong/details/5.png differ diff --git a/src/assets/images/puzzle/maozedong/details/6.png b/src/assets/images/puzzle/maozedong/details/6.png new file mode 100644 index 0000000..16a4ebf Binary files /dev/null and b/src/assets/images/puzzle/maozedong/details/6.png differ diff --git a/src/assets/images/puzzle/maozedong/details/7.png b/src/assets/images/puzzle/maozedong/details/7.png new file mode 100644 index 0000000..ec9f5f4 Binary files /dev/null and b/src/assets/images/puzzle/maozedong/details/7.png differ diff --git a/src/assets/images/puzzle/maozedong/details/8.png b/src/assets/images/puzzle/maozedong/details/8.png new file mode 100644 index 0000000..8e9d2ad Binary files /dev/null and b/src/assets/images/puzzle/maozedong/details/8.png differ diff --git a/src/assets/images/puzzle/maozedong/details/9.png b/src/assets/images/puzzle/maozedong/details/9.png new file mode 100644 index 0000000..7998857 Binary files /dev/null and b/src/assets/images/puzzle/maozedong/details/9.png differ diff --git a/src/assets/images/puzzle/maozedong/毛泽东碎片底图.png b/src/assets/images/puzzle/maozedong/毛泽东碎片底图.png new file mode 100644 index 0000000..3c46f3e Binary files /dev/null and b/src/assets/images/puzzle/maozedong/毛泽东碎片底图.png differ diff --git a/src/assets/images/puzzle/nieer/1.png b/src/assets/images/puzzle/nieer/1.png new file mode 100644 index 0000000..1e6c304 Binary files /dev/null and b/src/assets/images/puzzle/nieer/1.png differ diff --git a/src/assets/images/puzzle/nieer/10.png b/src/assets/images/puzzle/nieer/10.png new file mode 100644 index 0000000..db8af4f Binary files /dev/null and b/src/assets/images/puzzle/nieer/10.png differ diff --git a/src/assets/images/puzzle/nieer/11.png b/src/assets/images/puzzle/nieer/11.png new file mode 100644 index 0000000..f29674e Binary files /dev/null and b/src/assets/images/puzzle/nieer/11.png differ diff --git a/src/assets/images/puzzle/nieer/12.png b/src/assets/images/puzzle/nieer/12.png new file mode 100644 index 0000000..2f41fb4 Binary files /dev/null and b/src/assets/images/puzzle/nieer/12.png differ diff --git a/src/assets/images/puzzle/nieer/13.png b/src/assets/images/puzzle/nieer/13.png new file mode 100644 index 0000000..ff02aed Binary files /dev/null and b/src/assets/images/puzzle/nieer/13.png differ diff --git a/src/assets/images/puzzle/nieer/14.png b/src/assets/images/puzzle/nieer/14.png new file mode 100644 index 0000000..e716110 Binary files /dev/null and b/src/assets/images/puzzle/nieer/14.png differ diff --git a/src/assets/images/puzzle/nieer/15.png b/src/assets/images/puzzle/nieer/15.png new file mode 100644 index 0000000..dbc8669 Binary files /dev/null and b/src/assets/images/puzzle/nieer/15.png differ diff --git a/src/assets/images/puzzle/nieer/16.png b/src/assets/images/puzzle/nieer/16.png new file mode 100644 index 0000000..3f06cfa Binary files /dev/null and b/src/assets/images/puzzle/nieer/16.png differ diff --git a/src/assets/images/puzzle/nieer/2.png b/src/assets/images/puzzle/nieer/2.png new file mode 100644 index 0000000..41eebfd Binary files /dev/null and b/src/assets/images/puzzle/nieer/2.png differ diff --git a/src/assets/images/puzzle/nieer/3.png b/src/assets/images/puzzle/nieer/3.png new file mode 100644 index 0000000..ff6a9bd Binary files /dev/null and b/src/assets/images/puzzle/nieer/3.png differ diff --git a/src/assets/images/puzzle/nieer/4.png b/src/assets/images/puzzle/nieer/4.png new file mode 100644 index 0000000..9a88b80 Binary files /dev/null and b/src/assets/images/puzzle/nieer/4.png differ diff --git a/src/assets/images/puzzle/nieer/5.png b/src/assets/images/puzzle/nieer/5.png new file mode 100644 index 0000000..b6d619b Binary files /dev/null and b/src/assets/images/puzzle/nieer/5.png differ diff --git a/src/assets/images/puzzle/nieer/6.png b/src/assets/images/puzzle/nieer/6.png new file mode 100644 index 0000000..44bfdde Binary files /dev/null and b/src/assets/images/puzzle/nieer/6.png differ diff --git a/src/assets/images/puzzle/nieer/7.png b/src/assets/images/puzzle/nieer/7.png new file mode 100644 index 0000000..ea77e10 Binary files /dev/null and b/src/assets/images/puzzle/nieer/7.png differ diff --git a/src/assets/images/puzzle/nieer/8.png b/src/assets/images/puzzle/nieer/8.png new file mode 100644 index 0000000..53b017e Binary files /dev/null and b/src/assets/images/puzzle/nieer/8.png differ diff --git a/src/assets/images/puzzle/nieer/9.png b/src/assets/images/puzzle/nieer/9.png new file mode 100644 index 0000000..a283129 Binary files /dev/null and b/src/assets/images/puzzle/nieer/9.png differ diff --git a/src/assets/images/puzzle/nieer/details/1.png b/src/assets/images/puzzle/nieer/details/1.png new file mode 100644 index 0000000..218822c Binary files /dev/null and b/src/assets/images/puzzle/nieer/details/1.png differ diff --git a/src/assets/images/puzzle/nieer/details/10.png b/src/assets/images/puzzle/nieer/details/10.png new file mode 100644 index 0000000..59e7a6a Binary files /dev/null and b/src/assets/images/puzzle/nieer/details/10.png differ diff --git a/src/assets/images/puzzle/nieer/details/11.png b/src/assets/images/puzzle/nieer/details/11.png new file mode 100644 index 0000000..5881483 Binary files /dev/null and b/src/assets/images/puzzle/nieer/details/11.png differ diff --git a/src/assets/images/puzzle/nieer/details/12.png b/src/assets/images/puzzle/nieer/details/12.png new file mode 100644 index 0000000..05f20fa Binary files /dev/null and b/src/assets/images/puzzle/nieer/details/12.png differ diff --git a/src/assets/images/puzzle/nieer/details/13.png b/src/assets/images/puzzle/nieer/details/13.png new file mode 100644 index 0000000..3b80847 Binary files /dev/null and b/src/assets/images/puzzle/nieer/details/13.png differ diff --git a/src/assets/images/puzzle/nieer/details/14.png b/src/assets/images/puzzle/nieer/details/14.png new file mode 100644 index 0000000..55190fa Binary files /dev/null and b/src/assets/images/puzzle/nieer/details/14.png differ diff --git a/src/assets/images/puzzle/nieer/details/15.png b/src/assets/images/puzzle/nieer/details/15.png new file mode 100644 index 0000000..486f529 Binary files /dev/null and b/src/assets/images/puzzle/nieer/details/15.png differ diff --git a/src/assets/images/puzzle/nieer/details/16.png b/src/assets/images/puzzle/nieer/details/16.png new file mode 100644 index 0000000..4305bc0 Binary files /dev/null and b/src/assets/images/puzzle/nieer/details/16.png differ diff --git a/src/assets/images/puzzle/nieer/details/2.png b/src/assets/images/puzzle/nieer/details/2.png new file mode 100644 index 0000000..5f0dad2 Binary files /dev/null and b/src/assets/images/puzzle/nieer/details/2.png differ diff --git a/src/assets/images/puzzle/nieer/details/3.png b/src/assets/images/puzzle/nieer/details/3.png new file mode 100644 index 0000000..997eafa Binary files /dev/null and b/src/assets/images/puzzle/nieer/details/3.png differ diff --git a/src/assets/images/puzzle/nieer/details/4.png b/src/assets/images/puzzle/nieer/details/4.png new file mode 100644 index 0000000..42320b9 Binary files /dev/null and b/src/assets/images/puzzle/nieer/details/4.png differ diff --git a/src/assets/images/puzzle/nieer/details/5.png b/src/assets/images/puzzle/nieer/details/5.png new file mode 100644 index 0000000..15ad3fe Binary files /dev/null and b/src/assets/images/puzzle/nieer/details/5.png differ diff --git a/src/assets/images/puzzle/nieer/details/6.png b/src/assets/images/puzzle/nieer/details/6.png new file mode 100644 index 0000000..1994a5b Binary files /dev/null and b/src/assets/images/puzzle/nieer/details/6.png differ diff --git a/src/assets/images/puzzle/nieer/details/7.png b/src/assets/images/puzzle/nieer/details/7.png new file mode 100644 index 0000000..0c7c3ef Binary files /dev/null and b/src/assets/images/puzzle/nieer/details/7.png differ diff --git a/src/assets/images/puzzle/nieer/details/8.png b/src/assets/images/puzzle/nieer/details/8.png new file mode 100644 index 0000000..30412bd Binary files /dev/null and b/src/assets/images/puzzle/nieer/details/8.png differ diff --git a/src/assets/images/puzzle/nieer/details/9.png b/src/assets/images/puzzle/nieer/details/9.png new file mode 100644 index 0000000..0e35376 Binary files /dev/null and b/src/assets/images/puzzle/nieer/details/9.png differ diff --git a/src/assets/images/puzzle/nieer/聂耳碎片底图.png b/src/assets/images/puzzle/nieer/聂耳碎片底图.png new file mode 100644 index 0000000..1f3006a Binary files /dev/null and b/src/assets/images/puzzle/nieer/聂耳碎片底图.png differ diff --git a/src/assets/images/puzzle/rongdesheng/1.png b/src/assets/images/puzzle/rongdesheng/1.png new file mode 100644 index 0000000..10cc5ef Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/1.png differ diff --git a/src/assets/images/puzzle/rongdesheng/10.png b/src/assets/images/puzzle/rongdesheng/10.png new file mode 100644 index 0000000..0c49d47 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/10.png differ diff --git a/src/assets/images/puzzle/rongdesheng/11.png b/src/assets/images/puzzle/rongdesheng/11.png new file mode 100644 index 0000000..8e2eb08 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/11.png differ diff --git a/src/assets/images/puzzle/rongdesheng/12.png b/src/assets/images/puzzle/rongdesheng/12.png new file mode 100644 index 0000000..9f7cef6 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/12.png differ diff --git a/src/assets/images/puzzle/rongdesheng/13.png b/src/assets/images/puzzle/rongdesheng/13.png new file mode 100644 index 0000000..1bc34b7 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/13.png differ diff --git a/src/assets/images/puzzle/rongdesheng/14.png b/src/assets/images/puzzle/rongdesheng/14.png new file mode 100644 index 0000000..8f820ff Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/14.png differ diff --git a/src/assets/images/puzzle/rongdesheng/15.png b/src/assets/images/puzzle/rongdesheng/15.png new file mode 100644 index 0000000..6f03493 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/15.png differ diff --git a/src/assets/images/puzzle/rongdesheng/16.png b/src/assets/images/puzzle/rongdesheng/16.png new file mode 100644 index 0000000..f7d1146 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/16.png differ diff --git a/src/assets/images/puzzle/rongdesheng/2.png b/src/assets/images/puzzle/rongdesheng/2.png new file mode 100644 index 0000000..19a86a9 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/2.png differ diff --git a/src/assets/images/puzzle/rongdesheng/3.png b/src/assets/images/puzzle/rongdesheng/3.png new file mode 100644 index 0000000..54599fe Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/3.png differ diff --git a/src/assets/images/puzzle/rongdesheng/4.png b/src/assets/images/puzzle/rongdesheng/4.png new file mode 100644 index 0000000..b0a2b27 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/4.png differ diff --git a/src/assets/images/puzzle/rongdesheng/5.png b/src/assets/images/puzzle/rongdesheng/5.png new file mode 100644 index 0000000..1a04468 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/5.png differ diff --git a/src/assets/images/puzzle/rongdesheng/6.png b/src/assets/images/puzzle/rongdesheng/6.png new file mode 100644 index 0000000..aa90a0f Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/6.png differ diff --git a/src/assets/images/puzzle/rongdesheng/7.png b/src/assets/images/puzzle/rongdesheng/7.png new file mode 100644 index 0000000..ed80be4 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/7.png differ diff --git a/src/assets/images/puzzle/rongdesheng/8.png b/src/assets/images/puzzle/rongdesheng/8.png new file mode 100644 index 0000000..5e2d8b7 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/8.png differ diff --git a/src/assets/images/puzzle/rongdesheng/9.png b/src/assets/images/puzzle/rongdesheng/9.png new file mode 100644 index 0000000..9a50c5b Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/9.png differ diff --git a/src/assets/images/puzzle/rongdesheng/details/1.png b/src/assets/images/puzzle/rongdesheng/details/1.png new file mode 100644 index 0000000..6138b7b Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/details/1.png differ diff --git a/src/assets/images/puzzle/rongdesheng/details/10.png b/src/assets/images/puzzle/rongdesheng/details/10.png new file mode 100644 index 0000000..39f04bc Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/details/10.png differ diff --git a/src/assets/images/puzzle/rongdesheng/details/11.png b/src/assets/images/puzzle/rongdesheng/details/11.png new file mode 100644 index 0000000..b59f005 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/details/11.png differ diff --git a/src/assets/images/puzzle/rongdesheng/details/12.png b/src/assets/images/puzzle/rongdesheng/details/12.png new file mode 100644 index 0000000..c8856d9 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/details/12.png differ diff --git a/src/assets/images/puzzle/rongdesheng/details/13.png b/src/assets/images/puzzle/rongdesheng/details/13.png new file mode 100644 index 0000000..6bee422 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/details/13.png differ diff --git a/src/assets/images/puzzle/rongdesheng/details/14.png b/src/assets/images/puzzle/rongdesheng/details/14.png new file mode 100644 index 0000000..a246cc4 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/details/14.png differ diff --git a/src/assets/images/puzzle/rongdesheng/details/15.png b/src/assets/images/puzzle/rongdesheng/details/15.png new file mode 100644 index 0000000..f598cdc Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/details/15.png differ diff --git a/src/assets/images/puzzle/rongdesheng/details/16.png b/src/assets/images/puzzle/rongdesheng/details/16.png new file mode 100644 index 0000000..d308ff9 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/details/16.png differ diff --git a/src/assets/images/puzzle/rongdesheng/details/2.png b/src/assets/images/puzzle/rongdesheng/details/2.png new file mode 100644 index 0000000..0f047e3 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/details/2.png differ diff --git a/src/assets/images/puzzle/rongdesheng/details/3.png b/src/assets/images/puzzle/rongdesheng/details/3.png new file mode 100644 index 0000000..e645840 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/details/3.png differ diff --git a/src/assets/images/puzzle/rongdesheng/details/4.png b/src/assets/images/puzzle/rongdesheng/details/4.png new file mode 100644 index 0000000..4ef7a86 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/details/4.png differ diff --git a/src/assets/images/puzzle/rongdesheng/details/5.png b/src/assets/images/puzzle/rongdesheng/details/5.png new file mode 100644 index 0000000..ca63cf2 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/details/5.png differ diff --git a/src/assets/images/puzzle/rongdesheng/details/6.png b/src/assets/images/puzzle/rongdesheng/details/6.png new file mode 100644 index 0000000..5592266 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/details/6.png differ diff --git a/src/assets/images/puzzle/rongdesheng/details/7.png b/src/assets/images/puzzle/rongdesheng/details/7.png new file mode 100644 index 0000000..88cfbf9 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/details/7.png differ diff --git a/src/assets/images/puzzle/rongdesheng/details/8.png b/src/assets/images/puzzle/rongdesheng/details/8.png new file mode 100644 index 0000000..593f558 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/details/8.png differ diff --git a/src/assets/images/puzzle/rongdesheng/details/9.png b/src/assets/images/puzzle/rongdesheng/details/9.png new file mode 100644 index 0000000..91d7cb0 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/details/9.png differ diff --git a/src/assets/images/puzzle/rongdesheng/碎片底图.png b/src/assets/images/puzzle/rongdesheng/碎片底图.png new file mode 100644 index 0000000..8206d31 Binary files /dev/null and b/src/assets/images/puzzle/rongdesheng/碎片底图.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/1.png b/src/assets/images/puzzle/sunzhongshan/1.png new file mode 100644 index 0000000..1232391 Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/1.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/10.png b/src/assets/images/puzzle/sunzhongshan/10.png new file mode 100644 index 0000000..8732356 Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/10.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/11.png b/src/assets/images/puzzle/sunzhongshan/11.png new file mode 100644 index 0000000..c534430 Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/11.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/12.png b/src/assets/images/puzzle/sunzhongshan/12.png new file mode 100644 index 0000000..e746ca0 Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/12.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/13.png b/src/assets/images/puzzle/sunzhongshan/13.png new file mode 100644 index 0000000..6c5d50f Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/13.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/14.png b/src/assets/images/puzzle/sunzhongshan/14.png new file mode 100644 index 0000000..706ab05 Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/14.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/15.png b/src/assets/images/puzzle/sunzhongshan/15.png new file mode 100644 index 0000000..618b459 Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/15.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/16.png b/src/assets/images/puzzle/sunzhongshan/16.png new file mode 100644 index 0000000..ba462ee Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/16.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/2.png b/src/assets/images/puzzle/sunzhongshan/2.png new file mode 100644 index 0000000..8bbc135 Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/2.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/3.png b/src/assets/images/puzzle/sunzhongshan/3.png new file mode 100644 index 0000000..731d5f3 Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/3.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/4.png b/src/assets/images/puzzle/sunzhongshan/4.png new file mode 100644 index 0000000..21ce039 Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/4.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/5.png b/src/assets/images/puzzle/sunzhongshan/5.png new file mode 100644 index 0000000..446bae2 Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/5.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/6.png b/src/assets/images/puzzle/sunzhongshan/6.png new file mode 100644 index 0000000..4f68f7c Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/6.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/7.png b/src/assets/images/puzzle/sunzhongshan/7.png new file mode 100644 index 0000000..bc30509 Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/7.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/8.png b/src/assets/images/puzzle/sunzhongshan/8.png new file mode 100644 index 0000000..7957cce Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/8.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/9.png b/src/assets/images/puzzle/sunzhongshan/9.png new file mode 100644 index 0000000..d3d9196 Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/9.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/details/1.png b/src/assets/images/puzzle/sunzhongshan/details/1.png new file mode 100644 index 0000000..ae4016f Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/details/1.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/details/10.png b/src/assets/images/puzzle/sunzhongshan/details/10.png new file mode 100644 index 0000000..ca4c383 Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/details/10.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/details/11.png b/src/assets/images/puzzle/sunzhongshan/details/11.png new file mode 100644 index 0000000..28ddc9a Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/details/11.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/details/12.png b/src/assets/images/puzzle/sunzhongshan/details/12.png new file mode 100644 index 0000000..6d2c17e Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/details/12.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/details/13.png b/src/assets/images/puzzle/sunzhongshan/details/13.png new file mode 100644 index 0000000..9b9947a Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/details/13.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/details/14.png b/src/assets/images/puzzle/sunzhongshan/details/14.png new file mode 100644 index 0000000..4ebec90 Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/details/14.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/details/15.png b/src/assets/images/puzzle/sunzhongshan/details/15.png new file mode 100644 index 0000000..a71ca6e Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/details/15.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/details/16.png b/src/assets/images/puzzle/sunzhongshan/details/16.png new file mode 100644 index 0000000..f98bc63 Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/details/16.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/details/2.png b/src/assets/images/puzzle/sunzhongshan/details/2.png new file mode 100644 index 0000000..ddd6ca1 Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/details/2.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/details/3.png b/src/assets/images/puzzle/sunzhongshan/details/3.png new file mode 100644 index 0000000..ba28057 Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/details/3.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/details/4.png b/src/assets/images/puzzle/sunzhongshan/details/4.png new file mode 100644 index 0000000..76505ef Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/details/4.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/details/5.png b/src/assets/images/puzzle/sunzhongshan/details/5.png new file mode 100644 index 0000000..ea138d9 Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/details/5.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/details/6.png b/src/assets/images/puzzle/sunzhongshan/details/6.png new file mode 100644 index 0000000..5770e87 Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/details/6.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/details/7.png b/src/assets/images/puzzle/sunzhongshan/details/7.png new file mode 100644 index 0000000..0eb8590 Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/details/7.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/details/8.png b/src/assets/images/puzzle/sunzhongshan/details/8.png new file mode 100644 index 0000000..d9a1de2 Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/details/8.png differ diff --git a/src/assets/images/puzzle/sunzhongshan/details/9.png b/src/assets/images/puzzle/sunzhongshan/details/9.png new file mode 100644 index 0000000..4d4401f Binary files /dev/null and b/src/assets/images/puzzle/sunzhongshan/details/9.png differ diff --git a/src/assets/images/puzzle/zhangleping/1.png b/src/assets/images/puzzle/zhangleping/1.png new file mode 100644 index 0000000..c0586da Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/1.png differ diff --git a/src/assets/images/puzzle/zhangleping/10.png b/src/assets/images/puzzle/zhangleping/10.png new file mode 100644 index 0000000..62183f9 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/10.png differ diff --git a/src/assets/images/puzzle/zhangleping/11.png b/src/assets/images/puzzle/zhangleping/11.png new file mode 100644 index 0000000..84ca105 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/11.png differ diff --git a/src/assets/images/puzzle/zhangleping/12.png b/src/assets/images/puzzle/zhangleping/12.png new file mode 100644 index 0000000..3b905f2 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/12.png differ diff --git a/src/assets/images/puzzle/zhangleping/13.png b/src/assets/images/puzzle/zhangleping/13.png new file mode 100644 index 0000000..afe5687 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/13.png differ diff --git a/src/assets/images/puzzle/zhangleping/14.png b/src/assets/images/puzzle/zhangleping/14.png new file mode 100644 index 0000000..8059891 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/14.png differ diff --git a/src/assets/images/puzzle/zhangleping/15.png b/src/assets/images/puzzle/zhangleping/15.png new file mode 100644 index 0000000..baa7cf9 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/15.png differ diff --git a/src/assets/images/puzzle/zhangleping/16.png b/src/assets/images/puzzle/zhangleping/16.png new file mode 100644 index 0000000..37aeb51 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/16.png differ diff --git a/src/assets/images/puzzle/zhangleping/2.png b/src/assets/images/puzzle/zhangleping/2.png new file mode 100644 index 0000000..38be0de Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/2.png differ diff --git a/src/assets/images/puzzle/zhangleping/3.png b/src/assets/images/puzzle/zhangleping/3.png new file mode 100644 index 0000000..4df353a Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/3.png differ diff --git a/src/assets/images/puzzle/zhangleping/4.png b/src/assets/images/puzzle/zhangleping/4.png new file mode 100644 index 0000000..e20d7a7 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/4.png differ diff --git a/src/assets/images/puzzle/zhangleping/5.png b/src/assets/images/puzzle/zhangleping/5.png new file mode 100644 index 0000000..aabc8dc Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/5.png differ diff --git a/src/assets/images/puzzle/zhangleping/6.png b/src/assets/images/puzzle/zhangleping/6.png new file mode 100644 index 0000000..eccb9e1 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/6.png differ diff --git a/src/assets/images/puzzle/zhangleping/7.png b/src/assets/images/puzzle/zhangleping/7.png new file mode 100644 index 0000000..a53fdb8 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/7.png differ diff --git a/src/assets/images/puzzle/zhangleping/8.png b/src/assets/images/puzzle/zhangleping/8.png new file mode 100644 index 0000000..e4f6e69 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/8.png differ diff --git a/src/assets/images/puzzle/zhangleping/9.png b/src/assets/images/puzzle/zhangleping/9.png new file mode 100644 index 0000000..0675e8a Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/9.png differ diff --git a/src/assets/images/puzzle/zhangleping/details/1.png b/src/assets/images/puzzle/zhangleping/details/1.png new file mode 100644 index 0000000..65024a2 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/details/1.png differ diff --git a/src/assets/images/puzzle/zhangleping/details/10.png b/src/assets/images/puzzle/zhangleping/details/10.png new file mode 100644 index 0000000..bf00afe Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/details/10.png differ diff --git a/src/assets/images/puzzle/zhangleping/details/11.png b/src/assets/images/puzzle/zhangleping/details/11.png new file mode 100644 index 0000000..b3f289c Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/details/11.png differ diff --git a/src/assets/images/puzzle/zhangleping/details/12.png b/src/assets/images/puzzle/zhangleping/details/12.png new file mode 100644 index 0000000..30877e9 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/details/12.png differ diff --git a/src/assets/images/puzzle/zhangleping/details/13.png b/src/assets/images/puzzle/zhangleping/details/13.png new file mode 100644 index 0000000..82dd733 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/details/13.png differ diff --git a/src/assets/images/puzzle/zhangleping/details/14.png b/src/assets/images/puzzle/zhangleping/details/14.png new file mode 100644 index 0000000..34332d7 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/details/14.png differ diff --git a/src/assets/images/puzzle/zhangleping/details/15.png b/src/assets/images/puzzle/zhangleping/details/15.png new file mode 100644 index 0000000..7479447 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/details/15.png differ diff --git a/src/assets/images/puzzle/zhangleping/details/16.png b/src/assets/images/puzzle/zhangleping/details/16.png new file mode 100644 index 0000000..24d8f3d Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/details/16.png differ diff --git a/src/assets/images/puzzle/zhangleping/details/2.png b/src/assets/images/puzzle/zhangleping/details/2.png new file mode 100644 index 0000000..5915d37 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/details/2.png differ diff --git a/src/assets/images/puzzle/zhangleping/details/3.png b/src/assets/images/puzzle/zhangleping/details/3.png new file mode 100644 index 0000000..d449612 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/details/3.png differ diff --git a/src/assets/images/puzzle/zhangleping/details/4.png b/src/assets/images/puzzle/zhangleping/details/4.png new file mode 100644 index 0000000..1e58246 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/details/4.png differ diff --git a/src/assets/images/puzzle/zhangleping/details/5.png b/src/assets/images/puzzle/zhangleping/details/5.png new file mode 100644 index 0000000..f4917c3 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/details/5.png differ diff --git a/src/assets/images/puzzle/zhangleping/details/6.png b/src/assets/images/puzzle/zhangleping/details/6.png new file mode 100644 index 0000000..5e5d164 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/details/6.png differ diff --git a/src/assets/images/puzzle/zhangleping/details/7.png b/src/assets/images/puzzle/zhangleping/details/7.png new file mode 100644 index 0000000..24f6fd4 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/details/7.png differ diff --git a/src/assets/images/puzzle/zhangleping/details/8.png b/src/assets/images/puzzle/zhangleping/details/8.png new file mode 100644 index 0000000..0120ab9 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/details/8.png differ diff --git a/src/assets/images/puzzle/zhangleping/details/9.png b/src/assets/images/puzzle/zhangleping/details/9.png new file mode 100644 index 0000000..49a11ea Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/details/9.png differ diff --git a/src/assets/images/puzzle/zhangleping/张乐平碎片底图.png b/src/assets/images/puzzle/zhangleping/张乐平碎片底图.png new file mode 100644 index 0000000..9fd77c9 Binary files /dev/null and b/src/assets/images/puzzle/zhangleping/张乐平碎片底图.png differ diff --git a/src/assets/images/puzzle/底图.png b/src/assets/images/puzzle/底图.png new file mode 100644 index 0000000..6d2619d Binary files /dev/null and b/src/assets/images/puzzle/底图.png differ diff --git a/src/assets/images/puzzle/收集进度.png b/src/assets/images/puzzle/收集进度.png new file mode 100644 index 0000000..7eef9d2 Binary files /dev/null and b/src/assets/images/puzzle/收集进度.png differ diff --git a/src/assets/images/puzzle/未选中.png b/src/assets/images/puzzle/未选中.png new file mode 100644 index 0000000..87cff36 Binary files /dev/null and b/src/assets/images/puzzle/未选中.png differ diff --git a/src/assets/images/puzzle/点击前往浏览.png b/src/assets/images/puzzle/点击前往浏览.png new file mode 100644 index 0000000..80d758e Binary files /dev/null and b/src/assets/images/puzzle/点击前往浏览.png differ diff --git a/src/assets/images/puzzle/碎片装饰.png b/src/assets/images/puzzle/碎片装饰.png new file mode 100644 index 0000000..a755d5a Binary files /dev/null and b/src/assets/images/puzzle/碎片装饰.png differ diff --git a/src/assets/images/puzzle/纯色遮罩.png b/src/assets/images/puzzle/纯色遮罩.png new file mode 100644 index 0000000..4c83367 Binary files /dev/null and b/src/assets/images/puzzle/纯色遮罩.png differ diff --git a/src/assets/images/puzzle/详情框.png b/src/assets/images/puzzle/详情框.png new file mode 100644 index 0000000..d599275 Binary files /dev/null and b/src/assets/images/puzzle/详情框.png differ diff --git a/src/assets/images/puzzle/选中.png b/src/assets/images/puzzle/选中.png new file mode 100644 index 0000000..a5ea1f6 Binary files /dev/null and b/src/assets/images/puzzle/选中.png differ diff --git a/src/assets/images/puzzle/选中碎片遮罩.png b/src/assets/images/puzzle/选中碎片遮罩.png new file mode 100644 index 0000000..e0e256d Binary files /dev/null and b/src/assets/images/puzzle/选中碎片遮罩.png differ diff --git a/src/assets/images/rongdesheng/place1/场景1.png b/src/assets/images/rongdesheng/place1/场景1.png new file mode 100644 index 0000000..c34ea9b Binary files /dev/null and b/src/assets/images/rongdesheng/place1/场景1.png differ diff --git a/src/assets/images/rongdesheng/place1/场景1展品1.png b/src/assets/images/rongdesheng/place1/场景1展品1.png new file mode 100644 index 0000000..5d22e9c Binary files /dev/null and b/src/assets/images/rongdesheng/place1/场景1展品1.png differ diff --git a/src/assets/images/rongdesheng/place1/场景1展品2.png b/src/assets/images/rongdesheng/place1/场景1展品2.png new file mode 100644 index 0000000..2db3e99 Binary files /dev/null and b/src/assets/images/rongdesheng/place1/场景1展品2.png differ diff --git a/src/assets/images/rongdesheng/place2/场景2.png b/src/assets/images/rongdesheng/place2/场景2.png new file mode 100644 index 0000000..f89aac1 Binary files /dev/null and b/src/assets/images/rongdesheng/place2/场景2.png differ diff --git a/src/assets/images/rongdesheng/place2/场景2展品1.png b/src/assets/images/rongdesheng/place2/场景2展品1.png new file mode 100644 index 0000000..5290bf9 Binary files /dev/null and b/src/assets/images/rongdesheng/place2/场景2展品1.png differ diff --git a/src/assets/images/rongdesheng/place2/场景2展品2.png b/src/assets/images/rongdesheng/place2/场景2展品2.png new file mode 100644 index 0000000..6c0379e Binary files /dev/null and b/src/assets/images/rongdesheng/place2/场景2展品2.png differ diff --git a/src/assets/images/rongdesheng/place2/场景2展品3.png b/src/assets/images/rongdesheng/place2/场景2展品3.png new file mode 100644 index 0000000..186d488 Binary files /dev/null and b/src/assets/images/rongdesheng/place2/场景2展品3.png differ diff --git a/src/assets/images/rongdesheng/place2/场景2展品4.png b/src/assets/images/rongdesheng/place2/场景2展品4.png new file mode 100644 index 0000000..c3c11c6 Binary files /dev/null and b/src/assets/images/rongdesheng/place2/场景2展品4.png differ diff --git a/src/assets/images/rongdesheng/place2/场景2展品5.png b/src/assets/images/rongdesheng/place2/场景2展品5.png new file mode 100644 index 0000000..d7701de Binary files /dev/null and b/src/assets/images/rongdesheng/place2/场景2展品5.png differ diff --git a/src/assets/images/rongdesheng/place3/场景3.png b/src/assets/images/rongdesheng/place3/场景3.png new file mode 100644 index 0000000..69850da Binary files /dev/null and b/src/assets/images/rongdesheng/place3/场景3.png differ diff --git a/src/assets/images/rongdesheng/place3/场景3展品1.png b/src/assets/images/rongdesheng/place3/场景3展品1.png new file mode 100644 index 0000000..a371a28 Binary files /dev/null and b/src/assets/images/rongdesheng/place3/场景3展品1.png differ diff --git a/src/assets/images/rongdesheng/place3/场景3展品2.png b/src/assets/images/rongdesheng/place3/场景3展品2.png new file mode 100644 index 0000000..b592e7c Binary files /dev/null and b/src/assets/images/rongdesheng/place3/场景3展品2.png differ diff --git a/src/assets/images/rongdesheng/place3/场景3展品3.png b/src/assets/images/rongdesheng/place3/场景3展品3.png new file mode 100644 index 0000000..0426f60 Binary files /dev/null and b/src/assets/images/rongdesheng/place3/场景3展品3.png differ diff --git a/src/assets/images/rongdesheng/place4/场景4.png b/src/assets/images/rongdesheng/place4/场景4.png new file mode 100644 index 0000000..245ff72 Binary files /dev/null and b/src/assets/images/rongdesheng/place4/场景4.png differ diff --git a/src/assets/images/rongdesheng/place4/场景4展品1.png b/src/assets/images/rongdesheng/place4/场景4展品1.png new file mode 100644 index 0000000..c82cf4a Binary files /dev/null and b/src/assets/images/rongdesheng/place4/场景4展品1.png differ diff --git a/src/assets/images/rongdesheng/place4/场景4展品2.png b/src/assets/images/rongdesheng/place4/场景4展品2.png new file mode 100644 index 0000000..b69301a Binary files /dev/null and b/src/assets/images/rongdesheng/place4/场景4展品2.png differ diff --git a/src/assets/images/rongdesheng/place4/场景4展品3.png b/src/assets/images/rongdesheng/place4/场景4展品3.png new file mode 100644 index 0000000..235631a Binary files /dev/null and b/src/assets/images/rongdesheng/place4/场景4展品3.png differ diff --git a/src/assets/images/rongdesheng/place4/场景4展品4.png b/src/assets/images/rongdesheng/place4/场景4展品4.png new file mode 100644 index 0000000..c32d6fd Binary files /dev/null and b/src/assets/images/rongdesheng/place4/场景4展品4.png differ diff --git a/src/assets/images/rongdesheng/reflection/交互底板.png b/src/assets/images/rongdesheng/reflection/交互底板.png new file mode 100644 index 0000000..4a8d930 Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/交互底板.png differ diff --git a/src/assets/images/rongdesheng/reflection/合成坚守图谱.png b/src/assets/images/rongdesheng/reflection/合成坚守图谱.png new file mode 100644 index 0000000..fdd18f3 Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/合成坚守图谱.png differ diff --git a/src/assets/images/rongdesheng/reflection/场景1结算.png b/src/assets/images/rongdesheng/reflection/场景1结算.png new file mode 100644 index 0000000..9181bcc Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/场景1结算.png differ diff --git a/src/assets/images/rongdesheng/reflection/场景1选中.png b/src/assets/images/rongdesheng/reflection/场景1选中.png new file mode 100644 index 0000000..84ac8ad Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/场景1选中.png differ diff --git a/src/assets/images/rongdesheng/reflection/场景2图.png b/src/assets/images/rongdesheng/reflection/场景2图.png new file mode 100644 index 0000000..0bf7e08 Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/场景2图.png differ diff --git a/src/assets/images/rongdesheng/reflection/场景2结算.png b/src/assets/images/rongdesheng/reflection/场景2结算.png new file mode 100644 index 0000000..9129076 Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/场景2结算.png differ diff --git a/src/assets/images/rongdesheng/reflection/场景2选中.png b/src/assets/images/rongdesheng/reflection/场景2选中.png new file mode 100644 index 0000000..73208bf Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/场景2选中.png differ diff --git a/src/assets/images/rongdesheng/reflection/场景3结算.png b/src/assets/images/rongdesheng/reflection/场景3结算.png new file mode 100644 index 0000000..8e45b5f Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/场景3结算.png differ diff --git a/src/assets/images/rongdesheng/reflection/场景3选中.png b/src/assets/images/rongdesheng/reflection/场景3选中.png new file mode 100644 index 0000000..6538b82 Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/场景3选中.png differ diff --git a/src/assets/images/rongdesheng/reflection/场景4结算.png b/src/assets/images/rongdesheng/reflection/场景4结算.png new file mode 100644 index 0000000..96278e0 Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/场景4结算.png differ diff --git a/src/assets/images/rongdesheng/reflection/场景4选中.png b/src/assets/images/rongdesheng/reflection/场景4选中.png new file mode 100644 index 0000000..19918e0 Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/场景4选中.png differ diff --git a/src/assets/images/rongdesheng/reflection/场景5结算.png b/src/assets/images/rongdesheng/reflection/场景5结算.png new file mode 100644 index 0000000..adb5973 Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/场景5结算.png differ diff --git a/src/assets/images/rongdesheng/reflection/场景5选中.png b/src/assets/images/rongdesheng/reflection/场景5选中.png new file mode 100644 index 0000000..21cec72 Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/场景5选中.png differ diff --git a/src/assets/images/rongdesheng/reflection/场景6.png b/src/assets/images/rongdesheng/reflection/场景6.png new file mode 100644 index 0000000..6ebac49 Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/场景6.png differ diff --git a/src/assets/images/rongdesheng/reflection/已浏览.png b/src/assets/images/rongdesheng/reflection/已浏览.png new file mode 100644 index 0000000..22d2816 Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/已浏览.png differ diff --git a/src/assets/images/rongdesheng/reflection/抬头.png b/src/assets/images/rongdesheng/reflection/抬头.png new file mode 100644 index 0000000..abd4975 Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/抬头.png differ diff --git a/src/assets/images/rongdesheng/reflection/按钮-亮.png b/src/assets/images/rongdesheng/reflection/按钮-亮.png new file mode 100644 index 0000000..875154d Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/按钮-亮.png differ diff --git a/src/assets/images/rongdesheng/reflection/按钮-灰.png b/src/assets/images/rongdesheng/reflection/按钮-灰.png new file mode 100644 index 0000000..11def6b Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/按钮-灰.png differ diff --git a/src/assets/images/rongdesheng/reflection/提示版.png b/src/assets/images/rongdesheng/reflection/提示版.png new file mode 100644 index 0000000..b71847c Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/提示版.png differ diff --git a/src/assets/images/rongdesheng/reflection/未选中模块.png b/src/assets/images/rongdesheng/reflection/未选中模块.png new file mode 100644 index 0000000..22a22e6 Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/未选中模块.png differ diff --git a/src/assets/images/rongdesheng/reflection/标题.png b/src/assets/images/rongdesheng/reflection/标题.png new file mode 100644 index 0000000..674918a Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/标题.png differ diff --git a/src/assets/images/rongdesheng/reflection/正确.png b/src/assets/images/rongdesheng/reflection/正确.png new file mode 100644 index 0000000..16eeeb0 Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/正确.png differ diff --git a/src/assets/images/rongdesheng/reflection/气泡.png b/src/assets/images/rongdesheng/reflection/气泡.png new file mode 100644 index 0000000..8aa710d Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/气泡.png differ diff --git a/src/assets/images/rongdesheng/reflection/选中模块.png b/src/assets/images/rongdesheng/reflection/选中模块.png new file mode 100644 index 0000000..f350a3d Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/选中模块.png differ diff --git a/src/assets/images/rongdesheng/reflection/选项底板-选中.png b/src/assets/images/rongdesheng/reflection/选项底板-选中.png new file mode 100644 index 0000000..9cc4d30 Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/选项底板-选中.png differ diff --git a/src/assets/images/rongdesheng/reflection/选项底板.png b/src/assets/images/rongdesheng/reflection/选项底板.png new file mode 100644 index 0000000..fcaa3b5 Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/选项底板.png differ diff --git a/src/assets/images/rongdesheng/reflection/错误.png b/src/assets/images/rongdesheng/reflection/错误.png new file mode 100644 index 0000000..73391fb Binary files /dev/null and b/src/assets/images/rongdesheng/reflection/错误.png differ diff --git a/src/assets/images/rongdesheng/底图.png b/src/assets/images/rongdesheng/底图.png new file mode 100644 index 0000000..f474bd5 Binary files /dev/null and b/src/assets/images/rongdesheng/底图.png differ diff --git a/src/assets/images/star/一-解锁.png b/src/assets/images/star/一-解锁.png new file mode 100644 index 0000000..6690cb3 Binary files /dev/null and b/src/assets/images/star/一-解锁.png differ diff --git a/src/assets/images/star/三-解锁.png b/src/assets/images/star/三-解锁.png new file mode 100644 index 0000000..f57cf9a Binary files /dev/null and b/src/assets/images/star/三-解锁.png differ diff --git a/src/assets/images/star/二-解锁.png b/src/assets/images/star/二-解锁.png new file mode 100644 index 0000000..0fed94d Binary files /dev/null and b/src/assets/images/star/二-解锁.png differ diff --git a/src/assets/images/sunzhongshan/place1/“南北议和”纪念章.png b/src/assets/images/sunzhongshan/place1/“南北议和”纪念章.png new file mode 100644 index 0000000..7bcf655 Binary files /dev/null and b/src/assets/images/sunzhongshan/place1/“南北议和”纪念章.png differ diff --git a/src/assets/images/sunzhongshan/place1/“四大寇”合影.png b/src/assets/images/sunzhongshan/place1/“四大寇”合影.png new file mode 100644 index 0000000..5998540 Binary files /dev/null and b/src/assets/images/sunzhongshan/place1/“四大寇”合影.png differ diff --git a/src/assets/images/sunzhongshan/place1/位置参考.png b/src/assets/images/sunzhongshan/place1/位置参考.png new file mode 100644 index 0000000..936c6d9 Binary files /dev/null and b/src/assets/images/sunzhongshan/place1/位置参考.png differ diff --git a/src/assets/images/sunzhongshan/place1/民立报.png b/src/assets/images/sunzhongshan/place1/民立报.png new file mode 100644 index 0000000..2154390 Binary files /dev/null and b/src/assets/images/sunzhongshan/place1/民立报.png differ diff --git a/src/assets/images/sunzhongshan/place1/申报.png b/src/assets/images/sunzhongshan/place1/申报.png new file mode 100644 index 0000000..5eed704 Binary files /dev/null and b/src/assets/images/sunzhongshan/place1/申报.png differ diff --git a/src/assets/images/sunzhongshan/place1/背景.png b/src/assets/images/sunzhongshan/place1/背景.png new file mode 100644 index 0000000..cb24d29 Binary files /dev/null and b/src/assets/images/sunzhongshan/place1/背景.png differ diff --git a/src/assets/images/sunzhongshan/place1/郑观应的推荐信.png b/src/assets/images/sunzhongshan/place1/郑观应的推荐信.png new file mode 100644 index 0000000..36fb877 Binary files /dev/null and b/src/assets/images/sunzhongshan/place1/郑观应的推荐信.png differ diff --git a/src/assets/images/sunzhongshan/place2/917.9.10孙中山就任中华民国军政府海陆军大元帅留影.png b/src/assets/images/sunzhongshan/place2/917.9.10孙中山就任中华民国军政府海陆军大元帅留影.png new file mode 100644 index 0000000..835de0b Binary files /dev/null and b/src/assets/images/sunzhongshan/place2/917.9.10孙中山就任中华民国军政府海陆军大元帅留影.png differ diff --git a/src/assets/images/sunzhongshan/place2/位置参考.png b/src/assets/images/sunzhongshan/place2/位置参考.png new file mode 100644 index 0000000..0b27ecf Binary files /dev/null and b/src/assets/images/sunzhongshan/place2/位置参考.png differ diff --git a/src/assets/images/sunzhongshan/place2/实业计划.png b/src/assets/images/sunzhongshan/place2/实业计划.png new file mode 100644 index 0000000..5b55c66 Binary files /dev/null and b/src/assets/images/sunzhongshan/place2/实业计划.png differ diff --git a/src/assets/images/sunzhongshan/place2/背景.png b/src/assets/images/sunzhongshan/place2/背景.png new file mode 100644 index 0000000..421301c Binary files /dev/null and b/src/assets/images/sunzhongshan/place2/背景.png differ diff --git a/src/assets/images/sunzhongshan/place2/铁路计划图.png b/src/assets/images/sunzhongshan/place2/铁路计划图.png new file mode 100644 index 0000000..542dc67 Binary files /dev/null and b/src/assets/images/sunzhongshan/place2/铁路计划图.png differ diff --git a/src/assets/images/sunzhongshan/place2/陆军大元帅时佩带的指挥刀.png b/src/assets/images/sunzhongshan/place2/陆军大元帅时佩带的指挥刀.png new file mode 100644 index 0000000..cfec48d Binary files /dev/null and b/src/assets/images/sunzhongshan/place2/陆军大元帅时佩带的指挥刀.png differ diff --git a/src/assets/images/sunzhongshan/place3/中国国民党第一次全国代表大会宣言.png b/src/assets/images/sunzhongshan/place3/中国国民党第一次全国代表大会宣言.png new file mode 100644 index 0000000..73649d3 Binary files /dev/null and b/src/assets/images/sunzhongshan/place3/中国国民党第一次全国代表大会宣言.png differ diff --git a/src/assets/images/sunzhongshan/place3/位置参考.png b/src/assets/images/sunzhongshan/place3/位置参考.png new file mode 100644 index 0000000..aeb5e5b Binary files /dev/null and b/src/assets/images/sunzhongshan/place3/位置参考.png differ diff --git a/src/assets/images/sunzhongshan/place3/星期评论.png b/src/assets/images/sunzhongshan/place3/星期评论.png new file mode 100644 index 0000000..ec8b2a9 Binary files /dev/null and b/src/assets/images/sunzhongshan/place3/星期评论.png differ diff --git a/src/assets/images/sunzhongshan/place3/李大钊给胡适的信.png b/src/assets/images/sunzhongshan/place3/李大钊给胡适的信.png new file mode 100644 index 0000000..7ef4eba Binary files /dev/null and b/src/assets/images/sunzhongshan/place3/李大钊给胡适的信.png differ diff --git a/src/assets/images/sunzhongshan/place3/社会主义的精义.png b/src/assets/images/sunzhongshan/place3/社会主义的精义.png new file mode 100644 index 0000000..c04e63f Binary files /dev/null and b/src/assets/images/sunzhongshan/place3/社会主义的精义.png differ diff --git a/src/assets/images/sunzhongshan/place3/背景.png b/src/assets/images/sunzhongshan/place3/背景.png new file mode 100644 index 0000000..6afa8a9 Binary files /dev/null and b/src/assets/images/sunzhongshan/place3/背景.png differ diff --git a/src/assets/images/sunzhongshan/place4/上海各界人士在外滩码头欢迎孙中山.png b/src/assets/images/sunzhongshan/place4/上海各界人士在外滩码头欢迎孙中山.png new file mode 100644 index 0000000..4e03677 Binary files /dev/null and b/src/assets/images/sunzhongshan/place4/上海各界人士在外滩码头欢迎孙中山.png differ diff --git a/src/assets/images/sunzhongshan/place4/位置参考.png b/src/assets/images/sunzhongshan/place4/位置参考.png new file mode 100644 index 0000000..1730dce Binary files /dev/null and b/src/assets/images/sunzhongshan/place4/位置参考.png differ diff --git a/src/assets/images/sunzhongshan/place4/国事遗嘱.png b/src/assets/images/sunzhongshan/place4/国事遗嘱.png new file mode 100644 index 0000000..df86417 Binary files /dev/null and b/src/assets/images/sunzhongshan/place4/国事遗嘱.png differ diff --git a/src/assets/images/sunzhongshan/place4/背景.png b/src/assets/images/sunzhongshan/place4/背景.png new file mode 100644 index 0000000..adff182 Binary files /dev/null and b/src/assets/images/sunzhongshan/place4/背景.png differ diff --git a/src/assets/images/sunzhongshan/reflection/home/场景1.png b/src/assets/images/sunzhongshan/reflection/home/场景1.png new file mode 100644 index 0000000..86470a6 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/home/场景1.png differ diff --git a/src/assets/images/sunzhongshan/reflection/home/场景2.png b/src/assets/images/sunzhongshan/reflection/home/场景2.png new file mode 100644 index 0000000..560e670 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/home/场景2.png differ diff --git a/src/assets/images/sunzhongshan/reflection/home/场景3.png b/src/assets/images/sunzhongshan/reflection/home/场景3.png new file mode 100644 index 0000000..452719b Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/home/场景3.png differ diff --git a/src/assets/images/sunzhongshan/reflection/home/按钮.png b/src/assets/images/sunzhongshan/reflection/home/按钮.png new file mode 100644 index 0000000..159b95d Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/home/按钮.png differ diff --git a/src/assets/images/sunzhongshan/reflection/home/背景.png b/src/assets/images/sunzhongshan/reflection/home/背景.png new file mode 100644 index 0000000..3c5890e Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/home/背景.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene1/bg.png b/src/assets/images/sunzhongshan/reflection/scene1/bg.png new file mode 100644 index 0000000..5b31167 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene1/bg.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene1/线索1-详情.png b/src/assets/images/sunzhongshan/reflection/scene1/线索1-详情.png new file mode 100644 index 0000000..1973b1c Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene1/线索1-详情.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene1/线索1-详情的详情.png b/src/assets/images/sunzhongshan/reflection/scene1/线索1-详情的详情.png new file mode 100644 index 0000000..b2b9823 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene1/线索1-详情的详情.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene1/线索1.png b/src/assets/images/sunzhongshan/reflection/scene1/线索1.png new file mode 100644 index 0000000..b888296 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene1/线索1.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene1/线索2-详情.png b/src/assets/images/sunzhongshan/reflection/scene1/线索2-详情.png new file mode 100644 index 0000000..b8e3eef Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene1/线索2-详情.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene1/线索2.png b/src/assets/images/sunzhongshan/reflection/scene1/线索2.png new file mode 100644 index 0000000..425813a Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene1/线索2.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene1/线索3-详情.png b/src/assets/images/sunzhongshan/reflection/scene1/线索3-详情.png new file mode 100644 index 0000000..c88078a Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene1/线索3-详情.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene1/线索3.png b/src/assets/images/sunzhongshan/reflection/scene1/线索3.png new file mode 100644 index 0000000..87d71b0 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene1/线索3.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene1/线索4-详情.png b/src/assets/images/sunzhongshan/reflection/scene1/线索4-详情.png new file mode 100644 index 0000000..c699846 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene1/线索4-详情.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene1/线索4.png b/src/assets/images/sunzhongshan/reflection/scene1/线索4.png new file mode 100644 index 0000000..e0524a7 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene1/线索4.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene1/背包背景.png b/src/assets/images/sunzhongshan/reflection/scene1/背包背景.png new file mode 100644 index 0000000..4e873ee Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene1/背包背景.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene2/bg.png b/src/assets/images/sunzhongshan/reflection/scene2/bg.png new file mode 100644 index 0000000..4224925 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene2/bg.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene2/线索1-详情.png b/src/assets/images/sunzhongshan/reflection/scene2/线索1-详情.png new file mode 100644 index 0000000..d54a8b1 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene2/线索1-详情.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene2/线索1-详情的详情.png b/src/assets/images/sunzhongshan/reflection/scene2/线索1-详情的详情.png new file mode 100644 index 0000000..2f1cbb4 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene2/线索1-详情的详情.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene2/线索1.png b/src/assets/images/sunzhongshan/reflection/scene2/线索1.png new file mode 100644 index 0000000..b888296 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene2/线索1.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene2/线索2-详情.png b/src/assets/images/sunzhongshan/reflection/scene2/线索2-详情.png new file mode 100644 index 0000000..11a0d5c Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene2/线索2-详情.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene2/线索2-详情的详情.png b/src/assets/images/sunzhongshan/reflection/scene2/线索2-详情的详情.png new file mode 100644 index 0000000..c1c0409 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene2/线索2-详情的详情.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene2/线索2.png b/src/assets/images/sunzhongshan/reflection/scene2/线索2.png new file mode 100644 index 0000000..60e6f1e Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene2/线索2.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene2/线索3-详情.png b/src/assets/images/sunzhongshan/reflection/scene2/线索3-详情.png new file mode 100644 index 0000000..0ad24dc Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene2/线索3-详情.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene2/线索3-详情的详情.png b/src/assets/images/sunzhongshan/reflection/scene2/线索3-详情的详情.png new file mode 100644 index 0000000..6b9dfc1 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene2/线索3-详情的详情.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene2/线索3.png b/src/assets/images/sunzhongshan/reflection/scene2/线索3.png new file mode 100644 index 0000000..7375555 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene2/线索3.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene2/线索4-详情.png b/src/assets/images/sunzhongshan/reflection/scene2/线索4-详情.png new file mode 100644 index 0000000..bd2eb3b Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene2/线索4-详情.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene2/线索4-详情的详情.png b/src/assets/images/sunzhongshan/reflection/scene2/线索4-详情的详情.png new file mode 100644 index 0000000..6dc2896 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene2/线索4-详情的详情.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene2/线索4.png b/src/assets/images/sunzhongshan/reflection/scene2/线索4.png new file mode 100644 index 0000000..299b52b Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene2/线索4.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene2/线索5-详情.png b/src/assets/images/sunzhongshan/reflection/scene2/线索5-详情.png new file mode 100644 index 0000000..3ca32b2 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene2/线索5-详情.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene2/线索5.png b/src/assets/images/sunzhongshan/reflection/scene2/线索5.png new file mode 100644 index 0000000..7a1f83e Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene2/线索5.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene2/背包背景.png b/src/assets/images/sunzhongshan/reflection/scene2/背包背景.png new file mode 100644 index 0000000..0e6bd6f Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene2/背包背景.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene3/bg.png b/src/assets/images/sunzhongshan/reflection/scene3/bg.png new file mode 100644 index 0000000..3f4e6e6 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene3/bg.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene3/窃窃私语.png b/src/assets/images/sunzhongshan/reflection/scene3/窃窃私语.png new file mode 100644 index 0000000..049c90b Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene3/窃窃私语.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene3/线索1-详情.png b/src/assets/images/sunzhongshan/reflection/scene3/线索1-详情.png new file mode 100644 index 0000000..1c61cd6 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene3/线索1-详情.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene3/线索1.png b/src/assets/images/sunzhongshan/reflection/scene3/线索1.png new file mode 100644 index 0000000..0e7602c Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene3/线索1.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene3/线索2-详情.png b/src/assets/images/sunzhongshan/reflection/scene3/线索2-详情.png new file mode 100644 index 0000000..beba5c1 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene3/线索2-详情.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene3/线索2.png b/src/assets/images/sunzhongshan/reflection/scene3/线索2.png new file mode 100644 index 0000000..2d13af1 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene3/线索2.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene3/线索3-详情.png b/src/assets/images/sunzhongshan/reflection/scene3/线索3-详情.png new file mode 100644 index 0000000..842717b Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene3/线索3-详情.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene3/线索3-详情的详情.png b/src/assets/images/sunzhongshan/reflection/scene3/线索3-详情的详情.png new file mode 100644 index 0000000..f2a79ba Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene3/线索3-详情的详情.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene3/线索3.png b/src/assets/images/sunzhongshan/reflection/scene3/线索3.png new file mode 100644 index 0000000..9336b01 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene3/线索3.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene3/线索4-详情.png b/src/assets/images/sunzhongshan/reflection/scene3/线索4-详情.png new file mode 100644 index 0000000..48d6adf Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene3/线索4-详情.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene3/线索4.png b/src/assets/images/sunzhongshan/reflection/scene3/线索4.png new file mode 100644 index 0000000..d4432ed Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene3/线索4.png differ diff --git a/src/assets/images/sunzhongshan/reflection/scene3/背包背景.png b/src/assets/images/sunzhongshan/reflection/scene3/背包背景.png new file mode 100644 index 0000000..4a39f11 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/scene3/背包背景.png differ diff --git a/src/assets/images/sunzhongshan/reflection/关闭.png b/src/assets/images/sunzhongshan/reflection/关闭.png new file mode 100644 index 0000000..92084c4 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/关闭.png differ diff --git a/src/assets/images/sunzhongshan/reflection/内置线索提示按钮.png b/src/assets/images/sunzhongshan/reflection/内置线索提示按钮.png new file mode 100644 index 0000000..2620556 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/内置线索提示按钮.png differ diff --git a/src/assets/images/sunzhongshan/reflection/框.png b/src/assets/images/sunzhongshan/reflection/框.png new file mode 100644 index 0000000..6a7966e Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/框.png differ diff --git a/src/assets/images/sunzhongshan/reflection/线索提示.png b/src/assets/images/sunzhongshan/reflection/线索提示.png new file mode 100644 index 0000000..534bf0b Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/线索提示.png differ diff --git a/src/assets/images/sunzhongshan/reflection/线索簿.png b/src/assets/images/sunzhongshan/reflection/线索簿.png new file mode 100644 index 0000000..d243772 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/线索簿.png differ diff --git a/src/assets/images/sunzhongshan/reflection/背包.png b/src/assets/images/sunzhongshan/reflection/背包.png new file mode 100644 index 0000000..ed67304 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/背包.png differ diff --git a/src/assets/images/sunzhongshan/reflection/详情线索簿背景.png b/src/assets/images/sunzhongshan/reflection/详情线索簿背景.png new file mode 100644 index 0000000..deb10f6 Binary files /dev/null and b/src/assets/images/sunzhongshan/reflection/详情线索簿背景.png differ diff --git a/src/assets/images/sunzhongshan/孙中山-首页.png b/src/assets/images/sunzhongshan/孙中山-首页.png new file mode 100644 index 0000000..c34c071 Binary files /dev/null and b/src/assets/images/sunzhongshan/孙中山-首页.png differ diff --git a/src/assets/images/zhangleping/place1/张乐平场景1.png b/src/assets/images/zhangleping/place1/张乐平场景1.png new file mode 100644 index 0000000..22e2658 Binary files /dev/null and b/src/assets/images/zhangleping/place1/张乐平场景1.png differ diff --git a/src/assets/images/zhangleping/place1/张乐平场景1展品1.png b/src/assets/images/zhangleping/place1/张乐平场景1展品1.png new file mode 100644 index 0000000..557f3ef Binary files /dev/null and b/src/assets/images/zhangleping/place1/张乐平场景1展品1.png differ diff --git a/src/assets/images/zhangleping/place1/张乐平场景1展品2.png b/src/assets/images/zhangleping/place1/张乐平场景1展品2.png new file mode 100644 index 0000000..1e5b486 Binary files /dev/null and b/src/assets/images/zhangleping/place1/张乐平场景1展品2.png differ diff --git a/src/assets/images/zhangleping/place2/张乐平场景2.png b/src/assets/images/zhangleping/place2/张乐平场景2.png new file mode 100644 index 0000000..5b56c09 Binary files /dev/null and b/src/assets/images/zhangleping/place2/张乐平场景2.png differ diff --git a/src/assets/images/zhangleping/place2/张乐平场景2展品1.png b/src/assets/images/zhangleping/place2/张乐平场景2展品1.png new file mode 100644 index 0000000..723bb8a Binary files /dev/null and b/src/assets/images/zhangleping/place2/张乐平场景2展品1.png differ diff --git a/src/assets/images/zhangleping/place2/张乐平场景2展品2.png b/src/assets/images/zhangleping/place2/张乐平场景2展品2.png new file mode 100644 index 0000000..781dbbe Binary files /dev/null and b/src/assets/images/zhangleping/place2/张乐平场景2展品2.png differ diff --git a/src/assets/images/zhangleping/place2/张乐平场景2展品3.png b/src/assets/images/zhangleping/place2/张乐平场景2展品3.png new file mode 100644 index 0000000..ec7ad60 Binary files /dev/null and b/src/assets/images/zhangleping/place2/张乐平场景2展品3.png differ diff --git a/src/assets/images/zhangleping/place3/张乐平场景3.png b/src/assets/images/zhangleping/place3/张乐平场景3.png new file mode 100644 index 0000000..233b878 Binary files /dev/null and b/src/assets/images/zhangleping/place3/张乐平场景3.png differ diff --git a/src/assets/images/zhangleping/place3/张乐平场景3展品1.png b/src/assets/images/zhangleping/place3/张乐平场景3展品1.png new file mode 100644 index 0000000..fb1bfc1 Binary files /dev/null and b/src/assets/images/zhangleping/place3/张乐平场景3展品1.png differ diff --git a/src/assets/images/zhangleping/place3/张乐平场景3展品2.png b/src/assets/images/zhangleping/place3/张乐平场景3展品2.png new file mode 100644 index 0000000..7fc5a19 Binary files /dev/null and b/src/assets/images/zhangleping/place3/张乐平场景3展品2.png differ diff --git a/src/assets/images/zhangleping/place3/张乐平场景3展品3.png b/src/assets/images/zhangleping/place3/张乐平场景3展品3.png new file mode 100644 index 0000000..6d6d2db Binary files /dev/null and b/src/assets/images/zhangleping/place3/张乐平场景3展品3.png differ diff --git a/src/assets/images/zhangleping/place4/张乐平场景4.png b/src/assets/images/zhangleping/place4/张乐平场景4.png new file mode 100644 index 0000000..767ed90 Binary files /dev/null and b/src/assets/images/zhangleping/place4/张乐平场景4.png differ diff --git a/src/assets/images/zhangleping/place4/张乐平场景4展品1.png b/src/assets/images/zhangleping/place4/张乐平场景4展品1.png new file mode 100644 index 0000000..029e381 Binary files /dev/null and b/src/assets/images/zhangleping/place4/张乐平场景4展品1.png differ diff --git a/src/assets/images/zhangleping/place5/张乐平场景5.png b/src/assets/images/zhangleping/place5/张乐平场景5.png new file mode 100644 index 0000000..b91bd0c Binary files /dev/null and b/src/assets/images/zhangleping/place5/张乐平场景5.png differ diff --git a/src/assets/images/zhangleping/place5/张乐平场景5展品1.png b/src/assets/images/zhangleping/place5/张乐平场景5展品1.png new file mode 100644 index 0000000..3cac6a9 Binary files /dev/null and b/src/assets/images/zhangleping/place5/张乐平场景5展品1.png differ diff --git a/src/assets/images/zhangleping/place5/张乐平场景5展品2.png b/src/assets/images/zhangleping/place5/张乐平场景5展品2.png new file mode 100644 index 0000000..6baede9 Binary files /dev/null and b/src/assets/images/zhangleping/place5/张乐平场景5展品2.png differ diff --git a/src/assets/images/zhangleping/place5/张乐平场景5展品3.png b/src/assets/images/zhangleping/place5/张乐平场景5展品3.png new file mode 100644 index 0000000..7a513db Binary files /dev/null and b/src/assets/images/zhangleping/place5/张乐平场景5展品3.png differ diff --git a/src/assets/images/zhangleping/reflection/clue/内嵌基底1.png b/src/assets/images/zhangleping/reflection/clue/内嵌基底1.png new file mode 100644 index 0000000..3ebc965 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/clue/内嵌基底1.png differ diff --git a/src/assets/images/zhangleping/reflection/clue/内嵌基底2.png b/src/assets/images/zhangleping/reflection/clue/内嵌基底2.png new file mode 100644 index 0000000..ef509d6 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/clue/内嵌基底2.png differ diff --git a/src/assets/images/zhangleping/reflection/clue/内嵌基底3.png b/src/assets/images/zhangleping/reflection/clue/内嵌基底3.png new file mode 100644 index 0000000..54e5188 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/clue/内嵌基底3.png differ diff --git a/src/assets/images/zhangleping/reflection/clue/内嵌基底4.png b/src/assets/images/zhangleping/reflection/clue/内嵌基底4.png new file mode 100644 index 0000000..987651f Binary files /dev/null and b/src/assets/images/zhangleping/reflection/clue/内嵌基底4.png differ diff --git a/src/assets/images/zhangleping/reflection/clue/内嵌基底5.png b/src/assets/images/zhangleping/reflection/clue/内嵌基底5.png new file mode 100644 index 0000000..e1f9023 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/clue/内嵌基底5.png differ diff --git a/src/assets/images/zhangleping/reflection/clue/泡泡.png b/src/assets/images/zhangleping/reflection/clue/泡泡.png new file mode 100644 index 0000000..1232b7a Binary files /dev/null and b/src/assets/images/zhangleping/reflection/clue/泡泡.png differ diff --git a/src/assets/images/zhangleping/reflection/clue/碎片1.png b/src/assets/images/zhangleping/reflection/clue/碎片1.png new file mode 100644 index 0000000..85b63b2 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/clue/碎片1.png differ diff --git a/src/assets/images/zhangleping/reflection/clue/碎片2.png b/src/assets/images/zhangleping/reflection/clue/碎片2.png new file mode 100644 index 0000000..36fbffe Binary files /dev/null and b/src/assets/images/zhangleping/reflection/clue/碎片2.png differ diff --git a/src/assets/images/zhangleping/reflection/clue/碎片3.png b/src/assets/images/zhangleping/reflection/clue/碎片3.png new file mode 100644 index 0000000..0c3c9d9 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/clue/碎片3.png differ diff --git a/src/assets/images/zhangleping/reflection/clue/碎片4.png b/src/assets/images/zhangleping/reflection/clue/碎片4.png new file mode 100644 index 0000000..46b127d Binary files /dev/null and b/src/assets/images/zhangleping/reflection/clue/碎片4.png differ diff --git a/src/assets/images/zhangleping/reflection/clue/碎片5.png b/src/assets/images/zhangleping/reflection/clue/碎片5.png new file mode 100644 index 0000000..8720e14 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/clue/碎片5.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/任务提示.png b/src/assets/images/zhangleping/reflection/draw/任务提示.png new file mode 100644 index 0000000..72d57db Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/任务提示.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/写字底板.png b/src/assets/images/zhangleping/reflection/draw/写字底板.png new file mode 100644 index 0000000..67e9952 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/写字底板.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/创作任务面板.png b/src/assets/images/zhangleping/reflection/draw/创作任务面板.png new file mode 100644 index 0000000..f42ead0 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/创作任务面板.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/布景/云端航迹.png b/src/assets/images/zhangleping/reflection/draw/布景/云端航迹.png new file mode 100644 index 0000000..9933ae9 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/布景/云端航迹.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/布景/助农直播.png b/src/assets/images/zhangleping/reflection/draw/布景/助农直播.png new file mode 100644 index 0000000..1d89450 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/布景/助农直播.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/布景/匠心赛场.png b/src/assets/images/zhangleping/reflection/draw/布景/匠心赛场.png new file mode 100644 index 0000000..4c5f4a1 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/布景/匠心赛场.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/布景/垃圾分类.png b/src/assets/images/zhangleping/reflection/draw/布景/垃圾分类.png new file mode 100644 index 0000000..ee8ffd0 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/布景/垃圾分类.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/布景/城际高铁.png b/src/assets/images/zhangleping/reflection/draw/布景/城际高铁.png new file mode 100644 index 0000000..925eca5 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/布景/城际高铁.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/布景/天际航拍.png b/src/assets/images/zhangleping/reflection/draw/布景/天际航拍.png new file mode 100644 index 0000000..9e37825 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/布景/天际航拍.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/布景/智能实训.png b/src/assets/images/zhangleping/reflection/draw/布景/智能实训.png new file mode 100644 index 0000000..ca9f997 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/布景/智能实训.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/布景/暖心社区.png b/src/assets/images/zhangleping/reflection/draw/布景/暖心社区.png new file mode 100644 index 0000000..7bb7e06 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/布景/暖心社区.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/布景/绿色出行.png b/src/assets/images/zhangleping/reflection/draw/布景/绿色出行.png new file mode 100644 index 0000000..2512fc2 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/布景/绿色出行.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/布景/野外旅途.png b/src/assets/images/zhangleping/reflection/draw/布景/野外旅途.png new file mode 100644 index 0000000..02c1a49 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/布景/野外旅途.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/布景/青春展台.png b/src/assets/images/zhangleping/reflection/draw/布景/青春展台.png new file mode 100644 index 0000000..67dbf1f Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/布景/青春展台.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/布景条.png b/src/assets/images/zhangleping/reflection/draw/布景条.png new file mode 100644 index 0000000..a67e3a4 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/布景条.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/开始创作.png b/src/assets/images/zhangleping/reflection/draw/开始创作.png new file mode 100644 index 0000000..0f95d2b Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/开始创作.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/提交作品.png b/src/assets/images/zhangleping/reflection/draw/提交作品.png new file mode 100644 index 0000000..af8b3d5 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/提交作品.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/替换布景.png b/src/assets/images/zhangleping/reflection/draw/替换布景.png new file mode 100644 index 0000000..d5c084f Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/替换布景.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/画布区域参考(素材和人都不出这个区域).png b/src/assets/images/zhangleping/reflection/draw/画布区域参考(素材和人都不出这个区域).png new file mode 100644 index 0000000..bb4bcb7 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/画布区域参考(素材和人都不出这个区域).png differ diff --git a/src/assets/images/zhangleping/reflection/draw/画板底图.png b/src/assets/images/zhangleping/reflection/draw/画板底图.png new file mode 100644 index 0000000..041bcda Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/画板底图.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库.png b/src/assets/images/zhangleping/reflection/draw/素材库.png new file mode 100644 index 0000000..48f8a0b Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/垃圾.png b/src/assets/images/zhangleping/reflection/draw/素材库/垃圾.png new file mode 100644 index 0000000..9befd38 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/垃圾.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/奖杯.png b/src/assets/images/zhangleping/reflection/draw/素材库/奖杯.png new file mode 100644 index 0000000..3db0192 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/奖杯.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/奖状.png b/src/assets/images/zhangleping/reflection/draw/素材库/奖状.png new file mode 100644 index 0000000..5ef2b49 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/奖状.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/安全帽.png b/src/assets/images/zhangleping/reflection/draw/素材库/安全帽.png new file mode 100644 index 0000000..3a16946 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/安全帽.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/宣传单.png b/src/assets/images/zhangleping/reflection/draw/素材库/宣传单.png new file mode 100644 index 0000000..aeeaf02 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/宣传单.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/志愿者.png b/src/assets/images/zhangleping/reflection/draw/素材库/志愿者.png new file mode 100644 index 0000000..98c0eae Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/志愿者.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/手机.png b/src/assets/images/zhangleping/reflection/draw/素材库/手机.png new file mode 100644 index 0000000..c504a53 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/手机.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/无人机.png b/src/assets/images/zhangleping/reflection/draw/素材库/无人机.png new file mode 100644 index 0000000..7abe95c Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/无人机.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/水.png b/src/assets/images/zhangleping/reflection/draw/素材库/水.png new file mode 100644 index 0000000..4f18ccd Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/水.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/火车票.png b/src/assets/images/zhangleping/reflection/draw/素材库/火车票.png new file mode 100644 index 0000000..9c8f563 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/火车票.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/耳机.png b/src/assets/images/zhangleping/reflection/draw/素材库/耳机.png new file mode 100644 index 0000000..fa39889 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/耳机.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/背包.png b/src/assets/images/zhangleping/reflection/draw/素材库/背包.png new file mode 100644 index 0000000..a79a23e Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/背包.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/苹果.png b/src/assets/images/zhangleping/reflection/draw/素材库/苹果.png new file mode 100644 index 0000000..2c9f4ae Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/苹果.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/行李箱.png b/src/assets/images/zhangleping/reflection/draw/素材库/行李箱.png new file mode 100644 index 0000000..75d923b Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/行李箱.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/话筒.png b/src/assets/images/zhangleping/reflection/draw/素材库/话筒.png new file mode 100644 index 0000000..2dd80c1 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/话筒.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸垃圾.png b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸垃圾.png new file mode 100644 index 0000000..d263f72 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸垃圾.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸奖杯.png b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸奖杯.png new file mode 100644 index 0000000..1bbed56 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸奖杯.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸奖状.png b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸奖状.png new file mode 100644 index 0000000..99e521d Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸奖状.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸宣传单.png b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸宣传单.png new file mode 100644 index 0000000..4564c03 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸宣传单.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸帽子.png b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸帽子.png new file mode 100644 index 0000000..1779106 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸帽子.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸志愿者.png b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸志愿者.png new file mode 100644 index 0000000..ffa1682 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸志愿者.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸手机.png b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸手机.png new file mode 100644 index 0000000..d974d98 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸手机.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸无人机.png b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸无人机.png new file mode 100644 index 0000000..264a12d Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸无人机.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸火车票.png b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸火车票.png new file mode 100644 index 0000000..cdaa8e1 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸火车票.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸矿泉水瓶.png b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸矿泉水瓶.png new file mode 100644 index 0000000..81ea6a8 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸矿泉水瓶.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸耳机.png b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸耳机.png new file mode 100644 index 0000000..62cb723 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸耳机.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸背包.png b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸背包.png new file mode 100644 index 0000000..c66bc6b Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸背包.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸苹果.png b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸苹果.png new file mode 100644 index 0000000..1f54a1c Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸苹果.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸行李箱.png b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸行李箱.png new file mode 100644 index 0000000..e6e4776 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸行李箱.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸话筒.png b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸话筒.png new file mode 100644 index 0000000..00b104e Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸话筒.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸车.png b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸车.png new file mode 100644 index 0000000..5f43938 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸车.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸遥控.png b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸遥控.png new file mode 100644 index 0000000..eb2bde1 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸遥控.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸飞机票.png b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸飞机票.png new file mode 100644 index 0000000..b4e0da5 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/贴纸/贴纸飞机票.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/车.png b/src/assets/images/zhangleping/reflection/draw/素材库/车.png new file mode 100644 index 0000000..ce15d4a Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/车.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/遥控器.png b/src/assets/images/zhangleping/reflection/draw/素材库/遥控器.png new file mode 100644 index 0000000..94ba7f6 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/遥控器.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库/飞机票.png b/src/assets/images/zhangleping/reflection/draw/素材库/飞机票.png new file mode 100644 index 0000000..9278a61 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库/飞机票.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/素材库条.png b/src/assets/images/zhangleping/reflection/draw/素材库条.png new file mode 100644 index 0000000..20109e9 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/素材库条.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/衣柜.png b/src/assets/images/zhangleping/reflection/draw/衣柜.png new file mode 100644 index 0000000..793caf3 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/衣柜.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/衣柜/休闲.png b/src/assets/images/zhangleping/reflection/draw/衣柜/休闲.png new file mode 100644 index 0000000..50514f7 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/衣柜/休闲.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/衣柜/校服.png b/src/assets/images/zhangleping/reflection/draw/衣柜/校服.png new file mode 100644 index 0000000..8711ce7 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/衣柜/校服.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/衣柜/默认.png b/src/assets/images/zhangleping/reflection/draw/衣柜/默认.png new file mode 100644 index 0000000..ed13078 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/衣柜/默认.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/衣柜条.png b/src/assets/images/zhangleping/reflection/draw/衣柜条.png new file mode 100644 index 0000000..382d4de Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/衣柜条.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/返回.png b/src/assets/images/zhangleping/reflection/draw/返回.png new file mode 100644 index 0000000..2bd6dd9 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/返回.png differ diff --git a/src/assets/images/zhangleping/reflection/draw/选中.png b/src/assets/images/zhangleping/reflection/draw/选中.png new file mode 100644 index 0000000..8b5b466 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/draw/选中.png differ diff --git a/src/assets/images/zhangleping/reflection/home/场景1入口.png b/src/assets/images/zhangleping/reflection/home/场景1入口.png new file mode 100644 index 0000000..d87c2ca Binary files /dev/null and b/src/assets/images/zhangleping/reflection/home/场景1入口.png differ diff --git a/src/assets/images/zhangleping/reflection/home/场景2入口.png b/src/assets/images/zhangleping/reflection/home/场景2入口.png new file mode 100644 index 0000000..75a3294 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/home/场景2入口.png differ diff --git a/src/assets/images/zhangleping/reflection/home/场景3入口.png b/src/assets/images/zhangleping/reflection/home/场景3入口.png new file mode 100644 index 0000000..4a18d35 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/home/场景3入口.png differ diff --git a/src/assets/images/zhangleping/reflection/home/场景4入口.png b/src/assets/images/zhangleping/reflection/home/场景4入口.png new file mode 100644 index 0000000..033660b Binary files /dev/null and b/src/assets/images/zhangleping/reflection/home/场景4入口.png differ diff --git a/src/assets/images/zhangleping/reflection/home/场景5入口.png b/src/assets/images/zhangleping/reflection/home/场景5入口.png new file mode 100644 index 0000000..0bb8490 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/home/场景5入口.png differ diff --git a/src/assets/images/zhangleping/reflection/home/导览图底图.png b/src/assets/images/zhangleping/reflection/home/导览图底图.png new file mode 100644 index 0000000..70e549e Binary files /dev/null and b/src/assets/images/zhangleping/reflection/home/导览图底图.png differ diff --git a/src/assets/images/zhangleping/reflection/home/敲章.png b/src/assets/images/zhangleping/reflection/home/敲章.png new file mode 100644 index 0000000..ff59985 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/home/敲章.png differ diff --git a/src/assets/images/zhangleping/reflection/home/未开放.png b/src/assets/images/zhangleping/reflection/home/未开放.png new file mode 100644 index 0000000..65c9f34 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/home/未开放.png differ diff --git a/src/assets/images/zhangleping/reflection/home/点击进入.png b/src/assets/images/zhangleping/reflection/home/点击进入.png new file mode 100644 index 0000000..267c27c Binary files /dev/null and b/src/assets/images/zhangleping/reflection/home/点击进入.png differ diff --git a/src/assets/images/zhangleping/reflection/scene1/bg.png b/src/assets/images/zhangleping/reflection/scene1/bg.png new file mode 100644 index 0000000..e249706 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene1/bg.png differ diff --git a/src/assets/images/zhangleping/reflection/scene1/场景-拖拽.png b/src/assets/images/zhangleping/reflection/scene1/场景-拖拽.png new file mode 100644 index 0000000..afa322e Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene1/场景-拖拽.png differ diff --git a/src/assets/images/zhangleping/reflection/scene1/场景-进入.png b/src/assets/images/zhangleping/reflection/scene1/场景-进入.png new file mode 100644 index 0000000..6201712 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene1/场景-进入.png differ diff --git a/src/assets/images/zhangleping/reflection/scene1/场景1展品1.png b/src/assets/images/zhangleping/reflection/scene1/场景1展品1.png new file mode 100644 index 0000000..82fca80 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene1/场景1展品1.png differ diff --git a/src/assets/images/zhangleping/reflection/scene1/场景1展品2反面.png b/src/assets/images/zhangleping/reflection/scene1/场景1展品2反面.png new file mode 100644 index 0000000..f0023ff Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene1/场景1展品2反面.png differ diff --git a/src/assets/images/zhangleping/reflection/scene1/场景1展品2正面.png b/src/assets/images/zhangleping/reflection/scene1/场景1展品2正面.png new file mode 100644 index 0000000..b3ecc9f Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene1/场景1展品2正面.png differ diff --git a/src/assets/images/zhangleping/reflection/scene1/场景1拖拽1.png b/src/assets/images/zhangleping/reflection/scene1/场景1拖拽1.png new file mode 100644 index 0000000..3cd0bab Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene1/场景1拖拽1.png differ diff --git a/src/assets/images/zhangleping/reflection/scene1/场景1拖拽2.png b/src/assets/images/zhangleping/reflection/scene1/场景1拖拽2.png new file mode 100644 index 0000000..8059e05 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene1/场景1拖拽2.png differ diff --git a/src/assets/images/zhangleping/reflection/scene1/场景1拖拽3.png b/src/assets/images/zhangleping/reflection/scene1/场景1拖拽3.png new file mode 100644 index 0000000..a619422 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene1/场景1拖拽3.png differ diff --git a/src/assets/images/zhangleping/reflection/scene1/碎片1详情.png b/src/assets/images/zhangleping/reflection/scene1/碎片1详情.png new file mode 100644 index 0000000..21d9de6 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene1/碎片1详情.png differ diff --git a/src/assets/images/zhangleping/reflection/scene2/军民合作修复前.png b/src/assets/images/zhangleping/reflection/scene2/军民合作修复前.png new file mode 100644 index 0000000..b265a4f Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene2/军民合作修复前.png differ diff --git a/src/assets/images/zhangleping/reflection/scene2/军民合作修复后.png b/src/assets/images/zhangleping/reflection/scene2/军民合作修复后.png new file mode 100644 index 0000000..2e34356 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene2/军民合作修复后.png differ diff --git a/src/assets/images/zhangleping/reflection/scene2/军民齐心赶走敌人.png b/src/assets/images/zhangleping/reflection/scene2/军民齐心赶走敌人.png new file mode 100644 index 0000000..472b80e Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene2/军民齐心赶走敌人.png differ diff --git a/src/assets/images/zhangleping/reflection/scene2/场景-拖拽.png b/src/assets/images/zhangleping/reflection/scene2/场景-拖拽.png new file mode 100644 index 0000000..f6a2c9d Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene2/场景-拖拽.png differ diff --git a/src/assets/images/zhangleping/reflection/scene2/场景-进入.png b/src/assets/images/zhangleping/reflection/scene2/场景-进入.png new file mode 100644 index 0000000..080b010 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene2/场景-进入.png differ diff --git a/src/assets/images/zhangleping/reflection/scene2/场景2展品1.png b/src/assets/images/zhangleping/reflection/scene2/场景2展品1.png new file mode 100644 index 0000000..c786b14 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene2/场景2展品1.png differ diff --git a/src/assets/images/zhangleping/reflection/scene2/场景2展品2.png b/src/assets/images/zhangleping/reflection/scene2/场景2展品2.png new file mode 100644 index 0000000..9df2cf1 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene2/场景2展品2.png differ diff --git a/src/assets/images/zhangleping/reflection/scene2/场景2展品3.png b/src/assets/images/zhangleping/reflection/scene2/场景2展品3.png new file mode 100644 index 0000000..059813a Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene2/场景2展品3.png differ diff --git a/src/assets/images/zhangleping/reflection/scene2/场景物品放置效果.png b/src/assets/images/zhangleping/reflection/scene2/场景物品放置效果.png new file mode 100644 index 0000000..4396f74 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene2/场景物品放置效果.png differ diff --git a/src/assets/images/zhangleping/reflection/scene2/抗战烽火记忆碎片.png b/src/assets/images/zhangleping/reflection/scene2/抗战烽火记忆碎片.png new file mode 100644 index 0000000..913b52d Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene2/抗战烽火记忆碎片.png differ diff --git a/src/assets/images/zhangleping/reflection/scene2/拖拽1.png b/src/assets/images/zhangleping/reflection/scene2/拖拽1.png new file mode 100644 index 0000000..297d977 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene2/拖拽1.png differ diff --git a/src/assets/images/zhangleping/reflection/scene2/拖拽2.png b/src/assets/images/zhangleping/reflection/scene2/拖拽2.png new file mode 100644 index 0000000..5095933 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene2/拖拽2.png differ diff --git a/src/assets/images/zhangleping/reflection/scene2/拖拽3.png b/src/assets/images/zhangleping/reflection/scene2/拖拽3.png new file mode 100644 index 0000000..0dacea1 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene2/拖拽3.png differ diff --git a/src/assets/images/zhangleping/reflection/scene2/拖拽区域.png b/src/assets/images/zhangleping/reflection/scene2/拖拽区域.png new file mode 100644 index 0000000..96c64ad Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene2/拖拽区域.png differ diff --git a/src/assets/images/zhangleping/reflection/scene2/碎片2详情.png b/src/assets/images/zhangleping/reflection/scene2/碎片2详情.png new file mode 100644 index 0000000..8b2ddd7 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene2/碎片2详情.png differ diff --git a/src/assets/images/zhangleping/reflection/scene3/场景-点击.png b/src/assets/images/zhangleping/reflection/scene3/场景-点击.png new file mode 100644 index 0000000..78f3167 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene3/场景-点击.png differ diff --git a/src/assets/images/zhangleping/reflection/scene3/场景-进入.png b/src/assets/images/zhangleping/reflection/scene3/场景-进入.png new file mode 100644 index 0000000..74858f9 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene3/场景-进入.png differ diff --git a/src/assets/images/zhangleping/reflection/scene3/场景3展品1.png b/src/assets/images/zhangleping/reflection/scene3/场景3展品1.png new file mode 100644 index 0000000..d1da1de Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene3/场景3展品1.png differ diff --git a/src/assets/images/zhangleping/reflection/scene3/场景3展品2.png b/src/assets/images/zhangleping/reflection/scene3/场景3展品2.png new file mode 100644 index 0000000..ecc3264 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene3/场景3展品2.png differ diff --git a/src/assets/images/zhangleping/reflection/scene3/场景3展品3.png b/src/assets/images/zhangleping/reflection/scene3/场景3展品3.png new file mode 100644 index 0000000..af2f42e Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene3/场景3展品3.png differ diff --git a/src/assets/images/zhangleping/reflection/scene3/场景物品放置效果.png b/src/assets/images/zhangleping/reflection/scene3/场景物品放置效果.png new file mode 100644 index 0000000..5bff3ff Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene3/场景物品放置效果.png differ diff --git a/src/assets/images/zhangleping/reflection/scene3/点击项1.png b/src/assets/images/zhangleping/reflection/scene3/点击项1.png new file mode 100644 index 0000000..337dcf2 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene3/点击项1.png differ diff --git a/src/assets/images/zhangleping/reflection/scene3/点击项2.png b/src/assets/images/zhangleping/reflection/scene3/点击项2.png new file mode 100644 index 0000000..ab41144 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene3/点击项2.png differ diff --git a/src/assets/images/zhangleping/reflection/scene3/点击项3.png b/src/assets/images/zhangleping/reflection/scene3/点击项3.png new file mode 100644 index 0000000..3cebfb8 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene3/点击项3.png differ diff --git a/src/assets/images/zhangleping/reflection/scene3/碎片3详情.png b/src/assets/images/zhangleping/reflection/scene3/碎片3详情.png new file mode 100644 index 0000000..092bb2b Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene3/碎片3详情.png differ diff --git a/src/assets/images/zhangleping/reflection/scene4/场景-拖拽.png b/src/assets/images/zhangleping/reflection/scene4/场景-拖拽.png new file mode 100644 index 0000000..e40128b Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene4/场景-拖拽.png differ diff --git a/src/assets/images/zhangleping/reflection/scene4/场景-结果.png b/src/assets/images/zhangleping/reflection/scene4/场景-结果.png new file mode 100644 index 0000000..787f0dd Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene4/场景-结果.png differ diff --git a/src/assets/images/zhangleping/reflection/scene4/场景-进入.png b/src/assets/images/zhangleping/reflection/scene4/场景-进入.png new file mode 100644 index 0000000..75f46cc Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene4/场景-进入.png differ diff --git a/src/assets/images/zhangleping/reflection/scene4/场景4展品1.png b/src/assets/images/zhangleping/reflection/scene4/场景4展品1.png new file mode 100644 index 0000000..24fb321 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene4/场景4展品1.png differ diff --git a/src/assets/images/zhangleping/reflection/scene4/场景4展品2.png b/src/assets/images/zhangleping/reflection/scene4/场景4展品2.png new file mode 100644 index 0000000..38ba68c Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene4/场景4展品2.png differ diff --git a/src/assets/images/zhangleping/reflection/scene4/场景4展品3.png b/src/assets/images/zhangleping/reflection/scene4/场景4展品3.png new file mode 100644 index 0000000..649766b Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene4/场景4展品3.png differ diff --git a/src/assets/images/zhangleping/reflection/scene4/场景物品放置效果.png b/src/assets/images/zhangleping/reflection/scene4/场景物品放置效果.png new file mode 100644 index 0000000..fb711a7 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene4/场景物品放置效果.png differ diff --git a/src/assets/images/zhangleping/reflection/scene4/拖拽1.png b/src/assets/images/zhangleping/reflection/scene4/拖拽1.png new file mode 100644 index 0000000..b117ec3 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene4/拖拽1.png differ diff --git a/src/assets/images/zhangleping/reflection/scene4/拖拽2.png b/src/assets/images/zhangleping/reflection/scene4/拖拽2.png new file mode 100644 index 0000000..dd52cf7 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene4/拖拽2.png differ diff --git a/src/assets/images/zhangleping/reflection/scene4/拖拽3.png b/src/assets/images/zhangleping/reflection/scene4/拖拽3.png new file mode 100644 index 0000000..8a5ea70 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene4/拖拽3.png differ diff --git a/src/assets/images/zhangleping/reflection/scene4/画稿完成.png b/src/assets/images/zhangleping/reflection/scene4/画稿完成.png new file mode 100644 index 0000000..d2741a4 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene4/画稿完成.png differ diff --git a/src/assets/images/zhangleping/reflection/scene4/画稿未完成.png b/src/assets/images/zhangleping/reflection/scene4/画稿未完成.png new file mode 100644 index 0000000..da3296e Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene4/画稿未完成.png differ diff --git a/src/assets/images/zhangleping/reflection/scene4/碎片4详情.png b/src/assets/images/zhangleping/reflection/scene4/碎片4详情.png new file mode 100644 index 0000000..1225017 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene4/碎片4详情.png differ diff --git a/src/assets/images/zhangleping/reflection/scene5/光圈.png b/src/assets/images/zhangleping/reflection/scene5/光圈.png new file mode 100644 index 0000000..d6c5370 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene5/光圈.png differ diff --git a/src/assets/images/zhangleping/reflection/scene5/场景5.png b/src/assets/images/zhangleping/reflection/scene5/场景5.png new file mode 100644 index 0000000..abe4751 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene5/场景5.png differ diff --git a/src/assets/images/zhangleping/reflection/scene5/插入碎片前.png b/src/assets/images/zhangleping/reflection/scene5/插入碎片前.png new file mode 100644 index 0000000..9bdc07d Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene5/插入碎片前.png differ diff --git a/src/assets/images/zhangleping/reflection/scene5/插入碎片后.png b/src/assets/images/zhangleping/reflection/scene5/插入碎片后.png new file mode 100644 index 0000000..c06af57 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene5/插入碎片后.png differ diff --git a/src/assets/images/zhangleping/reflection/scene5/画板.png b/src/assets/images/zhangleping/reflection/scene5/画板.png new file mode 100644 index 0000000..15dca52 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene5/画板.png differ diff --git a/src/assets/images/zhangleping/reflection/scene5/碎片5详情.png b/src/assets/images/zhangleping/reflection/scene5/碎片5详情.png new file mode 100644 index 0000000..bb7be87 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene5/碎片5详情.png differ diff --git a/src/assets/images/zhangleping/reflection/scene5/邮箱.png b/src/assets/images/zhangleping/reflection/scene5/邮箱.png new file mode 100644 index 0000000..f7a4e12 Binary files /dev/null and b/src/assets/images/zhangleping/reflection/scene5/邮箱.png differ diff --git a/src/assets/images/zhangleping/前进1.png b/src/assets/images/zhangleping/前进1.png new file mode 100644 index 0000000..fd2b6b3 Binary files /dev/null and b/src/assets/images/zhangleping/前进1.png differ diff --git a/src/assets/images/zhangleping/前进2.png b/src/assets/images/zhangleping/前进2.png new file mode 100644 index 0000000..2362214 Binary files /dev/null and b/src/assets/images/zhangleping/前进2.png differ diff --git a/src/assets/images/zhangleping/前进3.png b/src/assets/images/zhangleping/前进3.png new file mode 100644 index 0000000..6745c5f Binary files /dev/null and b/src/assets/images/zhangleping/前进3.png differ diff --git a/src/assets/images/zhangleping/展品说明展示板.png b/src/assets/images/zhangleping/展品说明展示板.png new file mode 100644 index 0000000..4bf90c4 Binary files /dev/null and b/src/assets/images/zhangleping/展品说明展示板.png differ diff --git a/src/assets/images/zhangleping/张乐平故居底图.png b/src/assets/images/zhangleping/张乐平故居底图.png new file mode 100644 index 0000000..fa5bea5 Binary files /dev/null and b/src/assets/images/zhangleping/张乐平故居底图.png differ diff --git a/src/assets/react.svg b/src/assets/react.svg new file mode 100644 index 0000000..6c87de9 --- /dev/null +++ b/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/components/COMPONENT_GUIDELINES.md b/src/components/COMPONENT_GUIDELINES.md new file mode 100644 index 0000000..f7676f8 --- /dev/null +++ b/src/components/COMPONENT_GUIDELINES.md @@ -0,0 +1,190 @@ +# 组件创建规范 + +## 目录结构 + +采用模块化结构组织组件: + +``` +src/components/ +├── video/ +│ ├── index.ts # 导出入口 +│ ├── video.tsx # 主组件 +│ ├── video.types.ts # 类型定义 +│ ├── video.hooks.ts # 组件专用 hooks(可选) +│ └── video.utils.ts # 工具函数(可选) +├── button/ +│ ├── index.ts +│ └── button.tsx +├── ui/ # 基础 UI 组件 +│ ├── button.tsx +│ └── dialog.tsx +└── index.ts # 统一导出所有组件 +``` + +## 命名规范 + +| 类型 | 规范 | 示例 | +| ---------- | ------------------ | ------------------ | +| 文件名 | kebab-case | `video-player.tsx` | +| 目录名 | kebab-case | `video-player/` | +| 组件名 | PascalCase | `VideoPlayer` | +| Props 接口 | `{组件名}Props` | `VideoPlayerProps` | +| Ref 接口 | `{组件名}Ref` | `VideoPlayerRef` | +| 导出类型 | `{组件名}{类型名}` | `VideoAnchor` | + +## 文件结构顺序 + +每个组件文件按以下顺序组织: + +1. **Imports** - 导入语句 +2. **Types/Interfaces** - 类型定义(需导出) +3. **Constants** - 常量定义 +4. **Helper Functions** - 辅助函数 +5. **Component** - 组件定义 +6. **displayName** - 设置显示名称 +7. **Export** - 默认导出 + +## 组件模板 + +````tsx +import React, { + forwardRef, + useRef, + useState, + useImperativeHandle, +} from "react"; +import { cn } from "@/lib/utils"; + +/** 组件配置项 */ +export interface ComponentNameProps { + /** 必填属性说明 */ + requiredProp: string; + /** 可选属性说明 */ + optionalProp?: boolean; + /** 子元素 */ + children?: React.ReactNode; + /** 自定义类名 */ + className?: string; +} + +/** 组件 Ref 暴露的方法 */ +export interface ComponentNameRef { + /** 方法说明 */ + methodName: () => void; +} + +/** + * ComponentName - 组件简要说明 + * + * @example + * ```tsx + * + * ``` + */ +const ComponentName = forwardRef( + ({ requiredProp, optionalProp = false, className, children }, ref) => { + // 状态定义 + const [state, setState] = useState(""); + + // Ref 定义 + const innerRef = useRef(null); + + // 暴露方法给父组件 + useImperativeHandle(ref, () => ({ + methodName: () => { + // 实现 + }, + })); + + return
{children}
; + } +); + +ComponentName.displayName = "ComponentName"; + +export default ComponentName; +```` + +## index.ts 导出模板 + +```ts +export { default } from "./component-name"; +export { default as ComponentName } from "./component-name"; +export type { ComponentNameProps, ComponentNameRef } from "./component-name"; +``` + +## 类型规范 + +- **必须**为所有 props、state、函数参数和返回值声明类型 +- **禁止**使用 `any`,使用 `unknown` 或泛型替代 +- **导出**所有公共接口和类型 +- 使用 `React.ReactNode` 表示子元素类型 +- 使用 `React.CSSProperties` 表示样式对象 + +## 样式规范 + +- 使用 `cn()` 工具函数合并类名 +- 优先使用 Tailwind CSS 类名 +- 支持通过 `className` prop 自定义样式 +- 避免内联样式,除非是动态计算值 + +```tsx +// ✅ 推荐 +
+ +// ❌ 避免 +
+``` + +## 最佳实践 + +1. **单一职责** - 每个组件只做一件事,保持在 200 行以内 +2. **使用 forwardRef** - 需要暴露 ref 的组件必须使用 +3. **设置 displayName** - 便于 React DevTools 调试 +4. **提取逻辑** - 复杂逻辑提取到自定义 hooks +5. **组合优于继承** - 使用 children 和 render props +6. **早返回** - 避免深层嵌套,使用 early return + +## 文件拆分指南 + +| 文件 | 用途 | 何时创建 | +| ---------------- | -------------- | -------------------- | +| `*.tsx` | 主组件 | 必须 | +| `*.types.ts` | 类型定义 | 类型超过 30 行 | +| `*.hooks.ts` | 组件专用 hooks | 有可复用的状态逻辑 | +| `*.utils.ts` | 工具函数 | 有纯函数逻辑需要提取 | +| `*.constants.ts` | 常量定义 | 有多个常量需要共享 | + + diff --git a/src/components/RotateHint.tsx b/src/components/RotateHint.tsx new file mode 100644 index 0000000..2174091 --- /dev/null +++ b/src/components/RotateHint.tsx @@ -0,0 +1,33 @@ +import { useScale } from '@/contexts/ScaleContext' + +/** + * 横屏提示组件 + * 在移动端竖屏时显示提示,引导用户横屏观看 + */ +export function RotateHint() { + const { isMobilePortrait } = useScale() + + if (!isMobilePortrait) return null + + return ( +
+ 请横屏观看,以获得最佳体验 +
+ ) +} diff --git a/src/components/animation/FlyToAnimationManager.tsx b/src/components/animation/FlyToAnimationManager.tsx new file mode 100644 index 0000000..c04d1dc --- /dev/null +++ b/src/components/animation/FlyToAnimationManager.tsx @@ -0,0 +1,238 @@ +import { createRoot, Root } from 'react-dom/client' +import { motion } from 'framer-motion' +import React from 'react' + +export type FlyToPosition = 'center' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' + +export interface FlyToAnimationOptions { + /** 起始元素的 ref */ + fromRef: React.RefObject + /** 目标元素的 ref */ + toRef: React.RefObject + /** 目标位置(相对于目标元素) */ + targetPosition?: FlyToPosition + /** 动画持续时间(毫秒) */ + duration?: number + /** 动画缓动函数 */ + ease?: string | number[] + /** 动画完成回调 */ + onComplete?: () => void + /** 自定义样式 */ + className?: string + /** 缩放比例(从起始到目标) */ + scale?: { from: number; to: number } + /** 透明度(从起始到目标) */ + opacity?: number[] +} + +interface AnimationInstance extends FlyToAnimationOptions { + id: string + startPos: { x: number; y: number } + targetPos: { x: number; y: number } + elementHtml: string +} + +class FlyToAnimationManagerClass { + private animations: Map = new Map() + private containerRoot: Root | null = null + + // 初始化容器 + private initContainer() { + if (typeof window === 'undefined') return + if (this.containerRoot) return + + const container = document.createElement('div') + container.id = 'fly-to-animation-container' + document.body.appendChild(container) + + this.containerRoot = createRoot(container) + this.render() + } + + // 渲染动画容器 + private render() { + if (!this.containerRoot) return + + const animations = Array.from(this.animations.values()) + + this.containerRoot.render( + <> + {animations.map((animation) => ( + + ))} + + ) + } + + // 通知更新 + private notify() { + this.render() + } + + // 创建动画 + flyTo(options: FlyToAnimationOptions) { + const { fromRef, toRef } = options + + if (!fromRef?.current || !toRef?.current) { + console.warn('FlyToAnimation: fromRef 或 toRef 未设置') + return + } + + this.initContainer() + + // 使用 requestAnimationFrame 确保在下一帧获取准确的位置 + requestAnimationFrame(() => { + const fromRect = fromRef.current!.getBoundingClientRect() + const toRect = toRef.current!.getBoundingClientRect() + + // 计算起始位置(起始元素的中心) + const startX = fromRect.left + fromRect.width / 2 + const startY = fromRect.top + fromRect.height / 2 + + // 计算目标位置 + const targetPosition = options.targetPosition || 'center' + let targetX = 0 + let targetY = 0 + + switch (targetPosition) { + case 'center': + targetX = toRect.left + toRect.width / 2 + targetY = toRect.top + toRect.height / 2 + break + case 'top-left': + targetX = toRect.left + targetY = toRect.top + break + case 'top-right': + targetX = toRect.right + targetY = toRect.top + break + case 'bottom-left': + targetX = toRect.left + targetY = toRect.bottom + break + case 'bottom-right': + targetX = toRect.right + targetY = toRect.bottom + break + } + + // 克隆起始元素的 HTML 内容和样式 + // 使用 cloneNode 深度克隆,包括所有子元素 + const clonedElement = fromRef.current!.cloneNode(true) as HTMLElement + + // 复制计算后的样式到克隆元素,确保尺寸正确 + const computedStyle = window.getComputedStyle(fromRef.current!) + + // 复制所有样式属性 + const allStyles = Array.from(computedStyle) + allStyles.forEach((prop) => { + const value = computedStyle.getPropertyValue(prop) + if (value) { + clonedElement.style.setProperty(prop, value) + } + }) + + // 确保克隆元素的尺寸与原始元素一致 + clonedElement.style.width = `${fromRect.width}px` + clonedElement.style.height = `${fromRect.height}px` + clonedElement.style.position = 'absolute' + clonedElement.style.left = '0' + clonedElement.style.top = '0' + clonedElement.style.margin = '0' + clonedElement.style.padding = '0' + + // 获取克隆后的 HTML(只获取内部内容,不包含外层元素) + const elementHtml = clonedElement.innerHTML + + // 创建动画实例 + const id = `fly-to-${Date.now()}-${Math.random().toString(36).slice(2, 11)}` + const instance: AnimationInstance = { + id, + ...options, + startPos: { x: startX, y: startY }, + targetPos: { x: targetX, y: targetY }, + elementHtml, + } + + this.animations.set(id, instance) + this.notify() + + // 动画完成后自动清理 + const duration = options.duration || 1200 + setTimeout(() => { + this.remove(id) + options.onComplete?.() + }, duration) + }) + } + + // 移除动画 + remove(id: string) { + this.animations.delete(id) + this.notify() + } +} + +// 创建全局单例 +export const flyToAnimationManager = new FlyToAnimationManagerClass() + +// 单个动画项组件 +const FlyToAnimationItem = ({ animation }: { animation: AnimationInstance }) => { + const { + startPos, + targetPos, + elementHtml, + duration = 1200, + ease = 'easeInOut', + className = '', + scale = { from: 1, to: 0.3 }, + opacity = [1, 0.8, 0], + } = animation + + // 计算 opacity 的 times 数组 + const opacityTimes = opacity.length > 1 ? opacity.map((_, i) => i / (opacity.length - 1)) : [0, 1] + + // 如果 opacity 是数组,使用整个数组;否则使用单个值 + const animateOpacity = opacity.length > 1 ? opacity : (opacity[opacity.length - 1] ?? 0) + + return ( + 1 + ? { + times: opacityTimes, + duration: duration / 1000, + } + : { + duration: duration / 1000, + }, + }} + className={`fixed pointer-events-none z-[99999] ${className}`} + style={{ + left: 0, + top: 0, + }} + transformTemplate={({ x, y, scale }) => + `translate(-50%, -50%) translateX(${x}) translateY(${y}) scale(${scale})` + } + > +
+ + ) +} diff --git a/src/components/animation/flyToAnimation.ts b/src/components/animation/flyToAnimation.ts new file mode 100644 index 0000000..a6f9e65 --- /dev/null +++ b/src/components/animation/flyToAnimation.ts @@ -0,0 +1,23 @@ +import { flyToAnimationManager } from './FlyToAnimationManager' +import type { FlyToAnimationOptions } from './FlyToAnimationManager' + +/** + * 飞行动画函数 + * 将一个元素从起始位置飞向目标元素 + * + * @example + * ```tsx + * const fromRef = useRef(null); + * const toRef = useRef(null); + * + * flyToAnimation({ + * fromRef, + * toRef, + * targetPosition: "center", + * onComplete: () => console.log("动画完成"), + * }); + * ``` + */ +export const flyToAnimation = (options: FlyToAnimationOptions) => { + flyToAnimationManager.flyTo(options) +} diff --git a/src/components/animation/index.ts b/src/components/animation/index.ts new file mode 100644 index 0000000..69d47c8 --- /dev/null +++ b/src/components/animation/index.ts @@ -0,0 +1,4 @@ +// 函数式 API +export { flyToAnimation } from './flyToAnimation' +export type { FlyToAnimationOptions } from './FlyToAnimationManager' +export type { FlyToPosition } from './FlyToAnimationManager' diff --git a/src/components/button/FlipActionButton.tsx b/src/components/button/FlipActionButton.tsx new file mode 100644 index 0000000..fd93b4b --- /dev/null +++ b/src/components/button/FlipActionButton.tsx @@ -0,0 +1,46 @@ +import { cn } from '@/lib/utils' +import { forwardRef } from 'react' +import type { BaseButtonProps } from './button.types' + +export type FlipActionButtonProps = Omit + +/** + * 通用动作按钮(建议配合场景自定义 children) + * - 平面风格,结构简单 + * - 强按下反馈(缩放/压暗/内描边) + */ +const FlipActionButton = forwardRef( + ( + { children, className = '', disabled = false, loading = false, type = 'button', ...props }, + ref + ) => { + return ( + + ) + } +) + +FlipActionButton.displayName = 'FlipActionButton' + +export default FlipActionButton diff --git a/src/components/button/button.stories.tsx b/src/components/button/button.stories.tsx new file mode 100644 index 0000000..7cdf53e --- /dev/null +++ b/src/components/button/button.stories.tsx @@ -0,0 +1,75 @@ +import type { Meta, StoryObj } from '@storybook/react' +import { Button, ImageButton } from './button' + +const meta: Meta = { + title: 'Components/Button', + component: Button, + tags: ['autodocs'], + argTypes: { + variant: { + control: { type: 'select' }, + options: ['primary', 'secondary', 'ghost'], + }, + }, +} + +export default meta + +type Story = StoryObj + +export const Primary: Story = { + args: { + variant: 'primary', + children: '按钮', + }, +} + +export const Secondary: Story = { + args: { + variant: 'secondary', + children: '次要按钮', + }, +} + +export const Ghost: Story = { + args: { + variant: 'ghost', + children: '幽灵按钮', + }, +} + +export const Disabled: Story = { + args: { + disabled: true, + children: '禁用状态', + }, +} + +export const Loading: Story = { + args: { + loading: true, + children: '加载中...', + }, +} + +export const WithImage: Story = { + render: () => ( +
+ +
+ ), +} + +export const Playground: Story = { + args: { + variant: 'primary', + children: '点击我', + className: 'px-8 py-3 text-lg', + }, +} diff --git a/src/components/button/button.tsx b/src/components/button/button.tsx new file mode 100644 index 0000000..a145995 --- /dev/null +++ b/src/components/button/button.tsx @@ -0,0 +1,121 @@ +import { forwardRef, useState, useEffect } from 'react' +import { cn } from '@/lib/utils' +import type { BaseButtonProps, ImageButtonProps } from './button.types' + +/** + * 基础按钮组件 + */ +const Button = forwardRef( + ( + { + children, + className = '', + variant = 'primary', + disabled = false, + loading = false, + type = 'button', + ...props + }, + ref + ) => { + const baseClasses = + 'inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none' + + const variantClasses = { + primary: 'bg-primary text-primary-foreground hover:bg-primary/90', + secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/80', + ghost: 'hover:bg-accent hover:text-accent-foreground', + } + + return ( + + ) + } +) + +Button.displayName = 'Button' + +/** + * 图片按钮组件 + */ +const ImageButton = forwardRef( + ( + { + src, + alt, + hoverSrc, + width = 'auto', + height = 'auto', + className = '', + disabled = false, + loading = false, + type = 'button', + onMouseEnter, + onMouseLeave, + ...props + }, + ref + ) => { + const [isHovered, setIsHovered] = useState(false) + const [imageSrc, setImageSrc] = useState(src) + + useEffect(() => { + if (hoverSrc) { + const img = new Image() + img.src = hoverSrc + } + }, [hoverSrc]) + + const handleMouseEnter = (e: React.MouseEvent) => { + setIsHovered(true) + if (hoverSrc) { + setImageSrc(hoverSrc) + } + onMouseEnter?.(e) + } + + const handleMouseLeave = (e: React.MouseEvent) => { + setIsHovered(false) + setImageSrc(src) + onMouseLeave?.(e) + } + + return ( + + ) + } +) + +ImageButton.displayName = 'ImageButton' + +export { Button, ImageButton } diff --git a/src/components/button/button.types.ts b/src/components/button/button.types.ts new file mode 100644 index 0000000..c1ad14a --- /dev/null +++ b/src/components/button/button.types.ts @@ -0,0 +1,29 @@ +import type { ButtonHTMLAttributes, ReactNode } from 'react' + +/** 基础按钮属性 */ +export interface BaseButtonProps extends ButtonHTMLAttributes { + /** 是否显示加载状态 */ + loading?: boolean + /** 按钮变体 */ + variant?: 'primary' | 'secondary' | 'ghost' + /** 自定义类名 */ + className?: string + /** 子元素 */ + children: ReactNode +} + +/** 图片按钮属性 */ +export interface ImageButtonProps extends Omit { + /** 图片URL */ + src: string + /** 图片替代文本 */ + alt: string + /** 图片宽度 */ + width?: number | string + /** 图片高度 */ + height?: number | string + /** 悬停时显示的图片URL */ + hoverSrc?: string +} + +export type ButtonProps = BaseButtonProps | ImageButtonProps diff --git a/src/components/button/index.ts b/src/components/button/index.ts new file mode 100644 index 0000000..6e1edc8 --- /dev/null +++ b/src/components/button/index.ts @@ -0,0 +1,4 @@ +export * from './button' +export * from './button.types' +export { default as FlipActionButton } from './FlipActionButton' +export type { FlipActionButtonProps } from './FlipActionButton' diff --git a/src/components/clue/ClueBookModal.tsx b/src/components/clue/ClueBookModal.tsx new file mode 100644 index 0000000..cd5d3f2 --- /dev/null +++ b/src/components/clue/ClueBookModal.tsx @@ -0,0 +1,168 @@ +import { useState, useEffect } from 'react' +import { Image } from '@/components' +import { getBackgroundImage, getStaticImage } from '@/lib/utils' +import { cn } from '@/lib/utils' +import type { Clue } from '@/store/sunzhongshanStore' + +export interface ClueBookModalProps { + visible: boolean + clues: Clue[] + onClose: () => void + getClueImage: (clueId: string) => string + getClueDetailImage: (clueId: string) => string + getClueHintImage?: (clueId: string) => string | null +} + +/** + * 线索簿组件 - 显示已收集的线索和详情 + */ +export const ClueBookModal = ({ + visible, + clues, + onClose, + getClueImage, + getClueDetailImage, + getClueHintImage, +}: ClueBookModalProps) => { + const [selectedClueId, setSelectedClueId] = useState(null) + const [showClueHint, setShowClueHint] = useState(false) + + // 默认选中第一个已收集的线索 + useEffect(() => { + if (visible && clues.length > 0 && !selectedClueId) { + const firstCollected = clues.find((c) => c.collected) + if (firstCollected) { + setSelectedClueId(firstCollected.id) + } + } + }, [visible, clues, selectedClueId]) + + // 当切换线索时,关闭线索提示 + useEffect(() => { + setShowClueHint(false) + }, [selectedClueId]) + + // 检查当前线索是否有提示 + const hasClueHint = (clueId: string): boolean => { + if (!getClueHintImage) return false + const hintImage = getClueHintImage(clueId) + return hintImage !== null && hintImage !== undefined + } + + if (!visible) return null + + const selectedClue = clues.find((c) => c.id === selectedClueId) + + return ( +
+ {/* 蒙版背景 */} + {/*
*/} + + {/* 线索簿内容 */} +
+ {/* 背景图片 - 线索簿 */} +
+ + {/* 内容区域 */} +
+ {/* 左侧:线索列表 */} +
+ {clues.length === 0 ? ( +
暂无线索
+ ) : ( + clues.map((clue) => { + const isSelected = clue.id === selectedClueId + const isCollected = clue.collected + + return ( +
{ + if (isCollected) { + setSelectedClueId(clue.id) + } + }} + > + {/* 线索缩略图 - 带倾斜效果 */} + +
+ ) + }) + )} +
+ + {/* 右侧:线索详情或对话 */} +
+ {selectedClue && selectedClue.collected ? ( +
+ {/* 显示线索详情图片 */} +
+ + {/* 线索提示描述(覆盖在详情图片上) */} + {showClueHint && hasClueHint(selectedClue.id) && getClueHintImage && ( +
+
+ + {/* 关闭按钮 */} + setShowClueHint(false)} + /> +
+
+ )} + {/* 线索提示按钮(右下角) */} + {hasClueHint(selectedClue.id) && ( +
+ setShowClueHint(true)} + /> +
+ )} +
+
+ ) : ( +
+ {selectedClue ? '该线索尚未收集' : '请选择一个线索查看详情'} +
+ )} +
+
+ + {/* 关闭按钮 */} + +
+
+ ) +} diff --git a/src/components/clue/ClueHintModal.tsx b/src/components/clue/ClueHintModal.tsx new file mode 100644 index 0000000..1e65af5 --- /dev/null +++ b/src/components/clue/ClueHintModal.tsx @@ -0,0 +1,131 @@ +import { useEffect, useRef, useState } from 'react' +import { Image } from '@/components' +import { getBackgroundImage, getStaticImage } from '@/lib/utils' + +export interface ClueHint { + id: string + name: string + position: { + top: string + left: string + width: string + height: string + } +} + +export interface ClueHintModalProps { + visible: boolean + backgroundImage: string + clues: ClueHint[] + onClose: () => void + sourceContainerRef?: React.RefObject +} + +/** + * 线索提示窗组件 - 显示所有线索位置 + */ +export const ClueHintModal = ({ + visible, + backgroundImage, + clues, + onClose, + sourceContainerRef, +}: ClueHintModalProps) => { + const modalContainerRef = useRef(null) + const backgroundRef = useRef(null) + const [scale, setScale] = useState(1) + const [size, setSize] = useState({ width: '100%', height: '100%' }) + + // 计算缩放比例和偏移 + useEffect(() => { + if (!visible || !sourceContainerRef?.current || !modalContainerRef.current) { + return + } + + const calculateScale = () => { + const sourceRect = sourceContainerRef.current!.getBoundingClientRect() + const modalRect = modalContainerRef.current!.getBoundingClientRect() + + if (sourceRect.width === 0 || sourceRect.height === 0) { + return + } + + // 计算宽高缩放比例,取较小的值以确保完全显示 + const scaleX = modalRect.width / sourceRect.width + const scaleY = modalRect.height / sourceRect.height + const newScale = Math.min(scaleX, scaleY) + + setScale(newScale) + setSize({ + width: `${sourceRect.width}px`, + height: `${sourceRect.height}px`, + }) + } + + // 延迟计算以确保 DOM 已渲染 + const timer = setTimeout(calculateScale, 0) + calculateScale() + + // 监听窗口大小变化 + window.addEventListener('resize', calculateScale) + return () => { + clearTimeout(timer) + window.removeEventListener('resize', calculateScale) + } + }, [visible, sourceContainerRef]) + + if (!visible) return null + + return ( +
+ {/* 蒙版背景 */} +
+ + {/* 背景图片容器 - 使用缩放匹配源容器尺寸并居中 */} +
+ {/* 线索标记 */} + {clues.map( + (clue) => + clue.position.width !== '0%' && ( +
+ + {clue.name} + +
+ ) + )} +
+ + {/* 关闭按钮 */} + +
+ ) +} diff --git a/src/components/clue/index.ts b/src/components/clue/index.ts new file mode 100644 index 0000000..3a760b7 --- /dev/null +++ b/src/components/clue/index.ts @@ -0,0 +1,5 @@ +export { ClueHintModal } from './ClueHintModal' +export type { ClueHintModalProps, ClueHint } from './ClueHintModal' + +export { ClueBookModal } from './ClueBookModal' +export type { ClueBookModalProps } from './ClueBookModal' diff --git a/src/components/cursor/index.tsx b/src/components/cursor/index.tsx new file mode 100644 index 0000000..4d1032f --- /dev/null +++ b/src/components/cursor/index.tsx @@ -0,0 +1,85 @@ +import { cn, getBackgroundImage, getStaticImage } from '@/lib/utils' + +// 原始尺寸(保持比例) +const ORIGINAL_SIZES = { + read: { width: 116, height: 140 }, + unread: { width: 120, height: 121 }, +} as const + +interface CursorProps { + className?: string + onClick: () => void + /** 已阅读 / 已完成 状态;true 时显示预留的 div,由你自行实现效果 */ + read?: boolean + /** 尺寸缩放比例,默认为 1(原始大小) */ + size?: number + /** 禁用状态,禁用时无法点击但不影响 read 状态显示。当 read=true 时,disabled 不生效 */ + disabled?: boolean +} + +const Cursor = ({ className, onClick, read = false, size = 1, disabled = false }: CursorProps) => { + const baseSize = read ? ORIGINAL_SIZES.read : ORIGINAL_SIZES.unread + // 当 read=true 时,disabled 不生效;只有 read=false 且 disabled=true 时才禁用 + const isDisabled = disabled && !read + + const handleClick = (e: React.MouseEvent) => { + if (isDisabled) { + e.preventDefault() + e.stopPropagation() + return + } + onClick() + } + + const handleTouchEnd = (e: React.TouchEvent) => { + if (isDisabled) return + e.preventDefault() + onClick() + } + + return ( +
+ {!read && ( + + )} +
+ ) +} + +export default Cursor diff --git a/src/components/exhibit/ExhibitDescriptionNarration.tsx b/src/components/exhibit/ExhibitDescriptionNarration.tsx new file mode 100644 index 0000000..7b50318 --- /dev/null +++ b/src/components/exhibit/ExhibitDescriptionNarration.tsx @@ -0,0 +1,130 @@ +import { useEffect } from 'react' +import { cn, getBackgroundImage } from '@/lib/utils' +import { AnimatePresence, motion } from 'framer-motion' +import { useAudioManager } from '@/hooks/useAudioManager' + +export interface ExhibitDescriptionNarrationProps { + /** 描述文本 */ + text?: string + /** 是否可见 */ + visible?: boolean + /** 是否自动播放音频(默认 true) */ + autoPlay?: boolean + /** 音频文件地址 */ + audioSrc?: string + /** 音频分组 id,相同 channel 内互斥,不同 channel 可同时播放;不传则全局互斥 */ + audioChannelId?: string + /** 额外的自定义类 */ + className?: string +} + +/** + * 展品描述播报组件 + * - 显示展品描述文本 + * - 支持音频文件播放(通过 useAudioManager) + * - 提供播放/停止控制 + */ +const ExhibitDescriptionNarration = ({ + text, + visible = true, + autoPlay = true, + audioSrc, + audioChannelId = 'exhibit-description-narration', + className, +}: ExhibitDescriptionNarrationProps) => { + // 音频管理:默认全局互斥,如果传了 audioChannelId 则按 channel 互斥 + const { currentSrc, isPlaying, play, stop } = useAudioManager( + audioChannelId ? { mode: 'channel', channelId: audioChannelId } : { mode: 'global' } + ) + + // 当前组件对应的音频是否正在播放 + const isCurrentAudioPlaying = audioSrc && currentSrc === audioSrc && isPlaying + + // 自动播放音频 + useEffect(() => { + if (visible && autoPlay && audioSrc) { + play(audioSrc) + } + }, [visible, autoPlay, audioSrc, play]) + + // 组件不可见时停止音频(仅当当前播放的是该组件的 audioSrc) + useEffect(() => { + if (!visible && audioSrc && currentSrc === audioSrc) { + stop() + } + }, [visible, audioSrc, currentSrc, stop]) + + if (!text) return null + + return ( + + {visible && ( + + {/* */} +