swayrouter 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +43 -0
- package/CHANGELOG.md +132 -0
- package/LICENSE +30 -0
- package/README.id.md +633 -0
- package/README.md +628 -0
- package/cli/cli.js +388 -0
- package/cli/package.json +4 -0
- package/cli/src/cli/commands/xaiVideo.js +280 -0
- package/cli/src/cli/tray/SwayAvatar.svg +20 -0
- package/cli/src/cli/tray/autostart.js +351 -0
- package/cli/src/cli/tray/icon.ico +0 -0
- package/cli/src/cli/tray/icon.png +0 -0
- package/cli/src/cli/tray/tray.js +258 -0
- package/cli/src/cli/tray/tray.ps1 +129 -0
- package/cli/src/cli/tray/trayHost.js +157 -0
- package/cli/src/cli/tray/trayWin.js +83 -0
- package/cli/src/cli/utils/display.js +123 -0
- package/cli/src/cli/utils/input.js +138 -0
- package/cli/src/runtime/discover.js +153 -0
- package/cli/src/runtime/lifecycle.js +333 -0
- package/cli/src/runtime/runMenu.js +250 -0
- package/cli/src/runtime/uiAdapters.js +12 -0
- package/cli/src/runtime/update.js +130 -0
- package/dashboard/dist/assets/CliTools-Ch3gKuNw.js +24 -0
- package/dashboard/dist/assets/Combo-BBCldjWi.js +1 -0
- package/dashboard/dist/assets/ConsoleLog-wywAYcPT.js +6 -0
- package/dashboard/dist/assets/Dashboard-DxzyF41b.js +1 -0
- package/dashboard/dist/assets/Header-C_9Su9BF.js +1 -0
- package/dashboard/dist/assets/Keys-D0ufgcsc.js +1 -0
- package/dashboard/dist/assets/Login-BeKpipS_.js +1 -0
- package/dashboard/dist/assets/ManageApiKey-CVXsmW2B.js +1 -0
- package/dashboard/dist/assets/OAuthCallback-D_UZYcF6.js +1 -0
- package/dashboard/dist/assets/Provider-BU7JfTqm.js +4 -0
- package/dashboard/dist/assets/ProviderModelAccordion-BAifkfVR.js +1 -0
- package/dashboard/dist/assets/Proxy-CU15VJ--.js +1 -0
- package/dashboard/dist/assets/QuotaMonitor-HzGK7bcc.js +1 -0
- package/dashboard/dist/assets/Settings-Dt4y2dC0.js +1 -0
- package/dashboard/dist/assets/Setup-DSDUwU7N.js +1 -0
- package/dashboard/dist/assets/StatusBadge-1nAOyHU2.js +1 -0
- package/dashboard/dist/assets/SwayChat-Bup7up6D.js +10 -0
- package/dashboard/dist/assets/Usage-eWnrPQ_v.js +4 -0
- package/dashboard/dist/assets/accordion-DOOPDDgt.js +1 -0
- package/dashboard/dist/assets/admin-extras-api-CCdu5TFM.js +1 -0
- package/dashboard/dist/assets/api-keys-api-ifAC2Ok3.js +1 -0
- package/dashboard/dist/assets/card-CC0Omjcv.js +1 -0
- package/dashboard/dist/assets/chatStudio-C0zPz_Z_.js +2 -0
- package/dashboard/dist/assets/checkbox-7SZBrmbN.js +1 -0
- package/dashboard/dist/assets/connections-api-_N54UD3S.js +1 -0
- package/dashboard/dist/assets/copy-button-qBvM6H9z.js +1 -0
- package/dashboard/dist/assets/currency-api-SV9CBf5e.js +1 -0
- package/dashboard/dist/assets/flip-button-BGgkjtl0.js +1 -0
- package/dashboard/dist/assets/frame-cUiti6Lq.js +1 -0
- package/dashboard/dist/assets/icons-vendor-CUx7SB5V.js +541 -0
- package/dashboard/dist/assets/index-B6j-9zHy.js +10 -0
- package/dashboard/dist/assets/index-C-_l0yYz.css +1 -0
- package/dashboard/dist/assets/live-mode-CHShLY4E.js +1 -0
- package/dashboard/dist/assets/markdown-vendor-BY8e1gQ8.js +29 -0
- package/dashboard/dist/assets/motion-vendor-g5fpGzmJ.js +9 -0
- package/dashboard/dist/assets/oauth-callback-CqYQzyd7.js +1 -0
- package/dashboard/dist/assets/query-vendor-DVevaSVS.js +1 -0
- package/dashboard/dist/assets/react-vendor-xnYrwzsL.js +61 -0
- package/dashboard/dist/assets/ripple-button-l8aMiVVG.js +1 -0
- package/dashboard/dist/assets/segmented-CqmEnQjZ.js +1 -0
- package/dashboard/dist/assets/select-D8pUtMXp.js +1 -0
- package/dashboard/dist/assets/skeleton-7uJDiIXe.js +1 -0
- package/dashboard/dist/assets/table-D0M60Tu1.js +1 -0
- package/dashboard/dist/assets/tabs-C6YkuulG.js +1 -0
- package/dashboard/dist/assets/tunnel-api-DDPsBaDV.js +1 -0
- package/dashboard/dist/assets/ui-vendor-BuM9f2NY.js +17 -0
- package/dashboard/dist/image2/SwayAvatar.svg +20 -0
- package/dashboard/dist/index.html +32 -0
- package/dashboard/dist/logo/avatar.svg +1 -0
- package/dashboard/dist/logo/sway.svg +20 -0
- package/dashboard/dist/logo/swaychat.svg +20 -0
- package/dashboard/dist/providers/SwayCustom.svg +19 -0
- package/dashboard/dist/providers/alicode.svg +12 -0
- package/dashboard/dist/providers/anthropic.svg +11 -0
- package/dashboard/dist/providers/antigravity.svg +3 -0
- package/dashboard/dist/providers/azure.svg +5 -0
- package/dashboard/dist/providers/baidu.svg +3 -0
- package/dashboard/dist/providers/blackbox.svg +5 -0
- package/dashboard/dist/providers/byteplus.svg +3 -0
- package/dashboard/dist/providers/cerebras.svg +4 -0
- package/dashboard/dist/providers/chutes.svg +4 -0
- package/dashboard/dist/providers/claude.svg +3 -0
- package/dashboard/dist/providers/cline.svg +11 -0
- package/dashboard/dist/providers/cloudflare-ai.svg +4 -0
- package/dashboard/dist/providers/codebuddy.svg +11 -0
- package/dashboard/dist/providers/codex.svg +10 -0
- package/dashboard/dist/providers/commandcode.svg +3 -0
- package/dashboard/dist/providers/cursor.svg +3 -0
- package/dashboard/dist/providers/deepseek.svg +10 -0
- package/dashboard/dist/providers/featherless.svg +3 -0
- package/dashboard/dist/providers/fireworks.svg +3 -0
- package/dashboard/dist/providers/gemini.svg +3 -0
- package/dashboard/dist/providers/geminicli.svg +11 -0
- package/dashboard/dist/providers/github.svg +3 -0
- package/dashboard/dist/providers/grok.svg +3 -0
- package/dashboard/dist/providers/groq.svg +3 -0
- package/dashboard/dist/providers/hermesagent.svg +1 -0
- package/dashboard/dist/providers/kilocode.svg +15 -0
- package/dashboard/dist/providers/kimchi.svg +3 -0
- package/dashboard/dist/providers/kimi.svg +4 -0
- package/dashboard/dist/providers/kiro.svg +10 -0
- package/dashboard/dist/providers/meta.svg +3 -0
- package/dashboard/dist/providers/mimo.svg +10 -0
- package/dashboard/dist/providers/minimax.svg +3 -0
- package/dashboard/dist/providers/mistral.svg +3 -0
- package/dashboard/dist/providers/morph.svg +3 -0
- package/dashboard/dist/providers/nebius.svg +4 -0
- package/dashboard/dist/providers/nvidia.svg +3 -0
- package/dashboard/dist/providers/ollama.svg +3 -0
- package/dashboard/dist/providers/omp.svg +5 -0
- package/dashboard/dist/providers/openai.svg +3 -0
- package/dashboard/dist/providers/opencode.svg +3 -0
- package/dashboard/dist/providers/openrouter.svg +3 -0
- package/dashboard/dist/providers/perplexity.svg +3 -0
- package/dashboard/dist/providers/poolside.svg +36 -0
- package/dashboard/dist/providers/qoder.svg +11 -0
- package/dashboard/dist/providers/sumopod.svg +3 -0
- package/dashboard/dist/providers/tencent.svg +5 -0
- package/dashboard/dist/providers/together.svg +12 -0
- package/dashboard/dist/providers/trae.svg +3 -0
- package/dashboard/dist/providers/venice.svg +4 -0
- package/dashboard/dist/providers/vercel.svg +3 -0
- package/dashboard/dist/providers/vertex.svg +17 -0
- package/dashboard/dist/providers/windsurf.svg +10 -0
- package/dashboard/dist/providers/zai.svg +3 -0
- package/dashboard/tsconfig.json +13 -0
- package/package.json +87 -0
- package/src/config/appConstants.js +153 -0
- package/src/config/defaultThinkingSignature.js +7 -0
- package/src/config/errorConfig.js +117 -0
- package/src/config/grokCli.js +9 -0
- package/src/config/kiroConstants.js +235 -0
- package/src/config/mediaConfig.js +20 -0
- package/src/config/ollamaModels.js +18 -0
- package/src/config/providerModels.js +109 -0
- package/src/config/providers.js +17 -0
- package/src/config/runtimeConfig.js +84 -0
- package/src/dashboardGuard.js +254 -0
- package/src/executors/antigravity.js +389 -0
- package/src/executors/azure.js +49 -0
- package/src/executors/base.js +225 -0
- package/src/executors/codebuddy-cn.js +23 -0
- package/src/executors/codebuddy-intl.js +60 -0
- package/src/executors/codex.js +436 -0
- package/src/executors/commandcode.js +83 -0
- package/src/executors/cursor.js +1075 -0
- package/src/executors/default.js +294 -0
- package/src/executors/gemini-cli.js +88 -0
- package/src/executors/github.js +393 -0
- package/src/executors/grok-cli.js +510 -0
- package/src/executors/grok-web.js +342 -0
- package/src/executors/index.js +86 -0
- package/src/executors/kimchi.js +116 -0
- package/src/executors/kiro.js +1155 -0
- package/src/executors/ollama-local.js +14 -0
- package/src/executors/opencode-go.js +47 -0
- package/src/executors/opencode.js +31 -0
- package/src/executors/qoder.js +433 -0
- package/src/executors/trae.js +318 -0
- package/src/executors/vertex.js +151 -0
- package/src/executors/windsurf.js +555 -0
- package/src/executors/xiaomi-tokenplan.js +16 -0
- package/src/handlers/chatCore/nonStreamingHandler.js +370 -0
- package/src/handlers/chatCore/requestDetail.js +130 -0
- package/src/handlers/chatCore/sseToJsonHandler.js +318 -0
- package/src/handlers/chatCore/streamingHandler.js +250 -0
- package/src/handlers/chatCore.js +652 -0
- package/src/lib/auth/dashboardSession.js +83 -0
- package/src/lib/auth/loginLimiter.js +99 -0
- package/src/lib/cache/ttlCache.js +153 -0
- package/src/lib/consoleLogBuffer.js +127 -0
- package/src/lib/dataDir.js +45 -0
- package/src/lib/db/adapters/betterSqliteAdapter.js +36 -0
- package/src/lib/db/adapters/bunSqliteAdapter.js +47 -0
- package/src/lib/db/adapters/nodeSqliteAdapter.js +65 -0
- package/src/lib/db/adapters/runtimeHelpers.js +23 -0
- package/src/lib/db/adapters/sqljsAdapter.js +103 -0
- package/src/lib/db/backup.js +75 -0
- package/src/lib/db/driver.js +110 -0
- package/src/lib/db/helpers/jsonCol.js +18 -0
- package/src/lib/db/helpers/kvStore.js +48 -0
- package/src/lib/db/helpers/metaStore.js +32 -0
- package/src/lib/db/index.js +473 -0
- package/src/lib/db/migrate.js +267 -0
- package/src/lib/db/migrations/001-initial.js +12 -0
- package/src/lib/db/migrations/002-prune-headroom-pxpipe-settings.js +32 -0
- package/src/lib/db/migrations/004-request-details-trace-id.js +12 -0
- package/src/lib/db/migrations/005-request-details-payload-capture.js +11 -0
- package/src/lib/db/migrations/007-headroom-readd-settings.js +35 -0
- package/src/lib/db/migrations/008-account-model-locks.js +22 -0
- package/src/lib/db/migrations/009-warp-pool-lifecycle.js +5 -0
- package/src/lib/db/migrations/010-api-key-file-permissions.js +7 -0
- package/src/lib/db/migrations/011-remove-upstream-user-agent-profile.js +41 -0
- package/src/lib/db/migrations/012-remove-headroom-settings.js +33 -0
- package/src/lib/db/migrations/013-default-fill-first-routing.js +20 -0
- package/src/lib/db/migrations/014-normalize-fill-first-routing.js +37 -0
- package/src/lib/db/migrations/015-remove-ip-ban-tables.js +8 -0
- package/src/lib/db/migrations/016-prune-legacy-codebuddy-intl-models.js +25 -0
- package/src/lib/db/migrations/index.js +20 -0
- package/src/lib/db/nineRouterMigration.js +785 -0
- package/src/lib/db/paths.js +23 -0
- package/src/lib/db/repos/accountModelLocksRepo.js +74 -0
- package/src/lib/db/repos/aliasRepo.js +108 -0
- package/src/lib/db/repos/apiKeysRepo.js +204 -0
- package/src/lib/db/repos/combosRepo.js +85 -0
- package/src/lib/db/repos/connectionsRepo.js +522 -0
- package/src/lib/db/repos/disabledModelsRepo.js +63 -0
- package/src/lib/db/repos/nodesRepo.js +127 -0
- package/src/lib/db/repos/pricingRepo.js +108 -0
- package/src/lib/db/repos/proxyPoolsRepo.js +104 -0
- package/src/lib/db/repos/requestDetailsRepo.js +345 -0
- package/src/lib/db/repos/settingsRepo.js +135 -0
- package/src/lib/db/repos/usageRepo.js +1335 -0
- package/src/lib/db/schema.js +179 -0
- package/src/lib/db/version.js +32 -0
- package/src/lib/db/writeBehind.js +174 -0
- package/src/lib/disabledModelsDb.js +3 -0
- package/src/lib/env.ts +175 -0
- package/src/lib/errors/publicError.js +18 -0
- package/src/lib/grokBuildConfig.js +243 -0
- package/src/lib/guardRequest.js +51 -0
- package/src/lib/localDb.js +21 -0
- package/src/lib/mcp/stdioSseBridge.js +174 -0
- package/src/lib/network/connectionProxy.js +200 -0
- package/src/lib/network/proxyTest.js +158 -0
- package/src/lib/network/proxyUrl.js +76 -0
- package/src/lib/network/relay.js +71 -0
- package/src/lib/oauth/constants/oauth.js +152 -0
- package/src/lib/oauth/constants/xai.js +43 -0
- package/src/lib/oauth/kiroExternalIdp.js +167 -0
- package/src/lib/oauth/providerHelpers.js +90 -0
- package/src/lib/oauth/providers/_shared.js +12 -0
- package/src/lib/oauth/providers/antigravity.js +126 -0
- package/src/lib/oauth/providers/claude.js +60 -0
- package/src/lib/oauth/providers/cline.js +62 -0
- package/src/lib/oauth/providers/clinepass.js +62 -0
- package/src/lib/oauth/providers/codebuddy-cn.js +75 -0
- package/src/lib/oauth/providers/codebuddy-intl.js +73 -0
- package/src/lib/oauth/providers/codex.js +72 -0
- package/src/lib/oauth/providers/cursor.js +18 -0
- package/src/lib/oauth/providers/gemini-cli.js +84 -0
- package/src/lib/oauth/providers/github.js +96 -0
- package/src/lib/oauth/providers/grok-cli.js +123 -0
- package/src/lib/oauth/providers/index.js +233 -0
- package/src/lib/oauth/providers/kilocode.js +60 -0
- package/src/lib/oauth/providers/kimchi.js +79 -0
- package/src/lib/oauth/providers/kimi.js +79 -0
- package/src/lib/oauth/providers/kiro.js +147 -0
- package/src/lib/oauth/providers/qoder.js +90 -0
- package/src/lib/oauth/providers/trae.js +244 -0
- package/src/lib/oauth/providers/windsurf.js +123 -0
- package/src/lib/oauth/providers/xai.js +95 -0
- package/src/lib/oauth/providers.js +16 -0
- package/src/lib/oauth/services/cursor.js +132 -0
- package/src/lib/oauth/services/kiro.js +351 -0
- package/src/lib/oauth/services/oauth.js +135 -0
- package/src/lib/oauth/services/qoder.js +151 -0
- package/src/lib/oauth/services/xai.js +204 -0
- package/src/lib/oauth/utils/ideDetect.js +55 -0
- package/src/lib/oauth/utils/pkce.js +25 -0
- package/src/lib/oauth/utils/server.js +732 -0
- package/src/lib/oauth/utils/ui.js +43 -0
- package/src/lib/providerNormalization.js +40 -0
- package/src/lib/qoder/constants.js +1 -0
- package/src/lib/requestDetailsDb.js +3 -0
- package/src/lib/resourceProfile.ts +124 -0
- package/src/lib/runtimeSecrets.ts +130 -0
- package/src/lib/security/payloadCapture.js +87 -0
- package/src/lib/tunnel/cloudflare/cloudflared.js +436 -0
- package/src/lib/tunnel/cloudflare/config.js +8 -0
- package/src/lib/tunnel/cloudflare/healthCheck.js +37 -0
- package/src/lib/tunnel/cloudflare/manager.js +149 -0
- package/src/lib/tunnel/cloudflare/pid.js +31 -0
- package/src/lib/tunnel/cloudflare/publicUrl.js +41 -0
- package/src/lib/tunnel/cloudflare/requirements.js +12 -0
- package/src/lib/tunnel/index.js +26 -0
- package/src/lib/tunnel/shared/dnsResolver.js +16 -0
- package/src/lib/tunnel/shared/internetCheck.js +30 -0
- package/src/lib/tunnel/shared/state.js +45 -0
- package/src/lib/tunnel/shared/watchdogConfig.js +6 -0
- package/src/lib/update/installer.js +52 -0
- package/src/lib/update/version.js +116 -0
- package/src/lib/usageDb.js +6 -0
- package/src/lib/usageRefresh.js +88 -0
- package/src/lifecycle/appLifecycle.ts +99 -0
- package/src/models.js +36 -0
- package/src/next/headers.js +12 -0
- package/src/next/server.js +74 -0
- package/src/observability/metrics.js +439 -0
- package/src/observability/tracing.js +107 -0
- package/src/open-sse-index.js +70 -0
- package/src/providers/capabilities.js +299 -0
- package/src/providers/display.ts +142 -0
- package/src/providers/index.js +27 -0
- package/src/providers/models/helpers.js +19 -0
- package/src/providers/models/namePatterns.js +27 -0
- package/src/providers/models/schema.js +32 -0
- package/src/providers/pricing.js +248 -0
- package/src/providers/registry/agentrouter.js +52 -0
- package/src/providers/registry/alicode-intl.js +32 -0
- package/src/providers/registry/alicode.js +33 -0
- package/src/providers/registry/alims-intl.js +30 -0
- package/src/providers/registry/anthropic.js +29 -0
- package/src/providers/registry/antigravity.js +139 -0
- package/src/providers/registry/azure.js +23 -0
- package/src/providers/registry/baidu.js +35 -0
- package/src/providers/registry/blackbox.js +41 -0
- package/src/providers/registry/byteplus.js +36 -0
- package/src/providers/registry/cerebras.js +33 -0
- package/src/providers/registry/chutes.js +26 -0
- package/src/providers/registry/claude.js +80 -0
- package/src/providers/registry/cline.js +53 -0
- package/src/providers/registry/clinepass.js +62 -0
- package/src/providers/registry/cloudflare-ai.js +84 -0
- package/src/providers/registry/codebuddy-cn.js +95 -0
- package/src/providers/registry/codebuddy-intl.js +91 -0
- package/src/providers/registry/codex.js +145 -0
- package/src/providers/registry/commandcode.js +45 -0
- package/src/providers/registry/cursor.js +61 -0
- package/src/providers/registry/deepseek.js +55 -0
- package/src/providers/registry/featherless.js +36 -0
- package/src/providers/registry/fireworks.js +34 -0
- package/src/providers/registry/gemini-cli.js +59 -0
- package/src/providers/registry/gemini.js +76 -0
- package/src/providers/registry/github.js +131 -0
- package/src/providers/registry/glm-cn.js +35 -0
- package/src/providers/registry/glm.js +58 -0
- package/src/providers/registry/grok-cli.js +87 -0
- package/src/providers/registry/grok-web.js +41 -0
- package/src/providers/registry/groq.js +38 -0
- package/src/providers/registry/index.js +77 -0
- package/src/providers/registry/kilo-gateway.js +34 -0
- package/src/providers/registry/kilocode.js +48 -0
- package/src/providers/registry/kimchi.js +49 -0
- package/src/providers/registry/kimi.js +82 -0
- package/src/providers/registry/kiro.js +132 -0
- package/src/providers/registry/meta.js +34 -0
- package/src/providers/registry/minimax-cn.js +90 -0
- package/src/providers/registry/minimax.js +90 -0
- package/src/providers/registry/mistral.js +36 -0
- package/src/providers/registry/morph.js +31 -0
- package/src/providers/registry/nebius.js +26 -0
- package/src/providers/registry/nvidia.js +55 -0
- package/src/providers/registry/ollama-local.js +18 -0
- package/src/providers/registry/ollama.js +38 -0
- package/src/providers/registry/openai.js +114 -0
- package/src/providers/registry/opencode-go.js +41 -0
- package/src/providers/registry/opencode.js +26 -0
- package/src/providers/registry/openrouter.js +36 -0
- package/src/providers/registry/perplexity.js +56 -0
- package/src/providers/registry/poolside.js +30 -0
- package/src/providers/registry/qoder.js +58 -0
- package/src/providers/registry/sumopod.js +84 -0
- package/src/providers/registry/tencent.js +29 -0
- package/src/providers/registry/together.js +38 -0
- package/src/providers/registry/trae.js +71 -0
- package/src/providers/registry/venice.js +69 -0
- package/src/providers/registry/vercel-ai-gateway.js +37 -0
- package/src/providers/registry/vertex-partner.js +31 -0
- package/src/providers/registry/vertex.js +33 -0
- package/src/providers/registry/windsurf.js +129 -0
- package/src/providers/registry/xai.js +46 -0
- package/src/providers/registry/xiaomi-mimo.js +66 -0
- package/src/providers/registry/xiaomi-tokenplan.js +58 -0
- package/src/providers/registryEntry.js +3 -0
- package/src/providers/schema.js +33 -0
- package/src/providers/shared.js +114 -0
- package/src/providers/thinkingLevels.js +49 -0
- package/src/routes/api/auth/login/route.js +82 -0
- package/src/routes/api/auth/logout/route.js +9 -0
- package/src/routes/api/auth/reset-password/route.js +12 -0
- package/src/routes/api/auth/status/route.js +33 -0
- package/src/routes/api/auth/verify-password/route.js +39 -0
- package/src/routes/api/chat/tools/curl/route.js +100 -0
- package/src/routes/api/chat/tools/router/route.js +215 -0
- package/src/routes/api/chat/tools/search/route.js +362 -0
- package/src/routes/api/chat/tools/shell/route.js +228 -0
- package/src/routes/api/cli-tools/all-statuses/route.js +37 -0
- package/src/routes/api/cli-tools/claude-settings/route.js +261 -0
- package/src/routes/api/cli-tools/codex-settings/route.js +220 -0
- package/src/routes/api/cli-tools/cowork-mcp-registry/route.js +80 -0
- package/src/routes/api/cli-tools/cowork-mcp-tools/route.js +96 -0
- package/src/routes/api/cli-tools/cowork-settings/route.js +380 -0
- package/src/routes/api/cli-tools/grok-build-settings/route.js +152 -0
- package/src/routes/api/cli-tools/hermes-settings/route.js +169 -0
- package/src/routes/api/cli-tools/kilo-settings/route.js +131 -0
- package/src/routes/api/cli-tools/model-mappings/route.js +43 -0
- package/src/routes/api/cli-tools/omp-settings/route.js +266 -0
- package/src/routes/api/cli-tools/opencode-settings/route.js +243 -0
- package/src/routes/api/combos/[id]/route.js +73 -0
- package/src/routes/api/combos/route.js +43 -0
- package/src/routes/api/health/live/route.js +7 -0
- package/src/routes/api/health/ready/route.js +19 -0
- package/src/routes/api/health/route.js +17 -0
- package/src/routes/api/inflight/stream/route.js +24 -0
- package/src/routes/api/init/route.js +3 -0
- package/src/routes/api/keys/[id]/route.js +71 -0
- package/src/routes/api/keys/route.js +41 -0
- package/src/routes/api/logs/route.js +19 -0
- package/src/routes/api/mcp/[plugin]/message/route.js +23 -0
- package/src/routes/api/mcp/[plugin]/sse/route.js +35 -0
- package/src/routes/api/models/availability/route.js +104 -0
- package/src/routes/api/models/custom/route.js +58 -0
- package/src/routes/api/models/disabled/route.js +47 -0
- package/src/routes/api/models/route.js +64 -0
- package/src/routes/api/models/test/ping.js +236 -0
- package/src/routes/api/models/test/route.js +14 -0
- package/src/routes/api/oauth/[provider]/[action]/route.js +491 -0
- package/src/routes/api/oauth/codex/bulk-import/route.js +105 -0
- package/src/routes/api/oauth/codex/import-token/route.js +82 -0
- package/src/routes/api/oauth/cursor/auto-import/route.js +250 -0
- package/src/routes/api/oauth/cursor/import/route.js +86 -0
- package/src/routes/api/oauth/kiro/api-key/route.js +60 -0
- package/src/routes/api/oauth/kiro/auto-import/route.js +120 -0
- package/src/routes/api/oauth/kiro/import/route.js +72 -0
- package/src/routes/api/oauth/kiro/import-cli-proxy/route.js +42 -0
- package/src/routes/api/oauth/kiro/social-authorize/route.js +40 -0
- package/src/routes/api/oauth/kiro/social-exchange/route.js +62 -0
- package/src/routes/api/pricing/route.js +96 -0
- package/src/routes/api/provider-nodes/[id]/route.js +106 -0
- package/src/routes/api/provider-nodes/route.js +110 -0
- package/src/routes/api/provider-nodes/validate/route.js +197 -0
- package/src/routes/api/providers/[id]/models/route.js +716 -0
- package/src/routes/api/providers/[id]/route.js +195 -0
- package/src/routes/api/providers/[id]/test/route.js +27 -0
- package/src/routes/api/providers/[id]/test/testUtils.js +912 -0
- package/src/routes/api/providers/[id]/test-models/route.js +211 -0
- package/src/routes/api/providers/catalog/route.js +58 -0
- package/src/routes/api/providers/client/route.js +133 -0
- package/src/routes/api/providers/counts/route.js +43 -0
- package/src/routes/api/providers/kilo/free-models/route.js +58 -0
- package/src/routes/api/providers/route.js +361 -0
- package/src/routes/api/providers/suggested-models/filters.js +24 -0
- package/src/routes/api/providers/suggested-models/route.js +34 -0
- package/src/routes/api/providers/test-batch/route.js +145 -0
- package/src/routes/api/providers/validate/route.js +633 -0
- package/src/routes/api/proxy-pools/[id]/route.js +129 -0
- package/src/routes/api/proxy-pools/[id]/test/route.js +64 -0
- package/src/routes/api/proxy-pools/cloudflare-deploy/route.js +183 -0
- package/src/routes/api/proxy-pools/route.js +85 -0
- package/src/routes/api/proxy-pools/vercel-deploy/route.js +181 -0
- package/src/routes/api/settings/currency/route.js +29 -0
- package/src/routes/api/settings/database/path/route.js +8 -0
- package/src/routes/api/settings/database/route.js +89 -0
- package/src/routes/api/settings/migrate-9router/route.js +81 -0
- package/src/routes/api/settings/require-login/route.js +14 -0
- package/src/routes/api/settings/route.js +186 -0
- package/src/routes/api/shutdown/route.js +25 -0
- package/src/routes/api/tags/route.js +17 -0
- package/src/routes/api/translator/console-logs/route.js +28 -0
- package/src/routes/api/translator/console-logs/stream/route.js +95 -0
- package/src/routes/api/tunnel/disable/route.js +18 -0
- package/src/routes/api/tunnel/enable/route.js +32 -0
- package/src/routes/api/tunnel/status/route.js +23 -0
- package/src/routes/api/update/route.js +42 -0
- package/src/routes/api/usage/[connectionId]/codex-reset-credits/route.js +169 -0
- package/src/routes/api/usage/[connectionId]/route.js +222 -0
- package/src/routes/api/usage/chart/route.js +27 -0
- package/src/routes/api/usage/history/route.js +94 -0
- package/src/routes/api/usage/logs/route.js +14 -0
- package/src/routes/api/usage/providers/route.js +36 -0
- package/src/routes/api/usage/request-details/route.js +61 -0
- package/src/routes/api/usage/request-logs/route.js +15 -0
- package/src/routes/api/usage/stats/route.js +23 -0
- package/src/routes/api/usage/stream/route.js +78 -0
- package/src/routes/api/v1/api/chat/route.js +36 -0
- package/src/routes/api/v1/chat/completions/route.js +28 -0
- package/src/routes/api/v1/images/edits/route.js +70 -0
- package/src/routes/api/v1/images/generations/route.js +50 -0
- package/src/routes/api/v1/images/imageValidation.js +45 -0
- package/src/routes/api/v1/messages/count_tokens/route.js +87 -0
- package/src/routes/api/v1/messages/route.js +26 -0
- package/src/routes/api/v1/models/route.js +440 -0
- package/src/routes/api/v1/responses/compact/route.js +34 -0
- package/src/routes/api/v1/responses/route.js +26 -0
- package/src/routes/api/v1/route.js +1 -0
- package/src/routes/api/version/route.js +11 -0
- package/src/routes/table.js +1141 -0
- package/src/rtk/applyFilter.js +13 -0
- package/src/rtk/autodetect.js +104 -0
- package/src/rtk/caveman.js +6 -0
- package/src/rtk/cavemanPrompts.js +107 -0
- package/src/rtk/constants.js +51 -0
- package/src/rtk/filters/buildOutput.js +120 -0
- package/src/rtk/filters/dedupLog.js +43 -0
- package/src/rtk/filters/find.js +47 -0
- package/src/rtk/filters/gitDiff.js +90 -0
- package/src/rtk/filters/gitLog.js +88 -0
- package/src/rtk/filters/gitStatus.js +101 -0
- package/src/rtk/filters/grep.js +45 -0
- package/src/rtk/filters/ls.js +73 -0
- package/src/rtk/filters/readNumbered.js +22 -0
- package/src/rtk/filters/searchList.js +49 -0
- package/src/rtk/filters/smartTruncate.js +13 -0
- package/src/rtk/filters/tree.js +28 -0
- package/src/rtk/index.js +143 -0
- package/src/rtk/ponytail.js +6 -0
- package/src/rtk/ponytailPrompt.js +49 -0
- package/src/rtk/systemInject.js +89 -0
- package/src/server.ts +474 -0
- package/src/services/accountFallback.js +241 -0
- package/src/services/accountPool.js +389 -0
- package/src/services/capacityAdapter.js +140 -0
- package/src/services/cliModelMapping.js +84 -0
- package/src/services/clinepassModels.js +60 -0
- package/src/services/codebuddyModels.js +250 -0
- package/src/services/combo.js +482 -0
- package/src/services/copilotModels.js +126 -0
- package/src/services/currencyRate.js +56 -0
- package/src/services/cursorModels.js +197 -0
- package/src/services/grokCliModels.js +130 -0
- package/src/services/kimchiModels.js +175 -0
- package/src/services/kiroModels.js +246 -0
- package/src/services/model.js +83 -0
- package/src/services/oauthCredentialManager.js +153 -0
- package/src/services/projectId.js +240 -0
- package/src/services/provider.js +145 -0
- package/src/services/qoderModels.js +274 -0
- package/src/services/tokenRefresh/dedup.js +70 -0
- package/src/services/tokenRefresh/providers.js +626 -0
- package/src/services/tokenRefresh.js +274 -0
- package/src/services/usage/claude.js +134 -0
- package/src/services/usage/codebuddy-cn.js +212 -0
- package/src/services/usage/codex.js +193 -0
- package/src/services/usage/deepseek.js +103 -0
- package/src/services/usage/github.js +94 -0
- package/src/services/usage/google.js +218 -0
- package/src/services/usage/grok-cli.js +368 -0
- package/src/services/usage/grokCliQuotaFrame.js +170 -0
- package/src/services/usage/kimi.js +185 -0
- package/src/services/usage/kiro.js +172 -0
- package/src/services/usage/minimax.js +215 -0
- package/src/services/usage/misc.js +264 -0
- package/src/services/usage/shared.js +59 -0
- package/src/services/usage.js +56 -0
- package/src/shared/clineAuth.js +37 -0
- package/src/shared/constants/config.js +80 -0
- package/src/shared/constants/coworkPlugins.js +69 -0
- package/src/shared/constants/models.js +41 -0
- package/src/shared/constants/providers.js +128 -0
- package/src/shared/constants/providersDisplay.js +1 -0
- package/src/shared/qoder/constants.js +50 -0
- package/src/shared/qoder/cosy.js +134 -0
- package/src/shared/qoder/encoding.js +36 -0
- package/src/shared/services/initializeApp.js +226 -0
- package/src/shared/services/quotaAutoPing.js +310 -0
- package/src/shared/utils/apiKey.js +65 -0
- package/src/shared/utils/clineAuth.js +1 -0
- package/src/shared/utils/index.js +3 -0
- package/src/shared/utils/machineId.js +60 -0
- package/src/shared/utils/ssrfGuard.js +280 -0
- package/src/sse/handlers/chat.js +426 -0
- package/src/sse/oauthLease.js +32 -0
- package/src/sse/recovery.js +235 -0
- package/src/sse/services/auth.js +489 -0
- package/src/sse/services/backgroundTokenRefresh.js +173 -0
- package/src/sse/services/model.js +129 -0
- package/src/sse/services/requestCancellation.js +4 -0
- package/src/sse/services/tokenRefresh.js +264 -0
- package/src/sse/utils/logger.js +142 -0
- package/src/staticServe.ts +95 -0
- package/src/transformer/streamToJsonConverter.js +87 -0
- package/src/translator/canonical.js +81 -0
- package/src/translator/concerns/chunk.js +9 -0
- package/src/translator/concerns/compatFallback.js +147 -0
- package/src/translator/concerns/finishReason.js +59 -0
- package/src/translator/concerns/image.js +105 -0
- package/src/translator/concerns/json.js +4 -0
- package/src/translator/concerns/kiroConversation.js +428 -0
- package/src/translator/concerns/message.js +5 -0
- package/src/translator/concerns/modality.js +134 -0
- package/src/translator/concerns/paramSupport.js +97 -0
- package/src/translator/concerns/prefetch.js +86 -0
- package/src/translator/concerns/reasoning.js +18 -0
- package/src/translator/concerns/thinking.js +40 -0
- package/src/translator/concerns/thinkingUnified.js +319 -0
- package/src/translator/concerns/toolCall.js +134 -0
- package/src/translator/concerns/usage.js +61 -0
- package/src/translator/detection.js +42 -0
- package/src/translator/formats/claude.js +323 -0
- package/src/translator/formats/gemini.js +366 -0
- package/src/translator/formats/maxTokens.js +19 -0
- package/src/translator/formats/openai.js +116 -0
- package/src/translator/formats/responsesApi.js +117 -0
- package/src/translator/formats.js +28 -0
- package/src/translator/index.js +237 -0
- package/src/translator/request/antigravity-to-openai.js +217 -0
- package/src/translator/request/claude-to-kiro.js +288 -0
- package/src/translator/request/claude-to-openai.js +199 -0
- package/src/translator/request/gemini-to-openai.js +142 -0
- package/src/translator/request/openai-responses.js +373 -0
- package/src/translator/request/openai-to-claude.js +260 -0
- package/src/translator/request/openai-to-commandcode.js +161 -0
- package/src/translator/request/openai-to-cursor.js +175 -0
- package/src/translator/request/openai-to-gemini.js +422 -0
- package/src/translator/request/openai-to-kiro.js +360 -0
- package/src/translator/request/openai-to-ollama.js +152 -0
- package/src/translator/request/openai-to-vertex.js +36 -0
- package/src/translator/response/claude-to-openai.js +185 -0
- package/src/translator/response/commandcode-to-openai.js +164 -0
- package/src/translator/response/cursor-to-openai.js +18 -0
- package/src/translator/response/gemini-to-openai.js +127 -0
- package/src/translator/response/kiro-to-claude.js +230 -0
- package/src/translator/response/kiro-to-openai.js +136 -0
- package/src/translator/response/ollama-to-openai.js +106 -0
- package/src/translator/response/openai-responses.js +534 -0
- package/src/translator/response/openai-to-antigravity.js +107 -0
- package/src/translator/response/openai-to-claude.js +231 -0
- package/src/translator/schema/blocks.js +40 -0
- package/src/translator/schema/defaults.js +3 -0
- package/src/translator/schema/finishReasons.js +22 -0
- package/src/translator/schema/index.js +7 -0
- package/src/translator/schema/roles.js +12 -0
- package/src/transport/requestBoundary.ts +223 -0
- package/src/transport/routerAdmission.ts +380 -0
- package/src/types/provider.ts +59 -0
- package/src/utils/bypassHandler.js +272 -0
- package/src/utils/claudeCloaking.js +10 -0
- package/src/utils/claudeSignature.js +35 -0
- package/src/utils/clientDetector.js +183 -0
- package/src/utils/cursorChecksum.js +104 -0
- package/src/utils/cursorProtobuf.js +801 -0
- package/src/utils/debugLog.js +12 -0
- package/src/utils/error.js +120 -0
- package/src/utils/inflight.js +127 -0
- package/src/utils/kiroSessionReplay.js +139 -0
- package/src/utils/ollamaTransform.js +83 -0
- package/src/utils/proxyFetch.js +308 -0
- package/src/utils/reasoningContentInjector.js +71 -0
- package/src/utils/requestLogger.js +272 -0
- package/src/utils/responsesStreamHelpers.js +46 -0
- package/src/utils/sessionManager.js +205 -0
- package/src/utils/sse.js +13 -0
- package/src/utils/sseConstants.js +21 -0
- package/src/utils/stream.js +511 -0
- package/src/utils/streamHandler.js +256 -0
- package/src/utils/streamHelpers.js +113 -0
- package/src/utils/toolDeduper.js +44 -0
- package/src/utils/usageTracking.js +329 -0
- package/tsconfig.json +45 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/SwayChat-Bup7up6D.js","assets/react-vendor-xnYrwzsL.js","assets/motion-vendor-g5fpGzmJ.js","assets/query-vendor-DVevaSVS.js","assets/Header-C_9Su9BF.js","assets/ProviderModelAccordion-BAifkfVR.js","assets/accordion-DOOPDDgt.js","assets/icons-vendor-CUx7SB5V.js","assets/ui-vendor-BuM9f2NY.js","assets/frame-cUiti6Lq.js","assets/api-keys-api-ifAC2Ok3.js","assets/chatStudio-C0zPz_Z_.js","assets/markdown-vendor-BY8e1gQ8.js","assets/Login-BeKpipS_.js","assets/ripple-button-l8aMiVVG.js","assets/card-CC0Omjcv.js","assets/Setup-DSDUwU7N.js","assets/OAuthCallback-D_UZYcF6.js","assets/oauth-callback-CqYQzyd7.js","assets/Dashboard-DxzyF41b.js","assets/currency-api-SV9CBf5e.js","assets/segmented-CqmEnQjZ.js","assets/skeleton-7uJDiIXe.js","assets/table-D0M60Tu1.js","assets/admin-extras-api-CCdu5TFM.js","assets/live-mode-CHShLY4E.js","assets/ManageApiKey-CVXsmW2B.js","assets/copy-button-qBvM6H9z.js","assets/flip-button-BGgkjtl0.js","assets/StatusBadge-1nAOyHU2.js","assets/Provider-BU7JfTqm.js","assets/connections-api-_N54UD3S.js","assets/select-D8pUtMXp.js","assets/tabs-C6YkuulG.js","assets/checkbox-7SZBrmbN.js","assets/Keys-D0ufgcsc.js","assets/tunnel-api-DDPsBaDV.js","assets/Combo-BBCldjWi.js","assets/Proxy-CU15VJ--.js","assets/Usage-eWnrPQ_v.js","assets/CliTools-Ch3gKuNw.js","assets/Settings-Dt4y2dC0.js","assets/ConsoleLog-wywAYcPT.js","assets/QuotaMonitor-HzGK7bcc.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
var rn=Object.defineProperty;var nn=(e,t,o)=>t in e?rn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var to=(e,t,o)=>nn(e,typeof t!="symbol"?t+"":t,o);import{j as l,c as tt,u as Qo,r as k,N as Zo,O as er,d as tr,e as sn,f as an,h as ln,i as cn}from"./react-vendor-xnYrwzsL.js";import{u as dn,a as jt,b as un,Q as fn,c as pn}from"./query-vendor-DVevaSVS.js";import{L as pt,T as or,C as mn,I as hn,a as gn,X as $t,D as bn,P as lt,H as yn,K as xn,R as wn,b as vn,G as kn,c as Sn,d as _n,S as En,M as An,e as Cn,f as Rn,g as oo,h as Tn,i as Nn,j as On,A as jn,k as ro,W as no,l as so,m as Pn,n as In,o as Ln,p as Pe,q as Pt,r as ot,B as Ie,s as Dn,t as rt,u as zn,v as ao,w as St,F as io,x as nt,y as lo,z as Mn,E as co,J as Fn,N as Bn,O as Un,Q as qn,U as _t,V as $n,Y as Vn,Z as Hn,_ as Gn,$ as Wn,a0 as Kn,a1 as Jn,a2 as Xn,a3 as Yn,a4 as Qn,a5 as Zn,a6 as es,a7 as ts}from"./icons-vendor-CUx7SB5V.js";import{u as Ge,m as We,c as os,T as rs,a as ns,b as ss,d as as,e as is,f as ls,g as cs,h as ds,i as us,j as fs,S as ps,k as ms,l as hs,n as gs,o as bs,p as ys,D as xs,q as ws,r as vs,s as ks,t as Ss,v as _s,w as Es,x as As,I as Cs,y as Rs,z as Ts,A as Ns,B as Os,C as js,E as Ps,P as Is,F as Ls,G as Ds,H as zs,J as Ms}from"./ui-vendor-BuM9f2NY.js";import{m as Ve,u as Fs,A as rr,M as Bs}from"./motion-vendor-g5fpGzmJ.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))r(n);new MutationObserver(n=>{for(const s of n)if(s.type==="childList")for(const a of s.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function o(n){const s={};return n.integrity&&(s.integrity=n.integrity),n.referrerPolicy&&(s.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?s.credentials="include":n.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(n){if(n.ep)return;n.ep=!0;const s=o(n);fetch(n.href,s)}})();function nr(e){var t,o,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var n=e.length;for(t=0;t<n;t++)e[t]&&(o=nr(e[t]))&&(r&&(r+=" "),r+=o)}else for(o in e)e[o]&&(r&&(r+=" "),r+=o);return r}function sr(){for(var e,t,o=0,r="",n=arguments.length;o<n;o++)(e=arguments[o])&&(t=nr(e))&&(r&&(r+=" "),r+=t);return r}const Us=(e,t)=>{const o=new Array(e.length+t.length);for(let r=0;r<e.length;r++)o[r]=e[r];for(let r=0;r<t.length;r++)o[e.length+r]=t[r];return o},qs=(e,t)=>({classGroupId:e,validator:t}),ar=(e=new Map,t=null,o)=>({nextPart:e,validators:t,classGroupId:o}),mt="-",uo=[],$s="arbitrary..",Vs=e=>{const t=Gs(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return Hs(a);const i=a.split(mt),c=i[0]===""&&i.length>1?1:0;return ir(i,c,t)},getConflictingClassGroupIds:(a,i)=>{if(i){const c=r[a],d=o[a];return c?d?Us(d,c):c:d||uo}return o[a]||uo}}},ir=(e,t,o)=>{if(e.length-t===0)return o.classGroupId;const n=e[t],s=o.nextPart.get(n);if(s){const d=ir(e,t+1,s);if(d)return d}const a=o.validators;if(a===null)return;const i=t===0?e.join(mt):e.slice(t).join(mt),c=a.length;for(let d=0;d<c;d++){const f=a[d];if(f.validator(i))return f.classGroupId}},Hs=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),o=t.indexOf(":"),r=t.slice(0,o);return r?$s+r:void 0})(),Gs=e=>{const{theme:t,classGroups:o}=e;return Ws(o,t)},Ws=(e,t)=>{const o=ar();for(const r in e){const n=e[r];Vt(n,o,r,t)}return o},Vt=(e,t,o,r)=>{const n=e.length;for(let s=0;s<n;s++){const a=e[s];Ks(a,t,o,r)}},Ks=(e,t,o,r)=>{if(typeof e=="string"){Js(e,t,o);return}if(typeof e=="function"){Xs(e,t,o,r);return}Ys(e,t,o,r)},Js=(e,t,o)=>{const r=e===""?t:lr(t,e);r.classGroupId=o},Xs=(e,t,o,r)=>{if(Qs(e)){Vt(e(r),t,o,r);return}t.validators===null&&(t.validators=[]),t.validators.push(qs(o,e))},Ys=(e,t,o,r)=>{const n=Object.entries(e),s=n.length;for(let a=0;a<s;a++){const[i,c]=n[a];Vt(c,lr(t,i),o,r)}},lr=(e,t)=>{let o=e;const r=t.split(mt),n=r.length;for(let s=0;s<n;s++){const a=r[s];let i=o.nextPart.get(a);i||(i=ar(),o.nextPart.set(a,i)),o=i}return o},Qs=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Zs=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,o=Object.create(null),r=Object.create(null);const n=(s,a)=>{o[s]=a,t++,t>e&&(t=0,r=o,o=Object.create(null))};return{get(s){let a=o[s];if(a!==void 0)return a;if((a=r[s])!==void 0)return n(s,a),a},set(s,a){s in o?o[s]=a:n(s,a)}}},It="!",fo=":",ea=[],po=(e,t,o,r,n)=>({modifiers:e,hasImportantModifier:t,baseClassName:o,maybePostfixModifierPosition:r,isExternal:n}),ta=e=>{const{prefix:t,experimentalParseClassName:o}=e;let r=n=>{const s=[];let a=0,i=0,c=0,d;const f=n.length;for(let A=0;A<f;A++){const h=n[A];if(a===0&&i===0){if(h===fo){s.push(n.slice(c,A)),c=A+1;continue}if(h==="/"){d=A;continue}}h==="["?a++:h==="]"?a--:h==="("?i++:h===")"&&i--}const m=s.length===0?n:n.slice(c);let b=m,x=!1;m.endsWith(It)?(b=m.slice(0,-1),x=!0):m.startsWith(It)&&(b=m.slice(1),x=!0);const R=d&&d>c?d-c:void 0;return po(s,x,b,R)};if(t){const n=t+fo,s=r;r=a=>a.startsWith(n)?s(a.slice(n.length)):po(ea,!1,a,void 0,!0)}if(o){const n=r;r=s=>o({className:s,parseClassName:n})}return r},oa=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((o,r)=>{t.set(o,1e6+r)}),o=>{const r=[];let n=[];for(let s=0;s<o.length;s++){const a=o[s],i=a[0]==="[",c=t.has(a);i||c?(n.length>0&&(n.sort(),r.push(...n),n=[]),r.push(a)):n.push(a)}return n.length>0&&(n.sort(),r.push(...n)),r}},ra=e=>({cache:Zs(e.cacheSize),parseClassName:ta(e),sortModifiers:oa(e),postfixLookupClassGroupIds:na(e),...Vs(e)}),na=e=>{const t=Object.create(null),o=e.postfixLookupClassGroups;if(o)for(let r=0;r<o.length;r++)t[o[r]]=!0;return t},sa=/\s+/,aa=(e,t)=>{const{parseClassName:o,getClassGroupId:r,getConflictingClassGroupIds:n,sortModifiers:s,postfixLookupClassGroupIds:a}=t,i=[],c=e.trim().split(sa);let d="";for(let f=c.length-1;f>=0;f-=1){const m=c[f],{isExternal:b,modifiers:x,hasImportantModifier:R,baseClassName:A,maybePostfixModifierPosition:h}=o(m);if(b){d=m+(d.length>0?" "+d:d);continue}let p=!!h,g;if(p){const F=A.substring(0,h);g=r(F);const E=g&&a[g]?r(A):void 0;E&&E!==g&&(g=E,p=!1)}else g=r(A);if(!g){if(!p){d=m+(d.length>0?" "+d:d);continue}if(g=r(A),!g){d=m+(d.length>0?" "+d:d);continue}p=!1}const S=x.length===0?"":x.length===1?x[0]:s(x).join(":"),C=R?S+It:S,P=C+g;if(i.indexOf(P)>-1)continue;i.push(P);const I=n(g,p);for(let F=0;F<I.length;++F){const E=I[F];i.push(C+E)}d=m+(d.length>0?" "+d:d)}return d},ia=(...e)=>{let t=0,o,r,n="";for(;t<e.length;)(o=e[t++])&&(r=cr(o))&&(n&&(n+=" "),n+=r);return n},cr=e=>{if(typeof e=="string")return e;let t,o="";for(let r=0;r<e.length;r++)e[r]&&(t=cr(e[r]))&&(o&&(o+=" "),o+=t);return o},la=(e,...t)=>{let o,r,n,s;const a=c=>{const d=t.reduce((f,m)=>m(f),e());return o=ra(d),r=o.cache.get,n=o.cache.set,s=i,i(c)},i=c=>{const d=r(c);if(d)return d;const f=aa(c,o);return n(c,f),f};return s=a,(...c)=>s(ia(...c))},ca=[],G=e=>{const t=o=>o[e]||ca;return t.isThemeGetter=!0,t},dr=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,ur=/^\((?:(\w[\w-]*):)?(.+)\)$/i,da=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,ua=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,fa=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,pa=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,ma=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,ha=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ye=e=>da.test(e),j=e=>!!e&&!Number.isNaN(Number(e)),ue=e=>!!e&&Number.isInteger(Number(e)),Et=e=>e.endsWith("%")&&j(e.slice(0,-1)),me=e=>ua.test(e),fr=()=>!0,ga=e=>fa.test(e)&&!pa.test(e),Ht=()=>!1,ba=e=>ma.test(e),ya=e=>ha.test(e),xa=e=>!w(e)&&!v(e),wa=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),va=e=>xe(e,hr,Ht),w=e=>dr.test(e),_e=e=>xe(e,gr,ga),mo=e=>xe(e,Ta,j),ka=e=>xe(e,yr,fr),Sa=e=>xe(e,br,Ht),ho=e=>xe(e,pr,Ht),_a=e=>xe(e,mr,ya),st=e=>xe(e,xr,ba),v=e=>ur.test(e),Ue=e=>Ne(e,gr),Ea=e=>Ne(e,br),go=e=>Ne(e,pr),Aa=e=>Ne(e,hr),Ca=e=>Ne(e,mr),at=e=>Ne(e,xr,!0),Ra=e=>Ne(e,yr,!0),xe=(e,t,o)=>{const r=dr.exec(e);return r?r[1]?t(r[1]):o(r[2]):!1},Ne=(e,t,o=!1)=>{const r=ur.exec(e);return r?r[1]?t(r[1]):o:!1},pr=e=>e==="position"||e==="percentage",mr=e=>e==="image"||e==="url",hr=e=>e==="length"||e==="size"||e==="bg-size",gr=e=>e==="length",Ta=e=>e==="number",br=e=>e==="family-name",yr=e=>e==="number"||e==="weight",xr=e=>e==="shadow",Na=()=>{const e=G("color"),t=G("font"),o=G("text"),r=G("font-weight"),n=G("tracking"),s=G("leading"),a=G("breakpoint"),i=G("container"),c=G("spacing"),d=G("radius"),f=G("shadow"),m=G("inset-shadow"),b=G("text-shadow"),x=G("drop-shadow"),R=G("blur"),A=G("perspective"),h=G("aspect"),p=G("ease"),g=G("animate"),S=()=>["auto","avoid","all","avoid-page","page","left","right","column"],C=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],P=()=>[...C(),v,w],I=()=>["auto","hidden","clip","visible","scroll"],F=()=>["auto","contain","none"],E=()=>[v,w,c],$=()=>[ye,"full","auto",...E()],H=()=>[ue,"none","subgrid",v,w],Q=()=>["auto",{span:["full",ue,v,w]},ue,v,w],de=()=>[ue,"auto",v,w],we=()=>["auto","min","max","fr",v,w],D=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],Z=()=>["start","end","center","stretch","center-safe","end-safe"],V=()=>["auto",...E()],re=()=>[ye,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...E()],he=()=>[ye,"screen","full","dvw","lvw","svw","min","max","fit",...E()],fe=()=>[ye,"screen","full","lh","dvh","lvh","svh","min","max","fit",...E()],_=()=>[e,v,w],B=()=>[...C(),go,ho,{position:[v,w]}],ne=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ie=()=>["auto","cover","contain",Aa,va,{size:[v,w]}],L=()=>[Et,Ue,_e],z=()=>["","none","full",d,v,w],T=()=>["",j,Ue,_e],M=()=>["solid","dashed","dotted","double"],ve=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],q=()=>[j,Et,go,ho],et=()=>["","none",R,v,w],ke=()=>["none",j,v,w],ee=()=>["none",j,v,w],je=()=>[j,v,w],ge=()=>[ye,"full",...E()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[me],breakpoint:[me],color:[fr],container:[me],"drop-shadow":[me],ease:["in","out","in-out"],font:[xa],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[me],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[me],shadow:[me],spacing:["px",j],text:[me],"text-shadow":[me],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ye,w,v,h]}],container:["container"],"container-type":[{"@container":["","normal","size",v,w]}],"container-named":[wa],columns:[{columns:[j,w,v,i]}],"break-after":[{"break-after":S()}],"break-before":[{"break-before":S()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:P()}],overflow:[{overflow:I()}],"overflow-x":[{"overflow-x":I()}],"overflow-y":[{"overflow-y":I()}],overscroll:[{overscroll:F()}],"overscroll-x":[{"overscroll-x":F()}],"overscroll-y":[{"overscroll-y":F()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:$()}],"inset-x":[{"inset-x":$()}],"inset-y":[{"inset-y":$()}],start:[{"inset-s":$(),start:$()}],end:[{"inset-e":$(),end:$()}],"inset-bs":[{"inset-bs":$()}],"inset-be":[{"inset-be":$()}],top:[{top:$()}],right:[{right:$()}],bottom:[{bottom:$()}],left:[{left:$()}],visibility:["visible","invisible","collapse"],z:[{z:[ue,"auto",v,w]}],basis:[{basis:[ye,"full","auto",i,...E()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[j,ye,"auto","initial","none",w]}],grow:[{grow:["",j,v,w]}],shrink:[{shrink:["",j,v,w]}],order:[{order:[ue,"first","last","none",v,w]}],"grid-cols":[{"grid-cols":H()}],"col-start-end":[{col:Q()}],"col-start":[{"col-start":de()}],"col-end":[{"col-end":de()}],"grid-rows":[{"grid-rows":H()}],"row-start-end":[{row:Q()}],"row-start":[{"row-start":de()}],"row-end":[{"row-end":de()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":we()}],"auto-rows":[{"auto-rows":we()}],gap:[{gap:E()}],"gap-x":[{"gap-x":E()}],"gap-y":[{"gap-y":E()}],"justify-content":[{justify:[...D(),"normal"]}],"justify-items":[{"justify-items":[...Z(),"normal"]}],"justify-self":[{"justify-self":["auto",...Z()]}],"align-content":[{content:["normal",...D()]}],"align-items":[{items:[...Z(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...Z(),{baseline:["","last"]}]}],"place-content":[{"place-content":D()}],"place-items":[{"place-items":[...Z(),"baseline"]}],"place-self":[{"place-self":["auto",...Z()]}],p:[{p:E()}],px:[{px:E()}],py:[{py:E()}],ps:[{ps:E()}],pe:[{pe:E()}],pbs:[{pbs:E()}],pbe:[{pbe:E()}],pt:[{pt:E()}],pr:[{pr:E()}],pb:[{pb:E()}],pl:[{pl:E()}],m:[{m:V()}],mx:[{mx:V()}],my:[{my:V()}],ms:[{ms:V()}],me:[{me:V()}],mbs:[{mbs:V()}],mbe:[{mbe:V()}],mt:[{mt:V()}],mr:[{mr:V()}],mb:[{mb:V()}],ml:[{ml:V()}],"space-x":[{"space-x":E()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":E()}],"space-y-reverse":["space-y-reverse"],size:[{size:re()}],"inline-size":[{inline:["auto",...he()]}],"min-inline-size":[{"min-inline":["auto",...he()]}],"max-inline-size":[{"max-inline":["none",...he()]}],"block-size":[{block:["auto",...fe()]}],"min-block-size":[{"min-block":["auto",...fe()]}],"max-block-size":[{"max-block":["none",...fe()]}],w:[{w:[i,"screen",...re()]}],"min-w":[{"min-w":[i,"screen","none",...re()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[a]},...re()]}],h:[{h:["screen","lh",...re()]}],"min-h":[{"min-h":["screen","lh","none",...re()]}],"max-h":[{"max-h":["screen","lh",...re()]}],"font-size":[{text:["base",o,Ue,_e]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,Ra,ka]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Et,w]}],"font-family":[{font:[Ea,Sa,t]}],"font-features":[{"font-features":[w]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[n,v,w]}],"line-clamp":[{"line-clamp":[j,"none",v,mo]}],leading:[{leading:[s,...E()]}],"list-image":[{"list-image":["none",v,w]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",v,w]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:_()}],"text-color":[{text:_()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...M(),"wavy"]}],"text-decoration-thickness":[{decoration:[j,"from-font","auto",v,_e]}],"text-decoration-color":[{decoration:_()}],"underline-offset":[{"underline-offset":[j,"auto",v,w]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:E()}],"tab-size":[{tab:[ue,v,w]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",v,w]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",v,w]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:B()}],"bg-repeat":[{bg:ne()}],"bg-size":[{bg:ie()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},ue,v,w],radial:["",v,w],conic:[ue,v,w]},Ca,_a]}],"bg-color":[{bg:_()}],"gradient-from-pos":[{from:L()}],"gradient-via-pos":[{via:L()}],"gradient-to-pos":[{to:L()}],"gradient-from":[{from:_()}],"gradient-via":[{via:_()}],"gradient-to":[{to:_()}],rounded:[{rounded:z()}],"rounded-s":[{"rounded-s":z()}],"rounded-e":[{"rounded-e":z()}],"rounded-t":[{"rounded-t":z()}],"rounded-r":[{"rounded-r":z()}],"rounded-b":[{"rounded-b":z()}],"rounded-l":[{"rounded-l":z()}],"rounded-ss":[{"rounded-ss":z()}],"rounded-se":[{"rounded-se":z()}],"rounded-ee":[{"rounded-ee":z()}],"rounded-es":[{"rounded-es":z()}],"rounded-tl":[{"rounded-tl":z()}],"rounded-tr":[{"rounded-tr":z()}],"rounded-br":[{"rounded-br":z()}],"rounded-bl":[{"rounded-bl":z()}],"border-w":[{border:T()}],"border-w-x":[{"border-x":T()}],"border-w-y":[{"border-y":T()}],"border-w-s":[{"border-s":T()}],"border-w-e":[{"border-e":T()}],"border-w-bs":[{"border-bs":T()}],"border-w-be":[{"border-be":T()}],"border-w-t":[{"border-t":T()}],"border-w-r":[{"border-r":T()}],"border-w-b":[{"border-b":T()}],"border-w-l":[{"border-l":T()}],"divide-x":[{"divide-x":T()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":T()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...M(),"hidden","none"]}],"divide-style":[{divide:[...M(),"hidden","none"]}],"border-color":[{border:_()}],"border-color-x":[{"border-x":_()}],"border-color-y":[{"border-y":_()}],"border-color-s":[{"border-s":_()}],"border-color-e":[{"border-e":_()}],"border-color-bs":[{"border-bs":_()}],"border-color-be":[{"border-be":_()}],"border-color-t":[{"border-t":_()}],"border-color-r":[{"border-r":_()}],"border-color-b":[{"border-b":_()}],"border-color-l":[{"border-l":_()}],"divide-color":[{divide:_()}],"outline-style":[{outline:[...M(),"none","hidden"]}],"outline-offset":[{"outline-offset":[j,v,w]}],"outline-w":[{outline:["",j,Ue,_e]}],"outline-color":[{outline:_()}],shadow:[{shadow:["","none",f,at,st]}],"shadow-color":[{shadow:_()}],"inset-shadow":[{"inset-shadow":["none",m,at,st]}],"inset-shadow-color":[{"inset-shadow":_()}],"ring-w":[{ring:T()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:_()}],"ring-offset-w":[{"ring-offset":[j,_e]}],"ring-offset-color":[{"ring-offset":_()}],"inset-ring-w":[{"inset-ring":T()}],"inset-ring-color":[{"inset-ring":_()}],"text-shadow":[{"text-shadow":["none",b,at,st]}],"text-shadow-color":[{"text-shadow":_()}],opacity:[{opacity:[j,v,w]}],"mix-blend":[{"mix-blend":[...ve(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ve()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[j]}],"mask-image-linear-from-pos":[{"mask-linear-from":q()}],"mask-image-linear-to-pos":[{"mask-linear-to":q()}],"mask-image-linear-from-color":[{"mask-linear-from":_()}],"mask-image-linear-to-color":[{"mask-linear-to":_()}],"mask-image-t-from-pos":[{"mask-t-from":q()}],"mask-image-t-to-pos":[{"mask-t-to":q()}],"mask-image-t-from-color":[{"mask-t-from":_()}],"mask-image-t-to-color":[{"mask-t-to":_()}],"mask-image-r-from-pos":[{"mask-r-from":q()}],"mask-image-r-to-pos":[{"mask-r-to":q()}],"mask-image-r-from-color":[{"mask-r-from":_()}],"mask-image-r-to-color":[{"mask-r-to":_()}],"mask-image-b-from-pos":[{"mask-b-from":q()}],"mask-image-b-to-pos":[{"mask-b-to":q()}],"mask-image-b-from-color":[{"mask-b-from":_()}],"mask-image-b-to-color":[{"mask-b-to":_()}],"mask-image-l-from-pos":[{"mask-l-from":q()}],"mask-image-l-to-pos":[{"mask-l-to":q()}],"mask-image-l-from-color":[{"mask-l-from":_()}],"mask-image-l-to-color":[{"mask-l-to":_()}],"mask-image-x-from-pos":[{"mask-x-from":q()}],"mask-image-x-to-pos":[{"mask-x-to":q()}],"mask-image-x-from-color":[{"mask-x-from":_()}],"mask-image-x-to-color":[{"mask-x-to":_()}],"mask-image-y-from-pos":[{"mask-y-from":q()}],"mask-image-y-to-pos":[{"mask-y-to":q()}],"mask-image-y-from-color":[{"mask-y-from":_()}],"mask-image-y-to-color":[{"mask-y-to":_()}],"mask-image-radial":[{"mask-radial":[v,w]}],"mask-image-radial-from-pos":[{"mask-radial-from":q()}],"mask-image-radial-to-pos":[{"mask-radial-to":q()}],"mask-image-radial-from-color":[{"mask-radial-from":_()}],"mask-image-radial-to-color":[{"mask-radial-to":_()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":C()}],"mask-image-conic-pos":[{"mask-conic":[j]}],"mask-image-conic-from-pos":[{"mask-conic-from":q()}],"mask-image-conic-to-pos":[{"mask-conic-to":q()}],"mask-image-conic-from-color":[{"mask-conic-from":_()}],"mask-image-conic-to-color":[{"mask-conic-to":_()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:B()}],"mask-repeat":[{mask:ne()}],"mask-size":[{mask:ie()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",v,w]}],filter:[{filter:["","none",v,w]}],blur:[{blur:et()}],brightness:[{brightness:[j,v,w]}],contrast:[{contrast:[j,v,w]}],"drop-shadow":[{"drop-shadow":["","none",x,at,st]}],"drop-shadow-color":[{"drop-shadow":_()}],grayscale:[{grayscale:["",j,v,w]}],"hue-rotate":[{"hue-rotate":[j,v,w]}],invert:[{invert:["",j,v,w]}],saturate:[{saturate:[j,v,w]}],sepia:[{sepia:["",j,v,w]}],"backdrop-filter":[{"backdrop-filter":["","none",v,w]}],"backdrop-blur":[{"backdrop-blur":et()}],"backdrop-brightness":[{"backdrop-brightness":[j,v,w]}],"backdrop-contrast":[{"backdrop-contrast":[j,v,w]}],"backdrop-grayscale":[{"backdrop-grayscale":["",j,v,w]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[j,v,w]}],"backdrop-invert":[{"backdrop-invert":["",j,v,w]}],"backdrop-opacity":[{"backdrop-opacity":[j,v,w]}],"backdrop-saturate":[{"backdrop-saturate":[j,v,w]}],"backdrop-sepia":[{"backdrop-sepia":["",j,v,w]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":E()}],"border-spacing-x":[{"border-spacing-x":E()}],"border-spacing-y":[{"border-spacing-y":E()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",v,w]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[j,"initial",v,w]}],ease:[{ease:["linear","initial",p,v,w]}],delay:[{delay:[j,v,w]}],animate:[{animate:["none",g,v,w]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[A,v,w]}],"perspective-origin":[{"perspective-origin":P()}],rotate:[{rotate:ke()}],"rotate-x":[{"rotate-x":ke()}],"rotate-y":[{"rotate-y":ke()}],"rotate-z":[{"rotate-z":ke()}],scale:[{scale:ee()}],"scale-x":[{"scale-x":ee()}],"scale-y":[{"scale-y":ee()}],"scale-z":[{"scale-z":ee()}],"scale-3d":["scale-3d"],skew:[{skew:je()}],"skew-x":[{"skew-x":je()}],"skew-y":[{"skew-y":je()}],transform:[{transform:[v,w,"","none","gpu","cpu"]}],"transform-origin":[{origin:P()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ge()}],"translate-x":[{"translate-x":ge()}],"translate-y":[{"translate-y":ge()}],"translate-z":[{"translate-z":ge()}],"translate-none":["translate-none"],zoom:[{zoom:[ue,v,w]}],accent:[{accent:_()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:_()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",v,w]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":_()}],"scrollbar-track-color":[{"scrollbar-track":_()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":E()}],"scroll-mx":[{"scroll-mx":E()}],"scroll-my":[{"scroll-my":E()}],"scroll-ms":[{"scroll-ms":E()}],"scroll-me":[{"scroll-me":E()}],"scroll-mbs":[{"scroll-mbs":E()}],"scroll-mbe":[{"scroll-mbe":E()}],"scroll-mt":[{"scroll-mt":E()}],"scroll-mr":[{"scroll-mr":E()}],"scroll-mb":[{"scroll-mb":E()}],"scroll-ml":[{"scroll-ml":E()}],"scroll-p":[{"scroll-p":E()}],"scroll-px":[{"scroll-px":E()}],"scroll-py":[{"scroll-py":E()}],"scroll-ps":[{"scroll-ps":E()}],"scroll-pe":[{"scroll-pe":E()}],"scroll-pbs":[{"scroll-pbs":E()}],"scroll-pbe":[{"scroll-pbe":E()}],"scroll-pt":[{"scroll-pt":E()}],"scroll-pr":[{"scroll-pr":E()}],"scroll-pb":[{"scroll-pb":E()}],"scroll-pl":[{"scroll-pl":E()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",v,w]}],fill:[{fill:["none",..._()]}],"stroke-w":[{stroke:[j,Ue,_e,mo]}],stroke:[{stroke:["none",..._()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},Oa=la(Na);function O(...e){return Oa(sr(e))}const bo=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,yo=sr,wr=(e,t)=>o=>{var r;if((t==null?void 0:t.variants)==null)return yo(e,o==null?void 0:o.class,o==null?void 0:o.className);const{variants:n,defaultVariants:s}=t,a=Object.keys(n).map(d=>{const f=o==null?void 0:o[d],m=s==null?void 0:s[d];if(f===null)return null;const b=bo(f)||bo(m);return n[d][b]}),i=o&&Object.entries(o).reduce((d,f)=>{let[m,b]=f;return b===void 0||(d[m]=b),d},{}),c=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((d,f)=>{let{class:m,className:b,...x}=f;return Object.entries(x).every(R=>{let[A,h]=R;return Array.isArray(h)?h.includes({...s,...i}[A]):{...s,...i}[A]===h})?[...d,m,b]:d},[]);return yo(e,a,c,o==null?void 0:o.class,o==null?void 0:o.className)};function ja({className:e,...t}){return l.jsx(pt,{"aria-label":"Loading",className:O("animate-spin",e),role:"status",...t})}const vr=wr("relative inline-flex shrink-0 cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded-lg border font-medium text-base outline-none pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-64 data-loading:select-none data-loading:text-transparent sm:text-sm [&_svg:not([class*='opacity-'])]:opacity-80 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:-mx-0.5 [&_svg]:shrink-0",{defaultVariants:{size:"default",variant:"default"},variants:{size:{default:"h-9 px-[calc(--spacing(3)-1px)] sm:h-8",icon:"size-9 sm:size-8","icon-lg":"size-10 sm:size-9","icon-sm":"size-8 sm:size-7","icon-xl":"size-11 sm:size-10 [&_svg:not([class*='size-'])]:size-5 sm:[&_svg:not([class*='size-'])]:size-4.5","icon-xs":"size-7 rounded-md before:rounded-[calc(var(--radius-md)-1px)] sm:size-6 not-in-data-[slot=input-group]:[&_svg:not([class*='size-'])]:size-4 sm:not-in-data-[slot=input-group]:[&_svg:not([class*='size-'])]:size-3.5",lg:"h-10 px-[calc(--spacing(3.5)-1px)] sm:h-9",sm:"h-8 gap-1.5 px-[calc(--spacing(2.5)-1px)] sm:h-7",xl:"h-11 px-[calc(--spacing(4)-1px)] text-lg sm:h-10 sm:text-base [&_svg:not([class*='size-'])]:size-5 sm:[&_svg:not([class*='size-'])]:size-4.5",xs:"h-7 gap-1 rounded-md px-[calc(--spacing(2)-1px)] text-sm before:rounded-[calc(var(--radius-md)-1px)] sm:h-6 sm:text-xs [&_svg:not([class*='size-'])]:size-4 sm:[&_svg:not([class*='size-'])]:size-3.5"},variant:{default:"border-primary bg-primary text-primary-foreground hover:bg-primary/90 data-pressed:bg-primary/90 *:data-[slot=button-loading-indicator]:text-primary-foreground",destructive:"border-destructive bg-destructive text-white hover:bg-destructive/90 data-pressed:bg-destructive/90 *:data-[slot=button-loading-indicator]:text-white","destructive-outline":"border-input bg-popover not-dark:bg-clip-padding text-destructive-foreground hover:border-destructive/32 hover:bg-destructive/4 data-pressed:border-destructive/32 data-pressed:bg-destructive/4 *:data-[slot=button-loading-indicator]:text-foreground dark:bg-input/32",ghost:"border-transparent text-foreground hover:bg-accent data-pressed:bg-accent *:data-[slot=button-loading-indicator]:text-foreground",link:"border-transparent text-foreground underline-offset-4 hover:underline data-pressed:underline *:data-[slot=button-loading-indicator]:text-foreground",outline:"border-input bg-popover not-dark:bg-clip-padding text-foreground hover:bg-accent/50 data-pressed:bg-accent/50 *:data-[slot=button-loading-indicator]:text-foreground dark:bg-input/32 dark:data-pressed:bg-input/64 dark:hover:bg-input/64",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/90 data-pressed:bg-secondary/90 *:data-[slot=button-loading-indicator]:text-secondary-foreground [:active,[data-pressed]]:bg-secondary/80"}}});function ht({className:e,variant:t,size:o,render:r,children:n,loading:s=!1,disabled:a,...i}){const c=!!(s||a),d=r?void 0:"button",f={children:l.jsxs(l.Fragment,{children:[n,s&&l.jsx(ja,{className:"pointer-events-none absolute","data-slot":"button-loading-indicator"})]}),className:O(vr({className:e,size:o,variant:t})),"aria-disabled":s||void 0,"data-loading":s?"":void 0,"data-slot":"button",disabled:c,type:d};return Ge({defaultTagName:"button",props:We(f,i),render:r})}const Pa={error:gn,info:hn,loading:pt,success:mn,warning:or};function Ia(e){const t=e.startsWith("top")?"up":"down";return e.includes("center")?[t]:e.includes("left")?["left",t]:["right",t]}function La(e){const t=e.updateKey??0;if(t<=0)return;const o=t%2===0;return e.type==="error"?o?"animate-toast-error-even":"animate-toast-error-odd":o?"animate-toast-success-even":"animate-toast-success-odd"}function Da({position:e,portalProps:t}){const{toasts:o}=ns(),r=Ia(e);return l.jsx(ss,{"data-slot":"toast-portal",...t,children:l.jsx(as,{className:O("fixed z-60 mx-auto flex w-[calc(100%-var(--toast-inset)*2)] max-w-90 [--toast-inset:--spacing(4)] sm:[--toast-inset:--spacing(8)]","data-[position*=top]:top-(--toast-inset)","data-[position*=bottom]:bottom-(--toast-inset)","data-[position*=left]:left-(--toast-inset)","data-[position*=right]:right-(--toast-inset)","data-[position*=center]:left-1/2 data-[position*=center]:-translate-x-1/2"),"data-position":e,"data-slot":"toast-viewport",children:o.map(n=>{const s=n.type?Pa[n.type]:null,a=n.data;return l.jsx(is,{className:O("absolute z-[calc(9999-var(--toast-index))] h-(--toast-calc-height) w-full select-text rounded-lg border bg-[color-mix(in_srgb,var(--popover),var(--color-black)_calc(1%*max(0,var(--toast-index,0))))] not-dark:bg-clip-padding text-popover-foreground [transition:transform_.22s_cubic-bezier(.22,1,.36,1),opacity_.18s,height_.12s,background-color_.22s] data-expanded:bg-popover dark:bg-[color-mix(in_srgb,var(--popover),var(--color-black)_calc(6%*max(0,var(--toast-index,0))))] dark:data-expanded:bg-popover","data-[position*=right]:right-0 data-[position*=right]:left-auto","data-[position*=left]:right-auto data-[position*=left]:left-0","data-[position*=center]:right-0 data-[position*=center]:left-0","data-[position*=top]:top-0 data-[position*=top]:bottom-auto data-[position*=top]:origin-[50%_calc(50%-50%*min(var(--toast-index,0),1))]","data-[position*=bottom]:top-auto data-[position*=bottom]:bottom-0 data-[position*=bottom]:origin-[50%_calc(50%+50%*min(var(--toast-index,0),1))]","after:absolute after:left-0 after:h-[calc(var(--toast-gap)+1px)] after:w-full","data-[position*=top]:after:top-full","data-[position*=bottom]:after:bottom-full","[--toast-calc-height:var(--toast-frontmost-height,var(--toast-height))] [--toast-gap:--spacing(3)] [--toast-peek:--spacing(3)] [--toast-scale:calc(max(0,1-(var(--toast-index)*.1)))] [--toast-shrink:calc(1-var(--toast-scale))]","data-[position*=top]:[--toast-calc-offset-y:calc(var(--toast-offset-y)-var(--toast-index)*var(--toast-gap)+var(--toast-swipe-movement-y))]","data-[position*=bottom]:[--toast-calc-offset-y:calc(var(--toast-offset-y)*-1+var(--toast-index)*var(--toast-gap)*-1+var(--toast-swipe-movement-y))]","data-[position*=top]:transform-[translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)-(var(--toast-index)*var(--toast-peek))+(var(--toast-shrink)*var(--toast-calc-height))))_scale(var(--toast-scale))]","data-[position*=bottom]:transform-[translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)+(var(--toast-index)*var(--toast-peek))-(var(--toast-shrink)*var(--toast-calc-height))))_scale(var(--toast-scale))]","data-limited:opacity-0","data-expanded:h-(--toast-height)","data-position:data-expanded:transform-[translateX(var(--toast-swipe-movement-x))_translateY(var(--toast-calc-offset-y))]","data-[position*=top]:data-starting-style:transform-[translateY(calc(-100%-var(--toast-inset)))]","data-[position*=bottom]:data-starting-style:transform-[translateY(calc(100%+var(--toast-inset)))]","data-ending-style:opacity-0","data-[position*=top]:data-ending-style:not-data-limited:not-data-swipe-direction:transform-[translateY(calc(-100%-var(--toast-inset)))]","data-[position*=bottom]:data-ending-style:not-data-limited:not-data-swipe-direction:transform-[translateY(calc(100%+var(--toast-inset)))]","data-ending-style:data-[swipe-direction=left]:transform-[translateX(calc(var(--toast-swipe-movement-x)-100%-var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]","data-ending-style:data-[swipe-direction=right]:transform-[translateX(calc(var(--toast-swipe-movement-x)+100%+var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]","data-ending-style:data-[swipe-direction=up]:transform-[translateY(calc(var(--toast-swipe-movement-y)-100%-var(--toast-inset)))]","data-ending-style:data-[swipe-direction=down]:transform-[translateY(calc(var(--toast-swipe-movement-y)+100%+var(--toast-inset)))]","data-expanded:data-ending-style:data-[swipe-direction=left]:transform-[translateX(calc(var(--toast-swipe-movement-x)-100%-var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]","data-expanded:data-ending-style:data-[swipe-direction=right]:transform-[translateX(calc(var(--toast-swipe-movement-x)+100%+var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]","data-expanded:data-ending-style:data-[swipe-direction=up]:transform-[translateY(calc(var(--toast-swipe-movement-y)-100%-var(--toast-inset)))]","data-expanded:data-ending-style:data-[swipe-direction=down]:transform-[translateY(calc(var(--toast-swipe-movement-y)+100%+var(--toast-inset)))]",La(n)),...a==null?void 0:a.rootProps,"data-position":e,swipeDirection:r,toast:n,children:l.jsxs(ls,{className:"pointer-events-auto flex max-h-[min(14rem,calc(100vh-2*var(--toast-inset)))] min-w-0 items-center gap-3 overflow-y-auto overflow-x-hidden px-3.5 py-3 text-sm transition-opacity duration-180 data-behind:not-data-expanded:pointer-events-none data-behind:opacity-0 data-expanded:opacity-100",children:[s&&l.jsx("span",{className:"flex size-7 shrink-0 items-center justify-center rounded-full bg-muted/70 [&>svg]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0","data-slot":"toast-icon",children:l.jsx(s,{className:"in-data-[type=loading]:animate-spin in-data-[type=error]:text-destructive in-data-[type=info]:text-info in-data-[type=success]:text-success in-data-[type=warning]:text-warning in-data-[type=loading]:opacity-80"})}),l.jsxs("div",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[l.jsx(cs,{className:"select-text cursor-text font-medium leading-snug break-words [overflow-wrap:anywhere]","data-slot":"toast-title"}),l.jsx(ds,{className:"text-muted-foreground leading-snug break-words [overflow-wrap:anywhere]","data-slot":"toast-description"})]}),n.actionProps&&l.jsx(us,{className:O(vr({size:"xs"}),"shrink-0"),"data-slot":"toast-action",children:n.actionProps.children}),l.jsx(fs,{"aria-label":"Dismiss notification",className:"flex size-7 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-muted/70 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","data-slot":"toast-close",children:l.jsx($t,{className:"size-4"})})]})},n.id)})})})}const kr=os();function Ke(e,t){kr.add({type:e,title:t})}function Je(e){Ke("info",e)}Je.success=e=>Ke("success",e);Je.error=e=>Ke("error",e);Je.info=e=>Ke("info",e);Je.warning=e=>Ke("warning",e);const Lt=Je;function za({children:e,position:t="bottom-right",portalProps:o,...r}){return l.jsxs(rs,{toastManager:kr,limit:1,timeout:2e3,...r,children:[e,l.jsx(Da,{portalProps:o,position:t})]})}const Ma=za,Fa="modulepreload",Ba=function(e){return"/"+e},xo={},Y=function(t,o,r){let n=Promise.resolve();if(o&&o.length>0){let a=function(d){return Promise.all(d.map(f=>Promise.resolve(f).then(m=>({status:"fulfilled",value:m}),m=>({status:"rejected",reason:m}))))};document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),c=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));n=a(o.map(d=>{if(d=Ba(d),d in xo)return;xo[d]=!0;const f=d.endsWith(".css"),m=f?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${d}"]${m}`))return;const b=document.createElement("link");if(b.rel=f?"stylesheet":Fa,f||(b.as="script"),b.crossOrigin="",b.href=d,c&&b.setAttribute("nonce",c),document.head.appendChild(b),f)return new Promise((x,R)=>{b.addEventListener("load",x),b.addEventListener("error",()=>R(new Error(`Unable to preload CSS for ${d}`)))})}))}function s(a){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=a,window.dispatchEvent(i),!i.defaultPrevented)throw a}return n.then(a=>{for(const i of a||[])i.status==="rejected"&&s(i.reason);return t().catch(s)})};function Sr(e,t){return function(){return e.apply(t,arguments)}}const{toString:Ua}=Object.prototype,{getPrototypeOf:De}=Object,{iterator:Xe,toStringTag:_r}=Symbol,gt=(({hasOwnProperty:e})=>(t,o)=>e.call(t,o))(Object.prototype),He=(e,t)=>{let o=e;const r=[];for(;o!=null&&o!==Object.prototype;){if(r.indexOf(o)!==-1)return!1;if(r.push(o),gt(o,t))return!0;o=De(o)}return!1},qa=(e,t)=>e!=null&&He(e,t)?e[t]:void 0,Gt=(e=>t=>{const o=Ua.call(t);return e[o]||(e[o]=o.slice(8,-1).toLowerCase())})(Object.create(null)),ce=e=>(e=e.toLowerCase(),t=>Gt(t)===e),xt=e=>t=>typeof t===e,{isArray:Ce}=Array,Re=xt("undefined");function ze(e){return e!==null&&!Re(e)&&e.constructor!==null&&!Re(e.constructor)&&oe(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Er=ce("ArrayBuffer");function $a(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Er(e.buffer),t}const Va=xt("string"),oe=xt("function"),Ar=xt("number"),Me=e=>e!==null&&typeof e=="object",Ha=e=>e===!0||e===!1,ct=e=>{if(!Me(e))return!1;const t=De(e);return(t===null||t===Object.prototype||De(t)===null)&&!He(e,_r)&&!He(e,Xe)},Ga=e=>{if(!Me(e)||ze(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},Wa=ce("Date"),Ka=ce("File"),Ja=e=>!!(e&&typeof e.uri<"u"),Xa=e=>e&&typeof e.getParts<"u",Ya=ce("Blob"),Qa=ce("FileList"),Za=ce("Set"),ei=e=>Me(e)&&oe(e.pipe);function ti(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const wo=ti(),vo=typeof wo.FormData<"u"?wo.FormData:void 0,oi=e=>{if(!e)return!1;if(vo&&e instanceof vo)return!0;const t=De(e);if(!t||t===Object.prototype||!oe(e.append))return!1;const o=Gt(e);return o==="formdata"||o==="object"&&oe(e.toString)&&e.toString()==="[object FormData]"},ri=ce("URLSearchParams"),[ni,si,ai,ii]=["ReadableStream","Request","Response","Headers"].map(ce),li=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Ye(e,t,{allOwnKeys:o=!1}={}){if(e===null||typeof e>"u")return;let r,n;if(typeof e!="object"&&(e=[e]),Ce(e))for(r=0,n=e.length;r<n;r++)t.call(null,e[r],r,e);else{if(ze(e))return;const s=o?Object.getOwnPropertyNames(e):Object.keys(e),a=s.length;let i;for(r=0;r<a;r++)i=s[r],t.call(null,e[i],i,e)}}function Cr(e,t){if(ze(e))return null;t=t.toLowerCase();const o=Object.keys(e);let r=o.length,n;for(;r-- >0;)if(n=o[r],t===n.toLowerCase())return n;return null}const Ee=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Rr=e=>!Re(e)&&e!==Ee;function Dt(...e){const{caseless:t,skipUndefined:o}=Rr(this)&&this||{},r={},n=(s,a)=>{if(a==="__proto__"||a==="constructor"||a==="prototype")return;const i=t&&typeof a=="string"&&Cr(r,a)||a,c=gt(r,i)?r[i]:void 0;ct(c)&&ct(s)?r[i]=Dt(c,s):ct(s)?r[i]=Dt({},s):Ce(s)?r[i]=s.slice():(!o||!Re(s))&&(r[i]=s)};for(let s=0,a=e.length;s<a;s++){const i=e[s];if(!i||ze(i)||(Ye(i,n),typeof i!="object"||Ce(i)))continue;const c=Object.getOwnPropertySymbols(i);for(let d=0;d<c.length;d++){const f=c[d];wi.call(i,f)&&n(i[f],f)}}return r}const ci=(e,t,o,{allOwnKeys:r}={})=>(Ye(t,(n,s)=>{o&&oe(n)?Object.defineProperty(e,s,{__proto__:null,value:Sr(n,o),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,s,{__proto__:null,value:n,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),e),di=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),ui=(e,t,o,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,"constructor",{__proto__:null,value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{__proto__:null,value:t.prototype}),o&&Object.assign(e.prototype,o)},fi=(e,t,o,r)=>{let n,s,a;const i={};if(t=t||{},e==null)return t;do{for(n=Object.getOwnPropertyNames(e),s=n.length;s-- >0;)a=n[s],(!r||r(a,e,t))&&!i[a]&&(t[a]=e[a],i[a]=!0);e=o!==!1&&De(e)}while(e&&(!o||o(e,t))&&e!==Object.prototype);return t},pi=(e,t,o)=>{e=String(e),(o===void 0||o>e.length)&&(o=e.length),o-=t.length;const r=e.indexOf(t,o);return r!==-1&&r===o},mi=e=>{if(!e)return null;if(Ce(e))return e;let t=e.length;if(!Ar(t))return null;const o=new Array(t);for(;t-- >0;)o[t]=e[t];return o},hi=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&De(Uint8Array)),gi=(e,t)=>{const r=(e&&e[Xe]).call(e);let n;for(;(n=r.next())&&!n.done;){const s=n.value;t.call(e,s[0],s[1])}},bi=(e,t)=>{let o;const r=[];for(;(o=e.exec(t))!==null;)r.push(o);return r},yi=ce("HTMLFormElement"),xi=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(o,r,n){return r.toUpperCase()+n}),{propertyIsEnumerable:wi}=Object.prototype,vi=ce("RegExp"),Tr=(e,t)=>{const o=Object.getOwnPropertyDescriptors(e),r={};Ye(o,(n,s)=>{let a;(a=t(n,s,e))!==!1&&(r[s]=a||n)}),Object.defineProperties(e,r)},ki=e=>{Tr(e,(t,o)=>{if(oe(e)&&["arguments","caller","callee"].includes(o))return!1;const r=e[o];if(oe(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+o+"'")})}})},Si=(e,t)=>{const o={},r=n=>{n.forEach(s=>{o[s]=!0})};return Ce(e)?r(e):r(String(e).split(t)),o},_i=()=>{},Ei=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Ai(e){return!!(e&&oe(e.append)&&e[_r]==="FormData"&&e[Xe])}const Ci=e=>{const t=new WeakSet,o=r=>{if(Me(r)){if(t.has(r))return;if(ze(r))return r;if(!("toJSON"in r)){t.add(r);let n;if(Za(r)){n=[];for(const s of r){const a=o(s);!Re(a)&&n.push(a)}}else n=Ce(r)?[]:{},Ye(r,(s,a)=>{const i=o(s);!Re(i)&&(n[a]=i)});return t.delete(r),n}}return r};return o(e)},Ri=ce("AsyncFunction"),Ti=e=>e&&(Me(e)||oe(e))&&oe(e.then)&&oe(e.catch),Nr=((e,t)=>e?setImmediate:t?((o,r)=>(Ee.addEventListener("message",({source:n,data:s})=>{n===Ee&&s===o&&r.length&&r.shift()()},!1),n=>{r.push(n),Ee.postMessage(o,"*")}))(`axios@${Math.random()}`,[]):o=>setTimeout(o))(typeof setImmediate=="function",oe(Ee.postMessage)),Ni=typeof queueMicrotask<"u"?queueMicrotask.bind(Ee):typeof process<"u"&&process.nextTick||Nr,Or=e=>e!=null&&oe(e[Xe]),Oi=e=>e!=null&&He(e,Xe)&&Or(e),u={isArray:Ce,isArrayBuffer:Er,isBuffer:ze,isFormData:oi,isArrayBufferView:$a,isString:Va,isNumber:Ar,isBoolean:Ha,isObject:Me,isPlainObject:ct,isEmptyObject:Ga,isReadableStream:ni,isRequest:si,isResponse:ai,isHeaders:ii,isUndefined:Re,isDate:Wa,isFile:Ka,isReactNativeBlob:Ja,isReactNative:Xa,isBlob:Ya,isRegExp:vi,isFunction:oe,isStream:ei,isURLSearchParams:ri,isTypedArray:hi,isFileList:Qa,forEach:Ye,merge:Dt,extend:ci,trim:li,stripBOM:di,inherits:ui,toFlatObject:fi,kindOf:Gt,kindOfTest:ce,endsWith:pi,toArray:mi,forEachEntry:gi,matchAll:bi,isHTMLForm:yi,hasOwnProperty:gt,hasOwnProp:gt,hasOwnInPrototypeChain:He,getSafeProp:qa,reduceDescriptors:Tr,freezeMethods:ki,toObjectSet:Si,toCamelCase:xi,noop:_i,toFiniteNumber:Ei,findKey:Cr,global:Ee,isContextDefined:Rr,isSpecCompliantForm:Ai,toJSONObject:Ci,isAsyncFn:Ri,isThenable:Ti,setImmediate:Nr,asap:Ni,isIterable:Or,isSafeIterable:Oi},ji=u.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Pi=e=>{const t={};let o,r,n;return e&&e.split(`
|
|
3
|
+
`).forEach(function(a){n=a.indexOf(":"),o=a.substring(0,n).trim().toLowerCase(),r=a.substring(n+1).trim();const i=u.hasOwnProp(t,o);!o||i&&u.hasOwnProp(ji,o)||(o==="set-cookie"?i?t[o].push(r):t[o]=[r]:t[o]=i?t[o]+", "+r:r)}),t};function Ii(e){let t=0,o=e.length;for(;t<o;){const r=e.charCodeAt(t);if(r!==9&&r!==32)break;t+=1}for(;o>t;){const r=e.charCodeAt(o-1);if(r!==9&&r!==32)break;o-=1}return t===0&&o===e.length?e:e.slice(t,o)}const Li=new RegExp("[\\u0000-\\u0008\\u000a-\\u001f\\u007f]+","g"),Di=new RegExp("[^\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+","g");function Wt(e,t){return u.isArray(e)?e.map(o=>Wt(o,t)):Ii(String(e).replace(t,""))}const zi=e=>Wt(e,Li),Mi=e=>Wt(e,Di);function jr(e){const t=Object.create(null);return u.forEach(e.toJSON(),(o,r)=>{t[r]=Mi(o)}),t}const ko=Symbol("internals");function qe(e){return e&&String(e).trim().toLowerCase()}function dt(e){return e===!1||e==null?e:u.isArray(e)?e.map(dt):zi(String(e))}function Fi(e){const t=Object.create(null),o=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=o.exec(e);)t[r[1]]=r[2];return t}const Bi=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function At(e){let t=0,o=e.length;for(;t<o;){const r=e.charCodeAt(t);if(r!==9&&r!==32)break;t+=1}for(;o>t;){const r=e.charCodeAt(o-1);if(r!==9&&r!==32)break;o-=1}return t===0&&o===e.length?e:e.slice(t,o)}function Ui(e){const t=e.length-1;if(t<1||e.charCodeAt(0)!==34||e.charCodeAt(t)!==34)return e;let o="";for(let r=1;r<t;r++){const n=e.charCodeAt(r);if(n===34||n===92&&(r+=1,r>=t))return e;o+=e[r]}return o}function qi(e){const t=Object.create(null),o=String(e);let r=0,n=!1,s=!1;function a(i){const c=At(o.slice(r,i)),d=c.indexOf("=");if(d<1)return;const f=At(c.slice(0,d));if(!Bi.test(f))return;const m=f.toLowerCase();if(m==="__proto__"||m==="constructor"||m==="prototype")return;const b=At(c.slice(d+1));t[m]=Ui(b)}for(let i=0;i<o.length;i++){const c=o.charCodeAt(i);n?s?s=!1:c===92?s=!0:c===34&&(n=!1):c===34?n=!0:(c===44||c===59)&&(a(i),r=i+1)}return a(o.length),t}const $i=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Ct(e,t,o,r,n){if(u.isFunction(r))return r.call(this,t,o);if(n&&(t=o),!!u.isString(t)){if(u.isString(r))return t.indexOf(r)!==-1;if(u.isRegExp(r))return r.test(t)}}function Vi(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,o,r)=>o.toUpperCase()+r)}function Hi(e,t){const o=u.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+o,{__proto__:null,value:function(n,s,a){return this[r].call(this,t,n,s,a)},configurable:!0})})}let X=class{constructor(t){t&&this.set(t)}set(t,o,r){const n=this;function s(i,c,d){const f=qe(c);if(!f)return;const m=u.findKey(n,f);(!m||n[m]===void 0||d===!0||d===void 0&&n[m]!==!1)&&(n[m||c]=dt(i))}const a=(i,c)=>u.forEach(i,(d,f)=>s(d,f,c));if(u.isPlainObject(t)||t instanceof this.constructor)a(t,o);else if(u.isString(t)&&(t=t.trim())&&!$i(t))a(Pi(t),o);else if(u.isObject(t)&&u.isSafeIterable(t)){let i=Object.create(null),c,d;for(const f of t){if(!u.isArray(f))throw new TypeError("Object iterator must return a key-value pair");d=f[0],u.hasOwnProp(i,d)?(c=i[d],i[d]=u.isArray(c)?[...c,f[1]]:[c,f[1]]):i[d]=f[1]}a(i,o)}else t!=null&&s(o,t,r);return this}get(t,o){if(t=qe(t),t){const r=u.findKey(this,t);if(r){const n=this[r];if(!o)return n;if(o===!0)return Fi(n);if(u.isFunction(o))return o.call(this,n,r);if(u.isRegExp(o))return o.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,o){if(t=qe(t),t){const r=u.findKey(this,t);return!!(r&&this[r]!==void 0&&(!o||Ct(this,this[r],r,o)))}return!1}delete(t,o){const r=this;let n=!1;function s(a){if(a=qe(a),a){const i=u.findKey(r,a);i&&(!o||Ct(r,r[i],i,o))&&(delete r[i],n=!0)}}return u.isArray(t)?t.forEach(s):s(t),n}clear(t){const o=Object.keys(this);let r=o.length,n=!1;for(;r--;){const s=o[r];(!t||Ct(this,this[s],s,t,!0))&&(delete this[s],n=!0)}return n}normalize(t){const o=this,r={};return u.forEach(this,(n,s)=>{const a=u.findKey(r,s);if(a){o[a]=dt(n),delete o[s];return}const i=t?Vi(s):String(s).trim();i!==s&&delete o[s],o[i]=dt(n),r[i]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const o=Object.create(null);return u.forEach(this,(r,n)=>{r!=null&&r!==!1&&(o[n]=t&&u.isArray(r)?r.join(", "):r)}),o}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,o])=>t+": "+o).join(`
|
|
4
|
+
`)}getSetCookie(){const t=this.get("set-cookie");return u.isArray(t)?t:t==null||t===!1?[]:[t]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static parseParameters(t){return qi(t)}static concat(t,...o){const r=new this(t);return o.forEach(n=>r.set(n)),r}static accessor(t){const r=(this[ko]=this[ko]={accessors:{}}).accessors,n=this.prototype;function s(a){const i=qe(a);r[i]||(Hi(n,a),r[i]=!0)}return u.isArray(t)?t.forEach(s):s(t),this}};X.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);u.reduceDescriptors(X.prototype,({value:e},t)=>{let o=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[o]=r}}});u.freezeMethods(X);const bt="[REDACTED ****]";function Gi(e){if(u.hasOwnProp(e,"toJSON"))return!0;let t=Object.getPrototypeOf(e);for(;t&&t!==Object.prototype;){if(u.hasOwnProp(t,"toJSON"))return!0;t=Object.getPrototypeOf(t)}return!1}function Wi(e,t){const o=new Set(t.map(s=>String(s).toLowerCase())),r=[],n=s=>{if(s===null||typeof s!="object"||u.isBuffer(s))return s;if(r.indexOf(s)!==-1)return;s instanceof X&&(s=s.toJSON()),r.push(s);let a;if(u.isArray(s))a=[],s.forEach((i,c)=>{const d=n(i);u.isUndefined(d)||(a[c]=d)});else{if(!u.isPlainObject(s)&&Gi(s))return r.pop(),s;a=Object.create(null);for(const[i,c]of Object.entries(s)){const d=o.has(i.toLowerCase())?bt:n(c);u.isUndefined(d)||(a[i]=d)}}return r.pop(),a};return n(e)}function So(e){try{return String(e)}catch{return""}}function Ki(e){return e.errors.map(o=>{try{return o&&o.message?So(o.message):So(o)}catch{return""}}).filter(Boolean).join("; ")||e.name||"AggregateError"}let y=class Pr extends Error{static from(t,o,r,n,s,a){let i=t.message;!i&&u.isArray(t.errors)&&t.errors.length&&(i=Ki(t));const c=new Pr(i,o||t.code,r,n,s);return Object.defineProperty(c,"cause",{__proto__:null,value:t,writable:!0,enumerable:!1,configurable:!0}),c.name=t.name,t.status!=null&&c.status==null&&(c.status=t.status),a&&Object.assign(c,a),c}constructor(t,o,r,n,s){super(t),Object.defineProperty(this,"message",{__proto__:null,value:t,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,o&&(this.code=o),r&&(this.config=r),n&&(this.request=n),s&&(this.response=s,this.status=s.status)}toJSON(){const t=this.config,o=t&&u.hasOwnProp(t,"redact")?t.redact:void 0,r=u.isArray(o)&&o.length>0?Wi(t,o):u.toJSONObject(t);return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:r,code:this.code,status:this.status}}};y.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";y.ERR_BAD_OPTION="ERR_BAD_OPTION";y.ECONNABORTED="ECONNABORTED";y.ETIMEDOUT="ETIMEDOUT";y.ECONNREFUSED="ECONNREFUSED";y.ERR_NETWORK="ERR_NETWORK";y.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";y.ERR_DEPRECATED="ERR_DEPRECATED";y.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";y.ERR_BAD_REQUEST="ERR_BAD_REQUEST";y.ERR_CANCELED="ERR_CANCELED";y.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";y.ERR_INVALID_URL="ERR_INVALID_URL";y.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const Ji=null,Ir=100;function zt(e){return u.isPlainObject(e)||u.isArray(e)}function Lr(e){return u.endsWith(e,"[]")?e.slice(0,-2):e}function Rt(e,t,o){return e?e.concat(t).map(function(n,s){return n=Lr(n),!o&&s?"["+n+"]":n}).join(o?".":""):t}function Xi(e){return u.isArray(e)&&!e.some(zt)}const Yi=u.toFlatObject(u,{},null,function(t){return/^is[A-Z]/.test(t)});function wt(e,t,o){if(!u.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,o=u.toFlatObject(o,{metaTokens:!0,dots:!1,indexes:!1},!1,function(g,S){return!u.isUndefined(S[g])});const r=o.metaTokens,n=o.visitor||R,s=o.dots,a=o.indexes,i=o.Blob||typeof Blob<"u"&&Blob,c=o.maxDepth===void 0?Ir:o.maxDepth,d=i&&u.isSpecCompliantForm(t),f=[];if(!u.isFunction(n))throw new TypeError("visitor must be a function");function m(p){if(p===null)return"";if(u.isDate(p))return p.toISOString();if(u.isBoolean(p))return p.toString();if(!d&&u.isBlob(p))throw new y("Blob is not supported. Use a Buffer instead.");if(u.isArrayBuffer(p)||u.isTypedArray(p)){if(d&&typeof i=="function")return new i([p]);throw new y("Blob is not supported. Use a Buffer instead.",y.ERR_NOT_SUPPORT)}return p}function b(p){if(p>c)throw new y("Object is too deeply nested ("+p+" levels). Max depth: "+c,y.ERR_FORM_DATA_DEPTH_EXCEEDED)}function x(p,g){if(c===1/0)return JSON.stringify(p);const S=[];return JSON.stringify(p,function(P,I){if(!u.isObject(I))return I;for(;S.length&&S[S.length-1]!==this;)S.pop();return S.push(I),b(g+S.length-1),I})}function R(p,g,S){let C=p;if(u.isReactNative(t)&&u.isReactNativeBlob(p))return t.append(Rt(S,g,s),m(p)),!1;if(p&&!S&&typeof p=="object"){if(u.endsWith(g,"{}"))g=r?g:g.slice(0,-2),p=x(p,1);else if(u.isArray(p)&&Xi(p)||(u.isFileList(p)||u.endsWith(g,"[]"))&&(C=u.toArray(p)))return g=Lr(g),C.forEach(function(I,F){!(u.isUndefined(I)||I===null)&&t.append(a===!0?Rt([g],F,s):a===null?g:g+"[]",m(I))}),!1}return zt(p)?!0:(t.append(Rt(S,g,s),m(p)),!1)}const A=Object.assign(Yi,{defaultVisitor:R,convertValue:m,isVisitable:zt});function h(p,g,S=0){if(!u.isUndefined(p)){if(b(S),f.indexOf(p)!==-1)throw new Error("Circular reference detected in "+g.join("."));f.push(p),u.forEach(p,function(P,I){(!(u.isUndefined(P)||P===null)&&n.call(t,P,u.isString(I)?I.trim():I,g,A))===!0&&h(P,g?g.concat(I):[I],S+1)}),f.pop()}}if(!u.isObject(e))throw new TypeError("data must be an object");return h(e),t}function _o(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(e).replace(/[!'()~]|%20/g,function(r){return t[r]})}function Kt(e,t){this._pairs=[],e&&wt(e,this,t)}const Dr=Kt.prototype;Dr.append=function(t,o){this._pairs.push([t,o])};Dr.toString=function(t){const o=t?r=>t.call(this,r,_o):_o;return this._pairs.map(function(n){return o(n[0])+"="+o(n[1])},"").join("&")};function Qi(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function zr(e,t,o){if(!t)return e;e=e||"";const r=u.isFunction(o)?{serialize:o}:o,n=u.getSafeProp(r,"encode")||Qi,s=u.getSafeProp(r,"serialize");let a;if(s?a=s(t,r):a=u.isURLSearchParams(t)?t.toString():new Kt(t,r).toString(n),a){const i=e.indexOf("#");i!==-1&&(e=e.slice(0,i)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}class Eo{constructor(){this.handlers=[]}use(t,o,r){return this.handlers.push({fulfilled:t,rejected:o,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){u.forEach(this.handlers,function(r){r!==null&&t(r)})}}const Jt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0,advertiseZstdAcceptEncoding:!1,validateStatusUndefinedResolves:!0},Zi=typeof URLSearchParams<"u"?URLSearchParams:Kt,el=typeof FormData<"u"?FormData:null,tl=typeof Blob<"u"?Blob:null,ol={isBrowser:!0,classes:{URLSearchParams:Zi,FormData:el,Blob:tl},protocols:["http","https","file","blob","url","data"]},Xt=typeof window<"u"&&typeof document<"u",Mt=typeof navigator=="object"&&navigator||void 0,rl=Xt&&(!Mt||["ReactNative","NativeScript","NS"].indexOf(Mt.product)<0),nl=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",sl=Xt&&window.location.href||"http://localhost",al=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Xt,hasStandardBrowserEnv:rl,hasStandardBrowserWebWorkerEnv:nl,navigator:Mt,origin:sl},Symbol.toStringTag,{value:"Module"})),K={...al,...ol};function il(e,t){return wt(e,new K.classes.URLSearchParams,{visitor:function(o,r,n,s){return K.isNode&&u.isBuffer(o)?(this.append(r,o.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)},...t})}const Ao=Ir;function Mr(e){if(e>Ao)throw new y("FormData field is too deeply nested ("+e+" levels). Max depth: "+Ao,y.ERR_FORM_DATA_DEPTH_EXCEEDED)}function ll(e){const t=[],o=/[^.[\]]+|\[([^.[\]]*)]/g;let r;for(;(r=o.exec(e))!==null;)Mr(t.length),t.push(r[0]==="[]"?"":r[1]||r[0]);return t}function cl(e){const t={},o=Object.keys(e);let r;const n=o.length;let s;for(r=0;r<n;r++)s=o[r],t[s]=e[s];return t}function Fr(e){function t(o,r,n,s){Mr(s);let a=o[s++];if(a==="__proto__")return!0;const i=Number.isFinite(+a),c=s>=o.length;return a=!a&&u.isArray(n)?n.length:a,c?(u.hasOwnProp(n,a)?n[a]=u.isArray(n[a])?n[a].concat(r):[n[a],r]:n[a]=r,!i):((!u.hasOwnProp(n,a)||!u.isObject(n[a]))&&(n[a]=[]),t(o,r,n[a],s)&&u.isArray(n[a])&&(n[a]=cl(n[a])),!i)}if(u.isFormData(e)&&u.isFunction(e.entries)){const o={};return u.forEachEntry(e,(r,n)=>{t(ll(r),n,o,0)}),o}return null}const Le=(e,t)=>e!=null&&u.hasOwnProp(e,t)?e[t]:void 0;function dl(e,t,o){if(u.isString(e))try{return(t||JSON.parse)(e),u.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(o||JSON.stringify)(e)}const Qe={transitional:Jt,adapter:["xhr","http","fetch"],transformRequest:[function(t,o){const r=o.getContentType()||"",n=r.indexOf("application/json")>-1,s=u.isObject(t);if(s&&u.isHTMLForm(t)&&(t=new FormData(t)),u.isFormData(t))return n?JSON.stringify(Fr(t)):t;if(u.isArrayBuffer(t)||u.isBuffer(t)||u.isStream(t)||u.isFile(t)||u.isBlob(t)||u.isReadableStream(t))return t;if(u.isArrayBufferView(t))return t.buffer;if(u.isURLSearchParams(t))return o.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let i;if(s){const c=Le(this,"formSerializer");if(r.indexOf("application/x-www-form-urlencoded")>-1)return il(t,c).toString();if((i=u.isFileList(t))||r.indexOf("multipart/form-data")>-1){const d=Le(this,"env"),f=d&&d.FormData;return wt(i?{"files[]":t}:t,f&&new f,c)}}return s||n?(o.setContentType("application/json",!1),dl(t)):t}],transformResponse:[function(t){const o=Le(this,"transitional")||Qe.transitional,r=o&&o.forcedJSONParsing,n=Le(this,"responseType"),s=n==="json";if(u.isResponse(t)||u.isReadableStream(t))return t;if(t&&u.isString(t)&&(r&&!n||s)){const i=!(o&&o.silentJSONParsing)&&s;try{return JSON.parse(t,Le(this,"parseReviver"))}catch(c){if(i)throw c.name==="SyntaxError"?y.from(c,y.ERR_BAD_RESPONSE,this,null,Le(this,"response")):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:K.classes.FormData,Blob:K.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};u.forEach(["delete","get","head","post","put","patch","query"],e=>{Qe.headers[e]={}});function Tt(e,t){const o=this||Qe,r=t||o,n=X.from(r.headers);let s=r.data;return u.forEach(e,function(i){s=i.call(o,s,n.normalize(),t?t.status:void 0)}),n.normalize(),s}function Br(e){return!!(e&&e.__CANCEL__)}let Ze=class extends y{constructor(t,o,r){super(t??"canceled",y.ERR_CANCELED,o,r),this.name="CanceledError",this.__CANCEL__=!0}};function Ur(e,t,o){const r=o.config.validateStatus;!o.status||!r||r(o.status)?e(o):t(new y("Request failed with status code "+o.status,o.status>=400&&o.status<500?y.ERR_BAD_REQUEST:y.ERR_BAD_RESPONSE,o.config,o.request,o))}function ul(e){const t=/^([-+\w]{1,25}):(?:\/\/)?/.exec(e);return t&&t[1]||""}function fl(e,t){e=e||10;const o=new Array(e),r=new Array(e);let n=0,s=0,a;return t=t!==void 0?t:1e3,function(c){const d=Date.now(),f=r[s];a||(a=d),o[n]=c,r[n]=d;let m=s,b=0;for(;m!==n;)b+=o[m++],m=m%e;if(n=(n+1)%e,n===s&&(s=(s+1)%e),d-a<t)return;const x=f&&d-f;return x?Math.round(b*1e3/x):void 0}}function pl(e,t){let o=0,r=1e3/t,n,s;const a=(d,f=Date.now())=>{o=f,n=null,s&&(clearTimeout(s),s=null),e(...d)};return[(...d)=>{const f=Date.now(),m=f-o;m>=r?a(d,f):(n=d,s||(s=setTimeout(()=>{s=null,a(n)},r-m)))},()=>n&&a(n)]}const yt=(e,t,o=3)=>{let r=0;const n=fl(50,250);return pl(s=>{if(!s||typeof s.loaded!="number")return;const a=s.loaded,i=s.lengthComputable?s.total:void 0,c=Math.max(0,i!=null?Math.min(a,i):a),d=Math.max(0,c-r),f=n(d);r=Math.max(r,c);const m={loaded:c,total:i,progress:i?c/i:void 0,bytes:d,rate:f||void 0,estimated:f&&i?(i-c)/f:void 0,event:s,lengthComputable:i!=null,[t?"download":"upload"]:!0};e(m)},o)},Co=(e,t)=>{const o=e!=null;return[r=>t[0]({lengthComputable:o,total:e,loaded:r}),t[1]]},Ro=(e,t=u.asap)=>(...o)=>t(()=>e(...o)),ml=K.hasStandardBrowserEnv?((e,t)=>o=>(o=new URL(o,K.origin),e.protocol===o.protocol&&e.host===o.host&&(t||e.port===o.port)))(new URL(K.origin),K.navigator&&/(msie|trident)/i.test(K.navigator.userAgent)):()=>!0,hl=K.hasStandardBrowserEnv?{write(e,t,o,r,n,s,a){if(typeof document>"u")return;const i=[`${e}=${encodeURIComponent(t)}`];u.isNumber(o)&&i.push(`expires=${new Date(o).toUTCString()}`),u.isString(r)&&i.push(`path=${r}`),u.isString(n)&&i.push(`domain=${n}`),s===!0&&i.push("secure"),u.isString(a)&&i.push(`SameSite=${a}`),document.cookie=i.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.split(";");for(let o=0;o<t.length;o++){const r=t[o].replace(/^\s+/,""),n=r.indexOf("=");if(n!==-1&&r.slice(0,n)===e)try{return decodeURIComponent(r.slice(n+1))}catch{return r.slice(n+1)}}return null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function gl(e){return typeof e!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function bl(e,t){if(!t)return e;let o=e.length;for(;o>0&&e.charCodeAt(o-1)===47;)o--;return e.slice(0,o)+"/"+t.replace(/^\/+/,"")}const yl=/^https?:(?!\/\/)/i,xl=/[\t\n\r]/g;function wl(e){let t=0;for(;t<e.length&&e.charCodeAt(t)<=32;)t++;return e.slice(t)}function vl(e){return wl(e).replace(xl,"")}function kl(e){return e&&e.replace(/(^|&)([^=&]*=)?[^&]+/g,(t,o,r="")=>`${o}${r}${bt}`)}function Sl(e){const t=e.replace(/^(https?:\/{0,2})[^/?#]*@/i,`$1${bt}@`),o=t.indexOf("#"),n=(o===-1?t:t.slice(0,o)).replace(/([?&][^=&#]*=)[^&#]*/g,`$1${bt}`);return o===-1?n:`${n}#${kl(t.slice(o+1))}`}function To(e,t){if(typeof e=="string"){const o=vl(e);if(yl.test(o))throw new y(`Invalid URL ${JSON.stringify(Sl(o))}: missing "//" after protocol`,y.ERR_INVALID_URL,t)}}function qr(e,t,o,r){To(t,r);let n=!gl(t);return e&&(n||o===!1)?(To(e,r),bl(e,t)):t}const No=e=>e instanceof X?{...e}:e,_l=e=>Object.getOwnPropertySymbols&&Object.getOwnPropertyDescriptor?Object.keys(e).concat(Object.getOwnPropertySymbols(e).filter(t=>Object.getOwnPropertyDescriptor(e,t).enumerable)):Object.keys(e);function Te(e,t){e=e||{},t=t||{};const o=Object.create(null);Object.defineProperty(o,"hasOwnProperty",{__proto__:null,value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function r(f,m,b,x){return u.isPlainObject(f)&&u.isPlainObject(m)?u.merge.call({caseless:x},f,m):u.isPlainObject(m)?u.merge({},m):u.isArray(m)?m.slice():m}function n(f,m,b,x){if(u.isUndefined(m)){if(!u.isUndefined(f))return r(void 0,f,b,x)}else return r(f,m,b,x)}function s(f,m){if(!u.isUndefined(m))return r(void 0,m)}function a(f,m){if(u.isUndefined(m)){if(!u.isUndefined(f))return r(void 0,f)}else return r(void 0,m)}function i(f){const m=u.hasOwnProp(t,"transitional")?t.transitional:void 0;if(!u.isUndefined(m))if(u.isPlainObject(m)){if(u.hasOwnProp(m,f))return m[f]}else return;const b=u.hasOwnProp(e,"transitional")?e.transitional:void 0;if(u.isPlainObject(b)&&u.hasOwnProp(b,f))return b[f]}function c(f,m,b){if(u.hasOwnProp(t,b))return r(f,m);if(u.hasOwnProp(e,b))return r(void 0,f)}const d={url:s,method:s,data:s,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,allowedSocketPaths:a,responseEncoding:a,validateStatus:c,headers:(f,m,b)=>n(No(f),No(m),b,!0)};return u.forEach(_l({...e,...t}),function(m){if(m==="__proto__"||m==="constructor"||m==="prototype")return;const b=u.hasOwnProp(d,m)?d[m]:n,x=u.hasOwnProp(e,m)?e[m]:void 0,R=u.hasOwnProp(t,m)?t[m]:void 0,A=b(x,R,m);u.isUndefined(A)&&b!==c||(o[m]=A)}),u.hasOwnProp(t,"validateStatus")&&u.isUndefined(t.validateStatus)&&i("validateStatusUndefinedResolves")===!1&&(u.hasOwnProp(e,"validateStatus")?o.validateStatus=r(void 0,e.validateStatus):delete o.validateStatus),o}const El=["content-type","content-length"];function Al(e,t,o){if(o!=="content-only"){e.set(t);return}Object.entries(t||{}).forEach(([r,n])=>{El.includes(r.toLowerCase())&&e.set(r,n)})}const Cl=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(t,o)=>String.fromCharCode(parseInt(o,16)));function $r(e){const t=Te({},e),o=b=>u.hasOwnProp(t,b)?t[b]:void 0,r=o("data");let n=o("withXSRFToken");const s=o("xsrfHeaderName"),a=o("xsrfCookieName");let i=o("headers");const c=o("auth"),d=o("baseURL"),f=o("allowAbsoluteUrls"),m=o("url");if(t.headers=i=X.from(i),t.url=zr(qr(d,m,f,t),o("params"),o("paramsSerializer")),c){const b=u.getSafeProp(c,"username")||"",x=u.getSafeProp(c,"password")||"";try{i.set("Authorization","Basic "+btoa(b+":"+(x?Cl(x):"")))}catch(R){throw y.from(R,y.ERR_BAD_OPTION_VALUE,e)}}if(u.isFormData(r)&&(K.hasStandardBrowserEnv||K.hasStandardBrowserWebWorkerEnv||u.isReactNative(r)?i.setContentType(void 0):u.isFunction(r.getHeaders)&&Al(i,r.getHeaders(),o("formDataHeaderPolicy"))),K.hasStandardBrowserEnv&&(u.isFunction(n)&&(n=n(t)),n===!0||n==null&&ml(t.url))){const x=s&&a&&hl.read(a);x&&i.set(s,x)}return t}const Rl=typeof XMLHttpRequest<"u",Tl=Rl&&function(e){return new Promise(function(o,r){const n=$r(e);let s=n.data;const a=X.from(n.headers).normalize();let{responseType:i,onUploadProgress:c,onDownloadProgress:d}=n,f,m,b,x,R;function A(){x&&x(),R&&R(),n.cancelToken&&n.cancelToken.unsubscribe(f),n.signal&&n.signal.removeEventListener("abort",f)}let h=new XMLHttpRequest;h.open(n.method.toUpperCase(),n.url,!0),h.timeout=n.timeout;function p(){if(!h)return;const S=X.from("getAllResponseHeaders"in h&&h.getAllResponseHeaders()),P={data:!i||i==="text"||i==="json"?h.responseText:h.response,status:h.status,statusText:h.statusText,headers:S,config:e,request:h};Ur(function(F){o(F),A()},function(F){r(F),A()},P),h=null}"onloadend"in h?h.onloadend=p:h.onreadystatechange=function(){!h||h.readyState!==4||h.status===0&&!(h.responseURL&&h.responseURL.startsWith("file:"))||setTimeout(p)},h.onabort=function(){h&&(r(new y("Request aborted",y.ECONNABORTED,e,h)),A(),h=null)},h.onerror=function(C){const P=C&&C.message?C.message:"Network Error",I=new y(P,y.ERR_NETWORK,e,h);I.event=C||null,r(I),A(),h=null},h.ontimeout=function(){let C=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded";const P=n.transitional||Jt;n.timeoutErrorMessage&&(C=n.timeoutErrorMessage),r(new y(C,P.clarifyTimeoutError?y.ETIMEDOUT:y.ECONNABORTED,e,h)),A(),h=null},s===void 0&&a.setContentType(null),"setRequestHeader"in h&&u.forEach(jr(a),function(C,P){h.setRequestHeader(P,C)}),u.isUndefined(n.withCredentials)||(h.withCredentials=!!n.withCredentials),i&&i!=="json"&&(h.responseType=n.responseType),d&&([b,R]=yt(d,!0),h.addEventListener("progress",b)),c&&h.upload&&([m,x]=yt(c),h.upload.addEventListener("progress",m),h.upload.addEventListener("loadend",x)),(n.cancelToken||n.signal)&&(f=S=>{h&&(r(!S||S.type?new Ze(null,e,h):S),h.abort(),A(),h=null)},n.cancelToken&&n.cancelToken.subscribe(f),n.signal&&(n.signal.aborted?f():n.signal.addEventListener("abort",f)));const g=ul(n.url);if(g&&!K.protocols.includes(g)){r(new y("Unsupported protocol "+g+":",y.ERR_BAD_REQUEST,e)),A();return}h.send(s||null)})},Nl=(e,t)=>{if(e=e?e.filter(Boolean):[],!t&&!e.length)return;const o=new AbortController;let r=!1;const n=function(c){if(!r){r=!0,a();const d=c instanceof Error?c:this.reason;o.abort(d instanceof y?d:new Ze(d instanceof Error?d.message:d))}};let s=t&&setTimeout(()=>{s=null,n(new y(`timeout of ${t}ms exceeded`,y.ETIMEDOUT))},t);const a=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach(c=>{c.unsubscribe?c.unsubscribe(n):c.removeEventListener("abort",n)}),e=null)};e.forEach(c=>{if(!r){if(c.aborted){n.call(c);return}c.addEventListener("abort",n,{once:!0})}});const{signal:i}=o;return i.unsubscribe=()=>u.asap(a),i},Ol=function*(e,t){let o=e.byteLength;if(o<t){yield e;return}let r=0,n;for(;r<o;)n=r+t,yield e.slice(r,n),r=n},jl=async function*(e,t){for await(const o of Pl(e))yield*Ol(o,t)},Pl=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:o,value:r}=await t.read();if(o)break;yield r}}finally{await t.cancel()}},Oo=(e,t,o,r)=>{const n=jl(e,t);let s=0,a,i=c=>{a||(a=!0,r&&r(c))};return new ReadableStream({async pull(c){try{const{done:d,value:f}=await n.next();if(d){i(),c.close();return}let m=f.byteLength;if(o){let b=s+=m;o(b)}c.enqueue(new Uint8Array(f))}catch(d){throw i(d),d}},cancel(c){return i(c),n.return()}},{highWaterMark:2})},jo=e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102,Vr=(e,t,o)=>t+2<o&&jo(e.charCodeAt(t+1))&&jo(e.charCodeAt(t+2)),Po=e=>e<=57?e-48:(e&223)-55,Il=e=>e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===43||e===47||e===45||e===95,Ll=e=>e===9||e===10||e===12||e===13||e===32,Dl=e=>{const t=Math.floor(e/4),o=e%4;return t*3+(o===2?1:o===3?2:0)},zl=e=>{const t=e.length;let o=0;return t>0&&e.charCodeAt(t-1)===61&&(o++,t>1&&e.charCodeAt(t-2)===61&&o++),Math.floor((t-o)*3/4)},Ml=e=>{const t=e.length;let o=0,r=0,n=!1;for(let s=0;s<t;s++){let a=e.charCodeAt(s);if(a===37&&Vr(e,s,t)&&(a=Po(e.charCodeAt(s+1))*16+Po(e.charCodeAt(s+2)),s+=2),!Ll(a)){if(a===61){r++;continue}if(!Il(a)||r>0){n=!0;continue}o++}}return n||r>2||r>0&&(o+r)%4!==0||o%4===1?zl(e):Dl(o)},Fl=(e,t)=>{if(!e||typeof e!="string"||!e.startsWith("data:"))return 0;const o=e.indexOf(",");if(o<0)return 0;const r=e.slice(5,o),n=e.slice(o+1);if(/;base64/i.test(r))return t(n);let a=0;for(let i=0,c=n.length;i<c;i++){const d=n.charCodeAt(i);if(d===37&&Vr(n,i,c))a+=1,i+=2;else if(d<128)a+=1;else if(d<2048)a+=2;else if(d>=55296&&d<=56319&&i+1<c){const f=n.charCodeAt(i+1);f>=56320&&f<=57343?(a+=4,i++):a+=3}else a+=3}return a};function Bl(e){const t=typeof e=="string"?e.indexOf("#"):-1;return Fl(t===-1?e:e.slice(0,t),Ml)}const Yt="1.19.0",Io=64*1024,{isFunction:it}=u,Ul=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(t,o)=>String.fromCharCode(parseInt(o,16))),Lo=e=>{if(!u.isString(e))return e;try{return decodeURIComponent(e)}catch{return e}},Do=(e,...t)=>{try{return!!e(...t)}catch{return!1}},ql=e=>{const t=e.indexOf("://");let o=e;return t!==-1&&(o=o.slice(t+3)),o.includes("@")||o.includes(":")},$l=e=>{const t=u.global!==void 0&&u.global!==null?u.global:globalThis,{ReadableStream:o,TextEncoder:r}=t;e=u.merge.call({skipUndefined:!0},{Request:t.Request,Response:t.Response},e);const{fetch:n,Request:s,Response:a}=e,i=n?it(n):typeof fetch=="function",c=it(s),d=it(a);if(!i)return!1;const f=i&&it(o),m=i&&(typeof r=="function"?(p=>g=>p.encode(g))(new r):async p=>new Uint8Array(await new s(p).arrayBuffer())),b=c&&f&&Do(()=>{let p=!1;const g=new s(K.origin,{body:new o,method:"POST",get duplex(){return p=!0,"half"}}),S=g.headers.has("Content-Type");return g.body!=null&&g.body.cancel(),p&&!S}),x=d&&f&&Do(()=>u.isReadableStream(new a("").body)),R={stream:x&&(p=>p.body)};i&&["text","arrayBuffer","blob","formData","stream"].forEach(p=>{!R[p]&&(R[p]=(g,S)=>{let C=g&&g[p];if(C)return C.call(g);throw new y(`Response type '${p}' is not supported`,y.ERR_NOT_SUPPORT,S)})});const A=async p=>{if(p==null)return 0;if(u.isBlob(p))return p.size;if(u.isSpecCompliantForm(p))return(await new s(K.origin,{method:"POST",body:p}).arrayBuffer()).byteLength;if(u.isArrayBufferView(p)||u.isArrayBuffer(p))return p.byteLength;if(u.isURLSearchParams(p)&&(p=p+""),u.isString(p))return(await m(p)).byteLength},h=async(p,g)=>{const S=u.toFiniteNumber(p.getContentLength());return S??A(g)};return async p=>{let{url:g,method:S,data:C,signal:P,cancelToken:I,timeout:F,onDownloadProgress:E,onUploadProgress:$,responseType:H,headers:Q,withCredentials:de="same-origin",fetchOptions:we,maxContentLength:D,maxBodyLength:Z}=$r(p);const V=u.isNumber(D)&&D>-1,re=u.isNumber(Z)&&Z>-1,he=T=>u.hasOwnProp(p,T)?p[T]:void 0;let fe=n||fetch;H=H?(H+"").toLowerCase():"text";let _=Nl([P,I&&I.toAbortSignal()],F),B=null;const ne=_&&_.unsubscribe&&(()=>{_.unsubscribe()});let ie,L=null;const z=()=>new y("Request body larger than maxBodyLength limit",y.ERR_BAD_REQUEST,p,B);try{let T;const M=he("auth");if(M){const N=u.getSafeProp(M,"username")||"",se=u.getSafeProp(M,"password")||"";T={username:N,password:se}}if(ql(g)){const N=new URL(g,K.origin);if(!T&&(N.username||N.password)){const se=Lo(N.username),be=Lo(N.password);T={username:se,password:be}}(N.username||N.password)&&(N.username="",N.password="",g=N.href)}if(T&&(Q.delete("authorization"),Q.set("Authorization","Basic "+btoa(Ul((T.username||"")+":"+(T.password||""))))),V&&typeof g=="string"&&g.startsWith("data:")&&Bl(g)>D)throw new y("maxContentLength size of "+D+" exceeded",y.ERR_BAD_RESPONSE,p,B);if(re&&S!=="get"&&S!=="head"){const N=await A(C);if(typeof N=="number"&&isFinite(N)&&(ie=N,N>Z))throw z()}const ve=re&&(u.isReadableStream(C)||u.isStream(C)),q=(N,se,be)=>Oo(N,Io,Se=>{if(re&&Se>Z)throw L=z();se&&se(Se)},be);if(b&&S!=="get"&&S!=="head"&&($||ve)){if(ie=ie??await h(Q,C),ie!==0||ve){let N=new s(g,{method:"POST",body:C,duplex:"half"}),se;if(u.isFormData(C)&&(se=N.headers.get("content-type"))&&Q.setContentType(se),N.body){const[be,Se]=$&&Co(ie,yt(Ro($)))||[];C=q(N.body,be,Se)}}}else if(ve&&!c&&f&&S!=="get"&&S!=="head")C=q(C);else if(ve&&c&&!b&&S!=="get"&&S!=="head")throw new y("Stream request bodies are not supported by the current fetch implementation",y.ERR_NOT_SUPPORT,p,B);u.isString(de)||(de=de?"include":"omit");const et=c&&"credentials"in s.prototype;if(u.isFormData(C)){const N=Q.getContentType();N&&/^multipart\/form-data/i.test(N)&&!/boundary=/i.test(N)&&Q.delete("content-type")}Q.set("User-Agent","axios/"+Yt,!1);const ke={...we,signal:_,method:S.toUpperCase(),headers:jr(Q.normalize()),body:C,duplex:"half",credentials:et?de:void 0};B=c&&new s(g,ke);let ee=await(c?fe(B,we):fe(g,ke));const je=X.from(ee.headers);if(V){const N=u.toFiniteNumber(je.getContentLength());if(N!=null&&N>D)throw new y("maxContentLength size of "+D+" exceeded",y.ERR_BAD_RESPONSE,p,B)}const ge=x&&(H==="stream"||H==="response");if(x&&ee.body&&(E||V||ge&&ne)){const N={};["status","statusText","headers"].forEach(Be=>{N[Be]=ee[Be]});const se=u.toFiniteNumber(je.getContentLength()),[be,Se]=E&&Co(se,yt(Ro(E),!0))||[];let eo=0;const on=Be=>{if(V&&(eo=Be,eo>D))throw new y("maxContentLength size of "+D+" exceeded",y.ERR_BAD_RESPONSE,p,B);be&&be(Be)};ee=new a(Oo(ee.body,Io,on,()=>{Se&&Se(),ne&&ne()}),N)}H=H||"text";let pe=await R[u.findKey(R,H)||"text"](ee,p);if(V&&!x&&!ge){let N;if(pe!=null&&(typeof pe.byteLength=="number"?N=pe.byteLength:typeof pe.size=="number"?N=pe.size:typeof pe=="string"&&(N=typeof r=="function"?new r().encode(pe).byteLength:pe.length)),typeof N=="number"&&N>D)throw new y("maxContentLength size of "+D+" exceeded",y.ERR_BAD_RESPONSE,p,B)}return!ge&&ne&&ne(),await new Promise((N,se)=>{Ur(N,se,{data:pe,headers:X.from(ee.headers),status:ee.status,statusText:ee.statusText,config:p,request:B})})}catch(T){if(ne&&ne(),_&&_.aborted&&_.reason instanceof y){const M=_.reason;throw M.config=p,B&&(M.request=B),T!==M&&Object.defineProperty(M,"cause",{__proto__:null,value:T,writable:!0,enumerable:!1,configurable:!0}),M}if(L)throw B&&!L.request&&(L.request=B),L;if(T instanceof y)throw B&&!T.request&&(T.request=B),T;if(T&&T.name==="TypeError"&&/Load failed|fetch/i.test(T.message)){const M=new y("Network Error",y.ERR_NETWORK,p,B,T&&T.response);throw Object.defineProperty(M,"cause",{__proto__:null,value:T.cause||T,writable:!0,enumerable:!1,configurable:!0}),M}throw y.from(T,T&&T.code,p,B,T&&T.response)}}},Vl=new Map,Hr=e=>{let t=e&&e.env||{};const{fetch:o,Request:r,Response:n}=t,s=[r,n,o];let a=s.length,i=a,c,d,f=Vl;for(;i--;)c=s[i],d=f.get(c),d===void 0&&f.set(c,d=i?new Map:$l(t)),f=d;return d};Hr();const Qt={http:Ji,xhr:Tl,fetch:{get:Hr}};u.forEach(Qt,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{__proto__:null,value:t})}catch{}Object.defineProperty(e,"adapterName",{__proto__:null,value:t})}});const zo=e=>`- ${e}`,Hl=e=>u.isFunction(e)||e===null||e===!1;function Gl(e,t){e=u.isArray(e)?e:[e];const{length:o}=e;let r,n;const s={};for(let a=0;a<o;a++){r=e[a];let i;if(n=r,!Hl(r)&&(n=Qt[(i=String(r)).toLowerCase()],n===void 0))throw new y(`Unknown adapter '${i}'`);if(n&&(u.isFunction(n)||(n=n.get(t))))break;s[i||"#"+a]=n}if(!n){const a=Object.entries(s).map(([c,d])=>`adapter ${c} `+(d===!1?"is not supported by the environment":"is not available in the build"));let i=o?a.length>1?`since :
|
|
5
|
+
`+a.map(zo).join(`
|
|
6
|
+
`):" "+zo(a[0]):"as no adapter specified";throw new y("There is no suitable adapter to dispatch the request "+i,y.ERR_NOT_SUPPORT)}return n}const Gr={getAdapter:Gl,adapters:Qt};function Nt(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Ze(null,e)}function Ot(e){return Nt(e),e.headers=X.from(e.headers),e.data=Tt.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Gr.getAdapter(e.adapter||Qe.adapter,e)(e).then(function(r){Nt(e),e.response=r;try{r.data=Tt.call(e,e.transformResponse,r)}finally{delete e.response}return r.headers=X.from(r.headers),r},function(r){if(!Br(r)&&(Nt(e),r&&r.response)){e.response=r.response;try{r.response.data=Tt.call(e,e.transformResponse,r.response)}finally{delete e.response}r.response.headers=X.from(r.response.headers)}return Promise.reject(r)})}const vt={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{vt[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const Mo={};vt.transitional=function(t,o,r){function n(s,a){return"[Axios v"+Yt+"] Transitional option '"+s+"'"+a+(r?". "+r:"")}return(s,a,i)=>{if(t===!1)throw new y(n(a," has been removed"+(o?" in "+o:"")),y.ERR_DEPRECATED);return o&&!Mo[a]&&(Mo[a]=!0,console.warn(n(a," has been deprecated since v"+o+" and will be removed in the near future"))),t?t(s,a,i):!0}};vt.spelling=function(t){return(o,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function Wl(e,t,o){if(typeof e!="object"||e===null)throw new y("options must be an object",y.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let n=r.length;for(;n-- >0;){const s=r[n],a=Object.prototype.hasOwnProperty.call(t,s)?t[s]:void 0;if(a){const i=e[s],c=i===void 0||a(i,s,e);if(c!==!0)throw new y("option "+s+" must be "+c,y.ERR_BAD_OPTION_VALUE);continue}if(o!==!0)throw new y("Unknown option "+s,y.ERR_BAD_OPTION)}}const ut={assertOptions:Wl,validators:vt},J=ut.validators;let Ae=class{constructor(t){this.defaults=t||{},this.interceptors={request:new Eo,response:new Eo}}async request(t,o){try{return await this._request(t,o)}catch(r){if(r instanceof Error){let n={};Error.captureStackTrace?Error.captureStackTrace(n):n=new Error;const s=(()=>{if(!n.stack)return"";const a=n.stack.indexOf(`
|
|
7
|
+
`);return a===-1?"":n.stack.slice(a+1)})();try{if(!r.stack)r.stack=s;else if(s){const a=s.indexOf(`
|
|
8
|
+
`),i=a===-1?-1:s.indexOf(`
|
|
9
|
+
`,a+1),c=i===-1?"":s.slice(i+1);String(r.stack).endsWith(c)||(r.stack+=`
|
|
10
|
+
`+s)}}catch{}}throw r}}_request(t,o){typeof t=="string"?(o=o||{},o.url=t):o=t||{},o=Te(this.defaults,o);const{transitional:r,paramsSerializer:n,headers:s}=o;r!==void 0&&ut.assertOptions(r,{silentJSONParsing:J.transitional(J.boolean),forcedJSONParsing:J.transitional(J.boolean),clarifyTimeoutError:J.transitional(J.boolean),legacyInterceptorReqResOrdering:J.transitional(J.boolean),advertiseZstdAcceptEncoding:J.transitional(J.boolean),validateStatusUndefinedResolves:J.transitional(J.boolean)},!1),n!=null&&(u.isFunction(n)?o.paramsSerializer={serialize:n}:ut.assertOptions(n,{encode:J.function,serialize:J.function},!0)),o.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?o.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:o.allowAbsoluteUrls=!0),ut.assertOptions(o,{baseUrl:J.spelling("baseURL"),withXsrfToken:J.spelling("withXSRFToken")},!0),o.method=(o.method||this.defaults.method||"get").toLowerCase();let a=s&&u.merge(s.common,s[o.method]);s&&u.forEach(["delete","get","head","post","put","patch","query","common"],R=>{delete s[R]}),o.headers=X.concat(a,s);const i=[];let c=!0;this.interceptors.request.forEach(function(A){if(typeof A.runWhen=="function"&&A.runWhen(o)===!1)return;c=c&&A.synchronous;const h=o.transitional||Jt;h&&h.legacyInterceptorReqResOrdering?i.unshift(A.fulfilled,A.rejected):i.push(A.fulfilled,A.rejected)});const d=[];this.interceptors.response.forEach(function(A){d.push(A.fulfilled,A.rejected)});let f,m=0,b;if(!c){const R=[Ot.bind(this),void 0];for(R.unshift(...i),R.push(...d),b=R.length,f=Promise.resolve(o);m<b;)f=f.then(R[m++],R[m++]);return f}b=i.length;let x=o;for(;m<b;){const R=i[m++],A=i[m++];try{x=R?R(x):x}catch(h){if(!A){f=Promise.reject(h);break}try{const p=A.call(this,h);u.isThenable(p)&&(f=Promise.resolve(p).then(()=>Ot.call(this,x)))}catch(p){f=Promise.reject(p)}break}}if(!f)try{f=Ot.call(this,x)}catch(R){f=Promise.reject(R)}for(m=0,b=d.length;m<b;)f=f.then(d[m++],d[m++]);return f}getUri(t){t=Te(this.defaults,t);const o=qr(t.baseURL,t.url,t.allowAbsoluteUrls,t);return zr(o,t.params,t.paramsSerializer)}};u.forEach(["delete","get","head","options"],function(t){Ae.prototype[t]=function(o,r){return this.request(Te(r||{},{method:t,url:o,data:r&&u.hasOwnProp(r,"data")?r.data:void 0}))}});u.forEach(["post","put","patch","query"],function(t){function o(r){return function(s,a,i){return this.request(Te(i||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:s,data:a}))}}Ae.prototype[t]=o(),t!=="query"&&(Ae.prototype[t+"Form"]=o(!0))});let Kl=class Wr{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let o;this.promise=new Promise(function(s){o=s});const r=this;this.promise.then(n=>{if(!r._listeners)return;let s=r._listeners.length;for(;s-- >0;)r._listeners[s](n);r._listeners=null}),this.promise.then=n=>{let s;const a=new Promise(i=>{r.subscribe(i),s=i}).then(n);return a.cancel=function(){r.unsubscribe(s)},a},t(function(s,a,i){r.reason||(r.reason=new Ze(s,a,i),o(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const o=this._listeners.indexOf(t);o!==-1&&this._listeners.splice(o,1)}toAbortSignal(){const t=new AbortController,o=r=>{t.abort(r)};return this.subscribe(o),t.signal.unsubscribe=()=>this.unsubscribe(o),t.signal}static source(){let t;return{token:new Wr(function(n){t=n}),cancel:t}}};function Jl(e){return function(o){return e.apply(null,o)}}function Xl(e){return u.isObject(e)&&e.isAxiosError===!0}const Ft={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerReturnsAnUnknownError:520,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Ft).forEach(([e,t])=>{Ft[t]=e});function Kr(e){const t=new Ae(e),o=Sr(Ae.prototype.request,t);return u.extend(o,Ae.prototype,t,{allOwnKeys:!0}),u.extend(o,t,null,{allOwnKeys:!0}),o.create=function(n){return Kr(Te(e,n))},o}const U=Kr(Qe);U.Axios=Ae;U.CanceledError=Ze;U.CancelToken=Kl;U.isCancel=Br;U.VERSION=Yt;U.toFormData=wt;U.AxiosError=y;U.Cancel=U.CanceledError;U.all=function(t){return Promise.all(t)};U.spread=Jl;U.isAxiosError=Xl;U.mergeConfig=Te;U.AxiosHeaders=X;U.formToJSON=e=>Fr(u.isHTMLForm(e)?new FormData(e):e);U.getAdapter=Gr.getAdapter;U.HttpStatusCode=Ft;U.default=U;const{Axios:Od,AxiosError:jd,CanceledError:Pd,isCancel:Id,CancelToken:Ld,VERSION:Dd,all:zd,Cancel:Md,isAxiosError:Fd,spread:Bd,toFormData:Ud,AxiosHeaders:qd,HttpStatusCode:$d,formToJSON:Vd,getAdapter:Hd,mergeConfig:Gd,create:Wd}=U,Fo=e=>{let t;const o=new Set,r=(d,f)=>{const m=typeof d=="function"?d(t):d;if(!Object.is(m,t)){const b=t;t=f??(typeof m!="object"||m===null)?m:Object.assign({},t,m),o.forEach(x=>x(t,b))}},n=()=>t,i={setState:r,getState:n,getInitialState:()=>c,subscribe:d=>(o.add(d),()=>o.delete(d))},c=t=e(r,n,i);return i},Yl=(e=>e?Fo(e):Fo),Ql=e=>e;function Zl(e,t=Ql){const o=tt.useSyncExternalStore(e.subscribe,tt.useCallback(()=>t(e.getState()),[e,t]),tt.useCallback(()=>t(e.getInitialState()),[e,t]));return tt.useDebugValue(o),o}const Bo=e=>{const t=Yl(e),o=r=>Zl(t,r);return Object.assign(o,t),o},ec=(e=>e?Bo(e):Bo);function tc(e,t){let o;try{o=e()}catch{return}return{getItem:n=>{var s;const a=c=>c===null?null:JSON.parse(c,void 0),i=(s=o.getItem(n))!=null?s:null;return i instanceof Promise?i.then(a):a(i)},setItem:(n,s)=>o.setItem(n,JSON.stringify(s,void 0)),removeItem:n=>o.removeItem(n)}}const Bt=e=>t=>{try{const o=e(t);return o instanceof Promise?o:{then(r){return Bt(r)(o)},catch(r){return this}}}catch(o){return{then(r){return this},catch(r){return Bt(r)(o)}}}},oc=(e,t)=>(o,r,n)=>{let s={storage:tc(()=>window.localStorage),partialize:h=>h,version:0,merge:(h,p)=>({...p,...h}),...t},a=!1,i=0;const c=new Set,d=new Set;let f=s.storage;if(!f)return e((...h)=>{console.warn(`[zustand persist middleware] Unable to update item '${s.name}', the given storage is currently unavailable.`),o(...h)},r,n);const m=()=>{const h=s.partialize({...r()});return f.setItem(s.name,{state:h,version:s.version})},b=n.setState;n.setState=(h,p)=>(b(h,p),m());const x=e((...h)=>(o(...h),m()),r,n);n.getInitialState=()=>x;let R;const A=()=>{var h,p;if(!f)return;const g=++i;a=!1,c.forEach(C=>{var P;return C((P=r())!=null?P:x)});const S=((p=s.onRehydrateStorage)==null?void 0:p.call(s,(h=r())!=null?h:x))||void 0;return Bt(f.getItem.bind(f))(s.name).then(C=>{if(C)if(typeof C.version=="number"&&C.version!==s.version){if(s.migrate){const P=s.migrate(C.state,C.version);return P instanceof Promise?P.then(I=>[!0,I]):[!0,P]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,C.state];return[!1,void 0]}).then(C=>{var P;if(g!==i)return;const[I,F]=C;if(R=s.merge(F,(P=r())!=null?P:x),o(R,!0),I)return m()}).then(()=>{g===i&&(S==null||S(r(),void 0),R=r(),a=!0,d.forEach(C=>C(R)))}).catch(C=>{g===i&&(S==null||S(void 0,C))})};return n.persist={setOptions:h=>{s={...s,...h},h.storage&&(f=h.storage)},clearStorage:()=>{f==null||f.removeItem(s.name)},getOptions:()=>s,rehydrate:()=>A(),hasHydrated:()=>a,onHydrate:h=>(c.add(h),()=>{c.delete(h)}),onFinishHydration:h=>(d.add(h),()=>{d.delete(h)})},s.skipHydration||A(),R||x},rc=oc,kt=ec()(rc(e=>({token:null,authenticated:!1,requireLogin:!1,hasPassword:!1,setToken:t=>e({token:t,authenticated:!!t}),setAuthenticated:t=>e({authenticated:t}),setAuthMeta:t=>e(t),clearAuth:()=>e({token:null,authenticated:!1})}),{name:"nr-auth",partialize:e=>({token:e.token,authenticated:e.authenticated})})),W=U.create({baseURL:"/api",withCredentials:!0,headers:{"Content-Type":"application/json"}});W.interceptors.request.use(e=>(kt.getState(),e));W.interceptors.response.use(e=>e,e=>{var t,o,r;if(((t=e.response)==null?void 0:t.status)===401){const n=(r=(o=e.response.data)==null?void 0:o.error)==null?void 0:r.code;(n==="dashboard_auth_required"||!n)&&(kt.getState().clearAuth(),typeof window<"u"&&!window.location.pathname.startsWith("/login")&&window.location.assign("/login"))}return Promise.reject(e)});function Jr(e,t="Request failed"){var o,r;if(U.isAxiosError(e)){const n=(o=e.response)==null?void 0:o.data;return typeof(n==null?void 0:n.error)=="string"?n.error:((r=n==null?void 0:n.error)==null?void 0:r.message)||(n==null?void 0:n.message)||e.message||t}return e instanceof Error?e.message:t}function nc(e){if(!e)return"";const t=/^[A-Za-z]:[\\/]+Users[\\/]+[^\\/]+/i,o=/^\/(?:home|Users)\/[^/]+/;return e.replace(t,"~").replace(o,"~")}function Kd(e){const t=nc(e);if(!t)return"";const r=t.replaceAll("\\","/").replace(/\/db\/data\.sqlite$/i,"/data.sqlite");return/^~\/(?:AppData\/Roaming\/)?\.swayrouter\/data\.sqlite$/i.test(r)?"~/.swayrouter/data.sqlite":r}async function sc(){const{data:e}=await W.get("/auth/status");return e}async function Jd(e){const{data:t}=await W.post("/auth/login",{password:e});return t}async function ac(){await W.post("/auth/logout")}async function Xd(e){const{data:t}=await W.post("/auth/verify-password",{password:e});return t.verified===!0}async function Yd(e=90){const t=typeof e=="number"?e<=7?"7d":e<=30?"30d":e<=90?"90d":e<=180?"180d":"365d":e,{data:o}=await W.get("/usage/chart",{params:{period:t}}),r=Array.isArray(o)?o.map(n=>({date:n.date||n.label,key:n.date||n.label,requests:Number(n.requests)||0,tokens:Number(n.tokens)||0,promptTokens:Number(n.promptTokens)||0,completionTokens:Number(n.completionTokens)||0,cachedTokens:Number(n.cachedTokens)||0,cost:Number(n.cost)||0,errors:Number(n.errors)||0})):[];if(t==="today"){const n=new Date,s=[n.getFullYear(),String(n.getMonth()+1).padStart(2,"0"),String(n.getDate()).padStart(2,"0")].join("-");return[r.reduce((a,i)=>({date:s,key:s,requests:a.requests+i.requests,tokens:a.tokens+i.tokens,promptTokens:a.promptTokens+(i.promptTokens||0),completionTokens:a.completionTokens+(i.completionTokens||0),cachedTokens:a.cachedTokens+(i.cachedTokens||0),cost:a.cost+i.cost,errors:a.errors+i.errors}),{date:s,key:s,requests:0,tokens:0,promptTokens:0,completionTokens:0,cachedTokens:0,cost:0,errors:0})]}return r}async function Qd(e){const t=(e==null?void 0:e.range)==="14d"?"30d":(e==null?void 0:e.range)==="1y"?"365d":(e==null?void 0:e.range)||"7d",{data:o}=await W.get("/usage/stats",{params:{period:t}}),r=o.byModel??{},n=Array.isArray(o.byModel)?o.byModel:Object.entries(r).map(([i,c])=>({model:c.rawModel||i.split(" (")[0],provider:c.provider||"",requests:c.requests??0,cost:c.cost??0,promptTokens:c.promptTokens??0,completionTokens:c.completionTokens??0,cachedTokens:c.cachedTokens??0,cacheCreationTokens:c.cacheCreationTokens??0})),s=Array.isArray(o.last10Minutes)?o.last10Minutes:[],a=i=>Object.values(o.byProvider??{}).reduce((c,d)=>c+((d==null?void 0:d[i])??0),0);return{total:o.total??o.totalRequests??0,totalCost:o.totalCost??0,totalPromptTokens:o.totalPromptTokens??a("promptTokens"),totalCompletionTokens:o.totalCompletionTokens??a("completionTokens"),totalCachedTokens:o.totalCachedTokens??a("cachedTokens"),byProvider:o.byProvider??{},byModel:n,since:o.since,byApiKey:o.byApiKey??{},recentRequests:o.recentRequests??[],daily:s.map((i,c)=>({date:i.label||`-${9-c}m`,requests:i.requests??0,tokens:(i.promptTokens??0)+(i.completionTokens??0),cost:i.cost??0,errors:0}))}}async function Zd(e){const{data:t}=await W.get("/usage/history",{params:{limit:(e==null?void 0:e.limit)??50,provider:e==null?void 0:e.provider,apiKeyId:e==null?void 0:e.apiKeyId,range:(e==null?void 0:e.range)||void 0,startDate:e==null?void 0:e.startDate}});return t.usage??[]}async function eu(e="all"){const{data:t}=await W.delete("/usage/history",{params:{range:e}});return t}async function tu(e){const{data:t}=await W.get("/usage/request-details",{params:{page:(e==null?void 0:e.page)??1,pageSize:(e==null?void 0:e.pageSize)??20,provider:e==null?void 0:e.provider,model:e==null?void 0:e.model,connectionId:e==null?void 0:e.connectionId,status:e==null?void 0:e.status,q:e==null?void 0:e.query,sortDir:e==null?void 0:e.sortDir,startDate:e==null?void 0:e.startDate,endDate:e==null?void 0:e.endDate,source:e==null?void 0:e.source,payloads:e!=null&&e.includePayloads?"true":void 0}});return t}async function ou(e,t){const{data:o}=await W.get(`/usage/${encodeURIComponent(e)}`,{signal:t,timeout:15e3});return o}async function ru(e){const{data:t}=await W.post(`/usage/${encodeURIComponent(e)}/codex-reset-credits`);return t}function ic({children:e,className:t}){return l.jsx("span",{className:O("inline-block text-muted-foreground",t),children:e})}function lc(){const e=Qo(),{authenticated:t,requireLogin:o,setAuthMeta:r,setAuthenticated:n}=kt(),[s,a]=k.useState(!1),[i,c]=k.useState(!1);return k.useEffect(()=>{let d=!1;async function f(){try{const m=await sc();if(d)return;c(!1),r({requireLogin:m.requireLogin,hasPassword:m.hasPassword,authenticated:m.authenticated}),n(m.authenticated)}catch{d||(c(!0),r({requireLogin:!1,hasPassword:!1,authenticated:!1}),n(!1))}finally{d||a(!0)}}return f(),()=>{d=!0}},[r,n]),s?i?l.jsxs("div",{className:"flex min-h-screen flex-col items-center justify-center gap-3 bg-background",children:[l.jsx("p",{className:"text-lg font-medium text-muted-foreground",children:"Backend unavailable"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Cannot reach Sway Router backend. Please check the server and try again."})]}):o&&!t?l.jsx(Zo,{to:"/login",replace:!0,state:{from:e}}):l.jsx(er,{}):l.jsx("div",{className:"flex min-h-screen items-center justify-center bg-background",children:l.jsx(ic,{className:"text-sm",children:"Loading Sway Router…"})})}async function Xr(){const{data:e}=await W.get("/version");return e}async function cc(){const{data:e}=await W.post("/update");return e}async function dc(){const{data:e}=await W.get("/settings");return e}async function Uo(e){const{data:t}=await W.patch("/settings",e);return t}async function nu(){const{data:e}=await W.get("/settings/database/path");return e.dbPath}async function su(){const{data:e}=await W.post("/shutdown");return e}function au(e,t){var n,s;const o=(s=(n=e==null?void 0:e.providerStrategies)==null?void 0:n[t])==null?void 0:s.fallbackStrategy;if(o==="least-inflight"||o==="fill-first"||o==="round-robin")return o;const r=e==null?void 0:e.fallbackStrategy;return r==="least-inflight"||r==="fill-first"||r==="round-robin"?r:"fill-first"}function iu(e,t){var r,n;const o=(n=(r=e==null?void 0:e.providerStrategies)==null?void 0:r[t])==null?void 0:n.stickyRoundRobinLimit;return typeof o=="number"&&o>=1?o:typeof(e==null?void 0:e.stickyRoundRobinLimit)=="number"&&e.stickyRoundRobinLimit>=1?e.stickyRoundRobinLimit:1}function uc({className:e,children:t,scrollFade:o=!1,scrollbarGutter:r=!1,fill:n=!1,clampContentMinWidth:s=!0,overscrollContain:a=!1,viewportRef:i,...c}){return l.jsxs(ps,{className:O("size-full min-h-0",e),...c,children:[l.jsx(ms,{ref:i,className:O("h-full rounded-[inherit] outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background",a&&"data-has-overflow-y:overscroll-y-contain data-has-overflow-x:overscroll-x-contain",o&&"mask-t-from-[calc(100%-min(var(--fade-size),var(--scroll-area-overflow-y-start)))] mask-b-from-[calc(100%-min(var(--fade-size),var(--scroll-area-overflow-y-end)))] mask-l-from-[calc(100%-min(var(--fade-size),var(--scroll-area-overflow-x-start)))] mask-r-from-[calc(100%-min(var(--fade-size),var(--scroll-area-overflow-x-end)))] [--fade-size:1.5rem]",r&&"data-has-overflow-y:pe-2.5 data-has-overflow-x:pb-2.5"),"data-slot":"scroll-area-viewport",children:l.jsx(hs,{className:O(n&&"size-full"),"data-slot":"scroll-area-content",style:s?{minWidth:0}:void 0,children:t})}),l.jsx(qo,{orientation:"vertical"}),l.jsx(qo,{orientation:"horizontal"}),l.jsx(gs,{"data-slot":"scroll-area-corner"})]})}function qo({className:e,orientation:t="vertical",...o}){return l.jsx(bs,{className:O("m-0 flex rounded-full bg-transparent opacity-0 transition-opacity duration-150 data-[orientation=horizontal]:h-1 data-[orientation=vertical]:w-1 data-[orientation=horizontal]:flex-col data-hovering:opacity-100 data-scrolling:opacity-100",e),"data-slot":"scroll-area-scrollbar",orientation:t,...o,children:l.jsx(ys,{className:"relative flex-1 rounded-full bg-foreground/20 transition-colors hover:bg-foreground/35","data-slot":"scroll-area-thumb"})})}const fc=xs,pc=ws;function mc({className:e,...t}){return l.jsx(Es,{className:O("fixed inset-0 z-50 bg-black/32 backdrop-blur-sm transition-all duration-200 data-ending-style:opacity-0 data-starting-style:opacity-0",e),"data-slot":"dialog-backdrop",...t})}function hc({className:e,...t}){return l.jsx(As,{className:O("fixed inset-0 z-50 grid place-items-center p-4",e),"data-slot":"dialog-viewport",...t})}function gc({className:e,children:t,showCloseButton:o=!0,bottomStickOnMobile:r=!0,closeProps:n,portalProps:s,...a}){return l.jsxs(pc,{...s,children:[l.jsx(mc,{}),l.jsx(hc,{className:O(r&&"max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12"),children:l.jsxs(vs,{className:O("relative flex max-h-full min-h-0 w-full min-w-0 max-w-lg origin-center flex-col rounded-2xl border bg-popover not-dark:bg-clip-padding text-popover-foreground opacity-[calc(1-var(--nested-dialogs))] outline-none transition-[scale,opacity,translate] duration-200 ease-in-out will-change-transform data-ending-style:opacity-0 data-starting-style:opacity-0 sm:scale-[calc(1-0.1*var(--nested-dialogs))] sm:data-ending-style:scale-98 sm:data-starting-style:scale-98",r&&"max-sm:row-start-2 max-sm:max-w-none max-sm:origin-bottom max-sm:rounded-t-3xl max-sm:border-x max-sm:border-t max-sm:border-b-0 max-sm:data-ending-style:translate-y-4 max-sm:data-starting-style:translate-y-4 max-sm:before:hidden max-sm:before:rounded-none",e),"data-slot":"dialog-popup",...a,children:[t,o&&l.jsx(ks,{"aria-label":"Close",className:"absolute end-2 top-2",render:l.jsx(ht,{size:"icon",variant:"ghost"}),...n,children:l.jsx($t,{})})]})})]})}function bc({className:e,render:t,...o}){const r={className:O("flex flex-col gap-2 p-6 in-[[data-slot=dialog-popup]:has([data-slot=dialog-panel])]:pb-3 max-sm:pb-4",e),"data-slot":"dialog-header"};return Ge({defaultTagName:"div",props:We(r,o),render:t})}function yc({className:e,variant:t="default",render:o,...r}){const n={className:O("flex flex-col-reverse gap-2 px-6 sm:flex-row sm:justify-end sm:rounded-b-[calc(var(--radius-2xl)-1px)]",t==="default"&&"border-t bg-muted/72 py-4",t==="bare"&&"in-[[data-slot=dialog-popup]:has([data-slot=dialog-panel])]:pt-3 pt-4 pb-6",e),"data-slot":"dialog-footer"};return Ge({defaultTagName:"div",props:We(n,r),render:o})}function xc({className:e,...t}){return l.jsx(Ss,{className:O("font-heading font-semibold text-xl leading-none",e),"data-slot":"dialog-title",...t})}function wc({className:e,...t}){return l.jsx(_s,{className:O("text-muted-foreground text-sm",e),"data-slot":"dialog-description",...t})}function lu({className:e,scrollFade:t=!0,render:o,...r}){const n={className:O("p-6 in-[[data-slot=dialog-popup]:has([data-slot=dialog-header])]:pt-1 in-[[data-slot=dialog-popup]:has([data-slot=dialog-footer]:not(.border-t))]:pb-1",e),"data-slot":"dialog-panel"};return l.jsx(uc,{overscrollContain:!0,scrollFade:t,children:Ge({defaultTagName:"div",props:We(n,r),render:o})})}function Yr({className:e,size:t="default",unstyled:o=!1,nativeInput:r=!1,style:n,...s}){const a=O("h-8.5 w-full min-w-0 rounded-[inherit] px-[calc(--spacing(3)-1px)] text-foreground leading-8.5 outline-none [transition:background-color_5000000s_ease-in-out_0s] placeholder:text-muted-foreground/72 max-sm:text-base sm:h-7.5 sm:leading-7.5 autofill:[-webkit-text-fill-color:var(--foreground)]",t==="sm"&&"h-7.5 px-[calc(--spacing(2.5)-1px)] leading-7.5 sm:h-6.5 sm:leading-6.5",t==="lg"&&"h-9.5 leading-9.5 sm:h-8.5 sm:leading-8.5",s.type==="search"&&"[&::-webkit-search-cancel-button]:appearance-none [&::-webkit-search-decoration]:appearance-none [&::-webkit-search-results-button]:appearance-none [&::-webkit-search-results-decoration]:appearance-none",s.type==="password"&&"[&::-ms-reveal]:hidden [&::-ms-clear]:hidden",s.type==="number"&&"[appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none",s.type==="file"&&"text-muted-foreground file:me-3 file:bg-transparent file:font-medium file:text-foreground file:text-sm");return l.jsx("span",{className:O(!o&&"relative inline-flex w-full rounded-lg border border-input bg-background not-dark:bg-clip-padding text-base ring-ring/24 has-focus-visible:has-aria-invalid:border-destructive/64 has-focus-visible:has-aria-invalid:ring-destructive/16 has-aria-invalid:border-destructive/36 has-focus-visible:border-ring has-autofill:bg-foreground/4 has-disabled:opacity-64 has-focus-visible:ring-[3px] sm:text-sm dark:bg-input/32 dark:has-autofill:bg-foreground/8 dark:has-aria-invalid:ring-destructive/24",e)||void 0,"data-size":t,"data-slot":"input-control",children:r?l.jsx("input",{className:a,"data-slot":"input",size:typeof t=="number"?t:void 0,style:typeof n=="function"?void 0:n,...s}):l.jsx(Cs,{className:a,"data-slot":"input",size:typeof t=="number"?t:void 0,style:n,...s})})}function vc({children:e}){return l.jsx(Ps,{delay:450,closeDelay:100,children:e})}function $e({label:e,children:t,side:o="top",sideOffset:r=8,disabled:n=!1,className:s}){return n||e==null||e===""?t:l.jsxs(Rs,{children:[l.jsx(Ts,{render:t,delay:450,"aria-label":typeof e=="string"?e:void 0}),l.jsx(Ns,{children:l.jsx(Os,{side:o,sideOffset:r,className:"z-[100]",children:l.jsx(js,{className:O("relative origin-[var(--transform-origin)] rounded-lg border border-border bg-popover px-2.5 py-1.5 text-xs font-medium text-popover-foreground transition-[opacity,transform] duration-150 ease-out","data-ending-style:-translate-y-1 data-ending-style:opacity-0 data-starting-style:-translate-y-1 data-starting-style:opacity-0",s),children:e})})})]})}function kc({collapsed:e=!1}){const t=dn(),o=jt({queryKey:["version"],queryFn:Xr,retry:!1,staleTime:3600*1e3}),r=un({mutationFn:cc,onSuccess:s=>{t.setQueryData(["version"],a=>a&&{...a,updateAvailable:!1}),Lt.success(s.message||"Update installed. Restart the router to apply it.")},onError:s=>{Lt.error(Jr(s,"Update failed"))}}),n=o.data;return!(n!=null&&n.updateAvailable)||!n.latestVersion||!n.updateSupported||e?null:l.jsxs(Ve.section,{initial:{opacity:0,y:-8},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},className:"mx-3 mb-2 rounded-lg border border-border bg-surface p-2.5",role:"status","aria-label":"Version update available",children:[l.jsxs("div",{className:"flex min-w-0 items-start gap-2.5",children:[l.jsx("span",{className:"mt-0.5 flex size-7 shrink-0 items-center justify-center rounded-lg bg-muted text-muted-foreground",children:l.jsx(bn,{className:"size-4","aria-hidden":"true"})}),l.jsx("div",{className:"min-w-0",children:l.jsx("p",{className:"text-[11px] font-medium leading-tight",children:"New version available"})})]}),l.jsx(ht,{size:"sm",onClick:()=>r.mutate(),loading:r.isPending,disabled:r.isPending,className:"mt-2.5 w-full text-[11px] sm:text-[11px]",children:r.isPending?"Updating…":`Update to v${n.latestVersion}`})]})}const le="/dashboard",ft="Sway Router",Qr="swayrouter.profile.name",Ut="swayrouter.profile.avatar",Zr="swayrouter.sidebar.collapsed.v4",Sc={type:"spring",stiffness:460,damping:36,mass:.45},Zt=[{to:`${le}`,label:"Dashboard",icon:yn},{to:`${le}/manage-apikey`,label:"API Keys",icon:xn},{to:`${le}/provider`,label:"Providers",icon:wn},{to:`${le}/combo`,label:"Combos",icon:vn},{to:`${le}/proxy`,label:"Proxy",icon:kn},{to:`${le}/usage`,label:"Usage",icon:Sn},{to:`${le}/quota-monitor`,label:"Quota Monitor",icon:_n},{to:`${le}/cli-tools`,label:"CLI Tools",icon:En},{to:`${le}/sway-chat`,label:"Sway Chat",icon:An},{to:`${le}/settings`,label:"Settings",icon:Cn},{to:`${le}/console-log`,label:"Console Logs",icon:Rn}];function _c(){if(typeof window>"u")return!1;try{return window.localStorage.getItem(Zr)==="true"}catch{return!1}}function Ec(e){try{window.localStorage.setItem(Zr,String(e))}catch{}}function $o(){var e;if(typeof window>"u")return ft;try{return((e=window.localStorage.getItem(Qr))==null?void 0:e.trim())||ft}catch{return ft}}function Vo(e){try{window.localStorage.setItem(Qr,e)}catch{}}function Ac(){var e;if(typeof window>"u")return"";try{return((e=window.localStorage.getItem(Ut))==null?void 0:e.trim())||""}catch{return""}}function Cc(e){try{e?window.localStorage.setItem(Ut,e):window.localStorage.removeItem(Ut)}catch{}}function Rc({mobileOpen:e=!1,onNavigate:t,onClose:o}){var _,B,ne,ie;const n=jt({queryKey:["version"],queryFn:Xr,retry:!1,staleTime:36e5}).data,s=jt({queryKey:["settings"],queryFn:dc,retry:!1,staleTime:3600*1e3}),a=((B=(_=s.data)==null?void 0:_.profileName)==null?void 0:B.trim())||"",i=((ie=(ne=s.data)==null?void 0:ne.profileAvatar)==null?void 0:ie.trim())||"",[c,d]=k.useState(!1),[f,m]=k.useState($o),[b,x]=k.useState(Ac),[R,A]=k.useState(!1),[h,p]=k.useState(f),[g,S]=k.useState(!1),[C,P]=k.useState(""),[I,F]=k.useState(_c),[E,$]=k.useState(()=>typeof window<"u"&&window.matchMedia("(min-width: 1024px)").matches),[H,Q]=k.useState(!1),de=tr(),we=Fs(),D=E&&I,Z=!!(n!=null&&n.updateAvailable&&n.latestVersion&&n.updateSupported),V=k.useRef(D);k.useEffect(()=>{c||Q(!1)},[c]),k.useEffect(()=>{Ec(I)},[I]),k.useEffect(()=>{const L=window.matchMedia("(min-width: 1024px)"),z=T=>$(T.matches);return $(L.matches),L.addEventListener("change",z),()=>L.removeEventListener("change",z)},[]),k.useEffect(()=>{V.current!==D&&(d(!1),V.current=D)},[D]),k.useEffect(()=>{if(!s.isSuccess)return;if(a){m(a),Vo(a);return}const L=$o();L!==ft&&Uo({profileName:L}).catch(()=>{})},[a,s.isSuccess]),k.useEffect(()=>{s.isSuccess&&(x(i),Cc(i))},[i,s.isSuccess]);function re(){d(!1),P(""),p(f),A(!0)}async function he(){var z;const L=h.trim().replace(/\s+/g," ");if(!(!L||g)){S(!0),P("");try{const M=((z=(await Uo({profileName:L})).profileName)==null?void 0:z.trim())||L;m(M),Vo(M),A(!1),Lt.success("Profile renamed")}catch(T){P(Jr(T,"Unable to save profile name"))}finally{S(!1)}}}async function fe(){if(!H){Q(!0);try{await ac()}catch{}finally{kt.getState().clearAuth(),d(!1),de("/login",{replace:!0})}}}return l.jsxs(l.Fragment,{children:[l.jsx("button",{type:"button","aria-label":"Close sidebar",className:O("fixed inset-0 z-40 bg-black/60 transition-opacity duration-200 lg:hidden",e?"pointer-events-auto opacity-100":"pointer-events-none opacity-0"),onClick:o}),l.jsxs("aside",{className:O("fixed inset-y-0 left-0 z-50 flex w-[min(18rem,86vw)] flex-col overflow-hidden border-r border-border bg-muted lg:bg-muted/72","pt-[env(safe-area-inset-top)] pb-[env(safe-area-inset-bottom)]","transition-[width,transform] duration-[280ms] ease-[cubic-bezier(0.22,1,0.36,1)] [will-change:width,transform] motion-reduce:transition-none","lg:relative lg:inset-auto lg:left-0 lg:m-0 lg:h-full lg:flex-none lg:rounded-r-3xl",D?"lg:w-[65px]":"lg:w-64",e?"translate-x-0":"-translate-x-full lg:translate-x-0"),children:[l.jsx("div",{className:O("shrink-0 pb-3 pt-5"),children:l.jsxs("div",{className:"flex min-w-0 items-center",children:[l.jsx("div",{className:"flex h-8 w-16 shrink-0 items-center justify-center",children:l.jsx($e,{label:"Open sidebar",side:"right",sideOffset:10,disabled:!D,children:l.jsxs("button",{type:"button",onClick:()=>{D&&(d(!1),F(!1))},"aria-label":D?Z?"Open sidebar, update available":"Open sidebar":"Sway Router",className:"group/brand relative inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-lg transition-colors duration-100 touch-manipulation hover:bg-surface-hover",children:[l.jsx("img",{src:"/logo/sway.svg",alt:"",className:O("h-8 w-8 rounded-lg object-contain transition-opacity duration-150 ease-out",D&&"lg:group-hover/brand:opacity-0 lg:group-focus-visible/brand:opacity-0")}),l.jsx(lt,{"aria-hidden":"true",className:O("pointer-events-none absolute h-4 w-4 text-muted-foreground opacity-0 transition-opacity duration-150 ease-out",D&&"lg:group-hover/brand:opacity-100 lg:group-focus-visible/brand:opacity-100")}),D&&Z?l.jsx("span",{className:"pointer-events-none absolute -right-0.5 -top-0.5 size-2.5 rounded-full border-2 border-muted bg-destructive","aria-hidden":"true"}):null]})})}),l.jsxs("div",{className:O("min-w-0 flex-1 overflow-hidden transition-[opacity,transform] duration-[280ms] ease-[cubic-bezier(0.22,1,0.36,1)] [will-change:opacity,transform] motion-reduce:transition-none",D&&"lg:pointer-events-none lg:-translate-x-2 lg:opacity-0"),children:[l.jsx("span",{className:"block truncate text-sm font-semibold leading-tight tracking-tight",children:"Sway Router"}),l.jsxs("div",{className:"mt-1 flex items-center gap-1.5 text-xs text-muted-foreground",children:[l.jsx("span",{children:"Version"}),l.jsx("span",{className:"tabular-nums text-muted-foreground/80",children:(n==null?void 0:n.currentVersion)??"1.0.0"})]})]}),l.jsx($e,{label:"Collapse sidebar",side:"right",sideOffset:10,disabled:D,children:l.jsx("button",{type:"button",className:O("hidden h-7 w-7 shrink-0 items-center justify-center rounded-lg text-muted-foreground transition-colors duration-150 hover:bg-surface-hover hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring lg:inline-flex",D&&"lg:hidden"),onClick:()=>F(L=>!L),"aria-label":"Collapse sidebar",children:l.jsx(lt,{className:"h-4 w-4"})})}),l.jsx("button",{type:"button",className:"ml-auto inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-lg text-muted-foreground transition-colors duration-200 hover:bg-surface-hover hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring lg:hidden",onClick:o,"aria-label":"Close sidebar",children:l.jsx(lt,{className:"h-4 w-4"})})]})}),l.jsx("div",{className:"mx-3 shrink-0 border-t border-border/70","aria-hidden":"true"}),l.jsx("nav",{className:O("min-h-0 flex-1 overflow-y-auto overscroll-contain pb-3 pt-1"),children:l.jsx("div",{className:"space-y-0.5",children:Zt.map(({to:L,label:z,icon:T})=>l.jsx($e,{label:z,side:"right",sideOffset:10,disabled:!D,children:l.jsx(sn,{to:L,end:L===`${le}`,onClick:t,className:({isActive:M})=>O("group relative flex min-h-10 w-full items-center py-2 pr-3 text-sm transition-[background-color,color] duration-200 ease-out","touch-manipulation hover:bg-surface-hover/70",M?"text-foreground":"text-muted-foreground hover:text-foreground"),children:({isActive:M})=>l.jsxs(l.Fragment,{children:[M?l.jsx(Ve.span,{layoutId:`nav-highlight-${D?"collapsed":"expanded"}`,layout:!0,className:"pointer-events-none absolute inset-y-0 left-2 right-2 origin-left rounded-xl bg-white/12",transition:we?{duration:0}:Sc}):null,l.jsx("span",{className:"relative z-10 flex h-6 w-16 shrink-0 items-center justify-center",children:l.jsx(T,{className:"h-[1.05rem] w-[1.05rem] shrink-0"})}),l.jsx("span",{className:O("relative z-10 min-w-0 flex-1 truncate whitespace-nowrap transition-[opacity,transform] duration-[280ms] ease-[cubic-bezier(0.22,1,0.36,1)] [will-change:opacity,transform] motion-reduce:transition-none",D&&"lg:pointer-events-none lg:-translate-x-2 lg:opacity-0"),children:z})]})})},L))})}),l.jsxs("div",{className:O("shrink-0 border-t border-border/70 pb-3 pt-3"),children:[l.jsx(kc,{collapsed:D}),D?l.jsxs(Is,{open:c,onOpenChange:L=>d(L),children:[l.jsx(Ls,{"aria-label":"Open account menu",className:"group/profile relative flex h-10 w-full items-center justify-center rounded-xl transition-colors duration-100 hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:l.jsx("img",{src:b||"/logo/avatar.svg",alt:f,className:"h-8 w-8 rounded-lg object-cover transition-transform duration-150 ease-out group-hover/profile:scale-[1.03]"})}),l.jsx(Ds,{children:l.jsx(zs,{side:"right",align:"end",sideOffset:10,className:"z-[100]",children:l.jsxs(Ms,{className:"flex w-52 origin-[var(--transform-origin)] flex-col gap-2 rounded-xl border border-border bg-popover p-2 text-popover-foreground shadow-xl outline-none transition-[opacity,transform] duration-150 ease-out data-ending-style:scale-95 data-ending-style:opacity-0 data-starting-style:scale-95 data-starting-style:opacity-0",children:[l.jsxs("div",{className:"px-2 py-1",children:[l.jsx("p",{className:"truncate text-sm font-semibold",children:f}),l.jsx("p",{className:"mt-0.5 text-xs text-muted-foreground",children:"Administrator"})]}),l.jsxs("button",{type:"button",onClick:()=>void fe(),disabled:H,className:"flex h-9 w-full items-center gap-2 rounded-lg border border-destructive/20 bg-destructive/5 px-2.5 text-sm text-destructive transition-colors hover:bg-destructive/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-destructive/50 disabled:pointer-events-none disabled:opacity-64",children:[H?l.jsx(pt,{className:"h-4 w-4 shrink-0 animate-spin"}):l.jsx(oo,{className:"h-4 w-4 shrink-0"}),l.jsx("span",{children:H?"Signing out…":"Sign out"})]})]})})})]}):l.jsx($e,{label:"Account menu",side:"right",sideOffset:10,children:l.jsxs("div",{className:"group/profile relative flex min-h-12 w-full items-center rounded-xl py-2 pr-3 transition-colors duration-100 touch-manipulation hover:bg-surface-hover",children:[l.jsx("button",{type:"button",onClick:()=>d(L=>!L),"aria-haspopup":"menu","aria-expanded":c,"aria-label":c?"Close account menu":"Open account menu",className:"absolute inset-0 z-0 rounded-xl focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"}),l.jsx("span",{className:"relative z-10 flex h-8 w-16 shrink-0 items-center justify-center",children:l.jsx("img",{src:b||"/logo/avatar.svg",alt:f,className:"pointer-events-none h-8 w-8 shrink-0 rounded-lg object-cover"})}),l.jsxs("span",{className:"group/profile-name pointer-events-none relative z-10 min-w-0 flex-1 overflow-hidden transition-[opacity,transform] duration-[280ms] ease-[cubic-bezier(0.22,1,0.36,1)] [will-change:opacity,transform] motion-reduce:transition-none",children:[l.jsxs("span",{className:"flex min-w-0 items-center gap-1",children:[l.jsx("span",{className:"min-w-0 truncate text-sm font-semibold leading-tight tracking-tight",children:f}),l.jsx($e,{label:"Rename profile",side:"right",sideOffset:8,children:l.jsx("button",{type:"button",onClick:re,"aria-label":"Rename profile",className:"pointer-events-auto relative z-20 inline-flex h-5 w-5 shrink-0 items-center justify-center rounded-md text-muted-foreground opacity-0 transition-[opacity,transform,background-color,color] duration-150 ease-out group-hover/profile-name:opacity-100 group-focus-within/profile-name:opacity-100 focus-visible:opacity-100 hover:bg-surface-hover hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:l.jsx(Tn,{className:"h-3 w-3"})})})]}),l.jsx("span",{className:"mt-0.5 block truncate text-xs leading-tight text-muted-foreground",children:"Administrator"})]}),l.jsx("span",{className:"relative z-10 shrink-0 pointer-events-none text-muted-foreground transition-[opacity,transform] duration-[280ms] ease-[cubic-bezier(0.22,1,0.36,1)] [will-change:opacity,transform] motion-reduce:transition-none",children:c?l.jsx(Nn,{className:"h-4 w-4"}):l.jsx(On,{className:"h-4 w-4"})})]})}),D?null:l.jsx(rr,{initial:!1,children:c?l.jsx(Ve.div,{initial:{opacity:0,height:0,y:4},animate:{opacity:1,height:"auto",y:0},exit:{opacity:0,height:0,y:4},transition:{type:"spring",stiffness:420,damping:34,mass:.55},className:"mx-3 overflow-hidden",children:l.jsxs("button",{type:"button",onClick:()=>void fe(),disabled:H,className:"mt-1.5 flex h-10 w-full items-center gap-2 rounded-xl border border-destructive/20 bg-destructive/5 px-3 text-sm text-destructive transition-colors hover:bg-destructive/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-destructive/50",children:[H?l.jsx(pt,{className:"h-4 w-4 shrink-0 animate-spin"}):l.jsx(oo,{className:"h-4 w-4 shrink-0"}),l.jsx("span",{children:H?"Signing out…":"Sign out"})]})}):null})]})]}),l.jsx(fc,{open:R,onOpenChange:L=>{A(L),P(""),L&&p(f)},children:l.jsxs(gc,{className:"sm:max-w-md",children:[l.jsxs(bc,{children:[l.jsx(xc,{children:"Rename profile"}),l.jsx(wc,{children:"Choose the name shown in the sidebar profile."})]}),l.jsxs("div",{className:"space-y-1.5 px-6 pb-2",children:[l.jsx("label",{htmlFor:"profile-name",className:"text-xs font-medium text-muted-foreground",children:"Profile name"}),l.jsx(Yr,{id:"profile-name",value:h,onChange:L=>p(L.target.value),onKeyDown:L=>{L.key==="Enter"&&he()},maxLength:40,autoFocus:!0}),C?l.jsx("p",{role:"alert",className:"text-xs text-destructive",children:C}):null]}),l.jsxs(yc,{children:[l.jsx(ht,{variant:"outline",onClick:()=>A(!1),disabled:g,children:"Cancel"}),l.jsx(ht,{onClick:()=>void he(),disabled:!h.trim(),loading:g,children:"Save"})]})]})})]})}function Tc({threshold:e=280,className:t}){const[o,r]=k.useState(!1),[n,s]=k.useState(null);k.useEffect(()=>{const c=document.querySelector("main.min-h-0.flex-1.overflow-y-auto")||window;s(c);function d(){const f=c===window?window.scrollY||document.documentElement.scrollTop:c.scrollTop;r(f>e)}return d(),c.addEventListener("scroll",d,{passive:!0}),()=>c.removeEventListener("scroll",d)},[e]);function a(){n&&(n===window?window.scrollTo({top:0,behavior:"smooth"}):n.scrollTo({top:0,behavior:"smooth"}))}return l.jsx("button",{type:"button","aria-label":"Scroll to top",onClick:a,className:O("fixed bottom-6 right-6 z-40 inline-flex h-10 w-10 items-center justify-center rounded-full border border-border bg-card text-foreground transition-all duration-150","hover:bg-surface-hover hover:border-white/20",o?"pointer-events-auto translate-y-0 opacity-100":"pointer-events-none translate-y-2 opacity-0",t),children:l.jsx(jn,{className:"h-4 w-4"})})}const Nc=wr("relative inline-flex shrink-0 items-center justify-center gap-1 whitespace-nowrap rounded-sm border border-transparent font-medium outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-64 [&_svg:not([class*='opacity-'])]:opacity-80 [&_svg:not([class*='size-'])]:size-3.5 sm:[&_svg:not([class*='size-'])]:size-3 [&_svg]:pointer-events-none [&_svg]:shrink-0 [button&,a&]:cursor-pointer [button&,a&]:pointer-coarse:after:absolute [button&,a&]:pointer-coarse:after:size-full [button&,a&]:pointer-coarse:after:min-h-11 [button&,a&]:pointer-coarse:after:min-w-11",{defaultVariants:{size:"default",variant:"default"},variants:{size:{default:"h-5.5 min-w-5.5 px-[calc(--spacing(1)-1px)] text-sm sm:h-4.5 sm:min-w-4.5 sm:text-xs",lg:"h-6.5 min-w-6.5 px-[calc(--spacing(1.5)-1px)] text-base sm:h-5.5 sm:min-w-5.5 sm:text-sm",sm:"h-5 min-w-5 rounded-[.25rem] px-[calc(--spacing(1)-1px)] text-xs sm:h-4 sm:min-w-4 sm:text-[.625rem]"},variant:{default:"bg-primary text-primary-foreground [button&,a&]:hover:bg-primary/90",destructive:"bg-destructive text-white [button&,a&]:hover:bg-destructive/90",error:"bg-destructive/8 text-destructive-foreground dark:bg-destructive/16",info:"bg-info/8 text-info-foreground dark:bg-info/16",outline:"border-input bg-background text-foreground dark:bg-input/32 [button&,a&]:hover:bg-accent/50 dark:[button&,a&]:hover:bg-input/48",secondary:"bg-secondary text-secondary-foreground [button&,a&]:hover:bg-secondary/90",success:"bg-success/8 text-success-foreground dark:bg-success/16",warning:"bg-warning/8 text-warning-foreground dark:bg-warning/16",debug:"bg-debug/8 text-debug-foreground dark:bg-debug/16"}}});function Ho({className:e,variant:t,size:o,render:r,...n}){const s={className:O(Nc({className:e,size:o,variant:t})),"data-slot":"badge"};return Ge({defaultTagName:"span",props:We(s,n),render:r})}const Fe=[{id:"alicode",name:"Alibaba",alias:"alicode",category:"apikey",authType:"apikey",color:"#FF6A00",icon:"cloud",textIcon:"ALi"},{id:"alicode-intl",name:"Alibaba Coding",alias:"alicode-intl",category:"apikey",authType:"apikey",color:"#FF6A00",icon:"cloud",textIcon:"ALi"},{id:"alims-intl",name:"Alibaba Studio",alias:"alims-intl",category:"apikey",authType:"apikey",color:"#FF6A00",icon:"cloud",textIcon:"ALi"},{id:"agentrouter",name:"Agent Router",alias:"agentrouter",category:"apikey",authType:"apikey",authModes:["apikey"],color:"#7C5CFC",icon:"sway",textIcon:"SW",passthroughModels:!0},{id:"anthropic",name:"Anthropic",alias:"anthropic",category:"apikey",authType:"apikey",color:"#D97757",icon:"smart_toy",textIcon:"AN"},{id:"antigravity",name:"Antigravity",alias:"ag",category:"oauth",authType:"oauth",color:"#F59E0B",icon:"rocket_launch"},{id:"azure",name:"Azure OpenAI",alias:"azure",category:"apikey",authType:"apikey",color:"#0078D4",icon:"cloud",textIcon:"AZ"},{id:"baidu",name:"Baidu Qianfan",alias:"qianfan",category:"apikey",authType:"apikey",authModes:["apikey"],color:"#2932E1",icon:"search",textIcon:"BD"},{id:"blackbox",name:"Blackbox AI",alias:"bb",category:"apikey",authType:"apikey",color:"#5B5FEF",icon:"smart_toy",textIcon:"BB"},{id:"byteplus",name:"BytePlus ModelArk",alias:"bpm",category:"apikey",authType:"apikey",authModes:["apikey"],color:"#2563EB",icon:"cloud",textIcon:"BP"},{id:"cerebras",name:"Cerebras",alias:"cerebras",category:"apikey",authType:"apikey",color:"#FF4F00",icon:"memory",textIcon:"CB"},{id:"chutes",name:"Chutes AI",alias:"ch",category:"apikey",authType:"apikey",color:"#ffffffff",icon:"water_drop",textIcon:"CH"},{id:"claude",name:"Claude Code",alias:"cc",category:"oauth",authType:"oauth",color:"#D97757",icon:"smart_toy"},{id:"cline",name:"Cline",alias:"cl",category:"oauth",authType:"oauth",color:"#5B9BD5",icon:"smart_toy",textIcon:"CL"},{id:"clinepass",name:"ClinePass",alias:"clinepass",category:"oauth",authType:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,color:"#5B9BD5",icon:"vpn_key",textIcon:"CP"},{id:"cloudflare-ai",name:"Cloudflare",alias:"cf",category:"apikey",authType:"apikey",authModes:["apikey"],color:"#F38020",icon:"cloud",textIcon:"CF"},{id:"codebuddy-cn",name:"CodeBuddy CN",alias:"cbcn",category:"oauth",authType:"device",authModes:["device","apikey","import"],hasOAuth:!0,color:"#006EFF",icon:"smart_toy"},{id:"codebuddy-intl",name:"CodeBuddy",alias:"cbai",category:"oauth",authType:"device",authModes:["device","apikey","import"],hasOAuth:!0,color:"#006EFF",icon:"smart_toy"},{id:"codex",name:"OpenAI Codex",alias:"cx",category:"oauth",authType:"oauth",color:"#3B82F6",icon:"code"},{id:"commandcode",name:"Command Code",alias:"cmc",category:"apikey",authType:"apikey",color:"#000000",icon:"smart_toy",textIcon:"CC"},{id:"cursor",name:"Cursor IDE",alias:"cu",category:"oauth",authType:"import",authModes:["import"],color:"#00D4AA",icon:"edit_note"},{id:"deepseek",name:"DeepSeek",alias:"ds",category:"apikey",authType:"apikey",color:"#4D6BFE",icon:"bolt",textIcon:"DS"},{id:"featherless",name:"Featherless",alias:"fl",category:"apikey",authType:"apikey",color:"#111827",icon:"flutter_dash",textIcon:"FL"},{id:"fireworks",name:"Fireworks AI",alias:"fireworks",category:"apikey",authType:"apikey",color:"#7B2EF2",icon:"local_fire_department",textIcon:"FW"},{id:"gemini",name:"Gemini",alias:"gemini",category:"apikey",authType:"apikey",authModes:["apikey"],color:"#4285F4",icon:"diamond",textIcon:"GE"},{id:"gemini-cli",name:"Gemini CLI",alias:"gc",category:"oauth",authType:"oauth",color:"#4285F4",icon:"terminal"},{id:"github",name:"GitHub Copilot",alias:"gh",category:"oauth",authType:"device",authModes:["device"],color:"#333333",icon:"code"},{id:"glm",name:"GLM Coding",alias:"glm",category:"apikey",authType:"apikey",color:"#2563EB",icon:"code",textIcon:"GL"},{id:"glm-cn",name:"GLM (China)",alias:"glm-cn",category:"apikey",authType:"apikey",color:"#DC2626",icon:"code",textIcon:"GC"},{id:"grok-cli",name:"Grok CLI (Grok Build)",alias:"gcli",category:"oauth",authType:"device",authModes:["device"],hasOAuth:!0,color:"#1DA1F2",icon:"auto_awesome",textIcon:"GC"},{id:"grok-web",name:"Grok Web (Subscription)",alias:"gw",category:"webCookie",authType:"cookie",color:"#1DA1F2",icon:"auto_awesome",textIcon:"GW"},{id:"groq",name:"Groq",alias:"groq",category:"apikey",authType:"apikey",color:"#F55036",icon:"speed",textIcon:"GQ"},{id:"kilo-gateway",name:"Kilo Gateway",alias:"kgw",category:"apikey",authType:"apikey",authModes:["apikey"],color:"#8B5CF6",icon:"login",textIcon:"KG"},{id:"kilocode",name:"Kilo Code",alias:"kc",category:"oauth",authType:"device",authModes:["device"],color:"#FF6B35",icon:"code",textIcon:"KC"},{id:"kimchi",name:"Kimchi",alias:"kimchi",category:"oauth",authType:"oauth",authModes:["oauth"],hasOAuth:!0,color:"#FF521D",icon:"restaurant",textIcon:"KC"},{id:"kimi",name:"Kimi",alias:"kimi",category:"oauth",authType:"device",authModes:["device","apikey"],hasOAuth:!0,color:"#1E3A8A",icon:"psychology",textIcon:"KM"},{id:"kiro",name:"Kiro AI",alias:"kr",category:"oauth",authType:"device",authModes:["device","apikey","import"],color:"#FF6B35",icon:"psychology_alt"},{id:"meta",name:"Meta AI",alias:"meta",category:"apikey",authType:"apikey",authModes:["apikey"],color:"#0668E1",icon:"auto_awesome",textIcon:"MA",passthroughModels:!0},{id:"minimax",name:"Minimax Coding",alias:"minimax",category:"apikey",authType:"apikey",color:"#7C3AED",icon:"memory",textIcon:"MM"},{id:"minimax-cn",name:"Minimax (China)",alias:"minimax-cn",category:"apikey",authType:"apikey",color:"#DC2626",icon:"memory",textIcon:"MC"},{id:"mistral",name:"Mistral",alias:"mistral",category:"apikey",authType:"apikey",color:"#FF7000",icon:"air",textIcon:"MI"},{id:"morph",name:"Morph",alias:"morph",category:"apikey",authType:"apikey",authModes:["apikey"],color:"#14B8A6",icon:"change_history",textIcon:"MP"},{id:"nebius",name:"Nebius AI",alias:"nebius",category:"apikey",authType:"apikey",color:"#6C5CE7",icon:"cloud",textIcon:"NB"},{id:"nvidia",name:"NVIDIA NIM",alias:"nvidia",category:"apikey",authType:"apikey",authModes:["apikey"],color:"#76B900",icon:"developer_board",textIcon:"NV"},{id:"ollama",name:"Ollama Cloud",alias:"ollama",category:"apikey",authType:"apikey",authModes:["apikey"],color:"#ffffffff",icon:"cloud",textIcon:"OL"},{id:"ollama-local",name:"Ollama Local",alias:"ollama-local",category:"apikey",authType:"apikey",color:"#ffffffff",icon:"cloud",textIcon:"OL"},{id:"openai",name:"OpenAI",alias:"openai",category:"apikey",authType:"apikey",color:"#10A37F",icon:"auto_awesome",textIcon:"OA"},{id:"opencode",name:"OpenCode Free",alias:"oc",category:"none",authType:"none",noAuth:!0,color:"#E87040",icon:"terminal",textIcon:"OC"},{id:"opencode-go",name:"OpenCode Go",alias:"ocg",category:"apikey",authType:"apikey",color:"#E87040",icon:"terminal",textIcon:"OC"},{id:"openrouter",name:"OpenRouter",alias:"openrouter",category:"apikey",authType:"apikey",authModes:["apikey"],color:"#F97316",icon:"router",textIcon:"OR"},{id:"perplexity",name:"Perplexity AI",alias:"pplx",category:"apikey",authType:"apikey",authModes:["apikey"],color:"#20808D",icon:"search",textIcon:"PP",passthroughModels:!0},{id:"poolside",name:"Poolside",alias:"ps",category:"apikey",authType:"apikey",authModes:["apikey"],color:"#0EA5E9",icon:"water_drop",textIcon:"PS"},{id:"qoder",name:"Qoder",alias:"qd",category:"oauth",authType:"device",authModes:["device","apikey"],hasOAuth:!0,color:"#EC4899",icon:"water_drop"},{id:"sumopod",name:"SumoPod",alias:"sumopod",category:"apikey",authType:"apikey",authModes:["apikey"],color:"#F4F4F5",icon:"sumopod",textIcon:"SP",passthroughModels:!0},{id:"tencent",name:"Tencent Hunyuan",alias:"hunyuan",category:"apikey",authType:"apikey",authModes:["apikey"],color:"#0052D9",icon:"cloud",textIcon:"HY"},{id:"together",name:"Together AI",alias:"together",category:"apikey",authType:"apikey",color:"#0F6FFF",icon:"group_work",textIcon:"TG"},{id:"trae",name:"Trae",alias:"tr",category:"oauth",authType:"oauth",authModes:["oauth"],hasOAuth:!0,color:"#FF6A00",icon:"bolt",textIcon:"TR"},{id:"venice",name:"Venice AI",alias:"venice",category:"apikey",authType:"apikey",color:"#DC2626",icon:"shield",textIcon:"VE"},{id:"vercel-ai-gateway",name:"Vercel AI Gateway",alias:"vercel",category:"apikey",authType:"apikey",color:"#111827",icon:"deployed_code",textIcon:"VG"},{id:"vertex",name:"Vertex AI",alias:"vx",category:"apikey",authType:"apikey",authModes:["apikey"],color:"#4285F4",icon:"cloud",textIcon:"VX"},{id:"vertex-partner",name:"Vertex Partner",alias:"vxp",category:"apikey",authType:"apikey",color:"#34A853",icon:"cloud",textIcon:"VP"},{id:"windsurf",name:"Windsurf",alias:"ws",category:"oauth",authType:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,color:"#14B8A6",icon:"surfing"},{id:"xai",name:"xAI (Grok)",alias:"xai",category:"oauth",authType:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,color:"#1DA1F2",icon:"auto_awesome",textIcon:"XA"},{id:"xiaomi-mimo",name:"Xiaomi MiMo",alias:"mimo",category:"apikey",authType:"apikey",color:"#FF6900",icon:"smart_toy",textIcon:"XM"},{id:"xiaomi-tokenplan",name:"Xiaomi MiMo (Token Plan)",alias:"xmtp",category:"apikey",authType:"apikey",color:"#FF6700",icon:"smart_toy",textIcon:"XT"}];function Oc(){return Zt.map(e=>({id:`page:${e.to}`,label:e.label,group:"Page",to:e.to,iconKey:"page"}))}function jc(){return Fe.map(e=>({id:`provider:${e.id}`,label:e.name,group:"Provider",to:"/dashboard/provider",keywords:[e.id,e.alias].filter(Boolean),iconKey:`provider:${e.id}`}))}const Pc=[{name:"exa",title:"Exa",toolNames:["web_search_exa","web_fetch_exa"]},{name:"tavily",title:"Tavily",toolNames:["tavily_search","tavily_extract","tavily_crawl","tavily_map"]},{name:"browsermcp",title:"Browser MCP",toolNames:["browser_navigate","browser_snapshot","browser_click","browser_type","browser_screenshot","browser_get_console_logs","browser_wait","browser_press_key","browser_go_back","browser_go_forward"]}];function Ic(e){const t=[];for(const o of e){t.push({id:`mcp:${o.name}`,label:o.title,group:"MCP tool",to:"/dashboard/cli-tools",keywords:[o.name],iconKey:"mcp"});for(const r of o.toolNames)t.push({id:`mcp:${o.name}:${r}`,label:`${r}`,group:"MCP tool",to:"/dashboard/cli-tools",keywords:[o.name,r],iconKey:"mcp"})}return t}function Lc(){return[...Oc(),...jc(),...Ic(Pc)]}function Dc(e,t){const o=e.toLowerCase(),r=t.toLowerCase();if(!o)return 0;if(r.includes(o))return r.indexOf(o);let n=0,s=0,a=0,i=-1;for(let c=0;c<r.length&&n<o.length;c++)r[c]===o[n]&&(s+=c-(i>=0?i:0),a=i>=0&&c===i+1?a+1:0,s-=a*2,i=c,n++);return n<o.length?Number.POSITIVE_INFINITY:s+1}function zc(e,t){const o=[e.label,e.id,...e.keywords??[]];let r=Number.POSITIVE_INFINITY;for(const n of o){const s=Dc(t,n);s<r&&(r=s)}return r}const Go={Page:0,Provider:1,"MCP tool":2};function en(e){const t=e.trim();return t.startsWith(">")?{mode:"provider",q:t.slice(1).trim()}:{mode:"all",q:t}}function Mc(e,t){const{mode:o,q:r}=en(t),n=o==="provider"?e.filter(a=>a.group==="Provider"):e;if(!r)return[...n].sort((a,i)=>Go[a.group]-Go[i.group]||a.label.localeCompare(i.label));const s=n.map(a=>({c:a,s:zc(a,r)})).filter(a=>Number.isFinite(a.s));return s.sort((a,i)=>a.s-i.s||a.c.label.localeCompare(i.c.label)),s.map(a=>a.c)}function Fc(e,t){const o=new Set(e.filter(n=>n.group==="MCP tool").map(n=>n.id)),r=[];for(const n of t){const s=(n.name||"").toLowerCase(),a=n.title||n.name||"";if(!s)continue;const i=`mcp:${s}`;o.has(i)||r.push({id:i,label:a,group:"MCP tool",to:"/dashboard/cli-tools",keywords:[s],iconKey:"mcp"});const c=Array.isArray(n.toolNames)?n.toolNames:[];for(const d of c){const f=`mcp:${s}:${d}`;o.has(f)||r.push({id:f,label:d,group:"MCP tool",to:"/dashboard/cli-tools",keywords:[s,d],iconKey:"mcp"})}}return e.length?[...e,...r]:r}async function Bc(){try{const e=await fetch("/api/cli-tools/cowork-mcp-registry",{credentials:"include",headers:{Accept:"application/json"}});if(!e.ok)return[];const t=await e.json();return Array.isArray(t==null?void 0:t.servers)?t.servers:[]}catch{return[]}}const Uc={antigravity:"authorization_code",claude:"authorization_code_pkce",cline:"authorization_code",clinepass:"authorization_code","codebuddy-cn":"device_code","codebuddy-intl":"device_code","codebuddy-int":"device_code",codex:"authorization_code_pkce",cursor:"import_token","gemini-cli":"authorization_code",github:"device_code","grok-cli":"device_code",kilocode:"device_code",kimchi:"browser_token",kimi:"device_code",kiro:"device_code",qoder:"device_code",trae:"authorization_code",windsurf:"authorization_code",xai:"authorization_code_pkce"},qc=new Set(["cursor"]),$c={"grok-build":"grok-cli",gb:"grok-cli"};function cu(e,t,o){if(o||e==="ollama-local")return"local";const r=$c[e]??e,n=Uc[r];if(n==="import_token"||qc.has(r))return"import";if(n==="device_code")return"device";if(n==="authorization_code"||n==="authorization_code_pkce"||n==="browser_token")return"oauth";const s=(t||"").toLowerCase();return s.includes("import")?"import":s.includes("device")?"device":s.includes("oauth")?"oauth":"apikey"}function Vc(e){const t=(e||"").toLowerCase();return t.includes("oauth")?"OAuth":t.includes("device")?"Device":t.includes("import")?"Import":t==="local"?"Local":t==="none"?"No auth":t==="cookie"?"Cookie":"API key"}function du(e,t,o){if(t)return["Local"];const r=Array.isArray(o)&&o.length?o:[e||"apikey"],n=new Set,s=[];for(const a of r){const i=Vc(a);n.has(i)||(n.add(i),s.push(i))}return s}const Wo={openai:rt,agentrouter:lo,claude:Xn,deepseek:_t,groq:Jn,openrouter:Kn,kimi:Wn,glm:co,minimax:St,kiro:Gn,codex:nt,github:Hn,cursor:Vn,"gemini-cli":Pe,"grok-cli":rt,"ollama-local":Ie,antigravity:$n,qwen:_t,"codebuddy-cn":nt,qoder:rt,alicode:Ie,"alicode-intl":Ie,"alims-intl":Ie,anthropic:_t,azure:Pe,baidu:Pt,blackbox:Ie,byteplus:Pe,cerebras:St,chutes:ao,cline:ot,clinepass:qn,"cloudflare-ai":Un,"codebuddy-intl":nt,commandcode:ot,featherless:Bn,fireworks:io,gemini:Fn,"glm-cn":co,"grok-web":Mn,"kilo-gateway":lo,kilocode:nt,kimchi:io,"minimax-cn":St,mistral:ao,morph:zn,meta:rt,nebius:Pe,nvidia:Dn,ollama:Ie,opencode:ot,"opencode-go":ot,perplexity:Pt,poolside:no,sumopod:Pe,tencent:Pe,together:Ln,trae:In,venice:Pn,"vercel-ai-gateway":or,vertex:so,"vertex-partner":so,windsurf:no,xai:$t,"xiaomi-mimo":ro,"xiaomi-tokenplan":ro};function Hc(e){const t=Oe(e);return Wo[e]||Wo[t]||Yn}function tn(e,t){const o=Oe(e),r={openai:"#10a37f",agentrouter:"#7c5cfc",claude:"#d97757",deepseek:"#4d6bfe",groq:"#f55036",openrouter:"#6566f1",sumopod:"#f4f4f5",meta:"#0668e1",kiro:"#22c55e",github:"#ffffff",cursor:"#88c0d0","gemini-cli":"#4285f4","ollama-local":"#ffffff"};return r[e]||r[o]||"#fafafa"}const qt={openai:"OpenAI",claude:"Claude",deepseek:"DeepSeek",groq:"Groq",openrouter:"OpenRouter",sumopod:"SumoPod",meta:"Meta AI",kiro:"Kiro",github:"GitHub Copilot",cursor:"Cursor","gemini-cli":"Gemini CLI","ollama-local":"Ollama",antigravity:"Antigravity",ag:"Antigravity","codebuddy-cn":"CodeBuddy CN","codebuddy-int":"CodeBuddy INT",cbi:"CodeBuddy INT",cbcn:"CodeBuddy CN",codex:"Codex",cx:"Codex","grok-cli":"Grok CLI",gcli:"Grok CLI",kimi:"Kimi",qoder:"Qoder",qd:"Qoder",glm:"GLM",minimax:"MiniMax",xiaomi:"Xiaomi","xiaomi-mimo":"Xiaomi MiMo",fireworks:"Fireworks","cloudflare-ai":"Cloudflare AI",cfai:"Cloudflare AI",qwen:"Qwen","openai-compatible-chat-demo01":"My Custom LLM"},Ko=(()=>{const e={};for(const t of Fe)t.id&&(e[t.id]=t.id),t.alias&&t.alias!==t.id&&(e[t.alias]=t.id);return Object.assign(e,{gcli:"grok-cli",gw:"grok-web",cx:"codex",cc:"claude",ag:"antigravity",cbcn:"codebuddy-cn",cbai:"codebuddy-intl",ds:"deepseek",gc:"gemini-cli",gh:"github",kr:"kiro",mimo:"xiaomi-mimo",ocg:"opencode-go"}),e})();function Oe(e){if(!e)return e;const t=e.trim().toLowerCase();return Ko[e]||Ko[t]||e}function uu(e){var o;const t=Oe(e);return((o=Fe.find(r=>r.id===t))==null?void 0:o.name)||qt[e]||qt[t]||t}const Jo={openai:"apikey",claude:"oauth",codex:"oauth",cursor:"import",deepseek:"apikey",groq:"apikey",openrouter:"apikey",sumopod:"apikey",kimi:"oauth",glm:"apikey",minimax:"apikey",kiro:"apikey",github:"oauth","gemini-cli":"oauth","grok-cli":"device",antigravity:"oauth","codebuddy-cn":"oauth","codebuddy-int":"oauth",qoder:"oauth","ollama-local":"local",xai:"oauth","grok-web":"cookie","xiaomi-mimo":"apikey",mimo:"apikey",kilocode:"oauth",kimchi:"oauth",trae:"oauth",windsurf:"oauth"},Xo={claude:"cc",codex:"cx",cursor:"cu",kiro:"kr",github:"gh","gemini-cli":"gc","grok-cli":"gcli",antigravity:"ag","codebuddy-cn":"cbcn","codebuddy-int":"cbi",qoder:"qd"};function Gc(e){if(e==="ollama-local")return{name:"Ollama Local",alias:"ollama-local",authType:"local",color:"#ffffff",icon:"Boxes",noAuth:!0};const t=Oe(e),o=Fe.find(n=>n.id===t);if(o)return{name:o.name,alias:o.alias,authType:o.authType,color:o.color,icon:o.icon,textIcon:o.textIcon,category:o.category,noAuth:o.noAuth,hasOAuth:o.hasOAuth,authModes:o.authModes};const r=qt[e];return!r&&!Jo[e]&&!Xo[e]?null:{name:r||e,alias:Xo[e]||e,authType:Jo[e]||"apikey",color:tn(e)}}function fu(){return Fe.map(e=>({...e,...Gc(e.id)}))}const Yo=new Set(Fe.flatMap(e=>[e.id,...e.alias&&e.alias!==e.id?[e.alias]:[]]));function Wc(e){if(!e)return!1;const t=e.trim().toLowerCase(),o=Oe(t).toLowerCase();return Yo.has(o)||Yo.has(t)}function Kc(e){if(!e)return null;const t=e.trim().toLowerCase();if(!Wc(t))return"/providers/SwayCustom.svg";const o=Oe(t).toLowerCase();return o==="agentrouter"?"/providers/SwayCustom.svg":o==="alicode-intl"||o==="alims-intl"?"/providers/alicode.svg":o==="clinepass"?"/providers/cline.svg":o==="codebuddy-cn"||o==="codebuddy-intl"?"/providers/codebuddy.svg":o==="glm"||o==="glm-cn"?"/providers/zai.svg":o==="grok-cli"||o==="grok-web"||o==="xai"?"/providers/grok.svg":o==="kimchi"?"/providers/kimchi.svg":o==="minimax-cn"?"/providers/minimax.svg":o==="ollama-local"?"/providers/ollama.svg":o==="opencode-go"?"/providers/opencode.svg":o==="perplexity"?"/providers/perplexity.svg":o==="vercel-ai-gateway"?"/providers/vercel.svg":o==="vertex-partner"?"/providers/vertex.svg":o==="xiaomi-mimo"||o==="xiaomi-tokenplan"?"/providers/mimo.svg":o==="kilo-gateway"?"/providers/kilocode.svg":o==="gemini-cli"?"/providers/geminicli.svg":`/providers/${o}.svg`}const Jc={type:"spring",stiffness:480,damping:38,mass:.5};function Xc(e){return(e.metaKey||e.ctrlKey)&&(e.key==="k"||e.key==="K")}function Yc({id:e}){const t=Kc(e),[o,r]=k.useState(!t);if(k.useEffect(()=>r(!t),[t]),!o&&t)return l.jsx("img",{src:t,alt:"",className:"h-4 w-4 shrink-0 rounded object-contain",onError:()=>r(!0)});const n=Oe(e),s=Hc(n),a=tn(n);return l.jsx(s,{className:"h-4 w-4 shrink-0",style:{color:a},"aria-hidden":!0})}function Qc({cmd:e}){var t,o;if(e.group==="Page"){const r=((t=Zt.find(n=>n.to===e.to))==null?void 0:t.icon)??es;return l.jsx(r,{className:"h-4 w-4 shrink-0 text-muted-foreground","aria-hidden":!0})}if(e.group==="Provider"){const r=(o=e.iconKey)!=null&&o.startsWith("provider:")?e.iconKey.slice(9):e.label;return l.jsx(Yc,{id:r})}return l.jsx(ts,{className:"h-4 w-4 shrink-0 text-muted-foreground","aria-hidden":!0})}const Zc={Page:"Page",Provider:"Provider","MCP tool":"MCP tool"};function ed(){const[e,t]=k.useState(!1),[o,r]=k.useState(""),[n,s]=k.useState(0),a=k.useRef(null),i=k.useRef(null),c=tr(),d=k.useRef(!1),f=k.useMemo(()=>Lc(),[]),[m,b]=k.useState(f);k.useEffect(()=>{function p(g){Xc(g)&&(g.preventDefault(),t(S=>!S))}return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[]),k.useEffect(()=>{if(!e||d.current)return;d.current=!0;let p=!0;return Bc().then(g=>{!p||!g.length||b(S=>Fc(S,g))}),()=>{p=!1}},[e]),k.useEffect(()=>{if(e){r(""),s(0);const p=setTimeout(()=>{var g;return(g=a.current)==null?void 0:g.focus()},30);return()=>clearTimeout(p)}},[e]);const x=k.useMemo(()=>Mc(m,o),[m,o]),R=en(o).mode;k.useEffect(()=>{n>x.length-1&&s(0)},[x.length,n]),k.useEffect(()=>{if(!e||!i.current)return;const p=i.current.querySelector(`[data-cp-idx="${n}"]`);p==null||p.scrollIntoView({block:"nearest"})},[n,e]);const A=k.useCallback(p=>{p&&(t(!1),r(""),c(p.to))},[c]);function h(p){p.key==="ArrowDown"?(p.preventDefault(),s(g=>Math.min(g+1,x.length-1))):p.key==="ArrowUp"?(p.preventDefault(),s(g=>Math.max(g-1,0))):p.key==="Enter"?(p.preventDefault(),A(x[n])):p.key==="Escape"&&(p.preventDefault(),t(!1))}return l.jsx(rr,{children:e?l.jsxs(Ve.div,{className:"fixed inset-0 z-[60] flex items-start justify-center p-4 pt-[12vh] sm:pt-[16vh]",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.12},children:[l.jsx("button",{type:"button","aria-label":"Close command palette",tabIndex:-1,className:"absolute inset-0 bg-black/32 backdrop-blur-sm",onClick:()=>t(!1)}),l.jsxs(Ve.div,{role:"dialog","aria-modal":"true","aria-label":"Command palette",initial:{opacity:0,y:-8,scale:.98},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-8,scale:.98},transition:Jc,className:"relative flex max-h-[72vh] w-full max-w-xl flex-col overflow-hidden rounded-2xl border border-border bg-popover text-popover-foreground outline-none",children:[l.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border px-3.5 py-3",children:[l.jsx(Pt,{className:"h-4 w-4 shrink-0 text-muted-foreground","aria-hidden":!0}),l.jsx(Yr,{ref:a,value:o,onChange:p=>{r(p.target.value),s(0)},onKeyDown:h,placeholder:R==="provider"?"Search providers by name or alias…":"Search pages, providers, or MCP tools — type > to jump to a provider","aria-label":"Command palette search",className:"border-transparent bg-transparent dark:bg-transparent"}),l.jsxs(Ho,{variant:"outline",size:"sm",className:"shrink-0 font-mono text-[10px] text-muted-foreground",children:[l.jsx(Qn,{className:"h-3 w-3"}),"K"]})]}),l.jsx("div",{ref:i,className:"min-h-0 flex-1 overflow-y-auto overscroll-contain p-1.5",role:"listbox","aria-label":"Palette results",children:x.length===0?l.jsxs("div",{className:"px-3 py-10 text-center text-sm text-muted-foreground",children:["No matches",R==="provider"?" among providers":"",". ",R!=="provider"&&"Try a different term or press Esc."]}):l.jsxs("ul",{className:"space-y-0.5",children:[x.slice(0,50).map((p,g)=>{var S;return l.jsx("li",{"data-cp-idx":g,children:l.jsxs("button",{type:"button",role:"option","aria-selected":g===n,onMouseMove:()=>s(g),onClick:()=>A(p),className:O("flex w-full items-center gap-2.5 rounded-lg px-2.5 py-2 text-left text-sm transition-colors",g===n?"bg-white/10 text-foreground":"text-foreground/90 hover:bg-surface-hover"),children:[l.jsx(Qc,{cmd:p}),l.jsxs("span",{className:"min-w-0 flex-1 truncate",children:[p.label,p.group==="Provider"&&((S=p.keywords)!=null&&S[1])?l.jsx("span",{className:"ml-1.5 font-mono text-[11px] text-muted-foreground",children:p.keywords[1]}):null]}),l.jsx(Ho,{variant:"outline",size:"sm",className:"shrink-0 text-[10px] text-muted-foreground",children:Zc[p.group]}),g===n?l.jsx(Zn,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground","aria-hidden":!0}):null]})},p.id)}),x.length>50?l.jsxs("li",{className:"px-2.5 py-1.5 text-center text-[11px] text-muted-foreground",children:["+",x.length-50," more — refine your query"]}):null]})}),l.jsxs("div",{className:"flex shrink-0 items-center justify-between border-t border-border px-3.5 py-2 text-[11px] text-muted-foreground",children:[l.jsxs("span",{className:"flex items-center gap-2",children:[l.jsx("kbd",{className:"rounded border border-border bg-surface px-1 font-mono",children:"↑↓"})," navigate",l.jsx("kbd",{className:"rounded border border-border bg-surface px-1 font-mono",children:"↵"})," open",l.jsx("kbd",{className:"rounded border border-border bg-surface px-1 font-mono",children:"Esc"})," close"]}),l.jsxs("span",{className:"hidden sm:inline",children:[l.jsx("kbd",{className:"rounded border border-border bg-surface px-1 font-mono",children:">"})," jump to provider"]})]})]})]}):null})}const td=k.lazy(()=>Y(()=>import("./SwayChat-Bup7up6D.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12])));function od(){const e=Qo(),[t,o]=k.useState(!1),r=e.pathname==="/dashboard/sway-chat",[n,s]=k.useState(r);return k.useEffect(()=>{r&&s(!0)},[r]),k.useEffect(()=>{o(!1)},[e.pathname]),k.useEffect(()=>{if(!t)return;const a=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=a}},[t]),k.useEffect(()=>{const a=new Map,i=c=>{const d=c.target;if(!(d instanceof HTMLElement)||d.dataset.slot==="scroll-area-viewport")return;d.dataset.scrollbarVisible="true";const f=a.get(d);f!==void 0&&window.clearTimeout(f),a.set(d,window.setTimeout(()=>{d.removeAttribute("data-scrollbar-visible"),a.delete(d)},650))};return document.addEventListener("scroll",i,!0),()=>{document.removeEventListener("scroll",i,!0);for(const c of a.values())window.clearTimeout(c);a.clear()}},[]),l.jsx(vc,{children:l.jsxs("div",{className:"relative flex h-svh overflow-hidden bg-background",children:[l.jsx(ed,{}),l.jsxs("div",{className:"flex h-full min-h-0 w-full min-w-0",children:[l.jsx(Rc,{mobileOpen:t,onClose:()=>o(!1),onNavigate:()=>o(!1)}),l.jsxs("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[l.jsxs("header",{className:O("relative flex shrink-0 items-center justify-center gap-3 border-b border-border bg-surface/90 px-3 py-2.5 backdrop-blur-sm lg:hidden","pt-[max(0.5rem,env(safe-area-inset-top))] pl-[max(0.75rem,env(safe-area-inset-left))] pr-[max(0.75rem,env(safe-area-inset-right))]"),children:[l.jsx("button",{type:"button",className:"absolute left-[max(0.75rem,env(safe-area-inset-left))] top-1/2 inline-flex h-10 w-10 -translate-y-1/2 items-center justify-center rounded-md text-foreground hover:bg-surface-hover",onClick:()=>o(!0),"aria-label":"Open sidebar",children:l.jsx(lt,{className:"h-4 w-4"})}),l.jsxs("div",{className:"flex min-w-0 max-w-[calc(100%-5rem)] items-center justify-center gap-2",children:[l.jsx("img",{src:"/logo/sway.svg",alt:"",className:"h-7 w-7 shrink-0 rounded-md object-contain"}),l.jsx("span",{className:"truncate text-sm font-semibold tracking-tight",children:"Sway Router"})]})]}),l.jsxs("main",{className:O("flex min-h-0 flex-1 flex-col overflow-hidden","p-3 sm:p-4 lg:px-6 lg:pt-6 lg:pb-3","pb-[max(0.75rem,env(safe-area-inset-bottom))]"),children:[l.jsx("div",{className:O("min-h-0 flex-1 overscroll-y-contain",r?"hidden":e.pathname==="/dashboard/provider"?"overflow-hidden":"overflow-y-auto"),children:l.jsx(er,{})}),n?l.jsx("div",{className:O("min-h-0 flex-1",r?"flex":"hidden"),children:l.jsx(k.Suspense,{fallback:l.jsx("div",{className:"h-full min-h-[40vh] w-full animate-pulse rounded-xl bg-card/40"}),children:l.jsx(td,{})})}):null]}),l.jsx(Tc,{})]})]})]})})}const rd=k.lazy(()=>Y(()=>import("./Login-BeKpipS_.js"),__vite__mapDeps([13,1,14,15,8,7,3,2]))),nd=k.lazy(()=>Y(()=>import("./Setup-DSDUwU7N.js"),__vite__mapDeps([16,1,14,15,8,7,3,2]))),sd=k.lazy(()=>Y(()=>import("./OAuthCallback-D_UZYcF6.js"),__vite__mapDeps([17,1,15,8,18,7,3,2]))),ad=k.lazy(()=>Y(()=>import("./Dashboard-DxzyF41b.js"),__vite__mapDeps([19,1,3,4,20,2,21,22,9,23,8,24,25,7]))),id=k.lazy(()=>Y(()=>import("./ManageApiKey-CVXsmW2B.js"),__vite__mapDeps([26,1,3,4,27,14,7,28,29,9,8,22,25,10,2]))),ld=k.lazy(()=>Y(()=>import("./Provider-BU7JfTqm.js"),__vite__mapDeps([30,1,3,4,14,31,24,18,29,32,7,8,21,2,33,9,22,28,34]))),cd=k.lazy(()=>Y(()=>import("./Keys-D0ufgcsc.js"),__vite__mapDeps([35,1,3,4,27,14,7,28,29,22,10,25,36,8,2]))),dd=k.lazy(()=>Y(()=>import("./Combo-BBCldjWi.js"),__vite__mapDeps([37,1,3,4,14,5,6,7,8,9,21,2,22,23,24,11,10,25]))),ud=k.lazy(()=>Y(()=>import("./Proxy-CU15VJ--.js"),__vite__mapDeps([38,1,3,4,28,14,29,34,8,9,21,2,22,23,24,31,25,7]))),fd=k.lazy(()=>Y(()=>import("./Usage-eWnrPQ_v.js"),__vite__mapDeps([39,1,3,4,29,27,14,7,20,2,8,9,21,6,32,22,23,24,25]))),pd=k.lazy(()=>Y(()=>import("./CliTools-Ch3gKuNw.js"),__vite__mapDeps([40,1,3,2,4,14,5,6,7,8,29,9,27,22,32,25,10]))),md=k.lazy(()=>Y(()=>import("./Settings-Dt4y2dC0.js"),__vite__mapDeps([41,1,3,14,28,9,25,36,7,4,34,8,32,22,33,6,24,2]))),hd=k.lazy(()=>Y(()=>import("./ConsoleLog-wywAYcPT.js"),__vite__mapDeps([42,1,4,14,9,7,3,8,2]))),gd=k.lazy(()=>Y(()=>import("./QuotaMonitor-HzGK7bcc.js"),__vite__mapDeps([43,1,3,4,14,29,9,22,31,25,7,8,2])));function bd(){return l.jsx("div",{className:"h-full min-h-[40vh] w-full animate-pulse rounded-xl bg-card/40"})}function te({children:e}){return l.jsx(k.Suspense,{fallback:l.jsx(bd,{}),children:e})}const ae="/dashboard",yd=an([{path:"/login",element:l.jsx(te,{children:l.jsx(rd,{})})},{path:"/setup",element:l.jsx(te,{children:l.jsx(nd,{})})},{path:"/callback",element:l.jsx(te,{children:l.jsx(sd,{})})},{element:l.jsx(lc,{}),children:[{element:l.jsx(od,{}),children:[{path:ae,element:l.jsx(te,{children:l.jsx(ad,{})})},{path:`${ae}/manage-apikey`,element:l.jsx(te,{children:l.jsx(id,{})})},{path:`${ae}/provider`,element:l.jsx(te,{children:l.jsx(ld,{})})},{path:`${ae}/keys`,element:l.jsx(te,{children:l.jsx(cd,{})})},{path:`${ae}/combo`,element:l.jsx(te,{children:l.jsx(dd,{})})},{path:`${ae}/proxy`,element:l.jsx(te,{children:l.jsx(ud,{})})},{path:`${ae}/usage`,element:l.jsx(te,{children:l.jsx(fd,{})})},{path:`${ae}/cli-tools`,element:l.jsx(te,{children:l.jsx(pd,{})})},{path:`${ae}/settings`,element:l.jsx(te,{children:l.jsx(md,{})})},{path:`${ae}/console-log`,element:l.jsx(te,{children:l.jsx(hd,{})})},{path:`${ae}/quota-monitor`,element:l.jsx(te,{children:l.jsx(gd,{})})},{path:`${ae}/sway-chat`,element:null}]}]},{path:"*",element:l.jsx(Zo,{to:ae,replace:!0})}]),xd=new fn({defaultOptions:{queries:{staleTime:3e4,retry:1,refetchOnWindowFocus:!1}}});class wd extends k.Component{constructor(){super(...arguments);to(this,"state",{error:null})}static getDerivedStateFromError(o){return{error:o}}componentDidCatch(o,r){console.error("UI crash:",o,r.componentStack)}render(){return this.state.error?l.jsxs("div",{className:"flex min-h-screen flex-col items-center justify-center gap-3 bg-background p-6 text-foreground",children:[l.jsx("p",{className:"text-sm font-medium",children:"Something crashed the UI"}),l.jsx("pre",{className:"max-w-xl overflow-auto rounded-lg border border-border bg-card p-3 text-xs text-destructive",children:this.state.error.message}),l.jsx("button",{type:"button",className:"rounded-md border border-border px-3 py-1.5 text-xs hover:bg-surface-hover",onClick:()=>this.setState({error:null}),children:"Try again"})]}):this.props.children}}function vd(){return l.jsx(wd,{children:l.jsx(Bs,{reducedMotion:"user",children:l.jsx(pn,{client:xd,children:l.jsx(Ma,{children:l.jsx(ln,{router:yd})})})})})}document.documentElement.classList.add("dark");cn.createRoot(document.getElementById("root")).render(l.jsx(k.StrictMode,{children:l.jsx(vd,{})}));export{au as A,ht as B,U as C,fc as D,dc as E,lu as F,eu as G,tu as H,Yr as I,nc as J,su as K,Kd as L,Xd as M,nu as N,wr as O,ru as P,ou as Q,tn as R,uc as S,ic as T,fu as U,Gc as V,vr as W,Uo as a,Kc as b,O as c,ec as d,$e as e,sc as f,Jr as g,Ho as h,Qd as i,Yd as j,Zd as k,Jd as l,gc as m,bc as n,xc as o,uu as p,yc as q,Oe as r,wc as s,Lt as t,kt as u,cu as v,Hc as w,du as x,W as y,iu as z};
|