docmk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/.claude/skills/pdf/SKILL.md +89 -0
  2. package/.claude/skills/web-scraping/SKILL.md +78 -0
  3. package/CLAUDE.md +90 -0
  4. package/bin/docmk.js +3 -0
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.js +636 -0
  7. package/dist/index.js.map +1 -0
  8. package/final-site/assets/main-B4orIFxK.css +1 -0
  9. package/final-site/assets/main-CSoKXua6.js +25 -0
  10. package/final-site/favicon.svg +4 -0
  11. package/final-site/index.html +26 -0
  12. package/final-site/robots.txt +4 -0
  13. package/final-site/sitemap.xml +14 -0
  14. package/my-docs/api/README.md +152 -0
  15. package/my-docs/api/advanced.md +260 -0
  16. package/my-docs/getting-started/README.md +24 -0
  17. package/my-docs/tutorials/README.md +272 -0
  18. package/my-docs/tutorials/customization.md +492 -0
  19. package/package.json +59 -0
  20. package/postcss.config.js +6 -0
  21. package/site/assets/main-BZUsYUCF.css +1 -0
  22. package/site/assets/main-q6laQtCD.js +114 -0
  23. package/site/favicon.svg +4 -0
  24. package/site/index.html +23 -0
  25. package/site/robots.txt +4 -0
  26. package/site/sitemap.xml +34 -0
  27. package/site-output/assets/main-B4orIFxK.css +1 -0
  28. package/site-output/assets/main-CSoKXua6.js +25 -0
  29. package/site-output/favicon.svg +4 -0
  30. package/site-output/index.html +26 -0
  31. package/site-output/robots.txt +4 -0
  32. package/site-output/sitemap.xml +14 -0
  33. package/src/builder/index.ts +189 -0
  34. package/src/builder/vite-dev.ts +117 -0
  35. package/src/cli/commands/build.ts +48 -0
  36. package/src/cli/commands/dev.ts +53 -0
  37. package/src/cli/commands/preview.ts +57 -0
  38. package/src/cli/index.ts +42 -0
  39. package/src/client/App.vue +15 -0
  40. package/src/client/components/SearchBox.vue +204 -0
  41. package/src/client/components/Sidebar.vue +18 -0
  42. package/src/client/components/SidebarItem.vue +108 -0
  43. package/src/client/index.html +21 -0
  44. package/src/client/layouts/AppLayout.vue +99 -0
  45. package/src/client/lib/utils.ts +6 -0
  46. package/src/client/main.ts +42 -0
  47. package/src/client/pages/Home.vue +279 -0
  48. package/src/client/pages/SkillPage.vue +565 -0
  49. package/src/client/router.ts +16 -0
  50. package/src/client/styles/global.css +92 -0
  51. package/src/client/utils/routes.ts +69 -0
  52. package/src/parser/index.ts +253 -0
  53. package/src/scanner/index.ts +127 -0
  54. package/src/types/index.ts +45 -0
  55. package/tailwind.config.js +65 -0
  56. package/test-build/assets/main-C2ARPC0e.css +1 -0
  57. package/test-build/assets/main-CHIQpV3B.js +25 -0
  58. package/test-build/favicon.svg +4 -0
  59. package/test-build/index.html +47 -0
  60. package/test-build/robots.txt +4 -0
  61. package/test-build/sitemap.xml +19 -0
  62. package/test-dist/assets/main-B4orIFxK.css +1 -0
  63. package/test-dist/assets/main-CSoKXua6.js +25 -0
  64. package/test-dist/favicon.svg +4 -0
  65. package/test-dist/index.html +26 -0
  66. package/test-dist/robots.txt +4 -0
  67. package/test-dist/sitemap.xml +14 -0
  68. package/tsconfig.json +30 -0
  69. package/tsup.config.ts +13 -0
  70. package/vite.config.ts +21 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/scanner/index.ts","../src/parser/index.ts","../src/cli/index.ts","../src/cli/commands/dev.ts","../src/builder/vite-dev.ts","../src/cli/commands/build.ts","../src/builder/index.ts","../src/cli/commands/preview.ts"],"sourcesContent":["import fs from 'fs/promises'\nimport path from 'path'\nimport { SkillDirectory, SkillFile } from '../types/index.js'\n\nexport async function scanSkillsDirectory(sourceDir: string): Promise<SkillDirectory[]> {\n try {\n await fs.access(sourceDir)\n } catch {\n throw new Error(`Source directory not found: ${sourceDir}`)\n }\n\n const entries = await fs.readdir(sourceDir, { withFileTypes: true })\n const directories: SkillDirectory[] = []\n\n for (const entry of entries) {\n if (entry.isDirectory()) {\n const dirPath = path.join(sourceDir, entry.name)\n const skillDirectory = await scanDirectory(dirPath, entry.name)\n directories.push(skillDirectory)\n }\n }\n\n return directories\n}\n\nasync function scanDirectory(dirPath: string, name: string): Promise<SkillDirectory> {\n const entries = await fs.readdir(dirPath, { withFileTypes: true })\n const children: (SkillDirectory | SkillFile)[] = []\n let skillFile: SkillFile | undefined\n\n for (const entry of entries) {\n const entryPath = path.join(dirPath, entry.name)\n\n if (entry.isDirectory()) {\n const subDir = await scanDirectory(entryPath, entry.name)\n children.push(subDir)\n } else if (entry.isFile() && entry.name.endsWith('.md')) {\n const file = await parseMarkdownFile(entryPath, entry.name)\n \n if (entry.name === 'SKILL.md') {\n skillFile = file\n } else {\n children.push(file)\n }\n }\n }\n\n return {\n path: dirPath,\n name,\n children,\n skillFile\n }\n}\n\nasync function parseMarkdownFile(filePath: string, fileName: string): Promise<SkillFile> {\n const content = await fs.readFile(filePath, 'utf-8')\n const stats = await fs.stat(filePath)\n\n // Basic frontmatter extraction\n const frontmatterMatch = content.match(/^---\\r?\\n([\\s\\S]*?)\\r?\\n---\\r?\\n/)\n const frontmatter: Record<string, any> = {}\n let markdownContent = content\n\n if (frontmatterMatch) {\n // Remove frontmatter from content\n markdownContent = content.slice(frontmatterMatch[0].length)\n \n // Parse frontmatter key-value pairs\n const fmLines = frontmatterMatch[1].split(/\\r?\\n/)\n for (const line of fmLines) {\n const colonIndex = line.indexOf(':')\n if (colonIndex > 0) {\n const key = line.slice(0, colonIndex).trim()\n const value = line.slice(colonIndex + 1).trim().replace(/^[\"']|[\"']$/g, '')\n if (key && value) {\n frontmatter[key] = value\n }\n }\n }\n }\n\n return {\n path: filePath,\n name: fileName,\n title: frontmatter.title || fileName.replace('.md', ''),\n description: frontmatter.description,\n content: markdownContent,\n frontmatter,\n lastModified: stats.mtime.getTime()\n }\n}\n\nexport async function watchSkillsDirectory(\n sourceDir: string, \n callback: (directories: SkillDirectory[]) => void\n) {\n const chokidar = await import('chokidar')\n \n const watcher = chokidar.watch(sourceDir, {\n ignored: /node_modules/,\n persistent: true,\n ignoreInitial: true\n })\n\n let debounceTimer: NodeJS.Timeout\n\n const handleChange = () => {\n clearTimeout(debounceTimer)\n debounceTimer = setTimeout(async () => {\n try {\n const directories = await scanSkillsDirectory(sourceDir)\n callback(directories)\n } catch (error) {\n console.error('Error rescanning source directory:', error)\n }\n }, 300)\n }\n\n watcher.on('add', handleChange)\n watcher.on('change', handleChange)\n watcher.on('unlink', handleChange)\n watcher.on('addDir', handleChange)\n watcher.on('unlinkDir', handleChange)\n\n return watcher\n}","import matter from 'gray-matter'\nimport MarkdownIt from 'markdown-it'\nimport { createHighlighter, Highlighter } from 'shiki'\nimport { SkillDirectory, SkillFile, SiteConfig, DocGenConfig, Navigation } from '../types/index.js'\n\nlet highlighter: Highlighter | null = null\n\nasync function getHighlighter() {\n if (!highlighter) {\n highlighter = await createHighlighter({\n themes: ['github-dark', 'github-light'],\n langs: ['javascript', 'typescript', 'bash', 'shell', 'json', 'html', 'css', 'vue', 'jsx', 'tsx', 'python', 'markdown', 'yaml', 'sql', 'go', 'rust', 'java', 'c', 'cpp']\n })\n }\n return highlighter\n}\n\nconst md = new MarkdownIt({\n html: true,\n linkify: true,\n typographer: true,\n highlight: function (str: string, lang: string) {\n // Synchronous fallback - actual highlighting done in enhanceFileContent\n return `<pre class=\"shiki-pending\" data-lang=\"${lang || 'text'}\"><code>${md.utils.escapeHtml(str)}</code></pre>`\n }\n})\n\nexport async function parseSkillsToConfig(\n directories: SkillDirectory[],\n siteConfig: SiteConfig\n): Promise<DocGenConfig> {\n const files: SkillFile[] = []\n const navigation = await generateNavigation(directories)\n\n // Collect all files for search indexing\n collectAllFiles(directories, files)\n\n // Enhance files with parsed content\n for (const file of files) {\n await enhanceFileContent(file)\n }\n\n return {\n siteConfig,\n navigation,\n files,\n directories\n }\n}\n\nfunction collectAllFiles(items: (SkillDirectory | SkillFile)[], files: SkillFile[]) {\n for (const item of items) {\n if ('content' in item) {\n // It's a SkillFile\n files.push(item)\n } else {\n // It's a SkillDirectory\n if (item.skillFile) {\n files.push(item.skillFile)\n }\n collectAllFiles(item.children, files)\n }\n }\n}\n\nasync function enhanceFileContent(file: SkillFile) {\n try {\n let content = file.content\n\n // Update title and description from frontmatter if available\n file.title = file.frontmatter.title || file.title\n file.description = file.frontmatter.description || file.description\n\n // Remove duplicate h1 if it matches frontmatter title\n if (file.frontmatter.title) {\n // Match first h1 heading in content (may have leading whitespace/newlines)\n const h1Match = content.match(/^\\s*#\\s+(.+)$/m)\n if (h1Match) {\n const h1Text = h1Match[1].trim()\n // If h1 matches title, remove it to avoid duplication\n if (h1Text === file.frontmatter.title) {\n content = content.replace(/^\\s*#\\s+.+\\n*/, '')\n }\n }\n }\n\n // Render markdown to HTML\n let html = md.render(content)\n \n // Apply syntax highlighting with shiki\n html = await highlightCodeBlocks(html)\n file.frontmatter.html = html\n\n // Extract headings for TOC\n const headings = extractHeadings(content)\n file.frontmatter.headings = headings\n\n } catch (error) {\n console.warn(`Failed to enhance content for ${file.path}:`, error)\n try {\n file.frontmatter.html = md.render(file.content)\n } catch (e) {\n console.error(`Failed to render markdown for ${file.path}:`, e)\n }\n }\n}\n\nasync function highlightCodeBlocks(html: string): Promise<string> {\n const hl = await getHighlighter()\n \n // Find all pending shiki code blocks and highlight them\n const codeBlockRegex = /<pre class=\"shiki-pending\" data-lang=\"([^\"]*)\"[^>]*><code>([^]*?)<\\/code><\\/pre>/g\n \n const matches = [...html.matchAll(codeBlockRegex)]\n \n for (const match of matches) {\n const [fullMatch, lang, escapedCode] = match\n // Unescape HTML entities\n const code = escapedCode\n .replace(/&lt;/g, '<')\n .replace(/&gt;/g, '>')\n .replace(/&amp;/g, '&')\n .replace(/&quot;/g, '\"')\n .replace(/&#39;/g, \"'\")\n \n try {\n const validLang = hl.getLoadedLanguages().includes(lang) ? lang : 'text'\n const highlighted = hl.codeToHtml(code, {\n lang: validLang,\n theme: 'github-dark'\n })\n html = html.replace(fullMatch, highlighted)\n } catch (e) {\n // Keep original if highlighting fails\n console.warn(`Failed to highlight ${lang}:`, e)\n }\n }\n \n return html\n}\n\nfunction extractHeadings(content: string) {\n const headings: Array<{ level: number; text: string; anchor: string }> = []\n const lines = content.split('\\n')\n\n for (const line of lines) {\n const match = line.match(/^(#{1,6})\\\\s+(.+)$/)\n if (match) {\n const level = match[1].length\n const text = match[2].trim()\n const anchor = text.toLowerCase()\n .replace(/[^\\\\w\\\\s-]/g, '')\n .replace(/\\\\s+/g, '-')\n .trim()\n\n headings.push({ level, text, anchor })\n }\n }\n\n return headings\n}\n\nasync function generateNavigation(directories: SkillDirectory[]): Promise<Navigation[]> {\n const navigation: Navigation[] = []\n\n for (const dir of directories) {\n const navItem: Navigation = {\n text: dir.skillFile?.title || formatDirName(dir.name),\n link: dir.skillFile ? getFileRoute(dir.skillFile) : undefined\n }\n\n if (dir.children.length > 0) {\n navItem.children = []\n \n for (const child of dir.children) {\n if ('content' in child) {\n // It's a file\n navItem.children.push({\n text: child.title || formatFileName(child.name),\n link: getFileRoute(child)\n })\n } else {\n // It's a subdirectory\n const subNav = await generateNavigation([child])\n navItem.children.push(...subNav)\n }\n }\n }\n\n navigation.push(navItem)\n }\n\n return navigation\n}\n\nfunction getFileRoute(file: SkillFile): string {\n // Import the utility function from client utils\n // For now, use inline implementation\n const filePath = file.path\n \n // Try common patterns\n const patterns = ['my-docs', 'docs', 'documentation', '.claude/skills']\n let relativePath = ''\n \n for (const pattern of patterns) {\n const index = filePath.indexOf(pattern)\n if (index !== -1) {\n relativePath = filePath.slice(index + pattern.length)\n break\n }\n }\n \n if (!relativePath) {\n // Fallback: use last 2 segments\n const segments = filePath.split('/').filter(Boolean)\n if (segments.length >= 2) {\n relativePath = '/' + segments.slice(-2).join('/')\n } else {\n return '/'\n }\n }\n \n const segments = relativePath.split('/').filter(Boolean)\n \n if (segments.length === 0) return '/'\n \n // Remove file extension\n const lastSegment = segments[segments.length - 1]\n if (lastSegment.endsWith('.md')) {\n segments[segments.length - 1] = lastSegment.slice(0, -3)\n }\n \n // SKILL.md and README.md should map to parent directory route\n const finalSegment = segments[segments.length - 1]\n if (finalSegment === 'SKILL' || finalSegment === 'README') {\n segments.pop()\n }\n \n return '/' + segments.join('/')\n}\n\nfunction formatDirName(name: string): string {\n return name.split('-').map(word => \n word.charAt(0).toUpperCase() + word.slice(1)\n ).join(' ')\n}\n\nfunction formatFileName(name: string): string {\n const baseName = name.replace('.md', '')\n return formatDirName(baseName)\n}\n\nexport { md as markdownRenderer }","#!/usr/bin/env node\n\nimport { Command } from 'commander'\nimport { devCommand } from './commands/dev.js'\nimport { buildCommand } from './commands/build.js'\nimport { previewCommand } from './commands/preview.js'\n\nconst program = new Command()\n\nprogram\n .name('docmk')\n .description('CLI tool for generating documentation from any directory')\n .version('1.0.0')\n .argument('[directory]', 'Source directory path (starts dev server)', './docs')\n .option('-p, --port <port>', 'Port to run dev server on', '3000')\n .action((directory, options) => {\n // Default action: start dev server\n devCommand({ dir: directory, port: options.port })\n })\n\nprogram\n .command('dev')\n .description('Start development server')\n .option('-p, --port <port>', 'Port to run dev server on', '3000')\n .option('-d, --dir <directory>', 'Source directory path', './docs')\n .action(devCommand)\n\nprogram\n .command('build')\n .description('Build static documentation site')\n .option('-d, --dir <directory>', 'Source directory path', './docs')\n .option('-o, --output <directory>', 'Output directory', 'dist')\n .action(buildCommand)\n\nprogram\n .command('preview')\n .description('Preview built documentation site')\n .option('-p, --port <port>', 'Port to run preview server on', '4173')\n .option('-o, --output <directory>', 'Built site directory', 'dist')\n .action(previewCommand)\n\nprogram.parse()","import path from 'path'\nimport { createViteDevServer } from '../../builder/vite-dev.js'\nimport { scanSkillsDirectory } from '../../scanner/index.js'\nimport { parseSkillsToConfig } from '../../parser/index.js'\n\ninterface DevOptions {\n port: string\n dir: string\n}\n\nexport async function devCommand(options: DevOptions) {\n console.log('🚀 Starting DocGen development server...')\n \n const sourceDir = path.resolve(process.cwd(), options.dir)\n const port = parseInt(options.port, 10)\n \n try {\n // Check if source directory exists\n console.log(`📁 Scanning source directory: ${sourceDir}`)\n const directories = await scanSkillsDirectory(sourceDir)\n \n console.log(`✅ Found ${directories.length} directories`)\n \n // Parse to config\n const config = await parseSkillsToConfig(directories, {\n title: 'Documentation',\n description: 'Documentation generated from source directory',\n baseUrl: '/',\n skillsDir: sourceDir,\n outputDir: 'dist'\n })\n \n // Start Vite dev server\n const server = await createViteDevServer({\n port,\n skillsDir: sourceDir,\n config\n })\n \n console.log(`🎉 Dev server running at http://localhost:${port}`)\n \n // Handle graceful shutdown\n process.on('SIGINT', async () => {\n console.log('\\\\n👋 Shutting down dev server...')\n await server.close()\n process.exit(0)\n })\n \n } catch (error) {\n console.error('❌ Failed to start dev server:', error)\n process.exit(1)\n }\n}","import { createServer, ViteDevServer } from 'vite'\nimport vue from '@vitejs/plugin-vue'\nimport path from 'path'\nimport { DocGenConfig } from '../types/index.js'\nimport { scanSkillsDirectory, watchSkillsDirectory } from '../scanner/index.js'\nimport { parseSkillsToConfig } from '../parser/index.js'\n\ninterface DevServerOptions {\n port: number\n skillsDir: string\n config: DocGenConfig\n}\n\nexport async function createViteDevServer(options: DevServerOptions): Promise<ViteDevServer> {\n let currentConfig = options.config\n\n const server = await createServer({\n root: path.resolve(process.cwd(), 'src/client'),\n server: {\n port: options.port,\n host: 'localhost'\n },\n plugins: [\n vue(),\n // Custom plugin to inject config and handle API routes\n {\n name: 'docgen-dev',\n configureServer(server) {\n // API endpoint for configuration\n server.middlewares.use('/api/config', (req, res, next) => {\n if (req.method === 'GET') {\n res.setHeader('Content-Type', 'application/json')\n res.end(JSON.stringify(currentConfig))\n } else {\n next()\n }\n })\n\n // Inject config into HTML\n server.middlewares.use((req, res, next) => {\n if (req.url === '/' || req.url === '/index.html') {\n // Let Vite handle the HTML transformation\n next()\n } else {\n next()\n }\n })\n },\n transformIndexHtml: {\n order: 'pre',\n handler(html) {\n // Inject lightweight config placeholder\n // Full config will be loaded via API to avoid HTML parsing issues\n const configScript = `\n <script>\n // Config will be loaded from /api/config\n globalThis.__DOCGEN_CONFIG__ = null;\n </script>\n `\n return html.replace('<head>', `<head>${configScript}`)\n }\n }\n }\n ],\n resolve: {\n alias: {\n '@': path.resolve(process.cwd(), 'src/client')\n }\n },\n define: {\n __DOCGEN_CONFIG__: JSON.stringify(currentConfig)\n }\n })\n\n // Watch skills directory for changes\n const watcher = await watchSkillsDirectory(options.skillsDir, async (directories) => {\n console.log('📝 Skills directory changed, updating configuration...')\n \n try {\n currentConfig = await parseSkillsToConfig(directories, currentConfig.siteConfig)\n \n // Notify all connected clients to reload\n server.ws.send({\n type: 'full-reload'\n })\n \n console.log('✅ Configuration updated')\n } catch (error) {\n console.error('❌ Failed to update configuration:', error)\n \n // Send error to clients\n server.ws.send({\n type: 'error',\n err: {\n message: `Failed to update configuration: ${error.message}`,\n stack: error.stack\n }\n })\n }\n })\n\n // Start the server\n await server.listen()\n\n // Extend server with cleanup method\n const originalClose = server.close.bind(server)\n server.close = async () => {\n await watcher?.close()\n return originalClose()\n }\n\n return server\n}\n\nexport async function createProductionBuild() {\n // This will be implemented in the builder\n}","import path from 'path'\nimport { buildSite } from '../../builder/index.js'\nimport { scanSkillsDirectory } from '../../scanner/index.js'\nimport { parseSkillsToConfig } from '../../parser/index.js'\n\ninterface BuildOptions {\n dir: string\n output: string\n}\n\nexport async function buildCommand(options: BuildOptions) {\n console.log('🏗️ Building DocGen documentation site...')\n \n const sourceDir = path.resolve(process.cwd(), options.dir)\n const outputDir = path.resolve(process.cwd(), options.output)\n \n try {\n // Scan source directory\n console.log(`📁 Scanning source directory: ${sourceDir}`)\n const directories = await scanSkillsDirectory(sourceDir)\n \n console.log(`✅ Found ${directories.length} directories`)\n \n // Parse to config\n const config = await parseSkillsToConfig(directories, {\n title: 'Documentation',\n description: 'Documentation generated from source directory',\n baseUrl: '/',\n skillsDir: sourceDir,\n outputDir\n })\n \n // Build site\n console.log(`📦 Building to: ${outputDir}`)\n await buildSite({\n input: sourceDir,\n output: outputDir,\n mode: 'production'\n }, config)\n \n console.log('✅ Build completed successfully!')\n console.log(`📂 Built files are in: ${outputDir}`)\n \n } catch (error) {\n console.error('❌ Build failed:', error)\n process.exit(1)\n }\n}","import { build } from 'vite'\nimport vue from '@vitejs/plugin-vue'\nimport path from 'path'\nimport fs from 'fs/promises'\nimport { DocGenConfig, BuildOptions } from '../types/index.js'\n\nexport async function buildSite(options: BuildOptions, config: DocGenConfig) {\n console.log('🏗️ Building documentation site...')\n \n // Ensure output directory exists\n await fs.mkdir(options.output, { recursive: true })\n \n // Write config to a temporary file for the build process\n const configPath = path.join(process.cwd(), 'temp-config.json')\n await fs.writeFile(configPath, JSON.stringify(config, null, 2))\n \n try {\n // Build the client application\n await build({\n root: path.resolve(process.cwd(), 'src/client'),\n base: config.siteConfig.baseUrl,\n build: {\n outDir: options.output,\n emptyOutDir: true,\n rollupOptions: {\n input: {\n main: path.resolve(process.cwd(), 'src/client/index.html')\n }\n }\n },\n plugins: [\n vue(),\n // Plugin to inject config during build\n {\n name: 'docgen-build',\n transformIndexHtml: {\n order: 'pre',\n handler(html) {\n // Encode config as base64 with proper UTF-8 handling\n const configJson = JSON.stringify(config)\n // Use encodeURIComponent to handle UTF-8 properly before base64\n const utf8Encoded = unescape(encodeURIComponent(configJson))\n const configBase64 = Buffer.from(utf8Encoded, 'binary').toString('base64')\n // Decode: atob -> decodeURIComponent(escape()) to restore UTF-8\n const configScript = `<script>globalThis.__DOCGEN_CONFIG__=JSON.parse(decodeURIComponent(escape(atob(\"${configBase64}\"))));</script>`\n return html.replace('</head>', `${configScript}\\n</head>`)\n }\n }\n }\n ],\n resolve: {\n alias: {\n '@': path.resolve(process.cwd(), 'src/client')\n }\n },\n define: {\n __DOCGEN_CONFIG__: JSON.stringify(config)\n }\n })\n \n // Generate additional static files\n await generateSitemap(options.output, config)\n await generateRobotsTxt(options.output, config)\n await copyAssets(options.output)\n \n console.log('✅ Build completed successfully!')\n \n } finally {\n // Clean up temporary config file\n try {\n await fs.unlink(configPath)\n } catch {\n // Ignore if file doesn't exist\n }\n }\n}\n\nasync function generateSitemap(outputDir: string, config: DocGenConfig) {\n console.log('📄 Generating sitemap...')\n \n const baseUrl = config.siteConfig.baseUrl.replace(/\\/$/, '')\n const urls: string[] = []\n \n // Add home page\n urls.push(`${baseUrl}/`)\n \n // Add all skill pages\n for (const file of config.files) {\n const route = getFileRoute(file.path, config.siteConfig.skillsDir)\n if (route !== '/') {\n urls.push(`${baseUrl}${route}`)\n }\n }\n \n const sitemap = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n${urls.map(url => ` <url>\n <loc>${url}</loc>\n <lastmod>${new Date().toISOString().split('T')[0]}</lastmod>\n <changefreq>weekly</changefreq>\n <priority>0.8</priority>\n </url>`).join('\\\\n')}\n</urlset>`\n \n await fs.writeFile(path.join(outputDir, 'sitemap.xml'), sitemap)\n}\n\nasync function generateRobotsTxt(outputDir: string, config: DocGenConfig) {\n console.log('🤖 Generating robots.txt...')\n \n const baseUrl = config.siteConfig.baseUrl.replace(/\\/$/, '')\n const robotsTxt = `User-agent: *\nAllow: /\n\nSitemap: ${baseUrl}/sitemap.xml`\n \n await fs.writeFile(path.join(outputDir, 'robots.txt'), robotsTxt)\n}\n\nasync function copyAssets(outputDir: string) {\n console.log('📁 Copying static assets...')\n \n // Create a simple favicon if it doesn't exist\n const faviconPath = path.join(outputDir, 'favicon.ico')\n \n try {\n await fs.access(faviconPath)\n } catch {\n // Create a simple SVG favicon\n const faviconSvg = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\">\n <rect width=\"32\" height=\"32\" rx=\"4\" fill=\"#3182ce\"/>\n <text x=\"16\" y=\"22\" text-anchor=\"middle\" fill=\"white\" font-family=\"system-ui\" font-size=\"18\" font-weight=\"bold\">D</text>\n</svg>`\n \n await fs.writeFile(path.join(outputDir, 'favicon.svg'), faviconSvg)\n }\n}\n\nfunction getFileRoute(filePath: string, baseDir: string): string {\n // Normalize paths for comparison\n const normalizedFilePath = path.normalize(filePath)\n const normalizedBaseDir = path.normalize(baseDir)\n \n // Check if file is within base directory\n if (!normalizedFilePath.startsWith(normalizedBaseDir)) {\n return '/'\n }\n \n // Get relative path from base directory\n const relativePath = normalizedFilePath.slice(normalizedBaseDir.length)\n const segments = relativePath.split(path.sep).filter(Boolean)\n \n if (segments.length === 0) return '/'\n \n const lastSegment = segments[segments.length - 1]\n if (lastSegment.endsWith('.md')) {\n segments[segments.length - 1] = lastSegment.slice(0, -3)\n }\n \n // SKILL.md and README.md should map to parent directory route\n const finalSegment = segments[segments.length - 1]\n if (finalSegment === 'SKILL' || finalSegment === 'README') {\n segments.pop()\n }\n\n return '/' + segments.join('/')\n}\n\nexport async function buildForProduction(sourceDir: string, outputDir: string): Promise<DocGenConfig> {\n const { scanSkillsDirectory } = await import('../scanner/index.js')\n const { parseSkillsToConfig } = await import('../parser/index.js')\n \n const directories = await scanSkillsDirectory(sourceDir)\n const config = await parseSkillsToConfig(directories, {\n title: 'Documentation',\n description: 'Documentation generated from source directory',\n baseUrl: '/',\n skillsDir: sourceDir,\n outputDir\n })\n \n await buildSite({\n input: sourceDir,\n output: outputDir,\n mode: 'production'\n }, config)\n \n return config\n}","import path from 'path'\nimport fs from 'fs/promises'\nimport sirv from 'sirv'\nimport { createServer } from 'http'\n\ninterface PreviewOptions {\n port: string\n output: string\n}\n\nexport async function previewCommand(options: PreviewOptions) {\n console.log('👀 Starting DocGen preview server...')\n \n const outputDir = path.resolve(process.cwd(), options.output)\n const port = parseInt(options.port, 10)\n \n try {\n // Check if build directory exists\n try {\n await fs.access(outputDir)\n } catch {\n console.error(`❌ Build directory not found: ${outputDir}`)\n console.log('💡 Run \"docgen build\" first to generate the static site')\n process.exit(1)\n }\n \n // Create static file server\n const serve = sirv(outputDir, {\n single: true, // SPA mode\n dev: false,\n setHeaders: (res, pathname) => {\n if (pathname.endsWith('.html') || pathname === '/') {\n res.setHeader('Content-Type', 'text/html; charset=utf-8')\n }\n }\n })\n \n const server = createServer(serve)\n \n server.listen(port, () => {\n console.log(`🎉 Preview server running at http://localhost:${port}`)\n console.log(`📂 Serving files from: ${outputDir}`)\n })\n \n // Handle graceful shutdown\n process.on('SIGINT', () => {\n console.log('\\\\n👋 Shutting down preview server...')\n server.close(() => {\n process.exit(0)\n })\n })\n \n } catch (error) {\n console.error('❌ Failed to start preview server:', error)\n process.exit(1)\n }\n}"],"mappings":"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","names":["segments","path","path","server","path","path","vue","path","fs","getFileRoute","path","path","fs","createServer"]}
@@ -0,0 +1 @@
1
+ .sidebar-item[data-v-b5febdd6]{margin-bottom:.25rem}.item-wrapper[data-v-b5febdd6]{display:flex;align-items:center;padding:.5rem 1.5rem;position:relative}.expand-button[data-v-b5febdd6]{background:none;border:none;color:#666;cursor:pointer;padding:.25rem;margin-right:.5rem;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.expand-button.expanded[data-v-b5febdd6]{transform:rotate(90deg)}.expand-button[data-v-b5febdd6]:hover{color:#333}.nav-link[data-v-b5febdd6],.nav-text[data-v-b5febdd6]{flex:1;text-decoration:none;color:#555;font-weight:500;font-size:.9rem;line-height:1.4;transition:color .2s ease}.nav-link[data-v-b5febdd6]:hover{color:#3182ce}.nav-link.active[data-v-b5febdd6]{color:#3182ce;font-weight:600;position:relative}.nav-link.active[data-v-b5febdd6]:before{content:"";position:absolute;left:-1.5rem;top:50%;transform:translateY(-50%);width:3px;height:20px;background-color:#3182ce;border-radius:2px}.nav-text[data-v-b5febdd6]{color:#333;font-weight:600}.children[data-v-b5febdd6]{overflow:hidden;max-height:0;transition:max-height .3s ease;padding-left:1rem}.children.expanded[data-v-b5febdd6]{max-height:1000px}.children .sidebar-item[data-v-b5febdd6]{margin-left:1rem}.children .nav-link[data-v-b5febdd6],.children .nav-text[data-v-b5febdd6]{font-size:.85rem;font-weight:400;color:#666}.children .nav-link[data-v-b5febdd6]:hover{color:#3182ce}.children .nav-link.active[data-v-b5febdd6]{color:#3182ce;font-weight:500}.sidebar-nav[data-v-014c42bf]{height:100%;overflow-y:auto}.nav-content[data-v-014c42bf]{padding:1.5rem 0}.search-box[data-v-732fbf59]{position:relative;width:100%}.relative[data-v-732fbf59]{position:relative}.absolute[data-v-732fbf59]{position:absolute}.w-full[data-v-732fbf59]{width:100%}.h-4[data-v-732fbf59]{height:1rem}.w-4[data-v-732fbf59]{width:1rem}.h-5[data-v-732fbf59]{height:1.25rem}.h-9[data-v-732fbf59]{height:2.25rem}.left-3[data-v-732fbf59]{left:.75rem}.right-3[data-v-732fbf59]{right:.75rem}.top-1\/2[data-v-732fbf59]{top:50%}.top-full[data-v-732fbf59]{top:100%}.left-0[data-v-732fbf59]{left:0}.right-0[data-v-732fbf59]{right:0}.-translate-y-1\/2[data-v-732fbf59]{transform:translateY(-50%)}.pl-9[data-v-732fbf59]{padding-left:2.25rem}.pr-4[data-v-732fbf59]{padding-right:1rem}.px-1\.5[data-v-732fbf59]{padding-left:.375rem;padding-right:.375rem}.p-3[data-v-732fbf59]{padding:.75rem}.p-4[data-v-732fbf59]{padding:1rem}.mt-2[data-v-732fbf59]{margin-top:.5rem}.mb-1[data-v-732fbf59]{margin-bottom:.25rem}.gap-1[data-v-732fbf59]{gap:.25rem}.text-sm[data-v-732fbf59]{font-size:.875rem}.text-xs[data-v-732fbf59]{font-size:.75rem}.font-medium[data-v-732fbf59]{font-weight:500}.font-mono[data-v-732fbf59]{font-family:var(--font-mono)}.text-muted-foreground[data-v-732fbf59]{color:var(--color-muted-foreground)}.text-foreground[data-v-732fbf59]{color:var(--color-foreground)}.placeholder-muted-foreground[data-v-732fbf59]::placeholder{color:var(--color-muted-foreground)}.bg-secondary[data-v-732fbf59]{background-color:var(--color-secondary)}.bg-muted[data-v-732fbf59]{background-color:var(--color-muted)}.bg-card[data-v-732fbf59]{background-color:var(--color-card)}.bg-accent[data-v-732fbf59]{background-color:var(--color-accent)}.border[data-v-732fbf59]{border-width:1px}.border-b[data-v-732fbf59]{border-bottom-width:1px}.border-border[data-v-732fbf59]{border-color:var(--color-border)}.rounded-md[data-v-732fbf59]{border-radius:var(--radius-md)}.rounded-lg[data-v-732fbf59]{border-radius:var(--radius-lg)}.rounded[data-v-732fbf59]{border-radius:var(--radius-sm)}.shadow-lg[data-v-732fbf59]{box-shadow:var(--shadow-lg)}.z-50[data-v-732fbf59]{z-index:50}.max-h-96[data-v-732fbf59]{max-height:24rem}.overflow-y-auto[data-v-732fbf59]{overflow-y:auto}.items-center[data-v-732fbf59]{align-items:center}.text-center[data-v-732fbf59]{text-align:center}.block[data-v-732fbf59]{display:block}.hidden[data-v-732fbf59]{display:none}.inline-flex[data-v-732fbf59]{display:inline-flex}.transition-colors[data-v-732fbf59]{transition:color .2s ease,background-color .2s ease}.hover\:bg-accent[data-v-732fbf59]:hover{background-color:var(--color-accent)}.last\:border-b-0[data-v-732fbf59]:last-child{border-bottom-width:0}.line-clamp-2[data-v-732fbf59]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.focus-outline[data-v-732fbf59]:focus{outline:none;border-color:var(--color-ring);box-shadow:0 0 0 2px #0000001a}@media (min-width: 640px){.sm\:inline-flex[data-v-732fbf59]{display:inline-flex}}.min-h-screen[data-v-073699c3]{min-height:100vh}.bg-background[data-v-073699c3]{background-color:var(--color-background)}.sticky[data-v-073699c3]{position:sticky}.top-0[data-v-073699c3]{top:0}.z-50[data-v-073699c3]{z-index:50}.z-40[data-v-073699c3]{z-index:40}.border-b[data-v-073699c3]{border-bottom:1px solid var(--color-border)}.border-r[data-v-073699c3]{border-right:1px solid var(--color-border)}.border-border[data-v-073699c3]{border-color:var(--color-border)}.backdrop-blur-sm[data-v-073699c3]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.flex[data-v-073699c3]{display:flex}.items-center[data-v-073699c3]{align-items:center}.justify-between[data-v-073699c3]{justify-between:space-between}.gap-2[data-v-073699c3]{gap:.5rem}.gap-4[data-v-073699c3]{gap:1rem}.h-5[data-v-073699c3]{height:1.25rem}.w-5[data-v-073699c3]{width:1.25rem}.h-7[data-v-073699c3]{height:1.75rem}.w-7[data-v-073699c3]{width:1.75rem}.h-14[data-v-073699c3]{height:3.5rem}.w-64[data-v-073699c3]{width:16rem}.px-4[data-v-073699c3]{padding-left:1rem;padding-right:1rem}.px-6[data-v-073699c3]{padding-left:1.5rem;padding-right:1.5rem}.py-10[data-v-073699c3]{padding-top:2.5rem;padding-bottom:2.5rem}.p-2[data-v-073699c3]{padding:.5rem}.p-4[data-v-073699c3]{padding:1rem}.-ml-2[data-v-073699c3]{margin-left:-.5rem}.mx-8[data-v-073699c3]{margin-left:2rem;margin-right:2rem}.mx-auto[data-v-073699c3]{margin-left:auto;margin-right:auto}.max-w-md[data-v-073699c3]{max-width:28rem}.max-w-4xl[data-v-073699c3]{max-width:56rem}.flex-1[data-v-073699c3]{flex:1}.min-w-0[data-v-073699c3]{min-width:0}.rounded-md[data-v-073699c3]{border-radius:var(--radius-md)}.font-semibold[data-v-073699c3]{font-weight:600}.font-bold[data-v-073699c3]{font-weight:700}.text-sm[data-v-073699c3]{font-size:.875rem}.text-foreground[data-v-073699c3]{color:var(--color-foreground)}.text-primary-foreground[data-v-073699c3]{color:var(--color-primary-foreground)}.text-muted-foreground[data-v-073699c3]{color:var(--color-muted-foreground)}.bg-primary[data-v-073699c3]{background-color:var(--color-primary)}.bg-background\/80[data-v-073699c3]{background-color:#fffc}.hover\:bg-accent[data-v-073699c3]:hover{background-color:var(--color-accent)}.hover\:text-foreground[data-v-073699c3]:hover{color:var(--color-foreground)}.transition-colors[data-v-073699c3]{transition:color .2s ease,background-color .2s ease}.transition-transform[data-v-073699c3]{transition:transform .3s ease}.overflow-y-auto[data-v-073699c3]{overflow-y:auto}.fixed[data-v-073699c3]{position:fixed}.inset-0[data-v-073699c3]{top:0;right:0;bottom:0;left:0}.top-14[data-v-073699c3]{top:3.5rem}.h-\[calc\(100vh-3\.5rem\)\][data-v-073699c3]{height:calc(100vh - 3.5rem)}.-translate-x-full[data-v-073699c3]{transform:translate(-100%)}.translate-x-0[data-v-073699c3]{transform:translate(0)}.hidden[data-v-073699c3]{display:none}@media (min-width: 640px){.sm\:flex[data-v-073699c3]{display:flex}}@media (min-width: 1024px){.lg\:hidden[data-v-073699c3]{display:none}.lg\:px-6[data-v-073699c3]{padding-left:1.5rem;padding-right:1.5rem}.lg\:px-8[data-v-073699c3]{padding-left:2rem;padding-right:2rem}.lg\:sticky[data-v-073699c3]{position:sticky}.lg\:translate-x-0[data-v-073699c3]{transform:translate(0)}}#app[data-v-00943de1]{min-height:100vh}.home-page[data-v-12e10d98]{max-width:1000px;margin:0 auto}.hero-section[data-v-12e10d98]{text-align:center;padding:3rem 0;margin-bottom:3rem}.hero-title[data-v-12e10d98]{font-size:3rem;font-weight:700;color:#2c3e50;margin-bottom:1rem}.hero-description[data-v-12e10d98]{font-size:1.2rem;color:#666;max-width:600px;margin:0 auto;line-height:1.6}.content-overview[data-v-12e10d98]{space-y:3rem}.stats-grid[data-v-12e10d98]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card[data-v-12e10d98]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;border-radius:12px;text-align:center;box-shadow:0 4px 6px #0000001a}.stat-number[data-v-12e10d98]{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.stat-label[data-v-12e10d98]{font-size:1rem;opacity:.9}.recent-section[data-v-12e10d98],.navigation-section[data-v-12e10d98]{margin-bottom:3rem}.recent-section h2[data-v-12e10d98],.navigation-section h2[data-v-12e10d98]{font-size:1.8rem;font-weight:600;color:#2c3e50;margin-bottom:1.5rem}.recent-files[data-v-12e10d98]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.recent-file-card[data-v-12e10d98]{background:#fff;border:1px solid #e1e5e9;border-radius:8px;padding:1.5rem;text-decoration:none;color:inherit;transition:all .2s ease}.recent-file-card[data-v-12e10d98]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#3182ce}.file-title[data-v-12e10d98]{font-weight:600;color:#2c3e50;margin-bottom:.5rem}.file-description[data-v-12e10d98]{color:#666;font-size:.9rem;margin-bottom:1rem;line-height:1.4}.file-meta[data-v-12e10d98]{color:#999;font-size:.8rem}.skill-grid[data-v-12e10d98]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.skill-card[data-v-12e10d98]{background:#fff;border:1px solid #e1e5e9;border-radius:8px;padding:1.5rem;text-decoration:none;color:inherit;transition:all .2s ease}.skill-card[data-v-12e10d98]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#3182ce}.skill-name[data-v-12e10d98]{font-weight:600;color:#2c3e50;font-size:1.1rem;margin-bottom:.5rem}.skill-description[data-v-12e10d98]{color:#666;font-size:.9rem;line-height:1.4;margin-bottom:1rem}.skill-files-count[data-v-12e10d98]{color:#3182ce;font-size:.8rem;font-weight:500}@media (max-width: 768px){.hero-title[data-v-12e10d98]{font-size:2rem}.hero-description[data-v-12e10d98]{font-size:1rem}.stats-grid[data-v-12e10d98],.recent-files[data-v-12e10d98],.skill-grid[data-v-12e10d98]{grid-template-columns:1fr}}.skill-page[data-v-a95b5427]{max-width:800px;margin:0 auto}.skill-header[data-v-a95b5427]{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e1e5e9}.skill-title[data-v-a95b5427]{font-size:2.5rem;font-weight:700;color:#2c3e50;margin-bottom:1rem;line-height:1.2}.skill-description[data-v-a95b5427]{font-size:1.2rem;color:#666;margin-bottom:1rem;line-height:1.6}.skill-meta[data-v-a95b5427]{color:#999;font-size:.9rem}.toc[data-v-a95b5427]{background:#f8f9fa;border:1px solid #e1e5e9;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.toc h3[data-v-a95b5427]{margin:0 0 1rem;color:#2c3e50;font-size:1.1rem}.toc-list[data-v-a95b5427]{list-style:none;padding:0;margin:0}.toc-list li[data-v-a95b5427]{margin-bottom:.5rem}.toc-level-1[data-v-a95b5427]{padding-left:0}.toc-level-2[data-v-a95b5427]{padding-left:1rem}.toc-level-3[data-v-a95b5427]{padding-left:2rem}.toc-level-4[data-v-a95b5427]{padding-left:3rem}.toc-level-5[data-v-a95b5427]{padding-left:4rem}.toc-level-6[data-v-a95b5427]{padding-left:5rem}.toc-link[data-v-a95b5427]{color:#555;text-decoration:none;font-size:.9rem;transition:color .2s ease}.toc-link[data-v-a95b5427]:hover{color:#3182ce}.markdown-content[data-v-a95b5427]{line-height:1.7;color:#333}.page-navigation[data-v-a95b5427]{display:flex;justify-content:space-between;margin-top:3rem;padding-top:2rem;border-top:1px solid #e1e5e9;gap:1rem}.nav-link[data-v-a95b5427]{flex:1;text-decoration:none;color:inherit;padding:1.5rem;border:1px solid #e1e5e9;border-radius:8px;transition:all .2s ease}.nav-link[data-v-a95b5427]:hover{border-color:#3182ce;box-shadow:0 2px 8px #0000001a}.nav-prev[data-v-a95b5427]{text-align:left}.nav-next[data-v-a95b5427]{text-align:right}.nav-direction[data-v-a95b5427]{color:#3182ce;font-size:.9rem;font-weight:500;margin-bottom:.25rem}.nav-title[data-v-a95b5427]{color:#2c3e50;font-weight:600}.not-found[data-v-a95b5427]{text-align:center;padding:3rem 0}.not-found h1[data-v-a95b5427]{font-size:2rem;color:#2c3e50;margin-bottom:1rem}.not-found p[data-v-a95b5427]{color:#666;margin-bottom:2rem}.back-home[data-v-a95b5427]{color:#3182ce;text-decoration:none;font-weight:500}.back-home[data-v-a95b5427]:hover{text-decoration:underline}@media (max-width: 768px){.skill-title[data-v-a95b5427]{font-size:2rem}.page-navigation[data-v-a95b5427]{flex-direction:column}.nav-next[data-v-a95b5427]{text-align:left}}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{color:#2c3e50;font-weight:600;margin-top:2rem;margin-bottom:1rem;line-height:1.3}.markdown-content h1{font-size:2rem}.markdown-content h2{font-size:1.5rem}.markdown-content h3{font-size:1.25rem}.markdown-content h4{font-size:1.1rem}.markdown-content p{margin-bottom:1rem}.markdown-content ul,.markdown-content ol{margin-bottom:1rem;padding-left:1.5rem}.markdown-content li{margin-bottom:.5rem}.markdown-content code{background:#f1f3f4;padding:.2rem .4rem;border-radius:3px;font-family:SF Mono,Consolas,monospace;font-size:.9em}.markdown-content pre{background:#f8f9fa;border:1px solid #e1e5e9;border-radius:6px;padding:1rem;overflow-x:auto;margin:1rem 0}.markdown-content pre code{background:none;padding:0;border-radius:0}.markdown-content blockquote{border-left:4px solid #3182ce;padding-left:1rem;margin:1rem 0;color:#666;font-style:italic}.markdown-content table{width:100%;border-collapse:collapse;margin:1rem 0}.markdown-content th,.markdown-content td{border:1px solid #e1e5e9;padding:.5rem;text-align:left}.markdown-content th{background:#f8f9fa;font-weight:600}:root{--color-background: #ffffff;--color-foreground: #0a0a0a;--color-muted: #f5f5f5;--color-muted-foreground: #737373;--color-border: #e5e5e5;--color-accent: #f5f5f5;--color-accent-foreground: #0a0a0a;--color-primary: #0a0a0a;--color-primary-foreground: #fafafa;--color-secondary: #f5f5f5;--color-secondary-foreground: #0a0a0a;--color-card: #ffffff;--color-card-foreground: #0a0a0a;--color-ring: #0a0a0a;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica", "Arial", sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", "Source Code Pro", Menlo, Consolas, monospace;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1)}@media (prefers-color-scheme: dark){:root{--color-background: #0a0a0a;--color-foreground: #fafafa;--color-muted: #171717;--color-muted-foreground: #a3a3a3;--color-border: #262626;--color-accent: #171717;--color-accent-foreground: #fafafa;--color-primary: #fafafa;--color-primary-foreground: #0a0a0a;--color-secondary: #171717;--color-secondary-foreground: #fafafa;--color-card: #0a0a0a;--color-card-foreground: #fafafa;--color-ring: #fafafa}}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);line-height:1.6;color:var(--color-foreground);background-color:var(--color-background)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-muted)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-muted-foreground)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--color-foreground)}a{color:var(--color-primary);text-decoration:none;transition:opacity .2s ease}a:hover{opacity:.8}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg)}.text-muted{color:var(--color-muted-foreground)}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-primary-foreground)}.btn-primary:hover:not(:disabled){opacity:.9}.btn-ghost{background:transparent;color:var(--color-foreground)}.btn-ghost:hover:not(:disabled){background:var(--color-accent)}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all .2s ease}.card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.input{width:100%;padding:.5rem .75rem;font-size:.875rem;background:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-foreground);transition:all .2s ease}.input:focus{outline:none;border-color:var(--color-ring);box-shadow:0 0 0 2px #0000001a}.input::placeholder{color:var(--color-muted-foreground)}.loading{display:flex;justify-content:center;align-items:center;min-height:200px;color:var(--color-muted-foreground)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease}@media (max-width: 1024px){.container{padding:0 var(--spacing-md)}}@media (max-width: 768px){.container{padding:0 var(--spacing-sm)}}
@@ -0,0 +1,25 @@
1
+ (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();/**
2
+ * @vue/shared v3.5.26
3
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
+ * @license MIT
5
+ **/function ws(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const ee={},Ft=[],qe=()=>{},Kr=()=>!1,Dn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Cs=e=>e.startsWith("onUpdate:"),me=Object.assign,Os=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},uo=Object.prototype.hasOwnProperty,J=(e,t)=>uo.call(e,t),$=Array.isArray,Ht=e=>kn(e)==="[object Map]",Wr=e=>kn(e)==="[object Set]",j=e=>typeof e=="function",le=e=>typeof e=="string",bt=e=>typeof e=="symbol",re=e=>e!==null&&typeof e=="object",qr=e=>(re(e)||j(e))&&j(e.then)&&j(e.catch),zr=Object.prototype.toString,kn=e=>zr.call(e),fo=e=>kn(e).slice(8,-1),Jr=e=>kn(e)==="[object Object]",Ps=e=>le(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,tn=ws(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ln=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},ao=/-\w/g,Ne=Ln(e=>e.replace(ao,t=>t.slice(1).toUpperCase())),ho=/\B([A-Z])/g,Ot=Ln(e=>e.replace(ho,"-$1").toLowerCase()),Fn=Ln(e=>e.charAt(0).toUpperCase()+e.slice(1)),Jn=Ln(e=>e?`on${Fn(e)}`:""),pt=(e,t)=>!Object.is(e,t),xn=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Qr=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Is=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Xs;const Hn=()=>Xs||(Xs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ts(e){if($(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=le(s)?_o(s):Ts(s);if(r)for(const i in r)t[i]=r[i]}return t}else if(le(e)||re(e))return e}const po=/;(?![^(]*\))/g,go=/:([^]+)/,mo=/\/\*[^]*?\*\//g;function _o(e){const t={};return e.replace(mo,"").split(po).forEach(n=>{if(n){const s=n.split(go);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function gt(e){let t="";if(le(e))t=e;else if($(e))for(let n=0;n<e.length;n++){const s=gt(e[n]);s&&(t+=s+" ")}else if(re(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const vo="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",bo=ws(vo);function Yr(e){return!!e||e===""}const Xr=e=>!!(e&&e.__v_isRef===!0),se=e=>le(e)?e:e==null?"":$(e)||re(e)&&(e.toString===zr||!j(e.toString))?Xr(e)?se(e.value):JSON.stringify(e,Zr,2):String(e),Zr=(e,t)=>Xr(t)?Zr(e,t.value):Ht(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[Qn(s,i)+" =>"]=r,n),{})}:Wr(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Qn(n))}:bt(t)?Qn(t):re(t)&&!$(t)&&!Jr(t)?String(t):t,Qn=(e,t="")=>{var n;return bt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
6
+ * @vue/reactivity v3.5.26
7
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
8
+ * @license MIT
9
+ **/let Se;class yo{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Se,!t&&Se&&(this.index=(Se.scopes||(Se.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].pause();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].resume();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].resume()}}run(t){if(this._active){const n=Se;try{return Se=this,t()}finally{Se=n}}}on(){++this._on===1&&(this.prevScope=Se,Se=this)}off(){this._on>0&&--this._on===0&&(Se=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(this.effects.length=0,n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){for(n=0,s=this.scopes.length;n<s;n++)this.scopes[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function xo(){return Se}let ne;const Yn=new WeakSet;class ei{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,Se&&Se.active&&Se.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Yn.has(this)&&(Yn.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||ni(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Zs(this),si(this);const t=ne,n=Me;ne=this,Me=!0;try{return this.fn()}finally{ri(this),ne=t,Me=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Ds(t);this.deps=this.depsTail=void 0,Zs(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Yn.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){as(this)&&this.run()}get dirty(){return as(this)}}let ti=0,nn,sn;function ni(e,t=!1){if(e.flags|=8,t){e.next=sn,sn=e;return}e.next=nn,nn=e}function Ns(){ti++}function Ms(){if(--ti>0)return;if(sn){let t=sn;for(sn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;nn;){let t=nn;for(nn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function si(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ri(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),Ds(s),Eo(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function as(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ii(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ii(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===fn)||(e.globalVersion=fn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!as(e))))return;e.flags|=2;const t=e.dep,n=ne,s=Me;ne=e,Me=!0;try{si(e);const r=e.fn(e._value);(t.version===0||pt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{ne=n,Me=s,ri(e),e.flags&=-3}}function Ds(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)Ds(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Eo(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Me=!0;const oi=[];function tt(){oi.push(Me),Me=!1}function nt(){const e=oi.pop();Me=e===void 0?!0:e}function Zs(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ne;ne=void 0;try{t()}finally{ne=n}}}let fn=0;class Ro{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ks{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!ne||!Me||ne===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ne)n=this.activeLink=new Ro(ne,this),ne.deps?(n.prevDep=ne.depsTail,ne.depsTail.nextDep=n,ne.depsTail=n):ne.deps=ne.depsTail=n,li(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=ne.depsTail,n.nextDep=void 0,ne.depsTail.nextDep=n,ne.depsTail=n,ne.deps===n&&(ne.deps=s)}return n}trigger(t){this.version++,fn++,this.notify(t)}notify(t){Ns();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Ms()}}}function li(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)li(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const ds=new WeakMap,wt=Symbol(""),hs=Symbol(""),an=Symbol("");function de(e,t,n){if(Me&&ne){let s=ds.get(e);s||ds.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new ks),r.map=s,r.key=n),r.track()}}function Ze(e,t,n,s,r,i){const o=ds.get(e);if(!o){fn++;return}const c=l=>{l&&l.trigger()};if(Ns(),t==="clear")o.forEach(c);else{const l=$(e),a=l&&Ps(n);if(l&&n==="length"){const u=Number(s);o.forEach((h,p)=>{(p==="length"||p===an||!bt(p)&&p>=u)&&c(h)})}else switch((n!==void 0||o.has(void 0))&&c(o.get(n)),a&&c(o.get(an)),t){case"add":l?a&&c(o.get("length")):(c(o.get(wt)),Ht(e)&&c(o.get(hs)));break;case"delete":l||(c(o.get(wt)),Ht(e)&&c(o.get(hs)));break;case"set":Ht(e)&&c(o.get(wt));break}}Ms()}function Mt(e){const t=z(e);return t===e?t:(de(t,"iterate",an),Ie(e)?t:t.map(ke))}function Bn(e){return de(e=z(e),"iterate",an),e}function ft(e,t){return st(e)?Ct(e)?Vt(ke(t)):Vt(t):ke(t)}const So={__proto__:null,[Symbol.iterator](){return Xn(this,Symbol.iterator,e=>ft(this,e))},concat(...e){return Mt(this).concat(...e.map(t=>$(t)?Mt(t):t))},entries(){return Xn(this,"entries",e=>(e[1]=ft(this,e[1]),e))},every(e,t){return Qe(this,"every",e,t,void 0,arguments)},filter(e,t){return Qe(this,"filter",e,t,n=>n.map(s=>ft(this,s)),arguments)},find(e,t){return Qe(this,"find",e,t,n=>ft(this,n),arguments)},findIndex(e,t){return Qe(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Qe(this,"findLast",e,t,n=>ft(this,n),arguments)},findLastIndex(e,t){return Qe(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Qe(this,"forEach",e,t,void 0,arguments)},includes(...e){return Zn(this,"includes",e)},indexOf(...e){return Zn(this,"indexOf",e)},join(e){return Mt(this).join(e)},lastIndexOf(...e){return Zn(this,"lastIndexOf",e)},map(e,t){return Qe(this,"map",e,t,void 0,arguments)},pop(){return Yt(this,"pop")},push(...e){return Yt(this,"push",e)},reduce(e,...t){return er(this,"reduce",e,t)},reduceRight(e,...t){return er(this,"reduceRight",e,t)},shift(){return Yt(this,"shift")},some(e,t){return Qe(this,"some",e,t,void 0,arguments)},splice(...e){return Yt(this,"splice",e)},toReversed(){return Mt(this).toReversed()},toSorted(e){return Mt(this).toSorted(e)},toSpliced(...e){return Mt(this).toSpliced(...e)},unshift(...e){return Yt(this,"unshift",e)},values(){return Xn(this,"values",e=>ft(this,e))}};function Xn(e,t,n){const s=Bn(e),r=s[t]();return s!==e&&!Ie(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=n(i.value)),i}),r}const Ao=Array.prototype;function Qe(e,t,n,s,r,i){const o=Bn(e),c=o!==e&&!Ie(e),l=o[t];if(l!==Ao[t]){const h=l.apply(e,i);return c?ke(h):h}let a=n;o!==e&&(c?a=function(h,p){return n.call(this,ft(e,h),p,e)}:n.length>2&&(a=function(h,p){return n.call(this,h,p,e)}));const u=l.call(o,a,s);return c&&r?r(u):u}function er(e,t,n,s){const r=Bn(e);let i=n;return r!==e&&(Ie(e)?n.length>3&&(i=function(o,c,l){return n.call(this,o,c,l,e)}):i=function(o,c,l){return n.call(this,o,ft(e,c),l,e)}),r[t](i,...s)}function Zn(e,t,n){const s=z(e);de(s,"iterate",an);const r=s[t](...n);return(r===-1||r===!1)&&Hs(n[0])?(n[0]=z(n[0]),s[t](...n)):r}function Yt(e,t,n=[]){tt(),Ns();const s=z(e)[t].apply(e,n);return Ms(),nt(),s}const wo=ws("__proto__,__v_isRef,__isVue"),ci=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(bt));function Co(e){bt(e)||(e=String(e));const t=z(this);return de(t,"has",e),t.hasOwnProperty(e)}class ui{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?Fo:hi:i?di:ai).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=$(t);if(!r){let l;if(o&&(l=So[n]))return l;if(n==="hasOwnProperty")return Co}const c=Reflect.get(t,n,ge(t)?t:s);if((bt(n)?ci.has(n):wo(n))||(r||de(t,"get",n),i))return c;if(ge(c)){const l=o&&Ps(n)?c:c.value;return r&&re(l)?gs(l):l}return re(c)?r?gs(c):$n(c):c}}class fi extends ui{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];const o=$(t)&&Ps(n);if(!this._isShallow){const a=st(i);if(!Ie(s)&&!st(s)&&(i=z(i),s=z(s)),!o&&ge(i)&&!ge(s))return a||(i.value=s),!0}const c=o?Number(n)<t.length:J(t,n),l=Reflect.set(t,n,s,ge(t)?t:r);return t===z(r)&&(c?pt(s,i)&&Ze(t,"set",n,s):Ze(t,"add",n,s)),l}deleteProperty(t,n){const s=J(t,n);t[n];const r=Reflect.deleteProperty(t,n);return r&&s&&Ze(t,"delete",n,void 0),r}has(t,n){const s=Reflect.has(t,n);return(!bt(n)||!ci.has(n))&&de(t,"has",n),s}ownKeys(t){return de(t,"iterate",$(t)?"length":wt),Reflect.ownKeys(t)}}class Oo extends ui{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Po=new fi,Io=new Oo,To=new fi(!0);const ps=e=>e,vn=e=>Reflect.getPrototypeOf(e);function No(e,t,n){return function(...s){const r=this.__v_raw,i=z(r),o=Ht(i),c=e==="entries"||e===Symbol.iterator&&o,l=e==="keys"&&o,a=r[e](...s),u=n?ps:t?Vt:ke;return!t&&de(i,"iterate",l?hs:wt),{next(){const{value:h,done:p}=a.next();return p?{value:h,done:p}:{value:c?[u(h[0]),u(h[1])]:u(h),done:p}},[Symbol.iterator](){return this}}}}function bn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Mo(e,t){const n={get(r){const i=this.__v_raw,o=z(i),c=z(r);e||(pt(r,c)&&de(o,"get",r),de(o,"get",c));const{has:l}=vn(o),a=t?ps:e?Vt:ke;if(l.call(o,r))return a(i.get(r));if(l.call(o,c))return a(i.get(c));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&de(z(r),"iterate",wt),r.size},has(r){const i=this.__v_raw,o=z(i),c=z(r);return e||(pt(r,c)&&de(o,"has",r),de(o,"has",c)),r===c?i.has(r):i.has(r)||i.has(c)},forEach(r,i){const o=this,c=o.__v_raw,l=z(c),a=t?ps:e?Vt:ke;return!e&&de(l,"iterate",wt),c.forEach((u,h)=>r.call(i,a(u),a(h),o))}};return me(n,e?{add:bn("add"),set:bn("set"),delete:bn("delete"),clear:bn("clear")}:{add(r){!t&&!Ie(r)&&!st(r)&&(r=z(r));const i=z(this);return vn(i).has.call(i,r)||(i.add(r),Ze(i,"add",r,r)),this},set(r,i){!t&&!Ie(i)&&!st(i)&&(i=z(i));const o=z(this),{has:c,get:l}=vn(o);let a=c.call(o,r);a||(r=z(r),a=c.call(o,r));const u=l.call(o,r);return o.set(r,i),a?pt(i,u)&&Ze(o,"set",r,i):Ze(o,"add",r,i),this},delete(r){const i=z(this),{has:o,get:c}=vn(i);let l=o.call(i,r);l||(r=z(r),l=o.call(i,r)),c&&c.call(i,r);const a=i.delete(r);return l&&Ze(i,"delete",r,void 0),a},clear(){const r=z(this),i=r.size!==0,o=r.clear();return i&&Ze(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=No(r,e,t)}),n}function Ls(e,t){const n=Mo(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(J(n,r)&&r in s?n:s,r,i)}const Do={get:Ls(!1,!1)},ko={get:Ls(!1,!0)},Lo={get:Ls(!0,!1)};const ai=new WeakMap,di=new WeakMap,hi=new WeakMap,Fo=new WeakMap;function Ho(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Bo(e){return e.__v_skip||!Object.isExtensible(e)?0:Ho(fo(e))}function $n(e){return st(e)?e:Fs(e,!1,Po,Do,ai)}function pi(e){return Fs(e,!1,To,ko,di)}function gs(e){return Fs(e,!0,Io,Lo,hi)}function Fs(e,t,n,s,r){if(!re(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=Bo(e);if(i===0)return e;const o=r.get(e);if(o)return o;const c=new Proxy(e,i===2?s:n);return r.set(e,c),c}function Ct(e){return st(e)?Ct(e.__v_raw):!!(e&&e.__v_isReactive)}function st(e){return!!(e&&e.__v_isReadonly)}function Ie(e){return!!(e&&e.__v_isShallow)}function Hs(e){return e?!!e.__v_raw:!1}function z(e){const t=e&&e.__v_raw;return t?z(t):e}function $o(e){return!J(e,"__v_skip")&&Object.isExtensible(e)&&Qr(e,"__v_skip",!0),e}const ke=e=>re(e)?$n(e):e,Vt=e=>re(e)?gs(e):e;function ge(e){return e?e.__v_isRef===!0:!1}function Ut(e){return gi(e,!1)}function jo(e){return gi(e,!0)}function gi(e,t){return ge(e)?e:new Vo(e,t)}class Vo{constructor(t,n){this.dep=new ks,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:z(t),this._value=n?t:ke(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Ie(t)||st(t);t=s?t:z(t),pt(t,n)&&(this._rawValue=t,this._value=s?t:ke(t),this.dep.trigger())}}function mt(e){return ge(e)?e.value:e}const Uo={get:(e,t,n)=>t==="__v_raw"?e:mt(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ge(r)&&!ge(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function mi(e){return Ct(e)?e:new Proxy(e,Uo)}class Go{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new ks(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=fn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&ne!==this)return ni(this,!0),!0}get value(){const t=this.dep.track();return ii(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Ko(e,t,n=!1){let s,r;return j(e)?s=e:(s=e.get,r=e.set),new Go(s,r,n)}const yn={},wn=new WeakMap;let St;function Wo(e,t=!1,n=St){if(n){let s=wn.get(n);s||wn.set(n,s=[]),s.push(e)}}function qo(e,t,n=ee){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:c,call:l}=n,a=N=>r?N:Ie(N)||r===!1||r===0?et(N,1):et(N);let u,h,p,m,S=!1,I=!1;if(ge(e)?(h=()=>e.value,S=Ie(e)):Ct(e)?(h=()=>a(e),S=!0):$(e)?(I=!0,S=e.some(N=>Ct(N)||Ie(N)),h=()=>e.map(N=>{if(ge(N))return N.value;if(Ct(N))return a(N);if(j(N))return l?l(N,2):N()})):j(e)?t?h=l?()=>l(e,2):e:h=()=>{if(p){tt();try{p()}finally{nt()}}const N=St;St=u;try{return l?l(e,3,[m]):e(m)}finally{St=N}}:h=qe,t&&r){const N=h,X=r===!0?1/0:r;h=()=>et(N(),X)}const V=xo(),M=()=>{u.stop(),V&&V.active&&Os(V.effects,u)};if(i&&t){const N=t;t=(...X)=>{N(...X),M()}}let T=I?new Array(e.length).fill(yn):yn;const L=N=>{if(!(!(u.flags&1)||!u.dirty&&!N))if(t){const X=u.run();if(r||S||(I?X.some((ae,ie)=>pt(ae,T[ie])):pt(X,T))){p&&p();const ae=St;St=u;try{const ie=[X,T===yn?void 0:I&&T[0]===yn?[]:T,m];T=X,l?l(t,3,ie):t(...ie)}finally{St=ae}}}else u.run()};return c&&c(L),u=new ei(h),u.scheduler=o?()=>o(L,!1):L,m=N=>Wo(N,!1,u),p=u.onStop=()=>{const N=wn.get(u);if(N){if(l)l(N,4);else for(const X of N)X();wn.delete(u)}},t?s?L(!0):T=u.run():o?o(L.bind(null,!0),!0):u.run(),M.pause=u.pause.bind(u),M.resume=u.resume.bind(u),M.stop=M,M}function et(e,t=1/0,n){if(t<=0||!re(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ge(e))et(e.value,t,n);else if($(e))for(let s=0;s<e.length;s++)et(e[s],t,n);else if(Wr(e)||Ht(e))e.forEach(s=>{et(s,t,n)});else if(Jr(e)){for(const s in e)et(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&et(e[s],t,n)}return e}/**
10
+ * @vue/runtime-core v3.5.26
11
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
12
+ * @license MIT
13
+ **/function mn(e,t,n,s){try{return s?e(...s):e()}catch(r){jn(r,t,n)}}function ze(e,t,n,s){if(j(e)){const r=mn(e,t,n,s);return r&&qr(r)&&r.catch(i=>{jn(i,t,n)}),r}if($(e)){const r=[];for(let i=0;i<e.length;i++)r.push(ze(e[i],t,n,s));return r}}function jn(e,t,n,s=!0){const r=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||ee;if(t){let c=t.parent;const l=t.proxy,a=`https://vuejs.org/error-reference/#runtime-${n}`;for(;c;){const u=c.ec;if(u){for(let h=0;h<u.length;h++)if(u[h](e,l,a)===!1)return}c=c.parent}if(i){tt(),mn(i,null,10,[e,l,a]),nt();return}}zo(e,n,r,s,o)}function zo(e,t,n,s=!0,r=!1){if(r)throw e;console.error(e)}const be=[];let Ke=-1;const Bt=[];let at=null,Dt=0;const _i=Promise.resolve();let Cn=null;function Bs(e){const t=Cn||_i;return e?t.then(this?e.bind(this):e):t}function Jo(e){let t=Ke+1,n=be.length;for(;t<n;){const s=t+n>>>1,r=be[s],i=dn(r);i<e||i===e&&r.flags&2?t=s+1:n=s}return t}function $s(e){if(!(e.flags&1)){const t=dn(e),n=be[be.length-1];!n||!(e.flags&2)&&t>=dn(n)?be.push(e):be.splice(Jo(t),0,e),e.flags|=1,vi()}}function vi(){Cn||(Cn=_i.then(yi))}function Qo(e){$(e)?Bt.push(...e):at&&e.id===-1?at.splice(Dt+1,0,e):e.flags&1||(Bt.push(e),e.flags|=1),vi()}function tr(e,t,n=Ke+1){for(;n<be.length;n++){const s=be[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;be.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function bi(e){if(Bt.length){const t=[...new Set(Bt)].sort((n,s)=>dn(n)-dn(s));if(Bt.length=0,at){at.push(...t);return}for(at=t,Dt=0;Dt<at.length;Dt++){const n=at[Dt];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}at=null,Dt=0}}const dn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function yi(e){try{for(Ke=0;Ke<be.length;Ke++){const t=be[Ke];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),mn(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Ke<be.length;Ke++){const t=be[Ke];t&&(t.flags&=-2)}Ke=-1,be.length=0,bi(),Cn=null,(be.length||Bt.length)&&yi()}}let Ce=null,xi=null;function On(e){const t=Ce;return Ce=e,xi=e&&e.type.__scopeId||null,t}function _t(e,t=Ce,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Tn(-1);const i=On(t);let o;try{o=e(...r)}finally{On(i),s._d&&Tn(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function Yo(e,t){if(Ce===null)return e;const n=Wn(Ce),s=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[i,o,c,l=ee]=t[r];i&&(j(i)&&(i={mounted:i,updated:i}),i.deep&&et(o),s.push({dir:i,instance:n,value:o,oldValue:void 0,arg:c,modifiers:l}))}return e}function Et(e,t,n,s){const r=e.dirs,i=t&&t.dirs;for(let o=0;o<r.length;o++){const c=r[o];i&&(c.oldValue=i[o].value);let l=c.dir[s];l&&(tt(),ze(l,n,8,[e.el,c,e,t]),nt())}}function En(e,t){if(pe){let n=pe.provides;const s=pe.parent&&pe.parent.provides;s===n&&(n=pe.provides=Object.create(s)),n[e]=t}}function De(e,t,n=!1){const s=Yl();if(s||$t){let r=$t?$t._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return n&&j(t)?t.call(s&&s.proxy):t}}const Xo=Symbol.for("v-scx"),Zo=()=>De(Xo);function Rn(e,t,n){return Ei(e,t,n)}function Ei(e,t,n=ee){const{immediate:s,deep:r,flush:i,once:o}=n,c=me({},n),l=t&&s||!t&&i!=="post";let a;if(pn){if(i==="sync"){const m=Zo();a=m.__watcherHandles||(m.__watcherHandles=[])}else if(!l){const m=()=>{};return m.stop=qe,m.resume=qe,m.pause=qe,m}}const u=pe;c.call=(m,S,I)=>ze(m,u,S,I);let h=!1;i==="post"?c.scheduler=m=>{we(m,u&&u.suspense)}:i!=="sync"&&(h=!0,c.scheduler=(m,S)=>{S?m():$s(m)}),c.augmentJob=m=>{t&&(m.flags|=4),h&&(m.flags|=2,u&&(m.id=u.uid,m.i=u))};const p=qo(e,t,c);return pn&&(a?a.push(p):l&&p()),p}function el(e,t,n){const s=this.proxy,r=le(e)?e.includes(".")?Ri(s,e):()=>s[e]:e.bind(s,s);let i;j(t)?i=t:(i=t.handler,n=t);const o=_n(this),c=Ei(r,i.bind(s),n);return o(),c}function Ri(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r<n.length&&s;r++)s=s[n[r]];return s}}const tl=Symbol("_vte"),nl=e=>e.__isTeleport,sl=Symbol("_leaveCb");function js(e,t){e.shapeFlag&6&&e.component?(e.transition=t,js(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function rt(e,t){return j(e)?me({name:e.name},t,{setup:e}):e}function Si(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const Pn=new WeakMap;function rn(e,t,n,s,r=!1){if($(e)){e.forEach((S,I)=>rn(S,t&&($(t)?t[I]:t),n,s,r));return}if(on(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&rn(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?Wn(s.component):s.el,o=r?null:i,{i:c,r:l}=e,a=t&&t.r,u=c.refs===ee?c.refs={}:c.refs,h=c.setupState,p=z(h),m=h===ee?Kr:S=>J(p,S);if(a!=null&&a!==l){if(nr(t),le(a))u[a]=null,m(a)&&(h[a]=null);else if(ge(a)){a.value=null;const S=t;S.k&&(u[S.k]=null)}}if(j(l))mn(l,c,12,[o,u]);else{const S=le(l),I=ge(l);if(S||I){const V=()=>{if(e.f){const M=S?m(l)?h[l]:u[l]:l.value;if(r)$(M)&&Os(M,i);else if($(M))M.includes(i)||M.push(i);else if(S)u[l]=[i],m(l)&&(h[l]=u[l]);else{const T=[i];l.value=T,e.k&&(u[e.k]=T)}}else S?(u[l]=o,m(l)&&(h[l]=o)):I&&(l.value=o,e.k&&(u[e.k]=o))};if(o){const M=()=>{V(),Pn.delete(e)};M.id=-1,Pn.set(e,M),we(M,n)}else nr(e),V()}}}function nr(e){const t=Pn.get(e);t&&(t.flags|=8,Pn.delete(e))}Hn().requestIdleCallback;Hn().cancelIdleCallback;const on=e=>!!e.type.__asyncLoader,Ai=e=>e.type.__isKeepAlive;function rl(e,t){wi(e,"a",t)}function il(e,t){wi(e,"da",t)}function wi(e,t,n=pe){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Vn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Ai(r.parent.vnode)&&ol(s,t,n,r),r=r.parent}}function ol(e,t,n,s){const r=Vn(t,e,s,!0);Ci(()=>{Os(s[t],r)},n)}function Vn(e,t,n=pe,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{tt();const c=_n(n),l=ze(t,n,e,o);return c(),nt(),l});return s?r.unshift(i):r.push(i),i}}const it=e=>(t,n=pe)=>{(!pn||e==="sp")&&Vn(e,(...s)=>t(...s),n)},ll=it("bm"),Vs=it("m"),cl=it("bu"),ul=it("u"),fl=it("bum"),Ci=it("um"),al=it("sp"),dl=it("rtg"),hl=it("rtc");function pl(e,t=pe){Vn("ec",e,t)}const gl="components";function Gt(e,t){return _l(gl,e,!0,t)||e}const ml=Symbol.for("v-ndc");function _l(e,t,n=!0,s=!1){const r=Ce||pe;if(r){const i=r.type;{const c=nc(i,!1);if(c&&(c===t||c===Ne(t)||c===Fn(Ne(t))))return i}const o=sr(r[e]||i[e],t)||sr(r.appContext[e],t);return!o&&s?i:o}}function sr(e,t){return e&&(e[t]||e[Ne(t)]||e[Fn(Ne(t))])}function Kt(e,t,n,s){let r;const i=n,o=$(e);if(o||le(e)){const c=o&&Ct(e);let l=!1,a=!1;c&&(l=!Ie(e),a=st(e),e=Bn(e)),r=new Array(e.length);for(let u=0,h=e.length;u<h;u++)r[u]=t(l?a?Vt(ke(e[u])):ke(e[u]):e[u],u,void 0,i)}else if(typeof e=="number"){r=new Array(e);for(let c=0;c<e;c++)r[c]=t(c+1,c,void 0,i)}else if(re(e))if(e[Symbol.iterator])r=Array.from(e,(c,l)=>t(c,l,void 0,i));else{const c=Object.keys(e);r=new Array(c.length);for(let l=0,a=c.length;l<a;l++){const u=c[l];r[l]=t(e[u],u,l,i)}}else r=[];return r}const ms=e=>e?Wi(e)?Wn(e):ms(e.parent):null,ln=me(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ms(e.parent),$root:e=>ms(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Pi(e),$forceUpdate:e=>e.f||(e.f=()=>{$s(e.update)}),$nextTick:e=>e.n||(e.n=Bs.bind(e.proxy)),$watch:e=>el.bind(e)}),es=(e,t)=>e!==ee&&!e.__isScriptSetup&&J(e,t),vl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:c,appContext:l}=e;if(t[0]!=="$"){const p=o[t];if(p!==void 0)switch(p){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(es(s,t))return o[t]=1,s[t];if(r!==ee&&J(r,t))return o[t]=2,r[t];if(J(i,t))return o[t]=3,i[t];if(n!==ee&&J(n,t))return o[t]=4,n[t];_s&&(o[t]=0)}}const a=ln[t];let u,h;if(a)return t==="$attrs"&&de(e.attrs,"get",""),a(e);if((u=c.__cssModules)&&(u=u[t]))return u;if(n!==ee&&J(n,t))return o[t]=4,n[t];if(h=l.config.globalProperties,J(h,t))return h[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return es(r,t)?(r[t]=n,!0):s!==ee&&J(s,t)?(s[t]=n,!0):J(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:i,type:o}},c){let l;return!!(n[c]||e!==ee&&c[0]!=="$"&&J(e,c)||es(t,c)||J(i,c)||J(s,c)||J(ln,c)||J(r.config.globalProperties,c)||(l=o.__cssModules)&&l[c])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:J(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function rr(e){return $(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let _s=!0;function bl(e){const t=Pi(e),n=e.proxy,s=e.ctx;_s=!1,t.beforeCreate&&ir(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:c,provide:l,inject:a,created:u,beforeMount:h,mounted:p,beforeUpdate:m,updated:S,activated:I,deactivated:V,beforeDestroy:M,beforeUnmount:T,destroyed:L,unmounted:N,render:X,renderTracked:ae,renderTriggered:ie,errorCaptured:Fe,serverPrefetch:ot,expose:He,inheritAttrs:lt,components:yt,directives:Be,filters:Jt}=t;if(a&&yl(a,s,null),o)for(const Y in o){const W=o[Y];j(W)&&(s[Y]=W.bind(n))}if(r){const Y=r.call(n,n);re(Y)&&(e.data=$n(Y))}if(_s=!0,i)for(const Y in i){const W=i[Y],Je=j(W)?W.bind(n,n):j(W.get)?W.get.bind(n,n):qe,ct=!j(W)&&j(W.set)?W.set.bind(n):qe,$e=ue({get:Je,set:ct});Object.defineProperty(s,Y,{enumerable:!0,configurable:!0,get:()=>$e.value,set:xe=>$e.value=xe})}if(c)for(const Y in c)Oi(c[Y],s,n,Y);if(l){const Y=j(l)?l.call(n):l;Reflect.ownKeys(Y).forEach(W=>{En(W,Y[W])})}u&&ir(u,e,"c");function fe(Y,W){$(W)?W.forEach(Je=>Y(Je.bind(n))):W&&Y(W.bind(n))}if(fe(ll,h),fe(Vs,p),fe(cl,m),fe(ul,S),fe(rl,I),fe(il,V),fe(pl,Fe),fe(hl,ae),fe(dl,ie),fe(fl,T),fe(Ci,N),fe(al,ot),$(He))if(He.length){const Y=e.exposed||(e.exposed={});He.forEach(W=>{Object.defineProperty(Y,W,{get:()=>n[W],set:Je=>n[W]=Je,enumerable:!0})})}else e.exposed||(e.exposed={});X&&e.render===qe&&(e.render=X),lt!=null&&(e.inheritAttrs=lt),yt&&(e.components=yt),Be&&(e.directives=Be),ot&&Si(e)}function yl(e,t,n=qe){$(e)&&(e=vs(e));for(const s in e){const r=e[s];let i;re(r)?"default"in r?i=De(r.from||s,r.default,!0):i=De(r.from||s):i=De(r),ge(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function ir(e,t,n){ze($(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Oi(e,t,n,s){let r=s.includes(".")?Ri(n,s):()=>n[s];if(le(e)){const i=t[e];j(i)&&Rn(r,i)}else if(j(e))Rn(r,e.bind(n));else if(re(e))if($(e))e.forEach(i=>Oi(i,t,n,s));else{const i=j(e.handler)?e.handler.bind(n):t[e.handler];j(i)&&Rn(r,i,e)}}function Pi(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,c=i.get(t);let l;return c?l=c:!r.length&&!n&&!s?l=t:(l={},r.length&&r.forEach(a=>In(l,a,o,!0)),In(l,t,o)),re(t)&&i.set(t,l),l}function In(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&In(e,i,n,!0),r&&r.forEach(o=>In(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const c=xl[o]||n&&n[o];e[o]=c?c(e[o],t[o]):t[o]}return e}const xl={data:or,props:lr,emits:lr,methods:en,computed:en,beforeCreate:_e,created:_e,beforeMount:_e,mounted:_e,beforeUpdate:_e,updated:_e,beforeDestroy:_e,beforeUnmount:_e,destroyed:_e,unmounted:_e,activated:_e,deactivated:_e,errorCaptured:_e,serverPrefetch:_e,components:en,directives:en,watch:Rl,provide:or,inject:El};function or(e,t){return t?e?function(){return me(j(e)?e.call(this,this):e,j(t)?t.call(this,this):t)}:t:e}function El(e,t){return en(vs(e),vs(t))}function vs(e){if($(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function _e(e,t){return e?[...new Set([].concat(e,t))]:t}function en(e,t){return e?me(Object.create(null),e,t):t}function lr(e,t){return e?$(e)&&$(t)?[...new Set([...e,...t])]:me(Object.create(null),rr(e),rr(t??{})):t}function Rl(e,t){if(!e)return t;if(!t)return e;const n=me(Object.create(null),e);for(const s in t)n[s]=_e(e[s],t[s]);return n}function Ii(){return{app:null,config:{isNativeTag:Kr,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Sl=0;function Al(e,t){return function(s,r=null){j(s)||(s=me({},s)),r!=null&&!re(r)&&(r=null);const i=Ii(),o=new WeakSet,c=[];let l=!1;const a=i.app={_uid:Sl++,_component:s,_props:r,_container:null,_context:i,_instance:null,version:rc,get config(){return i.config},set config(u){},use(u,...h){return o.has(u)||(u&&j(u.install)?(o.add(u),u.install(a,...h)):j(u)&&(o.add(u),u(a,...h))),a},mixin(u){return i.mixins.includes(u)||i.mixins.push(u),a},component(u,h){return h?(i.components[u]=h,a):i.components[u]},directive(u,h){return h?(i.directives[u]=h,a):i.directives[u]},mount(u,h,p){if(!l){const m=a._ceVNode||ye(s,r);return m.appContext=i,p===!0?p="svg":p===!1&&(p=void 0),e(m,u,p),l=!0,a._container=u,u.__vue_app__=a,Wn(m.component)}},onUnmount(u){c.push(u)},unmount(){l&&(ze(c,a._instance,16),e(null,a._container),delete a._container.__vue_app__)},provide(u,h){return i.provides[u]=h,a},runWithContext(u){const h=$t;$t=a;try{return u()}finally{$t=h}}};return a}}let $t=null;const wl=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ne(t)}Modifiers`]||e[`${Ot(t)}Modifiers`];function Cl(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||ee;let r=n;const i=t.startsWith("update:"),o=i&&wl(s,t.slice(7));o&&(o.trim&&(r=n.map(u=>le(u)?u.trim():u)),o.number&&(r=n.map(Is)));let c,l=s[c=Jn(t)]||s[c=Jn(Ne(t))];!l&&i&&(l=s[c=Jn(Ot(t))]),l&&ze(l,e,6,r);const a=s[c+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,ze(a,e,6,r)}}const Ol=new WeakMap;function Ti(e,t,n=!1){const s=n?Ol:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},c=!1;if(!j(e)){const l=a=>{const u=Ti(a,t,!0);u&&(c=!0,me(o,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!i&&!c?(re(e)&&s.set(e,null),null):($(i)?i.forEach(l=>o[l]=null):me(o,i),re(e)&&s.set(e,o),o)}function Un(e,t){return!e||!Dn(t)?!1:(t=t.slice(2).replace(/Once$/,""),J(e,t[0].toLowerCase()+t.slice(1))||J(e,Ot(t))||J(e,t))}function cr(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:c,emit:l,render:a,renderCache:u,props:h,data:p,setupState:m,ctx:S,inheritAttrs:I}=e,V=On(e);let M,T;try{if(n.shapeFlag&4){const N=r||s,X=N;M=We(a.call(X,N,u,h,m,p,S)),T=c}else{const N=t;M=We(N.length>1?N(h,{attrs:c,slots:o,emit:l}):N(h,null)),T=t.props?c:Pl(c)}}catch(N){cn.length=0,jn(N,e,1),M=ye(vt)}let L=M;if(T&&I!==!1){const N=Object.keys(T),{shapeFlag:X}=L;N.length&&X&7&&(i&&N.some(Cs)&&(T=Il(T,i)),L=Wt(L,T,!1,!0))}return n.dirs&&(L=Wt(L,null,!1,!0),L.dirs=L.dirs?L.dirs.concat(n.dirs):n.dirs),n.transition&&js(L,n.transition),M=L,On(V),M}const Pl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Dn(n))&&((t||(t={}))[n]=e[n]);return t},Il=(e,t)=>{const n={};for(const s in e)(!Cs(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Tl(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:c,patchFlag:l}=t,a=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return s?ur(s,o,a):!!o;if(l&8){const u=t.dynamicProps;for(let h=0;h<u.length;h++){const p=u[h];if(o[p]!==s[p]&&!Un(a,p))return!0}}}else return(r||c)&&(!c||!c.$stable)?!0:s===o?!1:s?o?ur(s,o,a):!0:!!o;return!1}function ur(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let r=0;r<s.length;r++){const i=s[r];if(t[i]!==e[i]&&!Un(n,i))return!0}return!1}function Nl({vnode:e,parent:t},n){for(;t;){const s=t.subTree;if(s.suspense&&s.suspense.activeBranch===e&&(s.el=e.el),s===e)(e=t.vnode).el=n,t=t.parent;else break}}const Ni={},Mi=()=>Object.create(Ni),Di=e=>Object.getPrototypeOf(e)===Ni;function Ml(e,t,n,s=!1){const r={},i=Mi();e.propsDefaults=Object.create(null),ki(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:pi(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Dl(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,c=z(r),[l]=e.propsOptions;let a=!1;if((s||o>0)&&!(o&16)){if(o&8){const u=e.vnode.dynamicProps;for(let h=0;h<u.length;h++){let p=u[h];if(Un(e.emitsOptions,p))continue;const m=t[p];if(l)if(J(i,p))m!==i[p]&&(i[p]=m,a=!0);else{const S=Ne(p);r[S]=bs(l,c,S,m,e,!1)}else m!==i[p]&&(i[p]=m,a=!0)}}}else{ki(e,t,r,i)&&(a=!0);let u;for(const h in c)(!t||!J(t,h)&&((u=Ot(h))===h||!J(t,u)))&&(l?n&&(n[h]!==void 0||n[u]!==void 0)&&(r[h]=bs(l,c,h,void 0,e,!0)):delete r[h]);if(i!==c)for(const h in i)(!t||!J(t,h))&&(delete i[h],a=!0)}a&&Ze(e.attrs,"set","")}function ki(e,t,n,s){const[r,i]=e.propsOptions;let o=!1,c;if(t)for(let l in t){if(tn(l))continue;const a=t[l];let u;r&&J(r,u=Ne(l))?!i||!i.includes(u)?n[u]=a:(c||(c={}))[u]=a:Un(e.emitsOptions,l)||(!(l in s)||a!==s[l])&&(s[l]=a,o=!0)}if(i){const l=z(n),a=c||ee;for(let u=0;u<i.length;u++){const h=i[u];n[h]=bs(r,l,h,a[h],e,!J(a,h))}}return o}function bs(e,t,n,s,r,i){const o=e[n];if(o!=null){const c=J(o,"default");if(c&&s===void 0){const l=o.default;if(o.type!==Function&&!o.skipFactory&&j(l)){const{propsDefaults:a}=r;if(n in a)s=a[n];else{const u=_n(r);s=a[n]=l.call(null,t),u()}}else s=l;r.ce&&r.ce._setProp(n,s)}o[0]&&(i&&!c?s=!1:o[1]&&(s===""||s===Ot(n))&&(s=!0))}return s}const kl=new WeakMap;function Li(e,t,n=!1){const s=n?kl:t.propsCache,r=s.get(e);if(r)return r;const i=e.props,o={},c=[];let l=!1;if(!j(e)){const u=h=>{l=!0;const[p,m]=Li(h,t,!0);me(o,p),m&&c.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!i&&!l)return re(e)&&s.set(e,Ft),Ft;if($(i))for(let u=0;u<i.length;u++){const h=Ne(i[u]);fr(h)&&(o[h]=ee)}else if(i)for(const u in i){const h=Ne(u);if(fr(h)){const p=i[u],m=o[h]=$(p)||j(p)?{type:p}:me({},p),S=m.type;let I=!1,V=!0;if($(S))for(let M=0;M<S.length;++M){const T=S[M],L=j(T)&&T.name;if(L==="Boolean"){I=!0;break}else L==="String"&&(V=!1)}else I=j(S)&&S.name==="Boolean";m[0]=I,m[1]=V,(I||J(m,"default"))&&c.push(h)}}const a=[o,c];return re(e)&&s.set(e,a),a}function fr(e){return e[0]!=="$"&&!tn(e)}const Us=e=>e==="_"||e==="_ctx"||e==="$stable",Gs=e=>$(e)?e.map(We):[We(e)],Ll=(e,t,n)=>{if(t._n)return t;const s=_t((...r)=>Gs(t(...r)),n);return s._c=!1,s},Fi=(e,t,n)=>{const s=e._ctx;for(const r in e){if(Us(r))continue;const i=e[r];if(j(i))t[r]=Ll(r,i,s);else if(i!=null){const o=Gs(i);t[r]=()=>o}}},Hi=(e,t)=>{const n=Gs(t);e.slots.default=()=>n},Bi=(e,t,n)=>{for(const s in t)(n||!Us(s))&&(e[s]=t[s])},Fl=(e,t,n)=>{const s=e.slots=Mi();if(e.vnode.shapeFlag&32){const r=t._;r?(Bi(s,t,n),n&&Qr(s,"_",r,!0)):Fi(t,s)}else t&&Hi(e,t)},Hl=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=ee;if(s.shapeFlag&32){const c=t._;c?n&&c===1?i=!1:Bi(r,t,n):(i=!t.$stable,Fi(t,r)),o=t}else t&&(Hi(e,t),o={default:1});if(i)for(const c in r)!Us(c)&&o[c]==null&&delete r[c]},we=Ul;function Bl(e){return $l(e)}function $l(e,t){const n=Hn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:c,createComment:l,setText:a,setElementText:u,parentNode:h,nextSibling:p,setScopeId:m=qe,insertStaticContent:S}=e,I=(f,d,g,_=null,y=null,v=null,A=void 0,R=null,E=!!d.dynamicChildren)=>{if(f===d)return;f&&!Xt(f,d)&&(_=b(f),xe(f,y,v,!0),f=null),d.patchFlag===-2&&(E=!1,d.dynamicChildren=null);const{type:x,ref:F,shapeFlag:O}=d;switch(x){case Gn:V(f,d,g,_);break;case vt:M(f,d,g,_);break;case ns:f==null&&T(d,g,_,A);break;case he:yt(f,d,g,_,y,v,A,R,E);break;default:O&1?X(f,d,g,_,y,v,A,R,E):O&6?Be(f,d,g,_,y,v,A,R,E):(O&64||O&128)&&x.process(f,d,g,_,y,v,A,R,E,D)}F!=null&&y?rn(F,f&&f.ref,v,d||f,!d):F==null&&f&&f.ref!=null&&rn(f.ref,null,v,f,!0)},V=(f,d,g,_)=>{if(f==null)s(d.el=c(d.children),g,_);else{const y=d.el=f.el;d.children!==f.children&&a(y,d.children)}},M=(f,d,g,_)=>{f==null?s(d.el=l(d.children||""),g,_):d.el=f.el},T=(f,d,g,_)=>{[f.el,f.anchor]=S(f.children,d,g,_,f.el,f.anchor)},L=({el:f,anchor:d},g,_)=>{let y;for(;f&&f!==d;)y=p(f),s(f,g,_),f=y;s(d,g,_)},N=({el:f,anchor:d})=>{let g;for(;f&&f!==d;)g=p(f),r(f),f=g;r(d)},X=(f,d,g,_,y,v,A,R,E)=>{if(d.type==="svg"?A="svg":d.type==="math"&&(A="mathml"),f==null)ae(d,g,_,y,v,A,R,E);else{const x=f.el&&f.el._isVueCE?f.el:null;try{x&&x._beginPatch(),ot(f,d,y,v,A,R,E)}finally{x&&x._endPatch()}}},ae=(f,d,g,_,y,v,A,R)=>{let E,x;const{props:F,shapeFlag:O,transition:k,dirs:H}=f;if(E=f.el=o(f.type,v,F&&F.is,F),O&8?u(E,f.children):O&16&&Fe(f.children,E,null,_,y,ts(f,v),A,R),H&&Et(f,null,_,"created"),ie(E,f,f.scopeId,A,_),F){for(const te in F)te!=="value"&&!tn(te)&&i(E,te,null,F[te],v,_);"value"in F&&i(E,"value",null,F.value,v),(x=F.onVnodeBeforeMount)&&Ge(x,_,f)}H&&Et(f,null,_,"beforeMount");const G=jl(y,k);G&&k.beforeEnter(E),s(E,d,g),((x=F&&F.onVnodeMounted)||G||H)&&we(()=>{x&&Ge(x,_,f),G&&k.enter(E),H&&Et(f,null,_,"mounted")},y)},ie=(f,d,g,_,y)=>{if(g&&m(f,g),_)for(let v=0;v<_.length;v++)m(f,_[v]);if(y){let v=y.subTree;if(d===v||Ui(v.type)&&(v.ssContent===d||v.ssFallback===d)){const A=y.vnode;ie(f,A,A.scopeId,A.slotScopeIds,y.parent)}}},Fe=(f,d,g,_,y,v,A,R,E=0)=>{for(let x=E;x<f.length;x++){const F=f[x]=R?dt(f[x]):We(f[x]);I(null,F,d,g,_,y,v,A,R)}},ot=(f,d,g,_,y,v,A)=>{const R=d.el=f.el;let{patchFlag:E,dynamicChildren:x,dirs:F}=d;E|=f.patchFlag&16;const O=f.props||ee,k=d.props||ee;let H;if(g&&Rt(g,!1),(H=k.onVnodeBeforeUpdate)&&Ge(H,g,d,f),F&&Et(d,f,g,"beforeUpdate"),g&&Rt(g,!0),(O.innerHTML&&k.innerHTML==null||O.textContent&&k.textContent==null)&&u(R,""),x?He(f.dynamicChildren,x,R,g,_,ts(d,y),v):A||W(f,d,R,null,g,_,ts(d,y),v,!1),E>0){if(E&16)lt(R,O,k,g,y);else if(E&2&&O.class!==k.class&&i(R,"class",null,k.class,y),E&4&&i(R,"style",O.style,k.style,y),E&8){const G=d.dynamicProps;for(let te=0;te<G.length;te++){const Q=G[te],Ee=O[Q],Re=k[Q];(Re!==Ee||Q==="value")&&i(R,Q,Ee,Re,y,g)}}E&1&&f.children!==d.children&&u(R,d.children)}else!A&&x==null&&lt(R,O,k,g,y);((H=k.onVnodeUpdated)||F)&&we(()=>{H&&Ge(H,g,d,f),F&&Et(d,f,g,"updated")},_)},He=(f,d,g,_,y,v,A)=>{for(let R=0;R<d.length;R++){const E=f[R],x=d[R],F=E.el&&(E.type===he||!Xt(E,x)||E.shapeFlag&198)?h(E.el):g;I(E,x,F,null,_,y,v,A,!0)}},lt=(f,d,g,_,y)=>{if(d!==g){if(d!==ee)for(const v in d)!tn(v)&&!(v in g)&&i(f,v,d[v],null,y,_);for(const v in g){if(tn(v))continue;const A=g[v],R=d[v];A!==R&&v!=="value"&&i(f,v,R,A,y,_)}"value"in g&&i(f,"value",d.value,g.value,y)}},yt=(f,d,g,_,y,v,A,R,E)=>{const x=d.el=f?f.el:c(""),F=d.anchor=f?f.anchor:c("");let{patchFlag:O,dynamicChildren:k,slotScopeIds:H}=d;H&&(R=R?R.concat(H):H),f==null?(s(x,g,_),s(F,g,_),Fe(d.children||[],g,F,y,v,A,R,E)):O>0&&O&64&&k&&f.dynamicChildren&&f.dynamicChildren.length===k.length?(He(f.dynamicChildren,k,g,y,v,A,R),(d.key!=null||y&&d===y.subTree)&&$i(f,d,!0)):W(f,d,g,F,y,v,A,R,E)},Be=(f,d,g,_,y,v,A,R,E)=>{d.slotScopeIds=R,f==null?d.shapeFlag&512?y.ctx.activate(d,g,_,A,E):Jt(d,g,_,y,v,A,E):It(f,d,E)},Jt=(f,d,g,_,y,v,A)=>{const R=f.component=Ql(f,_,y);if(Ai(f)&&(R.ctx.renderer=D),Xl(R,!1,A),R.asyncDep){if(y&&y.registerDep(R,fe,A),!f.el){const E=R.subTree=ye(vt);M(null,E,d,g),f.placeholder=E.el}}else fe(R,f,d,g,y,v,A)},It=(f,d,g)=>{const _=d.component=f.component;if(Tl(f,d,g))if(_.asyncDep&&!_.asyncResolved){Y(_,d,g);return}else _.next=d,_.update();else d.el=f.el,_.vnode=d},fe=(f,d,g,_,y,v,A)=>{const R=()=>{if(f.isMounted){let{next:O,bu:k,u:H,parent:G,vnode:te}=f;{const Ve=ji(f);if(Ve){O&&(O.el=te.el,Y(f,O,A)),Ve.asyncDep.then(()=>{f.isUnmounted||R()});return}}let Q=O,Ee;Rt(f,!1),O?(O.el=te.el,Y(f,O,A)):O=te,k&&xn(k),(Ee=O.props&&O.props.onVnodeBeforeUpdate)&&Ge(Ee,G,O,te),Rt(f,!0);const Re=cr(f),je=f.subTree;f.subTree=Re,I(je,Re,h(je.el),b(je),f,y,v),O.el=Re.el,Q===null&&Nl(f,Re.el),H&&we(H,y),(Ee=O.props&&O.props.onVnodeUpdated)&&we(()=>Ge(Ee,G,O,te),y)}else{let O;const{el:k,props:H}=d,{bm:G,m:te,parent:Q,root:Ee,type:Re}=f,je=on(d);Rt(f,!1),G&&xn(G),!je&&(O=H&&H.onVnodeBeforeMount)&&Ge(O,Q,d),Rt(f,!0);{Ee.ce&&Ee.ce._def.shadowRoot!==!1&&Ee.ce._injectChildStyle(Re);const Ve=f.subTree=cr(f);I(null,Ve,g,_,f,y,v),d.el=Ve.el}if(te&&we(te,y),!je&&(O=H&&H.onVnodeMounted)){const Ve=d;we(()=>Ge(O,Q,Ve),y)}(d.shapeFlag&256||Q&&on(Q.vnode)&&Q.vnode.shapeFlag&256)&&f.a&&we(f.a,y),f.isMounted=!0,d=g=_=null}};f.scope.on();const E=f.effect=new ei(R);f.scope.off();const x=f.update=E.run.bind(E),F=f.job=E.runIfDirty.bind(E);F.i=f,F.id=f.uid,E.scheduler=()=>$s(F),Rt(f,!0),x()},Y=(f,d,g)=>{d.component=f;const _=f.vnode.props;f.vnode=d,f.next=null,Dl(f,d.props,_,g),Hl(f,d.children,g),tt(),tr(f),nt()},W=(f,d,g,_,y,v,A,R,E=!1)=>{const x=f&&f.children,F=f?f.shapeFlag:0,O=d.children,{patchFlag:k,shapeFlag:H}=d;if(k>0){if(k&128){ct(x,O,g,_,y,v,A,R,E);return}else if(k&256){Je(x,O,g,_,y,v,A,R,E);return}}H&8?(F&16&&Pe(x,y,v),O!==x&&u(g,O)):F&16?H&16?ct(x,O,g,_,y,v,A,R,E):Pe(x,y,v,!0):(F&8&&u(g,""),H&16&&Fe(O,g,_,y,v,A,R,E))},Je=(f,d,g,_,y,v,A,R,E)=>{f=f||Ft,d=d||Ft;const x=f.length,F=d.length,O=Math.min(x,F);let k;for(k=0;k<O;k++){const H=d[k]=E?dt(d[k]):We(d[k]);I(f[k],H,g,null,y,v,A,R,E)}x>F?Pe(f,y,v,!0,!1,O):Fe(d,g,_,y,v,A,R,E,O)},ct=(f,d,g,_,y,v,A,R,E)=>{let x=0;const F=d.length;let O=f.length-1,k=F-1;for(;x<=O&&x<=k;){const H=f[x],G=d[x]=E?dt(d[x]):We(d[x]);if(Xt(H,G))I(H,G,g,null,y,v,A,R,E);else break;x++}for(;x<=O&&x<=k;){const H=f[O],G=d[k]=E?dt(d[k]):We(d[k]);if(Xt(H,G))I(H,G,g,null,y,v,A,R,E);else break;O--,k--}if(x>O){if(x<=k){const H=k+1,G=H<F?d[H].el:_;for(;x<=k;)I(null,d[x]=E?dt(d[x]):We(d[x]),g,G,y,v,A,R,E),x++}}else if(x>k)for(;x<=O;)xe(f[x],y,v,!0),x++;else{const H=x,G=x,te=new Map;for(x=G;x<=k;x++){const Ae=d[x]=E?dt(d[x]):We(d[x]);Ae.key!=null&&te.set(Ae.key,x)}let Q,Ee=0;const Re=k-G+1;let je=!1,Ve=0;const Qt=new Array(Re);for(x=0;x<Re;x++)Qt[x]=0;for(x=H;x<=O;x++){const Ae=f[x];if(Ee>=Re){xe(Ae,y,v,!0);continue}let Ue;if(Ae.key!=null)Ue=te.get(Ae.key);else for(Q=G;Q<=k;Q++)if(Qt[Q-G]===0&&Xt(Ae,d[Q])){Ue=Q;break}Ue===void 0?xe(Ae,y,v,!0):(Qt[Ue-G]=x+1,Ue>=Ve?Ve=Ue:je=!0,I(Ae,d[Ue],g,null,y,v,A,R,E),Ee++)}const Js=je?Vl(Qt):Ft;for(Q=Js.length-1,x=Re-1;x>=0;x--){const Ae=G+x,Ue=d[Ae],Qs=d[Ae+1],Ys=Ae+1<F?Qs.el||Vi(Qs):_;Qt[x]===0?I(null,Ue,g,Ys,y,v,A,R,E):je&&(Q<0||x!==Js[Q]?$e(Ue,g,Ys,2):Q--)}}},$e=(f,d,g,_,y=null)=>{const{el:v,type:A,transition:R,children:E,shapeFlag:x}=f;if(x&6){$e(f.component.subTree,d,g,_);return}if(x&128){f.suspense.move(d,g,_);return}if(x&64){A.move(f,d,g,D);return}if(A===he){s(v,d,g);for(let O=0;O<E.length;O++)$e(E[O],d,g,_);s(f.anchor,d,g);return}if(A===ns){L(f,d,g);return}if(_!==2&&x&1&&R)if(_===0)R.beforeEnter(v),s(v,d,g),we(()=>R.enter(v),y);else{const{leave:O,delayLeave:k,afterLeave:H}=R,G=()=>{f.ctx.isUnmounted?r(v):s(v,d,g)},te=()=>{v._isLeaving&&v[sl](!0),O(v,()=>{G(),H&&H()})};k?k(v,G,te):te()}else s(v,d,g)},xe=(f,d,g,_=!1,y=!1)=>{const{type:v,props:A,ref:R,children:E,dynamicChildren:x,shapeFlag:F,patchFlag:O,dirs:k,cacheIndex:H}=f;if(O===-2&&(y=!1),R!=null&&(tt(),rn(R,null,g,f,!0),nt()),H!=null&&(d.renderCache[H]=void 0),F&256){d.ctx.deactivate(f);return}const G=F&1&&k,te=!on(f);let Q;if(te&&(Q=A&&A.onVnodeBeforeUnmount)&&Ge(Q,d,f),F&6)xt(f.component,g,_);else{if(F&128){f.suspense.unmount(g,_);return}G&&Et(f,null,d,"beforeUnmount"),F&64?f.type.remove(f,d,g,D,_):x&&!x.hasOnce&&(v!==he||O>0&&O&64)?Pe(x,d,g,!1,!0):(v===he&&O&384||!y&&F&16)&&Pe(E,d,g),_&&Tt(f)}(te&&(Q=A&&A.onVnodeUnmounted)||G)&&we(()=>{Q&&Ge(Q,d,f),G&&Et(f,null,d,"unmounted")},g)},Tt=f=>{const{type:d,el:g,anchor:_,transition:y}=f;if(d===he){Nt(g,_);return}if(d===ns){N(f);return}const v=()=>{r(g),y&&!y.persisted&&y.afterLeave&&y.afterLeave()};if(f.shapeFlag&1&&y&&!y.persisted){const{leave:A,delayLeave:R}=y,E=()=>A(g,v);R?R(f.el,v,E):E()}else v()},Nt=(f,d)=>{let g;for(;f!==d;)g=p(f),r(f),f=g;r(d)},xt=(f,d,g)=>{const{bum:_,scope:y,job:v,subTree:A,um:R,m:E,a:x}=f;ar(E),ar(x),_&&xn(_),y.stop(),v&&(v.flags|=8,xe(A,f,d,g)),R&&we(R,d),we(()=>{f.isUnmounted=!0},d)},Pe=(f,d,g,_=!1,y=!1,v=0)=>{for(let A=v;A<f.length;A++)xe(f[A],d,g,_,y)},b=f=>{if(f.shapeFlag&6)return b(f.component.subTree);if(f.shapeFlag&128)return f.suspense.next();const d=p(f.anchor||f.el),g=d&&d[tl];return g?p(g):d};let P=!1;const w=(f,d,g)=>{let _;f==null?d._vnode&&(xe(d._vnode,null,null,!0),_=d._vnode.component):I(d._vnode||null,f,d,null,null,null,g),d._vnode=f,P||(P=!0,tr(_),bi(),P=!1)},D={p:I,um:xe,m:$e,r:Tt,mt:Jt,mc:Fe,pc:W,pbc:He,n:b,o:e};return{render:w,hydrate:void 0,createApp:Al(w)}}function ts({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Rt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function jl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function $i(e,t,n=!1){const s=e.children,r=t.children;if($(s)&&$(r))for(let i=0;i<s.length;i++){const o=s[i];let c=r[i];c.shapeFlag&1&&!c.dynamicChildren&&((c.patchFlag<=0||c.patchFlag===32)&&(c=r[i]=dt(r[i]),c.el=o.el),!n&&c.patchFlag!==-2&&$i(o,c)),c.type===Gn&&(c.patchFlag!==-1?c.el=o.el:c.__elIndex=i+(e.type===he?1:0)),c.type===vt&&!c.el&&(c.el=o.el)}}function Vl(e){const t=e.slice(),n=[0];let s,r,i,o,c;const l=e.length;for(s=0;s<l;s++){const a=e[s];if(a!==0){if(r=n[n.length-1],e[r]<a){t[s]=r,n.push(s);continue}for(i=0,o=n.length-1;i<o;)c=i+o>>1,e[n[c]]<a?i=c+1:o=c;a<e[n[i]]&&(i>0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function ji(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ji(t)}function ar(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Vi(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Vi(t.subTree):null}const Ui=e=>e.__isSuspense;function Ul(e,t){t&&t.pendingBranch?$(e)?t.effects.push(...e):t.effects.push(e):Qo(e)}const he=Symbol.for("v-fgt"),Gn=Symbol.for("v-txt"),vt=Symbol.for("v-cmt"),ns=Symbol.for("v-stc"),cn=[];let Oe=null;function B(e=!1){cn.push(Oe=e?null:[])}function Gl(){cn.pop(),Oe=cn[cn.length-1]||null}let hn=1;function Tn(e,t=!1){hn+=e,e<0&&Oe&&t&&(Oe.hasOnce=!0)}function Gi(e){return e.dynamicChildren=hn>0?Oe||Ft:null,Gl(),hn>0&&Oe&&Oe.push(e),e}function K(e,t,n,s,r,i){return Gi(C(e,t,n,s,r,i,!0))}function Te(e,t,n,s,r){return Gi(ye(e,t,n,s,r,!0))}function Nn(e){return e?e.__v_isVNode===!0:!1}function Xt(e,t){return e.type===t.type&&e.key===t.key}const Ki=({key:e})=>e??null,Sn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?le(e)||ge(e)||j(e)?{i:Ce,r:e,k:t,f:!!n}:e:null);function C(e,t=null,n=null,s=0,r=null,i=e===he?0:1,o=!1,c=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ki(t),ref:t&&Sn(t),scopeId:xi,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Ce};return c?(Ks(l,n),i&128&&e.normalize(l)):n&&(l.shapeFlag|=le(n)?8:16),hn>0&&!o&&Oe&&(l.patchFlag>0||i&6)&&l.patchFlag!==32&&Oe.push(l),l}const ye=Kl;function Kl(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===ml)&&(e=vt),Nn(e)){const c=Wt(e,t,!0);return n&&Ks(c,n),hn>0&&!i&&Oe&&(c.shapeFlag&6?Oe[Oe.indexOf(e)]=c:Oe.push(c)),c.patchFlag=-2,c}if(sc(e)&&(e=e.__vccOpts),t){t=Wl(t);let{class:c,style:l}=t;c&&!le(c)&&(t.class=gt(c)),re(l)&&(Hs(l)&&!$(l)&&(l=me({},l)),t.style=Ts(l))}const o=le(e)?1:Ui(e)?128:nl(e)?64:re(e)?4:j(e)?2:0;return C(e,t,n,s,r,o,i,!0)}function Wl(e){return e?Hs(e)||Di(e)?me({},e):e:null}function Wt(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:c,transition:l}=e,a=t?ql(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&Ki(a),ref:t&&t.ref?n&&i?$(i)?i.concat(Sn(t)):[i,Sn(t)]:Sn(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:c,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==he?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Wt(e.ssContent),ssFallback:e.ssFallback&&Wt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&s&&js(u,l.clone(u)),u}function Kn(e=" ",t=0){return ye(Gn,null,e,t)}function Z(e="",t=!1){return t?(B(),Te(vt,null,e)):ye(vt,null,e)}function We(e){return e==null||typeof e=="boolean"?ye(vt):$(e)?ye(he,null,e.slice()):Nn(e)?dt(e):ye(Gn,null,String(e))}function dt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Wt(e)}function Ks(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if($(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Ks(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!Di(t)?t._ctx=Ce:r===3&&Ce&&(Ce.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else j(t)?(t={default:t,_ctx:Ce},n=32):(t=String(t),s&64?(n=16,t=[Kn(t)]):n=8);e.children=t,e.shapeFlag|=n}function ql(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const r in s)if(r==="class")t.class!==s.class&&(t.class=gt([t.class,s.class]));else if(r==="style")t.style=Ts([t.style,s.style]);else if(Dn(r)){const i=t[r],o=s[r];o&&i!==o&&!($(i)&&i.includes(o))&&(t[r]=i?[].concat(i,o):o)}else r!==""&&(t[r]=s[r])}return t}function Ge(e,t,n,s=null){ze(e,t,7,[n,s])}const zl=Ii();let Jl=0;function Ql(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||zl,i={uid:Jl++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new yo(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Li(s,r),emitsOptions:Ti(s,r),emit:null,emitted:null,propsDefaults:ee,inheritAttrs:s.inheritAttrs,ctx:ee,data:ee,props:ee,attrs:ee,slots:ee,refs:ee,setupState:ee,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return i.ctx={_:i},i.root=t?t.root:i,i.emit=Cl.bind(null,i),e.ce&&e.ce(i),i}let pe=null;const Yl=()=>pe||Ce;let Mn,ys;{const e=Hn(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Mn=t("__VUE_INSTANCE_SETTERS__",n=>pe=n),ys=t("__VUE_SSR_SETTERS__",n=>pn=n)}const _n=e=>{const t=pe;return Mn(e),e.scope.on(),()=>{e.scope.off(),Mn(t)}},dr=()=>{pe&&pe.scope.off(),Mn(null)};function Wi(e){return e.vnode.shapeFlag&4}let pn=!1;function Xl(e,t=!1,n=!1){t&&ys(t);const{props:s,children:r}=e.vnode,i=Wi(e);Ml(e,s,i,t),Fl(e,r,n||t);const o=i?Zl(e,t):void 0;return t&&ys(!1),o}function Zl(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,vl);const{setup:s}=n;if(s){tt();const r=e.setupContext=s.length>1?tc(e):null,i=_n(e),o=mn(s,e,0,[e.props,r]),c=qr(o);if(nt(),i(),(c||e.sp)&&!on(e)&&Si(e),c){if(o.then(dr,dr),t)return o.then(l=>{hr(e,l)}).catch(l=>{jn(l,e,0)});e.asyncDep=o}else hr(e,o)}else qi(e)}function hr(e,t,n){j(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:re(t)&&(e.setupState=mi(t)),qi(e)}function qi(e,t,n){const s=e.type;e.render||(e.render=s.render||qe);{const r=_n(e);tt();try{bl(e)}finally{nt(),r()}}}const ec={get(e,t){return de(e,"get",""),e[t]}};function tc(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,ec),slots:e.slots,emit:e.emit,expose:t}}function Wn(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(mi($o(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in ln)return ln[n](e)},has(t,n){return n in t||n in ln}})):e.proxy}function nc(e,t=!0){return j(e)?e.displayName||e.name:e.name||t&&e.__name}function sc(e){return j(e)&&"__vccOpts"in e}const ue=(e,t)=>Ko(e,t,pn);function zi(e,t,n){try{Tn(-1);const s=arguments.length;return s===2?re(t)&&!$(t)?Nn(t)?ye(e,null,[t]):ye(e,t):ye(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Nn(n)&&(n=[n]),ye(e,t,n))}finally{Tn(1)}}const rc="3.5.26";/**
14
+ * @vue/runtime-dom v3.5.26
15
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
16
+ * @license MIT
17
+ **/let xs;const pr=typeof window<"u"&&window.trustedTypes;if(pr)try{xs=pr.createPolicy("vue",{createHTML:e=>e})}catch{}const Ji=xs?e=>xs.createHTML(e):e=>e,ic="http://www.w3.org/2000/svg",oc="http://www.w3.org/1998/Math/MathML",Xe=typeof document<"u"?document:null,gr=Xe&&Xe.createElement("template"),lc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?Xe.createElementNS(ic,e):t==="mathml"?Xe.createElementNS(oc,e):n?Xe.createElement(e,{is:n}):Xe.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Xe.createTextNode(e),createComment:e=>Xe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Xe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{gr.innerHTML=Ji(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const c=gr.content;if(s==="svg"||s==="mathml"){const l=c.firstChild;for(;l.firstChild;)c.appendChild(l.firstChild);c.removeChild(l)}t.insertBefore(c,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},cc=Symbol("_vtc");function uc(e,t,n){const s=e[cc];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const mr=Symbol("_vod"),fc=Symbol("_vsh"),ac=Symbol(""),dc=/(?:^|;)\s*display\s*:/;function hc(e,t,n){const s=e.style,r=le(n);let i=!1;if(n&&!r){if(t)if(le(t))for(const o of t.split(";")){const c=o.slice(0,o.indexOf(":")).trim();n[c]==null&&An(s,c,"")}else for(const o in t)n[o]==null&&An(s,o,"");for(const o in n)o==="display"&&(i=!0),An(s,o,n[o])}else if(r){if(t!==n){const o=s[ac];o&&(n+=";"+o),s.cssText=n,i=dc.test(n)}}else t&&e.removeAttribute("style");mr in e&&(e[mr]=i?s.display:"",e[fc]&&(s.display="none"))}const _r=/\s*!important$/;function An(e,t,n){if($(n))n.forEach(s=>An(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=pc(e,t);_r.test(n)?e.setProperty(Ot(s),n.replace(_r,""),"important"):e[s]=n}}const vr=["Webkit","Moz","ms"],ss={};function pc(e,t){const n=ss[t];if(n)return n;let s=Ne(t);if(s!=="filter"&&s in e)return ss[t]=s;s=Fn(s);for(let r=0;r<vr.length;r++){const i=vr[r]+s;if(i in e)return ss[t]=i}return t}const br="http://www.w3.org/1999/xlink";function yr(e,t,n,s,r,i=bo(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(br,t.slice(6,t.length)):e.setAttributeNS(br,t,n):n==null||i&&!Yr(n)?e.removeAttribute(t):e.setAttribute(t,i?"":bt(n)?String(n):n)}function xr(e,t,n,s,r){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?Ji(n):n);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const c=i==="OPTION"?e.getAttribute("value")||"":e.value,l=n==null?e.type==="checkbox"?"on":"":String(n);(c!==l||!("_value"in e))&&(e.value=l),n==null&&e.removeAttribute(t),e._value=n;return}let o=!1;if(n===""||n==null){const c=typeof e[t];c==="boolean"?n=Yr(n):n==null&&c==="string"?(n="",o=!0):c==="number"&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(r||t)}function kt(e,t,n,s){e.addEventListener(t,n,s)}function gc(e,t,n,s){e.removeEventListener(t,n,s)}const Er=Symbol("_vei");function mc(e,t,n,s,r=null){const i=e[Er]||(e[Er]={}),o=i[t];if(s&&o)o.value=s;else{const[c,l]=_c(t);if(s){const a=i[t]=yc(s,r);kt(e,c,a,l)}else o&&(gc(e,c,o,l),i[t]=void 0)}}const Rr=/(?:Once|Passive|Capture)$/;function _c(e){let t;if(Rr.test(e)){t={};let s;for(;s=e.match(Rr);)e=e.slice(0,e.length-s[0].length),t[s[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Ot(e.slice(2)),t]}let rs=0;const vc=Promise.resolve(),bc=()=>rs||(vc.then(()=>rs=0),rs=Date.now());function yc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;ze(xc(s,n.value),t,5,[s])};return n.value=e,n.attached=bc(),n}function xc(e,t){if($(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Sr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ec=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?uc(e,s,o):t==="style"?hc(e,n,s):Dn(t)?Cs(t)||mc(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Rc(e,t,s,o))?(xr(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&yr(e,t,s,o,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!le(s))?xr(e,Ne(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),yr(e,t,s,o))};function Rc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Sr(t)&&j(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Sr(t)&&le(n)?!1:t in e}const Ar=e=>{const t=e.props["onUpdate:modelValue"]||!1;return $(t)?n=>xn(t,n):t};function Sc(e){e.target.composing=!0}function wr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const is=Symbol("_assign");function Cr(e,t,n){return t&&(e=e.trim()),n&&(e=Is(e)),e}const Ac={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[is]=Ar(r);const i=s||r.props&&r.props.type==="number";kt(e,t?"change":"input",o=>{o.target.composing||e[is](Cr(e.value,n,i))}),(n||i)&&kt(e,"change",()=>{e.value=Cr(e.value,n,i)}),t||(kt(e,"compositionstart",Sc),kt(e,"compositionend",wr),kt(e,"change",wr))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[is]=Ar(o),e.composing)return;const c=(i||e.type==="number")&&!/^0\d/.test(e.value)?Is(e.value):e.value,l=t??"";c!==l&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===l)||(e.value=l))}},wc=me({patchProp:Ec},lc);let Or;function Cc(){return Or||(Or=Bl(wc))}const Oc=(...e)=>{const t=Cc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Ic(s);if(!r)return;const i=t._component;!j(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,Pc(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t};function Pc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Ic(e){return le(e)?document.querySelector(e):e}/*!
18
+ * vue-router v4.6.4
19
+ * (c) 2025 Eduardo San Martin Morote
20
+ * @license MIT
21
+ */const Lt=typeof document<"u";function Qi(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Tc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Qi(e.default)}const q=Object.assign;function os(e,t){const n={};for(const s in t){const r=t[s];n[s]=Le(r)?r.map(e):e(r)}return n}const un=()=>{},Le=Array.isArray;function Pr(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const Yi=/#/g,Nc=/&/g,Mc=/\//g,Dc=/=/g,kc=/\?/g,Xi=/\+/g,Lc=/%5B/g,Fc=/%5D/g,Zi=/%5E/g,Hc=/%60/g,eo=/%7B/g,Bc=/%7C/g,to=/%7D/g,$c=/%20/g;function Ws(e){return e==null?"":encodeURI(""+e).replace(Bc,"|").replace(Lc,"[").replace(Fc,"]")}function jc(e){return Ws(e).replace(eo,"{").replace(to,"}").replace(Zi,"^")}function Es(e){return Ws(e).replace(Xi,"%2B").replace($c,"+").replace(Yi,"%23").replace(Nc,"%26").replace(Hc,"`").replace(eo,"{").replace(to,"}").replace(Zi,"^")}function Vc(e){return Es(e).replace(Dc,"%3D")}function Uc(e){return Ws(e).replace(Yi,"%23").replace(kc,"%3F")}function Gc(e){return Uc(e).replace(Mc,"%2F")}function gn(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Kc=/\/$/,Wc=e=>e.replace(Kc,"");function ls(e,t,n="/"){let s,r={},i="",o="";const c=t.indexOf("#");let l=t.indexOf("?");return l=c>=0&&l>c?-1:l,l>=0&&(s=t.slice(0,l),i=t.slice(l,c>0?c:t.length),r=e(i.slice(1))),c>=0&&(s=s||t.slice(0,c),o=t.slice(c,t.length)),s=Qc(s??t,n),{fullPath:s+i+o,path:s,query:r,hash:gn(o)}}function qc(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Ir(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function zc(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&qt(t.matched[s],n.matched[r])&&no(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function qt(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function no(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Jc(e[n],t[n]))return!1;return!0}function Jc(e,t){return Le(e)?Tr(e,t):Le(t)?Tr(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function Tr(e,t){return Le(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function Qc(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let i=n.length-1,o,c;for(o=0;o<s.length;o++)if(c=s[o],c!==".")if(c==="..")i>1&&i--;else break;return n.slice(0,i).join("/")+"/"+s.slice(o).join("/")}const ut={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Rs=function(e){return e.pop="pop",e.push="push",e}({}),cs=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function Yc(e){if(!e)if(Lt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Wc(e)}const Xc=/^[^#]+#/;function Zc(e,t){return e.replace(Xc,"#")+t}function eu(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const qn=()=>({left:window.scrollX,top:window.scrollY});function tu(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=eu(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Nr(e,t){return(history.state?history.state.position-t:-1)+e}const Ss=new Map;function nu(e,t){Ss.set(e,t)}function su(e){const t=Ss.get(e);return Ss.delete(e),t}function ru(e){return typeof e=="string"||e&&typeof e=="object"}function so(e){return typeof e=="string"||typeof e=="symbol"}let oe=function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e}({});const ro=Symbol("");oe.MATCHER_NOT_FOUND+"",oe.NAVIGATION_GUARD_REDIRECT+"",oe.NAVIGATION_ABORTED+"",oe.NAVIGATION_CANCELLED+"",oe.NAVIGATION_DUPLICATED+"";function zt(e,t){return q(new Error,{type:e,[ro]:!0},t)}function Ye(e,t){return e instanceof Error&&ro in e&&(t==null||!!(e.type&t))}const iu=["params","query","hash"];function ou(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of iu)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function lu(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;s<n.length;++s){const r=n[s].replace(Xi," "),i=r.indexOf("="),o=gn(i<0?r:r.slice(0,i)),c=i<0?null:gn(r.slice(i+1));if(o in t){let l=t[o];Le(l)||(l=t[o]=[l]),l.push(c)}else t[o]=c}return t}function Mr(e){let t="";for(let n in e){const s=e[n];if(n=Vc(n),s==null){s!==void 0&&(t+=(t.length?"&":"")+n);continue}(Le(s)?s.map(r=>r&&Es(r)):[s&&Es(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function cu(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=Le(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const uu=Symbol(""),Dr=Symbol(""),zn=Symbol(""),qs=Symbol(""),As=Symbol("");function Zt(){let e=[];function t(s){return e.push(s),()=>{const r=e.indexOf(s);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function ht(e,t,n,s,r,i=o=>o()){const o=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((c,l)=>{const a=p=>{p===!1?l(zt(oe.NAVIGATION_ABORTED,{from:n,to:t})):p instanceof Error?l(p):ru(p)?l(zt(oe.NAVIGATION_GUARD_REDIRECT,{from:t,to:p})):(o&&s.enterCallbacks[r]===o&&typeof p=="function"&&o.push(p),c())},u=i(()=>e.call(s&&s.instances[r],t,n,a));let h=Promise.resolve(u);e.length<3&&(h=h.then(a)),h.catch(p=>l(p))})}function us(e,t,n,s,r=i=>i()){const i=[];for(const o of e)for(const c in o.components){let l=o.components[c];if(!(t!=="beforeRouteEnter"&&!o.instances[c]))if(Qi(l)){const a=(l.__vccOpts||l)[t];a&&i.push(ht(a,n,s,o,c,r))}else{let a=l();i.push(()=>a.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${c}" at "${o.path}"`);const h=Tc(u)?u.default:u;o.mods[c]=u,o.components[c]=h;const p=(h.__vccOpts||h)[t];return p&&ht(p,n,s,o,c,r)()}))}}return i}function fu(e,t){const n=[],s=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;o<i;o++){const c=t.matched[o];c&&(e.matched.find(a=>qt(a,c))?s.push(c):n.push(c));const l=e.matched[o];l&&(t.matched.find(a=>qt(a,l))||r.push(l))}return[n,s,r]}/*!
22
+ * vue-router v4.6.4
23
+ * (c) 2025 Eduardo San Martin Morote
24
+ * @license MIT
25
+ */let au=()=>location.protocol+"//"+location.host;function io(e,t){const{pathname:n,search:s,hash:r}=t,i=e.indexOf("#");if(i>-1){let o=r.includes(e.slice(i))?e.slice(i).length:1,c=r.slice(o);return c[0]!=="/"&&(c="/"+c),Ir(c,"")}return Ir(n,e)+s+r}function du(e,t,n,s){let r=[],i=[],o=null;const c=({state:p})=>{const m=io(e,location),S=n.value,I=t.value;let V=0;if(p){if(n.value=m,t.value=p,o&&o===S){o=null;return}V=I?p.position-I.position:0}else s(m);r.forEach(M=>{M(n.value,S,{delta:V,type:Rs.pop,direction:V?V>0?cs.forward:cs.back:cs.unknown})})};function l(){o=n.value}function a(p){r.push(p);const m=()=>{const S=r.indexOf(p);S>-1&&r.splice(S,1)};return i.push(m),m}function u(){if(document.visibilityState==="hidden"){const{history:p}=window;if(!p.state)return;p.replaceState(q({},p.state,{scroll:qn()}),"")}}function h(){for(const p of i)p();i=[],window.removeEventListener("popstate",c),window.removeEventListener("pagehide",u),document.removeEventListener("visibilitychange",u)}return window.addEventListener("popstate",c),window.addEventListener("pagehide",u),document.addEventListener("visibilitychange",u),{pauseListeners:l,listen:a,destroy:h}}function kr(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?qn():null}}function hu(e){const{history:t,location:n}=window,s={value:io(e,n)},r={value:t.state};r.value||i(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(l,a,u){const h=e.indexOf("#"),p=h>-1?(n.host&&document.querySelector("base")?e:e.slice(h))+l:au()+e+l;try{t[u?"replaceState":"pushState"](a,"",p),r.value=a}catch(m){console.error(m),n[u?"replace":"assign"](p)}}function o(l,a){i(l,q({},t.state,kr(r.value.back,l,r.value.forward,!0),a,{position:r.value.position}),!0),s.value=l}function c(l,a){const u=q({},r.value,t.state,{forward:l,scroll:qn()});i(u.current,u,!0),i(l,q({},kr(s.value,l,null),{position:u.position+1},a),!1),s.value=l}return{location:s,state:r,push:c,replace:o}}function pu(e){e=Yc(e);const t=hu(e),n=du(e,t.state,t.location,t.replace);function s(i,o=!0){o||n.pauseListeners(),history.go(i)}const r=q({location:"",base:e,go:s,createHref:Zc.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}let At=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var ce=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e}(ce||{});const gu={type:At.Static,value:""},mu=/[a-zA-Z0-9_]/;function _u(e){if(!e)return[[]];if(e==="/")return[[gu]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${a}": ${m}`)}let n=ce.Static,s=n;const r=[];let i;function o(){i&&r.push(i),i=[]}let c=0,l,a="",u="";function h(){a&&(n===ce.Static?i.push({type:At.Static,value:a}):n===ce.Param||n===ce.ParamRegExp||n===ce.ParamRegExpEnd?(i.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${a}) must be alone in its segment. eg: '/:ids+.`),i.push({type:At.Param,value:a,regexp:u,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),a="")}function p(){a+=l}for(;c<e.length;){if(l=e[c++],l==="\\"&&n!==ce.ParamRegExp){s=n,n=ce.EscapeNext;continue}switch(n){case ce.Static:l==="/"?(a&&h(),o()):l===":"?(h(),n=ce.Param):p();break;case ce.EscapeNext:p(),n=s;break;case ce.Param:l==="("?n=ce.ParamRegExp:mu.test(l)?p():(h(),n=ce.Static,l!=="*"&&l!=="?"&&l!=="+"&&c--);break;case ce.ParamRegExp:l===")"?u[u.length-1]=="\\"?u=u.slice(0,-1)+l:n=ce.ParamRegExpEnd:u+=l;break;case ce.ParamRegExpEnd:h(),n=ce.Static,l!=="*"&&l!=="?"&&l!=="+"&&c--,u="";break;default:t("Unknown state");break}}return n===ce.ParamRegExp&&t(`Unfinished custom RegExp for param "${a}"`),h(),o(),r}const Lr="[^/]+?",vu={sensitive:!1,strict:!1,start:!0,end:!0};var ve=function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e}(ve||{});const bu=/[.+*?^${}()[\]/\\]/g;function yu(e,t){const n=q({},vu,t),s=[];let r=n.start?"^":"";const i=[];for(const a of e){const u=a.length?[]:[ve.Root];n.strict&&!a.length&&(r+="/");for(let h=0;h<a.length;h++){const p=a[h];let m=ve.Segment+(n.sensitive?ve.BonusCaseSensitive:0);if(p.type===At.Static)h||(r+="/"),r+=p.value.replace(bu,"\\$&"),m+=ve.Static;else if(p.type===At.Param){const{value:S,repeatable:I,optional:V,regexp:M}=p;i.push({name:S,repeatable:I,optional:V});const T=M||Lr;if(T!==Lr){m+=ve.BonusCustomRegExp;try{`${T}`}catch(N){throw new Error(`Invalid custom RegExp for param "${S}" (${T}): `+N.message)}}let L=I?`((?:${T})(?:/(?:${T}))*)`:`(${T})`;h||(L=V&&a.length<2?`(?:/${L})`:"/"+L),V&&(L+="?"),r+=L,m+=ve.Dynamic,V&&(m+=ve.BonusOptional),I&&(m+=ve.BonusRepeatable),T===".*"&&(m+=ve.BonusWildcard)}u.push(m)}s.push(u)}if(n.strict&&n.end){const a=s.length-1;s[a][s[a].length-1]+=ve.BonusStrict}n.strict||(r+="/?"),n.end?r+="$":n.strict&&!r.endsWith("/")&&(r+="(?:/|$)");const o=new RegExp(r,n.sensitive?"":"i");function c(a){const u=a.match(o),h={};if(!u)return null;for(let p=1;p<u.length;p++){const m=u[p]||"",S=i[p-1];h[S.name]=m&&S.repeatable?m.split("/"):m}return h}function l(a){let u="",h=!1;for(const p of e){(!h||!u.endsWith("/"))&&(u+="/"),h=!1;for(const m of p)if(m.type===At.Static)u+=m.value;else if(m.type===At.Param){const{value:S,repeatable:I,optional:V}=m,M=S in a?a[S]:"";if(Le(M)&&!I)throw new Error(`Provided param "${S}" is an array but it is not repeatable (* or + modifiers)`);const T=Le(M)?M.join("/"):M;if(!T)if(V)p.length<2&&(u.endsWith("/")?u=u.slice(0,-1):h=!0);else throw new Error(`Missing required param "${S}"`);u+=T}}return u||"/"}return{re:o,score:s,keys:i,parse:c,stringify:l}}function xu(e,t){let n=0;for(;n<e.length&&n<t.length;){const s=t[n]-e[n];if(s)return s;n++}return e.length<t.length?e.length===1&&e[0]===ve.Static+ve.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===ve.Static+ve.Segment?1:-1:0}function oo(e,t){let n=0;const s=e.score,r=t.score;for(;n<s.length&&n<r.length;){const i=xu(s[n],r[n]);if(i)return i;n++}if(Math.abs(r.length-s.length)===1){if(Fr(s))return 1;if(Fr(r))return-1}return r.length-s.length}function Fr(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const Eu={strict:!1,end:!0,sensitive:!1};function Ru(e,t,n){const s=yu(_u(e.path),n),r=q(s,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Su(e,t){const n=[],s=new Map;t=Pr(Eu,t);function r(h){return s.get(h)}function i(h,p,m){const S=!m,I=Br(h);I.aliasOf=m&&m.record;const V=Pr(t,h),M=[I];if("alias"in h){const N=typeof h.alias=="string"?[h.alias]:h.alias;for(const X of N)M.push(Br(q({},I,{components:m?m.record.components:I.components,path:X,aliasOf:m?m.record:I})))}let T,L;for(const N of M){const{path:X}=N;if(p&&X[0]!=="/"){const ae=p.record.path,ie=ae[ae.length-1]==="/"?"":"/";N.path=p.record.path+(X&&ie+X)}if(T=Ru(N,p,V),m?m.alias.push(T):(L=L||T,L!==T&&L.alias.push(T),S&&h.name&&!$r(T)&&o(h.name)),lo(T)&&l(T),I.children){const ae=I.children;for(let ie=0;ie<ae.length;ie++)i(ae[ie],T,m&&m.children[ie])}m=m||T}return L?()=>{o(L)}:un}function o(h){if(so(h)){const p=s.get(h);p&&(s.delete(h),n.splice(n.indexOf(p),1),p.children.forEach(o),p.alias.forEach(o))}else{const p=n.indexOf(h);p>-1&&(n.splice(p,1),h.record.name&&s.delete(h.record.name),h.children.forEach(o),h.alias.forEach(o))}}function c(){return n}function l(h){const p=Cu(h,n);n.splice(p,0,h),h.record.name&&!$r(h)&&s.set(h.record.name,h)}function a(h,p){let m,S={},I,V;if("name"in h&&h.name){if(m=s.get(h.name),!m)throw zt(oe.MATCHER_NOT_FOUND,{location:h});V=m.record.name,S=q(Hr(p.params,m.keys.filter(L=>!L.optional).concat(m.parent?m.parent.keys.filter(L=>L.optional):[]).map(L=>L.name)),h.params&&Hr(h.params,m.keys.map(L=>L.name))),I=m.stringify(S)}else if(h.path!=null)I=h.path,m=n.find(L=>L.re.test(I)),m&&(S=m.parse(I),V=m.record.name);else{if(m=p.name?s.get(p.name):n.find(L=>L.re.test(p.path)),!m)throw zt(oe.MATCHER_NOT_FOUND,{location:h,currentLocation:p});V=m.record.name,S=q({},p.params,h.params),I=m.stringify(S)}const M=[];let T=m;for(;T;)M.unshift(T.record),T=T.parent;return{name:V,path:I,params:S,matched:M,meta:wu(M)}}e.forEach(h=>i(h));function u(){n.length=0,s.clear()}return{addRoute:i,resolve:a,removeRoute:o,clearRoutes:u,getRoutes:c,getRecordMatcher:r}}function Hr(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function Br(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Au(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Au(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function $r(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function wu(e){return e.reduce((t,n)=>q(t,n.meta),{})}function Cu(e,t){let n=0,s=t.length;for(;n!==s;){const i=n+s>>1;oo(e,t[i])<0?s=i:n=i+1}const r=Ou(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function Ou(e){let t=e;for(;t=t.parent;)if(lo(t)&&oo(e,t)===0)return t}function lo({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function jr(e){const t=De(zn),n=De(qs),s=ue(()=>{const l=mt(e.to);return t.resolve(l)}),r=ue(()=>{const{matched:l}=s.value,{length:a}=l,u=l[a-1],h=n.matched;if(!u||!h.length)return-1;const p=h.findIndex(qt.bind(null,u));if(p>-1)return p;const m=Vr(l[a-2]);return a>1&&Vr(u)===m&&h[h.length-1].path!==m?h.findIndex(qt.bind(null,l[a-2])):p}),i=ue(()=>r.value>-1&&Mu(n.params,s.value.params)),o=ue(()=>r.value>-1&&r.value===n.matched.length-1&&no(n.params,s.value.params));function c(l={}){if(Nu(l)){const a=t[mt(e.replace)?"replace":"push"](mt(e.to)).catch(un);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>a),a}return Promise.resolve()}return{route:s,href:ue(()=>s.value.href),isActive:i,isExactActive:o,navigate:c}}function Pu(e){return e.length===1?e[0]:e}const Iu=rt({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:jr,setup(e,{slots:t}){const n=$n(jr(e)),{options:s}=De(zn),r=ue(()=>({[Ur(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[Ur(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&Pu(t.default(n));return e.custom?i:zi("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},i)}}}),Tu=Iu;function Nu(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Mu(e,t){for(const n in t){const s=t[n],r=e[n];if(typeof s=="string"){if(s!==r)return!1}else if(!Le(r)||r.length!==s.length||s.some((i,o)=>i.valueOf()!==r[o].valueOf()))return!1}return!0}function Vr(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Ur=(e,t,n)=>e??t??n,Du=rt({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=De(As),r=ue(()=>e.route||s.value),i=De(Dr,0),o=ue(()=>{let a=mt(i);const{matched:u}=r.value;let h;for(;(h=u[a])&&!h.components;)a++;return a}),c=ue(()=>r.value.matched[o.value]);En(Dr,ue(()=>o.value+1)),En(uu,c),En(As,r);const l=Ut();return Rn(()=>[l.value,c.value,e.name],([a,u,h],[p,m,S])=>{u&&(u.instances[h]=a,m&&m!==u&&a&&a===p&&(u.leaveGuards.size||(u.leaveGuards=m.leaveGuards),u.updateGuards.size||(u.updateGuards=m.updateGuards))),a&&u&&(!m||!qt(u,m)||!p)&&(u.enterCallbacks[h]||[]).forEach(I=>I(a))},{flush:"post"}),()=>{const a=r.value,u=e.name,h=c.value,p=h&&h.components[u];if(!p)return Gr(n.default,{Component:p,route:a});const m=h.props[u],S=m?m===!0?a.params:typeof m=="function"?m(a):m:null,V=zi(p,q({},S,t,{onVnodeUnmounted:M=>{M.component.isUnmounted&&(h.instances[u]=null)},ref:l}));return Gr(n.default,{Component:V,route:a})||V}}});function Gr(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const ku=Du;function Lu(e){const t=Su(e.routes,e),n=e.parseQuery||lu,s=e.stringifyQuery||Mr,r=e.history,i=Zt(),o=Zt(),c=Zt(),l=jo(ut);let a=ut;Lt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=os.bind(null,b=>""+b),h=os.bind(null,Gc),p=os.bind(null,gn);function m(b,P){let w,D;return so(b)?(w=t.getRecordMatcher(b),D=P):D=b,t.addRoute(D,w)}function S(b){const P=t.getRecordMatcher(b);P&&t.removeRoute(P)}function I(){return t.getRoutes().map(b=>b.record)}function V(b){return!!t.getRecordMatcher(b)}function M(b,P){if(P=q({},P||l.value),typeof b=="string"){const g=ls(n,b,P.path),_=t.resolve({path:g.path},P),y=r.createHref(g.fullPath);return q(g,_,{params:p(_.params),hash:gn(g.hash),redirectedFrom:void 0,href:y})}let w;if(b.path!=null)w=q({},b,{path:ls(n,b.path,P.path).path});else{const g=q({},b.params);for(const _ in g)g[_]==null&&delete g[_];w=q({},b,{params:h(g)}),P.params=h(P.params)}const D=t.resolve(w,P),U=b.hash||"";D.params=u(p(D.params));const f=qc(s,q({},b,{hash:jc(U),path:D.path})),d=r.createHref(f);return q({fullPath:f,hash:U,query:s===Mr?cu(b.query):b.query||{}},D,{redirectedFrom:void 0,href:d})}function T(b){return typeof b=="string"?ls(n,b,l.value.path):q({},b)}function L(b,P){if(a!==b)return zt(oe.NAVIGATION_CANCELLED,{from:P,to:b})}function N(b){return ie(b)}function X(b){return N(q(T(b),{replace:!0}))}function ae(b,P){const w=b.matched[b.matched.length-1];if(w&&w.redirect){const{redirect:D}=w;let U=typeof D=="function"?D(b,P):D;return typeof U=="string"&&(U=U.includes("?")||U.includes("#")?U=T(U):{path:U},U.params={}),q({query:b.query,hash:b.hash,params:U.path!=null?{}:b.params},U)}}function ie(b,P){const w=a=M(b),D=l.value,U=b.state,f=b.force,d=b.replace===!0,g=ae(w,D);if(g)return ie(q(T(g),{state:typeof g=="object"?q({},U,g.state):U,force:f,replace:d}),P||w);const _=w;_.redirectedFrom=P;let y;return!f&&zc(s,D,w)&&(y=zt(oe.NAVIGATION_DUPLICATED,{to:_,from:D}),$e(D,D,!0,!1)),(y?Promise.resolve(y):He(_,D)).catch(v=>Ye(v)?Ye(v,oe.NAVIGATION_GUARD_REDIRECT)?v:ct(v):W(v,_,D)).then(v=>{if(v){if(Ye(v,oe.NAVIGATION_GUARD_REDIRECT))return ie(q({replace:d},T(v.to),{state:typeof v.to=="object"?q({},U,v.to.state):U,force:f}),P||_)}else v=yt(_,D,!0,d,U);return lt(_,D,v),v})}function Fe(b,P){const w=L(b,P);return w?Promise.reject(w):Promise.resolve()}function ot(b){const P=Nt.values().next().value;return P&&typeof P.runWithContext=="function"?P.runWithContext(b):b()}function He(b,P){let w;const[D,U,f]=fu(b,P);w=us(D.reverse(),"beforeRouteLeave",b,P);for(const g of D)g.leaveGuards.forEach(_=>{w.push(ht(_,b,P))});const d=Fe.bind(null,b,P);return w.push(d),Pe(w).then(()=>{w=[];for(const g of i.list())w.push(ht(g,b,P));return w.push(d),Pe(w)}).then(()=>{w=us(U,"beforeRouteUpdate",b,P);for(const g of U)g.updateGuards.forEach(_=>{w.push(ht(_,b,P))});return w.push(d),Pe(w)}).then(()=>{w=[];for(const g of f)if(g.beforeEnter)if(Le(g.beforeEnter))for(const _ of g.beforeEnter)w.push(ht(_,b,P));else w.push(ht(g.beforeEnter,b,P));return w.push(d),Pe(w)}).then(()=>(b.matched.forEach(g=>g.enterCallbacks={}),w=us(f,"beforeRouteEnter",b,P,ot),w.push(d),Pe(w))).then(()=>{w=[];for(const g of o.list())w.push(ht(g,b,P));return w.push(d),Pe(w)}).catch(g=>Ye(g,oe.NAVIGATION_CANCELLED)?g:Promise.reject(g))}function lt(b,P,w){c.list().forEach(D=>ot(()=>D(b,P,w)))}function yt(b,P,w,D,U){const f=L(b,P);if(f)return f;const d=P===ut,g=Lt?history.state:{};w&&(D||d?r.replace(b.fullPath,q({scroll:d&&g&&g.scroll},U)):r.push(b.fullPath,U)),l.value=b,$e(b,P,w,d),ct()}let Be;function Jt(){Be||(Be=r.listen((b,P,w)=>{if(!xt.listening)return;const D=M(b),U=ae(D,xt.currentRoute.value);if(U){ie(q(U,{replace:!0,force:!0}),D).catch(un);return}a=D;const f=l.value;Lt&&nu(Nr(f.fullPath,w.delta),qn()),He(D,f).catch(d=>Ye(d,oe.NAVIGATION_ABORTED|oe.NAVIGATION_CANCELLED)?d:Ye(d,oe.NAVIGATION_GUARD_REDIRECT)?(ie(q(T(d.to),{force:!0}),D).then(g=>{Ye(g,oe.NAVIGATION_ABORTED|oe.NAVIGATION_DUPLICATED)&&!w.delta&&w.type===Rs.pop&&r.go(-1,!1)}).catch(un),Promise.reject()):(w.delta&&r.go(-w.delta,!1),W(d,D,f))).then(d=>{d=d||yt(D,f,!1),d&&(w.delta&&!Ye(d,oe.NAVIGATION_CANCELLED)?r.go(-w.delta,!1):w.type===Rs.pop&&Ye(d,oe.NAVIGATION_ABORTED|oe.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),lt(D,f,d)}).catch(un)}))}let It=Zt(),fe=Zt(),Y;function W(b,P,w){ct(b);const D=fe.list();return D.length?D.forEach(U=>U(b,P,w)):console.error(b),Promise.reject(b)}function Je(){return Y&&l.value!==ut?Promise.resolve():new Promise((b,P)=>{It.add([b,P])})}function ct(b){return Y||(Y=!b,Jt(),It.list().forEach(([P,w])=>b?w(b):P()),It.reset()),b}function $e(b,P,w,D){const{scrollBehavior:U}=e;if(!Lt||!U)return Promise.resolve();const f=!w&&su(Nr(b.fullPath,0))||(D||!w)&&history.state&&history.state.scroll||null;return Bs().then(()=>U(b,P,f)).then(d=>d&&tu(d)).catch(d=>W(d,b,P))}const xe=b=>r.go(b);let Tt;const Nt=new Set,xt={currentRoute:l,listening:!0,addRoute:m,removeRoute:S,clearRoutes:t.clearRoutes,hasRoute:V,getRoutes:I,resolve:M,options:e,push:N,replace:X,go:xe,back:()=>xe(-1),forward:()=>xe(1),beforeEach:i.add,beforeResolve:o.add,afterEach:c.add,onError:fe.add,isReady:Je,install(b){b.component("RouterLink",Tu),b.component("RouterView",ku),b.config.globalProperties.$router=xt,Object.defineProperty(b.config.globalProperties,"$route",{enumerable:!0,get:()=>mt(l)}),Lt&&!Tt&&l.value===ut&&(Tt=!0,N(r.location).catch(D=>{}));const P={};for(const D in ut)Object.defineProperty(P,D,{get:()=>l.value[D],enumerable:!0});b.provide(zn,xt),b.provide(qs,pi(P)),b.provide(As,l);const w=b.unmount;Nt.add(b),b.unmount=function(){Nt.delete(b),Nt.size<1&&(a=ut,Be&&Be(),Be=null,l.value=ut,Tt=!1,Y=!1),w()}}};function Pe(b){return b.reduce((P,w)=>P.then(()=>ot(w)),Promise.resolve())}return xt}function Fu(){return De(zn)}function co(e){return De(qs)}const Hu={class:"sidebar-item"},Bu={class:"item-wrapper"},$u={key:2,class:"nav-text"},ju=rt({__name:"SidebarItem",props:{item:{}},setup(e){const t=e,n=co(),s=Ut(!1);ue(()=>t.item.children?t.item.children.some(o=>n.path.startsWith(o.link||"")):!1).value&&(s.value=!0);function i(){s.value=!s.value}return(o,c)=>{const l=Gt("router-link"),a=Gt("SidebarItem",!0);return B(),K("div",Hu,[Z(" Main Item "),C("div",Bu,[e.item.children&&e.item.children.length>0?(B(),K("button",{key:0,class:gt(["expand-button",{expanded:s.value}]),onClick:i},[...c[0]||(c[0]=[C("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"currentColor"},[C("path",{d:"M4.7 10L9.4 5.5 4.7 1"})],-1)])],2)):Z("v-if",!0),e.item.link?(B(),Te(l,{key:1,to:e.item.link,class:gt(["nav-link",{active:o.$route.path===e.item.link}])},{default:_t(()=>[Kn(se(e.item.text),1)]),_:1},8,["to","class"])):(B(),K("span",$u,se(e.item.text),1))]),Z(" Children "),e.item.children&&e.item.children.length>0?(B(),K("div",{key:0,class:gt(["children",{expanded:s.value}])},[(B(!0),K(he,null,Kt(e.item.children,u=>(B(),Te(a,{key:u.text,item:u},null,8,["item"]))),128))],2)):Z("v-if",!0)])}}}),Pt=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Vu=Pt(ju,[["__scopeId","data-v-b5febdd6"]]),Uu={class:"sidebar-nav"},Gu={class:"nav-content"},Ku=rt({__name:"Sidebar",props:{navigation:{}},setup(e){return(t,n)=>(B(),K("nav",Uu,[C("div",Gu,[(B(!0),K(he,null,Kt(e.navigation,s=>(B(),Te(Vu,{key:s.text,item:s},null,8,["item"]))),128))])]))}}),Wu=Pt(Ku,[["__scopeId","data-v-014c42bf"]]);function jt(e,t){const n=e.path;if(t){const r=n.replace(/\\/g,"/"),i=t.replace(/\\/g,"/"),o=r.indexOf(i);if(o!==-1){const c=r.slice(o+i.length);return fs(c)}}const s=[".claude/skills","docs","documentation","my-docs"];for(const r of s){const i=n.indexOf(r);if(i!==-1){const o=n.slice(i+r.length);return fs(o)}}return fs("/"+e.name)}function fs(e){const t=e.split("/").filter(Boolean);if(t.length===0)return"/";const n=t[t.length-1];return n.endsWith(".md")&&(t[t.length-1]=n.slice(0,-3)),t[t.length-1]==="SKILL"&&t.pop(),"/"+t.join("/")}function qu(e,t){return e.split("/").filter(Boolean).slice(-3).join("/")}const zu={class:"search-box"},Ju={class:"relative w-full"},Qu={key:0,class:"absolute top-full left-0 right-0 mt-2 bg-card border border-border rounded-lg shadow-lg z-50 max-h-96 overflow-y-auto"},Yu={key:0,class:"p-4 text-center text-muted-foreground text-sm"},Xu={key:1},Zu={class:"font-medium text-foreground text-sm mb-1"},ef={key:0,class:"text-xs text-muted-foreground mb-1 line-clamp-2"},tf={class:"text-xs text-muted-foreground font-mono"},nf=rt({__name:"SearchBox",props:{files:{}},setup(e){const t=e;Fu();const n=Ut(""),s=Ut(!1),r=ue(()=>{if(!n.value.trim())return[];const c=n.value.toLowerCase().trim(),l=[];for(const a of t.files){const u=a.title||a.name,h=a.description||"",p=a.content||"",m=a.path;let S=0;u.toLowerCase().includes(c)&&(S+=10),h.toLowerCase().includes(c)&&(S+=5),p.toLowerCase().includes(c)&&(S+=1),m.toLowerCase().includes(c)&&(S+=2),S>0&&l.push({path:m,route:jt(a),title:u,description:h,pathDisplay:qu(m),score:S})}return l.sort((a,u)=>u.score-a.score)});function i(){s.value=!0}function o(){setTimeout(()=>{s.value=!1},200)}return(c,l)=>{const a=Gt("router-link");return B(),K("div",zu,[C("div",Ju,[l[2]||(l[2]=C("svg",{class:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[C("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),Yo(C("input",{"onUpdate:modelValue":l[0]||(l[0]=u=>n.value=u),type:"text",placeholder:"Search documentation...",class:"w-full h-9 pl-9 pr-4 text-sm bg-secondary border border-border rounded-md placeholder-muted-foreground focus-outline",onInput:i,onFocus:l[1]||(l[1]=u=>s.value=!0),onBlur:o},null,544),[[Ac,n.value]]),l[3]||(l[3]=C("kbd",{class:"absolute right-3 top-1/2 -translate-y-1/2 hidden sm:inline-flex h-5 items-center gap-1 rounded border border-border bg-muted px-1.5 font-mono text-xs text-muted-foreground"},[C("span",null,"⌘"),Kn("K ")],-1))]),Z(" Search Results "),s.value&&(r.value.length>0||n.value)?(B(),K("div",Qu,[r.value.length===0&&n.value?(B(),K("div",Yu,' No results found for "'+se(n.value)+'" ',1)):(B(),K("div",Xu,[(B(!0),K(he,null,Kt(r.value.slice(0,8),u=>(B(),Te(a,{key:u.path,to:u.route,class:"block p-3 hover:bg-accent transition-colors border-b border-border last:border-b-0",onClick:o},{default:_t(()=>[C("div",Zu,se(u.title),1),u.description?(B(),K("div",ef,se(u.description),1)):Z("v-if",!0),C("div",tf,se(u.pathDisplay),1)]),_:2},1032,["to"]))),128))]))])):Z("v-if",!0)])}}}),sf=Pt(nf,[["__scopeId","data-v-732fbf59"]]),rf={class:"min-h-screen bg-background"},of={class:"sticky top-0 z-50 border-b border-border bg-background/80 backdrop-blur-sm"},lf={class:"flex items-center justify-between h-14 px-4 lg:px-6"},cf={class:"flex items-center gap-4"},uf={key:0,class:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ff={key:1,class:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},af={class:"flex items-center gap-2"},df={class:"font-semibold text-foreground"},hf={class:"hidden sm:flex items-center flex-1 max-w-md mx-8"},pf={class:"flex"},gf={class:"p-4"},mf={class:"flex-1 min-w-0"},_f={class:"max-w-4xl mx-auto px-6 py-10 lg:px-8"},vf={key:1,class:"loading"},bf=rt({__name:"AppLayout",setup(e){const t=Ut(null),n=Ut(!1),s=()=>{n.value=!n.value};return Vs(async()=>{try{if(typeof globalThis.__DOCGEN_CONFIG__<"u")t.value=globalThis.__DOCGEN_CONFIG__;else{const r=await fetch("/api/config");r.ok&&(t.value=await r.json())}}catch(r){console.error("Failed to load configuration:",r)}}),(r,i)=>{var c;const o=Gt("router-view");return B(),K("div",rf,[Z(" Header "),C("header",of,[C("div",lf,[C("div",cf,[C("button",{class:"lg:hidden p-2 -ml-2 hover:bg-accent rounded-md transition-colors",onClick:s},[n.value?(B(),K("svg",ff,[...i[1]||(i[1]=[C("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"},null,-1)])])):(B(),K("svg",uf,[...i[0]||(i[0]=[C("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 6h16M4 12h16M4 18h16"},null,-1)])]))]),C("div",af,[i[2]||(i[2]=C("div",{class:"h-7 w-7 rounded-md bg-primary flex items-center justify-center text-primary-foreground font-bold text-sm"}," D ",-1)),C("span",df,se(((c=t.value)==null?void 0:c.siteConfig.title)||"Docs"),1)])]),Z(" Search "),C("div",hf,[t.value?(B(),Te(sf,{key:0,files:t.value.files},null,8,["files"])):Z("v-if",!0)]),i[3]||(i[3]=C("div",{class:"flex items-center gap-2"},[C("a",{href:"https://github.com",target:"_blank",rel:"noopener noreferrer",class:"p-2 text-muted-foreground hover:text-foreground transition-colors"},[C("svg",{class:"h-5 w-5",fill:"currentColor",viewBox:"0 0 24 24"},[C("path",{d:"M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"})])])],-1))])]),C("div",pf,[Z(" Mobile Sidebar Overlay "),n.value?(B(),K("div",{key:0,class:"fixed inset-0 z-40 bg-background/80 backdrop-blur-sm lg:hidden",onClick:s})):Z("v-if",!0),Z(" Sidebar "),C("aside",{class:gt(["fixed lg:sticky top-14 z-40 h-[calc(100vh-3.5rem)] w-64 border-r border-border bg-background overflow-y-auto transition-transform lg:translate-x-0",n.value?"translate-x-0":"-translate-x-full"])},[C("div",gf,[t.value?(B(),Te(Wu,{key:0,navigation:t.value.navigation},null,8,["navigation"])):Z("v-if",!0)])],2),Z(" Main Content "),C("main",mf,[C("div",_f,[t.value?(B(),Te(o,{key:0,config:t.value},null,8,["config"])):(B(),K("div",vf," Loading documentation... "))])])])])}}}),yf=Pt(bf,[["__scopeId","data-v-073699c3"]]),xf={id:"app"},Ef=rt({__name:"App",setup(e){return(t,n)=>(B(),K("div",xf,[ye(yf)]))}}),Rf=Pt(Ef,[["__scopeId","data-v-00943de1"]]),Sf={class:"home-page"},Af={class:"hero-section"},wf={class:"hero-title"},Cf={class:"hero-description"},Of={key:0,class:"content-overview"},Pf={class:"stats-grid"},If={class:"stat-card"},Tf={class:"stat-number"},Nf={class:"stat-card"},Mf={class:"stat-number"},Df={class:"stat-card"},kf={class:"stat-number"},Lf={class:"recent-section"},Ff={class:"recent-files"},Hf={class:"file-title"},Bf={key:0,class:"file-description"},$f={class:"file-meta"},jf={class:"navigation-section"},Vf={class:"skill-grid"},Uf={class:"skill-name"},Gf={key:0,class:"skill-description"},Kf={class:"skill-files-count"},Wf=rt({__name:"Home",props:{config:{}},setup(e){const t=e,n=ue(()=>t.config.files.reduce((c,l)=>{var a;return c+(((a=l.content)==null?void 0:a.split(/\s+/).length)||0)},0)),s=ue(()=>[...t.config.files].sort((c,l)=>l.lastModified-c.lastModified).slice(0,6));function r(c){return c.split("-").map(l=>l.charAt(0).toUpperCase()+l.slice(1)).join(" ")}function i(c){return new Date(c).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})}function o(c){let l=0;function a(u){for(const h of u)"content"in h?l++:(h.skillFile&&l++,a(h.children))}return c.skillFile&&l++,a(c.children),l}return(c,l)=>{var u,h;const a=Gt("router-link");return B(),K("div",Sf,[C("div",Af,[C("h1",wf,se(((u=e.config)==null?void 0:u.siteConfig.title)||"Skills Documentation"),1),C("p",Cf,se(((h=e.config)==null?void 0:h.siteConfig.description)||"Explore your skills and documentation"),1)]),e.config?(B(),K("div",Of,[C("div",Pf,[C("div",If,[C("div",Tf,se(e.config.directories.length),1),l[0]||(l[0]=C("div",{class:"stat-label"},"Skill Categories",-1))]),C("div",Nf,[C("div",Mf,se(e.config.files.length),1),l[1]||(l[1]=C("div",{class:"stat-label"},"Documentation Files",-1))]),C("div",Df,[C("div",kf,se(n.value),1),l[2]||(l[2]=C("div",{class:"stat-label"},"Total Words",-1))])]),C("div",Lf,[l[3]||(l[3]=C("h2",null,"Recently Updated",-1)),C("div",Ff,[(B(!0),K(he,null,Kt(s.value,p=>(B(),Te(a,{key:p.path,to:mt(jt)(p),class:"recent-file-card"},{default:_t(()=>[C("div",Hf,se(p.title),1),p.description?(B(),K("div",Bf,se(p.description),1)):Z("v-if",!0),C("div",$f,se(i(p.lastModified)),1)]),_:2},1032,["to"]))),128))])]),C("div",jf,[l[4]||(l[4]=C("h2",null,"Browse Skills",-1)),C("div",Vf,[(B(!0),K(he,null,Kt(e.config.directories,p=>(B(),Te(a,{key:p.path,to:p.skillFile?mt(jt)(p.skillFile):"#",class:"skill-card"},{default:_t(()=>{var m,S;return[C("div",Uf,se(((m=p.skillFile)==null?void 0:m.title)||r(p.name)),1),(S=p.skillFile)!=null&&S.description?(B(),K("div",Gf,se(p.skillFile.description),1)):Z("v-if",!0),C("div",Kf,se(o(p))+" files ",1)]}),_:2},1032,["to"]))),128))])])])):Z("v-if",!0)])}}}),qf=Pt(Wf,[["__scopeId","data-v-12e10d98"]]),zf={class:"skill-page"},Jf={key:0,class:"skill-content"},Qf={class:"skill-header"},Yf={class:"skill-title"},Xf={key:0,class:"skill-description"},Zf={class:"skill-meta"},ea={class:"last-modified"},ta={key:0,class:"toc"},na={class:"toc-list"},sa=["href"],ra=["innerHTML"],ia={key:1,class:"page-navigation"},oa={class:"nav-title"},la={class:"nav-title"},ca={key:1,class:"not-found"},ua=rt({__name:"SkillPage",props:{config:{}},setup(e){const t=e,n=co(),s=ue(()=>{const l=n.path;for(const a of t.config.files)if(jt(a)===l)return a;return null}),r=ue(()=>s.value?s.value.frontmatter.html?s.value.frontmatter.html:s.value.content.replace(/^### (.*$)/gim,'<h3 id="$1">$1</h3>').replace(/^## (.*$)/gim,'<h2 id="$1">$1</h2>').replace(/^# (.*$)/gim,'<h1 id="$1">$1</h1>').replace(/\\*\\*(.*?)\\*\\*/gim,"<strong>$1</strong>").replace(/\\*(.*?)\\*/gim,"<em>$1</em>").replace(/```([\\s\\S]*?)```/gim,"<pre><code>$1</code></pre>").replace(/`(.*?)`/gim,"<code>$1</code>").replace(/\\n/g,"<br>"):""),i=ue(()=>{var l;return((l=s.value)==null?void 0:l.frontmatter.headings)||[]}),o=ue(()=>{if(!s.value)return{prev:null,next:null};const l=t.config.files,a=l.findIndex(p=>p.path===s.value.path),u=a>0?l[a-1]:null,h=a<l.length-1?l[a+1]:null;return{prev:u?{title:u.title,route:jt(u)}:null,next:h?{title:h.title,route:jt(h)}:null}});function c(l){return new Date(l).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}return Vs(()=>{Bs(()=>{if(n.hash){const l=document.querySelector(n.hash);l&&l.scrollIntoView({behavior:"smooth"})}})}),(l,a)=>{const u=Gt("router-link");return B(),K("div",zf,[s.value?(B(),K("div",Jf,[Z(" Header "),C("header",Qf,[C("h1",Yf,se(s.value.title),1),s.value.description?(B(),K("div",Xf,se(s.value.description),1)):Z("v-if",!0),C("div",Zf,[C("span",ea," Last updated: "+se(c(s.value.lastModified)),1)])]),Z(" Table of Contents "),i.value.length>0?(B(),K("nav",ta,[a[0]||(a[0]=C("h3",null,"Table of Contents",-1)),C("ul",na,[(B(!0),K(he,null,Kt(i.value,h=>(B(),K("li",{key:h.anchor,class:gt(`toc-level-${h.level}`)},[C("a",{href:`#${h.anchor}`,class:"toc-link"},se(h.text),9,sa)],2))),128))])])):Z("v-if",!0),Z(" Content "),C("main",{class:"markdown-content",innerHTML:r.value},null,8,ra),Z(" Navigation "),o.value.prev||o.value.next?(B(),K("nav",ia,[o.value.prev?(B(),Te(u,{key:0,to:o.value.prev.route,class:"nav-link nav-prev"},{default:_t(()=>[a[1]||(a[1]=C("div",{class:"nav-direction"},"← Previous",-1)),C("div",oa,se(o.value.prev.title),1)]),_:1},8,["to"])):Z("v-if",!0),o.value.next?(B(),Te(u,{key:1,to:o.value.next.route,class:"nav-link nav-next"},{default:_t(()=>[a[2]||(a[2]=C("div",{class:"nav-direction"},"Next →",-1)),C("div",la,se(o.value.next.title),1)]),_:1},8,["to"])):Z("v-if",!0)])):Z("v-if",!0)])):(B(),K("div",ca,[a[4]||(a[4]=C("h1",null,"Page Not Found",-1)),a[5]||(a[5]=C("p",null,"The requested skill documentation could not be found.",-1)),ye(u,{to:"/",class:"back-home"},{default:_t(()=>[...a[3]||(a[3]=[Kn("← Back to Home",-1)])]),_:1})]))])}}}),fa=Pt(ua,[["__scopeId","data-v-a95b5427"]]),aa=[{path:"/",name:"Home",component:qf},{path:"/:pathMatch(.*)*",name:"Skill",component:fa}],da=Lu({history:pu(),routes:aa}),zs=Oc(Rf);zs.use(da);zs.mount("#app");zs.config.errorHandler=(e,t,n)=>{console.error("Vue Error:",e,n)};
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
2
+ <rect width="32" height="32" rx="4" fill="#3182ce"/>
3
+ <text x="16" y="22" text-anchor="middle" fill="white" font-family="system-ui" font-size="18" font-weight="bold">D</text>
4
+ </svg>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <script>
5
+ globalThis.__DOCGEN_CONFIG__ = {"siteConfig":{"title":"Documentation","description":"Documentation generated from source directory","baseUrl":"/","skillsDir":"/Users/pan/docgen/my-docs","outputDir":"/Users/pan/docgen/final-site"},"navigation":[{"text":"Getting Started","children":[{"text":"快速开始","link":"/"}]}],"files":[{"path":"/Users/pan/docgen/my-docs/getting-started/README.md","name":"README.md","title":"快速开始","description":"DocGen 快速入门指南","content":"\n# 快速开始\n\n欢迎使用 DocGen!这是一个用于生成文档网站的工具。\n\n## 安装\n\n```bash\nnpm install -g docgen\n```\n\n## 基本使用\n\n创建你的文档目录结构,然后运行:\n\n```bash\ndocgen dev --dir ./my-docs\n```\n\n就这么简单!\n","frontmatter":{"title":"快速开始","description":"DocGen 快速入门指南","html":"<h1>快速开始</h1>\n<p>欢迎使用 DocGen!这是一个用于生成文档网站的工具。</p>\n<h2>安装</h2>\n<pre><code class=\"language-bash\">npm install -g docgen\n</code></pre>\n<h2>基本使用</h2>\n<p>创建你的文档目录结构,然后运行:</p>\n<pre><code class=\"language-bash\">docgen dev --dir ./my-docs\n</code></pre>\n<p>就这么简单!</p>\n","headings":[]},"lastModified":1768787451416}],"directories":[{"path":"/Users/pan/docgen/my-docs/getting-started","name":"getting-started","children":[{"path":"/Users/pan/docgen/my-docs/getting-started/README.md","name":"README.md","title":"快速开始","description":"DocGen 快速入门指南","content":"\n# 快速开始\n\n欢迎使用 DocGen!这是一个用于生成文档网站的工具。\n\n## 安装\n\n```bash\nnpm install -g docgen\n```\n\n## 基本使用\n\n创建你的文档目录结构,然后运行:\n\n```bash\ndocgen dev --dir ./my-docs\n```\n\n就这么简单!\n","frontmatter":{"title":"快速开始","description":"DocGen 快速入门指南","html":"<h1>快速开始</h1>\n<p>欢迎使用 DocGen!这是一个用于生成文档网站的工具。</p>\n<h2>安装</h2>\n<pre><code class=\"language-bash\">npm install -g docgen\n</code></pre>\n<h2>基本使用</h2>\n<p>创建你的文档目录结构,然后运行:</p>\n<pre><code class=\"language-bash\">docgen dev --dir ./my-docs\n</code></pre>\n<p>就这么简单!</p>\n","headings":[]},"lastModified":1768787451416}]}]};
6
+ </script>
7
+
8
+ <meta charset="UTF-8">
9
+ <link rel="icon" href="/favicon.svg" type="image/svg+xml">
10
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
11
+ <meta name="description" content="Modern documentation site">
12
+ <title>Documentation</title>
13
+ <script type="module" crossorigin src="/assets/main-CSoKXua6.js"></script>
14
+ <link rel="stylesheet" crossorigin href="/assets/main-B4orIFxK.css">
15
+ </head>
16
+ <body>
17
+ <div id="app">
18
+ <div class="loading">
19
+ <div style="text-align: center;">
20
+ <div style="font-size: 1.5rem; margin-bottom: 0.5rem;">📚</div>
21
+ <div>Loading Documentation...</div>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,4 @@
1
+ User-agent: *
2
+ Allow: /
3
+
4
+ Sitemap: /sitemap.xml
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
3
+ <url>
4
+ <loc>/</loc>
5
+ <lastmod>2026-01-19</lastmod>
6
+ <changefreq>weekly</changefreq>
7
+ <priority>0.8</priority>
8
+ </url>\n <url>
9
+ <loc>/getting-started/README</loc>
10
+ <lastmod>2026-01-19</lastmod>
11
+ <changefreq>weekly</changefreq>
12
+ <priority>0.8</priority>
13
+ </url>
14
+ </urlset>