ai-agent-router 0.2.1 → 0.2.2
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.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +2 -2
- package/.next/fallback-build-manifest.json +2 -2
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.js +4 -4
- package/.next/required-server-files.json +4 -4
- package/.next/server/app/_global-error.html +2 -2
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/config/route.js.nft.json +1 -1
- package/.next/server/app/api/gateway/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/gateway/models/route.js.nft.json +1 -1
- package/.next/server/app/api/gateway/route.js.nft.json +1 -1
- package/.next/server/app/api/ide/claude/apply/route.js.nft.json +1 -1
- package/.next/server/app/api/ide/claude/available-models/route.js.nft.json +1 -1
- package/.next/server/app/api/ide/claude/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/ide/claude/save/route.js.nft.json +1 -1
- package/.next/server/app/api/ide/claude/status/route.js.nft.json +1 -1
- package/.next/server/app/api/ide/claude/test/route.js.nft.json +1 -1
- package/.next/server/app/api/ide/openclaw/apply/route.js.nft.json +1 -1
- package/.next/server/app/api/ide/openclaw/available-models/route.js.nft.json +1 -1
- package/.next/server/app/api/ide/openclaw/preview/route.js.nft.json +1 -1
- package/.next/server/app/api/ide/openclaw/save/route.js.nft.json +1 -1
- package/.next/server/app/api/ide/openclaw/status/route.js.nft.json +1 -1
- package/.next/server/app/api/ide/opencode/apply/route.js.nft.json +1 -1
- package/.next/server/app/api/ide/opencode/available-models/route.js.nft.json +1 -1
- package/.next/server/app/api/ide/opencode/preview/route.js.nft.json +1 -1
- package/.next/server/app/api/ide/opencode/save/route.js.nft.json +1 -1
- package/.next/server/app/api/ide/opencode/status/route.js.nft.json +1 -1
- package/.next/server/app/api/logs/route.js.nft.json +1 -1
- package/.next/server/app/api/models/route.js.nft.json +1 -1
- package/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/.next/server/app/api/providers/test/route.js.nft.json +1 -1
- package/.next/server/app/api/service/force-stop/route.js.nft.json +1 -1
- package/.next/server/app/api/service/start/route.js.nft.json +1 -1
- package/.next/server/app/api/service/status/route.js.nft.json +1 -1
- package/.next/server/app/api/service/stop/route.js.nft.json +1 -1
- package/.next/server/app/ide/page.js +1 -1
- package/.next/server/app/ide/page.js.nft.json +1 -1
- package/.next/server/app/ide/page_client-reference-manifest.js +1 -1
- package/.next/server/app/ide.html +1 -1
- package/.next/server/app/ide.rsc +3 -3
- package/.next/server/app/ide.segments/_full.segment.rsc +3 -3
- package/.next/server/app/ide.segments/_head.segment.rsc +1 -1
- package/.next/server/app/ide.segments/_index.segment.rsc +2 -2
- package/.next/server/app/ide.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/ide.segments/ide/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/ide.segments/ide.segment.rsc +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +2 -2
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/logs/page.js +1 -1
- package/.next/server/app/logs/page.js.nft.json +1 -1
- package/.next/server/app/logs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/logs.html +1 -1
- package/.next/server/app/logs.rsc +2 -2
- package/.next/server/app/logs.segments/_full.segment.rsc +2 -2
- package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_index.segment.rsc +2 -2
- package/.next/server/app/logs.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
- package/.next/server/app/models/page.js +1 -1
- package/.next/server/app/models/page.js.nft.json +1 -1
- package/.next/server/app/models/page_client-reference-manifest.js +1 -1
- package/.next/server/app/models.html +1 -1
- package/.next/server/app/models.rsc +2 -2
- package/.next/server/app/models.segments/_full.segment.rsc +2 -2
- package/.next/server/app/models.segments/_head.segment.rsc +1 -1
- package/.next/server/app/models.segments/_index.segment.rsc +2 -2
- package/.next/server/app/models.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/models.segments/models/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/models.segments/models.segment.rsc +1 -1
- package/.next/server/app/page.js +1 -1
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/providers/page.js +1 -1
- package/.next/server/app/providers/page.js.nft.json +1 -1
- package/.next/server/app/providers/page_client-reference-manifest.js +1 -1
- package/.next/server/app/providers.html +1 -1
- package/.next/server/app/providers.rsc +2 -2
- package/.next/server/app/providers.segments/_full.segment.rsc +2 -2
- package/.next/server/app/providers.segments/_head.segment.rsc +1 -1
- package/.next/server/app/providers.segments/_index.segment.rsc +2 -2
- package/.next/server/app/providers.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/providers.segments/providers/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/providers.segments/providers.segment.rsc +1 -1
- package/.next/server/chunks/[root-of-the-server]__3a204d25._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__3a204d25._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__4a8f9bc7._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__4a8f9bc7._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__5e8276bc._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__5e8276bc._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__c1b4b601._.js +16 -16
- package/.next/server/chunks/[root-of-the-server]__c1b4b601._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__f0461b8d._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__f0461b8d._.js.map +1 -1
- package/.next/server/chunks/ssr/_69468f4c._.js +3 -0
- package/.next/server/chunks/ssr/_69468f4c._.js.map +1 -0
- package/.next/server/chunks/ssr/src_app_ide_page_tsx_8962793b._.js +1 -1
- package/.next/server/chunks/ssr/src_app_ide_page_tsx_8962793b._.js.map +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +2 -2
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/6992685fe009e8fd.css +1 -0
- package/.next/static/chunks/8ccc14e022ff6de3.js +1 -0
- package/README.md +31 -4
- package/dist/package.json +55 -0
- package/dist/src/app/api/config/route.js +17 -0
- package/dist/src/app/api/ide/claude/apply/route.js +84 -0
- package/dist/src/app/api/ide/claude/restore/route.js +30 -0
- package/dist/src/app/api/ide/claude/save/route.js +79 -0
- package/dist/src/app/components/Footer.js +11 -0
- package/dist/src/app/ide/page.js +62 -2
- package/dist/src/app/layout.js +5 -1
- package/dist/src/cli/index.js +0 -0
- package/dist/src/db/database.js +21 -2
- package/package.json +1 -1
- package/src/app/api/config/route.ts +17 -0
- package/src/app/api/ide/claude/apply/route.ts +94 -0
- package/src/app/api/ide/claude/restore/route.ts +36 -1
- package/src/app/api/ide/claude/save/route.ts +91 -1
- package/src/app/components/Footer.tsx +9 -0
- package/src/app/ide/page.tsx +71 -5
- package/src/app/layout.tsx +3 -1
- package/src/db/database.ts +27 -2
- package/.next/server/chunks/ssr/src_app_b2b1d928._.js +0 -3
- package/.next/server/chunks/ssr/src_app_b2b1d928._.js.map +0 -1
- package/.next/static/chunks/0f120c117962200b.css +0 -1
- package/.next/static/chunks/8ed839b2e4948968.js +0 -1
- /package/.next/static/{dYin74gcpdlg8TGoGv-_d → cf2SWIkI5HVbnDjLExI42}/_buildManifest.js +0 -0
- /package/.next/static/{dYin74gcpdlg8TGoGv-_d → cf2SWIkI5HVbnDjLExI42}/_clientMiddlewareManifest.json +0 -0
- /package/.next/static/{dYin74gcpdlg8TGoGv-_d → cf2SWIkI5HVbnDjLExI42}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/app/api/ide/claude/apply/route.ts","../../../node_modules/next/dist/esm/build/templates/app-route.js"],"sourcesContent":["import { NextRequest, NextResponse } from 'next/server';\nimport { existsSync, readFileSync, writeFileSync, copyFileSync, mkdirSync } from 'fs';\nimport { join } from 'path';\nimport { homedir } from 'os';\nimport { getDatabase } from '@/db/database';\nimport { getConfig } from '@/db/queries';\n\n// Claude settings.json 文件路径\nconst CLAUDE_DIR = join(homedir(), '.claude');\nconst SETTINGS_FILE = join(CLAUDE_DIR, 'settings.json');\nconst BACKUP_FILE = join(CLAUDE_DIR, 'settings.json.aar.bak');\n\n// 默认模型映射\nconst DEFAULT_MODEL_MAPPING = {\n haiku: 'GLM-4.5-air',\n sonnet: 'MiniMax-M2.1',\n opus: 'GLM-4.7',\n default: 'GLM-4.7',\n} as const;\n\n/**\n * 应用 Claude IDE 配置\n */\nexport async function POST(request: NextRequest) {\n try {\n const body = await request.json();\n const { haiku, sonnet, opus, default: defaultModel, reasoning: reasoningModel } = body;\n\n // 验证请求参数 - haiku, sonnet, opus, default, reasoning 都需要\n if (haiku === undefined || sonnet === undefined || opus === undefined || defaultModel === undefined || reasoningModel === undefined) {\n return NextResponse.json(\n { error: 'Missing required fields: haiku, sonnet, opus, default, reasoning' },\n { status: 400 }\n );\n }\n\n // 获取当前网关地址和API Key(从数据库读取)\n const gatewayAddress = await getGatewayAddress();\n const gatewayApiKey = await getGatewayApiKey();\n\n const modelMapping = { haiku, sonnet, opus, default: defaultModel, reasoning: reasoningModel };\n const aarEnv = buildAarEnv(gatewayAddress, gatewayApiKey, modelMapping);\n\n const backupResult = backupOriginalConfig();\n if (!backupResult.success) {\n return NextResponse.json(\n { error: backupResult.error },\n { status: 500 }\n );\n }\n\n if (!existsSync(CLAUDE_DIR)) {\n mkdirSync(CLAUDE_DIR, { recursive: true });\n }\n\n let configToWrite: any;\n if (existsSync(SETTINGS_FILE)) {\n try {\n const existing = JSON.parse(readFileSync(SETTINGS_FILE, 'utf-8'));\n configToWrite = {\n ...existing,\n env: { ...(existing.env || {}), ...aarEnv },\n router_provider: 'aar',\n };\n } catch {\n configToWrite = generateClaudeConfig(gatewayAddress, gatewayApiKey, modelMapping);\n }\n } else {\n configToWrite = generateClaudeConfig(gatewayAddress, gatewayApiKey, modelMapping);\n }\n\n const validationResult = validateAndWriteConfig(configToWrite);\n if (!validationResult.success) {\n return NextResponse.json(\n { error: validationResult.error },\n { status: 500 }\n );\n }\n\n return NextResponse.json({\n success: true,\n message: 'Configuration applied successfully',\n config: configToWrite,\n backup: backupResult.existed ? 'Created backup' : 'No existing config to backup',\n previousWasFromAar: backupResult.existed && backupResult.isFromAar,\n });\n } catch (error: any) {\n console.error('IDE Apply API error:', error);\n return NextResponse.json(\n { error: error.message || 'Internal server error', stack: process.env.NODE_ENV === 'development' ? error.stack : undefined },\n { status: 500 }\n );\n }\n}\n\n/**\n * 获取当前网关地址(从数据库读取)\n */\nasync function getGatewayAddress(): Promise<string> {\n await getDatabase();\n // 默认端口 1357\n const portConfig = await getConfig('port');\n const port = portConfig?.value || '1357';\n return `http://localhost:${port}`;\n}\n\n/**\n * 获取当前网关 API Key(从数据库读取)\n */\nasync function getGatewayApiKey(): Promise<string> {\n await getDatabase();\n const apiKeyConfig = await getConfig('api_key');\n return apiKeyConfig?.value || 'your-gateway-api-key';\n}\n\n/** 仅生成 AAR 相关的 env 字段,用于合并到现有配置 */\nfunction buildAarEnv(\n gatewayAddress: string,\n gatewayApiKey: string,\n modelMapping: { haiku: string; sonnet: string; opus: string; default: string; reasoning: string }\n): Record<string, unknown> {\n return {\n ANTHROPIC_AUTH_TOKEN: gatewayApiKey,\n ANTHROPIC_BASE_URL: gatewayAddress,\n ANTHROPIC_DEFAULT_HAIKU_MODEL: modelMapping.haiku,\n ANTHROPIC_DEFAULT_OPUS_MODEL: modelMapping.opus,\n ANTHROPIC_DEFAULT_SONNET_MODEL: modelMapping.sonnet,\n ANTHROPIC_MODEL: modelMapping.default,\n ANTHROPIC_REASONING_MODEL: modelMapping.reasoning,\n API_TIMEOUT_MS: '3000000',\n CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: 1,\n hasCompletedOnboarding: true,\n };\n}\n\n/** 生成完整 Claude 配置(仅在无现有文件时使用) */\nfunction generateClaudeConfig(\n gatewayAddress: string,\n gatewayApiKey: string,\n modelMapping: { haiku: string; sonnet: string; opus: string; default: string; reasoning: string }\n): any {\n return {\n router_provider: 'aar',\n env: buildAarEnv(gatewayAddress, gatewayApiKey, modelMapping),\n };\n}\n\n/**\n * 备份原有配置\n * 仅在当前配置不是 AAR 时写入备份,这样「还原」才能恢复到应用 AAR 前的状态\n */\nfunction backupOriginalConfig(): { success: boolean; existed: boolean; isFromAar: boolean; error?: string } {\n try {\n const existing = existsSync(SETTINGS_FILE);\n\n if (existing) {\n const originalConfig = readFileSync(SETTINGS_FILE, 'utf-8');\n\n let isFromAar = false;\n try {\n const parsedConfig = JSON.parse(originalConfig);\n isFromAar = parsedConfig.router_provider === 'aar';\n } catch {\n isFromAar = false;\n }\n\n if (!isFromAar) {\n writeFileSync(BACKUP_FILE, originalConfig, 'utf-8');\n }\n\n return { success: true, existed: true, isFromAar };\n }\n\n return { success: true, existed: false, isFromAar: false };\n } catch (error: any) {\n return {\n success: false,\n existed: false,\n isFromAar: false,\n error: `Backup failed: ${error.message}`,\n };\n }\n}\n\n/**\n * 验证并写入配置\n */\nfunction validateAndWriteConfig(config: any): { success: boolean; error?: string } {\n try {\n // 序列化为 JSON 验证格式\n const jsonString = JSON.stringify(config, null, 2);\n\n // 验证是否能解析\n JSON.parse(jsonString);\n\n // 写入文件\n writeFileSync(SETTINGS_FILE, jsonString, 'utf-8');\n\n return { success: true };\n } catch (error: any) {\n return {\n success: false,\n error: `Validation or write failed: ${error.message}`,\n };\n }\n}\n","import { AppRouteRouteModule } from \"next/dist/esm/server/route-modules/app-route/module.compiled\";\nimport { RouteKind } from \"next/dist/esm/server/route-kind\";\nimport { patchFetch as _patchFetch } from \"next/dist/esm/server/lib/patch-fetch\";\nimport { addRequestMeta, getRequestMeta } from \"next/dist/esm/server/request-meta\";\nimport { getTracer, SpanKind } from \"next/dist/esm/server/lib/trace/tracer\";\nimport { setManifestsSingleton } from \"next/dist/esm/server/app-render/manifests-singleton\";\nimport { normalizeAppPath } from \"next/dist/esm/shared/lib/router/utils/app-paths\";\nimport { NodeNextRequest, NodeNextResponse } from \"next/dist/esm/server/base-http/node\";\nimport { NextRequestAdapter, signalFromNodeResponse } from \"next/dist/esm/server/web/spec-extension/adapters/next-request\";\nimport { BaseServerSpan } from \"next/dist/esm/server/lib/trace/constants\";\nimport { getRevalidateReason } from \"next/dist/esm/server/instrumentation/utils\";\nimport { sendResponse } from \"next/dist/esm/server/send-response\";\nimport { fromNodeOutgoingHttpHeaders, toNodeOutgoingHttpHeaders } from \"next/dist/esm/server/web/utils\";\nimport { getCacheControlHeader } from \"next/dist/esm/server/lib/cache-control\";\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from \"next/dist/esm/lib/constants\";\nimport { NoFallbackError } from \"next/dist/esm/shared/lib/no-fallback-error.external\";\nimport { CachedRouteKind } from \"next/dist/esm/server/response-cache\";\nimport * as userland from \"INNER_APP_ROUTE\";\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\nconst nextConfigOutput = \"\"\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: \"/api/ide/claude/apply/route\",\n pathname: \"/api/ide/claude/apply\",\n filename: \"route\",\n bundlePath: \"\"\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: \"[project]/src/app/api/ide/claude/apply/route.ts\",\n nextConfigOutput,\n userland\n});\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule;\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage\n });\n}\nexport { routeModule, workAsyncStorage, workUnitAsyncStorage, serverHooks, patchFetch, };\nexport async function handler(req, res, ctx) {\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint());\n }\n let srcPage = \"/api/ide/claude/apply/route\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/';\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/';\n }\n const multiZoneDraftMode = process.env.__NEXT_MULTI_ZONE_DRAFT_MODE;\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return null;\n }\n const { buildId, params, nextConfig, parsedUrl, isDraftMode, prerenderManifest, routerServerContext, isOnDemandRevalidate, revalidateOnlyGenerated, resolvedPathname, clientReferenceManifest, serverActionsManifest } = prepareResult;\n const normalizedSrcPage = normalizeAppPath(srcPage);\n let isIsr = Boolean(prerenderManifest.dynamicRoutes[normalizedSrcPage] || prerenderManifest.routes[resolvedPathname]);\n const render404 = async ()=>{\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext == null ? void 0 : routerServerContext.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false);\n } else {\n res.end('This page could not be found');\n }\n return null;\n };\n if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname]);\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage];\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n if (nextConfig.experimental.adapterPath) {\n return await render404();\n }\n throw new NoFallbackError();\n }\n }\n }\n let cacheKey = null;\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname;\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey;\n }\n const supportsDynamicResponse = // If we're in development, we always support dynamic HTML\n routeModule.isDev === true || // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr;\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse;\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest\n });\n }\n const method = req.method || 'GET';\n const tracer = getTracer();\n const activeSpan = tracer.getActiveScopeSpan();\n const context = {\n params,\n prerenderManifest,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts)\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n supportsDynamicResponse,\n incrementalCache: getRequestMeta(req, 'incrementalCache'),\n cacheLifeProfiles: nextConfig.cacheLife,\n waitUntil: ctx.waitUntil,\n onClose: (cb)=>{\n res.on('close', cb);\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (error, _request, errorContext, silenceLog)=>routeModule.onRequestError(req, error, errorContext, silenceLog, routerServerContext)\n },\n sharedContext: {\n buildId\n }\n };\n const nodeNextReq = new NodeNextRequest(req);\n const nodeNextRes = new NodeNextResponse(res);\n const nextReq = NextRequestAdapter.fromNodeNextRequest(nodeNextReq, signalFromNodeResponse(res));\n try {\n const invokeRouteModule = async (span)=>{\n return routeModule.handle(nextReq, context).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n } else {\n span.updateName(`${method} ${srcPage}`);\n }\n });\n };\n const isMinimalMode = Boolean(process.env.MINIMAL_MODE || getRequestMeta(req, 'minimalMode'));\n const handleResponse = async (currentSpan)=>{\n var _cacheEntry_value;\n const responseGenerator = async ({ previousCacheEntry })=>{\n try {\n if (!isMinimalMode && isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry) {\n res.statusCode = 404;\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED');\n res.end('This page could not be found');\n return null;\n }\n const response = await invokeRouteModule(currentSpan);\n req.fetchMetrics = context.renderOpts.fetchMetrics;\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil;\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil);\n pendingWaitUntil = undefined;\n }\n }\n const cacheTags = context.renderOpts.collectedTags;\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob();\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers);\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags;\n }\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type;\n }\n const revalidate = typeof context.renderOpts.collectedRevalidate === 'undefined' || context.renderOpts.collectedRevalidate >= INFINITE_CACHE ? false : context.renderOpts.collectedRevalidate;\n const expire = typeof context.renderOpts.collectedExpire === 'undefined' || context.renderOpts.collectedExpire >= INFINITE_CACHE ? undefined : context.renderOpts.collectedExpire;\n // Create the cache entry for the response.\n const cacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers\n },\n cacheControl: {\n revalidate,\n expire\n }\n };\n return cacheEntry;\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, context.renderOpts.pendingWaitUntil);\n return null;\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry == null ? void 0 : previousCacheEntry.isStale) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n throw err;\n }\n };\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode\n });\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return null;\n }\n if ((cacheEntry == null ? void 0 : (_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== CachedRouteKind.APP_ROUTE) {\n var _cacheEntry_value1;\n throw Object.defineProperty(new Error(`Invariant: app-route received invalid cache entry ${cacheEntry == null ? void 0 : (_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E701\",\n enumerable: false,\n configurable: true\n });\n }\n if (!isMinimalMode) {\n res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');\n }\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');\n }\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers);\n if (!(isMinimalMode && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER);\n }\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (cacheEntry.cacheControl && !res.getHeader('Cache-Control') && !headers.get('Cache-Control')) {\n headers.set('Cache-Control', getCacheControlHeader(cacheEntry.cacheControl));\n }\n await sendResponse(nodeNextReq, nodeNextRes, // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.\n new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200\n }));\n return null;\n };\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await handleResponse(activeSpan);\n } else {\n await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(BaseServerSpan.handleRequest, {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, handleResponse));\n }\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n // rethrow so that we can handle serving error page\n // If this is during static generation, throw the error again.\n if (isIsr) throw err;\n // Otherwise, send a 500 response.\n await sendResponse(nodeNextReq, nodeNextRes, new Response(null, {\n status: 500\n }));\n return null;\n }\n}\n\n//# sourceMappingURL=app-route.js.map\n"],"names":[],"mappings":"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","ignoreList":[1]}
|
|
1
|
+
{"version":3,"sources":["../../../src/app/api/ide/claude/apply/route.ts","../../../node_modules/next/dist/esm/build/templates/app-route.js"],"sourcesContent":["import { NextRequest, NextResponse } from 'next/server';\nimport { existsSync, readFileSync, writeFileSync, copyFileSync, mkdirSync } from 'fs';\nimport { join } from 'path';\nimport { homedir } from 'os';\nimport { getDatabase } from '@/db/database';\nimport { getConfig } from '@/db/queries';\n\n// Claude settings.json 文件路径\nconst CLAUDE_DIR = join(homedir(), '.claude');\nconst SETTINGS_FILE = join(CLAUDE_DIR, 'settings.json');\nconst BACKUP_FILE = join(CLAUDE_DIR, 'settings.json.aar.bak');\n\n// Claude 登录配置文件(用于 hasCompletedOnboarding)\nconst CLAUDE_JSON_FILE = join(homedir(), '.claude.json');\n\n// AAR 备份目录\nconst AAR_BACKUP_DIR = join(homedir(), '.aar', 'backups');\n\n// 默认模型映射\nconst DEFAULT_MODEL_MAPPING = {\n haiku: 'GLM-4.5-air',\n sonnet: 'MiniMax-M2.1',\n opus: 'GLM-4.7',\n default: 'GLM-4.7',\n} as const;\n\n/**\n * 应用 Claude IDE 配置\n */\nexport async function POST(request: NextRequest) {\n try {\n const body = await request.json();\n const { haiku, sonnet, opus, default: defaultModel, reasoning: reasoningModel } = body;\n\n // 验证请求参数 - haiku, sonnet, opus, default, reasoning 都需要\n if (haiku === undefined || sonnet === undefined || opus === undefined || defaultModel === undefined || reasoningModel === undefined) {\n return NextResponse.json(\n { error: 'Missing required fields: haiku, sonnet, opus, default, reasoning' },\n { status: 400 }\n );\n }\n\n // 获取当前网关地址和API Key(从数据库读取)\n const gatewayAddress = await getGatewayAddress();\n const gatewayApiKey = await getGatewayApiKey();\n\n const modelMapping = { haiku, sonnet, opus, default: defaultModel, reasoning: reasoningModel };\n const aarEnv = buildAarEnv(gatewayAddress, gatewayApiKey, modelMapping);\n\n // 在修改配置前,先备份到 ~/.aar/backups 目录\n const settingsBackup = backupToAar(SETTINGS_FILE, 'settings');\n const claudeJsonBackup = backupToAar(CLAUDE_JSON_FILE, 'claude');\n \n if (!settingsBackup.success) {\n console.warn('[Claude Apply] Settings backup warning:', settingsBackup.error);\n }\n if (!claudeJsonBackup.success) {\n console.warn('[Claude Apply] Claude.json backup warning:', claudeJsonBackup.error);\n }\n\n const backupResult = backupOriginalConfig();\n if (!backupResult.success) {\n return NextResponse.json(\n { error: backupResult.error },\n { status: 500 }\n );\n }\n\n if (!existsSync(CLAUDE_DIR)) {\n mkdirSync(CLAUDE_DIR, { recursive: true });\n }\n\n let configToWrite: any;\n if (existsSync(SETTINGS_FILE)) {\n try {\n const existing = JSON.parse(readFileSync(SETTINGS_FILE, 'utf-8'));\n configToWrite = {\n ...existing,\n env: { ...(existing.env || {}), ...aarEnv },\n router_provider: 'aar',\n };\n } catch {\n configToWrite = generateClaudeConfig(gatewayAddress, gatewayApiKey, modelMapping);\n }\n } else {\n configToWrite = generateClaudeConfig(gatewayAddress, gatewayApiKey, modelMapping);\n }\n\n const validationResult = validateAndWriteConfig(configToWrite);\n if (!validationResult.success) {\n return NextResponse.json(\n { error: validationResult.error },\n { status: 500 }\n );\n }\n\n // 处理 ~/.claude.json,确保包含 hasCompletedOnboarding: true\n const onboardingResult = ensureClaudeOnboarding();\n if (!onboardingResult.success) {\n console.warn('[Claude Apply] Onboarding update warning:', onboardingResult.error);\n }\n\n return NextResponse.json({\n success: true,\n message: 'Configuration applied successfully',\n config: configToWrite,\n backup: backupResult.existed ? 'Created backup' : 'No existing config to backup',\n previousWasFromAar: backupResult.existed && backupResult.isFromAar,\n onboarding: onboardingResult.created ? 'Created ~/.claude.json' : 'Updated ~/.claude.json',\n aarBackups: {\n settings: settingsBackup.backupPath,\n claudeJson: claudeJsonBackup.backupPath,\n },\n });\n } catch (error: any) {\n console.error('IDE Apply API error:', error);\n return NextResponse.json(\n { error: error.message || 'Internal server error', stack: process.env.NODE_ENV === 'development' ? error.stack : undefined },\n { status: 500 }\n );\n }\n}\n\n/**\n * 获取当前网关地址(从数据库读取)\n */\nasync function getGatewayAddress(): Promise<string> {\n await getDatabase();\n // 默认端口 1357\n const portConfig = await getConfig('port');\n const port = portConfig?.value || '1357';\n return `http://localhost:${port}`;\n}\n\n/**\n * 获取当前网关 API Key(从数据库读取)\n */\nasync function getGatewayApiKey(): Promise<string> {\n await getDatabase();\n const apiKeyConfig = await getConfig('api_key');\n return apiKeyConfig?.value || 'your-gateway-api-key';\n}\n\n/** 仅生成 AAR 相关的 env 字段,用于合并到现有配置 */\nfunction buildAarEnv(\n gatewayAddress: string,\n gatewayApiKey: string,\n modelMapping: { haiku: string; sonnet: string; opus: string; default: string; reasoning: string }\n): Record<string, unknown> {\n return {\n ANTHROPIC_AUTH_TOKEN: gatewayApiKey,\n ANTHROPIC_BASE_URL: gatewayAddress,\n ANTHROPIC_DEFAULT_HAIKU_MODEL: modelMapping.haiku,\n ANTHROPIC_DEFAULT_OPUS_MODEL: modelMapping.opus,\n ANTHROPIC_DEFAULT_SONNET_MODEL: modelMapping.sonnet,\n ANTHROPIC_MODEL: modelMapping.default,\n ANTHROPIC_REASONING_MODEL: modelMapping.reasoning,\n API_TIMEOUT_MS: '3000000',\n CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: 1,\n hasCompletedOnboarding: true,\n };\n}\n\n/** 生成完整 Claude 配置(仅在无现有文件时使用) */\nfunction generateClaudeConfig(\n gatewayAddress: string,\n gatewayApiKey: string,\n modelMapping: { haiku: string; sonnet: string; opus: string; default: string; reasoning: string }\n): any {\n return {\n router_provider: 'aar',\n env: buildAarEnv(gatewayAddress, gatewayApiKey, modelMapping),\n };\n}\n\n/**\n * 备份原有配置\n * 仅在当前配置不是 AAR 时写入备份,这样「还原」才能恢复到应用 AAR 前的状态\n */\nfunction backupOriginalConfig(): { success: boolean; existed: boolean; isFromAar: boolean; error?: string } {\n try {\n const existing = existsSync(SETTINGS_FILE);\n\n if (existing) {\n const originalConfig = readFileSync(SETTINGS_FILE, 'utf-8');\n\n let isFromAar = false;\n try {\n const parsedConfig = JSON.parse(originalConfig);\n isFromAar = parsedConfig.router_provider === 'aar';\n } catch {\n isFromAar = false;\n }\n\n if (!isFromAar) {\n writeFileSync(BACKUP_FILE, originalConfig, 'utf-8');\n }\n\n return { success: true, existed: true, isFromAar };\n }\n\n return { success: true, existed: false, isFromAar: false };\n } catch (error: any) {\n return {\n success: false,\n existed: false,\n isFromAar: false,\n error: `Backup failed: ${error.message}`,\n };\n }\n}\n\n/**\n * 验证并写入配置\n */\nfunction validateAndWriteConfig(config: any): { success: boolean; error?: string } {\n try {\n // 序列化为 JSON 验证格式\n const jsonString = JSON.stringify(config, null, 2);\n\n // 验证是否能解析\n JSON.parse(jsonString);\n\n // 写入文件\n writeFileSync(SETTINGS_FILE, jsonString, 'utf-8');\n\n return { success: true };\n } catch (error: any) {\n return {\n success: false,\n error: `Validation or write failed: ${error.message}`,\n };\n }\n}\n\n/**\n * 备份文件到 ~/.aar/backups 目录\n */\nfunction backupToAar(filePath: string, backupName: string): { success: boolean; backupPath?: string; error?: string } {\n try {\n if (!existsSync(filePath)) {\n return { success: true }; // 文件不存在,无需备份\n }\n \n if (!existsSync(AAR_BACKUP_DIR)) {\n mkdirSync(AAR_BACKUP_DIR, { recursive: true });\n }\n \n const timestamp = new Date().toISOString().replace(/[:.]/g, '-');\n const backupPath = join(AAR_BACKUP_DIR, `${backupName}-${timestamp}.json`);\n copyFileSync(filePath, backupPath);\n \n return { success: true, backupPath };\n } catch (error: any) {\n return {\n success: false,\n error: `Backup to AAR failed: ${error.message}`,\n };\n }\n}\n\n/**\n * 确保 ~/.claude.json 文件中包含 hasCompletedOnboarding: true\n * 这允许用户跳过 Claude 登录使用自定义模型\n */\nfunction ensureClaudeOnboarding(): { success: boolean; created: boolean; error?: string } {\n try {\n let config: any = {};\n let created = false;\n \n if (existsSync(CLAUDE_JSON_FILE)) {\n try {\n const content = readFileSync(CLAUDE_JSON_FILE, 'utf-8');\n config = JSON.parse(content);\n } catch {\n // 文件存在但解析失败,使用空对象\n config = {};\n }\n } else {\n created = true;\n }\n \n // 检查是否已经有 hasCompletedOnboarding\n if (config.hasCompletedOnboarding === true) {\n return { success: true, created: false };\n }\n \n // 添加 hasCompletedOnboarding\n config.hasCompletedOnboarding = true;\n writeFileSync(CLAUDE_JSON_FILE, JSON.stringify(config, null, 2), 'utf-8');\n \n return { success: true, created };\n } catch (error: any) {\n return {\n success: false,\n created: false,\n error: `Failed to update claude.json: ${error.message}`,\n };\n }\n}\n","import { AppRouteRouteModule } from \"next/dist/esm/server/route-modules/app-route/module.compiled\";\nimport { RouteKind } from \"next/dist/esm/server/route-kind\";\nimport { patchFetch as _patchFetch } from \"next/dist/esm/server/lib/patch-fetch\";\nimport { addRequestMeta, getRequestMeta } from \"next/dist/esm/server/request-meta\";\nimport { getTracer, SpanKind } from \"next/dist/esm/server/lib/trace/tracer\";\nimport { setManifestsSingleton } from \"next/dist/esm/server/app-render/manifests-singleton\";\nimport { normalizeAppPath } from \"next/dist/esm/shared/lib/router/utils/app-paths\";\nimport { NodeNextRequest, NodeNextResponse } from \"next/dist/esm/server/base-http/node\";\nimport { NextRequestAdapter, signalFromNodeResponse } from \"next/dist/esm/server/web/spec-extension/adapters/next-request\";\nimport { BaseServerSpan } from \"next/dist/esm/server/lib/trace/constants\";\nimport { getRevalidateReason } from \"next/dist/esm/server/instrumentation/utils\";\nimport { sendResponse } from \"next/dist/esm/server/send-response\";\nimport { fromNodeOutgoingHttpHeaders, toNodeOutgoingHttpHeaders } from \"next/dist/esm/server/web/utils\";\nimport { getCacheControlHeader } from \"next/dist/esm/server/lib/cache-control\";\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from \"next/dist/esm/lib/constants\";\nimport { NoFallbackError } from \"next/dist/esm/shared/lib/no-fallback-error.external\";\nimport { CachedRouteKind } from \"next/dist/esm/server/response-cache\";\nimport * as userland from \"INNER_APP_ROUTE\";\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\nconst nextConfigOutput = \"\"\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: \"/api/ide/claude/apply/route\",\n pathname: \"/api/ide/claude/apply\",\n filename: \"route\",\n bundlePath: \"\"\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: \"[project]/src/app/api/ide/claude/apply/route.ts\",\n nextConfigOutput,\n userland\n});\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule;\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage\n });\n}\nexport { routeModule, workAsyncStorage, workUnitAsyncStorage, serverHooks, patchFetch, };\nexport async function handler(req, res, ctx) {\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint());\n }\n let srcPage = \"/api/ide/claude/apply/route\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/';\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/';\n }\n const multiZoneDraftMode = process.env.__NEXT_MULTI_ZONE_DRAFT_MODE;\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return null;\n }\n const { buildId, params, nextConfig, parsedUrl, isDraftMode, prerenderManifest, routerServerContext, isOnDemandRevalidate, revalidateOnlyGenerated, resolvedPathname, clientReferenceManifest, serverActionsManifest } = prepareResult;\n const normalizedSrcPage = normalizeAppPath(srcPage);\n let isIsr = Boolean(prerenderManifest.dynamicRoutes[normalizedSrcPage] || prerenderManifest.routes[resolvedPathname]);\n const render404 = async ()=>{\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext == null ? void 0 : routerServerContext.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false);\n } else {\n res.end('This page could not be found');\n }\n return null;\n };\n if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname]);\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage];\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n if (nextConfig.experimental.adapterPath) {\n return await render404();\n }\n throw new NoFallbackError();\n }\n }\n }\n let cacheKey = null;\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname;\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey;\n }\n const supportsDynamicResponse = // If we're in development, we always support dynamic HTML\n routeModule.isDev === true || // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr;\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse;\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest\n });\n }\n const method = req.method || 'GET';\n const tracer = getTracer();\n const activeSpan = tracer.getActiveScopeSpan();\n const context = {\n params,\n prerenderManifest,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts)\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n supportsDynamicResponse,\n incrementalCache: getRequestMeta(req, 'incrementalCache'),\n cacheLifeProfiles: nextConfig.cacheLife,\n waitUntil: ctx.waitUntil,\n onClose: (cb)=>{\n res.on('close', cb);\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (error, _request, errorContext, silenceLog)=>routeModule.onRequestError(req, error, errorContext, silenceLog, routerServerContext)\n },\n sharedContext: {\n buildId\n }\n };\n const nodeNextReq = new NodeNextRequest(req);\n const nodeNextRes = new NodeNextResponse(res);\n const nextReq = NextRequestAdapter.fromNodeNextRequest(nodeNextReq, signalFromNodeResponse(res));\n try {\n const invokeRouteModule = async (span)=>{\n return routeModule.handle(nextReq, context).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n } else {\n span.updateName(`${method} ${srcPage}`);\n }\n });\n };\n const isMinimalMode = Boolean(process.env.MINIMAL_MODE || getRequestMeta(req, 'minimalMode'));\n const handleResponse = async (currentSpan)=>{\n var _cacheEntry_value;\n const responseGenerator = async ({ previousCacheEntry })=>{\n try {\n if (!isMinimalMode && isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry) {\n res.statusCode = 404;\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED');\n res.end('This page could not be found');\n return null;\n }\n const response = await invokeRouteModule(currentSpan);\n req.fetchMetrics = context.renderOpts.fetchMetrics;\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil;\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil);\n pendingWaitUntil = undefined;\n }\n }\n const cacheTags = context.renderOpts.collectedTags;\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob();\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers);\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags;\n }\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type;\n }\n const revalidate = typeof context.renderOpts.collectedRevalidate === 'undefined' || context.renderOpts.collectedRevalidate >= INFINITE_CACHE ? false : context.renderOpts.collectedRevalidate;\n const expire = typeof context.renderOpts.collectedExpire === 'undefined' || context.renderOpts.collectedExpire >= INFINITE_CACHE ? undefined : context.renderOpts.collectedExpire;\n // Create the cache entry for the response.\n const cacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers\n },\n cacheControl: {\n revalidate,\n expire\n }\n };\n return cacheEntry;\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, context.renderOpts.pendingWaitUntil);\n return null;\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry == null ? void 0 : previousCacheEntry.isStale) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n throw err;\n }\n };\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode\n });\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return null;\n }\n if ((cacheEntry == null ? void 0 : (_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== CachedRouteKind.APP_ROUTE) {\n var _cacheEntry_value1;\n throw Object.defineProperty(new Error(`Invariant: app-route received invalid cache entry ${cacheEntry == null ? void 0 : (_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E701\",\n enumerable: false,\n configurable: true\n });\n }\n if (!isMinimalMode) {\n res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');\n }\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');\n }\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers);\n if (!(isMinimalMode && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER);\n }\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (cacheEntry.cacheControl && !res.getHeader('Cache-Control') && !headers.get('Cache-Control')) {\n headers.set('Cache-Control', getCacheControlHeader(cacheEntry.cacheControl));\n }\n await sendResponse(nodeNextReq, nodeNextRes, // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.\n new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200\n }));\n return null;\n };\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await handleResponse(activeSpan);\n } else {\n await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(BaseServerSpan.handleRequest, {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, handleResponse));\n }\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n // rethrow so that we can handle serving error page\n // If this is during static generation, throw the error again.\n if (isIsr) throw err;\n // Otherwise, send a 500 response.\n await sendResponse(nodeNextReq, nodeNextRes, new Response(null, {\n status: 500\n }));\n return null;\n }\n}\n\n//# sourceMappingURL=app-route.js.map\n"],"names":[],"mappings":"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","ignoreList":[1]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},74738,(e,t,r)=>{var n=void 0,a=function(r){return n||(n=new Promise(function(n,a){var i=void 0!==r?r:{},o=i.onAbort;"use strict";i.onAbort=function(e){a(Error(e)),o&&o(e)},i.postRun=i.postRun||[],i.postRun.push(function(){n(i)}),t=void 0,l||=void 0!==i?i:{};var s="u">typeof WorkerGlobalScope,u="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&"renderer"!=process.type;l.onRuntimeInitialized=function(){function e(e,t){switch(typeof t){case"boolean":K(e,+!!t);break;case"number":B(e,t);break;case"string":Y(e,t,-1,-1);break;case"object":if(null===t)j(e);else if(null!=t.length){var r=tl(t,tu);z(e,r,t.length,-1),tv(r)}else J(e,"Wrong API use : tried to return a value of an unknown type ("+t+").",-1);break;default:j(e)}}function t(e,t){for(var r=[],n=0;n<e;n+=1){var a=H(t+4*n,"i32"),i=U(a);if(1===i||2===i)a=X(a);else if(3===i)a=P(a);else if(4===i){a=C(i=a),i=W(i);for(var o=new Uint8Array(a),s=0;s<a;s+=1)o[s]=y[i+s];a=o}else a=null;r.push(a)}return r}function r(e,t){this.Qa=e,this.db=t,this.Oa=1,this.lb=[]}function n(e,t){if(this.db=t,t=er(e)+1,this.eb=tw(t),null===this.eb)throw Error("Unable to allocate memory for the SQL string");en(e,g,this.eb,t),this.kb=this.eb,this.Za=this.pb=null}function a(e){if(this.filename="dbfile_"+(0xffffffff*Math.random()>>>0),null!=e){var t=this.filename,r="/",n=t;if(r&&(r="string"==typeof r?r:eg(r),n=t?V(r+"/"+t):r),n=function(e,t=438){return eP(e,4095&t|32768,0)}(n,t=el(!0,!0)),e){if("string"==typeof e){r=Array(e.length);for(var a=0,o=e.length;a<o;++a)r[a]=e.charCodeAt(a);e=r}ez(n,146|t),eZ(r=eG(n,577),e,0,e.length,0),eK(r),ez(n,t)}}this.handleError(s(this.filename,i)),this.db=H(i,"i32"),ee(this.db),this.fb={},this.Sa={}}var i=tq(4),o=l.cwrap,s=o("sqlite3_open","number",["string","number"]),u=o("sqlite3_close_v2","number",["number"]),d=o("sqlite3_exec","number",["number","string","number","number","number"]),f=o("sqlite3_changes","number",["number"]),c=o("sqlite3_prepare_v2","number",["number","string","number","number","number"]),h=o("sqlite3_sql","string",["number"]),m=o("sqlite3_normalized_sql","string",["number"]),b=o("sqlite3_prepare_v2","number",["number","number","number","number","number"]),p=o("sqlite3_bind_text","number",["number","number","number","number","number"]),_=o("sqlite3_bind_blob","number",["number","number","number","number","number"]),E=o("sqlite3_bind_double","number",["number","number","number"]),w=o("sqlite3_bind_int","number",["number","number","number"]),v=o("sqlite3_bind_parameter_index","number",["number","string"]),T=o("sqlite3_step","number",["number"]),q=o("sqlite3_errmsg","string",["number"]),N=o("sqlite3_column_count","number",["number"]),R=o("sqlite3_data_count","number",["number"]),L=o("sqlite3_column_double","number",["number","number"]),A=o("sqlite3_column_text","string",["number","number"]),O=o("sqlite3_column_blob","number",["number","number"]),I=o("sqlite3_column_bytes","number",["number","number"]),S=o("sqlite3_column_type","number",["number","number"]),M=o("sqlite3_column_name","string",["number","number"]),k=o("sqlite3_reset","number",["number"]),x=o("sqlite3_clear_bindings","number",["number"]),D=o("sqlite3_finalize","number",["number"]),F=o("sqlite3_create_function_v2","number","number string number number number number number number number".split(" ")),U=o("sqlite3_value_type","number",["number"]),C=o("sqlite3_value_bytes","number",["number"]),P=o("sqlite3_value_text","string",["number"]),W=o("sqlite3_value_blob","number",["number"]),X=o("sqlite3_value_double","number",["number"]),B=o("sqlite3_result_double","",["number","number"]),j=o("sqlite3_result_null","",["number"]),Y=o("sqlite3_result_text","",["number","string","number","number"]),z=o("sqlite3_result_blob","",["number","number","number","number"]),K=o("sqlite3_result_int","",["number","number"]),J=o("sqlite3_result_error","",["number","string","number"]),Z=o("sqlite3_aggregate_context","number",["number","number"]),ee=o("RegisterExtensionFunctions","number",["number"]),et=o("sqlite3_update_hook","number",["number","number","number"]);r.prototype.bind=function(e){if(!this.Qa)throw"Statement closed";return this.reset(),Array.isArray(e)?this.Cb(e):null==e||"object"!=typeof e||this.Db(e)},r.prototype.step=function(){if(!this.Qa)throw"Statement closed";this.Oa=1;var e=T(this.Qa);switch(e){case 100:return!0;case 101:return!1;default:throw this.db.handleError(e)}},r.prototype.wb=function(e){return null==e&&(e=this.Oa,this.Oa+=1),L(this.Qa,e)},r.prototype.Gb=function(e){if(null==e&&(e=this.Oa,this.Oa+=1),e=A(this.Qa,e),"function"!=typeof BigInt)throw Error("BigInt is not supported");return BigInt(e)},r.prototype.Hb=function(e){return null==e&&(e=this.Oa,this.Oa+=1),A(this.Qa,e)},r.prototype.getBlob=function(e){null==e&&(e=this.Oa,this.Oa+=1);var t=I(this.Qa,e);e=O(this.Qa,e);for(var r=new Uint8Array(t),n=0;n<t;n+=1)r[n]=y[e+n];return r},r.prototype.get=function(e,t){t=t||{},null!=e&&this.bind(e)&&this.step(),e=[];for(var r=R(this.Qa),n=0;n<r;n+=1)switch(S(this.Qa,n)){case 1:var a=t.useBigInt?this.Gb(n):this.wb(n);e.push(a);break;case 2:e.push(this.wb(n));break;case 3:e.push(this.Hb(n));break;case 4:e.push(this.getBlob(n));break;default:e.push(null)}return e},r.prototype.getColumnNames=function(){for(var e=[],t=N(this.Qa),r=0;r<t;r+=1)e.push(M(this.Qa,r));return e},r.prototype.getAsObject=function(e,t){e=this.get(e,t),t=this.getColumnNames();for(var r={},n=0;n<t.length;n+=1)r[t[n]]=e[n];return r},r.prototype.getSQL=function(){return h(this.Qa)},r.prototype.getNormalizedSQL=function(){return m(this.Qa)},r.prototype.run=function(e){return null!=e&&this.bind(e),this.step(),this.reset()},r.prototype.sb=function(e,t){null==t&&(t=this.Oa,this.Oa+=1);var r=tl(e=ea(e),tu);this.lb.push(r),this.db.handleError(p(this.Qa,t,r,e.length-1,0))},r.prototype.Bb=function(e,t){null==t&&(t=this.Oa,this.Oa+=1);var r=tl(e,tu);this.lb.push(r),this.db.handleError(_(this.Qa,t,r,e.length,0))},r.prototype.rb=function(e,t){null==t&&(t=this.Oa,this.Oa+=1),this.db.handleError((e===(0|e)?w:E)(this.Qa,t,e))},r.prototype.Eb=function(e){null==e&&(e=this.Oa,this.Oa+=1),_(this.Qa,e,0,0,0)},r.prototype.tb=function(e,t){switch(null==t&&(t=this.Oa,this.Oa+=1),typeof e){case"string":this.sb(e,t);return;case"number":this.rb(e,t);return;case"bigint":this.sb(e.toString(),t);return;case"boolean":this.rb(e+0,t);return;case"object":if(null===e)return void this.Eb(t);if(null!=e.length)return void this.Bb(e,t)}throw"Wrong API use : tried to bind a value of an unknown type ("+e+")."},r.prototype.Db=function(e){var t=this;return Object.keys(e).forEach(function(r){var n=v(t.Qa,r);0!==n&&t.tb(e[r],n)}),!0},r.prototype.Cb=function(e){for(var t=0;t<e.length;t+=1)this.tb(e[t],t+1);return!0},r.prototype.reset=function(){return this.freemem(),0===x(this.Qa)&&0===k(this.Qa)},r.prototype.freemem=function(){for(var e;void 0!==(e=this.lb.pop());)tv(e)},r.prototype.free=function(){this.freemem();var e=0===D(this.Qa);return delete this.db.fb[this.Qa],this.Qa=0,e},n.prototype.next=function(){if(null===this.eb)return{done:!0};if(null!==this.Za&&(this.Za.free(),this.Za=null),!this.db.db)throw this.mb(),Error("Database closed");var e=tN(),t=tq(4);$(i),$(t);try{this.db.handleError(b(this.db.db,this.kb,-1,i,t)),this.kb=H(t,"i32");var n=H(i,"i32");if(0===n)return this.mb(),{done:!0};return this.Za=new r(n,this.db),this.db.fb[n]=this.Za,{value:this.Za,done:!1}}catch(e){throw this.pb=G(this.kb),this.mb(),e}finally{tT(e)}},n.prototype.mb=function(){tv(this.eb),this.eb=null},n.prototype.getRemainingSQL=function(){return null!==this.pb?this.pb:G(this.kb)},"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator&&(n.prototype[Symbol.iterator]=function(){return this}),a.prototype.run=function(e,t){if(!this.db)throw"Database closed";if(t){e=this.prepare(e,t);try{e.step()}finally{e.free()}}else this.handleError(d(this.db,e,0,0,i));return this},a.prototype.exec=function(e,t,n){if(!this.db)throw"Database closed";var a=tN(),o=null;try{var s=ts(e),u=tq(4);for(e=[];0!==H(s,"i8");){$(i),$(u),this.handleError(b(this.db,s,-1,i,u));var l=H(i,"i32");if(s=H(u,"i32"),0!==l){var d=null;for(o=new r(l,this),null!=t&&o.bind(t);o.step();)null===d&&(d={columns:o.getColumnNames(),values:[]},e.push(d)),d.values.push(o.get(null,n));o.free()}}return e}catch(e){throw o&&o.free(),e}finally{tT(a)}},a.prototype.each=function(e,t,r,n,a){"function"==typeof t&&(n=r,r=t,t=void 0),e=this.prepare(e,t);try{for(;e.step();)r(e.getAsObject(null,a))}finally{e.free()}if("function"==typeof n)return n()},a.prototype.prepare=function(e,t){if($(i),this.handleError(c(this.db,e,-1,i,0)),0===(e=H(i,"i32")))throw"Nothing to prepare";var n=new r(e,this);return null!=t&&n.bind(t),this.fb[e]=n},a.prototype.iterateStatements=function(e){return new n(e,this)},a.prototype.export=function(){Object.values(this.fb).forEach(function(e){e.free()}),Object.values(this.Sa).forEach(tf),this.Sa={},this.handleError(u(this.db));var e=function(e){var t=eG(e,t||0),r=new Uint8Array(e=eY(e).size);return eJ(t,r,0,e,0),eK(t),r}(this.filename);return this.handleError(s(this.filename,i)),this.db=H(i,"i32"),ee(this.db),e},a.prototype.close=function(){null!==this.db&&(Object.values(this.fb).forEach(function(e){e.free()}),Object.values(this.Sa).forEach(tf),this.Sa={},this.Ya&&(tf(this.Ya),this.Ya=void 0),this.handleError(u(this.db)),eH("/"+this.filename),this.db=null)},a.prototype.handleError=function(e){if(0===e)return null;throw Error(e=q(this.db))},a.prototype.getRowsModified=function(){return f(this.db)},a.prototype.create_function=function(r,n){Object.prototype.hasOwnProperty.call(this.Sa,r)&&(tf(this.Sa[r]),delete this.Sa[r]);var a=tc(function(r,a,i){a=t(a,i);try{var o=n.apply(null,a)}catch(e){J(r,e,-1);return}e(r,o)},"viii");return this.Sa[r]=a,this.handleError(F(this.db,r,n.length,1,0,a,0,0,0)),this},a.prototype.create_aggregate=function(r,n){var a=n.init||function(){return null},i=n.finalize||function(e){return e},o=n.step;if(!o)throw"An aggregate function must have a step function in "+r;var s={};Object.hasOwnProperty.call(this.Sa,r)&&(tf(this.Sa[r]),delete this.Sa[r]),n=r+"__finalize",Object.hasOwnProperty.call(this.Sa,n)&&(tf(this.Sa[n]),delete this.Sa[n]);var u=tc(function(e,r,n){var i=Z(e,1);Object.hasOwnProperty.call(s,i)||(s[i]=a()),r=t(r,n),r=[s[i]].concat(r);try{s[i]=o.apply(null,r)}catch(t){delete s[i],J(e,t,-1)}},"viii"),l=tc(function(t){var r=Z(t,1);try{var n=i(s[r])}catch(e){delete s[r],J(t,e,-1);return}e(t,n),delete s[r]},"vi");return this.Sa[r]=u,this.Sa[n]=l,this.handleError(F(this.db,r,o.length-1,1,0,0,u,l,0)),this},a.prototype.updateHook=function(e){this.Ya&&(et(this.db,0,0),tf(this.Ya),this.Ya=void 0),e&&(this.Ya=tc(function(t,r,n,a,i){switch(r){case 18:t="insert";break;case 23:t="update";break;case 9:t="delete";break;default:throw"unknown operationCode in updateHook callback: "+r}if(n=n?Q(g,n):"",a=a?Q(g,a):"",i>Number.MAX_SAFE_INTEGER)throw"rowId too big to fit inside a Number";e(t,n,a,Number(i))},"viiiij"),et(this.db,this.Ya,0))},l.Database=a};var l,d,f,c={...l},h="./this.program",m=(e,t)=>{throw t},b="";if(u){var p=e.r(22734);e.r(14747),b="/ROOT/node_modules/sql.js/dist/",f=e=>(e=S(e)?new URL(e):e,p.readFileSync(e)),d=async e=>(e=S(e)?new URL(e):e,p.readFileSync(e,void 0)),!l.thisProgram&&1<process.argv.length&&(h=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),void 0!==t&&(t.exports=l),m=(e,t)=>{throw process.exitCode=e,t}}else s&&(s?b=self.location.href:"u">typeof document&&document.currentScript&&(b=document.currentScript.src),b=b.startsWith("blob:")?"":b.slice(0,b.replace(/[?#].*/,"").lastIndexOf("/")+1),s&&(f=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),d=async e=>{if(S(e))return new Promise((t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r(n.status)},n.onerror=r,n.send(null)});var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw Error(t.status+" : "+t.url)});var _=l.print||console.log.bind(console),E=l.printErr||console.error.bind(console);Object.assign(l,c),c=null,l.thisProgram&&(h=l.thisProgram);var w,v,y,g,T,q,N,R,L,A,O=l.wasmBinary,I=!1,S=e=>e.startsWith("file://");function M(){var e=w.buffer;l.HEAP8=y=new Int8Array(e),l.HEAP16=T=new Int16Array(e),l.HEAPU8=g=new Uint8Array(e),l.HEAPU16=new Uint16Array(e),l.HEAP32=q=new Int32Array(e),l.HEAPU32=N=new Uint32Array(e),l.HEAPF32=R=new Float32Array(e),l.HEAPF64=A=new Float64Array(e),l.HEAP64=L=new BigInt64Array(e),l.HEAPU64=new BigUint64Array(e)}var k=0,x=null;function D(e){throw l.onAbort?.(e),E(e="Aborted("+e+")"),I=!0,new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info.")}async function F(e){if(!O)try{var t=await d(e);return new Uint8Array(t)}catch{}if(e==e4&&O)e=new Uint8Array(O);else if(f)e=f(e);else throw"both async and sync fetching of the wasm failed";return e}async function U(e,t){try{var r=await F(e);return await WebAssembly.instantiate(r,t)}catch(e){E(`failed to asynchronously prepare wasm: ${e}`),D(e)}}async function C(e){if(!O&&"function"==typeof WebAssembly.instantiateStreaming&&!S(e4)&&!u)try{var t=fetch(e4,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(t,e)}catch(e){E(`wasm streaming compile failed: ${e}`),E("falling back to ArrayBuffer instantiation")}return U(e4,e)}class P{name="ExitStatus";constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var W=e=>{for(;0<e.length;)e.shift()(l)},X=[],B=[],j=()=>{var e=l.preRun.shift();B.unshift(e)};function H(e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":return y[e];case"i16":return T[e>>1];case"i32":return q[e>>2];case"i64":return L[e>>3];case"float":return R[e>>2];case"double":return A[e>>3];case"*":return N[e>>2];default:D(`invalid type for getValue: ${t}`)}}var Y=l.noExitRuntime||!0;function $(e){var t="i32";switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":y[e]=0;break;case"i16":T[e>>1]=0;break;case"i32":q[e>>2]=0;break;case"i64":L[e>>3]=BigInt(0);break;case"float":R[e>>2]=0;break;case"double":A[e>>3]=0;break;case"*":N[e>>2]=0;break;default:D(`invalid type for setValue: ${t}`)}}var z="u">typeof TextDecoder?new TextDecoder:void 0,Q=(e,t=0,r=NaN)=>{var n=t+r;for(r=t;e[r]&&!(r>=n);)++r;if(16<r-t&&e.buffer&&z)return z.decode(e.subarray(t,r));for(n="";t<r;){var a=e[t++];if(128&a){var i=63&e[t++];if(192==(224&a))n+=String.fromCharCode((31&a)<<6|i);else{var o=63&e[t++];65536>(a=224==(240&a)?(15&a)<<12|i<<6|o:(7&a)<<18|i<<12|o<<6|63&e[t++])?n+=String.fromCharCode(a):(a-=65536,n+=String.fromCharCode(55296|a>>10,56320|1023&a))}}else n+=String.fromCharCode(a)}return n},G=(e,t)=>e?Q(g,e,t):"",K=(e,t)=>{for(var r=0,n=e.length-1;0<=n;n--){var a=e[n];"."===a?e.splice(n,1):".."===a?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},V=e=>{var t="/"===e.charAt(0),r="/"===e.slice(-1);return(e=K(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},J=e=>{var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1);return(e=t[0],t=t[1],e||t)?e+(t&&=t.slice(0,-1)):"."},Z=e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],ee=t=>{(ee=(()=>{if(u){var t=e.r(54799);return e=>t.randomFillSync(e)}return e=>crypto.getRandomValues(e)})())(t)},et=[],er=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);127>=n?t++:2047>=n?t+=2:55296<=n&&57343>=n?(t+=4,++r):t+=3}return t},en=(e,t,r,n)=>{if(!(0<n))return 0;var a=r;n=r+n-1;for(var i=0;i<e.length;++i){var o=e.charCodeAt(i);if(55296<=o&&57343>=o&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++i)),127>=o){if(r>=n)break;t[r++]=o}else{if(2047>=o){if(r+1>=n)break;t[r++]=192|o>>6}else{if(65535>=o){if(r+2>=n)break;t[r++]=224|o>>12}else{if(r+3>=n)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63}t[r++]=128|o>>6&63}t[r++]=128|63&o}}return t[r]=0,r-a},ea=(e,t)=>{var r=Array(er(e)+1);return e=en(e,r,0,r.length),t&&(r.length=e),r},ei=[];function eo(e,t){ei[e]={input:[],output:[],cb:t},eU(e,es)}var es={open(e){var t=ei[e.node.rdev];if(!t)throw new eE(43);e.tty=t,e.seekable=!1},close(e){e.tty.cb.fsync(e.tty)},fsync(e){e.tty.cb.fsync(e.tty)},read(e,t,r,n){if(!e.tty||!e.tty.cb.xb)throw new eE(60);for(var a=0,i=0;i<n;i++){try{var o=e.tty.cb.xb(e.tty)}catch(e){throw new eE(29)}if(void 0===o&&0===a)throw new eE(6);if(null==o)break;a++,t[r+i]=o}return a&&(e.node.atime=Date.now()),a},write(e,t,r,n){if(!e.tty||!e.tty.cb.qb)throw new eE(60);try{for(var a=0;a<n;a++)e.tty.cb.qb(e.tty,t[r+a])}catch(e){throw new eE(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),a}},eu={Wa:null,Xa:()=>eu.createNode(null,"/",16895,0),createNode(e,t,r,n){if(24576==(61440&r)||4096==(61440&r))throw new eE(63);return eu.Wa||(eu.Wa={dir:{node:{Ta:eu.La.Ta,Ua:eu.La.Ua,lookup:eu.La.lookup,hb:eu.La.hb,rename:eu.La.rename,unlink:eu.La.unlink,rmdir:eu.La.rmdir,readdir:eu.La.readdir,symlink:eu.La.symlink},stream:{Va:eu.Ma.Va}},file:{node:{Ta:eu.La.Ta,Ua:eu.La.Ua},stream:{Va:eu.Ma.Va,read:eu.Ma.read,write:eu.Ma.write,ib:eu.Ma.ib,jb:eu.Ma.jb}},link:{node:{Ta:eu.La.Ta,Ua:eu.La.Ua,readlink:eu.La.readlink},stream:{}},ub:{node:{Ta:eu.La.Ta,Ua:eu.La.Ua},stream:eF}}),eL((r=eR(e,t,r,n)).mode)?(r.La=eu.Wa.dir.node,r.Ma=eu.Wa.dir.stream,r.Na={}):32768==(61440&r.mode)?(r.La=eu.Wa.file.node,r.Ma=eu.Wa.file.stream,r.Ra=0,r.Na=null):40960==(61440&r.mode)?(r.La=eu.Wa.link.node,r.Ma=eu.Wa.link.stream):8192==(61440&r.mode)&&(r.La=eu.Wa.ub.node,r.Ma=eu.Wa.ub.stream),r.atime=r.mtime=r.ctime=Date.now(),e&&(e.Na[t]=r,e.atime=e.mtime=e.ctime=r.atime),r},Sb:e=>e.Na?e.Na.subarray?e.Na.subarray(0,e.Ra):new Uint8Array(e.Na):new Uint8Array(0),La:{Ta(e){var t={};return t.dev=8192==(61440&e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,eL(e.mode)?t.size=4096:32768==(61440&e.mode)?t.size=e.Ra:40960==(61440&e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},Ua(e,t){for(var r of["mode","atime","mtime","ctime"])null!=t[r]&&(e[r]=t[r]);void 0!==t.size&&(t=t.size,e.Ra!=t&&(0==t?(e.Na=null,e.Ra=0):(r=e.Na,e.Na=new Uint8Array(t),r&&e.Na.set(r.subarray(0,Math.min(t,e.Ra))),e.Ra=t)))},lookup(){throw eu.vb},hb:(e,t,r,n)=>eu.createNode(e,t,r,n),rename(e,t,r){try{var n=eN(t,r)}catch(e){}if(n){if(eL(e.mode))for(var a in n.Na)throw new eE(55);eq(n)}delete e.parent.Na[e.name],t.Na[r]=e,e.name=r,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.Na[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){var r,n=eN(e,t);for(r in n.Na)throw new eE(55);delete e.Na[t],e.ctime=e.mtime=Date.now()},readdir:e=>[".","..",...Object.keys(e.Na)],symlink:(e,t,r)=>((e=eu.createNode(e,t,41471,0)).link=r,e),readlink(e){if(40960!=(61440&e.mode))throw new eE(28);return e.link}},Ma:{read(e,t,r,n,a){var i=e.node.Na;if(a>=e.node.Ra)return 0;if(8<(e=Math.min(e.node.Ra-a,n))&&i.subarray)t.set(i.subarray(a,a+e),r);else for(n=0;n<e;n++)t[r+n]=i[a+n];return e},write(e,t,r,n,a,i){if(t.buffer===y.buffer&&(i=!1),!n)return 0;if((e=e.node).mtime=e.ctime=Date.now(),t.subarray&&(!e.Na||e.Na.subarray)){if(i)return e.Na=t.subarray(r,r+n),e.Ra=n;if(0===e.Ra&&0===a)return e.Na=t.slice(r,r+n),e.Ra=n;if(a+n<=e.Ra)return e.Na.set(t.subarray(r,r+n),a),n}i=a+n;var o=e.Na?e.Na.length:0;if(o>=i||(i=Math.max(i,o*(1048576>o?2:1.125)>>>0),0!=o&&(i=Math.max(i,256)),o=e.Na,e.Na=new Uint8Array(i),0<e.Ra&&e.Na.set(o.subarray(0,e.Ra),0)),e.Na.subarray&&t.subarray)e.Na.set(t.subarray(r,r+n),a);else for(i=0;i<n;i++)e.Na[a+i]=t[r+i];return e.Ra=Math.max(e.Ra,a+n),n},Va(e,t,r){if(1===r?t+=e.position:2===r&&32768==(61440&e.node.mode)&&(t+=e.node.Ra),0>t)throw new eE(28);return t},ib(e,t,r,n,a){if(32768!=(61440&e.node.mode))throw new eE(43);if(e=e.node.Na,2&a||!e||e.buffer!==y.buffer){a=!0;var i=ty(65536,n=65536*Math.ceil(t/65536));if(i&&g.fill(0,i,i+n),!(n=i))throw new eE(48);e&&((0<r||r+t<e.length)&&(e=e.subarray?e.subarray(r,r+t):Array.prototype.slice.call(e,r,r+t)),y.set(e,n))}else a=!1,n=e.byteOffset;return{Kb:n,Ab:a}},jb:(e,t,r,n)=>(eu.Ma.write(e,t,0,n,r,!1),0)}},el=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},ed=null,ef={},ec=[],eh=1,em=null,eb=!1,ep=!0,e_={},eE=class{name="ErrnoError";constructor(e){this.Pa=e}},ew=class{gb={};node=null;get flags(){return this.gb.flags}set flags(e){this.gb.flags=e}get position(){return this.gb.position}set position(e){this.gb.position=e}},ev=class{La={};Ma={};ab=null;constructor(e,t,r,n){e||=this,this.parent=e,this.Xa=e.Xa,this.id=eh++,this.name=t,this.mode=r,this.rdev=n,this.atime=this.mtime=this.ctime=Date.now()}get read(){return 365==(365&this.mode)}set read(e){e?this.mode|=365:this.mode&=-366}get write(){return 146==(146&this.mode)}set write(e){e?this.mode|=146:this.mode&=-147}};function ey(e,t={}){if(!e)throw new eE(44);t.nb??(t.nb=!0),"/"===e.charAt(0)||(e="//"+e);var r=0;e:for(;40>r;r++){e=e.split("/").filter(e=>!!e);for(var n=ed,a="/",i=0;i<e.length;i++){var o=i===e.length-1;if(o&&t.parent)break;if("."!==e[i])if(".."===e[i])a=J(a),n=n.parent;else{a=V(a+"/"+e[i]);try{n=eN(n,e[i])}catch(e){if(44===e?.Pa&&o&&t.Jb)return{path:a};throw e}if(n.ab&&(!o||t.nb)&&(n=n.ab.root),40960==(61440&n.mode)&&(!o||t.$a)){if(!n.La.readlink)throw new eE(52);"/"===(n=n.La.readlink(n)).charAt(0)||(n=J(a)+"/"+n),e=n+"/"+e.slice(i+1).join("/");continue e}}}return{path:a,node:n}}throw new eE(32)}function eg(e){for(var t;;){if(e===e.parent)return e=e.Xa.zb,t?"/"!==e[e.length-1]?`${e}/${t}`:e+t:e;t=t?`${e.name}/${t}`:e.name,e=e.parent}}function eT(e,t){for(var r=0,n=0;n<t.length;n++)r=(r<<5)-r+t.charCodeAt(n)|0;return(e+r>>>0)%em.length}function eq(e){var t=eT(e.parent.id,e.name);if(em[t]===e)em[t]=e.bb;else for(t=em[t];t;){if(t.bb===e){t.bb=e.bb;break}t=t.bb}}function eN(e,t){var r=eL(e.mode)?(r=eO(e,"x"))?r:2*!e.La.lookup:54;if(r)throw new eE(r);for(r=em[eT(e.id,t)];r;r=r.bb){var n=r.name;if(r.parent.id===e.id&&n===t)return r}return e.La.lookup(e,t)}function eR(e,t,r,n){return t=eT((e=new ev(e,t,r,n)).parent.id,e.name),e.bb=em[t],em[t]=e}function eL(e){return 16384==(61440&e)}function eA(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t}function eO(e,t){return ep?0:t.includes("r")&&!(292&e.mode)||t.includes("w")&&!(146&e.mode)||t.includes("x")&&!(73&e.mode)?2:0}function eI(e,t){if(!eL(e.mode))return 54;try{return eN(e,t),20}catch(e){}return eO(e,"wx")}function eS(e,t,r){try{var n=eN(e,t)}catch(e){return e.Pa}if(e=eO(e,"wx"))return e;if(r){if(!eL(n.mode))return 54;if(n===n.parent||"/"===eg(n))return 10}else if(eL(n.mode))return 31;return 0}function eM(e){if(!e)throw new eE(63);return e}function ek(e){if(!(e=ec[e]))throw new eE(8);return e}function ex(e,t=-1){if(e=Object.assign(new ew,e),-1==t)e:{for(t=0;4096>=t;t++)if(!ec[t])break e;throw new eE(33)}return e.fd=t,ec[t]=e}function eD(e,t,r){var n=e?.Ma.Ua;e=n?e:t,eM(n??=t.La.Ua),n(e,r)}var eF={open(e){e.Ma=ef[e.node.rdev].Ma,e.Ma.open?.(e)},Va(){throw new eE(70)}};function eU(e,t){ef[e]={Ma:t}}function eC(e,t){var r="/"===t;if(r&&ed)throw new eE(10);if(!r&&t){var n=ey(t,{nb:!1});if(t=n.path,(n=n.node).ab)throw new eE(10);if(!eL(n.mode))throw new eE(54)}t={type:e,Wb:{},zb:t,Ib:[]},(e=e.Xa(t)).Xa=t,t.root=e,r?ed=e:n&&(n.ab=t,n.Xa&&n.Xa.Ib.push(t))}function eP(e,t,r){var n=ey(e,{parent:!0}).node;if(!(e=Z(e)))throw new eE(28);if("."===e||".."===e)throw new eE(20);var a=eI(n,e);if(a)throw new eE(a);if(!n.La.hb)throw new eE(63);return n.La.hb(n,e,t,r)}function eW(e,t=511){return eP(e,1023&t|16384,0)}function eX(e,t,r){void 0===r&&(r=t,t=438),eP(e,8192|t,r)}function eB(e,t){if(!((...e)=>{for(var t="",r=!1,n=e.length-1;-1<=n&&!r;n--){if("string"!=typeof(r=0<=n?e[n]:"/"))throw TypeError("Arguments to path.resolve must be strings");if(!r)return"";t=r+"/"+t,r="/"===r.charAt(0)}return t=K(t.split("/").filter(e=>!!e),!r).join("/"),(r?"/":"")+t||"."})(e))throw new eE(44);var r=ey(t,{parent:!0}).node;if(!r)throw new eE(44);var n=eI(r,t=Z(t));if(n)throw new eE(n);if(!r.La.symlink)throw new eE(63);r.La.symlink(r,t,e)}function ej(e){var t=ey(e,{parent:!0}).node,r=eN(t,e=Z(e)),n=eS(t,e,!0);if(n)throw new eE(n);if(!t.La.rmdir)throw new eE(63);if(r.ab)throw new eE(10);t.La.rmdir(t,e),eq(r)}function eH(e){var t=ey(e,{parent:!0}).node;if(!t)throw new eE(44);var r=eN(t,e=Z(e)),n=eS(t,e,!1);if(n)throw new eE(n);if(!t.La.unlink)throw new eE(63);if(r.ab)throw new eE(10);t.La.unlink(t,e),eq(r)}function eY(e,t){return eM((e=ey(e,{$a:!t}).node).La.Ta)(e)}function e$(e,t,r,n){eD(e,t,{mode:4095&r|-4096&t.mode,ctime:Date.now(),Fb:n})}function ez(e,t){e$(null,e="string"==typeof e?ey(e,{$a:!0}).node:e,t)}function eQ(e,t,r){if(eL(t.mode))throw new eE(31);if(32768!=(61440&t.mode))throw new eE(28);var n=eO(t,"w");if(n)throw new eE(n);eD(e,t,{size:r,timestamp:Date.now()})}function eG(e,t,r=438){if(""===e)throw new eE(44);if("string"==typeof t){var n={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[t];if(void 0===n)throw Error(`Unknown file open mode: ${t}`);t=n}if(r=64&t?4095&r|32768:0,"object"==typeof e)n=e;else{var a=e.endsWith("/");n=(e=ey(e,{$a:!(131072&t),Jb:!0})).node,e=e.path}var i=!1;if(64&t)if(n){if(128&t)throw new eE(20)}else{if(a)throw new eE(31);n=eP(e,511|r,0),i=!0}if(!n)throw new eE(44);if(8192==(61440&n.mode)&&(t&=-513),65536&t&&!eL(n.mode))throw new eE(54);if(!i&&(a=n?40960==(61440&n.mode)?32:eL(n.mode)&&("r"!==eA(t)||576&t)?31:eO(n,eA(t)):44))throw new eE(a);return 512&t&&!i&&eQ(null,a="string"==typeof(a=n)?ey(a,{$a:!0}).node:a,0),t&=-131713,(a=ex({node:n,path:eg(n),flags:t,seekable:!0,position:0,Ma:n.Ma,Lb:[],error:!1})).Ma.open&&a.Ma.open(a),i&&ez(n,511&r),!l.logReadFiles||1&t||e in e_||(e_[e]=1),a}function eK(e){if(null===e.fd)throw new eE(8);e.ob&&(e.ob=null);try{e.Ma.close&&e.Ma.close(e)}catch(e){throw e}finally{ec[e.fd]=null}e.fd=null}function eV(e,t,r){if(null===e.fd)throw new eE(8);if(!e.seekable||!e.Ma.Va)throw new eE(70);if(0!=r&&1!=r&&2!=r)throw new eE(28);e.position=e.Ma.Va(e,t,r),e.Lb=[]}function eJ(e,t,r,n,a){if(0>n||0>a)throw new eE(28);if(null===e.fd||1==(2097155&e.flags))throw new eE(8);if(eL(e.node.mode))throw new eE(31);if(!e.Ma.read)throw new eE(28);var i=void 0!==a;if(i){if(!e.seekable)throw new eE(70)}else a=e.position;return t=e.Ma.read(e,t,r,n,a),i||(e.position+=t),t}function eZ(e,t,r,n,a){if(0>n||0>a)throw new eE(28);if(null===e.fd||0==(2097155&e.flags))throw new eE(8);if(eL(e.node.mode))throw new eE(31);if(!e.Ma.write)throw new eE(28);e.seekable&&1024&e.flags&&eV(e,0,2);var i=void 0!==a;if(i){if(!e.seekable)throw new eE(70)}else a=e.position;return t=e.Ma.write(e,t,r,n,a,void 0),i||(e.position+=t),t}function e0(e,t,r){e=V("/dev/"+e);var n=el(!!t,!!r);e0.yb??(e0.yb=64);var a=e0.yb++<<8;eU(a,{open(e){e.seekable=!1},close(){r?.buffer?.length&&r(10)},read(e,r,n,a){for(var i=0,o=0;o<a;o++){try{var s=t()}catch(e){throw new eE(29)}if(void 0===s&&0===i)throw new eE(6);if(null==s)break;i++,r[n+o]=s}return i&&(e.node.atime=Date.now()),i},write(e,t,n,a){for(var i=0;i<a;i++)try{r(t[n+i])}catch(e){throw new eE(29)}return a&&(e.node.mtime=e.node.ctime=Date.now()),i}}),eX(e,n,a)}var e1={};function e3(e,t,r){if("/"===t.charAt(0))return t;if(e=-100===e?"/":ek(e).path,0==t.length){if(!r)throw new eE(44);return e}return e+"/"+t}function e2(e,t){q[e>>2]=t.dev,q[e+4>>2]=t.mode,N[e+8>>2]=t.nlink,q[e+12>>2]=t.uid,q[e+16>>2]=t.gid,q[e+20>>2]=t.rdev,L[e+24>>3]=BigInt(t.size),q[e+32>>2]=4096,q[e+36>>2]=t.blocks;var r=t.atime.getTime(),n=t.mtime.getTime(),a=t.ctime.getTime();return L[e+40>>3]=BigInt(Math.floor(r/1e3)),N[e+48>>2]=r%1e3*1e6,L[e+56>>3]=BigInt(Math.floor(n/1e3)),N[e+64>>2]=n%1e3*1e6,L[e+72>>3]=BigInt(Math.floor(a/1e3)),N[e+80>>2]=a%1e3*1e6,L[e+88>>3]=BigInt(t.ino),0}var e4,e6,e8,e5,e7=void 0,e9=()=>{var e=q[e7>>2];return e7+=4,e},te=0,tt=[0,31,60,91,121,152,182,213,244,274,305,335],tr=[0,31,59,90,120,151,181,212,243,273,304,334],tn={},ta=e=>{v=e,Y||0<te||(l.onExit?.(e),I=!0),m(e,new P(e))},ti={},to=()=>{if(!e6){var e,t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:h||"./this.program"};for(e in ti)void 0===ti[e]?delete t[e]:t[e]=ti[e];var r=[];for(e in t)r.push(`${e}=${t[e]}`);e6=r}return e6},ts=e=>{var t=er(e)+1,r=tq(t);return en(e,g,r,t),r},tu=0,tl=(e,t)=>(t=1==t?tq(e.length):tw(e.length),e.subarray||e.slice||(e=new Uint8Array(e)),g.set(e,t),t),td=[],tf=e=>{e8.delete(e5.get(e)),e5.set(e,null),td.push(e)},tc=(e,t)=>{if(!e8){e8=new WeakMap;var r=e5.length;if(e8)for(var n=0;n<0+r;n++){var a=e5.get(n);a&&e8.set(a,n)}}if(r=e8.get(e)||0)return r;if(td.length)r=td.pop();else{try{e5.grow(1)}catch(e){if(!(e instanceof RangeError))throw e;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}r=e5.length-1}try{e5.set(r,e)}catch(u){if(!(u instanceof TypeError))throw u;if("function"==typeof WebAssembly.Function){var i=WebAssembly.Function;n={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},a={parameters:[],results:"v"==t[0]?[]:[n[t[0]]]};for(var o=1;o<t.length;++o)a.parameters.push(n[t[o]]);t=new i(a,e)}else{n=[1],a=t.slice(0,1),t=t.slice(1),o={i:127,p:127,j:126,f:125,d:124,e:111},n.push(96);var s=t.length;for(i of(128>s?n.push(s):n.push(s%128|128,s>>7),t))n.push(o[i]);"v"==a?n.push(0):n.push(1,o[a]),t=[0,97,115,109,1,0,0,0,1],128>(i=n.length)?t.push(i):t.push(i%128|128,i>>7),t.push(...n),t.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),t=new WebAssembly.Module(new Uint8Array(t)),t=new WebAssembly.Instance(t,{e:{f:e}}).exports.f}e5.set(r,t)}return e8.set(e,r),r};em=Array(4096),eC(eu,"/"),eW("/tmp"),eW("/home"),eW("/home/web_user"),eW("/dev"),eU(259,{read:()=>0,write:(e,t,r,n)=>n,Va:()=>0}),eX("/dev/null",259),eo(1280,{xb(){e:{if(!et.length){var e=null;if(u){var t=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=p.readSync(n,t,0,256)}catch(e){if(e.toString().includes("EOF"))r=0;else throw e}0<r&&(e=t.slice(0,r).toString("utf-8"))}if(!e){e=null;break e}et=ea(e,!0)}e=et.shift()}return e},qb(e,t){null===t||10===t?(_(Q(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){0<e.output?.length&&(_(Q(e.output)),e.output=[])},Tb:()=>({Ob:25856,Qb:5,Nb:191,Pb:35387,Mb:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),Ub:()=>0,Vb:()=>[24,80]}),eo(1536,{qb(e,t){null===t||10===t?(E(Q(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){0<e.output?.length&&(E(Q(e.output)),e.output=[])}}),eX("/dev/tty",1280),eX("/dev/tty1",1536),th=new Uint8Array(1024),tm=0,e0("random",tb=()=>(0===tm&&(ee(th),tm=th.byteLength),th[--tm])),e0("urandom",tb),eW("/dev/shm"),eW("/dev/shm/tmp"),eW("/proc"),tp=eW("/proc/self"),eW("/proc/self/fd"),eC({Xa(){var e=eR(tp,"fd",16895,73);return e.Ma={Va:eu.Ma.Va},e.La={lookup(e,t){var r=ek(e=+t);return(e={parent:null,Xa:{zb:"fake"},La:{readlink:()=>r.path},id:e+1}).parent=e},readdir:()=>Array.from(ec.entries()).filter(([,e])=>e).map(([e])=>e.toString())},e}},"/proc/self/fd"),eu.vb=new eE(44),eu.vb.stack="<generic error, no stack>";var th,tm,tb,tp,t_,tE={a:(e,t,r,n)=>D(`Assertion failed: ${e?Q(g,e):""}, at: `+[t?t?Q(g,t):"":"unknown filename",r,n?n?Q(g,n):"":"unknown function"]),i:function(e,t){try{return e=e?Q(g,e):"",ez(e,t),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},L:function(e,t,r){try{if(t=t?Q(g,t):"",t=e3(e,t),-8&r)return -28;var n=ey(t,{$a:!0}).node;if(!n)return -44;return e="",4&r&&(e+="r"),2&r&&(e+="w"),1&r&&(e+="x"),e&&eO(n,e)?-2:0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},j:function(e,t){try{var r=ek(e);return e$(r,r.node,t,!1),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},h:function(e){try{var t=ek(e);return eD(t,t.node,{timestamp:Date.now(),Fb:!1}),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},b:function(e,t,r){e7=r;try{var n=ek(e);switch(t){case 0:var a=e9();if(0>a)break;for(;ec[a];)a++;return function(e,t=-1){return e=ex(e,t),e.Ma?.Rb?.(e),e}(n,a).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:return a=e9(),n.flags|=a,0;case 12:return T[(a=e9())+0>>1]=2,0}return -28}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},g:function(e,t){try{var r=ek(e),n=r.node,a=r.Ma.Ta;e=a?r:n,a??=n.La.Ta,eM(a);var i=a(e);return e2(t,i)}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},H:function(e,t){t=-0x20000000000000>t||0x20000000000000<t?NaN:Number(t);try{if(isNaN(t))return 61;var r=ek(e);if(0>t||0==(2097155&r.flags))throw new eE(28);return eQ(r,r.node,t),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},G:function(e,t){try{if(0===t)return -28;var r=er("/")+1;if(t<r)return -68;return en("/",g,e,t),r}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},K:function(e,t){try{return e=e?Q(g,e):"",e2(t,eY(e,!0))}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},C:function(e,t,r){try{return t=t?Q(g,t):"",t=e3(e,t),eW(t,r),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},J:function(e,t,r,n){try{return t=t?Q(g,t):"",t=e3(e,t,4096&n),e2(r,256&n?eY(t,!0):eY(t))}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},x:function(e,t,r,n){e7=n;try{t=t?Q(g,t):"",t=e3(e,t);var a=n?e9():0;return eG(t,r,a).fd}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},v:function(e,t,r,n){try{if(t=t?Q(g,t):"",t=e3(e,t),0>=n)return -28;var a=ey(t).node;if(!a)throw new eE(44);if(!a.La.readlink)throw new eE(28);var i=a.La.readlink(a),o=Math.min(n,er(i)),s=y[r+o];return en(i,g,r,n+1),y[r+o]=s,o}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},u:function(e){try{return e=e?Q(g,e):"",ej(e),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},f:function(e,t){try{return e=e?Q(g,e):"",e2(t,eY(e))}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},r:function(e,t,r){try{return t=t?Q(g,t):"",t=e3(e,t),0===r?eH(t):512===r?ej(t):D("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},q:function(e,t,r){try{t=t?Q(g,t):"",t=e3(e,t,!0);var n,a,i=Date.now();if(r){var o=N[r>>2]+0x100000000*q[r+4>>2],s=q[r+8>>2];n=0x3fffffff==s?i:0x3ffffffe==s?null:1e3*o+s/1e6,r+=16,o=N[r>>2]+0x100000000*q[r+4>>2],s=q[r+8>>2],a=0x3fffffff==s?i:0x3ffffffe==s?null:1e3*o+s/1e6}else a=n=i;if(null!==(a??n)){e=n;var u=ey(t,{$a:!0}).node;eM(u.La.Ua)(u,{atime:e,mtime:a})}return 0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},m:()=>D(""),l:()=>{Y=!1,te=0},A:function(e,t){e=new Date(1e3*(e=-0x20000000000000>e||0x20000000000000<e?NaN:Number(e))),q[t>>2]=e.getSeconds(),q[t+4>>2]=e.getMinutes(),q[t+8>>2]=e.getHours(),q[t+12>>2]=e.getDate(),q[t+16>>2]=e.getMonth(),q[t+20>>2]=e.getFullYear()-1900,q[t+24>>2]=e.getDay();var r=e.getFullYear();q[t+28>>2]=(0!=r%4||0==r%100&&0!=r%400?tr:tt)[e.getMonth()]+e.getDate()-1|0,q[t+36>>2]=-(60*e.getTimezoneOffset()),r=new Date(e.getFullYear(),6,1).getTimezoneOffset();var n=new Date(e.getFullYear(),0,1).getTimezoneOffset();q[t+32>>2]=0|(r!=n&&e.getTimezoneOffset()==Math.min(n,r))},y:function(e,t,r,n,a,i,o){a=-0x20000000000000>a||0x20000000000000<a?NaN:Number(a);try{if(isNaN(a))return 61;var s=ek(n);if(0!=(2&t)&&0==(2&r)&&2!=(2097155&s.flags)||1==(2097155&s.flags))throw new eE(2);if(!s.Ma.ib)throw new eE(43);if(!e)throw new eE(28);var u=s.Ma.ib(s,e,a,t,r),l=u.Kb;return q[i>>2]=u.Ab,N[o>>2]=l,0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},z:function(e,t,r,n,a,i){i=-0x20000000000000>i||0x20000000000000<i?NaN:Number(i);try{var o=ek(a);if(2&r){if(r=i,32768!=(61440&o.node.mode))throw new eE(43);if(!(2&n)){var s=g.slice(e,e+t);o.Ma.jb&&o.Ma.jb(o,s,r,t,n)}}}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},n:(e,t)=>{if(tn[e]&&(clearTimeout(tn[e].id),delete tn[e]),!t)return 0;var r=setTimeout(()=>{delete tn[e];var t=()=>tg(e,performance.now());if(!I)try{if(t(),!(Y||0<te))try{v=t=v,ta(t)}catch(e){e instanceof P||"unwind"==e||m(1,e)}}catch(e){e instanceof P||"unwind"==e||m(1,e)}},t);return tn[e]={id:r,Xb:t},0},B:(e,t,r,n)=>{var a=(new Date).getFullYear(),i=new Date(a,0,1).getTimezoneOffset();a=new Date(a,6,1).getTimezoneOffset(),N[e>>2]=60*Math.max(i,a),q[t>>2]=Number(i!=a),e=(t=e=>{var t=Math.abs(e);return`UTC${0<=e?"-":"+"}${String(Math.floor(t/60)).padStart(2,"0")}${String(t%60).padStart(2,"0")}`})(i),t=t(a),a<i?(en(e,g,r,17),en(t,g,n,17)):(en(e,g,n,17),en(t,g,r,17))},d:()=>Date.now(),s:()=>0x80000000,c:()=>performance.now(),o:e=>{var t=g.length;if(0x80000000<(e>>>=0))return!1;for(var r=1;4>=r;r*=2){var n=t*(1+.2/r);n=Math.min(n,e+0x6000000);e:{n=(Math.min(0x80000000,65536*Math.ceil(Math.max(e,n)/65536))-w.buffer.byteLength+65535)/65536|0;try{w.grow(n),M();var a=1;break e}catch(e){}a=void 0}if(a)return!0}return!1},E:(e,t)=>{var r=0;return to().forEach((n,a)=>{var i=t+r;for(a=N[e+4*a>>2]=i,i=0;i<n.length;++i)y[a++]=n.charCodeAt(i);y[a]=0,r+=n.length+1}),0},F:(e,t)=>{var r=to();N[e>>2]=r.length;var n=0;return r.forEach(e=>n+=e.length+1),N[t>>2]=n,0},e:function(e){try{var t=ek(e);return eK(t),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},p:function(e,t){try{var r=ek(e);return y[t]=r.tty?2:eL(r.mode)?3:40960==(61440&r.mode)?7:4,T[t+2>>1]=0,L[t+8>>3]=BigInt(0),L[t+16>>3]=BigInt(0),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},w:function(e,t,r,n){try{e:{var a=ek(e);e=t;for(var i,o=t=0;o<r;o++){var s=N[e>>2],u=N[e+4>>2];e+=8;var l=eJ(a,y,s,u,i);if(0>l){var d=-1;break e}if(t+=l,l<u)break;void 0!==i&&(i+=l)}d=t}return N[n>>2]=d,0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},D:function(e,t,r,n){t=-0x20000000000000>t||0x20000000000000<t?NaN:Number(t);try{if(isNaN(t))return 61;var a=ek(e);return eV(a,t,r),L[n>>3]=BigInt(a.position),a.ob&&0===t&&0===r&&(a.ob=null),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},I:function(e){try{var t=ek(e);return t.Ma?.fsync?t.Ma.fsync(t):0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},t:function(e,t,r,n){try{e:{var a=ek(e);e=t;for(var i,o=t=0;o<r;o++){var s=N[e>>2],u=N[e+4>>2];e+=8;var l=eZ(a,y,s,u,i);if(0>l){var d=-1;break e}if(t+=l,l<u)break;void 0!==i&&(i+=l)}d=t}return N[n>>2]=d,0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},k:ta};!async function(){function e(e){return w=(t_=e.exports).M,M(),e5=t_.O,k--,l.monitorRunDependencies?.(k),0==k&&x&&(e=x,x=null,e()),t_}k++,l.monitorRunDependencies?.(k);var t={a:tE};if(l.instantiateWasm)return new Promise(r=>{l.instantiateWasm(t,(t,n)=>{e(t,n),r(t.exports)})});e4??=l.locateFile?l.locateFile("sql-wasm.wasm",b):b+"sql-wasm.wasm",e((await C(t)).instance)}(),l._sqlite3_free=e=>(l._sqlite3_free=t_.P)(e),l._sqlite3_value_text=e=>(l._sqlite3_value_text=t_.Q)(e),l._sqlite3_prepare_v2=(e,t,r,n,a)=>(l._sqlite3_prepare_v2=t_.R)(e,t,r,n,a),l._sqlite3_step=e=>(l._sqlite3_step=t_.S)(e),l._sqlite3_reset=e=>(l._sqlite3_reset=t_.T)(e),l._sqlite3_exec=(e,t,r,n,a)=>(l._sqlite3_exec=t_.U)(e,t,r,n,a),l._sqlite3_finalize=e=>(l._sqlite3_finalize=t_.V)(e),l._sqlite3_column_name=(e,t)=>(l._sqlite3_column_name=t_.W)(e,t),l._sqlite3_column_text=(e,t)=>(l._sqlite3_column_text=t_.X)(e,t),l._sqlite3_column_type=(e,t)=>(l._sqlite3_column_type=t_.Y)(e,t),l._sqlite3_errmsg=e=>(l._sqlite3_errmsg=t_.Z)(e),l._sqlite3_clear_bindings=e=>(l._sqlite3_clear_bindings=t_._)(e),l._sqlite3_value_blob=e=>(l._sqlite3_value_blob=t_.$)(e),l._sqlite3_value_bytes=e=>(l._sqlite3_value_bytes=t_.aa)(e),l._sqlite3_value_double=e=>(l._sqlite3_value_double=t_.ba)(e),l._sqlite3_value_int=e=>(l._sqlite3_value_int=t_.ca)(e),l._sqlite3_value_type=e=>(l._sqlite3_value_type=t_.da)(e),l._sqlite3_result_blob=(e,t,r,n)=>(l._sqlite3_result_blob=t_.ea)(e,t,r,n),l._sqlite3_result_double=(e,t)=>(l._sqlite3_result_double=t_.fa)(e,t),l._sqlite3_result_error=(e,t,r)=>(l._sqlite3_result_error=t_.ga)(e,t,r),l._sqlite3_result_int=(e,t)=>(l._sqlite3_result_int=t_.ha)(e,t),l._sqlite3_result_int64=(e,t)=>(l._sqlite3_result_int64=t_.ia)(e,t),l._sqlite3_result_null=e=>(l._sqlite3_result_null=t_.ja)(e),l._sqlite3_result_text=(e,t,r,n)=>(l._sqlite3_result_text=t_.ka)(e,t,r,n),l._sqlite3_aggregate_context=(e,t)=>(l._sqlite3_aggregate_context=t_.la)(e,t),l._sqlite3_column_count=e=>(l._sqlite3_column_count=t_.ma)(e),l._sqlite3_data_count=e=>(l._sqlite3_data_count=t_.na)(e),l._sqlite3_column_blob=(e,t)=>(l._sqlite3_column_blob=t_.oa)(e,t),l._sqlite3_column_bytes=(e,t)=>(l._sqlite3_column_bytes=t_.pa)(e,t),l._sqlite3_column_double=(e,t)=>(l._sqlite3_column_double=t_.qa)(e,t),l._sqlite3_bind_blob=(e,t,r,n,a)=>(l._sqlite3_bind_blob=t_.ra)(e,t,r,n,a),l._sqlite3_bind_double=(e,t,r)=>(l._sqlite3_bind_double=t_.sa)(e,t,r),l._sqlite3_bind_int=(e,t,r)=>(l._sqlite3_bind_int=t_.ta)(e,t,r),l._sqlite3_bind_text=(e,t,r,n,a)=>(l._sqlite3_bind_text=t_.ua)(e,t,r,n,a),l._sqlite3_bind_parameter_index=(e,t)=>(l._sqlite3_bind_parameter_index=t_.va)(e,t),l._sqlite3_sql=e=>(l._sqlite3_sql=t_.wa)(e),l._sqlite3_normalized_sql=e=>(l._sqlite3_normalized_sql=t_.xa)(e),l._sqlite3_changes=e=>(l._sqlite3_changes=t_.ya)(e),l._sqlite3_close_v2=e=>(l._sqlite3_close_v2=t_.za)(e),l._sqlite3_create_function_v2=(e,t,r,n,a,i,o,s,u)=>(l._sqlite3_create_function_v2=t_.Aa)(e,t,r,n,a,i,o,s,u),l._sqlite3_update_hook=(e,t,r)=>(l._sqlite3_update_hook=t_.Ba)(e,t,r),l._sqlite3_open=(e,t)=>(l._sqlite3_open=t_.Ca)(e,t);var tw=l._malloc=e=>(tw=l._malloc=t_.Da)(e),tv=l._free=e=>(tv=l._free=t_.Ea)(e);l._RegisterExtensionFunctions=e=>(l._RegisterExtensionFunctions=t_.Fa)(e);var ty=(e,t)=>(ty=t_.Ga)(e,t),tg=(e,t)=>(tg=t_.Ha)(e,t),tT=e=>(tT=t_.Ia)(e),tq=e=>(tq=t_.Ja)(e),tN=()=>(tN=t_.Ka)();if(l.stackSave=()=>tN(),l.stackRestore=e=>tT(e),l.stackAlloc=e=>tq(e),l.cwrap=(e,t,r,n)=>{var a=!r||r.every(e=>"number"===e||"boolean"===e);return"string"!==t&&a&&!n?l["_"+e]:(...n)=>((e,t,r,n)=>{var a,i={string:e=>{var t=0;return null!=e&&0!==e&&(t=ts(e)),t},array:e=>{var t=tq(e.length);return y.set(e,t),t}};e=l["_"+e];var o=[],s=0;if(n)for(var u=0;u<n.length;u++){var d=i[r[u]];d?(0===s&&(s=tN()),o[u]=d(n[u])):o[u]=n[u]}return a=r=e(...o),0!==s&&tT(s),r="string"===t?a?Q(g,a):"":"boolean"===t?!!a:a})(e,t,r,n)},l.addFunction=tc,l.removeFunction=tf,l.UTF8ToString=G,l.ALLOC_NORMAL=tu,l.allocate=tl,l.allocateUTF8OnStack=ts,l.preInit)for("function"==typeof l.preInit&&(l.preInit=[l.preInit]);0<l.preInit.length;)l.preInit.pop()();return!function e(){function t(){if(l.calledRun=!0,!I){if(!l.noFSInit&&!eb){var e,t;eb=!0,r??=l.stdin,e??=l.stdout,t??=l.stderr,r?e0("stdin",r):eB("/dev/tty","/dev/stdin"),e?e0("stdout",null,e):eB("/dev/tty","/dev/stdout"),t?e0("stderr",null,t):eB("/dev/tty1","/dev/stderr"),eG("/dev/stdin",0),eG("/dev/stdout",1),eG("/dev/stderr",1)}if(t_.N(),ep=!1,l.onRuntimeInitialized?.(),l.postRun)for("function"==typeof l.postRun&&(l.postRun=[l.postRun]);l.postRun.length;){var r=l.postRun.shift();X.unshift(r)}W(X)}}if(0<k)x=e;else{if(l.preRun)for("function"==typeof l.preRun&&(l.preRun=[l.preRun]);l.preRun.length;)j();W(B),0<k?x=e:l.setStatus?(l.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>l.setStatus(""),1),t()},1)):t()}}(),i}))};if("object"==typeof t)t.exports=a,t.exports.default=a;else if("function"==typeof define&&define.amd)void 0!==a&&e.v(a);else r.Module=a},97731,71560,e=>{"use strict";var t=e.i(74738);let r=`
|
|
1
|
+
module.exports=[54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},74738,(e,t,r)=>{var n=void 0,a=function(r){return n||(n=new Promise(function(n,a){var i=void 0!==r?r:{},o=i.onAbort;"use strict";i.onAbort=function(e){a(Error(e)),o&&o(e)},i.postRun=i.postRun||[],i.postRun.push(function(){n(i)}),t=void 0,l||=void 0!==i?i:{};var s="u">typeof WorkerGlobalScope,u="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&"renderer"!=process.type;l.onRuntimeInitialized=function(){function e(e,t){switch(typeof t){case"boolean":K(e,+!!t);break;case"number":B(e,t);break;case"string":$(e,t,-1,-1);break;case"object":if(null===t)j(e);else if(null!=t.length){var r=tl(t,tu);z(e,r,t.length,-1),tv(r)}else J(e,"Wrong API use : tried to return a value of an unknown type ("+t+").",-1);break;default:j(e)}}function t(e,t){for(var r=[],n=0;n<e;n+=1){var a=H(t+4*n,"i32"),i=U(a);if(1===i||2===i)a=X(a);else if(3===i)a=P(a);else if(4===i){a=C(i=a),i=W(i);for(var o=new Uint8Array(a),s=0;s<a;s+=1)o[s]=y[i+s];a=o}else a=null;r.push(a)}return r}function r(e,t){this.Qa=e,this.db=t,this.Oa=1,this.lb=[]}function n(e,t){if(this.db=t,t=er(e)+1,this.eb=tw(t),null===this.eb)throw Error("Unable to allocate memory for the SQL string");en(e,g,this.eb,t),this.kb=this.eb,this.Za=this.pb=null}function a(e){if(this.filename="dbfile_"+(0xffffffff*Math.random()>>>0),null!=e){var t=this.filename,r="/",n=t;if(r&&(r="string"==typeof r?r:eg(r),n=t?V(r+"/"+t):r),n=function(e,t=438){return eP(e,4095&t|32768,0)}(n,t=el(!0,!0)),e){if("string"==typeof e){r=Array(e.length);for(var a=0,o=e.length;a<o;++a)r[a]=e.charCodeAt(a);e=r}ez(n,146|t),eZ(r=eQ(n,577),e,0,e.length,0),eK(r),ez(n,t)}}this.handleError(s(this.filename,i)),this.db=H(i,"i32"),ee(this.db),this.fb={},this.Sa={}}var i=tq(4),o=l.cwrap,s=o("sqlite3_open","number",["string","number"]),u=o("sqlite3_close_v2","number",["number"]),d=o("sqlite3_exec","number",["number","string","number","number","number"]),f=o("sqlite3_changes","number",["number"]),c=o("sqlite3_prepare_v2","number",["number","string","number","number","number"]),h=o("sqlite3_sql","string",["number"]),m=o("sqlite3_normalized_sql","string",["number"]),b=o("sqlite3_prepare_v2","number",["number","number","number","number","number"]),p=o("sqlite3_bind_text","number",["number","number","number","number","number"]),_=o("sqlite3_bind_blob","number",["number","number","number","number","number"]),E=o("sqlite3_bind_double","number",["number","number","number"]),w=o("sqlite3_bind_int","number",["number","number","number"]),v=o("sqlite3_bind_parameter_index","number",["number","string"]),T=o("sqlite3_step","number",["number"]),q=o("sqlite3_errmsg","string",["number"]),N=o("sqlite3_column_count","number",["number"]),R=o("sqlite3_data_count","number",["number"]),L=o("sqlite3_column_double","number",["number","number"]),O=o("sqlite3_column_text","string",["number","number"]),A=o("sqlite3_column_blob","number",["number","number"]),I=o("sqlite3_column_bytes","number",["number","number"]),S=o("sqlite3_column_type","number",["number","number"]),M=o("sqlite3_column_name","string",["number","number"]),k=o("sqlite3_reset","number",["number"]),x=o("sqlite3_clear_bindings","number",["number"]),D=o("sqlite3_finalize","number",["number"]),F=o("sqlite3_create_function_v2","number","number string number number number number number number number".split(" ")),U=o("sqlite3_value_type","number",["number"]),C=o("sqlite3_value_bytes","number",["number"]),P=o("sqlite3_value_text","string",["number"]),W=o("sqlite3_value_blob","number",["number"]),X=o("sqlite3_value_double","number",["number"]),B=o("sqlite3_result_double","",["number","number"]),j=o("sqlite3_result_null","",["number"]),$=o("sqlite3_result_text","",["number","string","number","number"]),z=o("sqlite3_result_blob","",["number","number","number","number"]),K=o("sqlite3_result_int","",["number","number"]),J=o("sqlite3_result_error","",["number","string","number"]),Z=o("sqlite3_aggregate_context","number",["number","number"]),ee=o("RegisterExtensionFunctions","number",["number"]),et=o("sqlite3_update_hook","number",["number","number","number"]);r.prototype.bind=function(e){if(!this.Qa)throw"Statement closed";return this.reset(),Array.isArray(e)?this.Cb(e):null==e||"object"!=typeof e||this.Db(e)},r.prototype.step=function(){if(!this.Qa)throw"Statement closed";this.Oa=1;var e=T(this.Qa);switch(e){case 100:return!0;case 101:return!1;default:throw this.db.handleError(e)}},r.prototype.wb=function(e){return null==e&&(e=this.Oa,this.Oa+=1),L(this.Qa,e)},r.prototype.Gb=function(e){if(null==e&&(e=this.Oa,this.Oa+=1),e=O(this.Qa,e),"function"!=typeof BigInt)throw Error("BigInt is not supported");return BigInt(e)},r.prototype.Hb=function(e){return null==e&&(e=this.Oa,this.Oa+=1),O(this.Qa,e)},r.prototype.getBlob=function(e){null==e&&(e=this.Oa,this.Oa+=1);var t=I(this.Qa,e);e=A(this.Qa,e);for(var r=new Uint8Array(t),n=0;n<t;n+=1)r[n]=y[e+n];return r},r.prototype.get=function(e,t){t=t||{},null!=e&&this.bind(e)&&this.step(),e=[];for(var r=R(this.Qa),n=0;n<r;n+=1)switch(S(this.Qa,n)){case 1:var a=t.useBigInt?this.Gb(n):this.wb(n);e.push(a);break;case 2:e.push(this.wb(n));break;case 3:e.push(this.Hb(n));break;case 4:e.push(this.getBlob(n));break;default:e.push(null)}return e},r.prototype.getColumnNames=function(){for(var e=[],t=N(this.Qa),r=0;r<t;r+=1)e.push(M(this.Qa,r));return e},r.prototype.getAsObject=function(e,t){e=this.get(e,t),t=this.getColumnNames();for(var r={},n=0;n<t.length;n+=1)r[t[n]]=e[n];return r},r.prototype.getSQL=function(){return h(this.Qa)},r.prototype.getNormalizedSQL=function(){return m(this.Qa)},r.prototype.run=function(e){return null!=e&&this.bind(e),this.step(),this.reset()},r.prototype.sb=function(e,t){null==t&&(t=this.Oa,this.Oa+=1);var r=tl(e=ea(e),tu);this.lb.push(r),this.db.handleError(p(this.Qa,t,r,e.length-1,0))},r.prototype.Bb=function(e,t){null==t&&(t=this.Oa,this.Oa+=1);var r=tl(e,tu);this.lb.push(r),this.db.handleError(_(this.Qa,t,r,e.length,0))},r.prototype.rb=function(e,t){null==t&&(t=this.Oa,this.Oa+=1),this.db.handleError((e===(0|e)?w:E)(this.Qa,t,e))},r.prototype.Eb=function(e){null==e&&(e=this.Oa,this.Oa+=1),_(this.Qa,e,0,0,0)},r.prototype.tb=function(e,t){switch(null==t&&(t=this.Oa,this.Oa+=1),typeof e){case"string":this.sb(e,t);return;case"number":this.rb(e,t);return;case"bigint":this.sb(e.toString(),t);return;case"boolean":this.rb(e+0,t);return;case"object":if(null===e)return void this.Eb(t);if(null!=e.length)return void this.Bb(e,t)}throw"Wrong API use : tried to bind a value of an unknown type ("+e+")."},r.prototype.Db=function(e){var t=this;return Object.keys(e).forEach(function(r){var n=v(t.Qa,r);0!==n&&t.tb(e[r],n)}),!0},r.prototype.Cb=function(e){for(var t=0;t<e.length;t+=1)this.tb(e[t],t+1);return!0},r.prototype.reset=function(){return this.freemem(),0===x(this.Qa)&&0===k(this.Qa)},r.prototype.freemem=function(){for(var e;void 0!==(e=this.lb.pop());)tv(e)},r.prototype.free=function(){this.freemem();var e=0===D(this.Qa);return delete this.db.fb[this.Qa],this.Qa=0,e},n.prototype.next=function(){if(null===this.eb)return{done:!0};if(null!==this.Za&&(this.Za.free(),this.Za=null),!this.db.db)throw this.mb(),Error("Database closed");var e=tN(),t=tq(4);Y(i),Y(t);try{this.db.handleError(b(this.db.db,this.kb,-1,i,t)),this.kb=H(t,"i32");var n=H(i,"i32");if(0===n)return this.mb(),{done:!0};return this.Za=new r(n,this.db),this.db.fb[n]=this.Za,{value:this.Za,done:!1}}catch(e){throw this.pb=Q(this.kb),this.mb(),e}finally{tT(e)}},n.prototype.mb=function(){tv(this.eb),this.eb=null},n.prototype.getRemainingSQL=function(){return null!==this.pb?this.pb:Q(this.kb)},"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator&&(n.prototype[Symbol.iterator]=function(){return this}),a.prototype.run=function(e,t){if(!this.db)throw"Database closed";if(t){e=this.prepare(e,t);try{e.step()}finally{e.free()}}else this.handleError(d(this.db,e,0,0,i));return this},a.prototype.exec=function(e,t,n){if(!this.db)throw"Database closed";var a=tN(),o=null;try{var s=ts(e),u=tq(4);for(e=[];0!==H(s,"i8");){Y(i),Y(u),this.handleError(b(this.db,s,-1,i,u));var l=H(i,"i32");if(s=H(u,"i32"),0!==l){var d=null;for(o=new r(l,this),null!=t&&o.bind(t);o.step();)null===d&&(d={columns:o.getColumnNames(),values:[]},e.push(d)),d.values.push(o.get(null,n));o.free()}}return e}catch(e){throw o&&o.free(),e}finally{tT(a)}},a.prototype.each=function(e,t,r,n,a){"function"==typeof t&&(n=r,r=t,t=void 0),e=this.prepare(e,t);try{for(;e.step();)r(e.getAsObject(null,a))}finally{e.free()}if("function"==typeof n)return n()},a.prototype.prepare=function(e,t){if(Y(i),this.handleError(c(this.db,e,-1,i,0)),0===(e=H(i,"i32")))throw"Nothing to prepare";var n=new r(e,this);return null!=t&&n.bind(t),this.fb[e]=n},a.prototype.iterateStatements=function(e){return new n(e,this)},a.prototype.export=function(){Object.values(this.fb).forEach(function(e){e.free()}),Object.values(this.Sa).forEach(tf),this.Sa={},this.handleError(u(this.db));var e=function(e){var t=eQ(e,t||0),r=new Uint8Array(e=e$(e).size);return eJ(t,r,0,e,0),eK(t),r}(this.filename);return this.handleError(s(this.filename,i)),this.db=H(i,"i32"),ee(this.db),e},a.prototype.close=function(){null!==this.db&&(Object.values(this.fb).forEach(function(e){e.free()}),Object.values(this.Sa).forEach(tf),this.Sa={},this.Ya&&(tf(this.Ya),this.Ya=void 0),this.handleError(u(this.db)),eH("/"+this.filename),this.db=null)},a.prototype.handleError=function(e){if(0===e)return null;throw Error(e=q(this.db))},a.prototype.getRowsModified=function(){return f(this.db)},a.prototype.create_function=function(r,n){Object.prototype.hasOwnProperty.call(this.Sa,r)&&(tf(this.Sa[r]),delete this.Sa[r]);var a=tc(function(r,a,i){a=t(a,i);try{var o=n.apply(null,a)}catch(e){J(r,e,-1);return}e(r,o)},"viii");return this.Sa[r]=a,this.handleError(F(this.db,r,n.length,1,0,a,0,0,0)),this},a.prototype.create_aggregate=function(r,n){var a=n.init||function(){return null},i=n.finalize||function(e){return e},o=n.step;if(!o)throw"An aggregate function must have a step function in "+r;var s={};Object.hasOwnProperty.call(this.Sa,r)&&(tf(this.Sa[r]),delete this.Sa[r]),n=r+"__finalize",Object.hasOwnProperty.call(this.Sa,n)&&(tf(this.Sa[n]),delete this.Sa[n]);var u=tc(function(e,r,n){var i=Z(e,1);Object.hasOwnProperty.call(s,i)||(s[i]=a()),r=t(r,n),r=[s[i]].concat(r);try{s[i]=o.apply(null,r)}catch(t){delete s[i],J(e,t,-1)}},"viii"),l=tc(function(t){var r=Z(t,1);try{var n=i(s[r])}catch(e){delete s[r],J(t,e,-1);return}e(t,n),delete s[r]},"vi");return this.Sa[r]=u,this.Sa[n]=l,this.handleError(F(this.db,r,o.length-1,1,0,0,u,l,0)),this},a.prototype.updateHook=function(e){this.Ya&&(et(this.db,0,0),tf(this.Ya),this.Ya=void 0),e&&(this.Ya=tc(function(t,r,n,a,i){switch(r){case 18:t="insert";break;case 23:t="update";break;case 9:t="delete";break;default:throw"unknown operationCode in updateHook callback: "+r}if(n=n?G(g,n):"",a=a?G(g,a):"",i>Number.MAX_SAFE_INTEGER)throw"rowId too big to fit inside a Number";e(t,n,a,Number(i))},"viiiij"),et(this.db,this.Ya,0))},l.Database=a};var l,d,f,c={...l},h="./this.program",m=(e,t)=>{throw t},b="";if(u){var p=e.r(22734);e.r(14747),b="/ROOT/node_modules/sql.js/dist/",f=e=>(e=S(e)?new URL(e):e,p.readFileSync(e)),d=async e=>(e=S(e)?new URL(e):e,p.readFileSync(e,void 0)),!l.thisProgram&&1<process.argv.length&&(h=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),void 0!==t&&(t.exports=l),m=(e,t)=>{throw process.exitCode=e,t}}else s&&(s?b=self.location.href:"u">typeof document&&document.currentScript&&(b=document.currentScript.src),b=b.startsWith("blob:")?"":b.slice(0,b.replace(/[?#].*/,"").lastIndexOf("/")+1),s&&(f=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),d=async e=>{if(S(e))return new Promise((t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r(n.status)},n.onerror=r,n.send(null)});var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw Error(t.status+" : "+t.url)});var _=l.print||console.log.bind(console),E=l.printErr||console.error.bind(console);Object.assign(l,c),c=null,l.thisProgram&&(h=l.thisProgram);var w,v,y,g,T,q,N,R,L,O,A=l.wasmBinary,I=!1,S=e=>e.startsWith("file://");function M(){var e=w.buffer;l.HEAP8=y=new Int8Array(e),l.HEAP16=T=new Int16Array(e),l.HEAPU8=g=new Uint8Array(e),l.HEAPU16=new Uint16Array(e),l.HEAP32=q=new Int32Array(e),l.HEAPU32=N=new Uint32Array(e),l.HEAPF32=R=new Float32Array(e),l.HEAPF64=O=new Float64Array(e),l.HEAP64=L=new BigInt64Array(e),l.HEAPU64=new BigUint64Array(e)}var k=0,x=null;function D(e){throw l.onAbort?.(e),E(e="Aborted("+e+")"),I=!0,new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info.")}async function F(e){if(!A)try{var t=await d(e);return new Uint8Array(t)}catch{}if(e==e4&&A)e=new Uint8Array(A);else if(f)e=f(e);else throw"both async and sync fetching of the wasm failed";return e}async function U(e,t){try{var r=await F(e);return await WebAssembly.instantiate(r,t)}catch(e){E(`failed to asynchronously prepare wasm: ${e}`),D(e)}}async function C(e){if(!A&&"function"==typeof WebAssembly.instantiateStreaming&&!S(e4)&&!u)try{var t=fetch(e4,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(t,e)}catch(e){E(`wasm streaming compile failed: ${e}`),E("falling back to ArrayBuffer instantiation")}return U(e4,e)}class P{name="ExitStatus";constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var W=e=>{for(;0<e.length;)e.shift()(l)},X=[],B=[],j=()=>{var e=l.preRun.shift();B.unshift(e)};function H(e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":return y[e];case"i16":return T[e>>1];case"i32":return q[e>>2];case"i64":return L[e>>3];case"float":return R[e>>2];case"double":return O[e>>3];case"*":return N[e>>2];default:D(`invalid type for getValue: ${t}`)}}var $=l.noExitRuntime||!0;function Y(e){var t="i32";switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":y[e]=0;break;case"i16":T[e>>1]=0;break;case"i32":q[e>>2]=0;break;case"i64":L[e>>3]=BigInt(0);break;case"float":R[e>>2]=0;break;case"double":O[e>>3]=0;break;case"*":N[e>>2]=0;break;default:D(`invalid type for setValue: ${t}`)}}var z="u">typeof TextDecoder?new TextDecoder:void 0,G=(e,t=0,r=NaN)=>{var n=t+r;for(r=t;e[r]&&!(r>=n);)++r;if(16<r-t&&e.buffer&&z)return z.decode(e.subarray(t,r));for(n="";t<r;){var a=e[t++];if(128&a){var i=63&e[t++];if(192==(224&a))n+=String.fromCharCode((31&a)<<6|i);else{var o=63&e[t++];65536>(a=224==(240&a)?(15&a)<<12|i<<6|o:(7&a)<<18|i<<12|o<<6|63&e[t++])?n+=String.fromCharCode(a):(a-=65536,n+=String.fromCharCode(55296|a>>10,56320|1023&a))}}else n+=String.fromCharCode(a)}return n},Q=(e,t)=>e?G(g,e,t):"",K=(e,t)=>{for(var r=0,n=e.length-1;0<=n;n--){var a=e[n];"."===a?e.splice(n,1):".."===a?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},V=e=>{var t="/"===e.charAt(0),r="/"===e.slice(-1);return(e=K(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},J=e=>{var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1);return(e=t[0],t=t[1],e||t)?e+(t&&=t.slice(0,-1)):"."},Z=e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],ee=t=>{(ee=(()=>{if(u){var t=e.r(54799);return e=>t.randomFillSync(e)}return e=>crypto.getRandomValues(e)})())(t)},et=[],er=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);127>=n?t++:2047>=n?t+=2:55296<=n&&57343>=n?(t+=4,++r):t+=3}return t},en=(e,t,r,n)=>{if(!(0<n))return 0;var a=r;n=r+n-1;for(var i=0;i<e.length;++i){var o=e.charCodeAt(i);if(55296<=o&&57343>=o&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++i)),127>=o){if(r>=n)break;t[r++]=o}else{if(2047>=o){if(r+1>=n)break;t[r++]=192|o>>6}else{if(65535>=o){if(r+2>=n)break;t[r++]=224|o>>12}else{if(r+3>=n)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63}t[r++]=128|o>>6&63}t[r++]=128|63&o}}return t[r]=0,r-a},ea=(e,t)=>{var r=Array(er(e)+1);return e=en(e,r,0,r.length),t&&(r.length=e),r},ei=[];function eo(e,t){ei[e]={input:[],output:[],cb:t},eU(e,es)}var es={open(e){var t=ei[e.node.rdev];if(!t)throw new eE(43);e.tty=t,e.seekable=!1},close(e){e.tty.cb.fsync(e.tty)},fsync(e){e.tty.cb.fsync(e.tty)},read(e,t,r,n){if(!e.tty||!e.tty.cb.xb)throw new eE(60);for(var a=0,i=0;i<n;i++){try{var o=e.tty.cb.xb(e.tty)}catch(e){throw new eE(29)}if(void 0===o&&0===a)throw new eE(6);if(null==o)break;a++,t[r+i]=o}return a&&(e.node.atime=Date.now()),a},write(e,t,r,n){if(!e.tty||!e.tty.cb.qb)throw new eE(60);try{for(var a=0;a<n;a++)e.tty.cb.qb(e.tty,t[r+a])}catch(e){throw new eE(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),a}},eu={Wa:null,Xa:()=>eu.createNode(null,"/",16895,0),createNode(e,t,r,n){if(24576==(61440&r)||4096==(61440&r))throw new eE(63);return eu.Wa||(eu.Wa={dir:{node:{Ta:eu.La.Ta,Ua:eu.La.Ua,lookup:eu.La.lookup,hb:eu.La.hb,rename:eu.La.rename,unlink:eu.La.unlink,rmdir:eu.La.rmdir,readdir:eu.La.readdir,symlink:eu.La.symlink},stream:{Va:eu.Ma.Va}},file:{node:{Ta:eu.La.Ta,Ua:eu.La.Ua},stream:{Va:eu.Ma.Va,read:eu.Ma.read,write:eu.Ma.write,ib:eu.Ma.ib,jb:eu.Ma.jb}},link:{node:{Ta:eu.La.Ta,Ua:eu.La.Ua,readlink:eu.La.readlink},stream:{}},ub:{node:{Ta:eu.La.Ta,Ua:eu.La.Ua},stream:eF}}),eL((r=eR(e,t,r,n)).mode)?(r.La=eu.Wa.dir.node,r.Ma=eu.Wa.dir.stream,r.Na={}):32768==(61440&r.mode)?(r.La=eu.Wa.file.node,r.Ma=eu.Wa.file.stream,r.Ra=0,r.Na=null):40960==(61440&r.mode)?(r.La=eu.Wa.link.node,r.Ma=eu.Wa.link.stream):8192==(61440&r.mode)&&(r.La=eu.Wa.ub.node,r.Ma=eu.Wa.ub.stream),r.atime=r.mtime=r.ctime=Date.now(),e&&(e.Na[t]=r,e.atime=e.mtime=e.ctime=r.atime),r},Sb:e=>e.Na?e.Na.subarray?e.Na.subarray(0,e.Ra):new Uint8Array(e.Na):new Uint8Array(0),La:{Ta(e){var t={};return t.dev=8192==(61440&e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,eL(e.mode)?t.size=4096:32768==(61440&e.mode)?t.size=e.Ra:40960==(61440&e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},Ua(e,t){for(var r of["mode","atime","mtime","ctime"])null!=t[r]&&(e[r]=t[r]);void 0!==t.size&&(t=t.size,e.Ra!=t&&(0==t?(e.Na=null,e.Ra=0):(r=e.Na,e.Na=new Uint8Array(t),r&&e.Na.set(r.subarray(0,Math.min(t,e.Ra))),e.Ra=t)))},lookup(){throw eu.vb},hb:(e,t,r,n)=>eu.createNode(e,t,r,n),rename(e,t,r){try{var n=eN(t,r)}catch(e){}if(n){if(eL(e.mode))for(var a in n.Na)throw new eE(55);eq(n)}delete e.parent.Na[e.name],t.Na[r]=e,e.name=r,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.Na[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){var r,n=eN(e,t);for(r in n.Na)throw new eE(55);delete e.Na[t],e.ctime=e.mtime=Date.now()},readdir:e=>[".","..",...Object.keys(e.Na)],symlink:(e,t,r)=>((e=eu.createNode(e,t,41471,0)).link=r,e),readlink(e){if(40960!=(61440&e.mode))throw new eE(28);return e.link}},Ma:{read(e,t,r,n,a){var i=e.node.Na;if(a>=e.node.Ra)return 0;if(8<(e=Math.min(e.node.Ra-a,n))&&i.subarray)t.set(i.subarray(a,a+e),r);else for(n=0;n<e;n++)t[r+n]=i[a+n];return e},write(e,t,r,n,a,i){if(t.buffer===y.buffer&&(i=!1),!n)return 0;if((e=e.node).mtime=e.ctime=Date.now(),t.subarray&&(!e.Na||e.Na.subarray)){if(i)return e.Na=t.subarray(r,r+n),e.Ra=n;if(0===e.Ra&&0===a)return e.Na=t.slice(r,r+n),e.Ra=n;if(a+n<=e.Ra)return e.Na.set(t.subarray(r,r+n),a),n}i=a+n;var o=e.Na?e.Na.length:0;if(o>=i||(i=Math.max(i,o*(1048576>o?2:1.125)>>>0),0!=o&&(i=Math.max(i,256)),o=e.Na,e.Na=new Uint8Array(i),0<e.Ra&&e.Na.set(o.subarray(0,e.Ra),0)),e.Na.subarray&&t.subarray)e.Na.set(t.subarray(r,r+n),a);else for(i=0;i<n;i++)e.Na[a+i]=t[r+i];return e.Ra=Math.max(e.Ra,a+n),n},Va(e,t,r){if(1===r?t+=e.position:2===r&&32768==(61440&e.node.mode)&&(t+=e.node.Ra),0>t)throw new eE(28);return t},ib(e,t,r,n,a){if(32768!=(61440&e.node.mode))throw new eE(43);if(e=e.node.Na,2&a||!e||e.buffer!==y.buffer){a=!0;var i=ty(65536,n=65536*Math.ceil(t/65536));if(i&&g.fill(0,i,i+n),!(n=i))throw new eE(48);e&&((0<r||r+t<e.length)&&(e=e.subarray?e.subarray(r,r+t):Array.prototype.slice.call(e,r,r+t)),y.set(e,n))}else a=!1,n=e.byteOffset;return{Kb:n,Ab:a}},jb:(e,t,r,n)=>(eu.Ma.write(e,t,0,n,r,!1),0)}},el=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},ed=null,ef={},ec=[],eh=1,em=null,eb=!1,ep=!0,e_={},eE=class{name="ErrnoError";constructor(e){this.Pa=e}},ew=class{gb={};node=null;get flags(){return this.gb.flags}set flags(e){this.gb.flags=e}get position(){return this.gb.position}set position(e){this.gb.position=e}},ev=class{La={};Ma={};ab=null;constructor(e,t,r,n){e||=this,this.parent=e,this.Xa=e.Xa,this.id=eh++,this.name=t,this.mode=r,this.rdev=n,this.atime=this.mtime=this.ctime=Date.now()}get read(){return 365==(365&this.mode)}set read(e){e?this.mode|=365:this.mode&=-366}get write(){return 146==(146&this.mode)}set write(e){e?this.mode|=146:this.mode&=-147}};function ey(e,t={}){if(!e)throw new eE(44);t.nb??(t.nb=!0),"/"===e.charAt(0)||(e="//"+e);var r=0;e:for(;40>r;r++){e=e.split("/").filter(e=>!!e);for(var n=ed,a="/",i=0;i<e.length;i++){var o=i===e.length-1;if(o&&t.parent)break;if("."!==e[i])if(".."===e[i])a=J(a),n=n.parent;else{a=V(a+"/"+e[i]);try{n=eN(n,e[i])}catch(e){if(44===e?.Pa&&o&&t.Jb)return{path:a};throw e}if(n.ab&&(!o||t.nb)&&(n=n.ab.root),40960==(61440&n.mode)&&(!o||t.$a)){if(!n.La.readlink)throw new eE(52);"/"===(n=n.La.readlink(n)).charAt(0)||(n=J(a)+"/"+n),e=n+"/"+e.slice(i+1).join("/");continue e}}}return{path:a,node:n}}throw new eE(32)}function eg(e){for(var t;;){if(e===e.parent)return e=e.Xa.zb,t?"/"!==e[e.length-1]?`${e}/${t}`:e+t:e;t=t?`${e.name}/${t}`:e.name,e=e.parent}}function eT(e,t){for(var r=0,n=0;n<t.length;n++)r=(r<<5)-r+t.charCodeAt(n)|0;return(e+r>>>0)%em.length}function eq(e){var t=eT(e.parent.id,e.name);if(em[t]===e)em[t]=e.bb;else for(t=em[t];t;){if(t.bb===e){t.bb=e.bb;break}t=t.bb}}function eN(e,t){var r=eL(e.mode)?(r=eA(e,"x"))?r:2*!e.La.lookup:54;if(r)throw new eE(r);for(r=em[eT(e.id,t)];r;r=r.bb){var n=r.name;if(r.parent.id===e.id&&n===t)return r}return e.La.lookup(e,t)}function eR(e,t,r,n){return t=eT((e=new ev(e,t,r,n)).parent.id,e.name),e.bb=em[t],em[t]=e}function eL(e){return 16384==(61440&e)}function eO(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t}function eA(e,t){return ep?0:t.includes("r")&&!(292&e.mode)||t.includes("w")&&!(146&e.mode)||t.includes("x")&&!(73&e.mode)?2:0}function eI(e,t){if(!eL(e.mode))return 54;try{return eN(e,t),20}catch(e){}return eA(e,"wx")}function eS(e,t,r){try{var n=eN(e,t)}catch(e){return e.Pa}if(e=eA(e,"wx"))return e;if(r){if(!eL(n.mode))return 54;if(n===n.parent||"/"===eg(n))return 10}else if(eL(n.mode))return 31;return 0}function eM(e){if(!e)throw new eE(63);return e}function ek(e){if(!(e=ec[e]))throw new eE(8);return e}function ex(e,t=-1){if(e=Object.assign(new ew,e),-1==t)e:{for(t=0;4096>=t;t++)if(!ec[t])break e;throw new eE(33)}return e.fd=t,ec[t]=e}function eD(e,t,r){var n=e?.Ma.Ua;e=n?e:t,eM(n??=t.La.Ua),n(e,r)}var eF={open(e){e.Ma=ef[e.node.rdev].Ma,e.Ma.open?.(e)},Va(){throw new eE(70)}};function eU(e,t){ef[e]={Ma:t}}function eC(e,t){var r="/"===t;if(r&&ed)throw new eE(10);if(!r&&t){var n=ey(t,{nb:!1});if(t=n.path,(n=n.node).ab)throw new eE(10);if(!eL(n.mode))throw new eE(54)}t={type:e,Wb:{},zb:t,Ib:[]},(e=e.Xa(t)).Xa=t,t.root=e,r?ed=e:n&&(n.ab=t,n.Xa&&n.Xa.Ib.push(t))}function eP(e,t,r){var n=ey(e,{parent:!0}).node;if(!(e=Z(e)))throw new eE(28);if("."===e||".."===e)throw new eE(20);var a=eI(n,e);if(a)throw new eE(a);if(!n.La.hb)throw new eE(63);return n.La.hb(n,e,t,r)}function eW(e,t=511){return eP(e,1023&t|16384,0)}function eX(e,t,r){void 0===r&&(r=t,t=438),eP(e,8192|t,r)}function eB(e,t){if(!((...e)=>{for(var t="",r=!1,n=e.length-1;-1<=n&&!r;n--){if("string"!=typeof(r=0<=n?e[n]:"/"))throw TypeError("Arguments to path.resolve must be strings");if(!r)return"";t=r+"/"+t,r="/"===r.charAt(0)}return t=K(t.split("/").filter(e=>!!e),!r).join("/"),(r?"/":"")+t||"."})(e))throw new eE(44);var r=ey(t,{parent:!0}).node;if(!r)throw new eE(44);var n=eI(r,t=Z(t));if(n)throw new eE(n);if(!r.La.symlink)throw new eE(63);r.La.symlink(r,t,e)}function ej(e){var t=ey(e,{parent:!0}).node,r=eN(t,e=Z(e)),n=eS(t,e,!0);if(n)throw new eE(n);if(!t.La.rmdir)throw new eE(63);if(r.ab)throw new eE(10);t.La.rmdir(t,e),eq(r)}function eH(e){var t=ey(e,{parent:!0}).node;if(!t)throw new eE(44);var r=eN(t,e=Z(e)),n=eS(t,e,!1);if(n)throw new eE(n);if(!t.La.unlink)throw new eE(63);if(r.ab)throw new eE(10);t.La.unlink(t,e),eq(r)}function e$(e,t){return eM((e=ey(e,{$a:!t}).node).La.Ta)(e)}function eY(e,t,r,n){eD(e,t,{mode:4095&r|-4096&t.mode,ctime:Date.now(),Fb:n})}function ez(e,t){eY(null,e="string"==typeof e?ey(e,{$a:!0}).node:e,t)}function eG(e,t,r){if(eL(t.mode))throw new eE(31);if(32768!=(61440&t.mode))throw new eE(28);var n=eA(t,"w");if(n)throw new eE(n);eD(e,t,{size:r,timestamp:Date.now()})}function eQ(e,t,r=438){if(""===e)throw new eE(44);if("string"==typeof t){var n={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[t];if(void 0===n)throw Error(`Unknown file open mode: ${t}`);t=n}if(r=64&t?4095&r|32768:0,"object"==typeof e)n=e;else{var a=e.endsWith("/");n=(e=ey(e,{$a:!(131072&t),Jb:!0})).node,e=e.path}var i=!1;if(64&t)if(n){if(128&t)throw new eE(20)}else{if(a)throw new eE(31);n=eP(e,511|r,0),i=!0}if(!n)throw new eE(44);if(8192==(61440&n.mode)&&(t&=-513),65536&t&&!eL(n.mode))throw new eE(54);if(!i&&(a=n?40960==(61440&n.mode)?32:eL(n.mode)&&("r"!==eO(t)||576&t)?31:eA(n,eO(t)):44))throw new eE(a);return 512&t&&!i&&eG(null,a="string"==typeof(a=n)?ey(a,{$a:!0}).node:a,0),t&=-131713,(a=ex({node:n,path:eg(n),flags:t,seekable:!0,position:0,Ma:n.Ma,Lb:[],error:!1})).Ma.open&&a.Ma.open(a),i&&ez(n,511&r),!l.logReadFiles||1&t||e in e_||(e_[e]=1),a}function eK(e){if(null===e.fd)throw new eE(8);e.ob&&(e.ob=null);try{e.Ma.close&&e.Ma.close(e)}catch(e){throw e}finally{ec[e.fd]=null}e.fd=null}function eV(e,t,r){if(null===e.fd)throw new eE(8);if(!e.seekable||!e.Ma.Va)throw new eE(70);if(0!=r&&1!=r&&2!=r)throw new eE(28);e.position=e.Ma.Va(e,t,r),e.Lb=[]}function eJ(e,t,r,n,a){if(0>n||0>a)throw new eE(28);if(null===e.fd||1==(2097155&e.flags))throw new eE(8);if(eL(e.node.mode))throw new eE(31);if(!e.Ma.read)throw new eE(28);var i=void 0!==a;if(i){if(!e.seekable)throw new eE(70)}else a=e.position;return t=e.Ma.read(e,t,r,n,a),i||(e.position+=t),t}function eZ(e,t,r,n,a){if(0>n||0>a)throw new eE(28);if(null===e.fd||0==(2097155&e.flags))throw new eE(8);if(eL(e.node.mode))throw new eE(31);if(!e.Ma.write)throw new eE(28);e.seekable&&1024&e.flags&&eV(e,0,2);var i=void 0!==a;if(i){if(!e.seekable)throw new eE(70)}else a=e.position;return t=e.Ma.write(e,t,r,n,a,void 0),i||(e.position+=t),t}function e0(e,t,r){e=V("/dev/"+e);var n=el(!!t,!!r);e0.yb??(e0.yb=64);var a=e0.yb++<<8;eU(a,{open(e){e.seekable=!1},close(){r?.buffer?.length&&r(10)},read(e,r,n,a){for(var i=0,o=0;o<a;o++){try{var s=t()}catch(e){throw new eE(29)}if(void 0===s&&0===i)throw new eE(6);if(null==s)break;i++,r[n+o]=s}return i&&(e.node.atime=Date.now()),i},write(e,t,n,a){for(var i=0;i<a;i++)try{r(t[n+i])}catch(e){throw new eE(29)}return a&&(e.node.mtime=e.node.ctime=Date.now()),i}}),eX(e,n,a)}var e1={};function e3(e,t,r){if("/"===t.charAt(0))return t;if(e=-100===e?"/":ek(e).path,0==t.length){if(!r)throw new eE(44);return e}return e+"/"+t}function e2(e,t){q[e>>2]=t.dev,q[e+4>>2]=t.mode,N[e+8>>2]=t.nlink,q[e+12>>2]=t.uid,q[e+16>>2]=t.gid,q[e+20>>2]=t.rdev,L[e+24>>3]=BigInt(t.size),q[e+32>>2]=4096,q[e+36>>2]=t.blocks;var r=t.atime.getTime(),n=t.mtime.getTime(),a=t.ctime.getTime();return L[e+40>>3]=BigInt(Math.floor(r/1e3)),N[e+48>>2]=r%1e3*1e6,L[e+56>>3]=BigInt(Math.floor(n/1e3)),N[e+64>>2]=n%1e3*1e6,L[e+72>>3]=BigInt(Math.floor(a/1e3)),N[e+80>>2]=a%1e3*1e6,L[e+88>>3]=BigInt(t.ino),0}var e4,e6,e8,e5,e7=void 0,e9=()=>{var e=q[e7>>2];return e7+=4,e},te=0,tt=[0,31,60,91,121,152,182,213,244,274,305,335],tr=[0,31,59,90,120,151,181,212,243,273,304,334],tn={},ta=e=>{v=e,$||0<te||(l.onExit?.(e),I=!0),m(e,new P(e))},ti={},to=()=>{if(!e6){var e,t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:h||"./this.program"};for(e in ti)void 0===ti[e]?delete t[e]:t[e]=ti[e];var r=[];for(e in t)r.push(`${e}=${t[e]}`);e6=r}return e6},ts=e=>{var t=er(e)+1,r=tq(t);return en(e,g,r,t),r},tu=0,tl=(e,t)=>(t=1==t?tq(e.length):tw(e.length),e.subarray||e.slice||(e=new Uint8Array(e)),g.set(e,t),t),td=[],tf=e=>{e8.delete(e5.get(e)),e5.set(e,null),td.push(e)},tc=(e,t)=>{if(!e8){e8=new WeakMap;var r=e5.length;if(e8)for(var n=0;n<0+r;n++){var a=e5.get(n);a&&e8.set(a,n)}}if(r=e8.get(e)||0)return r;if(td.length)r=td.pop();else{try{e5.grow(1)}catch(e){if(!(e instanceof RangeError))throw e;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}r=e5.length-1}try{e5.set(r,e)}catch(u){if(!(u instanceof TypeError))throw u;if("function"==typeof WebAssembly.Function){var i=WebAssembly.Function;n={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},a={parameters:[],results:"v"==t[0]?[]:[n[t[0]]]};for(var o=1;o<t.length;++o)a.parameters.push(n[t[o]]);t=new i(a,e)}else{n=[1],a=t.slice(0,1),t=t.slice(1),o={i:127,p:127,j:126,f:125,d:124,e:111},n.push(96);var s=t.length;for(i of(128>s?n.push(s):n.push(s%128|128,s>>7),t))n.push(o[i]);"v"==a?n.push(0):n.push(1,o[a]),t=[0,97,115,109,1,0,0,0,1],128>(i=n.length)?t.push(i):t.push(i%128|128,i>>7),t.push(...n),t.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),t=new WebAssembly.Module(new Uint8Array(t)),t=new WebAssembly.Instance(t,{e:{f:e}}).exports.f}e5.set(r,t)}return e8.set(e,r),r};em=Array(4096),eC(eu,"/"),eW("/tmp"),eW("/home"),eW("/home/web_user"),eW("/dev"),eU(259,{read:()=>0,write:(e,t,r,n)=>n,Va:()=>0}),eX("/dev/null",259),eo(1280,{xb(){e:{if(!et.length){var e=null;if(u){var t=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=p.readSync(n,t,0,256)}catch(e){if(e.toString().includes("EOF"))r=0;else throw e}0<r&&(e=t.slice(0,r).toString("utf-8"))}if(!e){e=null;break e}et=ea(e,!0)}e=et.shift()}return e},qb(e,t){null===t||10===t?(_(G(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){0<e.output?.length&&(_(G(e.output)),e.output=[])},Tb:()=>({Ob:25856,Qb:5,Nb:191,Pb:35387,Mb:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),Ub:()=>0,Vb:()=>[24,80]}),eo(1536,{qb(e,t){null===t||10===t?(E(G(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){0<e.output?.length&&(E(G(e.output)),e.output=[])}}),eX("/dev/tty",1280),eX("/dev/tty1",1536),th=new Uint8Array(1024),tm=0,e0("random",tb=()=>(0===tm&&(ee(th),tm=th.byteLength),th[--tm])),e0("urandom",tb),eW("/dev/shm"),eW("/dev/shm/tmp"),eW("/proc"),tp=eW("/proc/self"),eW("/proc/self/fd"),eC({Xa(){var e=eR(tp,"fd",16895,73);return e.Ma={Va:eu.Ma.Va},e.La={lookup(e,t){var r=ek(e=+t);return(e={parent:null,Xa:{zb:"fake"},La:{readlink:()=>r.path},id:e+1}).parent=e},readdir:()=>Array.from(ec.entries()).filter(([,e])=>e).map(([e])=>e.toString())},e}},"/proc/self/fd"),eu.vb=new eE(44),eu.vb.stack="<generic error, no stack>";var th,tm,tb,tp,t_,tE={a:(e,t,r,n)=>D(`Assertion failed: ${e?G(g,e):""}, at: `+[t?t?G(g,t):"":"unknown filename",r,n?n?G(g,n):"":"unknown function"]),i:function(e,t){try{return e=e?G(g,e):"",ez(e,t),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},L:function(e,t,r){try{if(t=t?G(g,t):"",t=e3(e,t),-8&r)return -28;var n=ey(t,{$a:!0}).node;if(!n)return -44;return e="",4&r&&(e+="r"),2&r&&(e+="w"),1&r&&(e+="x"),e&&eA(n,e)?-2:0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},j:function(e,t){try{var r=ek(e);return eY(r,r.node,t,!1),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},h:function(e){try{var t=ek(e);return eD(t,t.node,{timestamp:Date.now(),Fb:!1}),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},b:function(e,t,r){e7=r;try{var n=ek(e);switch(t){case 0:var a=e9();if(0>a)break;for(;ec[a];)a++;return function(e,t=-1){return e=ex(e,t),e.Ma?.Rb?.(e),e}(n,a).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:return a=e9(),n.flags|=a,0;case 12:return T[(a=e9())+0>>1]=2,0}return -28}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},g:function(e,t){try{var r=ek(e),n=r.node,a=r.Ma.Ta;e=a?r:n,a??=n.La.Ta,eM(a);var i=a(e);return e2(t,i)}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},H:function(e,t){t=-0x20000000000000>t||0x20000000000000<t?NaN:Number(t);try{if(isNaN(t))return 61;var r=ek(e);if(0>t||0==(2097155&r.flags))throw new eE(28);return eG(r,r.node,t),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},G:function(e,t){try{if(0===t)return -28;var r=er("/")+1;if(t<r)return -68;return en("/",g,e,t),r}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},K:function(e,t){try{return e=e?G(g,e):"",e2(t,e$(e,!0))}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},C:function(e,t,r){try{return t=t?G(g,t):"",t=e3(e,t),eW(t,r),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},J:function(e,t,r,n){try{return t=t?G(g,t):"",t=e3(e,t,4096&n),e2(r,256&n?e$(t,!0):e$(t))}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},x:function(e,t,r,n){e7=n;try{t=t?G(g,t):"",t=e3(e,t);var a=n?e9():0;return eQ(t,r,a).fd}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},v:function(e,t,r,n){try{if(t=t?G(g,t):"",t=e3(e,t),0>=n)return -28;var a=ey(t).node;if(!a)throw new eE(44);if(!a.La.readlink)throw new eE(28);var i=a.La.readlink(a),o=Math.min(n,er(i)),s=y[r+o];return en(i,g,r,n+1),y[r+o]=s,o}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},u:function(e){try{return e=e?G(g,e):"",ej(e),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},f:function(e,t){try{return e=e?G(g,e):"",e2(t,e$(e))}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},r:function(e,t,r){try{return t=t?G(g,t):"",t=e3(e,t),0===r?eH(t):512===r?ej(t):D("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},q:function(e,t,r){try{t=t?G(g,t):"",t=e3(e,t,!0);var n,a,i=Date.now();if(r){var o=N[r>>2]+0x100000000*q[r+4>>2],s=q[r+8>>2];n=0x3fffffff==s?i:0x3ffffffe==s?null:1e3*o+s/1e6,r+=16,o=N[r>>2]+0x100000000*q[r+4>>2],s=q[r+8>>2],a=0x3fffffff==s?i:0x3ffffffe==s?null:1e3*o+s/1e6}else a=n=i;if(null!==(a??n)){e=n;var u=ey(t,{$a:!0}).node;eM(u.La.Ua)(u,{atime:e,mtime:a})}return 0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},m:()=>D(""),l:()=>{$=!1,te=0},A:function(e,t){e=new Date(1e3*(e=-0x20000000000000>e||0x20000000000000<e?NaN:Number(e))),q[t>>2]=e.getSeconds(),q[t+4>>2]=e.getMinutes(),q[t+8>>2]=e.getHours(),q[t+12>>2]=e.getDate(),q[t+16>>2]=e.getMonth(),q[t+20>>2]=e.getFullYear()-1900,q[t+24>>2]=e.getDay();var r=e.getFullYear();q[t+28>>2]=(0!=r%4||0==r%100&&0!=r%400?tr:tt)[e.getMonth()]+e.getDate()-1|0,q[t+36>>2]=-(60*e.getTimezoneOffset()),r=new Date(e.getFullYear(),6,1).getTimezoneOffset();var n=new Date(e.getFullYear(),0,1).getTimezoneOffset();q[t+32>>2]=0|(r!=n&&e.getTimezoneOffset()==Math.min(n,r))},y:function(e,t,r,n,a,i,o){a=-0x20000000000000>a||0x20000000000000<a?NaN:Number(a);try{if(isNaN(a))return 61;var s=ek(n);if(0!=(2&t)&&0==(2&r)&&2!=(2097155&s.flags)||1==(2097155&s.flags))throw new eE(2);if(!s.Ma.ib)throw new eE(43);if(!e)throw new eE(28);var u=s.Ma.ib(s,e,a,t,r),l=u.Kb;return q[i>>2]=u.Ab,N[o>>2]=l,0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},z:function(e,t,r,n,a,i){i=-0x20000000000000>i||0x20000000000000<i?NaN:Number(i);try{var o=ek(a);if(2&r){if(r=i,32768!=(61440&o.node.mode))throw new eE(43);if(!(2&n)){var s=g.slice(e,e+t);o.Ma.jb&&o.Ma.jb(o,s,r,t,n)}}}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return-e.Pa}},n:(e,t)=>{if(tn[e]&&(clearTimeout(tn[e].id),delete tn[e]),!t)return 0;var r=setTimeout(()=>{delete tn[e];var t=()=>tg(e,performance.now());if(!I)try{if(t(),!($||0<te))try{v=t=v,ta(t)}catch(e){e instanceof P||"unwind"==e||m(1,e)}}catch(e){e instanceof P||"unwind"==e||m(1,e)}},t);return tn[e]={id:r,Xb:t},0},B:(e,t,r,n)=>{var a=(new Date).getFullYear(),i=new Date(a,0,1).getTimezoneOffset();a=new Date(a,6,1).getTimezoneOffset(),N[e>>2]=60*Math.max(i,a),q[t>>2]=Number(i!=a),e=(t=e=>{var t=Math.abs(e);return`UTC${0<=e?"-":"+"}${String(Math.floor(t/60)).padStart(2,"0")}${String(t%60).padStart(2,"0")}`})(i),t=t(a),a<i?(en(e,g,r,17),en(t,g,n,17)):(en(e,g,n,17),en(t,g,r,17))},d:()=>Date.now(),s:()=>0x80000000,c:()=>performance.now(),o:e=>{var t=g.length;if(0x80000000<(e>>>=0))return!1;for(var r=1;4>=r;r*=2){var n=t*(1+.2/r);n=Math.min(n,e+0x6000000);e:{n=(Math.min(0x80000000,65536*Math.ceil(Math.max(e,n)/65536))-w.buffer.byteLength+65535)/65536|0;try{w.grow(n),M();var a=1;break e}catch(e){}a=void 0}if(a)return!0}return!1},E:(e,t)=>{var r=0;return to().forEach((n,a)=>{var i=t+r;for(a=N[e+4*a>>2]=i,i=0;i<n.length;++i)y[a++]=n.charCodeAt(i);y[a]=0,r+=n.length+1}),0},F:(e,t)=>{var r=to();N[e>>2]=r.length;var n=0;return r.forEach(e=>n+=e.length+1),N[t>>2]=n,0},e:function(e){try{var t=ek(e);return eK(t),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},p:function(e,t){try{var r=ek(e);return y[t]=r.tty?2:eL(r.mode)?3:40960==(61440&r.mode)?7:4,T[t+2>>1]=0,L[t+8>>3]=BigInt(0),L[t+16>>3]=BigInt(0),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},w:function(e,t,r,n){try{e:{var a=ek(e);e=t;for(var i,o=t=0;o<r;o++){var s=N[e>>2],u=N[e+4>>2];e+=8;var l=eJ(a,y,s,u,i);if(0>l){var d=-1;break e}if(t+=l,l<u)break;void 0!==i&&(i+=l)}d=t}return N[n>>2]=d,0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},D:function(e,t,r,n){t=-0x20000000000000>t||0x20000000000000<t?NaN:Number(t);try{if(isNaN(t))return 61;var a=ek(e);return eV(a,t,r),L[n>>3]=BigInt(a.position),a.ob&&0===t&&0===r&&(a.ob=null),0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},I:function(e){try{var t=ek(e);return t.Ma?.fsync?t.Ma.fsync(t):0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},t:function(e,t,r,n){try{e:{var a=ek(e);e=t;for(var i,o=t=0;o<r;o++){var s=N[e>>2],u=N[e+4>>2];e+=8;var l=eZ(a,y,s,u,i);if(0>l){var d=-1;break e}if(t+=l,l<u)break;void 0!==i&&(i+=l)}d=t}return N[n>>2]=d,0}catch(e){if(void 0===e1||"ErrnoError"!==e.name)throw e;return e.Pa}},k:ta};!async function(){function e(e){return w=(t_=e.exports).M,M(),e5=t_.O,k--,l.monitorRunDependencies?.(k),0==k&&x&&(e=x,x=null,e()),t_}k++,l.monitorRunDependencies?.(k);var t={a:tE};if(l.instantiateWasm)return new Promise(r=>{l.instantiateWasm(t,(t,n)=>{e(t,n),r(t.exports)})});e4??=l.locateFile?l.locateFile("sql-wasm.wasm",b):b+"sql-wasm.wasm",e((await C(t)).instance)}(),l._sqlite3_free=e=>(l._sqlite3_free=t_.P)(e),l._sqlite3_value_text=e=>(l._sqlite3_value_text=t_.Q)(e),l._sqlite3_prepare_v2=(e,t,r,n,a)=>(l._sqlite3_prepare_v2=t_.R)(e,t,r,n,a),l._sqlite3_step=e=>(l._sqlite3_step=t_.S)(e),l._sqlite3_reset=e=>(l._sqlite3_reset=t_.T)(e),l._sqlite3_exec=(e,t,r,n,a)=>(l._sqlite3_exec=t_.U)(e,t,r,n,a),l._sqlite3_finalize=e=>(l._sqlite3_finalize=t_.V)(e),l._sqlite3_column_name=(e,t)=>(l._sqlite3_column_name=t_.W)(e,t),l._sqlite3_column_text=(e,t)=>(l._sqlite3_column_text=t_.X)(e,t),l._sqlite3_column_type=(e,t)=>(l._sqlite3_column_type=t_.Y)(e,t),l._sqlite3_errmsg=e=>(l._sqlite3_errmsg=t_.Z)(e),l._sqlite3_clear_bindings=e=>(l._sqlite3_clear_bindings=t_._)(e),l._sqlite3_value_blob=e=>(l._sqlite3_value_blob=t_.$)(e),l._sqlite3_value_bytes=e=>(l._sqlite3_value_bytes=t_.aa)(e),l._sqlite3_value_double=e=>(l._sqlite3_value_double=t_.ba)(e),l._sqlite3_value_int=e=>(l._sqlite3_value_int=t_.ca)(e),l._sqlite3_value_type=e=>(l._sqlite3_value_type=t_.da)(e),l._sqlite3_result_blob=(e,t,r,n)=>(l._sqlite3_result_blob=t_.ea)(e,t,r,n),l._sqlite3_result_double=(e,t)=>(l._sqlite3_result_double=t_.fa)(e,t),l._sqlite3_result_error=(e,t,r)=>(l._sqlite3_result_error=t_.ga)(e,t,r),l._sqlite3_result_int=(e,t)=>(l._sqlite3_result_int=t_.ha)(e,t),l._sqlite3_result_int64=(e,t)=>(l._sqlite3_result_int64=t_.ia)(e,t),l._sqlite3_result_null=e=>(l._sqlite3_result_null=t_.ja)(e),l._sqlite3_result_text=(e,t,r,n)=>(l._sqlite3_result_text=t_.ka)(e,t,r,n),l._sqlite3_aggregate_context=(e,t)=>(l._sqlite3_aggregate_context=t_.la)(e,t),l._sqlite3_column_count=e=>(l._sqlite3_column_count=t_.ma)(e),l._sqlite3_data_count=e=>(l._sqlite3_data_count=t_.na)(e),l._sqlite3_column_blob=(e,t)=>(l._sqlite3_column_blob=t_.oa)(e,t),l._sqlite3_column_bytes=(e,t)=>(l._sqlite3_column_bytes=t_.pa)(e,t),l._sqlite3_column_double=(e,t)=>(l._sqlite3_column_double=t_.qa)(e,t),l._sqlite3_bind_blob=(e,t,r,n,a)=>(l._sqlite3_bind_blob=t_.ra)(e,t,r,n,a),l._sqlite3_bind_double=(e,t,r)=>(l._sqlite3_bind_double=t_.sa)(e,t,r),l._sqlite3_bind_int=(e,t,r)=>(l._sqlite3_bind_int=t_.ta)(e,t,r),l._sqlite3_bind_text=(e,t,r,n,a)=>(l._sqlite3_bind_text=t_.ua)(e,t,r,n,a),l._sqlite3_bind_parameter_index=(e,t)=>(l._sqlite3_bind_parameter_index=t_.va)(e,t),l._sqlite3_sql=e=>(l._sqlite3_sql=t_.wa)(e),l._sqlite3_normalized_sql=e=>(l._sqlite3_normalized_sql=t_.xa)(e),l._sqlite3_changes=e=>(l._sqlite3_changes=t_.ya)(e),l._sqlite3_close_v2=e=>(l._sqlite3_close_v2=t_.za)(e),l._sqlite3_create_function_v2=(e,t,r,n,a,i,o,s,u)=>(l._sqlite3_create_function_v2=t_.Aa)(e,t,r,n,a,i,o,s,u),l._sqlite3_update_hook=(e,t,r)=>(l._sqlite3_update_hook=t_.Ba)(e,t,r),l._sqlite3_open=(e,t)=>(l._sqlite3_open=t_.Ca)(e,t);var tw=l._malloc=e=>(tw=l._malloc=t_.Da)(e),tv=l._free=e=>(tv=l._free=t_.Ea)(e);l._RegisterExtensionFunctions=e=>(l._RegisterExtensionFunctions=t_.Fa)(e);var ty=(e,t)=>(ty=t_.Ga)(e,t),tg=(e,t)=>(tg=t_.Ha)(e,t),tT=e=>(tT=t_.Ia)(e),tq=e=>(tq=t_.Ja)(e),tN=()=>(tN=t_.Ka)();if(l.stackSave=()=>tN(),l.stackRestore=e=>tT(e),l.stackAlloc=e=>tq(e),l.cwrap=(e,t,r,n)=>{var a=!r||r.every(e=>"number"===e||"boolean"===e);return"string"!==t&&a&&!n?l["_"+e]:(...n)=>((e,t,r,n)=>{var a,i={string:e=>{var t=0;return null!=e&&0!==e&&(t=ts(e)),t},array:e=>{var t=tq(e.length);return y.set(e,t),t}};e=l["_"+e];var o=[],s=0;if(n)for(var u=0;u<n.length;u++){var d=i[r[u]];d?(0===s&&(s=tN()),o[u]=d(n[u])):o[u]=n[u]}return a=r=e(...o),0!==s&&tT(s),r="string"===t?a?G(g,a):"":"boolean"===t?!!a:a})(e,t,r,n)},l.addFunction=tc,l.removeFunction=tf,l.UTF8ToString=Q,l.ALLOC_NORMAL=tu,l.allocate=tl,l.allocateUTF8OnStack=ts,l.preInit)for("function"==typeof l.preInit&&(l.preInit=[l.preInit]);0<l.preInit.length;)l.preInit.pop()();return!function e(){function t(){if(l.calledRun=!0,!I){if(!l.noFSInit&&!eb){var e,t;eb=!0,r??=l.stdin,e??=l.stdout,t??=l.stderr,r?e0("stdin",r):eB("/dev/tty","/dev/stdin"),e?e0("stdout",null,e):eB("/dev/tty","/dev/stdout"),t?e0("stderr",null,t):eB("/dev/tty1","/dev/stderr"),eQ("/dev/stdin",0),eQ("/dev/stdout",1),eQ("/dev/stderr",1)}if(t_.N(),ep=!1,l.onRuntimeInitialized?.(),l.postRun)for("function"==typeof l.postRun&&(l.postRun=[l.postRun]);l.postRun.length;){var r=l.postRun.shift();X.unshift(r)}W(X)}}if(0<k)x=e;else{if(l.preRun)for("function"==typeof l.preRun&&(l.preRun=[l.preRun]);l.preRun.length;)j();W(B),0<k?x=e:l.setStatus?(l.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>l.setStatus(""),1),t()},1)):t()}}(),i}))};if("object"==typeof t)t.exports=a,t.exports.default=a;else if("function"==typeof define&&define.amd)void 0!==a&&e.v(a);else r.Module=a},97731,71560,e=>{"use strict";var t=e.i(74738);let r=`
|
|
2
2
|
-- Providers table
|
|
3
3
|
CREATE TABLE IF NOT EXISTS providers (
|
|
4
4
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
@@ -61,7 +61,7 @@ CREATE INDEX IF NOT EXISTS idx_models_provider_id ON models(provider_id);
|
|
|
61
61
|
CREATE INDEX IF NOT EXISTS idx_models_enabled ON models(enabled);
|
|
62
62
|
CREATE INDEX IF NOT EXISTS idx_request_logs_model_id ON request_logs(model_id);
|
|
63
63
|
CREATE INDEX IF NOT EXISTS idx_request_logs_created_at ON request_logs(created_at);
|
|
64
|
-
`;var n=e.i(14747),a=e.i(22734),i=e.i(46786);let
|
|
64
|
+
`;var n=e.i(14747),a=e.i(22734),i=e.i(46786),o=e.i(54799);let s=process.env.DB_PATH||n.default.join(i.default.homedir(),".aar","gateway.db"),u=function(){let e=n.default.join(process.cwd(),".next","dev","server","chunks","sql-wasm.wasm");if(a.default.existsSync(e))return e;let t=n.default.join(process.cwd(),".next","server","chunks","sql-wasm.wasm");if(a.default.existsSync(t))return t;let r=n.default.join(process.cwd(),"node_modules","sql.js","dist","sql-wasm.wasm");return a.default.existsSync(r),r}(),l=null,d=null,f=0;async function c(){return d||(d=await (0,t.default)({locateFile:e=>e.endsWith(".wasm")?u:`https://sql.js.org/dist/${e}`})),d}function h(e){try{let t=e.export(),r=Buffer.from(t),i=n.default.dirname(s);a.default.existsSync(i)||a.default.mkdirSync(i,{recursive:!0}),a.default.writeFileSync(s,r),a.default.existsSync(s)&&(f=a.default.statSync(s).mtimeMs)}catch(e){console.error("Failed to save database:",e)}}function m(){try{if(a.default.existsSync(s)){let e=a.default.readFileSync(s);return new d.Database(e)}}catch(e){console.error("Failed to load database:",e)}return null}async function b(){if(!l){let e=await c(),t=m(),n=!1;t?(l=t,a.default.existsSync(s)&&(f=a.default.statSync(s).mtimeMs)):(l=new e.Database,f=0,n=!0);let i=!1;try{l.run(r);try{let e=l.exec("PRAGMA table_info(request_logs)");if(e.length>0&&e[0].values.length>0){let t=e[0].values.map(e=>e[1]).indexOf("model_id");if(t>=0){let r=e[0].values[t];r&&1===r[3]&&(console.log("[Database] Migrating request_logs table to allow NULL model_id..."),l.run(`
|
|
65
65
|
CREATE TABLE IF NOT EXISTS request_logs_new (
|
|
66
66
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
67
67
|
model_id INTEGER,
|
|
@@ -76,31 +76,31 @@ CREATE INDEX IF NOT EXISTS idx_request_logs_created_at ON request_logs(created_a
|
|
|
76
76
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
77
77
|
FOREIGN KEY (model_id) REFERENCES models(id) ON DELETE SET NULL
|
|
78
78
|
);
|
|
79
|
-
`),
|
|
80
|
-
VALUES (?, ?, ?, ?, datetime('now'))`,[e.name,e.protocol,e.base_url,e.api_key]),r=await
|
|
79
|
+
`),l.run("INSERT INTO request_logs_new SELECT * FROM request_logs;"),l.run("DROP TABLE request_logs;"),l.run("ALTER TABLE request_logs_new RENAME TO request_logs;"),i=!0,console.log("[Database] Migration completed successfully"))}}}catch(e){e.message.includes("no such table")||e.message.includes("already exists")||e.message.includes("不存在")||console.warn("[Database] Migration warning (non-critical):",e.message)}if(n||i){if(n){let e=`aar-${o.default.randomBytes(16).toString("hex")}`;l.run("INSERT OR IGNORE INTO config (key, value, updated_at) VALUES ('api_key', ?, datetime('now'))",[e]),console.log("[Database] Generated default API key for new database")}h(l)}}catch(e){if(!e.message.includes("already exists")&&!e.message.includes("duplicate"))throw e}}return!function(){if(l&&a.default.existsSync(s)&&!(a.default.statSync(s).mtimeMs<=f))try{let e=m();e&&(l.close(),l=e,f=a.default.statSync(s).mtimeMs)}catch(e){console.warn("[Database] Reload from file failed:",e.message)}}(),l}async function p(e,t=[]){let r=(await b()).prepare(e);if(r.bind(t),r.step()){let e=r.getAsObject();return r.free(),e}return r.free(),null}async function _(e,t=[]){let r=await b(),n=[],a=r.prepare(e);for(a.bind(t);a.step();)n.push(a.getAsObject());return a.free(),n}async function E(e,t=[]){let r=await b();r.run(e,t);let n=r.exec("SELECT last_insert_rowid() as id, changes() as changes");return(h(r),n.length>0&&n[0].values.length>0)?{lastInsertRowid:n[0].values[0][0],changes:n[0].values[0][1]}:{lastInsertRowid:0,changes:0}}async function w(){return await _("SELECT * FROM providers ORDER BY created_at DESC")}async function v(e){return await p("SELECT * FROM providers WHERE id = ?",[e])}async function y(e){let t=await E(`INSERT INTO providers (name, protocol, base_url, api_key, updated_at)
|
|
80
|
+
VALUES (?, ?, ?, ?, datetime('now'))`,[e.name,e.protocol,e.base_url,e.api_key]),r=await v(t.lastInsertRowid);if(!r)throw Error("Failed to create provider");return r}async function g(e,t){let r=[],n=[];return void 0!==t.name&&(r.push("name = ?"),n.push(t.name)),void 0!==t.protocol&&(r.push("protocol = ?"),n.push(t.protocol)),void 0!==t.base_url&&(r.push("base_url = ?"),n.push(t.base_url)),void 0!==t.api_key&&(r.push("api_key = ?"),n.push(t.api_key)),0===r.length||(r.push("updated_at = datetime('now')"),n.push(e),await E(`UPDATE providers SET ${r.join(", ")} WHERE id = ?`,n)),await v(e)}async function T(e){return(await E("DELETE FROM providers WHERE id = ?",[e])).changes>0}async function q(){return await _(`
|
|
81
81
|
SELECT m.*, p.name as provider_name, p.protocol as provider_protocol
|
|
82
82
|
FROM models m
|
|
83
83
|
JOIN providers p ON m.provider_id = p.id
|
|
84
84
|
ORDER BY m.created_at DESC
|
|
85
|
-
`)}async function
|
|
85
|
+
`)}async function N(e){return await _("SELECT * FROM models WHERE provider_id = ? ORDER BY name",[e])}async function R(e){return await p("SELECT * FROM models WHERE id = ?",[e])}async function L(e){return await p(`
|
|
86
86
|
SELECT m.*, p.id as provider_id, p.name as provider_name, p.protocol, p.base_url, p.api_key
|
|
87
87
|
FROM models m
|
|
88
88
|
JOIN providers p ON m.provider_id = p.id
|
|
89
89
|
WHERE m.model_id = ? AND m.enabled = 1
|
|
90
|
-
`,[e])}async function
|
|
91
|
-
VALUES (?, ?, ?, ?, datetime('now'))`,[e.provider_id,e.name,e.model_id,+!!e.enabled]),r=await
|
|
90
|
+
`,[e])}async function O(e){let t=await E(`INSERT INTO models (provider_id, name, model_id, enabled, updated_at)
|
|
91
|
+
VALUES (?, ?, ?, ?, datetime('now'))`,[e.provider_id,e.name,e.model_id,+!!e.enabled]),r=await R(t.lastInsertRowid);if(!r)throw Error("Failed to create model");return r}async function A(e,t){let r=[],n=[];return void 0!==t.name&&(r.push("name = ?"),n.push(t.name)),void 0!==t.model_id&&(r.push("model_id = ?"),n.push(t.model_id)),void 0!==t.enabled&&(r.push("enabled = ?"),n.push(+!!t.enabled)),void 0!==t.provider_id&&(r.push("provider_id = ?"),n.push(t.provider_id)),0===r.length||(r.push("updated_at = datetime('now')"),n.push(e),await E(`UPDATE models SET ${r.join(", ")} WHERE id = ?`,n)),await R(e)}async function I(e){return(await E("DELETE FROM models WHERE id = ?",[e])).changes>0}async function S(){return await _(`
|
|
92
92
|
SELECT m.*, p.name as provider_name, p.protocol, p.base_url, p.api_key
|
|
93
93
|
FROM models m
|
|
94
94
|
JOIN providers p ON m.provider_id = p.id
|
|
95
95
|
WHERE m.enabled = 1
|
|
96
96
|
ORDER BY m.name
|
|
97
|
-
`)}async function
|
|
97
|
+
`)}async function M(e){try{let t=await E(`INSERT INTO request_logs (
|
|
98
98
|
model_id, request_method, request_path, request_headers,
|
|
99
99
|
request_query, request_body, response_status, response_body, response_time_ms, created_at
|
|
100
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, datetime('now', 'localtime'))`,[void 0===e.model_id?null:e.model_id,e.request_method,e.request_path,e.request_headers,e.request_query,e.request_body,e.response_status,e.response_body,e.response_time_ms]),r=await
|
|
100
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, datetime('now', 'localtime'))`,[void 0===e.model_id?null:e.model_id,e.request_method,e.request_path,e.request_headers,e.request_query,e.request_body,e.response_status,e.response_body,e.response_time_ms]),r=await x(t.lastInsertRowid);if(!r)throw Error("Failed to create request log");return r}catch(t){if("SQLITE_CONSTRAINT_FOREIGNKEY"===t.code&&e.model_id){console.warn(`[RequestLog] Foreign key constraint failed for model_id ${e.model_id}, retrying with NULL`);let t=await E(`INSERT INTO request_logs (
|
|
101
101
|
model_id, request_method, request_path, request_headers,
|
|
102
102
|
request_query, request_body, response_status, response_body, response_time_ms, created_at
|
|
103
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, datetime('now', 'localtime'))`,[void 0===e.model_id?null:e.model_id,e.request_method,e.request_path,e.request_headers,e.request_query,e.request_body,e.response_status,e.response_body,e.response_time_ms]),r=await
|
|
103
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, datetime('now', 'localtime'))`,[void 0===e.model_id?null:e.model_id,e.request_method,e.request_path,e.request_headers,e.request_query,e.request_body,e.response_status,e.response_body,e.response_time_ms]),r=await x(t.lastInsertRowid);if(!r)throw Error("Failed to create request log");return r}throw t}}async function k(e=100,t=0,r,n){let a="",i=[];if(r&&(a+="WHERE l.model_id = ?",i.push(r)),n){let e=`
|
|
104
104
|
AND (
|
|
105
105
|
l.request_path LIKE ?
|
|
106
106
|
OR l.request_body LIKE ?
|
|
@@ -117,13 +117,13 @@ CREATE INDEX IF NOT EXISTS idx_request_logs_created_at ON request_logs(created_a
|
|
|
117
117
|
${a}
|
|
118
118
|
ORDER BY l.created_at DESC
|
|
119
119
|
LIMIT ? OFFSET ?
|
|
120
|
-
`;return await
|
|
120
|
+
`;return await _(o,[...i,e,t])}async function x(e){return await p(`
|
|
121
121
|
SELECT l.*, m.name as model_name, m.model_id, p.name as provider_name
|
|
122
122
|
FROM request_logs l
|
|
123
123
|
LEFT JOIN models m ON l.model_id = m.id
|
|
124
124
|
LEFT JOIN providers p ON m.provider_id = p.id
|
|
125
125
|
WHERE l.id = ?
|
|
126
|
-
`,[e])}async function
|
|
126
|
+
`,[e])}async function D(e,t){let r="",n=[];if(e&&(r+="WHERE l.model_id = ?",n.push(e)),t){let a=`
|
|
127
127
|
AND (
|
|
128
128
|
l.request_path LIKE ?
|
|
129
129
|
OR l.request_body LIKE ?
|
|
@@ -132,16 +132,16 @@ CREATE INDEX IF NOT EXISTS idx_request_logs_created_at ON request_logs(created_a
|
|
|
132
132
|
OR m.model_id LIKE ?
|
|
133
133
|
OR p.name LIKE ?
|
|
134
134
|
)
|
|
135
|
-
`,i=`%${t}%`;r?r+=a:r="WHERE"+a.trim().replace("AND",""),n=e?[...n,i,i,i,i,i,i]:[i,i,i,i,i,i]}let a=await
|
|
135
|
+
`,i=`%${t}%`;r?r+=a:r="WHERE"+a.trim().replace("AND",""),n=e?[...n,i,i,i,i,i,i]:[i,i,i,i,i,i]}let a=await p(`
|
|
136
136
|
SELECT COUNT(*) as count FROM request_logs l
|
|
137
137
|
LEFT JOIN models m ON l.model_id = m.id
|
|
138
138
|
LEFT JOIN providers p ON m.provider_id = p.id
|
|
139
139
|
${r}
|
|
140
|
-
`,n);return a?.count||0}async function
|
|
140
|
+
`,n);return a?.count||0}async function F(e){if(0===e.length)return 0;let t=e.map(()=>"?").join(",");return(await E(`DELETE FROM request_logs WHERE id IN (${t})`,e)).changes}async function U(){return(await E("DELETE FROM request_logs")).changes}async function C(e){return await p("SELECT * FROM config WHERE key = ?",[e])}async function P(e,t){await E(`INSERT INTO config (key, value, updated_at)
|
|
141
141
|
VALUES (?, ?, datetime('now'))
|
|
142
142
|
ON CONFLICT(key) DO UPDATE SET
|
|
143
143
|
value = excluded.value,
|
|
144
|
-
updated_at = datetime('now')`,[e,t]);let r=await
|
|
145
|
-
VALUES (?, ?, ?, ?, datetime('now'))`,[e.status,e.port,e.pid,e.started_at]);let t=await
|
|
144
|
+
updated_at = datetime('now')`,[e,t]);let r=await C(e);if(!r)throw Error("Failed to get config after set");return r}async function W(){let e=await _("SELECT key, value FROM config"),t={};for(let r of e)t[r.key]=r.value;return t}async function X(){return await p("SELECT * FROM service_status ORDER BY id DESC LIMIT 1")}async function B(e){await E("DELETE FROM service_status"),await E(`INSERT INTO service_status (status, port, pid, started_at, updated_at)
|
|
145
|
+
VALUES (?, ?, ?, ?, datetime('now'))`,[e.status,e.port,e.pid,e.started_at]);let t=await X();if(!t)throw Error("Failed to get service status after set");return t}async function j(e){let t=await X();if(!t)return null;let r=[],n=[];return(void 0!==e.status&&(r.push("status = ?"),n.push(e.status)),void 0!==e.port&&(r.push("port = ?"),n.push(e.port)),void 0!==e.pid&&(r.push("pid = ?"),n.push(e.pid)),void 0!==e.started_at&&(r.push("started_at = ?"),n.push(e.started_at)),0===r.length)?t:(r.push("updated_at = datetime('now')"),n.push(t.id),await E(`UPDATE service_status SET ${r.join(", ")} WHERE id = ?`,n),await X())}e.s(["getDatabase",()=>b,"queryAll",()=>_,"queryOne",()=>p,"run",()=>E],71560),e.s(["createModel",()=>O,"createProvider",()=>y,"createRequestLog",()=>M,"deleteAllRequestLogs",()=>U,"deleteModel",()=>I,"deleteProvider",()=>T,"deleteRequestLogs",()=>F,"getAllConfig",()=>W,"getAllModels",()=>q,"getAllProviders",()=>w,"getConfig",()=>C,"getEnabledModels",()=>S,"getModelById",()=>R,"getModelByModelIdAny",()=>L,"getModelsByProvider",()=>N,"getProviderById",()=>v,"getRequestLogById",()=>x,"getRequestLogCount",()=>D,"getRequestLogs",()=>k,"getServiceStatus",()=>X,"setConfig",()=>P,"setServiceStatus",()=>B,"updateModel",()=>A,"updateProvider",()=>g,"updateServiceStatus",()=>j],97731)}];
|
|
146
146
|
|
|
147
147
|
//# sourceMappingURL=%5Broot-of-the-server%5D__c1b4b601._.js.map
|