hivehq 2.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/CHANGELOG.md +592 -0
- package/LICENSE +208 -0
- package/LICENSE.BSL +101 -0
- package/NOTICE +15 -0
- package/README.en.md +451 -0
- package/README.md +329 -0
- package/SECURITY.md +59 -0
- package/TRADEMARK.md +41 -0
- package/assets/hive-hero.png +0 -0
- package/assets/hive-team-view.png +0 -0
- package/assets/logo.png +0 -0
- package/assets/qq-group.jpg +0 -0
- package/dist/bin/team +7 -0
- package/dist/bin/team.cmd +3 -0
- package/dist/src/cli/hive-remote.d.ts +46 -0
- package/dist/src/cli/hive-remote.js +257 -0
- package/dist/src/cli/hive-update.d.ts +75 -0
- package/dist/src/cli/hive-update.js +215 -0
- package/dist/src/cli/hive.d.ts +78 -0
- package/dist/src/cli/hive.js +336 -0
- package/dist/src/cli/team.d.ts +38 -0
- package/dist/src/cli/team.js +762 -0
- package/dist/src/server/agent-command-resolver.d.ts +17 -0
- package/dist/src/server/agent-command-resolver.js +106 -0
- package/dist/src/server/agent-exit-classification.d.ts +6 -0
- package/dist/src/server/agent-exit-classification.js +6 -0
- package/dist/src/server/agent-launch-cache.d.ts +20 -0
- package/dist/src/server/agent-launch-cache.js +75 -0
- package/dist/src/server/agent-launch-resolver.d.ts +4 -0
- package/dist/src/server/agent-launch-resolver.js +38 -0
- package/dist/src/server/agent-manager-support.d.ts +36 -0
- package/dist/src/server/agent-manager-support.js +318 -0
- package/dist/src/server/agent-manager.d.ts +54 -0
- package/dist/src/server/agent-manager.js +104 -0
- package/dist/src/server/agent-run-bootstrap.d.ts +83 -0
- package/dist/src/server/agent-run-bootstrap.js +101 -0
- package/dist/src/server/agent-run-exit-handler.d.ts +8 -0
- package/dist/src/server/agent-run-exit-handler.js +32 -0
- package/dist/src/server/agent-run-start-context.d.ts +24 -0
- package/dist/src/server/agent-run-start-context.js +1 -0
- package/dist/src/server/agent-run-starter.d.ts +30 -0
- package/dist/src/server/agent-run-starter.js +155 -0
- package/dist/src/server/agent-run-store.d.ts +51 -0
- package/dist/src/server/agent-run-store.js +137 -0
- package/dist/src/server/agent-run-sync.d.ts +10 -0
- package/dist/src/server/agent-run-sync.js +32 -0
- package/dist/src/server/agent-runtime-active-run.d.ts +3 -0
- package/dist/src/server/agent-runtime-active-run.js +10 -0
- package/dist/src/server/agent-runtime-close.d.ts +5 -0
- package/dist/src/server/agent-runtime-close.js +36 -0
- package/dist/src/server/agent-runtime-contract.d.ts +48 -0
- package/dist/src/server/agent-runtime-contract.js +1 -0
- package/dist/src/server/agent-runtime-flow-adapter.d.ts +10 -0
- package/dist/src/server/agent-runtime-flow-adapter.js +14 -0
- package/dist/src/server/agent-runtime-list-runs.d.ts +3 -0
- package/dist/src/server/agent-runtime-list-runs.js +18 -0
- package/dist/src/server/agent-runtime-ports.d.ts +22 -0
- package/dist/src/server/agent-runtime-ports.js +1 -0
- package/dist/src/server/agent-runtime-stop-run.d.ts +4 -0
- package/dist/src/server/agent-runtime-stop-run.js +19 -0
- package/dist/src/server/agent-runtime-types.d.ts +5 -0
- package/dist/src/server/agent-runtime-types.js +1 -0
- package/dist/src/server/agent-runtime.d.ts +10 -0
- package/dist/src/server/agent-runtime.js +143 -0
- package/dist/src/server/agent-session-store.d.ts +7 -0
- package/dist/src/server/agent-session-store.js +45 -0
- package/dist/src/server/agent-startup-instructions.d.ts +20 -0
- package/dist/src/server/agent-startup-instructions.js +36 -0
- package/dist/src/server/agent-stdin-dispatcher.d.ts +52 -0
- package/dist/src/server/agent-stdin-dispatcher.js +224 -0
- package/dist/src/server/agent-tokens.d.ts +15 -0
- package/dist/src/server/agent-tokens.js +25 -0
- package/dist/src/server/app-state-store.d.ts +10 -0
- package/dist/src/server/app-state-store.js +12 -0
- package/dist/src/server/app.d.ts +20 -0
- package/dist/src/server/app.js +211 -0
- package/dist/src/server/claude-command-defaults.d.ts +1 -0
- package/dist/src/server/claude-command-defaults.js +5 -0
- package/dist/src/server/claude-session-coordinator.d.ts +10 -0
- package/dist/src/server/claude-session-coordinator.js +68 -0
- package/dist/src/server/claude-session-support.d.ts +1 -0
- package/dist/src/server/claude-session-support.js +1 -0
- package/dist/src/server/command-preset-defaults.d.ts +11 -0
- package/dist/src/server/command-preset-defaults.js +63 -0
- package/dist/src/server/command-preset-store.d.ts +49 -0
- package/dist/src/server/command-preset-store.js +83 -0
- package/dist/src/server/cron-util.d.ts +7 -0
- package/dist/src/server/cron-util.js +19 -0
- package/dist/src/server/dispatch-ledger-serializer.d.ts +15 -0
- package/dist/src/server/dispatch-ledger-serializer.js +14 -0
- package/dist/src/server/dispatch-ledger-store.d.ts +108 -0
- package/dist/src/server/dispatch-ledger-store.js +241 -0
- package/dist/src/server/env-sync-message.d.ts +9 -0
- package/dist/src/server/env-sync-message.js +29 -0
- package/dist/src/server/feature-flags.d.ts +42 -0
- package/dist/src/server/feature-flags.js +24 -0
- package/dist/src/server/fs-browse.d.ts +40 -0
- package/dist/src/server/fs-browse.js +306 -0
- package/dist/src/server/fs-pick-folder.d.ts +25 -0
- package/dist/src/server/fs-pick-folder.js +115 -0
- package/dist/src/server/fs-sandbox.d.ts +15 -0
- package/dist/src/server/fs-sandbox.js +56 -0
- package/dist/src/server/hive-team-guidance.d.ts +39 -0
- package/dist/src/server/hive-team-guidance.js +295 -0
- package/dist/src/server/http-errors.d.ts +22 -0
- package/dist/src/server/http-errors.js +44 -0
- package/dist/src/server/live-run-registry.d.ts +22 -0
- package/dist/src/server/live-run-registry.js +52 -0
- package/dist/src/server/local-request-guard.d.ts +3 -0
- package/dist/src/server/local-request-guard.js +41 -0
- package/dist/src/server/machine-name.d.ts +2 -0
- package/dist/src/server/machine-name.js +13 -0
- package/dist/src/server/marketplace-store.d.ts +38 -0
- package/dist/src/server/marketplace-store.js +85 -0
- package/dist/src/server/message-log-store.d.ts +51 -0
- package/dist/src/server/message-log-store.js +90 -0
- package/dist/src/server/open-target-commands.d.ts +54 -0
- package/dist/src/server/open-target-commands.js +204 -0
- package/dist/src/server/orchestrator-autostart.d.ts +42 -0
- package/dist/src/server/orchestrator-autostart.js +114 -0
- package/dist/src/server/orchestrator-launch.d.ts +24 -0
- package/dist/src/server/orchestrator-launch.js +71 -0
- package/dist/src/server/package-version.d.ts +17 -0
- package/dist/src/server/package-version.js +32 -0
- package/dist/src/server/path-canonicalization.d.ts +3 -0
- package/dist/src/server/path-canonicalization.js +29 -0
- package/dist/src/server/platform-path.d.ts +4 -0
- package/dist/src/server/platform-path.js +26 -0
- package/dist/src/server/post-start-input-writer.d.ts +6 -0
- package/dist/src/server/post-start-input-writer.js +242 -0
- package/dist/src/server/preset-launch-support.d.ts +6 -0
- package/dist/src/server/preset-launch-support.js +98 -0
- package/dist/src/server/pty-output-bus.d.ts +8 -0
- package/dist/src/server/pty-output-bus.js +32 -0
- package/dist/src/server/recovery-summary.d.ts +15 -0
- package/dist/src/server/recovery-summary.js +92 -0
- package/dist/src/server/remote-audit-store.d.ts +51 -0
- package/dist/src/server/remote-audit-store.js +108 -0
- package/dist/src/server/remote-config-keys.d.ts +17 -0
- package/dist/src/server/remote-config-keys.js +27 -0
- package/dist/src/server/remote-control-constants.d.ts +30 -0
- package/dist/src/server/remote-control-constants.js +29 -0
- package/dist/src/server/remote-device-session.d.ts +40 -0
- package/dist/src/server/remote-device-session.js +22 -0
- package/dist/src/server/remote-device-store.d.ts +36 -0
- package/dist/src/server/remote-device-store.js +67 -0
- package/dist/src/server/remote-frame-bridge.d.ts +102 -0
- package/dist/src/server/remote-frame-bridge.js +791 -0
- package/dist/src/server/remote-gateway-client.d.ts +14 -0
- package/dist/src/server/remote-gateway-client.js +36 -0
- package/dist/src/server/remote-loopback-auth.d.ts +6 -0
- package/dist/src/server/remote-loopback-auth.js +112 -0
- package/dist/src/server/remote-pairing-tunnel.d.ts +59 -0
- package/dist/src/server/remote-pairing-tunnel.js +146 -0
- package/dist/src/server/remote-pairing.d.ts +58 -0
- package/dist/src/server/remote-pairing.js +237 -0
- package/dist/src/server/remote-tunnel.d.ts +113 -0
- package/dist/src/server/remote-tunnel.js +514 -0
- package/dist/src/server/report-outbox-store.d.ts +36 -0
- package/dist/src/server/report-outbox-store.js +33 -0
- package/dist/src/server/restart-policy-support.d.ts +30 -0
- package/dist/src/server/restart-policy-support.js +21 -0
- package/dist/src/server/restart-policy.d.ts +18 -0
- package/dist/src/server/restart-policy.js +77 -0
- package/dist/src/server/role-template-store.d.ts +45 -0
- package/dist/src/server/role-template-store.js +76 -0
- package/dist/src/server/role-templates.d.ts +7 -0
- package/dist/src/server/role-templates.js +54 -0
- package/dist/src/server/route-helpers.d.ts +9 -0
- package/dist/src/server/route-helpers.js +61 -0
- package/dist/src/server/route-types.d.ts +121 -0
- package/dist/src/server/route-types.js +1 -0
- package/dist/src/server/routes-dispatches.d.ts +2 -0
- package/dist/src/server/routes-dispatches.js +54 -0
- package/dist/src/server/routes-fs.d.ts +2 -0
- package/dist/src/server/routes-fs.js +24 -0
- package/dist/src/server/routes-marketplace.d.ts +2 -0
- package/dist/src/server/routes-marketplace.js +54 -0
- package/dist/src/server/routes-open-workspace.d.ts +2 -0
- package/dist/src/server/routes-open-workspace.js +47 -0
- package/dist/src/server/routes-remote.d.ts +2 -0
- package/dist/src/server/routes-remote.js +166 -0
- package/dist/src/server/routes-runtime.d.ts +2 -0
- package/dist/src/server/routes-runtime.js +79 -0
- package/dist/src/server/routes-settings.d.ts +2 -0
- package/dist/src/server/routes-settings.js +213 -0
- package/dist/src/server/routes-tasks.d.ts +2 -0
- package/dist/src/server/routes-tasks.js +47 -0
- package/dist/src/server/routes-team-memory.d.ts +2 -0
- package/dist/src/server/routes-team-memory.js +154 -0
- package/dist/src/server/routes-team-recall.d.ts +2 -0
- package/dist/src/server/routes-team-recall.js +119 -0
- package/dist/src/server/routes-team.d.ts +2 -0
- package/dist/src/server/routes-team.js +351 -0
- package/dist/src/server/routes-ui.d.ts +2 -0
- package/dist/src/server/routes-ui.js +17 -0
- package/dist/src/server/routes-version.d.ts +2 -0
- package/dist/src/server/routes-version.js +6 -0
- package/dist/src/server/routes-workflow-schedules.d.ts +2 -0
- package/dist/src/server/routes-workflow-schedules.js +58 -0
- package/dist/src/server/routes-workflows.d.ts +2 -0
- package/dist/src/server/routes-workflows.js +83 -0
- package/dist/src/server/routes-workspace-memory-dreams.d.ts +2 -0
- package/dist/src/server/routes-workspace-memory-dreams.js +105 -0
- package/dist/src/server/routes-workspace-memory.d.ts +2 -0
- package/dist/src/server/routes-workspace-memory.js +215 -0
- package/dist/src/server/routes-workspaces.d.ts +2 -0
- package/dist/src/server/routes-workspaces.js +177 -0
- package/dist/src/server/routes.d.ts +6 -0
- package/dist/src/server/routes.js +55 -0
- package/dist/src/server/runtime-database.d.ts +3 -0
- package/dist/src/server/runtime-database.js +41 -0
- package/dist/src/server/runtime-message-builders.d.ts +7 -0
- package/dist/src/server/runtime-message-builders.js +60 -0
- package/dist/src/server/runtime-restart-policy.d.ts +18 -0
- package/dist/src/server/runtime-restart-policy.js +12 -0
- package/dist/src/server/runtime-store-contract.d.ts +162 -0
- package/dist/src/server/runtime-store-contract.js +1 -0
- package/dist/src/server/runtime-store-dream.d.ts +23 -0
- package/dist/src/server/runtime-store-dream.js +16 -0
- package/dist/src/server/runtime-store-helpers.d.ts +115 -0
- package/dist/src/server/runtime-store-helpers.js +411 -0
- package/dist/src/server/runtime-store-memory.d.ts +33 -0
- package/dist/src/server/runtime-store-memory.js +37 -0
- package/dist/src/server/runtime-store-remote.d.ts +5 -0
- package/dist/src/server/runtime-store-remote.js +45 -0
- package/dist/src/server/runtime-store-workflows.d.ts +6 -0
- package/dist/src/server/runtime-store-workflows.js +108 -0
- package/dist/src/server/runtime-store.d.ts +4 -0
- package/dist/src/server/runtime-store.js +165 -0
- package/dist/src/server/session-capture-claude.d.ts +34 -0
- package/dist/src/server/session-capture-claude.js +103 -0
- package/dist/src/server/session-capture-codex.d.ts +6 -0
- package/dist/src/server/session-capture-codex.js +108 -0
- package/dist/src/server/session-capture-gemini.d.ts +5 -0
- package/dist/src/server/session-capture-gemini.js +81 -0
- package/dist/src/server/session-capture-opencode.d.ts +22 -0
- package/dist/src/server/session-capture-opencode.js +75 -0
- package/dist/src/server/session-capture.d.ts +77 -0
- package/dist/src/server/session-capture.js +123 -0
- package/dist/src/server/settings-store.d.ts +22 -0
- package/dist/src/server/settings-store.js +22 -0
- package/dist/src/server/sqlite-schema-v10.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v10.js +13 -0
- package/dist/src/server/sqlite-schema-v11.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v11.js +10 -0
- package/dist/src/server/sqlite-schema-v12.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v12.js +21 -0
- package/dist/src/server/sqlite-schema-v13.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v13.js +4 -0
- package/dist/src/server/sqlite-schema-v14.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v14.js +84 -0
- package/dist/src/server/sqlite-schema-v15.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v15.js +73 -0
- package/dist/src/server/sqlite-schema-v16.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v16.js +6 -0
- package/dist/src/server/sqlite-schema-v17.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v17.js +15 -0
- package/dist/src/server/sqlite-schema-v18.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v18.js +6 -0
- package/dist/src/server/sqlite-schema-v19.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v19.js +17 -0
- package/dist/src/server/sqlite-schema-v20.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v20.js +20 -0
- package/dist/src/server/sqlite-schema-v21.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v21.js +20 -0
- package/dist/src/server/sqlite-schema-v22.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v22.js +27 -0
- package/dist/src/server/sqlite-schema-v23.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v23.js +43 -0
- package/dist/src/server/sqlite-schema-v24.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v24.js +34 -0
- package/dist/src/server/sqlite-schema-v25.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v25.js +127 -0
- package/dist/src/server/sqlite-schema-v26.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v26.js +56 -0
- package/dist/src/server/sqlite-schema-v27.d.ts +6 -0
- package/dist/src/server/sqlite-schema-v27.js +92 -0
- package/dist/src/server/sqlite-schema-v28.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v28.js +19 -0
- package/dist/src/server/sqlite-schema-v5.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v5.js +61 -0
- package/dist/src/server/sqlite-schema-v7.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v7.js +70 -0
- package/dist/src/server/sqlite-schema-v8.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v8.js +6 -0
- package/dist/src/server/sqlite-schema-v9.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v9.js +6 -0
- package/dist/src/server/sqlite-schema.d.ts +3 -0
- package/dist/src/server/sqlite-schema.js +353 -0
- package/dist/src/server/startup-command-parser.d.ts +20 -0
- package/dist/src/server/startup-command-parser.js +72 -0
- package/dist/src/server/system-message.d.ts +8 -0
- package/dist/src/server/system-message.js +8 -0
- package/dist/src/server/task-deps.d.ts +32 -0
- package/dist/src/server/task-deps.js +40 -0
- package/dist/src/server/tasks-file-watcher.d.ts +47 -0
- package/dist/src/server/tasks-file-watcher.js +200 -0
- package/dist/src/server/tasks-file.d.ts +23 -0
- package/dist/src/server/tasks-file.js +101 -0
- package/dist/src/server/tasks-websocket-server.d.ts +8 -0
- package/dist/src/server/tasks-websocket-server.js +95 -0
- package/dist/src/server/team-authz.d.ts +13 -0
- package/dist/src/server/team-authz.js +53 -0
- package/dist/src/server/team-autostaff.d.ts +16 -0
- package/dist/src/server/team-autostaff.js +16 -0
- package/dist/src/server/team-list-enrichment.d.ts +22 -0
- package/dist/src/server/team-list-enrichment.js +40 -0
- package/dist/src/server/team-list-serializer.d.ts +2 -0
- package/dist/src/server/team-list-serializer.js +11 -0
- package/dist/src/server/team-memory-digest.d.ts +52 -0
- package/dist/src/server/team-memory-digest.js +200 -0
- package/dist/src/server/team-memory-dream-applier.d.ts +5 -0
- package/dist/src/server/team-memory-dream-applier.js +234 -0
- package/dist/src/server/team-memory-dream-http-serializers.d.ts +13 -0
- package/dist/src/server/team-memory-dream-http-serializers.js +12 -0
- package/dist/src/server/team-memory-dream-ops.d.ts +40 -0
- package/dist/src/server/team-memory-dream-ops.js +153 -0
- package/dist/src/server/team-memory-dream-reverter.d.ts +22 -0
- package/dist/src/server/team-memory-dream-reverter.js +221 -0
- package/dist/src/server/team-memory-dream-run-store.d.ts +23 -0
- package/dist/src/server/team-memory-dream-run-store.js +211 -0
- package/dist/src/server/team-memory-dream-runner.d.ts +37 -0
- package/dist/src/server/team-memory-dream-runner.js +178 -0
- package/dist/src/server/team-memory-dream-scheduler.d.ts +32 -0
- package/dist/src/server/team-memory-dream-scheduler.js +115 -0
- package/dist/src/server/team-memory-dream-store.d.ts +19 -0
- package/dist/src/server/team-memory-dream-store.js +16 -0
- package/dist/src/server/team-memory-dream-types.d.ts +104 -0
- package/dist/src/server/team-memory-dream-types.js +23 -0
- package/dist/src/server/team-memory-export.d.ts +22 -0
- package/dist/src/server/team-memory-export.js +220 -0
- package/dist/src/server/team-memory-feature.d.ts +12 -0
- package/dist/src/server/team-memory-feature.js +12 -0
- package/dist/src/server/team-memory-http-serializers.d.ts +102 -0
- package/dist/src/server/team-memory-http-serializers.js +46 -0
- package/dist/src/server/team-memory-injection.d.ts +31 -0
- package/dist/src/server/team-memory-injection.js +49 -0
- package/dist/src/server/team-memory-store.d.ts +116 -0
- package/dist/src/server/team-memory-store.js +513 -0
- package/dist/src/server/team-operations.d.ts +102 -0
- package/dist/src/server/team-operations.js +387 -0
- package/dist/src/server/team-recall-store.d.ts +38 -0
- package/dist/src/server/team-recall-store.js +205 -0
- package/dist/src/server/terminal-flow-control.d.ts +19 -0
- package/dist/src/server/terminal-flow-control.js +116 -0
- package/dist/src/server/terminal-input-profile.d.ts +10 -0
- package/dist/src/server/terminal-input-profile.js +9 -0
- package/dist/src/server/terminal-protocol.d.ts +29 -0
- package/dist/src/server/terminal-protocol.js +47 -0
- package/dist/src/server/terminal-state-mirror.d.ts +21 -0
- package/dist/src/server/terminal-state-mirror.js +67 -0
- package/dist/src/server/terminal-stream-hub.d.ts +9 -0
- package/dist/src/server/terminal-stream-hub.js +192 -0
- package/dist/src/server/terminal-ws-server.d.ts +6 -0
- package/dist/src/server/terminal-ws-server.js +115 -0
- package/dist/src/server/ui-auth-helpers.d.ts +4 -0
- package/dist/src/server/ui-auth-helpers.js +28 -0
- package/dist/src/server/ui-auth.d.ts +8 -0
- package/dist/src/server/ui-auth.js +32 -0
- package/dist/src/server/version-service.d.ts +16 -0
- package/dist/src/server/version-service.js +72 -0
- package/dist/src/server/webhook-notifier.d.ts +34 -0
- package/dist/src/server/webhook-notifier.js +47 -0
- package/dist/src/server/websocket-upgrade-safety.d.ts +10 -0
- package/dist/src/server/websocket-upgrade-safety.js +35 -0
- package/dist/src/server/windows-command-line.d.ts +3 -0
- package/dist/src/server/windows-command-line.js +9 -0
- package/dist/src/server/windows-filename.d.ts +2 -0
- package/dist/src/server/windows-filename.js +33 -0
- package/dist/src/server/worker-output-tracker.d.ts +14 -0
- package/dist/src/server/worker-output-tracker.js +50 -0
- package/dist/src/server/workflow-cli-policy.d.ts +60 -0
- package/dist/src/server/workflow-cli-policy.js +110 -0
- package/dist/src/server/workflow-dispatch-awaiter.d.ts +12 -0
- package/dist/src/server/workflow-dispatch-awaiter.js +80 -0
- package/dist/src/server/workflow-feature.d.ts +15 -0
- package/dist/src/server/workflow-feature.js +15 -0
- package/dist/src/server/workflow-http-serializers.d.ts +64 -0
- package/dist/src/server/workflow-http-serializers.js +58 -0
- package/dist/src/server/workflow-output-schema.d.ts +18 -0
- package/dist/src/server/workflow-output-schema.js +41 -0
- package/dist/src/server/workflow-run-log-store.d.ts +19 -0
- package/dist/src/server/workflow-run-log-store.js +45 -0
- package/dist/src/server/workflow-run-store.d.ts +50 -0
- package/dist/src/server/workflow-run-store.js +103 -0
- package/dist/src/server/workflow-runner.d.ts +147 -0
- package/dist/src/server/workflow-runner.js +411 -0
- package/dist/src/server/workflow-schedule-create.d.ts +14 -0
- package/dist/src/server/workflow-schedule-create.js +41 -0
- package/dist/src/server/workflow-schedule-store.d.ts +43 -0
- package/dist/src/server/workflow-schedule-store.js +112 -0
- package/dist/src/server/workflow-scheduler.d.ts +36 -0
- package/dist/src/server/workflow-scheduler.js +97 -0
- package/dist/src/server/workflow-script-loader.d.ts +34 -0
- package/dist/src/server/workflow-script-loader.js +106 -0
- package/dist/src/server/workspace-path-validation.d.ts +1 -0
- package/dist/src/server/workspace-path-validation.js +42 -0
- package/dist/src/server/workspace-shell-runtime.d.ts +35 -0
- package/dist/src/server/workspace-shell-runtime.js +228 -0
- package/dist/src/server/workspace-store-contract.d.ts +32 -0
- package/dist/src/server/workspace-store-contract.js +1 -0
- package/dist/src/server/workspace-store-hydration.d.ts +5 -0
- package/dist/src/server/workspace-store-hydration.js +76 -0
- package/dist/src/server/workspace-store-mutations.d.ts +14 -0
- package/dist/src/server/workspace-store-mutations.js +48 -0
- package/dist/src/server/workspace-store-support.d.ts +33 -0
- package/dist/src/server/workspace-store-support.js +36 -0
- package/dist/src/server/workspace-store.d.ts +5 -0
- package/dist/src/server/workspace-store.js +153 -0
- package/dist/src/shared/fs-browse.d.ts +1 -0
- package/dist/src/shared/fs-browse.js +1 -0
- package/dist/src/shared/open-targets.d.ts +20 -0
- package/dist/src/shared/open-targets.js +36 -0
- package/dist/src/shared/path-input.d.ts +12 -0
- package/dist/src/shared/path-input.js +22 -0
- package/dist/src/shared/remote-bridge-routing.d.ts +19 -0
- package/dist/src/shared/remote-bridge-routing.js +141 -0
- package/dist/src/shared/remote-crypto.d.ts +138 -0
- package/dist/src/shared/remote-crypto.js +427 -0
- package/dist/src/shared/remote-pairing-code.d.ts +7 -0
- package/dist/src/shared/remote-pairing-code.js +47 -0
- package/dist/src/shared/remote-protocol.d.ts +160 -0
- package/dist/src/shared/remote-protocol.js +526 -0
- package/dist/src/shared/team-memory.d.ts +11 -0
- package/dist/src/shared/team-memory.js +10 -0
- package/dist/src/shared/team-recall.d.ts +1 -0
- package/dist/src/shared/team-recall.js +1 -0
- package/dist/src/shared/types.d.ts +66 -0
- package/dist/src/shared/types.js +1 -0
- package/dist/vendor/marketplace/en/LICENSE +21 -0
- package/dist/vendor/marketplace/en/SOURCES.md +12 -0
- package/dist/vendor/marketplace/en/academic/academic-anthropologist.md +125 -0
- package/dist/vendor/marketplace/en/academic/academic-geographer.md +127 -0
- package/dist/vendor/marketplace/en/academic/academic-historian.md +123 -0
- package/dist/vendor/marketplace/en/academic/academic-narratologist.md +118 -0
- package/dist/vendor/marketplace/en/academic/academic-psychologist.md +118 -0
- package/dist/vendor/marketplace/en/design/design-brand-guardian.md +322 -0
- package/dist/vendor/marketplace/en/design/design-image-prompt-engineer.md +236 -0
- package/dist/vendor/marketplace/en/design/design-inclusive-visuals-specialist.md +71 -0
- package/dist/vendor/marketplace/en/design/design-ui-designer.md +383 -0
- package/dist/vendor/marketplace/en/design/design-ux-architect.md +469 -0
- package/dist/vendor/marketplace/en/design/design-ux-researcher.md +329 -0
- package/dist/vendor/marketplace/en/design/design-visual-storyteller.md +149 -0
- package/dist/vendor/marketplace/en/design/design-whimsy-injector.md +438 -0
- package/dist/vendor/marketplace/en/engineering/engineering-ai-data-remediation-engineer.md +211 -0
- package/dist/vendor/marketplace/en/engineering/engineering-ai-engineer.md +146 -0
- package/dist/vendor/marketplace/en/engineering/engineering-autonomous-optimization-architect.md +107 -0
- package/dist/vendor/marketplace/en/engineering/engineering-backend-architect.md +235 -0
- package/dist/vendor/marketplace/en/engineering/engineering-cms-developer.md +536 -0
- package/dist/vendor/marketplace/en/engineering/engineering-code-reviewer.md +76 -0
- package/dist/vendor/marketplace/en/engineering/engineering-codebase-onboarding-engineer.md +173 -0
- package/dist/vendor/marketplace/en/engineering/engineering-data-engineer.md +306 -0
- package/dist/vendor/marketplace/en/engineering/engineering-database-optimizer.md +176 -0
- package/dist/vendor/marketplace/en/engineering/engineering-devops-automator.md +376 -0
- package/dist/vendor/marketplace/en/engineering/engineering-email-intelligence-engineer.md +353 -0
- package/dist/vendor/marketplace/en/engineering/engineering-embedded-firmware-engineer.md +173 -0
- package/dist/vendor/marketplace/en/engineering/engineering-feishu-integration-developer.md +598 -0
- package/dist/vendor/marketplace/en/engineering/engineering-filament-optimization-specialist.md +283 -0
- package/dist/vendor/marketplace/en/engineering/engineering-frontend-developer.md +225 -0
- package/dist/vendor/marketplace/en/engineering/engineering-git-workflow-master.md +84 -0
- package/dist/vendor/marketplace/en/engineering/engineering-incident-response-commander.md +444 -0
- package/dist/vendor/marketplace/en/engineering/engineering-minimal-change-engineer.md +207 -0
- package/dist/vendor/marketplace/en/engineering/engineering-mobile-app-builder.md +493 -0
- package/dist/vendor/marketplace/en/engineering/engineering-rapid-prototyper.md +462 -0
- package/dist/vendor/marketplace/en/engineering/engineering-security-engineer.md +304 -0
- package/dist/vendor/marketplace/en/engineering/engineering-senior-developer.md +176 -0
- package/dist/vendor/marketplace/en/engineering/engineering-software-architect.md +81 -0
- package/dist/vendor/marketplace/en/engineering/engineering-solidity-smart-contract-engineer.md +522 -0
- package/dist/vendor/marketplace/en/engineering/engineering-sre.md +90 -0
- package/dist/vendor/marketplace/en/engineering/engineering-technical-writer.md +393 -0
- package/dist/vendor/marketplace/en/engineering/engineering-threat-detection-engineer.md +534 -0
- package/dist/vendor/marketplace/en/engineering/engineering-voice-ai-integration-engineer.md +561 -0
- package/dist/vendor/marketplace/en/engineering/engineering-wechat-mini-program-developer.md +350 -0
- package/dist/vendor/marketplace/en/finance/finance-bookkeeper-controller.md +260 -0
- package/dist/vendor/marketplace/en/finance/finance-financial-analyst.md +234 -0
- package/dist/vendor/marketplace/en/finance/finance-fpa-analyst.md +263 -0
- package/dist/vendor/marketplace/en/finance/finance-investment-researcher.md +272 -0
- package/dist/vendor/marketplace/en/finance/finance-tax-strategist.md +239 -0
- package/dist/vendor/marketplace/en/game-development/blender/blender-addon-engineer.md +234 -0
- package/dist/vendor/marketplace/en/game-development/game-audio-engineer.md +264 -0
- package/dist/vendor/marketplace/en/game-development/game-designer.md +167 -0
- package/dist/vendor/marketplace/en/game-development/godot/godot-gameplay-scripter.md +334 -0
- package/dist/vendor/marketplace/en/game-development/godot/godot-multiplayer-engineer.md +297 -0
- package/dist/vendor/marketplace/en/game-development/godot/godot-shader-developer.md +266 -0
- package/dist/vendor/marketplace/en/game-development/level-designer.md +208 -0
- package/dist/vendor/marketplace/en/game-development/narrative-designer.md +243 -0
- package/dist/vendor/marketplace/en/game-development/roblox-studio/roblox-avatar-creator.md +297 -0
- package/dist/vendor/marketplace/en/game-development/roblox-studio/roblox-experience-designer.md +305 -0
- package/dist/vendor/marketplace/en/game-development/roblox-studio/roblox-systems-scripter.md +325 -0
- package/dist/vendor/marketplace/en/game-development/technical-artist.md +229 -0
- package/dist/vendor/marketplace/en/game-development/unity/unity-architect.md +271 -0
- package/dist/vendor/marketplace/en/game-development/unity/unity-editor-tool-developer.md +310 -0
- package/dist/vendor/marketplace/en/game-development/unity/unity-multiplayer-engineer.md +321 -0
- package/dist/vendor/marketplace/en/game-development/unity/unity-shader-graph-artist.md +269 -0
- package/dist/vendor/marketplace/en/game-development/unreal-engine/unreal-multiplayer-architect.md +313 -0
- package/dist/vendor/marketplace/en/game-development/unreal-engine/unreal-systems-engineer.md +310 -0
- package/dist/vendor/marketplace/en/game-development/unreal-engine/unreal-technical-artist.md +256 -0
- package/dist/vendor/marketplace/en/game-development/unreal-engine/unreal-world-builder.md +273 -0
- package/dist/vendor/marketplace/en/integrations/mcp-memory/backend-architect-with-memory.md +247 -0
- package/dist/vendor/marketplace/en/manifest.json +1869 -0
- package/dist/vendor/marketplace/en/marketing/marketing-agentic-search-optimizer.md +311 -0
- package/dist/vendor/marketplace/en/marketing/marketing-ai-citation-strategist.md +170 -0
- package/dist/vendor/marketplace/en/marketing/marketing-app-store-optimizer.md +321 -0
- package/dist/vendor/marketplace/en/marketing/marketing-baidu-seo-specialist.md +226 -0
- package/dist/vendor/marketplace/en/marketing/marketing-bilibili-content-strategist.md +199 -0
- package/dist/vendor/marketplace/en/marketing/marketing-book-co-author.md +110 -0
- package/dist/vendor/marketplace/en/marketing/marketing-carousel-growth-engine.md +199 -0
- package/dist/vendor/marketplace/en/marketing/marketing-china-ecommerce-operator.md +283 -0
- package/dist/vendor/marketplace/en/marketing/marketing-china-market-localization-strategist.md +283 -0
- package/dist/vendor/marketplace/en/marketing/marketing-content-creator.md +54 -0
- package/dist/vendor/marketplace/en/marketing/marketing-cross-border-ecommerce.md +259 -0
- package/dist/vendor/marketplace/en/marketing/marketing-douyin-strategist.md +149 -0
- package/dist/vendor/marketplace/en/marketing/marketing-growth-hacker.md +54 -0
- package/dist/vendor/marketplace/en/marketing/marketing-instagram-curator.md +113 -0
- package/dist/vendor/marketplace/en/marketing/marketing-kuaishou-strategist.md +223 -0
- package/dist/vendor/marketplace/en/marketing/marketing-linkedin-content-creator.md +214 -0
- package/dist/vendor/marketplace/en/marketing/marketing-livestream-commerce-coach.md +305 -0
- package/dist/vendor/marketplace/en/marketing/marketing-podcast-strategist.md +277 -0
- package/dist/vendor/marketplace/en/marketing/marketing-private-domain-operator.md +308 -0
- package/dist/vendor/marketplace/en/marketing/marketing-reddit-community-builder.md +123 -0
- package/dist/vendor/marketplace/en/marketing/marketing-seo-specialist.md +321 -0
- package/dist/vendor/marketplace/en/marketing/marketing-short-video-editing-coach.md +412 -0
- package/dist/vendor/marketplace/en/marketing/marketing-social-media-strategist.md +125 -0
- package/dist/vendor/marketplace/en/marketing/marketing-tiktok-strategist.md +125 -0
- package/dist/vendor/marketplace/en/marketing/marketing-twitter-engager.md +126 -0
- package/dist/vendor/marketplace/en/marketing/marketing-video-optimization-specialist.md +119 -0
- package/dist/vendor/marketplace/en/marketing/marketing-wechat-official-account.md +145 -0
- package/dist/vendor/marketplace/en/marketing/marketing-weibo-strategist.md +240 -0
- package/dist/vendor/marketplace/en/marketing/marketing-xiaohongshu-specialist.md +138 -0
- package/dist/vendor/marketplace/en/marketing/marketing-zhihu-strategist.md +162 -0
- package/dist/vendor/marketplace/en/paid-media/paid-media-auditor.md +71 -0
- package/dist/vendor/marketplace/en/paid-media/paid-media-creative-strategist.md +71 -0
- package/dist/vendor/marketplace/en/paid-media/paid-media-paid-social-strategist.md +71 -0
- package/dist/vendor/marketplace/en/paid-media/paid-media-ppc-strategist.md +71 -0
- package/dist/vendor/marketplace/en/paid-media/paid-media-programmatic-buyer.md +71 -0
- package/dist/vendor/marketplace/en/paid-media/paid-media-search-query-analyst.md +71 -0
- package/dist/vendor/marketplace/en/paid-media/paid-media-tracking-specialist.md +71 -0
- package/dist/vendor/marketplace/en/product/product-behavioral-nudge-engine.md +80 -0
- package/dist/vendor/marketplace/en/product/product-feedback-synthesizer.md +119 -0
- package/dist/vendor/marketplace/en/product/product-manager.md +469 -0
- package/dist/vendor/marketplace/en/product/product-sprint-prioritizer.md +154 -0
- package/dist/vendor/marketplace/en/product/product-trend-researcher.md +159 -0
- package/dist/vendor/marketplace/en/project-management/project-management-experiment-tracker.md +198 -0
- package/dist/vendor/marketplace/en/project-management/project-management-jira-workflow-steward.md +230 -0
- package/dist/vendor/marketplace/en/project-management/project-management-project-shepherd.md +194 -0
- package/dist/vendor/marketplace/en/project-management/project-management-studio-operations.md +200 -0
- package/dist/vendor/marketplace/en/project-management/project-management-studio-producer.md +203 -0
- package/dist/vendor/marketplace/en/project-management/project-manager-senior.md +135 -0
- package/dist/vendor/marketplace/en/sales/sales-account-strategist.md +227 -0
- package/dist/vendor/marketplace/en/sales/sales-coach.md +271 -0
- package/dist/vendor/marketplace/en/sales/sales-deal-strategist.md +180 -0
- package/dist/vendor/marketplace/en/sales/sales-discovery-coach.md +225 -0
- package/dist/vendor/marketplace/en/sales/sales-engineer.md +182 -0
- package/dist/vendor/marketplace/en/sales/sales-outbound-strategist.md +201 -0
- package/dist/vendor/marketplace/en/sales/sales-pipeline-analyst.md +267 -0
- package/dist/vendor/marketplace/en/sales/sales-proposal-strategist.md +217 -0
- package/dist/vendor/marketplace/en/spatial-computing/macos-spatial-metal-engineer.md +337 -0
- package/dist/vendor/marketplace/en/spatial-computing/terminal-integration-specialist.md +70 -0
- package/dist/vendor/marketplace/en/spatial-computing/visionos-spatial-engineer.md +54 -0
- package/dist/vendor/marketplace/en/spatial-computing/xr-cockpit-interaction-specialist.md +32 -0
- package/dist/vendor/marketplace/en/spatial-computing/xr-immersive-developer.md +32 -0
- package/dist/vendor/marketplace/en/spatial-computing/xr-interface-architect.md +32 -0
- package/dist/vendor/marketplace/en/specialized/accounts-payable-agent.md +185 -0
- package/dist/vendor/marketplace/en/specialized/agentic-identity-trust.md +387 -0
- package/dist/vendor/marketplace/en/specialized/agents-orchestrator.md +367 -0
- package/dist/vendor/marketplace/en/specialized/automation-governance-architect.md +216 -0
- package/dist/vendor/marketplace/en/specialized/blockchain-security-auditor.md +463 -0
- package/dist/vendor/marketplace/en/specialized/compliance-auditor.md +158 -0
- package/dist/vendor/marketplace/en/specialized/corporate-training-designer.md +192 -0
- package/dist/vendor/marketplace/en/specialized/customer-service.md +398 -0
- package/dist/vendor/marketplace/en/specialized/data-consolidation-agent.md +60 -0
- package/dist/vendor/marketplace/en/specialized/government-digital-presales-consultant.md +363 -0
- package/dist/vendor/marketplace/en/specialized/healthcare-customer-service.md +389 -0
- package/dist/vendor/marketplace/en/specialized/healthcare-marketing-compliance.md +395 -0
- package/dist/vendor/marketplace/en/specialized/hospitality-guest-services.md +603 -0
- package/dist/vendor/marketplace/en/specialized/hr-onboarding.md +451 -0
- package/dist/vendor/marketplace/en/specialized/identity-graph-operator.md +260 -0
- package/dist/vendor/marketplace/en/specialized/language-translator.md +264 -0
- package/dist/vendor/marketplace/en/specialized/legal-billing-time-tracking.md +569 -0
- package/dist/vendor/marketplace/en/specialized/legal-client-intake.md +492 -0
- package/dist/vendor/marketplace/en/specialized/legal-document-review.md +454 -0
- package/dist/vendor/marketplace/en/specialized/loan-officer-assistant.md +555 -0
- package/dist/vendor/marketplace/en/specialized/lsp-index-engineer.md +314 -0
- package/dist/vendor/marketplace/en/specialized/real-estate-buyer-seller.md +596 -0
- package/dist/vendor/marketplace/en/specialized/recruitment-specialist.md +509 -0
- package/dist/vendor/marketplace/en/specialized/report-distribution-agent.md +65 -0
- package/dist/vendor/marketplace/en/specialized/retail-customer-returns.md +566 -0
- package/dist/vendor/marketplace/en/specialized/sales-data-extraction-agent.md +67 -0
- package/dist/vendor/marketplace/en/specialized/sales-outreach.md +425 -0
- package/dist/vendor/marketplace/en/specialized/specialized-chief-of-staff.md +279 -0
- package/dist/vendor/marketplace/en/specialized/specialized-civil-engineer.md +356 -0
- package/dist/vendor/marketplace/en/specialized/specialized-cultural-intelligence-strategist.md +88 -0
- package/dist/vendor/marketplace/en/specialized/specialized-developer-advocate.md +317 -0
- package/dist/vendor/marketplace/en/specialized/specialized-document-generator.md +55 -0
- package/dist/vendor/marketplace/en/specialized/specialized-french-consulting-market.md +192 -0
- package/dist/vendor/marketplace/en/specialized/specialized-korean-business-navigator.md +216 -0
- package/dist/vendor/marketplace/en/specialized/specialized-mcp-builder.md +248 -0
- package/dist/vendor/marketplace/en/specialized/specialized-model-qa.md +488 -0
- package/dist/vendor/marketplace/en/specialized/specialized-salesforce-architect.md +180 -0
- package/dist/vendor/marketplace/en/specialized/specialized-workflow-architect.md +597 -0
- package/dist/vendor/marketplace/en/specialized/study-abroad-advisor.md +282 -0
- package/dist/vendor/marketplace/en/specialized/supply-chain-strategist.md +582 -0
- package/dist/vendor/marketplace/en/support/support-analytics-reporter.md +365 -0
- package/dist/vendor/marketplace/en/support/support-executive-summary-generator.md +212 -0
- package/dist/vendor/marketplace/en/support/support-finance-tracker.md +442 -0
- package/dist/vendor/marketplace/en/support/support-infrastructure-maintainer.md +618 -0
- package/dist/vendor/marketplace/en/support/support-legal-compliance-checker.md +588 -0
- package/dist/vendor/marketplace/en/support/support-support-responder.md +585 -0
- package/dist/vendor/marketplace/en/testing/testing-accessibility-auditor.md +316 -0
- package/dist/vendor/marketplace/en/testing/testing-api-tester.md +306 -0
- package/dist/vendor/marketplace/en/testing/testing-evidence-collector.md +210 -0
- package/dist/vendor/marketplace/en/testing/testing-performance-benchmarker.md +268 -0
- package/dist/vendor/marketplace/en/testing/testing-reality-checker.md +236 -0
- package/dist/vendor/marketplace/en/testing/testing-test-results-analyzer.md +305 -0
- package/dist/vendor/marketplace/en/testing/testing-tool-evaluator.md +394 -0
- package/dist/vendor/marketplace/en/testing/testing-workflow-optimizer.md +450 -0
- package/dist/vendor/marketplace/zh/LICENSE +22 -0
- package/dist/vendor/marketplace/zh/SOURCES.md +12 -0
- package/dist/vendor/marketplace/zh/academic/academic-anthropologist.md +124 -0
- package/dist/vendor/marketplace/zh/academic/academic-geographer.md +126 -0
- package/dist/vendor/marketplace/zh/academic/academic-historian.md +122 -0
- package/dist/vendor/marketplace/zh/academic/academic-narratologist.md +117 -0
- package/dist/vendor/marketplace/zh/academic/academic-psychologist.md +117 -0
- package/dist/vendor/marketplace/zh/academic/academic-study-planner.md +214 -0
- package/dist/vendor/marketplace/zh/design/design-brand-guardian.md +321 -0
- package/dist/vendor/marketplace/zh/design/design-image-prompt-engineer.md +255 -0
- package/dist/vendor/marketplace/zh/design/design-inclusive-visuals-specialist.md +177 -0
- package/dist/vendor/marketplace/zh/design/design-ui-designer.md +382 -0
- package/dist/vendor/marketplace/zh/design/design-ux-architect.md +482 -0
- package/dist/vendor/marketplace/zh/design/design-ux-researcher.md +328 -0
- package/dist/vendor/marketplace/zh/design/design-visual-storyteller.md +159 -0
- package/dist/vendor/marketplace/zh/design/design-whimsy-injector.md +453 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-ai-data-remediation-engineer.md +209 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-ai-engineer.md +161 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-autonomous-optimization-architect.md +115 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-backend-architect.md +234 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-cms-developer.md +534 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-code-reviewer.md +172 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-codebase-onboarding-engineer.md +172 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-data-engineer.md +324 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-database-optimizer.md +175 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-devops-automator.md +375 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-dingtalk-integration-developer.md +574 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-email-intelligence-engineer.md +349 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-embedded-firmware-engineer.md +168 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-embedded-linux-driver-engineer.md +255 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-feishu-integration-developer.md +597 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-filament-optimization-specialist.md +283 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-fpga-digital-design-engineer.md +227 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-frontend-developer.md +224 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-git-workflow-master.md +220 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-incident-response-commander.md +465 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-iot-solution-architect.md +220 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-mechanical-design-engineer.md +311 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-minimal-change-engineer.md +206 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-mobile-app-builder.md +434 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-pc-host-engineer.md +231 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-rapid-prototyper.md +461 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-security-engineer.md +303 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-senior-developer.md +177 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-software-architect.md +200 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-solidity-smart-contract-engineer.md +541 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-sre.md +233 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-technical-writer.md +409 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-threat-detection-engineer.md +553 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-voice-ai-integration-engineer.md +560 -0
- package/dist/vendor/marketplace/zh/engineering/engineering-wechat-mini-program-developer.md +288 -0
- package/dist/vendor/marketplace/zh/finance/finance-bookkeeper-controller.md +271 -0
- package/dist/vendor/marketplace/zh/finance/finance-financial-analyst.md +244 -0
- package/dist/vendor/marketplace/zh/finance/finance-financial-forecaster.md +213 -0
- package/dist/vendor/marketplace/zh/finance/finance-fpa-analyst.md +272 -0
- package/dist/vendor/marketplace/zh/finance/finance-fraud-detector.md +241 -0
- package/dist/vendor/marketplace/zh/finance/finance-investment-researcher.md +283 -0
- package/dist/vendor/marketplace/zh/finance/finance-invoice-manager.md +242 -0
- package/dist/vendor/marketplace/zh/finance/finance-tax-strategist.md +250 -0
- package/dist/vendor/marketplace/zh/game-development/blender/blender-addon-engineer.md +233 -0
- package/dist/vendor/marketplace/zh/game-development/game-audio-engineer.md +265 -0
- package/dist/vendor/marketplace/zh/game-development/game-designer.md +168 -0
- package/dist/vendor/marketplace/zh/game-development/godot/godot-gameplay-scripter.md +335 -0
- package/dist/vendor/marketplace/zh/game-development/godot/godot-multiplayer-engineer.md +296 -0
- package/dist/vendor/marketplace/zh/game-development/godot/godot-shader-developer.md +267 -0
- package/dist/vendor/marketplace/zh/game-development/level-designer.md +209 -0
- package/dist/vendor/marketplace/zh/game-development/narrative-designer.md +244 -0
- package/dist/vendor/marketplace/zh/game-development/roblox-studio/roblox-avatar-creator.md +298 -0
- package/dist/vendor/marketplace/zh/game-development/roblox-studio/roblox-experience-designer.md +306 -0
- package/dist/vendor/marketplace/zh/game-development/roblox-studio/roblox-systems-scripter.md +325 -0
- package/dist/vendor/marketplace/zh/game-development/technical-artist.md +230 -0
- package/dist/vendor/marketplace/zh/game-development/unity/unity-architect.md +272 -0
- package/dist/vendor/marketplace/zh/game-development/unity/unity-editor-tool-developer.md +300 -0
- package/dist/vendor/marketplace/zh/game-development/unity/unity-multiplayer-engineer.md +238 -0
- package/dist/vendor/marketplace/zh/game-development/unity/unity-shader-graph-artist.md +270 -0
- package/dist/vendor/marketplace/zh/game-development/unreal-engine/unreal-multiplayer-architect.md +314 -0
- package/dist/vendor/marketplace/zh/game-development/unreal-engine/unreal-systems-engineer.md +311 -0
- package/dist/vendor/marketplace/zh/game-development/unreal-engine/unreal-technical-artist.md +256 -0
- package/dist/vendor/marketplace/zh/game-development/unreal-engine/unreal-world-builder.md +274 -0
- package/dist/vendor/marketplace/zh/hr/hr-performance-reviewer.md +248 -0
- package/dist/vendor/marketplace/zh/hr/hr-recruiter.md +232 -0
- package/dist/vendor/marketplace/zh/legal/legal-contract-reviewer.md +240 -0
- package/dist/vendor/marketplace/zh/legal/legal-policy-writer.md +308 -0
- package/dist/vendor/marketplace/zh/manifest.json +2181 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-agentic-search-optimizer.md +312 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-ai-citation-strategist.md +169 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-app-store-optimizer.md +319 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-baidu-seo-specialist.md +220 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-bilibili-strategist.md +194 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-book-co-author.md +109 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-carousel-growth-engine.md +215 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-china-ecommerce-operator.md +277 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-china-market-localization-strategist.md +282 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-content-creator.md +145 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-cross-border-ecommerce.md +260 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-daily-news-briefing.md +303 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-douyin-strategist.md +150 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-ecommerce-operator.md +216 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-growth-hacker.md +121 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-instagram-curator.md +179 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-knowledge-commerce-strategist.md +384 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-kuaishou-strategist.md +182 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-linkedin-content-creator.md +232 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-livestream-commerce-coach.md +303 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-podcast-strategist.md +278 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-private-domain-operator.md +309 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-reddit-community-builder.md +127 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-seo-specialist.md +298 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-short-video-editing-coach.md +413 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-social-media-strategist.md +118 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-tiktok-strategist.md +124 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-twitter-engager.md +132 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-video-optimization-specialist.md +128 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-wechat-official-account.md +158 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-wechat-operator.md +156 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-weibo-strategist.md +241 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-weixin-channels-strategist.md +297 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-xiaohongshu-operator.md +139 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-xiaohongshu-specialist.md +151 -0
- package/dist/vendor/marketplace/zh/marketing/marketing-zhihu-strategist.md +175 -0
- package/dist/vendor/marketplace/zh/paid-media/paid-media-auditor.md +170 -0
- package/dist/vendor/marketplace/zh/paid-media/paid-media-creative-strategist.md +173 -0
- package/dist/vendor/marketplace/zh/paid-media/paid-media-paid-social-strategist.md +180 -0
- package/dist/vendor/marketplace/zh/paid-media/paid-media-ppc-strategist.md +180 -0
- package/dist/vendor/marketplace/zh/paid-media/paid-media-programmatic-buyer.md +177 -0
- package/dist/vendor/marketplace/zh/paid-media/paid-media-search-query-analyst.md +182 -0
- package/dist/vendor/marketplace/zh/paid-media/paid-media-tracking-specialist.md +199 -0
- package/dist/vendor/marketplace/zh/product/product-behavioral-nudge-engine.md +246 -0
- package/dist/vendor/marketplace/zh/product/product-feedback-synthesizer.md +175 -0
- package/dist/vendor/marketplace/zh/product/product-manager.md +474 -0
- package/dist/vendor/marketplace/zh/product/product-sprint-prioritizer.md +133 -0
- package/dist/vendor/marketplace/zh/product/product-trend-researcher.md +143 -0
- package/dist/vendor/marketplace/zh/project-management/project-management-experiment-tracker.md +206 -0
- package/dist/vendor/marketplace/zh/project-management/project-management-jira-workflow-steward.md +249 -0
- package/dist/vendor/marketplace/zh/project-management/project-management-project-shepherd.md +202 -0
- package/dist/vendor/marketplace/zh/project-management/project-management-studio-operations.md +208 -0
- package/dist/vendor/marketplace/zh/project-management/project-management-studio-producer.md +211 -0
- package/dist/vendor/marketplace/zh/project-management/project-manager-senior.md +135 -0
- package/dist/vendor/marketplace/zh/sales/sales-account-strategist.md +243 -0
- package/dist/vendor/marketplace/zh/sales/sales-coach.md +291 -0
- package/dist/vendor/marketplace/zh/sales/sales-deal-strategist.md +204 -0
- package/dist/vendor/marketplace/zh/sales/sales-discovery-coach.md +230 -0
- package/dist/vendor/marketplace/zh/sales/sales-engineer.md +200 -0
- package/dist/vendor/marketplace/zh/sales/sales-outbound-strategist.md +208 -0
- package/dist/vendor/marketplace/zh/sales/sales-pipeline-analyst.md +284 -0
- package/dist/vendor/marketplace/zh/sales/sales-proposal-strategist.md +233 -0
- package/dist/vendor/marketplace/zh/spatial-computing/macos-spatial-metal-engineer.md +337 -0
- package/dist/vendor/marketplace/zh/spatial-computing/terminal-integration-specialist.md +236 -0
- package/dist/vendor/marketplace/zh/spatial-computing/visionos-spatial-engineer.md +282 -0
- package/dist/vendor/marketplace/zh/spatial-computing/xr-cockpit-interaction-specialist.md +220 -0
- package/dist/vendor/marketplace/zh/spatial-computing/xr-immersive-developer.md +229 -0
- package/dist/vendor/marketplace/zh/spatial-computing/xr-interface-architect.md +253 -0
- package/dist/vendor/marketplace/zh/specialized/accounts-payable-agent.md +212 -0
- package/dist/vendor/marketplace/zh/specialized/agentic-identity-trust.md +388 -0
- package/dist/vendor/marketplace/zh/specialized/agents-orchestrator.md +366 -0
- package/dist/vendor/marketplace/zh/specialized/automation-governance-architect.md +215 -0
- package/dist/vendor/marketplace/zh/specialized/blockchain-security-auditor.md +484 -0
- package/dist/vendor/marketplace/zh/specialized/compliance-auditor.md +172 -0
- package/dist/vendor/marketplace/zh/specialized/corporate-training-designer.md +191 -0
- package/dist/vendor/marketplace/zh/specialized/data-consolidation-agent.md +327 -0
- package/dist/vendor/marketplace/zh/specialized/gaokao-college-advisor.md +333 -0
- package/dist/vendor/marketplace/zh/specialized/government-digital-presales-consultant.md +362 -0
- package/dist/vendor/marketplace/zh/specialized/healthcare-customer-service.md +388 -0
- package/dist/vendor/marketplace/zh/specialized/healthcare-marketing-compliance.md +394 -0
- package/dist/vendor/marketplace/zh/specialized/hospitality-guest-services.md +597 -0
- package/dist/vendor/marketplace/zh/specialized/hr-onboarding.md +450 -0
- package/dist/vendor/marketplace/zh/specialized/identity-graph-operator.md +270 -0
- package/dist/vendor/marketplace/zh/specialized/language-translator.md +275 -0
- package/dist/vendor/marketplace/zh/specialized/legal-billing-time-tracking.md +566 -0
- package/dist/vendor/marketplace/zh/specialized/legal-client-intake.md +487 -0
- package/dist/vendor/marketplace/zh/specialized/legal-document-review.md +452 -0
- package/dist/vendor/marketplace/zh/specialized/livestock-archive-auditor.md +135 -0
- package/dist/vendor/marketplace/zh/specialized/loan-officer-assistant.md +549 -0
- package/dist/vendor/marketplace/zh/specialized/lsp-index-engineer.md +334 -0
- package/dist/vendor/marketplace/zh/specialized/prompt-engineer.md +176 -0
- package/dist/vendor/marketplace/zh/specialized/real-estate-buyer-seller.md +594 -0
- package/dist/vendor/marketplace/zh/specialized/recruitment-specialist.md +508 -0
- package/dist/vendor/marketplace/zh/specialized/report-distribution-agent.md +354 -0
- package/dist/vendor/marketplace/zh/specialized/retail-customer-returns.md +564 -0
- package/dist/vendor/marketplace/zh/specialized/sales-data-extraction-agent.md +159 -0
- package/dist/vendor/marketplace/zh/specialized/specialized-ai-policy-writer.md +217 -0
- package/dist/vendor/marketplace/zh/specialized/specialized-chief-of-staff.md +278 -0
- package/dist/vendor/marketplace/zh/specialized/specialized-civil-engineer.md +355 -0
- package/dist/vendor/marketplace/zh/specialized/specialized-cultural-intelligence-strategist.md +168 -0
- package/dist/vendor/marketplace/zh/specialized/specialized-developer-advocate.md +334 -0
- package/dist/vendor/marketplace/zh/specialized/specialized-document-generator.md +346 -0
- package/dist/vendor/marketplace/zh/specialized/specialized-french-consulting-market.md +191 -0
- package/dist/vendor/marketplace/zh/specialized/specialized-korean-business-navigator.md +215 -0
- package/dist/vendor/marketplace/zh/specialized/specialized-mcp-builder.md +351 -0
- package/dist/vendor/marketplace/zh/specialized/specialized-meeting-assistant.md +236 -0
- package/dist/vendor/marketplace/zh/specialized/specialized-model-qa.md +507 -0
- package/dist/vendor/marketplace/zh/specialized/specialized-pricing-optimizer.md +254 -0
- package/dist/vendor/marketplace/zh/specialized/specialized-risk-assessor.md +240 -0
- package/dist/vendor/marketplace/zh/specialized/specialized-salesforce-architect.md +179 -0
- package/dist/vendor/marketplace/zh/specialized/specialized-workflow-architect.md +596 -0
- package/dist/vendor/marketplace/zh/specialized/study-abroad-advisor.md +281 -0
- package/dist/vendor/marketplace/zh/specialized/technical-translator-agent.md +167 -0
- package/dist/vendor/marketplace/zh/specialized/zk-steward.md +228 -0
- package/dist/vendor/marketplace/zh/supply-chain/supply-chain-inventory-forecaster.md +212 -0
- package/dist/vendor/marketplace/zh/supply-chain/supply-chain-route-optimizer.md +224 -0
- package/dist/vendor/marketplace/zh/supply-chain/supply-chain-strategist.md +581 -0
- package/dist/vendor/marketplace/zh/supply-chain/supply-chain-vendor-evaluator.md +232 -0
- package/dist/vendor/marketplace/zh/support/support-analytics-reporter.md +364 -0
- package/dist/vendor/marketplace/zh/support/support-executive-summary-generator.md +217 -0
- package/dist/vendor/marketplace/zh/support/support-finance-tracker.md +447 -0
- package/dist/vendor/marketplace/zh/support/support-infrastructure-maintainer.md +623 -0
- package/dist/vendor/marketplace/zh/support/support-legal-compliance-checker.md +587 -0
- package/dist/vendor/marketplace/zh/support/support-recruitment-specialist.md +508 -0
- package/dist/vendor/marketplace/zh/support/support-support-responder.md +584 -0
- package/dist/vendor/marketplace/zh/testing/testing-accessibility-auditor.md +329 -0
- package/dist/vendor/marketplace/zh/testing/testing-api-tester.md +305 -0
- package/dist/vendor/marketplace/zh/testing/testing-embedded-qa-engineer.md +258 -0
- package/dist/vendor/marketplace/zh/testing/testing-evidence-collector.md +153 -0
- package/dist/vendor/marketplace/zh/testing/testing-performance-benchmarker.md +196 -0
- package/dist/vendor/marketplace/zh/testing/testing-reality-checker.md +235 -0
- package/dist/vendor/marketplace/zh/testing/testing-test-results-analyzer.md +313 -0
- package/dist/vendor/marketplace/zh/testing/testing-tool-evaluator.md +402 -0
- package/dist/vendor/marketplace/zh/testing/testing-workflow-optimizer.md +458 -0
- package/package.json +131 -0
- package/scripts/postinstall-native-artifacts.mjs +113 -0
- package/web/dist/assets/AddWorkerDialog-BU2Fn-Mx.js +2 -0
- package/web/dist/assets/AddWorkspaceFlow-BV04MkRt.js +1 -0
- package/web/dist/assets/FirstRunWizard-DS4IYOrd.js +1 -0
- package/web/dist/assets/MarketplaceDrawer-CIQ2B6Fx.js +76 -0
- package/web/dist/assets/TaskGraphDrawer-BPMcRocd.js +1 -0
- package/web/dist/assets/WhatsNewDialog-DEgVY_LD.js +1 -0
- package/web/dist/assets/WorkerModal-DiCcTPpc.js +1 -0
- package/web/dist/assets/WorkflowsDrawer-M2CgAJWK.js +1 -0
- package/web/dist/assets/WorkspaceMemoryDrawer-ClJIqWck.js +1 -0
- package/web/dist/assets/WorkspaceTaskDrawer-gjvXuZ2K.js +1 -0
- package/web/dist/assets/addon-clipboard-wHJhZAA4.js +1 -0
- package/web/dist/assets/addon-fit-DX4qG4td.js +1 -0
- package/web/dist/assets/addon-unicode11-Bt8F3D7-.js +7 -0
- package/web/dist/assets/addon-web-links-DIbG5aQx.js +1 -0
- package/web/dist/assets/addon-webgl-DCtw1yLn.js +64 -0
- package/web/dist/assets/finder-C4Jmsb0B.png +0 -0
- package/web/dist/assets/ghostty-D-Js4rdm.png +0 -0
- package/web/dist/assets/index-bOMtwrkA.js +73 -0
- package/web/dist/assets/index-i9YgsMdD.css +1 -0
- package/web/dist/assets/path-join-7MR1s7b1.js +1 -0
- package/web/dist/assets/search-CmzeVhy0.js +1 -0
- package/web/dist/assets/xterm-B-qIQCd3.js +16 -0
- package/web/dist/assets/zed-C5BQT8X3.png +0 -0
- package/web/dist/bilibili.ico +0 -0
- package/web/dist/cli-icons/claude.png +0 -0
- package/web/dist/cli-icons/codex.png +0 -0
- package/web/dist/cli-icons/gemini.png +0 -0
- package/web/dist/cli-icons/hermes.png +0 -0
- package/web/dist/cli-icons/opencode.svg +18 -0
- package/web/dist/icons/apple-touch-icon-180.png +0 -0
- package/web/dist/icons/icon-192.png +0 -0
- package/web/dist/icons/icon-32.png +0 -0
- package/web/dist/icons/icon-512-maskable.png +0 -0
- package/web/dist/icons/icon-512.png +0 -0
- package/web/dist/index.html +39 -0
- package/web/dist/logo.png +0 -0
- package/web/dist/manifest.webmanifest +60 -0
- package/web/dist/screenshots/wide-overview.png +0 -0
- package/web/dist/sounds/LICENSE-KENNEY.txt +22 -0
- package/web/dist/sounds/hive-beacon.ogg +0 -0
- package/web/dist/sounds/hive-cascade.ogg +0 -0
- package/web/dist/sounds/hive-chime.ogg +0 -0
- package/web/dist/sounds/hive-ping.ogg +0 -0
- package/web/dist/sounds/hive-resolve.ogg +0 -0
- package/web/dist/sounds/hive-soft.ogg +0 -0
- package/web/dist/sw.js +99 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/WorkspaceTaskDrawer-gjvXuZ2K.js","assets/TaskGraphDrawer-BPMcRocd.js","assets/path-join-7MR1s7b1.js","assets/AddWorkspaceFlow-BV04MkRt.js","assets/AddWorkerDialog-BU2Fn-Mx.js","assets/search-CmzeVhy0.js","assets/WorkspaceMemoryDrawer-ClJIqWck.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
function X2(t,a){for(var o=0;o<a.length;o++){const i=a[o];if(typeof i!="string"&&!Array.isArray(i)){for(const l in i)if(l!=="default"&&!(l in t)){const c=Object.getOwnPropertyDescriptor(i,l);c&&Object.defineProperty(t,l,c.get?c:{enumerable:!0,get:()=>i[l]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const a=document.createElement("link").relList;if(a&&a.supports&&a.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))i(l);new MutationObserver(l=>{for(const c of l)if(c.type==="childList")for(const d of c.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&i(d)}).observe(document,{childList:!0,subtree:!0});function o(l){const c={};return l.integrity&&(c.integrity=l.integrity),l.referrerPolicy&&(c.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?c.credentials="include":l.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function i(l){if(l.ep)return;l.ep=!0;const c=o(l);fetch(l.href,c)}})();function p0(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Cd={exports:{}},hs={};var jv;function Z2(){if(jv)return hs;jv=1;var t=Symbol.for("react.transitional.element"),a=Symbol.for("react.fragment");function o(i,l,c){var d=null;if(c!==void 0&&(d=""+c),l.key!==void 0&&(d=""+l.key),"key"in l){c={};for(var h in l)h!=="key"&&(c[h]=l[h])}else c=l;return l=c.ref,{$$typeof:t,type:i,key:d,ref:l!==void 0?l:null,props:c}}return hs.Fragment=a,hs.jsx=o,hs.jsxs=o,hs}var Ov;function Q2(){return Ov||(Ov=1,Cd.exports=Z2()),Cd.exports}var f=Q2(),Ad={exports:{}},Ae={};var Mv;function J2(){if(Mv)return Ae;Mv=1;var t=Symbol.for("react.transitional.element"),a=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),c=Symbol.for("react.consumer"),d=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),v=Symbol.for("react.activity"),x=Symbol.iterator;function C(j){return j===null||typeof j!="object"?null:(j=x&&j[x]||j["@@iterator"],typeof j=="function"?j:null)}var A={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},k=Object.assign,S={};function E(j,H,oe){this.props=j,this.context=H,this.refs=S,this.updater=oe||A}E.prototype.isReactComponent={},E.prototype.setState=function(j,H){if(typeof j!="object"&&typeof j!="function"&&j!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,j,H,"setState")},E.prototype.forceUpdate=function(j){this.updater.enqueueForceUpdate(this,j,"forceUpdate")};function T(){}T.prototype=E.prototype;function N(j,H,oe){this.props=j,this.context=H,this.refs=S,this.updater=oe||A}var R=N.prototype=new T;R.constructor=N,k(R,E.prototype),R.isPureReactComponent=!0;var M=Array.isArray;function D(){}var z={H:null,A:null,T:null,S:null},K=Object.prototype.hasOwnProperty;function P(j,H,oe){var ue=oe.ref;return{$$typeof:t,type:j,key:H,ref:ue!==void 0?ue:null,props:oe}}function ne(j,H){return P(j.type,H,j.props)}function ee(j){return typeof j=="object"&&j!==null&&j.$$typeof===t}function V(j){var H={"=":"=0",":":"=2"};return"$"+j.replace(/[=:]/g,function(oe){return H[oe]})}var Q=/\/+/g;function X(j,H){return typeof j=="object"&&j!==null&&j.key!=null?V(""+j.key):H.toString(36)}function $(j){switch(j.status){case"fulfilled":return j.value;case"rejected":throw j.reason;default:switch(typeof j.status=="string"?j.then(D,D):(j.status="pending",j.then(function(H){j.status==="pending"&&(j.status="fulfilled",j.value=H)},function(H){j.status==="pending"&&(j.status="rejected",j.reason=H)})),j.status){case"fulfilled":return j.value;case"rejected":throw j.reason}}throw j}function O(j,H,oe,ue,fe){var pe=typeof j;(pe==="undefined"||pe==="boolean")&&(j=null);var le=!1;if(j===null)le=!0;else switch(pe){case"bigint":case"string":case"number":le=!0;break;case"object":switch(j.$$typeof){case t:case a:le=!0;break;case y:return le=j._init,O(le(j._payload),H,oe,ue,fe)}}if(le)return fe=fe(j),le=ue===""?"."+X(j,0):ue,M(fe)?(oe="",le!=null&&(oe=le.replace(Q,"$&/")+"/"),O(fe,H,oe,"",function(de){return de})):fe!=null&&(ee(fe)&&(fe=ne(fe,oe+(fe.key==null||j&&j.key===fe.key?"":(""+fe.key).replace(Q,"$&/")+"/")+le)),H.push(fe)),1;le=0;var ie=ue===""?".":ue+":";if(M(j))for(var se=0;se<j.length;se++)ue=j[se],pe=ie+X(ue,se),le+=O(ue,H,oe,pe,fe);else if(se=C(j),typeof se=="function")for(j=se.call(j),se=0;!(ue=j.next()).done;)ue=ue.value,pe=ie+X(ue,se++),le+=O(ue,H,oe,pe,fe);else if(pe==="object"){if(typeof j.then=="function")return O($(j),H,oe,ue,fe);throw H=String(j),Error("Objects are not valid as a React child (found: "+(H==="[object Object]"?"object with keys {"+Object.keys(j).join(", ")+"}":H)+"). If you meant to render a collection of children, use an array instead.")}return le}function I(j,H,oe){if(j==null)return j;var ue=[],fe=0;return O(j,ue,"","",function(pe){return H.call(oe,pe,fe++)}),ue}function U(j){if(j._status===-1){var H=j._result;H=H(),H.then(function(oe){(j._status===0||j._status===-1)&&(j._status=1,j._result=oe)},function(oe){(j._status===0||j._status===-1)&&(j._status=2,j._result=oe)}),j._status===-1&&(j._status=0,j._result=H)}if(j._status===1)return j._result.default;throw j._result}var q=typeof reportError=="function"?reportError:function(j){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var H=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof j=="object"&&j!==null&&typeof j.message=="string"?String(j.message):String(j),error:j});if(!window.dispatchEvent(H))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",j);return}console.error(j)},Z={map:I,forEach:function(j,H,oe){I(j,function(){H.apply(this,arguments)},oe)},count:function(j){var H=0;return I(j,function(){H++}),H},toArray:function(j){return I(j,function(H){return H})||[]},only:function(j){if(!ee(j))throw Error("React.Children.only expected to receive a single React element child.");return j}};return Ae.Activity=v,Ae.Children=Z,Ae.Component=E,Ae.Fragment=o,Ae.Profiler=l,Ae.PureComponent=N,Ae.StrictMode=i,Ae.Suspense=g,Ae.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=z,Ae.__COMPILER_RUNTIME={__proto__:null,c:function(j){return z.H.useMemoCache(j)}},Ae.cache=function(j){return function(){return j.apply(null,arguments)}},Ae.cacheSignal=function(){return null},Ae.cloneElement=function(j,H,oe){if(j==null)throw Error("The argument must be a React element, but you passed "+j+".");var ue=k({},j.props),fe=j.key;if(H!=null)for(pe in H.key!==void 0&&(fe=""+H.key),H)!K.call(H,pe)||pe==="key"||pe==="__self"||pe==="__source"||pe==="ref"&&H.ref===void 0||(ue[pe]=H[pe]);var pe=arguments.length-2;if(pe===1)ue.children=oe;else if(1<pe){for(var le=Array(pe),ie=0;ie<pe;ie++)le[ie]=arguments[ie+2];ue.children=le}return P(j.type,fe,ue)},Ae.createContext=function(j){return j={$$typeof:d,_currentValue:j,_currentValue2:j,_threadCount:0,Provider:null,Consumer:null},j.Provider=j,j.Consumer={$$typeof:c,_context:j},j},Ae.createElement=function(j,H,oe){var ue,fe={},pe=null;if(H!=null)for(ue in H.key!==void 0&&(pe=""+H.key),H)K.call(H,ue)&&ue!=="key"&&ue!=="__self"&&ue!=="__source"&&(fe[ue]=H[ue]);var le=arguments.length-2;if(le===1)fe.children=oe;else if(1<le){for(var ie=Array(le),se=0;se<le;se++)ie[se]=arguments[se+2];fe.children=ie}if(j&&j.defaultProps)for(ue in le=j.defaultProps,le)fe[ue]===void 0&&(fe[ue]=le[ue]);return P(j,pe,fe)},Ae.createRef=function(){return{current:null}},Ae.forwardRef=function(j){return{$$typeof:h,render:j}},Ae.isValidElement=ee,Ae.lazy=function(j){return{$$typeof:y,_payload:{_status:-1,_result:j},_init:U}},Ae.memo=function(j,H){return{$$typeof:p,type:j,compare:H===void 0?null:H}},Ae.startTransition=function(j){var H=z.T,oe={};z.T=oe;try{var ue=j(),fe=z.S;fe!==null&&fe(oe,ue),typeof ue=="object"&&ue!==null&&typeof ue.then=="function"&&ue.then(D,q)}catch(pe){q(pe)}finally{H!==null&&oe.types!==null&&(H.types=oe.types),z.T=H}},Ae.unstable_useCacheRefresh=function(){return z.H.useCacheRefresh()},Ae.use=function(j){return z.H.use(j)},Ae.useActionState=function(j,H,oe){return z.H.useActionState(j,H,oe)},Ae.useCallback=function(j,H){return z.H.useCallback(j,H)},Ae.useContext=function(j){return z.H.useContext(j)},Ae.useDebugValue=function(){},Ae.useDeferredValue=function(j,H){return z.H.useDeferredValue(j,H)},Ae.useEffect=function(j,H){return z.H.useEffect(j,H)},Ae.useEffectEvent=function(j){return z.H.useEffectEvent(j)},Ae.useId=function(){return z.H.useId()},Ae.useImperativeHandle=function(j,H,oe){return z.H.useImperativeHandle(j,H,oe)},Ae.useInsertionEffect=function(j,H){return z.H.useInsertionEffect(j,H)},Ae.useLayoutEffect=function(j,H){return z.H.useLayoutEffect(j,H)},Ae.useMemo=function(j,H){return z.H.useMemo(j,H)},Ae.useOptimistic=function(j,H){return z.H.useOptimistic(j,H)},Ae.useReducer=function(j,H,oe){return z.H.useReducer(j,H,oe)},Ae.useRef=function(j){return z.H.useRef(j)},Ae.useState=function(j){return z.H.useState(j)},Ae.useSyncExternalStore=function(j,H,oe){return z.H.useSyncExternalStore(j,H,oe)},Ae.useTransition=function(){return z.H.useTransition()},Ae.version="19.2.5",Ae}var Dv;function Gf(){return Dv||(Dv=1,Ad.exports=J2()),Ad.exports}var b=Gf();const ek=p0(b),h0=X2({__proto__:null,default:ek},[b]);var _d={exports:{}},gs={},Nd={exports:{}},Rd={};var Lv;function tk(){return Lv||(Lv=1,(function(t){function a(O,I){var U=O.length;O.push(I);e:for(;0<U;){var q=U-1>>>1,Z=O[q];if(0<l(Z,I))O[q]=I,O[U]=Z,U=q;else break e}}function o(O){return O.length===0?null:O[0]}function i(O){if(O.length===0)return null;var I=O[0],U=O.pop();if(U!==I){O[0]=U;e:for(var q=0,Z=O.length,j=Z>>>1;q<j;){var H=2*(q+1)-1,oe=O[H],ue=H+1,fe=O[ue];if(0>l(oe,U))ue<Z&&0>l(fe,oe)?(O[q]=fe,O[ue]=U,q=ue):(O[q]=oe,O[H]=U,q=H);else if(ue<Z&&0>l(fe,U))O[q]=fe,O[ue]=U,q=ue;else break e}}return I}function l(O,I){var U=O.sortIndex-I.sortIndex;return U!==0?U:O.id-I.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var c=performance;t.unstable_now=function(){return c.now()}}else{var d=Date,h=d.now();t.unstable_now=function(){return d.now()-h}}var g=[],p=[],y=1,v=null,x=3,C=!1,A=!1,k=!1,S=!1,E=typeof setTimeout=="function"?setTimeout:null,T=typeof clearTimeout=="function"?clearTimeout:null,N=typeof setImmediate<"u"?setImmediate:null;function R(O){for(var I=o(p);I!==null;){if(I.callback===null)i(p);else if(I.startTime<=O)i(p),I.sortIndex=I.expirationTime,a(g,I);else break;I=o(p)}}function M(O){if(k=!1,R(O),!A)if(o(g)!==null)A=!0,D||(D=!0,V());else{var I=o(p);I!==null&&$(M,I.startTime-O)}}var D=!1,z=-1,K=5,P=-1;function ne(){return S?!0:!(t.unstable_now()-P<K)}function ee(){if(S=!1,D){var O=t.unstable_now();P=O;var I=!0;try{e:{A=!1,k&&(k=!1,T(z),z=-1),C=!0;var U=x;try{t:{for(R(O),v=o(g);v!==null&&!(v.expirationTime>O&&ne());){var q=v.callback;if(typeof q=="function"){v.callback=null,x=v.priorityLevel;var Z=q(v.expirationTime<=O);if(O=t.unstable_now(),typeof Z=="function"){v.callback=Z,R(O),I=!0;break t}v===o(g)&&i(g),R(O)}else i(g);v=o(g)}if(v!==null)I=!0;else{var j=o(p);j!==null&&$(M,j.startTime-O),I=!1}}break e}finally{v=null,x=U,C=!1}I=void 0}}finally{I?V():D=!1}}}var V;if(typeof N=="function")V=function(){N(ee)};else if(typeof MessageChannel<"u"){var Q=new MessageChannel,X=Q.port2;Q.port1.onmessage=ee,V=function(){X.postMessage(null)}}else V=function(){E(ee,0)};function $(O,I){z=E(function(){O(t.unstable_now())},I)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(O){O.callback=null},t.unstable_forceFrameRate=function(O){0>O||125<O?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):K=0<O?Math.floor(1e3/O):5},t.unstable_getCurrentPriorityLevel=function(){return x},t.unstable_next=function(O){switch(x){case 1:case 2:case 3:var I=3;break;default:I=x}var U=x;x=I;try{return O()}finally{x=U}},t.unstable_requestPaint=function(){S=!0},t.unstable_runWithPriority=function(O,I){switch(O){case 1:case 2:case 3:case 4:case 5:break;default:O=3}var U=x;x=O;try{return I()}finally{x=U}},t.unstable_scheduleCallback=function(O,I,U){var q=t.unstable_now();switch(typeof U=="object"&&U!==null?(U=U.delay,U=typeof U=="number"&&0<U?q+U:q):U=q,O){case 1:var Z=-1;break;case 2:Z=250;break;case 5:Z=1073741823;break;case 4:Z=1e4;break;default:Z=5e3}return Z=U+Z,O={id:y++,callback:I,priorityLevel:O,startTime:U,expirationTime:Z,sortIndex:-1},U>q?(O.sortIndex=U,a(p,O),o(g)===null&&O===o(p)&&(k?(T(z),z=-1):k=!0,$(M,U-q))):(O.sortIndex=Z,a(g,O),A||C||(A=!0,D||(D=!0,V()))),O},t.unstable_shouldYield=ne,t.unstable_wrapCallback=function(O){var I=x;return function(){var U=x;x=I;try{return O.apply(this,arguments)}finally{x=U}}}})(Rd)),Rd}var zv;function nk(){return zv||(zv=1,Nd.exports=tk()),Nd.exports}var jd={exports:{}},bt={};var Bv;function ak(){if(Bv)return bt;Bv=1;var t=Gf();function a(g){var p="https://react.dev/errors/"+g;if(1<arguments.length){p+="?args[]="+encodeURIComponent(arguments[1]);for(var y=2;y<arguments.length;y++)p+="&args[]="+encodeURIComponent(arguments[y])}return"Minified React error #"+g+"; visit "+p+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function o(){}var i={d:{f:o,r:function(){throw Error(a(522))},D:o,C:o,L:o,m:o,X:o,S:o,M:o},p:0,findDOMNode:null},l=Symbol.for("react.portal");function c(g,p,y){var v=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:l,key:v==null?null:""+v,children:g,containerInfo:p,implementation:y}}var d=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function h(g,p){if(g==="font")return"";if(typeof p=="string")return p==="use-credentials"?p:""}return bt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,bt.createPortal=function(g,p){var y=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!p||p.nodeType!==1&&p.nodeType!==9&&p.nodeType!==11)throw Error(a(299));return c(g,p,null,y)},bt.flushSync=function(g){var p=d.T,y=i.p;try{if(d.T=null,i.p=2,g)return g()}finally{d.T=p,i.p=y,i.d.f()}},bt.preconnect=function(g,p){typeof g=="string"&&(p?(p=p.crossOrigin,p=typeof p=="string"?p==="use-credentials"?p:"":void 0):p=null,i.d.C(g,p))},bt.prefetchDNS=function(g){typeof g=="string"&&i.d.D(g)},bt.preinit=function(g,p){if(typeof g=="string"&&p&&typeof p.as=="string"){var y=p.as,v=h(y,p.crossOrigin),x=typeof p.integrity=="string"?p.integrity:void 0,C=typeof p.fetchPriority=="string"?p.fetchPriority:void 0;y==="style"?i.d.S(g,typeof p.precedence=="string"?p.precedence:void 0,{crossOrigin:v,integrity:x,fetchPriority:C}):y==="script"&&i.d.X(g,{crossOrigin:v,integrity:x,fetchPriority:C,nonce:typeof p.nonce=="string"?p.nonce:void 0})}},bt.preinitModule=function(g,p){if(typeof g=="string")if(typeof p=="object"&&p!==null){if(p.as==null||p.as==="script"){var y=h(p.as,p.crossOrigin);i.d.M(g,{crossOrigin:y,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0})}}else p==null&&i.d.M(g)},bt.preload=function(g,p){if(typeof g=="string"&&typeof p=="object"&&p!==null&&typeof p.as=="string"){var y=p.as,v=h(y,p.crossOrigin);i.d.L(g,y,{crossOrigin:v,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0,type:typeof p.type=="string"?p.type:void 0,fetchPriority:typeof p.fetchPriority=="string"?p.fetchPriority:void 0,referrerPolicy:typeof p.referrerPolicy=="string"?p.referrerPolicy:void 0,imageSrcSet:typeof p.imageSrcSet=="string"?p.imageSrcSet:void 0,imageSizes:typeof p.imageSizes=="string"?p.imageSizes:void 0,media:typeof p.media=="string"?p.media:void 0})}},bt.preloadModule=function(g,p){if(typeof g=="string")if(p){var y=h(p.as,p.crossOrigin);i.d.m(g,{as:typeof p.as=="string"&&p.as!=="script"?p.as:void 0,crossOrigin:y,integrity:typeof p.integrity=="string"?p.integrity:void 0})}else i.d.m(g)},bt.requestFormReset=function(g){i.d.r(g)},bt.unstable_batchedUpdates=function(g,p){return g(p)},bt.useFormState=function(g,p,y){return d.H.useFormState(g,p,y)},bt.useFormStatus=function(){return d.H.useHostTransitionStatus()},bt.version="19.2.5",bt}var Hv;function g0(){if(Hv)return jd.exports;Hv=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(a){console.error(a)}}return t(),jd.exports=ak(),jd.exports}var Uv;function rk(){if(Uv)return gs;Uv=1;var t=nk(),a=Gf(),o=g0();function i(e){var n="https://react.dev/errors/"+e;if(1<arguments.length){n+="?args[]="+encodeURIComponent(arguments[1]);for(var r=2;r<arguments.length;r++)n+="&args[]="+encodeURIComponent(arguments[r])}return"Minified React error #"+e+"; visit "+n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function l(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function c(e){var n=e,r=e;if(e.alternate)for(;n.return;)n=n.return;else{e=n;do n=e,(n.flags&4098)!==0&&(r=n.return),e=n.return;while(e)}return n.tag===3?r:null}function d(e){if(e.tag===13){var n=e.memoizedState;if(n===null&&(e=e.alternate,e!==null&&(n=e.memoizedState)),n!==null)return n.dehydrated}return null}function h(e){if(e.tag===31){var n=e.memoizedState;if(n===null&&(e=e.alternate,e!==null&&(n=e.memoizedState)),n!==null)return n.dehydrated}return null}function g(e){if(c(e)!==e)throw Error(i(188))}function p(e){var n=e.alternate;if(!n){if(n=c(e),n===null)throw Error(i(188));return n!==e?null:e}for(var r=e,s=n;;){var u=r.return;if(u===null)break;var m=u.alternate;if(m===null){if(s=u.return,s!==null){r=s;continue}break}if(u.child===m.child){for(m=u.child;m;){if(m===r)return g(u),e;if(m===s)return g(u),n;m=m.sibling}throw Error(i(188))}if(r.return!==s.return)r=u,s=m;else{for(var w=!1,_=u.child;_;){if(_===r){w=!0,r=u,s=m;break}if(_===s){w=!0,s=u,r=m;break}_=_.sibling}if(!w){for(_=m.child;_;){if(_===r){w=!0,r=m,s=u;break}if(_===s){w=!0,s=m,r=u;break}_=_.sibling}if(!w)throw Error(i(189))}}if(r.alternate!==s)throw Error(i(190))}if(r.tag!==3)throw Error(i(188));return r.stateNode.current===r?e:n}function y(e){var n=e.tag;if(n===5||n===26||n===27||n===6)return e;for(e=e.child;e!==null;){if(n=y(e),n!==null)return n;e=e.sibling}return null}var v=Object.assign,x=Symbol.for("react.element"),C=Symbol.for("react.transitional.element"),A=Symbol.for("react.portal"),k=Symbol.for("react.fragment"),S=Symbol.for("react.strict_mode"),E=Symbol.for("react.profiler"),T=Symbol.for("react.consumer"),N=Symbol.for("react.context"),R=Symbol.for("react.forward_ref"),M=Symbol.for("react.suspense"),D=Symbol.for("react.suspense_list"),z=Symbol.for("react.memo"),K=Symbol.for("react.lazy"),P=Symbol.for("react.activity"),ne=Symbol.for("react.memo_cache_sentinel"),ee=Symbol.iterator;function V(e){return e===null||typeof e!="object"?null:(e=ee&&e[ee]||e["@@iterator"],typeof e=="function"?e:null)}var Q=Symbol.for("react.client.reference");function X(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===Q?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case k:return"Fragment";case E:return"Profiler";case S:return"StrictMode";case M:return"Suspense";case D:return"SuspenseList";case P:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case A:return"Portal";case N:return e.displayName||"Context";case T:return(e._context.displayName||"Context")+".Consumer";case R:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case z:return n=e.displayName||null,n!==null?n:X(e.type)||"Memo";case K:n=e._payload,e=e._init;try{return X(e(n))}catch{}}return null}var $=Array.isArray,O=a.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,I=o.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,U={pending:!1,data:null,method:null,action:null},q=[],Z=-1;function j(e){return{current:e}}function H(e){0>Z||(e.current=q[Z],q[Z]=null,Z--)}function oe(e,n){Z++,q[Z]=e.current,e.current=n}var ue=j(null),fe=j(null),pe=j(null),le=j(null);function ie(e,n){switch(oe(pe,n),oe(fe,e),oe(ue,null),n.nodeType){case 9:case 11:e=(e=n.documentElement)&&(e=e.namespaceURI)?ev(e):0;break;default:if(e=n.tagName,n=n.namespaceURI)n=ev(n),e=tv(n,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}H(ue),oe(ue,e)}function se(){H(ue),H(fe),H(pe)}function de(e){e.memoizedState!==null&&oe(le,e);var n=ue.current,r=tv(n,e.type);n!==r&&(oe(fe,e),oe(ue,r))}function me(e){fe.current===e&&(H(ue),H(fe)),le.current===e&&(H(le),ds._currentValue=U)}var Te,Ee;function xe(e){if(Te===void 0)try{throw Error()}catch(r){var n=r.stack.trim().match(/\n( *(at )?)/);Te=n&&n[1]||"",Ee=-1<r.stack.indexOf(`
|
|
3
|
+
at`)?" (<anonymous>)":-1<r.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
4
|
+
`+Te+e+Ee}var Ze=!1;function St(e,n){if(!e||Ze)return"";Ze=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var s={DetermineComponentFrameRoot:function(){try{if(n){var re=function(){throw Error()};if(Object.defineProperty(re.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(re,[])}catch(J){var G=J}Reflect.construct(e,[],re)}else{try{re.call()}catch(J){G=J}e.call(re.prototype)}}else{try{throw Error()}catch(J){G=J}(re=e())&&typeof re.catch=="function"&&re.catch(function(){})}}catch(J){if(J&&G&&typeof J.stack=="string")return[J.stack,G.stack]}return[null,null]}};s.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var u=Object.getOwnPropertyDescriptor(s.DetermineComponentFrameRoot,"name");u&&u.configurable&&Object.defineProperty(s.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var m=s.DetermineComponentFrameRoot(),w=m[0],_=m[1];if(w&&_){var L=w.split(`
|
|
5
|
+
`),F=_.split(`
|
|
6
|
+
`);for(u=s=0;s<L.length&&!L[s].includes("DetermineComponentFrameRoot");)s++;for(;u<F.length&&!F[u].includes("DetermineComponentFrameRoot");)u++;if(s===L.length||u===F.length)for(s=L.length-1,u=F.length-1;1<=s&&0<=u&&L[s]!==F[u];)u--;for(;1<=s&&0<=u;s--,u--)if(L[s]!==F[u]){if(s!==1||u!==1)do if(s--,u--,0>u||L[s]!==F[u]){var te=`
|
|
7
|
+
`+L[s].replace(" at new "," at ");return e.displayName&&te.includes("<anonymous>")&&(te=te.replace("<anonymous>",e.displayName)),te}while(1<=s&&0<=u);break}}}finally{Ze=!1,Error.prepareStackTrace=r}return(r=e?e.displayName||e.name:"")?xe(r):""}function Qt(e,n){switch(e.tag){case 26:case 27:case 5:return xe(e.type);case 16:return xe("Lazy");case 13:return e.child!==n&&n!==null?xe("Suspense Fallback"):xe("Suspense");case 19:return xe("SuspenseList");case 0:case 15:return St(e.type,!1);case 11:return St(e.type.render,!1);case 1:return St(e.type,!0);case 31:return xe("Activity");default:return""}}function oa(e){try{var n="",r=null;do n+=Qt(e,r),r=e,e=e.return;while(e);return n}catch(s){return`
|
|
8
|
+
Error generating stack: `+s.message+`
|
|
9
|
+
`+s.stack}}var dn=Object.prototype.hasOwnProperty,Me=t.unstable_scheduleCallback,Qe=t.unstable_cancelCallback,ce=t.unstable_shouldYield,ve=t.unstable_requestPaint,De=t.unstable_now,gr=t.unstable_getCurrentPriorityLevel,Om=t.unstable_ImmediatePriority,Mm=t.unstable_UserBlockingPriority,Xs=t.unstable_NormalPriority,jx=t.unstable_LowPriority,Dm=t.unstable_IdlePriority,Ox=t.log,Mx=t.unstable_setDisableYieldValue,So=null,Ut=null;function sa(e){if(typeof Ox=="function"&&Mx(e),Ut&&typeof Ut.setStrictMode=="function")try{Ut.setStrictMode(So,e)}catch{}}var Wt=Math.clz32?Math.clz32:zx,Dx=Math.log,Lx=Math.LN2;function zx(e){return e>>>=0,e===0?32:31-(Dx(e)/Lx|0)|0}var Zs=256,Qs=262144,Js=4194304;function Ia(e){var n=e&42;if(n!==0)return n;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ei(e,n,r){var s=e.pendingLanes;if(s===0)return 0;var u=0,m=e.suspendedLanes,w=e.pingedLanes;e=e.warmLanes;var _=s&134217727;return _!==0?(s=_&~m,s!==0?u=Ia(s):(w&=_,w!==0?u=Ia(w):r||(r=_&~e,r!==0&&(u=Ia(r))))):(_=s&~m,_!==0?u=Ia(_):w!==0?u=Ia(w):r||(r=s&~e,r!==0&&(u=Ia(r)))),u===0?0:n!==0&&n!==u&&(n&m)===0&&(m=u&-u,r=n&-n,m>=r||m===32&&(r&4194048)!==0)?n:u}function Eo(e,n){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&n)===0}function Bx(e,n){switch(e){case 1:case 2:case 4:case 8:case 64:return n+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Lm(){var e=Js;return Js<<=1,(Js&62914560)===0&&(Js=4194304),e}function pc(e){for(var n=[],r=0;31>r;r++)n.push(e);return n}function To(e,n){e.pendingLanes|=n,n!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Hx(e,n,r,s,u,m){var w=e.pendingLanes;e.pendingLanes=r,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=r,e.entangledLanes&=r,e.errorRecoveryDisabledLanes&=r,e.shellSuspendCounter=0;var _=e.entanglements,L=e.expirationTimes,F=e.hiddenUpdates;for(r=w&~r;0<r;){var te=31-Wt(r),re=1<<te;_[te]=0,L[te]=-1;var G=F[te];if(G!==null)for(F[te]=null,te=0;te<G.length;te++){var J=G[te];J!==null&&(J.lane&=-536870913)}r&=~re}s!==0&&zm(e,s,0),m!==0&&u===0&&e.tag!==0&&(e.suspendedLanes|=m&~(w&~n))}function zm(e,n,r){e.pendingLanes|=n,e.suspendedLanes&=~n;var s=31-Wt(n);e.entangledLanes|=n,e.entanglements[s]=e.entanglements[s]|1073741824|r&261930}function Bm(e,n){var r=e.entangledLanes|=n;for(e=e.entanglements;r;){var s=31-Wt(r),u=1<<s;u&n|e[s]&n&&(e[s]|=n),r&=~u}}function Hm(e,n){var r=n&-n;return r=(r&42)!==0?1:hc(r),(r&(e.suspendedLanes|n))!==0?0:r}function hc(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function gc(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Um(){var e=I.p;return e!==0?e:(e=window.event,e===void 0?32:Ev(e.type))}function Wm(e,n){var r=I.p;try{return I.p=e,n()}finally{I.p=r}}var ia=Math.random().toString(36).slice(2),ft="__reactFiber$"+ia,Ct="__reactProps$"+ia,vr="__reactContainer$"+ia,vc="__reactEvents$"+ia,Ux="__reactListeners$"+ia,Wx="__reactHandles$"+ia,qm="__reactResources$"+ia,Co="__reactMarker$"+ia;function yc(e){delete e[ft],delete e[Ct],delete e[vc],delete e[Ux],delete e[Wx]}function yr(e){var n=e[ft];if(n)return n;for(var r=e.parentNode;r;){if(n=r[vr]||r[ft]){if(r=n.alternate,n.child!==null||r!==null&&r.child!==null)for(e=lv(e);e!==null;){if(r=e[ft])return r;e=lv(e)}return n}e=r,r=e.parentNode}return null}function br(e){if(e=e[ft]||e[vr]){var n=e.tag;if(n===5||n===6||n===13||n===31||n===26||n===27||n===3)return e}return null}function Ao(e){var n=e.tag;if(n===5||n===26||n===27||n===6)return e.stateNode;throw Error(i(33))}function wr(e){var n=e[qm];return n||(n=e[qm]={hoistableStyles:new Map,hoistableScripts:new Map}),n}function ut(e){e[Co]=!0}var Im=new Set,Pm={};function Pa(e,n){xr(e,n),xr(e+"Capture",n)}function xr(e,n){for(Pm[e]=n,e=0;e<n.length;e++)Im.add(n[e])}var qx=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Ym={},Km={};function Ix(e){return dn.call(Km,e)?!0:dn.call(Ym,e)?!1:qx.test(e)?Km[e]=!0:(Ym[e]=!0,!1)}function ti(e,n,r){if(Ix(n))if(r===null)e.removeAttribute(n);else{switch(typeof r){case"undefined":case"function":case"symbol":e.removeAttribute(n);return;case"boolean":var s=n.toLowerCase().slice(0,5);if(s!=="data-"&&s!=="aria-"){e.removeAttribute(n);return}}e.setAttribute(n,""+r)}}function ni(e,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttribute(n,""+r)}}function Dn(e,n,r,s){if(s===null)e.removeAttribute(r);else{switch(typeof s){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(r);return}e.setAttributeNS(n,r,""+s)}}function Jt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Fm(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Px(e,n,r){var s=Object.getOwnPropertyDescriptor(e.constructor.prototype,n);if(!e.hasOwnProperty(n)&&typeof s<"u"&&typeof s.get=="function"&&typeof s.set=="function"){var u=s.get,m=s.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return u.call(this)},set:function(w){r=""+w,m.call(this,w)}}),Object.defineProperty(e,n,{enumerable:s.enumerable}),{getValue:function(){return r},setValue:function(w){r=""+w},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function bc(e){if(!e._valueTracker){var n=Fm(e)?"checked":"value";e._valueTracker=Px(e,n,""+e[n])}}function Vm(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var r=n.getValue(),s="";return e&&(s=Fm(e)?e.checked?"true":"false":e.value),e=s,e!==r?(n.setValue(e),!0):!1}function ai(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Yx=/[\n"\\]/g;function en(e){return e.replace(Yx,function(n){return"\\"+n.charCodeAt(0).toString(16)+" "})}function wc(e,n,r,s,u,m,w,_){e.name="",w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"?e.type=w:e.removeAttribute("type"),n!=null?w==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+Jt(n)):e.value!==""+Jt(n)&&(e.value=""+Jt(n)):w!=="submit"&&w!=="reset"||e.removeAttribute("value"),n!=null?xc(e,w,Jt(n)):r!=null?xc(e,w,Jt(r)):s!=null&&e.removeAttribute("value"),u==null&&m!=null&&(e.defaultChecked=!!m),u!=null&&(e.checked=u&&typeof u!="function"&&typeof u!="symbol"),_!=null&&typeof _!="function"&&typeof _!="symbol"&&typeof _!="boolean"?e.name=""+Jt(_):e.removeAttribute("name")}function Gm(e,n,r,s,u,m,w,_){if(m!=null&&typeof m!="function"&&typeof m!="symbol"&&typeof m!="boolean"&&(e.type=m),n!=null||r!=null){if(!(m!=="submit"&&m!=="reset"||n!=null)){bc(e);return}r=r!=null?""+Jt(r):"",n=n!=null?""+Jt(n):r,_||n===e.value||(e.value=n),e.defaultValue=n}s=s??u,s=typeof s!="function"&&typeof s!="symbol"&&!!s,e.checked=_?e.checked:!!s,e.defaultChecked=!!s,w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"&&(e.name=w),bc(e)}function xc(e,n,r){n==="number"&&ai(e.ownerDocument)===e||e.defaultValue===""+r||(e.defaultValue=""+r)}function kr(e,n,r,s){if(e=e.options,n){n={};for(var u=0;u<r.length;u++)n["$"+r[u]]=!0;for(r=0;r<e.length;r++)u=n.hasOwnProperty("$"+e[r].value),e[r].selected!==u&&(e[r].selected=u),u&&s&&(e[r].defaultSelected=!0)}else{for(r=""+Jt(r),n=null,u=0;u<e.length;u++){if(e[u].value===r){e[u].selected=!0,s&&(e[u].defaultSelected=!0);return}n!==null||e[u].disabled||(n=e[u])}n!==null&&(n.selected=!0)}}function $m(e,n,r){if(n!=null&&(n=""+Jt(n),n!==e.value&&(e.value=n),r==null)){e.defaultValue!==n&&(e.defaultValue=n);return}e.defaultValue=r!=null?""+Jt(r):""}function Xm(e,n,r,s){if(n==null){if(s!=null){if(r!=null)throw Error(i(92));if($(s)){if(1<s.length)throw Error(i(93));s=s[0]}r=s}r==null&&(r=""),n=r}r=Jt(n),e.defaultValue=r,s=e.textContent,s===r&&s!==""&&s!==null&&(e.value=s),bc(e)}function Sr(e,n){if(n){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=n;return}}e.textContent=n}var Kx=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Zm(e,n,r){var s=n.indexOf("--")===0;r==null||typeof r=="boolean"||r===""?s?e.setProperty(n,""):n==="float"?e.cssFloat="":e[n]="":s?e.setProperty(n,r):typeof r!="number"||r===0||Kx.has(n)?n==="float"?e.cssFloat=r:e[n]=(""+r).trim():e[n]=r+"px"}function Qm(e,n,r){if(n!=null&&typeof n!="object")throw Error(i(62));if(e=e.style,r!=null){for(var s in r)!r.hasOwnProperty(s)||n!=null&&n.hasOwnProperty(s)||(s.indexOf("--")===0?e.setProperty(s,""):s==="float"?e.cssFloat="":e[s]="");for(var u in n)s=n[u],n.hasOwnProperty(u)&&r[u]!==s&&Zm(e,u,s)}else for(var m in n)n.hasOwnProperty(m)&&Zm(e,m,n[m])}function kc(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Fx=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Vx=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function ri(e){return Vx.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function Ln(){}var Sc=null;function Ec(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Er=null,Tr=null;function Jm(e){var n=br(e);if(n&&(e=n.stateNode)){var r=e[Ct]||null;e:switch(e=n.stateNode,n.type){case"input":if(wc(e,r.value,r.defaultValue,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name),n=r.name,r.type==="radio"&&n!=null){for(r=e;r.parentNode;)r=r.parentNode;for(r=r.querySelectorAll('input[name="'+en(""+n)+'"][type="radio"]'),n=0;n<r.length;n++){var s=r[n];if(s!==e&&s.form===e.form){var u=s[Ct]||null;if(!u)throw Error(i(90));wc(s,u.value,u.defaultValue,u.defaultValue,u.checked,u.defaultChecked,u.type,u.name)}}for(n=0;n<r.length;n++)s=r[n],s.form===e.form&&Vm(s)}break e;case"textarea":$m(e,r.value,r.defaultValue);break e;case"select":n=r.value,n!=null&&kr(e,!!r.multiple,n,!1)}}}var Tc=!1;function ep(e,n,r){if(Tc)return e(n,r);Tc=!0;try{var s=e(n);return s}finally{if(Tc=!1,(Er!==null||Tr!==null)&&(Ki(),Er&&(n=Er,e=Tr,Tr=Er=null,Jm(n),e)))for(n=0;n<e.length;n++)Jm(e[n])}}function _o(e,n){var r=e.stateNode;if(r===null)return null;var s=r[Ct]||null;if(s===null)return null;r=s[n];e:switch(n){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(s=!s.disabled)||(e=e.type,s=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!s;break e;default:e=!1}if(e)return null;if(r&&typeof r!="function")throw Error(i(231,n,typeof r));return r}var zn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Cc=!1;if(zn)try{var No={};Object.defineProperty(No,"passive",{get:function(){Cc=!0}}),window.addEventListener("test",No,No),window.removeEventListener("test",No,No)}catch{Cc=!1}var la=null,Ac=null,oi=null;function tp(){if(oi)return oi;var e,n=Ac,r=n.length,s,u="value"in la?la.value:la.textContent,m=u.length;for(e=0;e<r&&n[e]===u[e];e++);var w=r-e;for(s=1;s<=w&&n[r-s]===u[m-s];s++);return oi=u.slice(e,1<s?1-s:void 0)}function si(e){var n=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&n===13&&(e=13)):e=n,e===10&&(e=13),32<=e||e===13?e:0}function ii(){return!0}function np(){return!1}function At(e){function n(r,s,u,m,w){this._reactName=r,this._targetInst=u,this.type=s,this.nativeEvent=m,this.target=w,this.currentTarget=null;for(var _ in e)e.hasOwnProperty(_)&&(r=e[_],this[_]=r?r(m):m[_]);return this.isDefaultPrevented=(m.defaultPrevented!=null?m.defaultPrevented:m.returnValue===!1)?ii:np,this.isPropagationStopped=np,this}return v(n.prototype,{preventDefault:function(){this.defaultPrevented=!0;var r=this.nativeEvent;r&&(r.preventDefault?r.preventDefault():typeof r.returnValue!="unknown"&&(r.returnValue=!1),this.isDefaultPrevented=ii)},stopPropagation:function(){var r=this.nativeEvent;r&&(r.stopPropagation?r.stopPropagation():typeof r.cancelBubble!="unknown"&&(r.cancelBubble=!0),this.isPropagationStopped=ii)},persist:function(){},isPersistent:ii}),n}var Ya={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},li=At(Ya),Ro=v({},Ya,{view:0,detail:0}),Gx=At(Ro),_c,Nc,jo,ci=v({},Ro,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:jc,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==jo&&(jo&&e.type==="mousemove"?(_c=e.screenX-jo.screenX,Nc=e.screenY-jo.screenY):Nc=_c=0,jo=e),_c)},movementY:function(e){return"movementY"in e?e.movementY:Nc}}),ap=At(ci),$x=v({},ci,{dataTransfer:0}),Xx=At($x),Zx=v({},Ro,{relatedTarget:0}),Rc=At(Zx),Qx=v({},Ya,{animationName:0,elapsedTime:0,pseudoElement:0}),Jx=At(Qx),e1=v({},Ya,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),t1=At(e1),n1=v({},Ya,{data:0}),rp=At(n1),a1={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},r1={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},o1={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function s1(e){var n=this.nativeEvent;return n.getModifierState?n.getModifierState(e):(e=o1[e])?!!n[e]:!1}function jc(){return s1}var i1=v({},Ro,{key:function(e){if(e.key){var n=a1[e.key]||e.key;if(n!=="Unidentified")return n}return e.type==="keypress"?(e=si(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?r1[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:jc,charCode:function(e){return e.type==="keypress"?si(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?si(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),l1=At(i1),c1=v({},ci,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),op=At(c1),u1=v({},Ro,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:jc}),d1=At(u1),f1=v({},Ya,{propertyName:0,elapsedTime:0,pseudoElement:0}),m1=At(f1),p1=v({},ci,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),h1=At(p1),g1=v({},Ya,{newState:0,oldState:0}),v1=At(g1),y1=[9,13,27,32],Oc=zn&&"CompositionEvent"in window,Oo=null;zn&&"documentMode"in document&&(Oo=document.documentMode);var b1=zn&&"TextEvent"in window&&!Oo,sp=zn&&(!Oc||Oo&&8<Oo&&11>=Oo),ip=" ",lp=!1;function cp(e,n){switch(e){case"keyup":return y1.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function up(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Cr=!1;function w1(e,n){switch(e){case"compositionend":return up(n);case"keypress":return n.which!==32?null:(lp=!0,ip);case"textInput":return e=n.data,e===ip&&lp?null:e;default:return null}}function x1(e,n){if(Cr)return e==="compositionend"||!Oc&&cp(e,n)?(e=tp(),oi=Ac=la=null,Cr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1<n.char.length)return n.char;if(n.which)return String.fromCharCode(n.which)}return null;case"compositionend":return sp&&n.locale!=="ko"?null:n.data;default:return null}}var k1={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function dp(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n==="input"?!!k1[e.type]:n==="textarea"}function fp(e,n,r,s){Er?Tr?Tr.push(s):Tr=[s]:Er=s,n=Qi(n,"onChange"),0<n.length&&(r=new li("onChange","change",null,r,s),e.push({event:r,listeners:n}))}var Mo=null,Do=null;function S1(e){Gg(e,0)}function ui(e){var n=Ao(e);if(Vm(n))return e}function mp(e,n){if(e==="change")return n}var pp=!1;if(zn){var Mc;if(zn){var Dc="oninput"in document;if(!Dc){var hp=document.createElement("div");hp.setAttribute("oninput","return;"),Dc=typeof hp.oninput=="function"}Mc=Dc}else Mc=!1;pp=Mc&&(!document.documentMode||9<document.documentMode)}function gp(){Mo&&(Mo.detachEvent("onpropertychange",vp),Do=Mo=null)}function vp(e){if(e.propertyName==="value"&&ui(Do)){var n=[];fp(n,Do,e,Ec(e)),ep(S1,n)}}function E1(e,n,r){e==="focusin"?(gp(),Mo=n,Do=r,Mo.attachEvent("onpropertychange",vp)):e==="focusout"&&gp()}function T1(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return ui(Do)}function C1(e,n){if(e==="click")return ui(n)}function A1(e,n){if(e==="input"||e==="change")return ui(n)}function _1(e,n){return e===n&&(e!==0||1/e===1/n)||e!==e&&n!==n}var qt=typeof Object.is=="function"?Object.is:_1;function Lo(e,n){if(qt(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;var r=Object.keys(e),s=Object.keys(n);if(r.length!==s.length)return!1;for(s=0;s<r.length;s++){var u=r[s];if(!dn.call(n,u)||!qt(e[u],n[u]))return!1}return!0}function yp(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function bp(e,n){var r=yp(e);e=0;for(var s;r;){if(r.nodeType===3){if(s=e+r.textContent.length,e<=n&&s>=n)return{node:r,offset:n-e};e=s}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=yp(r)}}function wp(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?wp(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function xp(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var n=ai(e.document);n instanceof e.HTMLIFrameElement;){try{var r=typeof n.contentWindow.location.href=="string"}catch{r=!1}if(r)e=n.contentWindow;else break;n=ai(e.document)}return n}function Lc(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}var N1=zn&&"documentMode"in document&&11>=document.documentMode,Ar=null,zc=null,zo=null,Bc=!1;function kp(e,n,r){var s=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;Bc||Ar==null||Ar!==ai(s)||(s=Ar,"selectionStart"in s&&Lc(s)?s={start:s.selectionStart,end:s.selectionEnd}:(s=(s.ownerDocument&&s.ownerDocument.defaultView||window).getSelection(),s={anchorNode:s.anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset}),zo&&Lo(zo,s)||(zo=s,s=Qi(zc,"onSelect"),0<s.length&&(n=new li("onSelect","select",null,n,r),e.push({event:n,listeners:s}),n.target=Ar)))}function Ka(e,n){var r={};return r[e.toLowerCase()]=n.toLowerCase(),r["Webkit"+e]="webkit"+n,r["Moz"+e]="moz"+n,r}var _r={animationend:Ka("Animation","AnimationEnd"),animationiteration:Ka("Animation","AnimationIteration"),animationstart:Ka("Animation","AnimationStart"),transitionrun:Ka("Transition","TransitionRun"),transitionstart:Ka("Transition","TransitionStart"),transitioncancel:Ka("Transition","TransitionCancel"),transitionend:Ka("Transition","TransitionEnd")},Hc={},Sp={};zn&&(Sp=document.createElement("div").style,"AnimationEvent"in window||(delete _r.animationend.animation,delete _r.animationiteration.animation,delete _r.animationstart.animation),"TransitionEvent"in window||delete _r.transitionend.transition);function Fa(e){if(Hc[e])return Hc[e];if(!_r[e])return e;var n=_r[e],r;for(r in n)if(n.hasOwnProperty(r)&&r in Sp)return Hc[e]=n[r];return e}var Ep=Fa("animationend"),Tp=Fa("animationiteration"),Cp=Fa("animationstart"),R1=Fa("transitionrun"),j1=Fa("transitionstart"),O1=Fa("transitioncancel"),Ap=Fa("transitionend"),_p=new Map,Uc="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Uc.push("scrollEnd");function fn(e,n){_p.set(e,n),Pa(n,[e])}var di=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var n=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(n))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},tn=[],Nr=0,Wc=0;function fi(){for(var e=Nr,n=Wc=Nr=0;n<e;){var r=tn[n];tn[n++]=null;var s=tn[n];tn[n++]=null;var u=tn[n];tn[n++]=null;var m=tn[n];if(tn[n++]=null,s!==null&&u!==null){var w=s.pending;w===null?u.next=u:(u.next=w.next,w.next=u),s.pending=u}m!==0&&Np(r,u,m)}}function mi(e,n,r,s){tn[Nr++]=e,tn[Nr++]=n,tn[Nr++]=r,tn[Nr++]=s,Wc|=s,e.lanes|=s,e=e.alternate,e!==null&&(e.lanes|=s)}function qc(e,n,r,s){return mi(e,n,r,s),pi(e)}function Va(e,n){return mi(e,null,null,n),pi(e)}function Np(e,n,r){e.lanes|=r;var s=e.alternate;s!==null&&(s.lanes|=r);for(var u=!1,m=e.return;m!==null;)m.childLanes|=r,s=m.alternate,s!==null&&(s.childLanes|=r),m.tag===22&&(e=m.stateNode,e===null||e._visibility&1||(u=!0)),e=m,m=m.return;return e.tag===3?(m=e.stateNode,u&&n!==null&&(u=31-Wt(r),e=m.hiddenUpdates,s=e[u],s===null?e[u]=[n]:s.push(n),n.lane=r|536870912),m):null}function pi(e){if(50<rs)throw rs=0,Xu=null,Error(i(185));for(var n=e.return;n!==null;)e=n,n=e.return;return e.tag===3?e.stateNode:null}var Rr={};function M1(e,n,r,s){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=s,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function It(e,n,r,s){return new M1(e,n,r,s)}function Ic(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Bn(e,n){var r=e.alternate;return r===null?(r=It(e.tag,n,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=n,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&65011712,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,n=e.dependencies,r.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r.refCleanup=e.refCleanup,r}function Rp(e,n){e.flags&=65011714;var r=e.alternate;return r===null?(e.childLanes=0,e.lanes=n,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=r.childLanes,e.lanes=r.lanes,e.child=r.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=r.memoizedProps,e.memoizedState=r.memoizedState,e.updateQueue=r.updateQueue,e.type=r.type,n=r.dependencies,e.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext}),e}function hi(e,n,r,s,u,m){var w=0;if(s=e,typeof e=="function")Ic(e)&&(w=1);else if(typeof e=="string")w=H2(e,r,ue.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case P:return e=It(31,r,n,u),e.elementType=P,e.lanes=m,e;case k:return Ga(r.children,u,m,n);case S:w=8,u|=24;break;case E:return e=It(12,r,n,u|2),e.elementType=E,e.lanes=m,e;case M:return e=It(13,r,n,u),e.elementType=M,e.lanes=m,e;case D:return e=It(19,r,n,u),e.elementType=D,e.lanes=m,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case N:w=10;break e;case T:w=9;break e;case R:w=11;break e;case z:w=14;break e;case K:w=16,s=null;break e}w=29,r=Error(i(130,e===null?"null":typeof e,"")),s=null}return n=It(w,r,n,u),n.elementType=e,n.type=s,n.lanes=m,n}function Ga(e,n,r,s){return e=It(7,e,s,n),e.lanes=r,e}function Pc(e,n,r){return e=It(6,e,null,n),e.lanes=r,e}function jp(e){var n=It(18,null,null,0);return n.stateNode=e,n}function Yc(e,n,r){return n=It(4,e.children!==null?e.children:[],e.key,n),n.lanes=r,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}var Op=new WeakMap;function nn(e,n){if(typeof e=="object"&&e!==null){var r=Op.get(e);return r!==void 0?r:(n={value:e,source:n,stack:oa(n)},Op.set(e,n),n)}return{value:e,source:n,stack:oa(n)}}var jr=[],Or=0,gi=null,Bo=0,an=[],rn=0,ca=null,kn=1,Sn="";function Hn(e,n){jr[Or++]=Bo,jr[Or++]=gi,gi=e,Bo=n}function Mp(e,n,r){an[rn++]=kn,an[rn++]=Sn,an[rn++]=ca,ca=e;var s=kn;e=Sn;var u=32-Wt(s)-1;s&=~(1<<u),r+=1;var m=32-Wt(n)+u;if(30<m){var w=u-u%5;m=(s&(1<<w)-1).toString(32),s>>=w,u-=w,kn=1<<32-Wt(n)+u|r<<u|s,Sn=m+e}else kn=1<<m|r<<u|s,Sn=e}function Kc(e){e.return!==null&&(Hn(e,1),Mp(e,1,0))}function Fc(e){for(;e===gi;)gi=jr[--Or],jr[Or]=null,Bo=jr[--Or],jr[Or]=null;for(;e===ca;)ca=an[--rn],an[rn]=null,Sn=an[--rn],an[rn]=null,kn=an[--rn],an[rn]=null}function Dp(e,n){an[rn++]=kn,an[rn++]=Sn,an[rn++]=ca,kn=n.id,Sn=n.overflow,ca=e}var mt=null,Ve=null,Be=!1,ua=null,on=!1,Vc=Error(i(519));function da(e){var n=Error(i(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Ho(nn(n,e)),Vc}function Lp(e){var n=e.stateNode,r=e.type,s=e.memoizedProps;switch(n[ft]=e,n[Ct]=s,r){case"dialog":Oe("cancel",n),Oe("close",n);break;case"iframe":case"object":case"embed":Oe("load",n);break;case"video":case"audio":for(r=0;r<ss.length;r++)Oe(ss[r],n);break;case"source":Oe("error",n);break;case"img":case"image":case"link":Oe("error",n),Oe("load",n);break;case"details":Oe("toggle",n);break;case"input":Oe("invalid",n),Gm(n,s.value,s.defaultValue,s.checked,s.defaultChecked,s.type,s.name,!0);break;case"select":Oe("invalid",n);break;case"textarea":Oe("invalid",n),Xm(n,s.value,s.defaultValue,s.children)}r=s.children,typeof r!="string"&&typeof r!="number"&&typeof r!="bigint"||n.textContent===""+r||s.suppressHydrationWarning===!0||Qg(n.textContent,r)?(s.popover!=null&&(Oe("beforetoggle",n),Oe("toggle",n)),s.onScroll!=null&&Oe("scroll",n),s.onScrollEnd!=null&&Oe("scrollend",n),s.onClick!=null&&(n.onclick=Ln),n=!0):n=!1,n||da(e,!0)}function zp(e){for(mt=e.return;mt;)switch(mt.tag){case 5:case 31:case 13:on=!1;return;case 27:case 3:on=!0;return;default:mt=mt.return}}function Mr(e){if(e!==mt)return!1;if(!Be)return zp(e),Be=!0,!1;var n=e.tag,r;if((r=n!==3&&n!==27)&&((r=n===5)&&(r=e.type,r=!(r!=="form"&&r!=="button")||dd(e.type,e.memoizedProps)),r=!r),r&&Ve&&da(e),zp(e),n===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(i(317));Ve=iv(e)}else if(n===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(i(317));Ve=iv(e)}else n===27?(n=Ve,Ta(e.type)?(e=gd,gd=null,Ve=e):Ve=n):Ve=mt?ln(e.stateNode.nextSibling):null;return!0}function $a(){Ve=mt=null,Be=!1}function Gc(){var e=ua;return e!==null&&(jt===null?jt=e:jt.push.apply(jt,e),ua=null),e}function Ho(e){ua===null?ua=[e]:ua.push(e)}var $c=j(null),Xa=null,Un=null;function fa(e,n,r){oe($c,n._currentValue),n._currentValue=r}function Wn(e){e._currentValue=$c.current,H($c)}function Xc(e,n,r){for(;e!==null;){var s=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,s!==null&&(s.childLanes|=n)):s!==null&&(s.childLanes&n)!==n&&(s.childLanes|=n),e===r)break;e=e.return}}function Zc(e,n,r,s){var u=e.child;for(u!==null&&(u.return=e);u!==null;){var m=u.dependencies;if(m!==null){var w=u.child;m=m.firstContext;e:for(;m!==null;){var _=m;m=u;for(var L=0;L<n.length;L++)if(_.context===n[L]){m.lanes|=r,_=m.alternate,_!==null&&(_.lanes|=r),Xc(m.return,r,e),s||(w=null);break e}m=_.next}}else if(u.tag===18){if(w=u.return,w===null)throw Error(i(341));w.lanes|=r,m=w.alternate,m!==null&&(m.lanes|=r),Xc(w,r,e),w=null}else w=u.child;if(w!==null)w.return=u;else for(w=u;w!==null;){if(w===e){w=null;break}if(u=w.sibling,u!==null){u.return=w.return,w=u;break}w=w.return}u=w}}function Dr(e,n,r,s){e=null;for(var u=n,m=!1;u!==null;){if(!m){if((u.flags&524288)!==0)m=!0;else if((u.flags&262144)!==0)break}if(u.tag===10){var w=u.alternate;if(w===null)throw Error(i(387));if(w=w.memoizedProps,w!==null){var _=u.type;qt(u.pendingProps.value,w.value)||(e!==null?e.push(_):e=[_])}}else if(u===le.current){if(w=u.alternate,w===null)throw Error(i(387));w.memoizedState.memoizedState!==u.memoizedState.memoizedState&&(e!==null?e.push(ds):e=[ds])}u=u.return}e!==null&&Zc(n,e,r,s),n.flags|=262144}function vi(e){for(e=e.firstContext;e!==null;){if(!qt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Za(e){Xa=e,Un=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function pt(e){return Bp(Xa,e)}function yi(e,n){return Xa===null&&Za(e),Bp(e,n)}function Bp(e,n){var r=n._currentValue;if(n={context:n,memoizedValue:r,next:null},Un===null){if(e===null)throw Error(i(308));Un=n,e.dependencies={lanes:0,firstContext:n},e.flags|=524288}else Un=Un.next=n;return r}var D1=typeof AbortController<"u"?AbortController:function(){var e=[],n=this.signal={aborted:!1,addEventListener:function(r,s){e.push(s)}};this.abort=function(){n.aborted=!0,e.forEach(function(r){return r()})}},L1=t.unstable_scheduleCallback,z1=t.unstable_NormalPriority,rt={$$typeof:N,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Qc(){return{controller:new D1,data:new Map,refCount:0}}function Uo(e){e.refCount--,e.refCount===0&&L1(z1,function(){e.controller.abort()})}var Wo=null,Jc=0,Lr=0,zr=null;function B1(e,n){if(Wo===null){var r=Wo=[];Jc=0,Lr=nd(),zr={status:"pending",value:void 0,then:function(s){r.push(s)}}}return Jc++,n.then(Hp,Hp),n}function Hp(){if(--Jc===0&&Wo!==null){zr!==null&&(zr.status="fulfilled");var e=Wo;Wo=null,Lr=0,zr=null;for(var n=0;n<e.length;n++)(0,e[n])()}}function H1(e,n){var r=[],s={status:"pending",value:null,reason:null,then:function(u){r.push(u)}};return e.then(function(){s.status="fulfilled",s.value=n;for(var u=0;u<r.length;u++)(0,r[u])(n)},function(u){for(s.status="rejected",s.reason=u,u=0;u<r.length;u++)(0,r[u])(void 0)}),s}var Up=O.S;O.S=function(e,n){kg=De(),typeof n=="object"&&n!==null&&typeof n.then=="function"&&B1(e,n),Up!==null&&Up(e,n)};var Qa=j(null);function eu(){var e=Qa.current;return e!==null?e:Fe.pooledCache}function bi(e,n){n===null?oe(Qa,Qa.current):oe(Qa,n.pool)}function Wp(){var e=eu();return e===null?null:{parent:rt._currentValue,pool:e}}var Br=Error(i(460)),tu=Error(i(474)),wi=Error(i(542)),xi={then:function(){}};function qp(e){return e=e.status,e==="fulfilled"||e==="rejected"}function Ip(e,n,r){switch(r=e[r],r===void 0?e.push(n):r!==n&&(n.then(Ln,Ln),n=r),n.status){case"fulfilled":return n.value;case"rejected":throw e=n.reason,Yp(e),e;default:if(typeof n.status=="string")n.then(Ln,Ln);else{if(e=Fe,e!==null&&100<e.shellSuspendCounter)throw Error(i(482));e=n,e.status="pending",e.then(function(s){if(n.status==="pending"){var u=n;u.status="fulfilled",u.value=s}},function(s){if(n.status==="pending"){var u=n;u.status="rejected",u.reason=s}})}switch(n.status){case"fulfilled":return n.value;case"rejected":throw e=n.reason,Yp(e),e}throw er=n,Br}}function Ja(e){try{var n=e._init;return n(e._payload)}catch(r){throw r!==null&&typeof r=="object"&&typeof r.then=="function"?(er=r,Br):r}}var er=null;function Pp(){if(er===null)throw Error(i(459));var e=er;return er=null,e}function Yp(e){if(e===Br||e===wi)throw Error(i(483))}var Hr=null,qo=0;function ki(e){var n=qo;return qo+=1,Hr===null&&(Hr=[]),Ip(Hr,e,n)}function Io(e,n){n=n.props.ref,e.ref=n!==void 0?n:null}function Si(e,n){throw n.$$typeof===x?Error(i(525)):(e=Object.prototype.toString.call(n),Error(i(31,e==="[object Object]"?"object with keys {"+Object.keys(n).join(", ")+"}":e)))}function Kp(e){function n(W,B){if(e){var Y=W.deletions;Y===null?(W.deletions=[B],W.flags|=16):Y.push(B)}}function r(W,B){if(!e)return null;for(;B!==null;)n(W,B),B=B.sibling;return null}function s(W){for(var B=new Map;W!==null;)W.key!==null?B.set(W.key,W):B.set(W.index,W),W=W.sibling;return B}function u(W,B){return W=Bn(W,B),W.index=0,W.sibling=null,W}function m(W,B,Y){return W.index=Y,e?(Y=W.alternate,Y!==null?(Y=Y.index,Y<B?(W.flags|=67108866,B):Y):(W.flags|=67108866,B)):(W.flags|=1048576,B)}function w(W){return e&&W.alternate===null&&(W.flags|=67108866),W}function _(W,B,Y,ae){return B===null||B.tag!==6?(B=Pc(Y,W.mode,ae),B.return=W,B):(B=u(B,Y),B.return=W,B)}function L(W,B,Y,ae){var we=Y.type;return we===k?te(W,B,Y.props.children,ae,Y.key):B!==null&&(B.elementType===we||typeof we=="object"&&we!==null&&we.$$typeof===K&&Ja(we)===B.type)?(B=u(B,Y.props),Io(B,Y),B.return=W,B):(B=hi(Y.type,Y.key,Y.props,null,W.mode,ae),Io(B,Y),B.return=W,B)}function F(W,B,Y,ae){return B===null||B.tag!==4||B.stateNode.containerInfo!==Y.containerInfo||B.stateNode.implementation!==Y.implementation?(B=Yc(Y,W.mode,ae),B.return=W,B):(B=u(B,Y.children||[]),B.return=W,B)}function te(W,B,Y,ae,we){return B===null||B.tag!==7?(B=Ga(Y,W.mode,ae,we),B.return=W,B):(B=u(B,Y),B.return=W,B)}function re(W,B,Y){if(typeof B=="string"&&B!==""||typeof B=="number"||typeof B=="bigint")return B=Pc(""+B,W.mode,Y),B.return=W,B;if(typeof B=="object"&&B!==null){switch(B.$$typeof){case C:return Y=hi(B.type,B.key,B.props,null,W.mode,Y),Io(Y,B),Y.return=W,Y;case A:return B=Yc(B,W.mode,Y),B.return=W,B;case K:return B=Ja(B),re(W,B,Y)}if($(B)||V(B))return B=Ga(B,W.mode,Y,null),B.return=W,B;if(typeof B.then=="function")return re(W,ki(B),Y);if(B.$$typeof===N)return re(W,yi(W,B),Y);Si(W,B)}return null}function G(W,B,Y,ae){var we=B!==null?B.key:null;if(typeof Y=="string"&&Y!==""||typeof Y=="number"||typeof Y=="bigint")return we!==null?null:_(W,B,""+Y,ae);if(typeof Y=="object"&&Y!==null){switch(Y.$$typeof){case C:return Y.key===we?L(W,B,Y,ae):null;case A:return Y.key===we?F(W,B,Y,ae):null;case K:return Y=Ja(Y),G(W,B,Y,ae)}if($(Y)||V(Y))return we!==null?null:te(W,B,Y,ae,null);if(typeof Y.then=="function")return G(W,B,ki(Y),ae);if(Y.$$typeof===N)return G(W,B,yi(W,Y),ae);Si(W,Y)}return null}function J(W,B,Y,ae,we){if(typeof ae=="string"&&ae!==""||typeof ae=="number"||typeof ae=="bigint")return W=W.get(Y)||null,_(B,W,""+ae,we);if(typeof ae=="object"&&ae!==null){switch(ae.$$typeof){case C:return W=W.get(ae.key===null?Y:ae.key)||null,L(B,W,ae,we);case A:return W=W.get(ae.key===null?Y:ae.key)||null,F(B,W,ae,we);case K:return ae=Ja(ae),J(W,B,Y,ae,we)}if($(ae)||V(ae))return W=W.get(Y)||null,te(B,W,ae,we,null);if(typeof ae.then=="function")return J(W,B,Y,ki(ae),we);if(ae.$$typeof===N)return J(W,B,Y,yi(B,ae),we);Si(B,ae)}return null}function he(W,B,Y,ae){for(var we=null,He=null,ye=B,Ne=B=0,ze=null;ye!==null&&Ne<Y.length;Ne++){ye.index>Ne?(ze=ye,ye=null):ze=ye.sibling;var Ue=G(W,ye,Y[Ne],ae);if(Ue===null){ye===null&&(ye=ze);break}e&&ye&&Ue.alternate===null&&n(W,ye),B=m(Ue,B,Ne),He===null?we=Ue:He.sibling=Ue,He=Ue,ye=ze}if(Ne===Y.length)return r(W,ye),Be&&Hn(W,Ne),we;if(ye===null){for(;Ne<Y.length;Ne++)ye=re(W,Y[Ne],ae),ye!==null&&(B=m(ye,B,Ne),He===null?we=ye:He.sibling=ye,He=ye);return Be&&Hn(W,Ne),we}for(ye=s(ye);Ne<Y.length;Ne++)ze=J(ye,W,Ne,Y[Ne],ae),ze!==null&&(e&&ze.alternate!==null&&ye.delete(ze.key===null?Ne:ze.key),B=m(ze,B,Ne),He===null?we=ze:He.sibling=ze,He=ze);return e&&ye.forEach(function(Ra){return n(W,Ra)}),Be&&Hn(W,Ne),we}function ke(W,B,Y,ae){if(Y==null)throw Error(i(151));for(var we=null,He=null,ye=B,Ne=B=0,ze=null,Ue=Y.next();ye!==null&&!Ue.done;Ne++,Ue=Y.next()){ye.index>Ne?(ze=ye,ye=null):ze=ye.sibling;var Ra=G(W,ye,Ue.value,ae);if(Ra===null){ye===null&&(ye=ze);break}e&&ye&&Ra.alternate===null&&n(W,ye),B=m(Ra,B,Ne),He===null?we=Ra:He.sibling=Ra,He=Ra,ye=ze}if(Ue.done)return r(W,ye),Be&&Hn(W,Ne),we;if(ye===null){for(;!Ue.done;Ne++,Ue=Y.next())Ue=re(W,Ue.value,ae),Ue!==null&&(B=m(Ue,B,Ne),He===null?we=Ue:He.sibling=Ue,He=Ue);return Be&&Hn(W,Ne),we}for(ye=s(ye);!Ue.done;Ne++,Ue=Y.next())Ue=J(ye,W,Ne,Ue.value,ae),Ue!==null&&(e&&Ue.alternate!==null&&ye.delete(Ue.key===null?Ne:Ue.key),B=m(Ue,B,Ne),He===null?we=Ue:He.sibling=Ue,He=Ue);return e&&ye.forEach(function($2){return n(W,$2)}),Be&&Hn(W,Ne),we}function Ke(W,B,Y,ae){if(typeof Y=="object"&&Y!==null&&Y.type===k&&Y.key===null&&(Y=Y.props.children),typeof Y=="object"&&Y!==null){switch(Y.$$typeof){case C:e:{for(var we=Y.key;B!==null;){if(B.key===we){if(we=Y.type,we===k){if(B.tag===7){r(W,B.sibling),ae=u(B,Y.props.children),ae.return=W,W=ae;break e}}else if(B.elementType===we||typeof we=="object"&&we!==null&&we.$$typeof===K&&Ja(we)===B.type){r(W,B.sibling),ae=u(B,Y.props),Io(ae,Y),ae.return=W,W=ae;break e}r(W,B);break}else n(W,B);B=B.sibling}Y.type===k?(ae=Ga(Y.props.children,W.mode,ae,Y.key),ae.return=W,W=ae):(ae=hi(Y.type,Y.key,Y.props,null,W.mode,ae),Io(ae,Y),ae.return=W,W=ae)}return w(W);case A:e:{for(we=Y.key;B!==null;){if(B.key===we)if(B.tag===4&&B.stateNode.containerInfo===Y.containerInfo&&B.stateNode.implementation===Y.implementation){r(W,B.sibling),ae=u(B,Y.children||[]),ae.return=W,W=ae;break e}else{r(W,B);break}else n(W,B);B=B.sibling}ae=Yc(Y,W.mode,ae),ae.return=W,W=ae}return w(W);case K:return Y=Ja(Y),Ke(W,B,Y,ae)}if($(Y))return he(W,B,Y,ae);if(V(Y)){if(we=V(Y),typeof we!="function")throw Error(i(150));return Y=we.call(Y),ke(W,B,Y,ae)}if(typeof Y.then=="function")return Ke(W,B,ki(Y),ae);if(Y.$$typeof===N)return Ke(W,B,yi(W,Y),ae);Si(W,Y)}return typeof Y=="string"&&Y!==""||typeof Y=="number"||typeof Y=="bigint"?(Y=""+Y,B!==null&&B.tag===6?(r(W,B.sibling),ae=u(B,Y),ae.return=W,W=ae):(r(W,B),ae=Pc(Y,W.mode,ae),ae.return=W,W=ae),w(W)):r(W,B)}return function(W,B,Y,ae){try{qo=0;var we=Ke(W,B,Y,ae);return Hr=null,we}catch(ye){if(ye===Br||ye===wi)throw ye;var He=It(29,ye,null,W.mode);return He.lanes=ae,He.return=W,He}}}var tr=Kp(!0),Fp=Kp(!1),ma=!1;function nu(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function au(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function pa(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ha(e,n,r){var s=e.updateQueue;if(s===null)return null;if(s=s.shared,(We&2)!==0){var u=s.pending;return u===null?n.next=n:(n.next=u.next,u.next=n),s.pending=n,n=pi(e),Np(e,null,r),n}return mi(e,s,n,r),pi(e)}function Po(e,n,r){if(n=n.updateQueue,n!==null&&(n=n.shared,(r&4194048)!==0)){var s=n.lanes;s&=e.pendingLanes,r|=s,n.lanes=r,Bm(e,r)}}function ru(e,n){var r=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,r===s)){var u=null,m=null;if(r=r.firstBaseUpdate,r!==null){do{var w={lane:r.lane,tag:r.tag,payload:r.payload,callback:null,next:null};m===null?u=m=w:m=m.next=w,r=r.next}while(r!==null);m===null?u=m=n:m=m.next=n}else u=m=n;r={baseState:s.baseState,firstBaseUpdate:u,lastBaseUpdate:m,shared:s.shared,callbacks:s.callbacks},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=n:e.next=n,r.lastBaseUpdate=n}var ou=!1;function Yo(){if(ou){var e=zr;if(e!==null)throw e}}function Ko(e,n,r,s){ou=!1;var u=e.updateQueue;ma=!1;var m=u.firstBaseUpdate,w=u.lastBaseUpdate,_=u.shared.pending;if(_!==null){u.shared.pending=null;var L=_,F=L.next;L.next=null,w===null?m=F:w.next=F,w=L;var te=e.alternate;te!==null&&(te=te.updateQueue,_=te.lastBaseUpdate,_!==w&&(_===null?te.firstBaseUpdate=F:_.next=F,te.lastBaseUpdate=L))}if(m!==null){var re=u.baseState;w=0,te=F=L=null,_=m;do{var G=_.lane&-536870913,J=G!==_.lane;if(J?(Le&G)===G:(s&G)===G){G!==0&&G===Lr&&(ou=!0),te!==null&&(te=te.next={lane:0,tag:_.tag,payload:_.payload,callback:null,next:null});e:{var he=e,ke=_;G=n;var Ke=r;switch(ke.tag){case 1:if(he=ke.payload,typeof he=="function"){re=he.call(Ke,re,G);break e}re=he;break e;case 3:he.flags=he.flags&-65537|128;case 0:if(he=ke.payload,G=typeof he=="function"?he.call(Ke,re,G):he,G==null)break e;re=v({},re,G);break e;case 2:ma=!0}}G=_.callback,G!==null&&(e.flags|=64,J&&(e.flags|=8192),J=u.callbacks,J===null?u.callbacks=[G]:J.push(G))}else J={lane:G,tag:_.tag,payload:_.payload,callback:_.callback,next:null},te===null?(F=te=J,L=re):te=te.next=J,w|=G;if(_=_.next,_===null){if(_=u.shared.pending,_===null)break;J=_,_=J.next,J.next=null,u.lastBaseUpdate=J,u.shared.pending=null}}while(!0);te===null&&(L=re),u.baseState=L,u.firstBaseUpdate=F,u.lastBaseUpdate=te,m===null&&(u.shared.lanes=0),wa|=w,e.lanes=w,e.memoizedState=re}}function Vp(e,n){if(typeof e!="function")throw Error(i(191,e));e.call(n)}function Gp(e,n){var r=e.callbacks;if(r!==null)for(e.callbacks=null,e=0;e<r.length;e++)Vp(r[e],n)}var Ur=j(null),Ei=j(0);function $p(e,n){e=$n,oe(Ei,e),oe(Ur,n),$n=e|n.baseLanes}function su(){oe(Ei,$n),oe(Ur,Ur.current)}function iu(){$n=Ei.current,H(Ur),H(Ei)}var Pt=j(null),sn=null;function ga(e){var n=e.alternate;oe(tt,tt.current&1),oe(Pt,e),sn===null&&(n===null||Ur.current!==null||n.memoizedState!==null)&&(sn=e)}function lu(e){oe(tt,tt.current),oe(Pt,e),sn===null&&(sn=e)}function Xp(e){e.tag===22?(oe(tt,tt.current),oe(Pt,e),sn===null&&(sn=e)):va()}function va(){oe(tt,tt.current),oe(Pt,Pt.current)}function Yt(e){H(Pt),sn===e&&(sn=null),H(tt)}var tt=j(0);function Ti(e){for(var n=e;n!==null;){if(n.tag===13){var r=n.memoizedState;if(r!==null&&(r=r.dehydrated,r===null||pd(r)||hd(r)))return n}else if(n.tag===19&&(n.memoizedProps.revealOrder==="forwards"||n.memoizedProps.revealOrder==="backwards"||n.memoizedProps.revealOrder==="unstable_legacy-backwards"||n.memoizedProps.revealOrder==="together")){if((n.flags&128)!==0)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var qn=0,_e=null,Pe=null,ot=null,Ci=!1,Wr=!1,nr=!1,Ai=0,Fo=0,qr=null,U1=0;function Je(){throw Error(i(321))}function cu(e,n){if(n===null)return!1;for(var r=0;r<n.length&&r<e.length;r++)if(!qt(e[r],n[r]))return!1;return!0}function uu(e,n,r,s,u,m){return qn=m,_e=n,n.memoizedState=null,n.updateQueue=null,n.lanes=0,O.H=e===null||e.memoizedState===null?Mh:Tu,nr=!1,m=r(s,u),nr=!1,Wr&&(m=Qp(n,r,s,u)),Zp(e),m}function Zp(e){O.H=$o;var n=Pe!==null&&Pe.next!==null;if(qn=0,ot=Pe=_e=null,Ci=!1,Fo=0,qr=null,n)throw Error(i(300));e===null||st||(e=e.dependencies,e!==null&&vi(e)&&(st=!0))}function Qp(e,n,r,s){_e=e;var u=0;do{if(Wr&&(qr=null),Fo=0,Wr=!1,25<=u)throw Error(i(301));if(u+=1,ot=Pe=null,e.updateQueue!=null){var m=e.updateQueue;m.lastEffect=null,m.events=null,m.stores=null,m.memoCache!=null&&(m.memoCache.index=0)}O.H=Dh,m=n(r,s)}while(Wr);return m}function W1(){var e=O.H,n=e.useState()[0];return n=typeof n.then=="function"?Vo(n):n,e=e.useState()[0],(Pe!==null?Pe.memoizedState:null)!==e&&(_e.flags|=1024),n}function du(){var e=Ai!==0;return Ai=0,e}function fu(e,n,r){n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~r}function mu(e){if(Ci){for(e=e.memoizedState;e!==null;){var n=e.queue;n!==null&&(n.pending=null),e=e.next}Ci=!1}qn=0,ot=Pe=_e=null,Wr=!1,Fo=Ai=0,qr=null}function Et(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ot===null?_e.memoizedState=ot=e:ot=ot.next=e,ot}function nt(){if(Pe===null){var e=_e.alternate;e=e!==null?e.memoizedState:null}else e=Pe.next;var n=ot===null?_e.memoizedState:ot.next;if(n!==null)ot=n,Pe=e;else{if(e===null)throw _e.alternate===null?Error(i(467)):Error(i(310));Pe=e,e={memoizedState:Pe.memoizedState,baseState:Pe.baseState,baseQueue:Pe.baseQueue,queue:Pe.queue,next:null},ot===null?_e.memoizedState=ot=e:ot=ot.next=e}return ot}function _i(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Vo(e){var n=Fo;return Fo+=1,qr===null&&(qr=[]),e=Ip(qr,e,n),n=_e,(ot===null?n.memoizedState:ot.next)===null&&(n=n.alternate,O.H=n===null||n.memoizedState===null?Mh:Tu),e}function Ni(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Vo(e);if(e.$$typeof===N)return pt(e)}throw Error(i(438,String(e)))}function pu(e){var n=null,r=_e.updateQueue;if(r!==null&&(n=r.memoCache),n==null){var s=_e.alternate;s!==null&&(s=s.updateQueue,s!==null&&(s=s.memoCache,s!=null&&(n={data:s.data.map(function(u){return u.slice()}),index:0})))}if(n==null&&(n={data:[],index:0}),r===null&&(r=_i(),_e.updateQueue=r),r.memoCache=n,r=n.data[n.index],r===void 0)for(r=n.data[n.index]=Array(e),s=0;s<e;s++)r[s]=ne;return n.index++,r}function In(e,n){return typeof n=="function"?n(e):n}function Ri(e){var n=nt();return hu(n,Pe,e)}function hu(e,n,r){var s=e.queue;if(s===null)throw Error(i(311));s.lastRenderedReducer=r;var u=e.baseQueue,m=s.pending;if(m!==null){if(u!==null){var w=u.next;u.next=m.next,m.next=w}n.baseQueue=u=m,s.pending=null}if(m=e.baseState,u===null)e.memoizedState=m;else{n=u.next;var _=w=null,L=null,F=n,te=!1;do{var re=F.lane&-536870913;if(re!==F.lane?(Le&re)===re:(qn&re)===re){var G=F.revertLane;if(G===0)L!==null&&(L=L.next={lane:0,revertLane:0,gesture:null,action:F.action,hasEagerState:F.hasEagerState,eagerState:F.eagerState,next:null}),re===Lr&&(te=!0);else if((qn&G)===G){F=F.next,G===Lr&&(te=!0);continue}else re={lane:0,revertLane:F.revertLane,gesture:null,action:F.action,hasEagerState:F.hasEagerState,eagerState:F.eagerState,next:null},L===null?(_=L=re,w=m):L=L.next=re,_e.lanes|=G,wa|=G;re=F.action,nr&&r(m,re),m=F.hasEagerState?F.eagerState:r(m,re)}else G={lane:re,revertLane:F.revertLane,gesture:F.gesture,action:F.action,hasEagerState:F.hasEagerState,eagerState:F.eagerState,next:null},L===null?(_=L=G,w=m):L=L.next=G,_e.lanes|=re,wa|=re;F=F.next}while(F!==null&&F!==n);if(L===null?w=m:L.next=_,!qt(m,e.memoizedState)&&(st=!0,te&&(r=zr,r!==null)))throw r;e.memoizedState=m,e.baseState=w,e.baseQueue=L,s.lastRenderedState=m}return u===null&&(s.lanes=0),[e.memoizedState,s.dispatch]}function gu(e){var n=nt(),r=n.queue;if(r===null)throw Error(i(311));r.lastRenderedReducer=e;var s=r.dispatch,u=r.pending,m=n.memoizedState;if(u!==null){r.pending=null;var w=u=u.next;do m=e(m,w.action),w=w.next;while(w!==u);qt(m,n.memoizedState)||(st=!0),n.memoizedState=m,n.baseQueue===null&&(n.baseState=m),r.lastRenderedState=m}return[m,s]}function Jp(e,n,r){var s=_e,u=nt(),m=Be;if(m){if(r===void 0)throw Error(i(407));r=r()}else r=n();var w=!qt((Pe||u).memoizedState,r);if(w&&(u.memoizedState=r,st=!0),u=u.queue,bu(nh.bind(null,s,u,e),[e]),u.getSnapshot!==n||w||ot!==null&&ot.memoizedState.tag&1){if(s.flags|=2048,Ir(9,{destroy:void 0},th.bind(null,s,u,r,n),null),Fe===null)throw Error(i(349));m||(qn&127)!==0||eh(s,n,r)}return r}function eh(e,n,r){e.flags|=16384,e={getSnapshot:n,value:r},n=_e.updateQueue,n===null?(n=_i(),_e.updateQueue=n,n.stores=[e]):(r=n.stores,r===null?n.stores=[e]:r.push(e))}function th(e,n,r,s){n.value=r,n.getSnapshot=s,ah(n)&&rh(e)}function nh(e,n,r){return r(function(){ah(n)&&rh(e)})}function ah(e){var n=e.getSnapshot;e=e.value;try{var r=n();return!qt(e,r)}catch{return!0}}function rh(e){var n=Va(e,2);n!==null&&Ot(n,e,2)}function vu(e){var n=Et();if(typeof e=="function"){var r=e;if(e=r(),nr){sa(!0);try{r()}finally{sa(!1)}}}return n.memoizedState=n.baseState=e,n.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:In,lastRenderedState:e},n}function oh(e,n,r,s){return e.baseState=r,hu(e,Pe,typeof s=="function"?s:In)}function q1(e,n,r,s,u){if(Mi(e))throw Error(i(485));if(e=n.action,e!==null){var m={payload:u,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(w){m.listeners.push(w)}};O.T!==null?r(!0):m.isTransition=!1,s(m),r=n.pending,r===null?(m.next=n.pending=m,sh(n,m)):(m.next=r.next,n.pending=r.next=m)}}function sh(e,n){var r=n.action,s=n.payload,u=e.state;if(n.isTransition){var m=O.T,w={};O.T=w;try{var _=r(u,s),L=O.S;L!==null&&L(w,_),ih(e,n,_)}catch(F){yu(e,n,F)}finally{m!==null&&w.types!==null&&(m.types=w.types),O.T=m}}else try{m=r(u,s),ih(e,n,m)}catch(F){yu(e,n,F)}}function ih(e,n,r){r!==null&&typeof r=="object"&&typeof r.then=="function"?r.then(function(s){lh(e,n,s)},function(s){return yu(e,n,s)}):lh(e,n,r)}function lh(e,n,r){n.status="fulfilled",n.value=r,ch(n),e.state=r,n=e.pending,n!==null&&(r=n.next,r===n?e.pending=null:(r=r.next,n.next=r,sh(e,r)))}function yu(e,n,r){var s=e.pending;if(e.pending=null,s!==null){s=s.next;do n.status="rejected",n.reason=r,ch(n),n=n.next;while(n!==s)}e.action=null}function ch(e){e=e.listeners;for(var n=0;n<e.length;n++)(0,e[n])()}function uh(e,n){return n}function dh(e,n){if(Be){var r=Fe.formState;if(r!==null){e:{var s=_e;if(Be){if(Ve){t:{for(var u=Ve,m=on;u.nodeType!==8;){if(!m){u=null;break t}if(u=ln(u.nextSibling),u===null){u=null;break t}}m=u.data,u=m==="F!"||m==="F"?u:null}if(u){Ve=ln(u.nextSibling),s=u.data==="F!";break e}}da(s)}s=!1}s&&(n=r[0])}}return r=Et(),r.memoizedState=r.baseState=n,s={pending:null,lanes:0,dispatch:null,lastRenderedReducer:uh,lastRenderedState:n},r.queue=s,r=Rh.bind(null,_e,s),s.dispatch=r,s=vu(!1),m=Eu.bind(null,_e,!1,s.queue),s=Et(),u={state:n,dispatch:null,action:e,pending:null},s.queue=u,r=q1.bind(null,_e,u,m,r),u.dispatch=r,s.memoizedState=e,[n,r,!1]}function fh(e){var n=nt();return mh(n,Pe,e)}function mh(e,n,r){if(n=hu(e,n,uh)[0],e=Ri(In)[0],typeof n=="object"&&n!==null&&typeof n.then=="function")try{var s=Vo(n)}catch(w){throw w===Br?wi:w}else s=n;n=nt();var u=n.queue,m=u.dispatch;return r!==n.memoizedState&&(_e.flags|=2048,Ir(9,{destroy:void 0},I1.bind(null,u,r),null)),[s,m,e]}function I1(e,n){e.action=n}function ph(e){var n=nt(),r=Pe;if(r!==null)return mh(n,r,e);nt(),n=n.memoizedState,r=nt();var s=r.queue.dispatch;return r.memoizedState=e,[n,s,!1]}function Ir(e,n,r,s){return e={tag:e,create:r,deps:s,inst:n,next:null},n=_e.updateQueue,n===null&&(n=_i(),_e.updateQueue=n),r=n.lastEffect,r===null?n.lastEffect=e.next=e:(s=r.next,r.next=e,e.next=s,n.lastEffect=e),e}function hh(){return nt().memoizedState}function ji(e,n,r,s){var u=Et();_e.flags|=e,u.memoizedState=Ir(1|n,{destroy:void 0},r,s===void 0?null:s)}function Oi(e,n,r,s){var u=nt();s=s===void 0?null:s;var m=u.memoizedState.inst;Pe!==null&&s!==null&&cu(s,Pe.memoizedState.deps)?u.memoizedState=Ir(n,m,r,s):(_e.flags|=e,u.memoizedState=Ir(1|n,m,r,s))}function gh(e,n){ji(8390656,8,e,n)}function bu(e,n){Oi(2048,8,e,n)}function P1(e){_e.flags|=4;var n=_e.updateQueue;if(n===null)n=_i(),_e.updateQueue=n,n.events=[e];else{var r=n.events;r===null?n.events=[e]:r.push(e)}}function vh(e){var n=nt().memoizedState;return P1({ref:n,nextImpl:e}),function(){if((We&2)!==0)throw Error(i(440));return n.impl.apply(void 0,arguments)}}function yh(e,n){return Oi(4,2,e,n)}function bh(e,n){return Oi(4,4,e,n)}function wh(e,n){if(typeof n=="function"){e=e();var r=n(e);return function(){typeof r=="function"?r():n(null)}}if(n!=null)return e=e(),n.current=e,function(){n.current=null}}function xh(e,n,r){r=r!=null?r.concat([e]):null,Oi(4,4,wh.bind(null,n,e),r)}function wu(){}function kh(e,n){var r=nt();n=n===void 0?null:n;var s=r.memoizedState;return n!==null&&cu(n,s[1])?s[0]:(r.memoizedState=[e,n],e)}function Sh(e,n){var r=nt();n=n===void 0?null:n;var s=r.memoizedState;if(n!==null&&cu(n,s[1]))return s[0];if(s=e(),nr){sa(!0);try{e()}finally{sa(!1)}}return r.memoizedState=[s,n],s}function xu(e,n,r){return r===void 0||(qn&1073741824)!==0&&(Le&261930)===0?e.memoizedState=n:(e.memoizedState=r,e=Eg(),_e.lanes|=e,wa|=e,r)}function Eh(e,n,r,s){return qt(r,n)?r:Ur.current!==null?(e=xu(e,r,s),qt(e,n)||(st=!0),e):(qn&42)===0||(qn&1073741824)!==0&&(Le&261930)===0?(st=!0,e.memoizedState=r):(e=Eg(),_e.lanes|=e,wa|=e,n)}function Th(e,n,r,s,u){var m=I.p;I.p=m!==0&&8>m?m:8;var w=O.T,_={};O.T=_,Eu(e,!1,n,r);try{var L=u(),F=O.S;if(F!==null&&F(_,L),L!==null&&typeof L=="object"&&typeof L.then=="function"){var te=H1(L,s);Go(e,n,te,Vt(e))}else Go(e,n,s,Vt(e))}catch(re){Go(e,n,{then:function(){},status:"rejected",reason:re},Vt())}finally{I.p=m,w!==null&&_.types!==null&&(w.types=_.types),O.T=w}}function Y1(){}function ku(e,n,r,s){if(e.tag!==5)throw Error(i(476));var u=Ch(e).queue;Th(e,u,n,U,r===null?Y1:function(){return Ah(e),r(s)})}function Ch(e){var n=e.memoizedState;if(n!==null)return n;n={memoizedState:U,baseState:U,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:In,lastRenderedState:U},next:null};var r={};return n.next={memoizedState:r,baseState:r,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:In,lastRenderedState:r},next:null},e.memoizedState=n,e=e.alternate,e!==null&&(e.memoizedState=n),n}function Ah(e){var n=Ch(e);n.next===null&&(n=e.alternate.memoizedState),Go(e,n.next.queue,{},Vt())}function Su(){return pt(ds)}function _h(){return nt().memoizedState}function Nh(){return nt().memoizedState}function K1(e){for(var n=e.return;n!==null;){switch(n.tag){case 24:case 3:var r=Vt();e=pa(r);var s=ha(n,e,r);s!==null&&(Ot(s,n,r),Po(s,n,r)),n={cache:Qc()},e.payload=n;return}n=n.return}}function F1(e,n,r){var s=Vt();r={lane:s,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Mi(e)?jh(n,r):(r=qc(e,n,r,s),r!==null&&(Ot(r,e,s),Oh(r,n,s)))}function Rh(e,n,r){var s=Vt();Go(e,n,r,s)}function Go(e,n,r,s){var u={lane:s,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null};if(Mi(e))jh(n,u);else{var m=e.alternate;if(e.lanes===0&&(m===null||m.lanes===0)&&(m=n.lastRenderedReducer,m!==null))try{var w=n.lastRenderedState,_=m(w,r);if(u.hasEagerState=!0,u.eagerState=_,qt(_,w))return mi(e,n,u,0),Fe===null&&fi(),!1}catch{}if(r=qc(e,n,u,s),r!==null)return Ot(r,e,s),Oh(r,n,s),!0}return!1}function Eu(e,n,r,s){if(s={lane:2,revertLane:nd(),gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null},Mi(e)){if(n)throw Error(i(479))}else n=qc(e,r,s,2),n!==null&&Ot(n,e,2)}function Mi(e){var n=e.alternate;return e===_e||n!==null&&n===_e}function jh(e,n){Wr=Ci=!0;var r=e.pending;r===null?n.next=n:(n.next=r.next,r.next=n),e.pending=n}function Oh(e,n,r){if((r&4194048)!==0){var s=n.lanes;s&=e.pendingLanes,r|=s,n.lanes=r,Bm(e,r)}}var $o={readContext:pt,use:Ni,useCallback:Je,useContext:Je,useEffect:Je,useImperativeHandle:Je,useLayoutEffect:Je,useInsertionEffect:Je,useMemo:Je,useReducer:Je,useRef:Je,useState:Je,useDebugValue:Je,useDeferredValue:Je,useTransition:Je,useSyncExternalStore:Je,useId:Je,useHostTransitionStatus:Je,useFormState:Je,useActionState:Je,useOptimistic:Je,useMemoCache:Je,useCacheRefresh:Je};$o.useEffectEvent=Je;var Mh={readContext:pt,use:Ni,useCallback:function(e,n){return Et().memoizedState=[e,n===void 0?null:n],e},useContext:pt,useEffect:gh,useImperativeHandle:function(e,n,r){r=r!=null?r.concat([e]):null,ji(4194308,4,wh.bind(null,n,e),r)},useLayoutEffect:function(e,n){return ji(4194308,4,e,n)},useInsertionEffect:function(e,n){ji(4,2,e,n)},useMemo:function(e,n){var r=Et();n=n===void 0?null:n;var s=e();if(nr){sa(!0);try{e()}finally{sa(!1)}}return r.memoizedState=[s,n],s},useReducer:function(e,n,r){var s=Et();if(r!==void 0){var u=r(n);if(nr){sa(!0);try{r(n)}finally{sa(!1)}}}else u=n;return s.memoizedState=s.baseState=u,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:u},s.queue=e,e=e.dispatch=F1.bind(null,_e,e),[s.memoizedState,e]},useRef:function(e){var n=Et();return e={current:e},n.memoizedState=e},useState:function(e){e=vu(e);var n=e.queue,r=Rh.bind(null,_e,n);return n.dispatch=r,[e.memoizedState,r]},useDebugValue:wu,useDeferredValue:function(e,n){var r=Et();return xu(r,e,n)},useTransition:function(){var e=vu(!1);return e=Th.bind(null,_e,e.queue,!0,!1),Et().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,n,r){var s=_e,u=Et();if(Be){if(r===void 0)throw Error(i(407));r=r()}else{if(r=n(),Fe===null)throw Error(i(349));(Le&127)!==0||eh(s,n,r)}u.memoizedState=r;var m={value:r,getSnapshot:n};return u.queue=m,gh(nh.bind(null,s,m,e),[e]),s.flags|=2048,Ir(9,{destroy:void 0},th.bind(null,s,m,r,n),null),r},useId:function(){var e=Et(),n=Fe.identifierPrefix;if(Be){var r=Sn,s=kn;r=(s&~(1<<32-Wt(s)-1)).toString(32)+r,n="_"+n+"R_"+r,r=Ai++,0<r&&(n+="H"+r.toString(32)),n+="_"}else r=U1++,n="_"+n+"r_"+r.toString(32)+"_";return e.memoizedState=n},useHostTransitionStatus:Su,useFormState:dh,useActionState:dh,useOptimistic:function(e){var n=Et();n.memoizedState=n.baseState=e;var r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return n.queue=r,n=Eu.bind(null,_e,!0,r),r.dispatch=n,[e,n]},useMemoCache:pu,useCacheRefresh:function(){return Et().memoizedState=K1.bind(null,_e)},useEffectEvent:function(e){var n=Et(),r={impl:e};return n.memoizedState=r,function(){if((We&2)!==0)throw Error(i(440));return r.impl.apply(void 0,arguments)}}},Tu={readContext:pt,use:Ni,useCallback:kh,useContext:pt,useEffect:bu,useImperativeHandle:xh,useInsertionEffect:yh,useLayoutEffect:bh,useMemo:Sh,useReducer:Ri,useRef:hh,useState:function(){return Ri(In)},useDebugValue:wu,useDeferredValue:function(e,n){var r=nt();return Eh(r,Pe.memoizedState,e,n)},useTransition:function(){var e=Ri(In)[0],n=nt().memoizedState;return[typeof e=="boolean"?e:Vo(e),n]},useSyncExternalStore:Jp,useId:_h,useHostTransitionStatus:Su,useFormState:fh,useActionState:fh,useOptimistic:function(e,n){var r=nt();return oh(r,Pe,e,n)},useMemoCache:pu,useCacheRefresh:Nh};Tu.useEffectEvent=vh;var Dh={readContext:pt,use:Ni,useCallback:kh,useContext:pt,useEffect:bu,useImperativeHandle:xh,useInsertionEffect:yh,useLayoutEffect:bh,useMemo:Sh,useReducer:gu,useRef:hh,useState:function(){return gu(In)},useDebugValue:wu,useDeferredValue:function(e,n){var r=nt();return Pe===null?xu(r,e,n):Eh(r,Pe.memoizedState,e,n)},useTransition:function(){var e=gu(In)[0],n=nt().memoizedState;return[typeof e=="boolean"?e:Vo(e),n]},useSyncExternalStore:Jp,useId:_h,useHostTransitionStatus:Su,useFormState:ph,useActionState:ph,useOptimistic:function(e,n){var r=nt();return Pe!==null?oh(r,Pe,e,n):(r.baseState=e,[e,r.queue.dispatch])},useMemoCache:pu,useCacheRefresh:Nh};Dh.useEffectEvent=vh;function Cu(e,n,r,s){n=e.memoizedState,r=r(s,n),r=r==null?n:v({},n,r),e.memoizedState=r,e.lanes===0&&(e.updateQueue.baseState=r)}var Au={enqueueSetState:function(e,n,r){e=e._reactInternals;var s=Vt(),u=pa(s);u.payload=n,r!=null&&(u.callback=r),n=ha(e,u,s),n!==null&&(Ot(n,e,s),Po(n,e,s))},enqueueReplaceState:function(e,n,r){e=e._reactInternals;var s=Vt(),u=pa(s);u.tag=1,u.payload=n,r!=null&&(u.callback=r),n=ha(e,u,s),n!==null&&(Ot(n,e,s),Po(n,e,s))},enqueueForceUpdate:function(e,n){e=e._reactInternals;var r=Vt(),s=pa(r);s.tag=2,n!=null&&(s.callback=n),n=ha(e,s,r),n!==null&&(Ot(n,e,r),Po(n,e,r))}};function Lh(e,n,r,s,u,m,w){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(s,m,w):n.prototype&&n.prototype.isPureReactComponent?!Lo(r,s)||!Lo(u,m):!0}function zh(e,n,r,s){e=n.state,typeof n.componentWillReceiveProps=="function"&&n.componentWillReceiveProps(r,s),typeof n.UNSAFE_componentWillReceiveProps=="function"&&n.UNSAFE_componentWillReceiveProps(r,s),n.state!==e&&Au.enqueueReplaceState(n,n.state,null)}function ar(e,n){var r=n;if("ref"in n){r={};for(var s in n)s!=="ref"&&(r[s]=n[s])}if(e=e.defaultProps){r===n&&(r=v({},r));for(var u in e)r[u]===void 0&&(r[u]=e[u])}return r}function Bh(e){di(e)}function Hh(e){console.error(e)}function Uh(e){di(e)}function Di(e,n){try{var r=e.onUncaughtError;r(n.value,{componentStack:n.stack})}catch(s){setTimeout(function(){throw s})}}function Wh(e,n,r){try{var s=e.onCaughtError;s(r.value,{componentStack:r.stack,errorBoundary:n.tag===1?n.stateNode:null})}catch(u){setTimeout(function(){throw u})}}function _u(e,n,r){return r=pa(r),r.tag=3,r.payload={element:null},r.callback=function(){Di(e,n)},r}function qh(e){return e=pa(e),e.tag=3,e}function Ih(e,n,r,s){var u=r.type.getDerivedStateFromError;if(typeof u=="function"){var m=s.value;e.payload=function(){return u(m)},e.callback=function(){Wh(n,r,s)}}var w=r.stateNode;w!==null&&typeof w.componentDidCatch=="function"&&(e.callback=function(){Wh(n,r,s),typeof u!="function"&&(xa===null?xa=new Set([this]):xa.add(this));var _=s.stack;this.componentDidCatch(s.value,{componentStack:_!==null?_:""})})}function V1(e,n,r,s,u){if(r.flags|=32768,s!==null&&typeof s=="object"&&typeof s.then=="function"){if(n=r.alternate,n!==null&&Dr(n,r,u,!0),r=Pt.current,r!==null){switch(r.tag){case 31:case 13:return sn===null?Fi():r.alternate===null&&et===0&&(et=3),r.flags&=-257,r.flags|=65536,r.lanes=u,s===xi?r.flags|=16384:(n=r.updateQueue,n===null?r.updateQueue=new Set([s]):n.add(s),Ju(e,s,u)),!1;case 22:return r.flags|=65536,s===xi?r.flags|=16384:(n=r.updateQueue,n===null?(n={transitions:null,markerInstances:null,retryQueue:new Set([s])},r.updateQueue=n):(r=n.retryQueue,r===null?n.retryQueue=new Set([s]):r.add(s)),Ju(e,s,u)),!1}throw Error(i(435,r.tag))}return Ju(e,s,u),Fi(),!1}if(Be)return n=Pt.current,n!==null?((n.flags&65536)===0&&(n.flags|=256),n.flags|=65536,n.lanes=u,s!==Vc&&(e=Error(i(422),{cause:s}),Ho(nn(e,r)))):(s!==Vc&&(n=Error(i(423),{cause:s}),Ho(nn(n,r))),e=e.current.alternate,e.flags|=65536,u&=-u,e.lanes|=u,s=nn(s,r),u=_u(e.stateNode,s,u),ru(e,u),et!==4&&(et=2)),!1;var m=Error(i(520),{cause:s});if(m=nn(m,r),as===null?as=[m]:as.push(m),et!==4&&(et=2),n===null)return!0;s=nn(s,r),r=n;do{switch(r.tag){case 3:return r.flags|=65536,e=u&-u,r.lanes|=e,e=_u(r.stateNode,s,e),ru(r,e),!1;case 1:if(n=r.type,m=r.stateNode,(r.flags&128)===0&&(typeof n.getDerivedStateFromError=="function"||m!==null&&typeof m.componentDidCatch=="function"&&(xa===null||!xa.has(m))))return r.flags|=65536,u&=-u,r.lanes|=u,u=qh(u),Ih(u,e,r,s),ru(r,u),!1}r=r.return}while(r!==null);return!1}var Nu=Error(i(461)),st=!1;function ht(e,n,r,s){n.child=e===null?Fp(n,null,r,s):tr(n,e.child,r,s)}function Ph(e,n,r,s,u){r=r.render;var m=n.ref;if("ref"in s){var w={};for(var _ in s)_!=="ref"&&(w[_]=s[_])}else w=s;return Za(n),s=uu(e,n,r,w,m,u),_=du(),e!==null&&!st?(fu(e,n,u),Pn(e,n,u)):(Be&&_&&Kc(n),n.flags|=1,ht(e,n,s,u),n.child)}function Yh(e,n,r,s,u){if(e===null){var m=r.type;return typeof m=="function"&&!Ic(m)&&m.defaultProps===void 0&&r.compare===null?(n.tag=15,n.type=m,Kh(e,n,m,s,u)):(e=hi(r.type,null,s,n,n.mode,u),e.ref=n.ref,e.return=n,n.child=e)}if(m=e.child,!Bu(e,u)){var w=m.memoizedProps;if(r=r.compare,r=r!==null?r:Lo,r(w,s)&&e.ref===n.ref)return Pn(e,n,u)}return n.flags|=1,e=Bn(m,s),e.ref=n.ref,e.return=n,n.child=e}function Kh(e,n,r,s,u){if(e!==null){var m=e.memoizedProps;if(Lo(m,s)&&e.ref===n.ref)if(st=!1,n.pendingProps=s=m,Bu(e,u))(e.flags&131072)!==0&&(st=!0);else return n.lanes=e.lanes,Pn(e,n,u)}return Ru(e,n,r,s,u)}function Fh(e,n,r,s){var u=s.children,m=e!==null?e.memoizedState:null;if(e===null&&n.stateNode===null&&(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),s.mode==="hidden"){if((n.flags&128)!==0){if(m=m!==null?m.baseLanes|r:r,e!==null){for(s=n.child=e.child,u=0;s!==null;)u=u|s.lanes|s.childLanes,s=s.sibling;s=u&~m}else s=0,n.child=null;return Vh(e,n,m,r,s)}if((r&536870912)!==0)n.memoizedState={baseLanes:0,cachePool:null},e!==null&&bi(n,m!==null?m.cachePool:null),m!==null?$p(n,m):su(),Xp(n);else return s=n.lanes=536870912,Vh(e,n,m!==null?m.baseLanes|r:r,r,s)}else m!==null?(bi(n,m.cachePool),$p(n,m),va(),n.memoizedState=null):(e!==null&&bi(n,null),su(),va());return ht(e,n,u,r),n.child}function Xo(e,n){return e!==null&&e.tag===22||n.stateNode!==null||(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),n.sibling}function Vh(e,n,r,s,u){var m=eu();return m=m===null?null:{parent:rt._currentValue,pool:m},n.memoizedState={baseLanes:r,cachePool:m},e!==null&&bi(n,null),su(),Xp(n),e!==null&&Dr(e,n,s,!0),n.childLanes=u,null}function Li(e,n){return n=Bi({mode:n.mode,children:n.children},e.mode),n.ref=e.ref,e.child=n,n.return=e,n}function Gh(e,n,r){return tr(n,e.child,null,r),e=Li(n,n.pendingProps),e.flags|=2,Yt(n),n.memoizedState=null,e}function G1(e,n,r){var s=n.pendingProps,u=(n.flags&128)!==0;if(n.flags&=-129,e===null){if(Be){if(s.mode==="hidden")return e=Li(n,s),n.lanes=536870912,Xo(null,e);if(lu(n),(e=Ve)?(e=sv(e,on),e=e!==null&&e.data==="&"?e:null,e!==null&&(n.memoizedState={dehydrated:e,treeContext:ca!==null?{id:kn,overflow:Sn}:null,retryLane:536870912,hydrationErrors:null},r=jp(e),r.return=n,n.child=r,mt=n,Ve=null)):e=null,e===null)throw da(n);return n.lanes=536870912,null}return Li(n,s)}var m=e.memoizedState;if(m!==null){var w=m.dehydrated;if(lu(n),u)if(n.flags&256)n.flags&=-257,n=Gh(e,n,r);else if(n.memoizedState!==null)n.child=e.child,n.flags|=128,n=null;else throw Error(i(558));else if(st||Dr(e,n,r,!1),u=(r&e.childLanes)!==0,st||u){if(s=Fe,s!==null&&(w=Hm(s,r),w!==0&&w!==m.retryLane))throw m.retryLane=w,Va(e,w),Ot(s,e,w),Nu;Fi(),n=Gh(e,n,r)}else e=m.treeContext,Ve=ln(w.nextSibling),mt=n,Be=!0,ua=null,on=!1,e!==null&&Dp(n,e),n=Li(n,s),n.flags|=4096;return n}return e=Bn(e.child,{mode:s.mode,children:s.children}),e.ref=n.ref,n.child=e,e.return=n,e}function zi(e,n){var r=n.ref;if(r===null)e!==null&&e.ref!==null&&(n.flags|=4194816);else{if(typeof r!="function"&&typeof r!="object")throw Error(i(284));(e===null||e.ref!==r)&&(n.flags|=4194816)}}function Ru(e,n,r,s,u){return Za(n),r=uu(e,n,r,s,void 0,u),s=du(),e!==null&&!st?(fu(e,n,u),Pn(e,n,u)):(Be&&s&&Kc(n),n.flags|=1,ht(e,n,r,u),n.child)}function $h(e,n,r,s,u,m){return Za(n),n.updateQueue=null,r=Qp(n,s,r,u),Zp(e),s=du(),e!==null&&!st?(fu(e,n,m),Pn(e,n,m)):(Be&&s&&Kc(n),n.flags|=1,ht(e,n,r,m),n.child)}function Xh(e,n,r,s,u){if(Za(n),n.stateNode===null){var m=Rr,w=r.contextType;typeof w=="object"&&w!==null&&(m=pt(w)),m=new r(s,m),n.memoizedState=m.state!==null&&m.state!==void 0?m.state:null,m.updater=Au,n.stateNode=m,m._reactInternals=n,m=n.stateNode,m.props=s,m.state=n.memoizedState,m.refs={},nu(n),w=r.contextType,m.context=typeof w=="object"&&w!==null?pt(w):Rr,m.state=n.memoizedState,w=r.getDerivedStateFromProps,typeof w=="function"&&(Cu(n,r,w,s),m.state=n.memoizedState),typeof r.getDerivedStateFromProps=="function"||typeof m.getSnapshotBeforeUpdate=="function"||typeof m.UNSAFE_componentWillMount!="function"&&typeof m.componentWillMount!="function"||(w=m.state,typeof m.componentWillMount=="function"&&m.componentWillMount(),typeof m.UNSAFE_componentWillMount=="function"&&m.UNSAFE_componentWillMount(),w!==m.state&&Au.enqueueReplaceState(m,m.state,null),Ko(n,s,m,u),Yo(),m.state=n.memoizedState),typeof m.componentDidMount=="function"&&(n.flags|=4194308),s=!0}else if(e===null){m=n.stateNode;var _=n.memoizedProps,L=ar(r,_);m.props=L;var F=m.context,te=r.contextType;w=Rr,typeof te=="object"&&te!==null&&(w=pt(te));var re=r.getDerivedStateFromProps;te=typeof re=="function"||typeof m.getSnapshotBeforeUpdate=="function",_=n.pendingProps!==_,te||typeof m.UNSAFE_componentWillReceiveProps!="function"&&typeof m.componentWillReceiveProps!="function"||(_||F!==w)&&zh(n,m,s,w),ma=!1;var G=n.memoizedState;m.state=G,Ko(n,s,m,u),Yo(),F=n.memoizedState,_||G!==F||ma?(typeof re=="function"&&(Cu(n,r,re,s),F=n.memoizedState),(L=ma||Lh(n,r,L,s,G,F,w))?(te||typeof m.UNSAFE_componentWillMount!="function"&&typeof m.componentWillMount!="function"||(typeof m.componentWillMount=="function"&&m.componentWillMount(),typeof m.UNSAFE_componentWillMount=="function"&&m.UNSAFE_componentWillMount()),typeof m.componentDidMount=="function"&&(n.flags|=4194308)):(typeof m.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=s,n.memoizedState=F),m.props=s,m.state=F,m.context=w,s=L):(typeof m.componentDidMount=="function"&&(n.flags|=4194308),s=!1)}else{m=n.stateNode,au(e,n),w=n.memoizedProps,te=ar(r,w),m.props=te,re=n.pendingProps,G=m.context,F=r.contextType,L=Rr,typeof F=="object"&&F!==null&&(L=pt(F)),_=r.getDerivedStateFromProps,(F=typeof _=="function"||typeof m.getSnapshotBeforeUpdate=="function")||typeof m.UNSAFE_componentWillReceiveProps!="function"&&typeof m.componentWillReceiveProps!="function"||(w!==re||G!==L)&&zh(n,m,s,L),ma=!1,G=n.memoizedState,m.state=G,Ko(n,s,m,u),Yo();var J=n.memoizedState;w!==re||G!==J||ma||e!==null&&e.dependencies!==null&&vi(e.dependencies)?(typeof _=="function"&&(Cu(n,r,_,s),J=n.memoizedState),(te=ma||Lh(n,r,te,s,G,J,L)||e!==null&&e.dependencies!==null&&vi(e.dependencies))?(F||typeof m.UNSAFE_componentWillUpdate!="function"&&typeof m.componentWillUpdate!="function"||(typeof m.componentWillUpdate=="function"&&m.componentWillUpdate(s,J,L),typeof m.UNSAFE_componentWillUpdate=="function"&&m.UNSAFE_componentWillUpdate(s,J,L)),typeof m.componentDidUpdate=="function"&&(n.flags|=4),typeof m.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof m.componentDidUpdate!="function"||w===e.memoizedProps&&G===e.memoizedState||(n.flags|=4),typeof m.getSnapshotBeforeUpdate!="function"||w===e.memoizedProps&&G===e.memoizedState||(n.flags|=1024),n.memoizedProps=s,n.memoizedState=J),m.props=s,m.state=J,m.context=L,s=te):(typeof m.componentDidUpdate!="function"||w===e.memoizedProps&&G===e.memoizedState||(n.flags|=4),typeof m.getSnapshotBeforeUpdate!="function"||w===e.memoizedProps&&G===e.memoizedState||(n.flags|=1024),s=!1)}return m=s,zi(e,n),s=(n.flags&128)!==0,m||s?(m=n.stateNode,r=s&&typeof r.getDerivedStateFromError!="function"?null:m.render(),n.flags|=1,e!==null&&s?(n.child=tr(n,e.child,null,u),n.child=tr(n,null,r,u)):ht(e,n,r,u),n.memoizedState=m.state,e=n.child):e=Pn(e,n,u),e}function Zh(e,n,r,s){return $a(),n.flags|=256,ht(e,n,r,s),n.child}var ju={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Ou(e){return{baseLanes:e,cachePool:Wp()}}function Mu(e,n,r){return e=e!==null?e.childLanes&~r:0,n&&(e|=Ft),e}function Qh(e,n,r){var s=n.pendingProps,u=!1,m=(n.flags&128)!==0,w;if((w=m)||(w=e!==null&&e.memoizedState===null?!1:(tt.current&2)!==0),w&&(u=!0,n.flags&=-129),w=(n.flags&32)!==0,n.flags&=-33,e===null){if(Be){if(u?ga(n):va(),(e=Ve)?(e=sv(e,on),e=e!==null&&e.data!=="&"?e:null,e!==null&&(n.memoizedState={dehydrated:e,treeContext:ca!==null?{id:kn,overflow:Sn}:null,retryLane:536870912,hydrationErrors:null},r=jp(e),r.return=n,n.child=r,mt=n,Ve=null)):e=null,e===null)throw da(n);return hd(e)?n.lanes=32:n.lanes=536870912,null}var _=s.children;return s=s.fallback,u?(va(),u=n.mode,_=Bi({mode:"hidden",children:_},u),s=Ga(s,u,r,null),_.return=n,s.return=n,_.sibling=s,n.child=_,s=n.child,s.memoizedState=Ou(r),s.childLanes=Mu(e,w,r),n.memoizedState=ju,Xo(null,s)):(ga(n),Du(n,_))}var L=e.memoizedState;if(L!==null&&(_=L.dehydrated,_!==null)){if(m)n.flags&256?(ga(n),n.flags&=-257,n=Lu(e,n,r)):n.memoizedState!==null?(va(),n.child=e.child,n.flags|=128,n=null):(va(),_=s.fallback,u=n.mode,s=Bi({mode:"visible",children:s.children},u),_=Ga(_,u,r,null),_.flags|=2,s.return=n,_.return=n,s.sibling=_,n.child=s,tr(n,e.child,null,r),s=n.child,s.memoizedState=Ou(r),s.childLanes=Mu(e,w,r),n.memoizedState=ju,n=Xo(null,s));else if(ga(n),hd(_)){if(w=_.nextSibling&&_.nextSibling.dataset,w)var F=w.dgst;w=F,s=Error(i(419)),s.stack="",s.digest=w,Ho({value:s,source:null,stack:null}),n=Lu(e,n,r)}else if(st||Dr(e,n,r,!1),w=(r&e.childLanes)!==0,st||w){if(w=Fe,w!==null&&(s=Hm(w,r),s!==0&&s!==L.retryLane))throw L.retryLane=s,Va(e,s),Ot(w,e,s),Nu;pd(_)||Fi(),n=Lu(e,n,r)}else pd(_)?(n.flags|=192,n.child=e.child,n=null):(e=L.treeContext,Ve=ln(_.nextSibling),mt=n,Be=!0,ua=null,on=!1,e!==null&&Dp(n,e),n=Du(n,s.children),n.flags|=4096);return n}return u?(va(),_=s.fallback,u=n.mode,L=e.child,F=L.sibling,s=Bn(L,{mode:"hidden",children:s.children}),s.subtreeFlags=L.subtreeFlags&65011712,F!==null?_=Bn(F,_):(_=Ga(_,u,r,null),_.flags|=2),_.return=n,s.return=n,s.sibling=_,n.child=s,Xo(null,s),s=n.child,_=e.child.memoizedState,_===null?_=Ou(r):(u=_.cachePool,u!==null?(L=rt._currentValue,u=u.parent!==L?{parent:L,pool:L}:u):u=Wp(),_={baseLanes:_.baseLanes|r,cachePool:u}),s.memoizedState=_,s.childLanes=Mu(e,w,r),n.memoizedState=ju,Xo(e.child,s)):(ga(n),r=e.child,e=r.sibling,r=Bn(r,{mode:"visible",children:s.children}),r.return=n,r.sibling=null,e!==null&&(w=n.deletions,w===null?(n.deletions=[e],n.flags|=16):w.push(e)),n.child=r,n.memoizedState=null,r)}function Du(e,n){return n=Bi({mode:"visible",children:n},e.mode),n.return=e,e.child=n}function Bi(e,n){return e=It(22,e,null,n),e.lanes=0,e}function Lu(e,n,r){return tr(n,e.child,null,r),e=Du(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function Jh(e,n,r){e.lanes|=n;var s=e.alternate;s!==null&&(s.lanes|=n),Xc(e.return,n,r)}function zu(e,n,r,s,u,m){var w=e.memoizedState;w===null?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:s,tail:r,tailMode:u,treeForkCount:m}:(w.isBackwards=n,w.rendering=null,w.renderingStartTime=0,w.last=s,w.tail=r,w.tailMode=u,w.treeForkCount=m)}function eg(e,n,r){var s=n.pendingProps,u=s.revealOrder,m=s.tail;s=s.children;var w=tt.current,_=(w&2)!==0;if(_?(w=w&1|2,n.flags|=128):w&=1,oe(tt,w),ht(e,n,s,r),s=Be?Bo:0,!_&&e!==null&&(e.flags&128)!==0)e:for(e=n.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Jh(e,r,n);else if(e.tag===19)Jh(e,r,n);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break e;for(;e.sibling===null;){if(e.return===null||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(u){case"forwards":for(r=n.child,u=null;r!==null;)e=r.alternate,e!==null&&Ti(e)===null&&(u=r),r=r.sibling;r=u,r===null?(u=n.child,n.child=null):(u=r.sibling,r.sibling=null),zu(n,!1,u,r,m,s);break;case"backwards":case"unstable_legacy-backwards":for(r=null,u=n.child,n.child=null;u!==null;){if(e=u.alternate,e!==null&&Ti(e)===null){n.child=u;break}e=u.sibling,u.sibling=r,r=u,u=e}zu(n,!0,r,null,m,s);break;case"together":zu(n,!1,null,null,void 0,s);break;default:n.memoizedState=null}return n.child}function Pn(e,n,r){if(e!==null&&(n.dependencies=e.dependencies),wa|=n.lanes,(r&n.childLanes)===0)if(e!==null){if(Dr(e,n,r,!1),(r&n.childLanes)===0)return null}else return null;if(e!==null&&n.child!==e.child)throw Error(i(153));if(n.child!==null){for(e=n.child,r=Bn(e,e.pendingProps),n.child=r,r.return=n;e.sibling!==null;)e=e.sibling,r=r.sibling=Bn(e,e.pendingProps),r.return=n;r.sibling=null}return n.child}function Bu(e,n){return(e.lanes&n)!==0?!0:(e=e.dependencies,!!(e!==null&&vi(e)))}function $1(e,n,r){switch(n.tag){case 3:ie(n,n.stateNode.containerInfo),fa(n,rt,e.memoizedState.cache),$a();break;case 27:case 5:de(n);break;case 4:ie(n,n.stateNode.containerInfo);break;case 10:fa(n,n.type,n.memoizedProps.value);break;case 31:if(n.memoizedState!==null)return n.flags|=128,lu(n),null;break;case 13:var s=n.memoizedState;if(s!==null)return s.dehydrated!==null?(ga(n),n.flags|=128,null):(r&n.child.childLanes)!==0?Qh(e,n,r):(ga(n),e=Pn(e,n,r),e!==null?e.sibling:null);ga(n);break;case 19:var u=(e.flags&128)!==0;if(s=(r&n.childLanes)!==0,s||(Dr(e,n,r,!1),s=(r&n.childLanes)!==0),u){if(s)return eg(e,n,r);n.flags|=128}if(u=n.memoizedState,u!==null&&(u.rendering=null,u.tail=null,u.lastEffect=null),oe(tt,tt.current),s)break;return null;case 22:return n.lanes=0,Fh(e,n,r,n.pendingProps);case 24:fa(n,rt,e.memoizedState.cache)}return Pn(e,n,r)}function tg(e,n,r){if(e!==null)if(e.memoizedProps!==n.pendingProps)st=!0;else{if(!Bu(e,r)&&(n.flags&128)===0)return st=!1,$1(e,n,r);st=(e.flags&131072)!==0}else st=!1,Be&&(n.flags&1048576)!==0&&Mp(n,Bo,n.index);switch(n.lanes=0,n.tag){case 16:e:{var s=n.pendingProps;if(e=Ja(n.elementType),n.type=e,typeof e=="function")Ic(e)?(s=ar(e,s),n.tag=1,n=Xh(null,n,e,s,r)):(n.tag=0,n=Ru(null,n,e,s,r));else{if(e!=null){var u=e.$$typeof;if(u===R){n.tag=11,n=Ph(null,n,e,s,r);break e}else if(u===z){n.tag=14,n=Yh(null,n,e,s,r);break e}}throw n=X(e)||e,Error(i(306,n,""))}}return n;case 0:return Ru(e,n,n.type,n.pendingProps,r);case 1:return s=n.type,u=ar(s,n.pendingProps),Xh(e,n,s,u,r);case 3:e:{if(ie(n,n.stateNode.containerInfo),e===null)throw Error(i(387));s=n.pendingProps;var m=n.memoizedState;u=m.element,au(e,n),Ko(n,s,null,r);var w=n.memoizedState;if(s=w.cache,fa(n,rt,s),s!==m.cache&&Zc(n,[rt],r,!0),Yo(),s=w.element,m.isDehydrated)if(m={element:s,isDehydrated:!1,cache:w.cache},n.updateQueue.baseState=m,n.memoizedState=m,n.flags&256){n=Zh(e,n,s,r);break e}else if(s!==u){u=nn(Error(i(424)),n),Ho(u),n=Zh(e,n,s,r);break e}else for(e=n.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,Ve=ln(e.firstChild),mt=n,Be=!0,ua=null,on=!0,r=Fp(n,null,s,r),n.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if($a(),s===u){n=Pn(e,n,r);break e}ht(e,n,s,r)}n=n.child}return n;case 26:return zi(e,n),e===null?(r=fv(n.type,null,n.pendingProps,null))?n.memoizedState=r:Be||(r=n.type,e=n.pendingProps,s=Ji(pe.current).createElement(r),s[ft]=n,s[Ct]=e,gt(s,r,e),ut(s),n.stateNode=s):n.memoizedState=fv(n.type,e.memoizedProps,n.pendingProps,e.memoizedState),null;case 27:return de(n),e===null&&Be&&(s=n.stateNode=cv(n.type,n.pendingProps,pe.current),mt=n,on=!0,u=Ve,Ta(n.type)?(gd=u,Ve=ln(s.firstChild)):Ve=u),ht(e,n,n.pendingProps.children,r),zi(e,n),e===null&&(n.flags|=4194304),n.child;case 5:return e===null&&Be&&((u=s=Ve)&&(s=T2(s,n.type,n.pendingProps,on),s!==null?(n.stateNode=s,mt=n,Ve=ln(s.firstChild),on=!1,u=!0):u=!1),u||da(n)),de(n),u=n.type,m=n.pendingProps,w=e!==null?e.memoizedProps:null,s=m.children,dd(u,m)?s=null:w!==null&&dd(u,w)&&(n.flags|=32),n.memoizedState!==null&&(u=uu(e,n,W1,null,null,r),ds._currentValue=u),zi(e,n),ht(e,n,s,r),n.child;case 6:return e===null&&Be&&((e=r=Ve)&&(r=C2(r,n.pendingProps,on),r!==null?(n.stateNode=r,mt=n,Ve=null,e=!0):e=!1),e||da(n)),null;case 13:return Qh(e,n,r);case 4:return ie(n,n.stateNode.containerInfo),s=n.pendingProps,e===null?n.child=tr(n,null,s,r):ht(e,n,s,r),n.child;case 11:return Ph(e,n,n.type,n.pendingProps,r);case 7:return ht(e,n,n.pendingProps,r),n.child;case 8:return ht(e,n,n.pendingProps.children,r),n.child;case 12:return ht(e,n,n.pendingProps.children,r),n.child;case 10:return s=n.pendingProps,fa(n,n.type,s.value),ht(e,n,s.children,r),n.child;case 9:return u=n.type._context,s=n.pendingProps.children,Za(n),u=pt(u),s=s(u),n.flags|=1,ht(e,n,s,r),n.child;case 14:return Yh(e,n,n.type,n.pendingProps,r);case 15:return Kh(e,n,n.type,n.pendingProps,r);case 19:return eg(e,n,r);case 31:return G1(e,n,r);case 22:return Fh(e,n,r,n.pendingProps);case 24:return Za(n),s=pt(rt),e===null?(u=eu(),u===null&&(u=Fe,m=Qc(),u.pooledCache=m,m.refCount++,m!==null&&(u.pooledCacheLanes|=r),u=m),n.memoizedState={parent:s,cache:u},nu(n),fa(n,rt,u)):((e.lanes&r)!==0&&(au(e,n),Ko(n,null,null,r),Yo()),u=e.memoizedState,m=n.memoizedState,u.parent!==s?(u={parent:s,cache:s},n.memoizedState=u,n.lanes===0&&(n.memoizedState=n.updateQueue.baseState=u),fa(n,rt,s)):(s=m.cache,fa(n,rt,s),s!==u.cache&&Zc(n,[rt],r,!0))),ht(e,n,n.pendingProps.children,r),n.child;case 29:throw n.pendingProps}throw Error(i(156,n.tag))}function Yn(e){e.flags|=4}function Hu(e,n,r,s,u){if((n=(e.mode&32)!==0)&&(n=!1),n){if(e.flags|=16777216,(u&335544128)===u)if(e.stateNode.complete)e.flags|=8192;else if(_g())e.flags|=8192;else throw er=xi,tu}else e.flags&=-16777217}function ng(e,n){if(n.type!=="stylesheet"||(n.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!vv(n))if(_g())e.flags|=8192;else throw er=xi,tu}function Hi(e,n){n!==null&&(e.flags|=4),e.flags&16384&&(n=e.tag!==22?Lm():536870912,e.lanes|=n,Fr|=n)}function Zo(e,n){if(!Be)switch(e.tailMode){case"hidden":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?e.tail=null:r.sibling=null;break;case"collapsed":r=e.tail;for(var s=null;r!==null;)r.alternate!==null&&(s=r),r=r.sibling;s===null?n||e.tail===null?e.tail=null:e.tail.sibling=null:s.sibling=null}}function Ge(e){var n=e.alternate!==null&&e.alternate.child===e.child,r=0,s=0;if(n)for(var u=e.child;u!==null;)r|=u.lanes|u.childLanes,s|=u.subtreeFlags&65011712,s|=u.flags&65011712,u.return=e,u=u.sibling;else for(u=e.child;u!==null;)r|=u.lanes|u.childLanes,s|=u.subtreeFlags,s|=u.flags,u.return=e,u=u.sibling;return e.subtreeFlags|=s,e.childLanes=r,n}function X1(e,n,r){var s=n.pendingProps;switch(Fc(n),n.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ge(n),null;case 1:return Ge(n),null;case 3:return r=n.stateNode,s=null,e!==null&&(s=e.memoizedState.cache),n.memoizedState.cache!==s&&(n.flags|=2048),Wn(rt),se(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(Mr(n)?Yn(n):e===null||e.memoizedState.isDehydrated&&(n.flags&256)===0||(n.flags|=1024,Gc())),Ge(n),null;case 26:var u=n.type,m=n.memoizedState;return e===null?(Yn(n),m!==null?(Ge(n),ng(n,m)):(Ge(n),Hu(n,u,null,s,r))):m?m!==e.memoizedState?(Yn(n),Ge(n),ng(n,m)):(Ge(n),n.flags&=-16777217):(e=e.memoizedProps,e!==s&&Yn(n),Ge(n),Hu(n,u,e,s,r)),null;case 27:if(me(n),r=pe.current,u=n.type,e!==null&&n.stateNode!=null)e.memoizedProps!==s&&Yn(n);else{if(!s){if(n.stateNode===null)throw Error(i(166));return Ge(n),null}e=ue.current,Mr(n)?Lp(n):(e=cv(u,s,r),n.stateNode=e,Yn(n))}return Ge(n),null;case 5:if(me(n),u=n.type,e!==null&&n.stateNode!=null)e.memoizedProps!==s&&Yn(n);else{if(!s){if(n.stateNode===null)throw Error(i(166));return Ge(n),null}if(m=ue.current,Mr(n))Lp(n);else{var w=Ji(pe.current);switch(m){case 1:m=w.createElementNS("http://www.w3.org/2000/svg",u);break;case 2:m=w.createElementNS("http://www.w3.org/1998/Math/MathML",u);break;default:switch(u){case"svg":m=w.createElementNS("http://www.w3.org/2000/svg",u);break;case"math":m=w.createElementNS("http://www.w3.org/1998/Math/MathML",u);break;case"script":m=w.createElement("div"),m.innerHTML="<script><\/script>",m=m.removeChild(m.firstChild);break;case"select":m=typeof s.is=="string"?w.createElement("select",{is:s.is}):w.createElement("select"),s.multiple?m.multiple=!0:s.size&&(m.size=s.size);break;default:m=typeof s.is=="string"?w.createElement(u,{is:s.is}):w.createElement(u)}}m[ft]=n,m[Ct]=s;e:for(w=n.child;w!==null;){if(w.tag===5||w.tag===6)m.appendChild(w.stateNode);else if(w.tag!==4&&w.tag!==27&&w.child!==null){w.child.return=w,w=w.child;continue}if(w===n)break e;for(;w.sibling===null;){if(w.return===null||w.return===n)break e;w=w.return}w.sibling.return=w.return,w=w.sibling}n.stateNode=m;e:switch(gt(m,u,s),u){case"button":case"input":case"select":case"textarea":s=!!s.autoFocus;break e;case"img":s=!0;break e;default:s=!1}s&&Yn(n)}}return Ge(n),Hu(n,n.type,e===null?null:e.memoizedProps,n.pendingProps,r),null;case 6:if(e&&n.stateNode!=null)e.memoizedProps!==s&&Yn(n);else{if(typeof s!="string"&&n.stateNode===null)throw Error(i(166));if(e=pe.current,Mr(n)){if(e=n.stateNode,r=n.memoizedProps,s=null,u=mt,u!==null)switch(u.tag){case 27:case 5:s=u.memoizedProps}e[ft]=n,e=!!(e.nodeValue===r||s!==null&&s.suppressHydrationWarning===!0||Qg(e.nodeValue,r)),e||da(n,!0)}else e=Ji(e).createTextNode(s),e[ft]=n,n.stateNode=e}return Ge(n),null;case 31:if(r=n.memoizedState,e===null||e.memoizedState!==null){if(s=Mr(n),r!==null){if(e===null){if(!s)throw Error(i(318));if(e=n.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(i(557));e[ft]=n}else $a(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;Ge(n),e=!1}else r=Gc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=r),e=!0;if(!e)return n.flags&256?(Yt(n),n):(Yt(n),null);if((n.flags&128)!==0)throw Error(i(558))}return Ge(n),null;case 13:if(s=n.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(u=Mr(n),s!==null&&s.dehydrated!==null){if(e===null){if(!u)throw Error(i(318));if(u=n.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(i(317));u[ft]=n}else $a(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;Ge(n),u=!1}else u=Gc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=u),u=!0;if(!u)return n.flags&256?(Yt(n),n):(Yt(n),null)}return Yt(n),(n.flags&128)!==0?(n.lanes=r,n):(r=s!==null,e=e!==null&&e.memoizedState!==null,r&&(s=n.child,u=null,s.alternate!==null&&s.alternate.memoizedState!==null&&s.alternate.memoizedState.cachePool!==null&&(u=s.alternate.memoizedState.cachePool.pool),m=null,s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(m=s.memoizedState.cachePool.pool),m!==u&&(s.flags|=2048)),r!==e&&r&&(n.child.flags|=8192),Hi(n,n.updateQueue),Ge(n),null);case 4:return se(),e===null&&sd(n.stateNode.containerInfo),Ge(n),null;case 10:return Wn(n.type),Ge(n),null;case 19:if(H(tt),s=n.memoizedState,s===null)return Ge(n),null;if(u=(n.flags&128)!==0,m=s.rendering,m===null)if(u)Zo(s,!1);else{if(et!==0||e!==null&&(e.flags&128)!==0)for(e=n.child;e!==null;){if(m=Ti(e),m!==null){for(n.flags|=128,Zo(s,!1),e=m.updateQueue,n.updateQueue=e,Hi(n,e),n.subtreeFlags=0,e=r,r=n.child;r!==null;)Rp(r,e),r=r.sibling;return oe(tt,tt.current&1|2),Be&&Hn(n,s.treeForkCount),n.child}e=e.sibling}s.tail!==null&&De()>Pi&&(n.flags|=128,u=!0,Zo(s,!1),n.lanes=4194304)}else{if(!u)if(e=Ti(m),e!==null){if(n.flags|=128,u=!0,e=e.updateQueue,n.updateQueue=e,Hi(n,e),Zo(s,!0),s.tail===null&&s.tailMode==="hidden"&&!m.alternate&&!Be)return Ge(n),null}else 2*De()-s.renderingStartTime>Pi&&r!==536870912&&(n.flags|=128,u=!0,Zo(s,!1),n.lanes=4194304);s.isBackwards?(m.sibling=n.child,n.child=m):(e=s.last,e!==null?e.sibling=m:n.child=m,s.last=m)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=De(),e.sibling=null,r=tt.current,oe(tt,u?r&1|2:r&1),Be&&Hn(n,s.treeForkCount),e):(Ge(n),null);case 22:case 23:return Yt(n),iu(),s=n.memoizedState!==null,e!==null?e.memoizedState!==null!==s&&(n.flags|=8192):s&&(n.flags|=8192),s?(r&536870912)!==0&&(n.flags&128)===0&&(Ge(n),n.subtreeFlags&6&&(n.flags|=8192)):Ge(n),r=n.updateQueue,r!==null&&Hi(n,r.retryQueue),r=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(r=e.memoizedState.cachePool.pool),s=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(s=n.memoizedState.cachePool.pool),s!==r&&(n.flags|=2048),e!==null&&H(Qa),null;case 24:return r=null,e!==null&&(r=e.memoizedState.cache),n.memoizedState.cache!==r&&(n.flags|=2048),Wn(rt),Ge(n),null;case 25:return null;case 30:return null}throw Error(i(156,n.tag))}function Z1(e,n){switch(Fc(n),n.tag){case 1:return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return Wn(rt),se(),e=n.flags,(e&65536)!==0&&(e&128)===0?(n.flags=e&-65537|128,n):null;case 26:case 27:case 5:return me(n),null;case 31:if(n.memoizedState!==null){if(Yt(n),n.alternate===null)throw Error(i(340));$a()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 13:if(Yt(n),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(i(340));$a()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return H(tt),null;case 4:return se(),null;case 10:return Wn(n.type),null;case 22:case 23:return Yt(n),iu(),e!==null&&H(Qa),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 24:return Wn(rt),null;case 25:return null;default:return null}}function ag(e,n){switch(Fc(n),n.tag){case 3:Wn(rt),se();break;case 26:case 27:case 5:me(n);break;case 4:se();break;case 31:n.memoizedState!==null&&Yt(n);break;case 13:Yt(n);break;case 19:H(tt);break;case 10:Wn(n.type);break;case 22:case 23:Yt(n),iu(),e!==null&&H(Qa);break;case 24:Wn(rt)}}function Qo(e,n){try{var r=n.updateQueue,s=r!==null?r.lastEffect:null;if(s!==null){var u=s.next;r=u;do{if((r.tag&e)===e){s=void 0;var m=r.create,w=r.inst;s=m(),w.destroy=s}r=r.next}while(r!==u)}}catch(_){Ie(n,n.return,_)}}function ya(e,n,r){try{var s=n.updateQueue,u=s!==null?s.lastEffect:null;if(u!==null){var m=u.next;s=m;do{if((s.tag&e)===e){var w=s.inst,_=w.destroy;if(_!==void 0){w.destroy=void 0,u=n;var L=r,F=_;try{F()}catch(te){Ie(u,L,te)}}}s=s.next}while(s!==m)}}catch(te){Ie(n,n.return,te)}}function rg(e){var n=e.updateQueue;if(n!==null){var r=e.stateNode;try{Gp(n,r)}catch(s){Ie(e,e.return,s)}}}function og(e,n,r){r.props=ar(e.type,e.memoizedProps),r.state=e.memoizedState;try{r.componentWillUnmount()}catch(s){Ie(e,n,s)}}function Jo(e,n){try{var r=e.ref;if(r!==null){switch(e.tag){case 26:case 27:case 5:var s=e.stateNode;break;case 30:s=e.stateNode;break;default:s=e.stateNode}typeof r=="function"?e.refCleanup=r(s):r.current=s}}catch(u){Ie(e,n,u)}}function En(e,n){var r=e.ref,s=e.refCleanup;if(r!==null)if(typeof s=="function")try{s()}catch(u){Ie(e,n,u)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof r=="function")try{r(null)}catch(u){Ie(e,n,u)}else r.current=null}function sg(e){var n=e.type,r=e.memoizedProps,s=e.stateNode;try{e:switch(n){case"button":case"input":case"select":case"textarea":r.autoFocus&&s.focus();break e;case"img":r.src?s.src=r.src:r.srcSet&&(s.srcset=r.srcSet)}}catch(u){Ie(e,e.return,u)}}function Uu(e,n,r){try{var s=e.stateNode;b2(s,e.type,r,n),s[Ct]=n}catch(u){Ie(e,e.return,u)}}function ig(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Ta(e.type)||e.tag===4}function Wu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ig(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Ta(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function qu(e,n,r){var s=e.tag;if(s===5||s===6)e=e.stateNode,n?(r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r).insertBefore(e,n):(n=r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r,n.appendChild(e),r=r._reactRootContainer,r!=null||n.onclick!==null||(n.onclick=Ln));else if(s!==4&&(s===27&&Ta(e.type)&&(r=e.stateNode,n=null),e=e.child,e!==null))for(qu(e,n,r),e=e.sibling;e!==null;)qu(e,n,r),e=e.sibling}function Ui(e,n,r){var s=e.tag;if(s===5||s===6)e=e.stateNode,n?r.insertBefore(e,n):r.appendChild(e);else if(s!==4&&(s===27&&Ta(e.type)&&(r=e.stateNode),e=e.child,e!==null))for(Ui(e,n,r),e=e.sibling;e!==null;)Ui(e,n,r),e=e.sibling}function lg(e){var n=e.stateNode,r=e.memoizedProps;try{for(var s=e.type,u=n.attributes;u.length;)n.removeAttributeNode(u[0]);gt(n,s,r),n[ft]=e,n[Ct]=r}catch(m){Ie(e,e.return,m)}}var Kn=!1,it=!1,Iu=!1,cg=typeof WeakSet=="function"?WeakSet:Set,dt=null;function Q1(e,n){if(e=e.containerInfo,cd=sl,e=xp(e),Lc(e)){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{r=(r=e.ownerDocument)&&r.defaultView||window;var s=r.getSelection&&r.getSelection();if(s&&s.rangeCount!==0){r=s.anchorNode;var u=s.anchorOffset,m=s.focusNode;s=s.focusOffset;try{r.nodeType,m.nodeType}catch{r=null;break e}var w=0,_=-1,L=-1,F=0,te=0,re=e,G=null;t:for(;;){for(var J;re!==r||u!==0&&re.nodeType!==3||(_=w+u),re!==m||s!==0&&re.nodeType!==3||(L=w+s),re.nodeType===3&&(w+=re.nodeValue.length),(J=re.firstChild)!==null;)G=re,re=J;for(;;){if(re===e)break t;if(G===r&&++F===u&&(_=w),G===m&&++te===s&&(L=w),(J=re.nextSibling)!==null)break;re=G,G=re.parentNode}re=J}r=_===-1||L===-1?null:{start:_,end:L}}else r=null}r=r||{start:0,end:0}}else r=null;for(ud={focusedElem:e,selectionRange:r},sl=!1,dt=n;dt!==null;)if(n=dt,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,dt=e;else for(;dt!==null;){switch(n=dt,m=n.alternate,e=n.flags,n.tag){case 0:if((e&4)!==0&&(e=n.updateQueue,e=e!==null?e.events:null,e!==null))for(r=0;r<e.length;r++)u=e[r],u.ref.impl=u.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&m!==null){e=void 0,r=n,u=m.memoizedProps,m=m.memoizedState,s=r.stateNode;try{var he=ar(r.type,u);e=s.getSnapshotBeforeUpdate(he,m),s.__reactInternalSnapshotBeforeUpdate=e}catch(ke){Ie(r,r.return,ke)}}break;case 3:if((e&1024)!==0){if(e=n.stateNode.containerInfo,r=e.nodeType,r===9)md(e);else if(r===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":md(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(i(163))}if(e=n.sibling,e!==null){e.return=n.return,dt=e;break}dt=n.return}}function ug(e,n,r){var s=r.flags;switch(r.tag){case 0:case 11:case 15:Vn(e,r),s&4&&Qo(5,r);break;case 1:if(Vn(e,r),s&4)if(e=r.stateNode,n===null)try{e.componentDidMount()}catch(w){Ie(r,r.return,w)}else{var u=ar(r.type,n.memoizedProps);n=n.memoizedState;try{e.componentDidUpdate(u,n,e.__reactInternalSnapshotBeforeUpdate)}catch(w){Ie(r,r.return,w)}}s&64&&rg(r),s&512&&Jo(r,r.return);break;case 3:if(Vn(e,r),s&64&&(e=r.updateQueue,e!==null)){if(n=null,r.child!==null)switch(r.child.tag){case 27:case 5:n=r.child.stateNode;break;case 1:n=r.child.stateNode}try{Gp(e,n)}catch(w){Ie(r,r.return,w)}}break;case 27:n===null&&s&4&&lg(r);case 26:case 5:Vn(e,r),n===null&&s&4&&sg(r),s&512&&Jo(r,r.return);break;case 12:Vn(e,r);break;case 31:Vn(e,r),s&4&&mg(e,r);break;case 13:Vn(e,r),s&4&&pg(e,r),s&64&&(e=r.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(r=i2.bind(null,r),A2(e,r))));break;case 22:if(s=r.memoizedState!==null||Kn,!s){n=n!==null&&n.memoizedState!==null||it,u=Kn;var m=it;Kn=s,(it=n)&&!m?Gn(e,r,(r.subtreeFlags&8772)!==0):Vn(e,r),Kn=u,it=m}break;case 30:break;default:Vn(e,r)}}function dg(e){var n=e.alternate;n!==null&&(e.alternate=null,dg(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&yc(n)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var $e=null,_t=!1;function Fn(e,n,r){for(r=r.child;r!==null;)fg(e,n,r),r=r.sibling}function fg(e,n,r){if(Ut&&typeof Ut.onCommitFiberUnmount=="function")try{Ut.onCommitFiberUnmount(So,r)}catch{}switch(r.tag){case 26:it||En(r,n),Fn(e,n,r),r.memoizedState?r.memoizedState.count--:r.stateNode&&(r=r.stateNode,r.parentNode.removeChild(r));break;case 27:it||En(r,n);var s=$e,u=_t;Ta(r.type)&&($e=r.stateNode,_t=!1),Fn(e,n,r),ls(r.stateNode),$e=s,_t=u;break;case 5:it||En(r,n);case 6:if(s=$e,u=_t,$e=null,Fn(e,n,r),$e=s,_t=u,$e!==null)if(_t)try{($e.nodeType===9?$e.body:$e.nodeName==="HTML"?$e.ownerDocument.body:$e).removeChild(r.stateNode)}catch(m){Ie(r,n,m)}else try{$e.removeChild(r.stateNode)}catch(m){Ie(r,n,m)}break;case 18:$e!==null&&(_t?(e=$e,rv(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,r.stateNode),eo(e)):rv($e,r.stateNode));break;case 4:s=$e,u=_t,$e=r.stateNode.containerInfo,_t=!0,Fn(e,n,r),$e=s,_t=u;break;case 0:case 11:case 14:case 15:ya(2,r,n),it||ya(4,r,n),Fn(e,n,r);break;case 1:it||(En(r,n),s=r.stateNode,typeof s.componentWillUnmount=="function"&&og(r,n,s)),Fn(e,n,r);break;case 21:Fn(e,n,r);break;case 22:it=(s=it)||r.memoizedState!==null,Fn(e,n,r),it=s;break;default:Fn(e,n,r)}}function mg(e,n){if(n.memoizedState===null&&(e=n.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{eo(e)}catch(r){Ie(n,n.return,r)}}}function pg(e,n){if(n.memoizedState===null&&(e=n.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{eo(e)}catch(r){Ie(n,n.return,r)}}function J1(e){switch(e.tag){case 31:case 13:case 19:var n=e.stateNode;return n===null&&(n=e.stateNode=new cg),n;case 22:return e=e.stateNode,n=e._retryCache,n===null&&(n=e._retryCache=new cg),n;default:throw Error(i(435,e.tag))}}function Wi(e,n){var r=J1(e);n.forEach(function(s){if(!r.has(s)){r.add(s);var u=l2.bind(null,e,s);s.then(u,u)}})}function Nt(e,n){var r=n.deletions;if(r!==null)for(var s=0;s<r.length;s++){var u=r[s],m=e,w=n,_=w;e:for(;_!==null;){switch(_.tag){case 27:if(Ta(_.type)){$e=_.stateNode,_t=!1;break e}break;case 5:$e=_.stateNode,_t=!1;break e;case 3:case 4:$e=_.stateNode.containerInfo,_t=!0;break e}_=_.return}if($e===null)throw Error(i(160));fg(m,w,u),$e=null,_t=!1,m=u.alternate,m!==null&&(m.return=null),u.return=null}if(n.subtreeFlags&13886)for(n=n.child;n!==null;)hg(n,e),n=n.sibling}var mn=null;function hg(e,n){var r=e.alternate,s=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:Nt(n,e),Rt(e),s&4&&(ya(3,e,e.return),Qo(3,e),ya(5,e,e.return));break;case 1:Nt(n,e),Rt(e),s&512&&(it||r===null||En(r,r.return)),s&64&&Kn&&(e=e.updateQueue,e!==null&&(s=e.callbacks,s!==null&&(r=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=r===null?s:r.concat(s))));break;case 26:var u=mn;if(Nt(n,e),Rt(e),s&512&&(it||r===null||En(r,r.return)),s&4){var m=r!==null?r.memoizedState:null;if(s=e.memoizedState,r===null)if(s===null)if(e.stateNode===null){e:{s=e.type,r=e.memoizedProps,u=u.ownerDocument||u;t:switch(s){case"title":m=u.getElementsByTagName("title")[0],(!m||m[Co]||m[ft]||m.namespaceURI==="http://www.w3.org/2000/svg"||m.hasAttribute("itemprop"))&&(m=u.createElement(s),u.head.insertBefore(m,u.querySelector("head > title"))),gt(m,s,r),m[ft]=e,ut(m),s=m;break e;case"link":var w=hv("link","href",u).get(s+(r.href||""));if(w){for(var _=0;_<w.length;_++)if(m=w[_],m.getAttribute("href")===(r.href==null||r.href===""?null:r.href)&&m.getAttribute("rel")===(r.rel==null?null:r.rel)&&m.getAttribute("title")===(r.title==null?null:r.title)&&m.getAttribute("crossorigin")===(r.crossOrigin==null?null:r.crossOrigin)){w.splice(_,1);break t}}m=u.createElement(s),gt(m,s,r),u.head.appendChild(m);break;case"meta":if(w=hv("meta","content",u).get(s+(r.content||""))){for(_=0;_<w.length;_++)if(m=w[_],m.getAttribute("content")===(r.content==null?null:""+r.content)&&m.getAttribute("name")===(r.name==null?null:r.name)&&m.getAttribute("property")===(r.property==null?null:r.property)&&m.getAttribute("http-equiv")===(r.httpEquiv==null?null:r.httpEquiv)&&m.getAttribute("charset")===(r.charSet==null?null:r.charSet)){w.splice(_,1);break t}}m=u.createElement(s),gt(m,s,r),u.head.appendChild(m);break;default:throw Error(i(468,s))}m[ft]=e,ut(m),s=m}e.stateNode=s}else gv(u,e.type,e.stateNode);else e.stateNode=pv(u,s,e.memoizedProps);else m!==s?(m===null?r.stateNode!==null&&(r=r.stateNode,r.parentNode.removeChild(r)):m.count--,s===null?gv(u,e.type,e.stateNode):pv(u,s,e.memoizedProps)):s===null&&e.stateNode!==null&&Uu(e,e.memoizedProps,r.memoizedProps)}break;case 27:Nt(n,e),Rt(e),s&512&&(it||r===null||En(r,r.return)),r!==null&&s&4&&Uu(e,e.memoizedProps,r.memoizedProps);break;case 5:if(Nt(n,e),Rt(e),s&512&&(it||r===null||En(r,r.return)),e.flags&32){u=e.stateNode;try{Sr(u,"")}catch(he){Ie(e,e.return,he)}}s&4&&e.stateNode!=null&&(u=e.memoizedProps,Uu(e,u,r!==null?r.memoizedProps:u)),s&1024&&(Iu=!0);break;case 6:if(Nt(n,e),Rt(e),s&4){if(e.stateNode===null)throw Error(i(162));s=e.memoizedProps,r=e.stateNode;try{r.nodeValue=s}catch(he){Ie(e,e.return,he)}}break;case 3:if(nl=null,u=mn,mn=el(n.containerInfo),Nt(n,e),mn=u,Rt(e),s&4&&r!==null&&r.memoizedState.isDehydrated)try{eo(n.containerInfo)}catch(he){Ie(e,e.return,he)}Iu&&(Iu=!1,gg(e));break;case 4:s=mn,mn=el(e.stateNode.containerInfo),Nt(n,e),Rt(e),mn=s;break;case 12:Nt(n,e),Rt(e);break;case 31:Nt(n,e),Rt(e),s&4&&(s=e.updateQueue,s!==null&&(e.updateQueue=null,Wi(e,s)));break;case 13:Nt(n,e),Rt(e),e.child.flags&8192&&e.memoizedState!==null!=(r!==null&&r.memoizedState!==null)&&(Ii=De()),s&4&&(s=e.updateQueue,s!==null&&(e.updateQueue=null,Wi(e,s)));break;case 22:u=e.memoizedState!==null;var L=r!==null&&r.memoizedState!==null,F=Kn,te=it;if(Kn=F||u,it=te||L,Nt(n,e),it=te,Kn=F,Rt(e),s&8192)e:for(n=e.stateNode,n._visibility=u?n._visibility&-2:n._visibility|1,u&&(r===null||L||Kn||it||rr(e)),r=null,n=e;;){if(n.tag===5||n.tag===26){if(r===null){L=r=n;try{if(m=L.stateNode,u)w=m.style,typeof w.setProperty=="function"?w.setProperty("display","none","important"):w.display="none";else{_=L.stateNode;var re=L.memoizedProps.style,G=re!=null&&re.hasOwnProperty("display")?re.display:null;_.style.display=G==null||typeof G=="boolean"?"":(""+G).trim()}}catch(he){Ie(L,L.return,he)}}}else if(n.tag===6){if(r===null){L=n;try{L.stateNode.nodeValue=u?"":L.memoizedProps}catch(he){Ie(L,L.return,he)}}}else if(n.tag===18){if(r===null){L=n;try{var J=L.stateNode;u?ov(J,!0):ov(L.stateNode,!1)}catch(he){Ie(L,L.return,he)}}}else if((n.tag!==22&&n.tag!==23||n.memoizedState===null||n===e)&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break e;for(;n.sibling===null;){if(n.return===null||n.return===e)break e;r===n&&(r=null),n=n.return}r===n&&(r=null),n.sibling.return=n.return,n=n.sibling}s&4&&(s=e.updateQueue,s!==null&&(r=s.retryQueue,r!==null&&(s.retryQueue=null,Wi(e,r))));break;case 19:Nt(n,e),Rt(e),s&4&&(s=e.updateQueue,s!==null&&(e.updateQueue=null,Wi(e,s)));break;case 30:break;case 21:break;default:Nt(n,e),Rt(e)}}function Rt(e){var n=e.flags;if(n&2){try{for(var r,s=e.return;s!==null;){if(ig(s)){r=s;break}s=s.return}if(r==null)throw Error(i(160));switch(r.tag){case 27:var u=r.stateNode,m=Wu(e);Ui(e,m,u);break;case 5:var w=r.stateNode;r.flags&32&&(Sr(w,""),r.flags&=-33);var _=Wu(e);Ui(e,_,w);break;case 3:case 4:var L=r.stateNode.containerInfo,F=Wu(e);qu(e,F,L);break;default:throw Error(i(161))}}catch(te){Ie(e,e.return,te)}e.flags&=-3}n&4096&&(e.flags&=-4097)}function gg(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var n=e;gg(n),n.tag===5&&n.flags&1024&&n.stateNode.reset(),e=e.sibling}}function Vn(e,n){if(n.subtreeFlags&8772)for(n=n.child;n!==null;)ug(e,n.alternate,n),n=n.sibling}function rr(e){for(e=e.child;e!==null;){var n=e;switch(n.tag){case 0:case 11:case 14:case 15:ya(4,n,n.return),rr(n);break;case 1:En(n,n.return);var r=n.stateNode;typeof r.componentWillUnmount=="function"&&og(n,n.return,r),rr(n);break;case 27:ls(n.stateNode);case 26:case 5:En(n,n.return),rr(n);break;case 22:n.memoizedState===null&&rr(n);break;case 30:rr(n);break;default:rr(n)}e=e.sibling}}function Gn(e,n,r){for(r=r&&(n.subtreeFlags&8772)!==0,n=n.child;n!==null;){var s=n.alternate,u=e,m=n,w=m.flags;switch(m.tag){case 0:case 11:case 15:Gn(u,m,r),Qo(4,m);break;case 1:if(Gn(u,m,r),s=m,u=s.stateNode,typeof u.componentDidMount=="function")try{u.componentDidMount()}catch(F){Ie(s,s.return,F)}if(s=m,u=s.updateQueue,u!==null){var _=s.stateNode;try{var L=u.shared.hiddenCallbacks;if(L!==null)for(u.shared.hiddenCallbacks=null,u=0;u<L.length;u++)Vp(L[u],_)}catch(F){Ie(s,s.return,F)}}r&&w&64&&rg(m),Jo(m,m.return);break;case 27:lg(m);case 26:case 5:Gn(u,m,r),r&&s===null&&w&4&&sg(m),Jo(m,m.return);break;case 12:Gn(u,m,r);break;case 31:Gn(u,m,r),r&&w&4&&mg(u,m);break;case 13:Gn(u,m,r),r&&w&4&&pg(u,m);break;case 22:m.memoizedState===null&&Gn(u,m,r),Jo(m,m.return);break;case 30:break;default:Gn(u,m,r)}n=n.sibling}}function Pu(e,n){var r=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(r=e.memoizedState.cachePool.pool),e=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(e=n.memoizedState.cachePool.pool),e!==r&&(e!=null&&e.refCount++,r!=null&&Uo(r))}function Yu(e,n){e=null,n.alternate!==null&&(e=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==e&&(n.refCount++,e!=null&&Uo(e))}function pn(e,n,r,s){if(n.subtreeFlags&10256)for(n=n.child;n!==null;)vg(e,n,r,s),n=n.sibling}function vg(e,n,r,s){var u=n.flags;switch(n.tag){case 0:case 11:case 15:pn(e,n,r,s),u&2048&&Qo(9,n);break;case 1:pn(e,n,r,s);break;case 3:pn(e,n,r,s),u&2048&&(e=null,n.alternate!==null&&(e=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==e&&(n.refCount++,e!=null&&Uo(e)));break;case 12:if(u&2048){pn(e,n,r,s),e=n.stateNode;try{var m=n.memoizedProps,w=m.id,_=m.onPostCommit;typeof _=="function"&&_(w,n.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(L){Ie(n,n.return,L)}}else pn(e,n,r,s);break;case 31:pn(e,n,r,s);break;case 13:pn(e,n,r,s);break;case 23:break;case 22:m=n.stateNode,w=n.alternate,n.memoizedState!==null?m._visibility&2?pn(e,n,r,s):es(e,n):m._visibility&2?pn(e,n,r,s):(m._visibility|=2,Pr(e,n,r,s,(n.subtreeFlags&10256)!==0||!1)),u&2048&&Pu(w,n);break;case 24:pn(e,n,r,s),u&2048&&Yu(n.alternate,n);break;default:pn(e,n,r,s)}}function Pr(e,n,r,s,u){for(u=u&&((n.subtreeFlags&10256)!==0||!1),n=n.child;n!==null;){var m=e,w=n,_=r,L=s,F=w.flags;switch(w.tag){case 0:case 11:case 15:Pr(m,w,_,L,u),Qo(8,w);break;case 23:break;case 22:var te=w.stateNode;w.memoizedState!==null?te._visibility&2?Pr(m,w,_,L,u):es(m,w):(te._visibility|=2,Pr(m,w,_,L,u)),u&&F&2048&&Pu(w.alternate,w);break;case 24:Pr(m,w,_,L,u),u&&F&2048&&Yu(w.alternate,w);break;default:Pr(m,w,_,L,u)}n=n.sibling}}function es(e,n){if(n.subtreeFlags&10256)for(n=n.child;n!==null;){var r=e,s=n,u=s.flags;switch(s.tag){case 22:es(r,s),u&2048&&Pu(s.alternate,s);break;case 24:es(r,s),u&2048&&Yu(s.alternate,s);break;default:es(r,s)}n=n.sibling}}var ts=8192;function Yr(e,n,r){if(e.subtreeFlags&ts)for(e=e.child;e!==null;)yg(e,n,r),e=e.sibling}function yg(e,n,r){switch(e.tag){case 26:Yr(e,n,r),e.flags&ts&&e.memoizedState!==null&&U2(r,mn,e.memoizedState,e.memoizedProps);break;case 5:Yr(e,n,r);break;case 3:case 4:var s=mn;mn=el(e.stateNode.containerInfo),Yr(e,n,r),mn=s;break;case 22:e.memoizedState===null&&(s=e.alternate,s!==null&&s.memoizedState!==null?(s=ts,ts=16777216,Yr(e,n,r),ts=s):Yr(e,n,r));break;default:Yr(e,n,r)}}function bg(e){var n=e.alternate;if(n!==null&&(e=n.child,e!==null)){n.child=null;do n=e.sibling,e.sibling=null,e=n;while(e!==null)}}function ns(e){var n=e.deletions;if((e.flags&16)!==0){if(n!==null)for(var r=0;r<n.length;r++){var s=n[r];dt=s,xg(s,e)}bg(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)wg(e),e=e.sibling}function wg(e){switch(e.tag){case 0:case 11:case 15:ns(e),e.flags&2048&&ya(9,e,e.return);break;case 3:ns(e);break;case 12:ns(e);break;case 22:var n=e.stateNode;e.memoizedState!==null&&n._visibility&2&&(e.return===null||e.return.tag!==13)?(n._visibility&=-3,qi(e)):ns(e);break;default:ns(e)}}function qi(e){var n=e.deletions;if((e.flags&16)!==0){if(n!==null)for(var r=0;r<n.length;r++){var s=n[r];dt=s,xg(s,e)}bg(e)}for(e=e.child;e!==null;){switch(n=e,n.tag){case 0:case 11:case 15:ya(8,n,n.return),qi(n);break;case 22:r=n.stateNode,r._visibility&2&&(r._visibility&=-3,qi(n));break;default:qi(n)}e=e.sibling}}function xg(e,n){for(;dt!==null;){var r=dt;switch(r.tag){case 0:case 11:case 15:ya(8,r,n);break;case 23:case 22:if(r.memoizedState!==null&&r.memoizedState.cachePool!==null){var s=r.memoizedState.cachePool.pool;s!=null&&s.refCount++}break;case 24:Uo(r.memoizedState.cache)}if(s=r.child,s!==null)s.return=r,dt=s;else e:for(r=e;dt!==null;){s=dt;var u=s.sibling,m=s.return;if(dg(s),s===r){dt=null;break e}if(u!==null){u.return=m,dt=u;break e}dt=m}}}var e2={getCacheForType:function(e){var n=pt(rt),r=n.data.get(e);return r===void 0&&(r=e(),n.data.set(e,r)),r},cacheSignal:function(){return pt(rt).controller.signal}},t2=typeof WeakMap=="function"?WeakMap:Map,We=0,Fe=null,je=null,Le=0,qe=0,Kt=null,ba=!1,Kr=!1,Ku=!1,$n=0,et=0,wa=0,or=0,Fu=0,Ft=0,Fr=0,as=null,jt=null,Vu=!1,Ii=0,kg=0,Pi=1/0,Yi=null,xa=null,ct=0,ka=null,Vr=null,Xn=0,Gu=0,$u=null,Sg=null,rs=0,Xu=null;function Vt(){return(We&2)!==0&&Le!==0?Le&-Le:O.T!==null?nd():Um()}function Eg(){if(Ft===0)if((Le&536870912)===0||Be){var e=Qs;Qs<<=1,(Qs&3932160)===0&&(Qs=262144),Ft=e}else Ft=536870912;return e=Pt.current,e!==null&&(e.flags|=32),Ft}function Ot(e,n,r){(e===Fe&&(qe===2||qe===9)||e.cancelPendingCommit!==null)&&(Gr(e,0),Sa(e,Le,Ft,!1)),To(e,r),((We&2)===0||e!==Fe)&&(e===Fe&&((We&2)===0&&(or|=r),et===4&&Sa(e,Le,Ft,!1)),Tn(e))}function Tg(e,n,r){if((We&6)!==0)throw Error(i(327));var s=!r&&(n&127)===0&&(n&e.expiredLanes)===0||Eo(e,n),u=s?r2(e,n):Qu(e,n,!0),m=s;do{if(u===0){Kr&&!s&&Sa(e,n,0,!1);break}else{if(r=e.current.alternate,m&&!n2(r)){u=Qu(e,n,!1),m=!1;continue}if(u===2){if(m=n,e.errorRecoveryDisabledLanes&m)var w=0;else w=e.pendingLanes&-536870913,w=w!==0?w:w&536870912?536870912:0;if(w!==0){n=w;e:{var _=e;u=as;var L=_.current.memoizedState.isDehydrated;if(L&&(Gr(_,w).flags|=256),w=Qu(_,w,!1),w!==2){if(Ku&&!L){_.errorRecoveryDisabledLanes|=m,or|=m,u=4;break e}m=jt,jt=u,m!==null&&(jt===null?jt=m:jt.push.apply(jt,m))}u=w}if(m=!1,u!==2)continue}}if(u===1){Gr(e,0),Sa(e,n,0,!0);break}e:{switch(s=e,m=u,m){case 0:case 1:throw Error(i(345));case 4:if((n&4194048)!==n)break;case 6:Sa(s,n,Ft,!ba);break e;case 2:jt=null;break;case 3:case 5:break;default:throw Error(i(329))}if((n&62914560)===n&&(u=Ii+300-De(),10<u)){if(Sa(s,n,Ft,!ba),ei(s,0,!0)!==0)break e;Xn=n,s.timeoutHandle=nv(Cg.bind(null,s,r,jt,Yi,Vu,n,Ft,or,Fr,ba,m,"Throttled",-0,0),u);break e}Cg(s,r,jt,Yi,Vu,n,Ft,or,Fr,ba,m,null,-0,0)}}break}while(!0);Tn(e)}function Cg(e,n,r,s,u,m,w,_,L,F,te,re,G,J){if(e.timeoutHandle=-1,re=n.subtreeFlags,re&8192||(re&16785408)===16785408){re={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Ln},yg(n,m,re);var he=(m&62914560)===m?Ii-De():(m&4194048)===m?kg-De():0;if(he=W2(re,he),he!==null){Xn=m,e.cancelPendingCommit=he(Dg.bind(null,e,n,m,r,s,u,w,_,L,te,re,null,G,J)),Sa(e,m,w,!F);return}}Dg(e,n,m,r,s,u,w,_,L)}function n2(e){for(var n=e;;){var r=n.tag;if((r===0||r===11||r===15)&&n.flags&16384&&(r=n.updateQueue,r!==null&&(r=r.stores,r!==null)))for(var s=0;s<r.length;s++){var u=r[s],m=u.getSnapshot;u=u.value;try{if(!qt(m(),u))return!1}catch{return!1}}if(r=n.child,n.subtreeFlags&16384&&r!==null)r.return=n,n=r;else{if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return!0;n=n.return}n.sibling.return=n.return,n=n.sibling}}return!0}function Sa(e,n,r,s){n&=~Fu,n&=~or,e.suspendedLanes|=n,e.pingedLanes&=~n,s&&(e.warmLanes|=n),s=e.expirationTimes;for(var u=n;0<u;){var m=31-Wt(u),w=1<<m;s[m]=-1,u&=~w}r!==0&&zm(e,r,n)}function Ki(){return(We&6)===0?(os(0),!1):!0}function Zu(){if(je!==null){if(qe===0)var e=je.return;else e=je,Un=Xa=null,mu(e),Hr=null,qo=0,e=je;for(;e!==null;)ag(e.alternate,e),e=e.return;je=null}}function Gr(e,n){var r=e.timeoutHandle;r!==-1&&(e.timeoutHandle=-1,k2(r)),r=e.cancelPendingCommit,r!==null&&(e.cancelPendingCommit=null,r()),Xn=0,Zu(),Fe=e,je=r=Bn(e.current,null),Le=n,qe=0,Kt=null,ba=!1,Kr=Eo(e,n),Ku=!1,Fr=Ft=Fu=or=wa=et=0,jt=as=null,Vu=!1,(n&8)!==0&&(n|=n&32);var s=e.entangledLanes;if(s!==0)for(e=e.entanglements,s&=n;0<s;){var u=31-Wt(s),m=1<<u;n|=e[u],s&=~m}return $n=n,fi(),r}function Ag(e,n){_e=null,O.H=$o,n===Br||n===wi?(n=Pp(),qe=3):n===tu?(n=Pp(),qe=4):qe=n===Nu?8:n!==null&&typeof n=="object"&&typeof n.then=="function"?6:1,Kt=n,je===null&&(et=1,Di(e,nn(n,e.current)))}function _g(){var e=Pt.current;return e===null?!0:(Le&4194048)===Le?sn===null:(Le&62914560)===Le||(Le&536870912)!==0?e===sn:!1}function Ng(){var e=O.H;return O.H=$o,e===null?$o:e}function Rg(){var e=O.A;return O.A=e2,e}function Fi(){et=4,ba||(Le&4194048)!==Le&&Pt.current!==null||(Kr=!0),(wa&134217727)===0&&(or&134217727)===0||Fe===null||Sa(Fe,Le,Ft,!1)}function Qu(e,n,r){var s=We;We|=2;var u=Ng(),m=Rg();(Fe!==e||Le!==n)&&(Yi=null,Gr(e,n)),n=!1;var w=et;e:do try{if(qe!==0&&je!==null){var _=je,L=Kt;switch(qe){case 8:Zu(),w=6;break e;case 3:case 2:case 9:case 6:Pt.current===null&&(n=!0);var F=qe;if(qe=0,Kt=null,$r(e,_,L,F),r&&Kr){w=0;break e}break;default:F=qe,qe=0,Kt=null,$r(e,_,L,F)}}a2(),w=et;break}catch(te){Ag(e,te)}while(!0);return n&&e.shellSuspendCounter++,Un=Xa=null,We=s,O.H=u,O.A=m,je===null&&(Fe=null,Le=0,fi()),w}function a2(){for(;je!==null;)jg(je)}function r2(e,n){var r=We;We|=2;var s=Ng(),u=Rg();Fe!==e||Le!==n?(Yi=null,Pi=De()+500,Gr(e,n)):Kr=Eo(e,n);e:do try{if(qe!==0&&je!==null){n=je;var m=Kt;t:switch(qe){case 1:qe=0,Kt=null,$r(e,n,m,1);break;case 2:case 9:if(qp(m)){qe=0,Kt=null,Og(n);break}n=function(){qe!==2&&qe!==9||Fe!==e||(qe=7),Tn(e)},m.then(n,n);break e;case 3:qe=7;break e;case 4:qe=5;break e;case 7:qp(m)?(qe=0,Kt=null,Og(n)):(qe=0,Kt=null,$r(e,n,m,7));break;case 5:var w=null;switch(je.tag){case 26:w=je.memoizedState;case 5:case 27:var _=je;if(w?vv(w):_.stateNode.complete){qe=0,Kt=null;var L=_.sibling;if(L!==null)je=L;else{var F=_.return;F!==null?(je=F,Vi(F)):je=null}break t}}qe=0,Kt=null,$r(e,n,m,5);break;case 6:qe=0,Kt=null,$r(e,n,m,6);break;case 8:Zu(),et=6;break e;default:throw Error(i(462))}}o2();break}catch(te){Ag(e,te)}while(!0);return Un=Xa=null,O.H=s,O.A=u,We=r,je!==null?0:(Fe=null,Le=0,fi(),et)}function o2(){for(;je!==null&&!ce();)jg(je)}function jg(e){var n=tg(e.alternate,e,$n);e.memoizedProps=e.pendingProps,n===null?Vi(e):je=n}function Og(e){var n=e,r=n.alternate;switch(n.tag){case 15:case 0:n=$h(r,n,n.pendingProps,n.type,void 0,Le);break;case 11:n=$h(r,n,n.pendingProps,n.type.render,n.ref,Le);break;case 5:mu(n);default:ag(r,n),n=je=Rp(n,$n),n=tg(r,n,$n)}e.memoizedProps=e.pendingProps,n===null?Vi(e):je=n}function $r(e,n,r,s){Un=Xa=null,mu(n),Hr=null,qo=0;var u=n.return;try{if(V1(e,u,n,r,Le)){et=1,Di(e,nn(r,e.current)),je=null;return}}catch(m){if(u!==null)throw je=u,m;et=1,Di(e,nn(r,e.current)),je=null;return}n.flags&32768?(Be||s===1?e=!0:Kr||(Le&536870912)!==0?e=!1:(ba=e=!0,(s===2||s===9||s===3||s===6)&&(s=Pt.current,s!==null&&s.tag===13&&(s.flags|=16384))),Mg(n,e)):Vi(n)}function Vi(e){var n=e;do{if((n.flags&32768)!==0){Mg(n,ba);return}e=n.return;var r=X1(n.alternate,n,$n);if(r!==null){je=r;return}if(n=n.sibling,n!==null){je=n;return}je=n=e}while(n!==null);et===0&&(et=5)}function Mg(e,n){do{var r=Z1(e.alternate,e);if(r!==null){r.flags&=32767,je=r;return}if(r=e.return,r!==null&&(r.flags|=32768,r.subtreeFlags=0,r.deletions=null),!n&&(e=e.sibling,e!==null)){je=e;return}je=e=r}while(e!==null);et=6,je=null}function Dg(e,n,r,s,u,m,w,_,L){e.cancelPendingCommit=null;do Gi();while(ct!==0);if((We&6)!==0)throw Error(i(327));if(n!==null){if(n===e.current)throw Error(i(177));if(m=n.lanes|n.childLanes,m|=Wc,Hx(e,r,m,w,_,L),e===Fe&&(je=Fe=null,Le=0),Vr=n,ka=e,Xn=r,Gu=m,$u=u,Sg=s,(n.subtreeFlags&10256)!==0||(n.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,c2(Xs,function(){return Ug(),null})):(e.callbackNode=null,e.callbackPriority=0),s=(n.flags&13878)!==0,(n.subtreeFlags&13878)!==0||s){s=O.T,O.T=null,u=I.p,I.p=2,w=We,We|=4;try{Q1(e,n,r)}finally{We=w,I.p=u,O.T=s}}ct=1,Lg(),zg(),Bg()}}function Lg(){if(ct===1){ct=0;var e=ka,n=Vr,r=(n.flags&13878)!==0;if((n.subtreeFlags&13878)!==0||r){r=O.T,O.T=null;var s=I.p;I.p=2;var u=We;We|=4;try{hg(n,e);var m=ud,w=xp(e.containerInfo),_=m.focusedElem,L=m.selectionRange;if(w!==_&&_&&_.ownerDocument&&wp(_.ownerDocument.documentElement,_)){if(L!==null&&Lc(_)){var F=L.start,te=L.end;if(te===void 0&&(te=F),"selectionStart"in _)_.selectionStart=F,_.selectionEnd=Math.min(te,_.value.length);else{var re=_.ownerDocument||document,G=re&&re.defaultView||window;if(G.getSelection){var J=G.getSelection(),he=_.textContent.length,ke=Math.min(L.start,he),Ke=L.end===void 0?ke:Math.min(L.end,he);!J.extend&&ke>Ke&&(w=Ke,Ke=ke,ke=w);var W=bp(_,ke),B=bp(_,Ke);if(W&&B&&(J.rangeCount!==1||J.anchorNode!==W.node||J.anchorOffset!==W.offset||J.focusNode!==B.node||J.focusOffset!==B.offset)){var Y=re.createRange();Y.setStart(W.node,W.offset),J.removeAllRanges(),ke>Ke?(J.addRange(Y),J.extend(B.node,B.offset)):(Y.setEnd(B.node,B.offset),J.addRange(Y))}}}}for(re=[],J=_;J=J.parentNode;)J.nodeType===1&&re.push({element:J,left:J.scrollLeft,top:J.scrollTop});for(typeof _.focus=="function"&&_.focus(),_=0;_<re.length;_++){var ae=re[_];ae.element.scrollLeft=ae.left,ae.element.scrollTop=ae.top}}sl=!!cd,ud=cd=null}finally{We=u,I.p=s,O.T=r}}e.current=n,ct=2}}function zg(){if(ct===2){ct=0;var e=ka,n=Vr,r=(n.flags&8772)!==0;if((n.subtreeFlags&8772)!==0||r){r=O.T,O.T=null;var s=I.p;I.p=2;var u=We;We|=4;try{ug(e,n.alternate,n)}finally{We=u,I.p=s,O.T=r}}ct=3}}function Bg(){if(ct===4||ct===3){ct=0,ve();var e=ka,n=Vr,r=Xn,s=Sg;(n.subtreeFlags&10256)!==0||(n.flags&10256)!==0?ct=5:(ct=0,Vr=ka=null,Hg(e,e.pendingLanes));var u=e.pendingLanes;if(u===0&&(xa=null),gc(r),n=n.stateNode,Ut&&typeof Ut.onCommitFiberRoot=="function")try{Ut.onCommitFiberRoot(So,n,void 0,(n.current.flags&128)===128)}catch{}if(s!==null){n=O.T,u=I.p,I.p=2,O.T=null;try{for(var m=e.onRecoverableError,w=0;w<s.length;w++){var _=s[w];m(_.value,{componentStack:_.stack})}}finally{O.T=n,I.p=u}}(Xn&3)!==0&&Gi(),Tn(e),u=e.pendingLanes,(r&261930)!==0&&(u&42)!==0?e===Xu?rs++:(rs=0,Xu=e):rs=0,os(0)}}function Hg(e,n){(e.pooledCacheLanes&=n)===0&&(n=e.pooledCache,n!=null&&(e.pooledCache=null,Uo(n)))}function Gi(){return Lg(),zg(),Bg(),Ug()}function Ug(){if(ct!==5)return!1;var e=ka,n=Gu;Gu=0;var r=gc(Xn),s=O.T,u=I.p;try{I.p=32>r?32:r,O.T=null,r=$u,$u=null;var m=ka,w=Xn;if(ct=0,Vr=ka=null,Xn=0,(We&6)!==0)throw Error(i(331));var _=We;if(We|=4,wg(m.current),vg(m,m.current,w,r),We=_,os(0,!1),Ut&&typeof Ut.onPostCommitFiberRoot=="function")try{Ut.onPostCommitFiberRoot(So,m)}catch{}return!0}finally{I.p=u,O.T=s,Hg(e,n)}}function Wg(e,n,r){n=nn(r,n),n=_u(e.stateNode,n,2),e=ha(e,n,2),e!==null&&(To(e,2),Tn(e))}function Ie(e,n,r){if(e.tag===3)Wg(e,e,r);else for(;n!==null;){if(n.tag===3){Wg(n,e,r);break}else if(n.tag===1){var s=n.stateNode;if(typeof n.type.getDerivedStateFromError=="function"||typeof s.componentDidCatch=="function"&&(xa===null||!xa.has(s))){e=nn(r,e),r=qh(2),s=ha(n,r,2),s!==null&&(Ih(r,s,n,e),To(s,2),Tn(s));break}}n=n.return}}function Ju(e,n,r){var s=e.pingCache;if(s===null){s=e.pingCache=new t2;var u=new Set;s.set(n,u)}else u=s.get(n),u===void 0&&(u=new Set,s.set(n,u));u.has(r)||(Ku=!0,u.add(r),e=s2.bind(null,e,n,r),n.then(e,e))}function s2(e,n,r){var s=e.pingCache;s!==null&&s.delete(n),e.pingedLanes|=e.suspendedLanes&r,e.warmLanes&=~r,Fe===e&&(Le&r)===r&&(et===4||et===3&&(Le&62914560)===Le&&300>De()-Ii?(We&2)===0&&Gr(e,0):Fu|=r,Fr===Le&&(Fr=0)),Tn(e)}function qg(e,n){n===0&&(n=Lm()),e=Va(e,n),e!==null&&(To(e,n),Tn(e))}function i2(e){var n=e.memoizedState,r=0;n!==null&&(r=n.retryLane),qg(e,r)}function l2(e,n){var r=0;switch(e.tag){case 31:case 13:var s=e.stateNode,u=e.memoizedState;u!==null&&(r=u.retryLane);break;case 19:s=e.stateNode;break;case 22:s=e.stateNode._retryCache;break;default:throw Error(i(314))}s!==null&&s.delete(n),qg(e,r)}function c2(e,n){return Me(e,n)}var $i=null,Xr=null,ed=!1,Xi=!1,td=!1,Ea=0;function Tn(e){e!==Xr&&e.next===null&&(Xr===null?$i=Xr=e:Xr=Xr.next=e),Xi=!0,ed||(ed=!0,d2())}function os(e,n){if(!td&&Xi){td=!0;do for(var r=!1,s=$i;s!==null;){if(e!==0){var u=s.pendingLanes;if(u===0)var m=0;else{var w=s.suspendedLanes,_=s.pingedLanes;m=(1<<31-Wt(42|e)+1)-1,m&=u&~(w&~_),m=m&201326741?m&201326741|1:m?m|2:0}m!==0&&(r=!0,Kg(s,m))}else m=Le,m=ei(s,s===Fe?m:0,s.cancelPendingCommit!==null||s.timeoutHandle!==-1),(m&3)===0||Eo(s,m)||(r=!0,Kg(s,m));s=s.next}while(r);td=!1}}function u2(){Ig()}function Ig(){Xi=ed=!1;var e=0;Ea!==0&&x2()&&(e=Ea);for(var n=De(),r=null,s=$i;s!==null;){var u=s.next,m=Pg(s,n);m===0?(s.next=null,r===null?$i=u:r.next=u,u===null&&(Xr=r)):(r=s,(e!==0||(m&3)!==0)&&(Xi=!0)),s=u}ct!==0&&ct!==5||os(e),Ea!==0&&(Ea=0)}function Pg(e,n){for(var r=e.suspendedLanes,s=e.pingedLanes,u=e.expirationTimes,m=e.pendingLanes&-62914561;0<m;){var w=31-Wt(m),_=1<<w,L=u[w];L===-1?((_&r)===0||(_&s)!==0)&&(u[w]=Bx(_,n)):L<=n&&(e.expiredLanes|=_),m&=~_}if(n=Fe,r=Le,r=ei(e,e===n?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),s=e.callbackNode,r===0||e===n&&(qe===2||qe===9)||e.cancelPendingCommit!==null)return s!==null&&s!==null&&Qe(s),e.callbackNode=null,e.callbackPriority=0;if((r&3)===0||Eo(e,r)){if(n=r&-r,n===e.callbackPriority)return n;switch(s!==null&&Qe(s),gc(r)){case 2:case 8:r=Mm;break;case 32:r=Xs;break;case 268435456:r=Dm;break;default:r=Xs}return s=Yg.bind(null,e),r=Me(r,s),e.callbackPriority=n,e.callbackNode=r,n}return s!==null&&s!==null&&Qe(s),e.callbackPriority=2,e.callbackNode=null,2}function Yg(e,n){if(ct!==0&&ct!==5)return e.callbackNode=null,e.callbackPriority=0,null;var r=e.callbackNode;if(Gi()&&e.callbackNode!==r)return null;var s=Le;return s=ei(e,e===Fe?s:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),s===0?null:(Tg(e,s,n),Pg(e,De()),e.callbackNode!=null&&e.callbackNode===r?Yg.bind(null,e):null)}function Kg(e,n){if(Gi())return null;Tg(e,n,!0)}function d2(){S2(function(){(We&6)!==0?Me(Om,u2):Ig()})}function nd(){if(Ea===0){var e=Lr;e===0&&(e=Zs,Zs<<=1,(Zs&261888)===0&&(Zs=256)),Ea=e}return Ea}function Fg(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:ri(""+e)}function Vg(e,n){var r=n.ownerDocument.createElement("input");return r.name=n.name,r.value=n.value,e.id&&r.setAttribute("form",e.id),n.parentNode.insertBefore(r,n),e=new FormData(e),r.parentNode.removeChild(r),e}function f2(e,n,r,s,u){if(n==="submit"&&r&&r.stateNode===u){var m=Fg((u[Ct]||null).action),w=s.submitter;w&&(n=(n=w[Ct]||null)?Fg(n.formAction):w.getAttribute("formAction"),n!==null&&(m=n,w=null));var _=new li("action","action",null,s,u);e.push({event:_,listeners:[{instance:null,listener:function(){if(s.defaultPrevented){if(Ea!==0){var L=w?Vg(u,w):new FormData(u);ku(r,{pending:!0,data:L,method:u.method,action:m},null,L)}}else typeof m=="function"&&(_.preventDefault(),L=w?Vg(u,w):new FormData(u),ku(r,{pending:!0,data:L,method:u.method,action:m},m,L))},currentTarget:u}]})}}for(var ad=0;ad<Uc.length;ad++){var rd=Uc[ad],m2=rd.toLowerCase(),p2=rd[0].toUpperCase()+rd.slice(1);fn(m2,"on"+p2)}fn(Ep,"onAnimationEnd"),fn(Tp,"onAnimationIteration"),fn(Cp,"onAnimationStart"),fn("dblclick","onDoubleClick"),fn("focusin","onFocus"),fn("focusout","onBlur"),fn(R1,"onTransitionRun"),fn(j1,"onTransitionStart"),fn(O1,"onTransitionCancel"),fn(Ap,"onTransitionEnd"),xr("onMouseEnter",["mouseout","mouseover"]),xr("onMouseLeave",["mouseout","mouseover"]),xr("onPointerEnter",["pointerout","pointerover"]),xr("onPointerLeave",["pointerout","pointerover"]),Pa("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Pa("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Pa("onBeforeInput",["compositionend","keypress","textInput","paste"]),Pa("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Pa("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Pa("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ss="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),h2=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(ss));function Gg(e,n){n=(n&4)!==0;for(var r=0;r<e.length;r++){var s=e[r],u=s.event;s=s.listeners;e:{var m=void 0;if(n)for(var w=s.length-1;0<=w;w--){var _=s[w],L=_.instance,F=_.currentTarget;if(_=_.listener,L!==m&&u.isPropagationStopped())break e;m=_,u.currentTarget=F;try{m(u)}catch(te){di(te)}u.currentTarget=null,m=L}else for(w=0;w<s.length;w++){if(_=s[w],L=_.instance,F=_.currentTarget,_=_.listener,L!==m&&u.isPropagationStopped())break e;m=_,u.currentTarget=F;try{m(u)}catch(te){di(te)}u.currentTarget=null,m=L}}}}function Oe(e,n){var r=n[vc];r===void 0&&(r=n[vc]=new Set);var s=e+"__bubble";r.has(s)||($g(n,e,2,!1),r.add(s))}function od(e,n,r){var s=0;n&&(s|=4),$g(r,e,s,n)}var Zi="_reactListening"+Math.random().toString(36).slice(2);function sd(e){if(!e[Zi]){e[Zi]=!0,Im.forEach(function(r){r!=="selectionchange"&&(h2.has(r)||od(r,!1,e),od(r,!0,e))});var n=e.nodeType===9?e:e.ownerDocument;n===null||n[Zi]||(n[Zi]=!0,od("selectionchange",!1,n))}}function $g(e,n,r,s){switch(Ev(n)){case 2:var u=P2;break;case 8:u=Y2;break;default:u=xd}r=u.bind(null,n,r,e),u=void 0,!Cc||n!=="touchstart"&&n!=="touchmove"&&n!=="wheel"||(u=!0),s?u!==void 0?e.addEventListener(n,r,{capture:!0,passive:u}):e.addEventListener(n,r,!0):u!==void 0?e.addEventListener(n,r,{passive:u}):e.addEventListener(n,r,!1)}function id(e,n,r,s,u){var m=s;if((n&1)===0&&(n&2)===0&&s!==null)e:for(;;){if(s===null)return;var w=s.tag;if(w===3||w===4){var _=s.stateNode.containerInfo;if(_===u)break;if(w===4)for(w=s.return;w!==null;){var L=w.tag;if((L===3||L===4)&&w.stateNode.containerInfo===u)return;w=w.return}for(;_!==null;){if(w=yr(_),w===null)return;if(L=w.tag,L===5||L===6||L===26||L===27){s=m=w;continue e}_=_.parentNode}}s=s.return}ep(function(){var F=m,te=Ec(r),re=[];e:{var G=_p.get(e);if(G!==void 0){var J=li,he=e;switch(e){case"keypress":if(si(r)===0)break e;case"keydown":case"keyup":J=l1;break;case"focusin":he="focus",J=Rc;break;case"focusout":he="blur",J=Rc;break;case"beforeblur":case"afterblur":J=Rc;break;case"click":if(r.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":J=ap;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":J=Xx;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":J=d1;break;case Ep:case Tp:case Cp:J=Jx;break;case Ap:J=m1;break;case"scroll":case"scrollend":J=Gx;break;case"wheel":J=h1;break;case"copy":case"cut":case"paste":J=t1;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":J=op;break;case"toggle":case"beforetoggle":J=v1}var ke=(n&4)!==0,Ke=!ke&&(e==="scroll"||e==="scrollend"),W=ke?G!==null?G+"Capture":null:G;ke=[];for(var B=F,Y;B!==null;){var ae=B;if(Y=ae.stateNode,ae=ae.tag,ae!==5&&ae!==26&&ae!==27||Y===null||W===null||(ae=_o(B,W),ae!=null&&ke.push(is(B,ae,Y))),Ke)break;B=B.return}0<ke.length&&(G=new J(G,he,null,r,te),re.push({event:G,listeners:ke}))}}if((n&7)===0){e:{if(G=e==="mouseover"||e==="pointerover",J=e==="mouseout"||e==="pointerout",G&&r!==Sc&&(he=r.relatedTarget||r.fromElement)&&(yr(he)||he[vr]))break e;if((J||G)&&(G=te.window===te?te:(G=te.ownerDocument)?G.defaultView||G.parentWindow:window,J?(he=r.relatedTarget||r.toElement,J=F,he=he?yr(he):null,he!==null&&(Ke=c(he),ke=he.tag,he!==Ke||ke!==5&&ke!==27&&ke!==6)&&(he=null)):(J=null,he=F),J!==he)){if(ke=ap,ae="onMouseLeave",W="onMouseEnter",B="mouse",(e==="pointerout"||e==="pointerover")&&(ke=op,ae="onPointerLeave",W="onPointerEnter",B="pointer"),Ke=J==null?G:Ao(J),Y=he==null?G:Ao(he),G=new ke(ae,B+"leave",J,r,te),G.target=Ke,G.relatedTarget=Y,ae=null,yr(te)===F&&(ke=new ke(W,B+"enter",he,r,te),ke.target=Y,ke.relatedTarget=Ke,ae=ke),Ke=ae,J&&he)t:{for(ke=g2,W=J,B=he,Y=0,ae=W;ae;ae=ke(ae))Y++;ae=0;for(var we=B;we;we=ke(we))ae++;for(;0<Y-ae;)W=ke(W),Y--;for(;0<ae-Y;)B=ke(B),ae--;for(;Y--;){if(W===B||B!==null&&W===B.alternate){ke=W;break t}W=ke(W),B=ke(B)}ke=null}else ke=null;J!==null&&Xg(re,G,J,ke,!1),he!==null&&Ke!==null&&Xg(re,Ke,he,ke,!0)}}e:{if(G=F?Ao(F):window,J=G.nodeName&&G.nodeName.toLowerCase(),J==="select"||J==="input"&&G.type==="file")var He=mp;else if(dp(G))if(pp)He=A1;else{He=T1;var ye=E1}else J=G.nodeName,!J||J.toLowerCase()!=="input"||G.type!=="checkbox"&&G.type!=="radio"?F&&kc(F.elementType)&&(He=mp):He=C1;if(He&&(He=He(e,F))){fp(re,He,r,te);break e}ye&&ye(e,G,F),e==="focusout"&&F&&G.type==="number"&&F.memoizedProps.value!=null&&xc(G,"number",G.value)}switch(ye=F?Ao(F):window,e){case"focusin":(dp(ye)||ye.contentEditable==="true")&&(Ar=ye,zc=F,zo=null);break;case"focusout":zo=zc=Ar=null;break;case"mousedown":Bc=!0;break;case"contextmenu":case"mouseup":case"dragend":Bc=!1,kp(re,r,te);break;case"selectionchange":if(N1)break;case"keydown":case"keyup":kp(re,r,te)}var Ne;if(Oc)e:{switch(e){case"compositionstart":var ze="onCompositionStart";break e;case"compositionend":ze="onCompositionEnd";break e;case"compositionupdate":ze="onCompositionUpdate";break e}ze=void 0}else Cr?cp(e,r)&&(ze="onCompositionEnd"):e==="keydown"&&r.keyCode===229&&(ze="onCompositionStart");ze&&(sp&&r.locale!=="ko"&&(Cr||ze!=="onCompositionStart"?ze==="onCompositionEnd"&&Cr&&(Ne=tp()):(la=te,Ac="value"in la?la.value:la.textContent,Cr=!0)),ye=Qi(F,ze),0<ye.length&&(ze=new rp(ze,e,null,r,te),re.push({event:ze,listeners:ye}),Ne?ze.data=Ne:(Ne=up(r),Ne!==null&&(ze.data=Ne)))),(Ne=b1?w1(e,r):x1(e,r))&&(ze=Qi(F,"onBeforeInput"),0<ze.length&&(ye=new rp("onBeforeInput","beforeinput",null,r,te),re.push({event:ye,listeners:ze}),ye.data=Ne)),f2(re,e,F,r,te)}Gg(re,n)})}function is(e,n,r){return{instance:e,listener:n,currentTarget:r}}function Qi(e,n){for(var r=n+"Capture",s=[];e!==null;){var u=e,m=u.stateNode;if(u=u.tag,u!==5&&u!==26&&u!==27||m===null||(u=_o(e,r),u!=null&&s.unshift(is(e,u,m)),u=_o(e,n),u!=null&&s.push(is(e,u,m))),e.tag===3)return s;e=e.return}return[]}function g2(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Xg(e,n,r,s,u){for(var m=n._reactName,w=[];r!==null&&r!==s;){var _=r,L=_.alternate,F=_.stateNode;if(_=_.tag,L!==null&&L===s)break;_!==5&&_!==26&&_!==27||F===null||(L=F,u?(F=_o(r,m),F!=null&&w.unshift(is(r,F,L))):u||(F=_o(r,m),F!=null&&w.push(is(r,F,L)))),r=r.return}w.length!==0&&e.push({event:n,listeners:w})}var v2=/\r\n?/g,y2=/\u0000|\uFFFD/g;function Zg(e){return(typeof e=="string"?e:""+e).replace(v2,`
|
|
10
|
+
`).replace(y2,"")}function Qg(e,n){return n=Zg(n),Zg(e)===n}function Ye(e,n,r,s,u,m){switch(r){case"children":typeof s=="string"?n==="body"||n==="textarea"&&s===""||Sr(e,s):(typeof s=="number"||typeof s=="bigint")&&n!=="body"&&Sr(e,""+s);break;case"className":ni(e,"class",s);break;case"tabIndex":ni(e,"tabindex",s);break;case"dir":case"role":case"viewBox":case"width":case"height":ni(e,r,s);break;case"style":Qm(e,s,m);break;case"data":if(n!=="object"){ni(e,"data",s);break}case"src":case"href":if(s===""&&(n!=="a"||r!=="href")){e.removeAttribute(r);break}if(s==null||typeof s=="function"||typeof s=="symbol"||typeof s=="boolean"){e.removeAttribute(r);break}s=ri(""+s),e.setAttribute(r,s);break;case"action":case"formAction":if(typeof s=="function"){e.setAttribute(r,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof m=="function"&&(r==="formAction"?(n!=="input"&&Ye(e,n,"name",u.name,u,null),Ye(e,n,"formEncType",u.formEncType,u,null),Ye(e,n,"formMethod",u.formMethod,u,null),Ye(e,n,"formTarget",u.formTarget,u,null)):(Ye(e,n,"encType",u.encType,u,null),Ye(e,n,"method",u.method,u,null),Ye(e,n,"target",u.target,u,null)));if(s==null||typeof s=="symbol"||typeof s=="boolean"){e.removeAttribute(r);break}s=ri(""+s),e.setAttribute(r,s);break;case"onClick":s!=null&&(e.onclick=Ln);break;case"onScroll":s!=null&&Oe("scroll",e);break;case"onScrollEnd":s!=null&&Oe("scrollend",e);break;case"dangerouslySetInnerHTML":if(s!=null){if(typeof s!="object"||!("__html"in s))throw Error(i(61));if(r=s.__html,r!=null){if(u.children!=null)throw Error(i(60));e.innerHTML=r}}break;case"multiple":e.multiple=s&&typeof s!="function"&&typeof s!="symbol";break;case"muted":e.muted=s&&typeof s!="function"&&typeof s!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(s==null||typeof s=="function"||typeof s=="boolean"||typeof s=="symbol"){e.removeAttribute("xlink:href");break}r=ri(""+s),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",r);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":s!=null&&typeof s!="function"&&typeof s!="symbol"?e.setAttribute(r,""+s):e.removeAttribute(r);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":s&&typeof s!="function"&&typeof s!="symbol"?e.setAttribute(r,""):e.removeAttribute(r);break;case"capture":case"download":s===!0?e.setAttribute(r,""):s!==!1&&s!=null&&typeof s!="function"&&typeof s!="symbol"?e.setAttribute(r,s):e.removeAttribute(r);break;case"cols":case"rows":case"size":case"span":s!=null&&typeof s!="function"&&typeof s!="symbol"&&!isNaN(s)&&1<=s?e.setAttribute(r,s):e.removeAttribute(r);break;case"rowSpan":case"start":s==null||typeof s=="function"||typeof s=="symbol"||isNaN(s)?e.removeAttribute(r):e.setAttribute(r,s);break;case"popover":Oe("beforetoggle",e),Oe("toggle",e),ti(e,"popover",s);break;case"xlinkActuate":Dn(e,"http://www.w3.org/1999/xlink","xlink:actuate",s);break;case"xlinkArcrole":Dn(e,"http://www.w3.org/1999/xlink","xlink:arcrole",s);break;case"xlinkRole":Dn(e,"http://www.w3.org/1999/xlink","xlink:role",s);break;case"xlinkShow":Dn(e,"http://www.w3.org/1999/xlink","xlink:show",s);break;case"xlinkTitle":Dn(e,"http://www.w3.org/1999/xlink","xlink:title",s);break;case"xlinkType":Dn(e,"http://www.w3.org/1999/xlink","xlink:type",s);break;case"xmlBase":Dn(e,"http://www.w3.org/XML/1998/namespace","xml:base",s);break;case"xmlLang":Dn(e,"http://www.w3.org/XML/1998/namespace","xml:lang",s);break;case"xmlSpace":Dn(e,"http://www.w3.org/XML/1998/namespace","xml:space",s);break;case"is":ti(e,"is",s);break;case"innerText":case"textContent":break;default:(!(2<r.length)||r[0]!=="o"&&r[0]!=="O"||r[1]!=="n"&&r[1]!=="N")&&(r=Fx.get(r)||r,ti(e,r,s))}}function ld(e,n,r,s,u,m){switch(r){case"style":Qm(e,s,m);break;case"dangerouslySetInnerHTML":if(s!=null){if(typeof s!="object"||!("__html"in s))throw Error(i(61));if(r=s.__html,r!=null){if(u.children!=null)throw Error(i(60));e.innerHTML=r}}break;case"children":typeof s=="string"?Sr(e,s):(typeof s=="number"||typeof s=="bigint")&&Sr(e,""+s);break;case"onScroll":s!=null&&Oe("scroll",e);break;case"onScrollEnd":s!=null&&Oe("scrollend",e);break;case"onClick":s!=null&&(e.onclick=Ln);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Pm.hasOwnProperty(r))e:{if(r[0]==="o"&&r[1]==="n"&&(u=r.endsWith("Capture"),n=r.slice(2,u?r.length-7:void 0),m=e[Ct]||null,m=m!=null?m[r]:null,typeof m=="function"&&e.removeEventListener(n,m,u),typeof s=="function")){typeof m!="function"&&m!==null&&(r in e?e[r]=null:e.hasAttribute(r)&&e.removeAttribute(r)),e.addEventListener(n,s,u);break e}r in e?e[r]=s:s===!0?e.setAttribute(r,""):ti(e,r,s)}}}function gt(e,n,r){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Oe("error",e),Oe("load",e);var s=!1,u=!1,m;for(m in r)if(r.hasOwnProperty(m)){var w=r[m];if(w!=null)switch(m){case"src":s=!0;break;case"srcSet":u=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(i(137,n));default:Ye(e,n,m,w,r,null)}}u&&Ye(e,n,"srcSet",r.srcSet,r,null),s&&Ye(e,n,"src",r.src,r,null);return;case"input":Oe("invalid",e);var _=m=w=u=null,L=null,F=null;for(s in r)if(r.hasOwnProperty(s)){var te=r[s];if(te!=null)switch(s){case"name":u=te;break;case"type":w=te;break;case"checked":L=te;break;case"defaultChecked":F=te;break;case"value":m=te;break;case"defaultValue":_=te;break;case"children":case"dangerouslySetInnerHTML":if(te!=null)throw Error(i(137,n));break;default:Ye(e,n,s,te,r,null)}}Gm(e,m,_,L,F,w,u,!1);return;case"select":Oe("invalid",e),s=w=m=null;for(u in r)if(r.hasOwnProperty(u)&&(_=r[u],_!=null))switch(u){case"value":m=_;break;case"defaultValue":w=_;break;case"multiple":s=_;default:Ye(e,n,u,_,r,null)}n=m,r=w,e.multiple=!!s,n!=null?kr(e,!!s,n,!1):r!=null&&kr(e,!!s,r,!0);return;case"textarea":Oe("invalid",e),m=u=s=null;for(w in r)if(r.hasOwnProperty(w)&&(_=r[w],_!=null))switch(w){case"value":s=_;break;case"defaultValue":u=_;break;case"children":m=_;break;case"dangerouslySetInnerHTML":if(_!=null)throw Error(i(91));break;default:Ye(e,n,w,_,r,null)}Xm(e,s,u,m);return;case"option":for(L in r)r.hasOwnProperty(L)&&(s=r[L],s!=null)&&(L==="selected"?e.selected=s&&typeof s!="function"&&typeof s!="symbol":Ye(e,n,L,s,r,null));return;case"dialog":Oe("beforetoggle",e),Oe("toggle",e),Oe("cancel",e),Oe("close",e);break;case"iframe":case"object":Oe("load",e);break;case"video":case"audio":for(s=0;s<ss.length;s++)Oe(ss[s],e);break;case"image":Oe("error",e),Oe("load",e);break;case"details":Oe("toggle",e);break;case"embed":case"source":case"link":Oe("error",e),Oe("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(F in r)if(r.hasOwnProperty(F)&&(s=r[F],s!=null))switch(F){case"children":case"dangerouslySetInnerHTML":throw Error(i(137,n));default:Ye(e,n,F,s,r,null)}return;default:if(kc(n)){for(te in r)r.hasOwnProperty(te)&&(s=r[te],s!==void 0&&ld(e,n,te,s,r,void 0));return}}for(_ in r)r.hasOwnProperty(_)&&(s=r[_],s!=null&&Ye(e,n,_,s,r,null))}function b2(e,n,r,s){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var u=null,m=null,w=null,_=null,L=null,F=null,te=null;for(J in r){var re=r[J];if(r.hasOwnProperty(J)&&re!=null)switch(J){case"checked":break;case"value":break;case"defaultValue":L=re;default:s.hasOwnProperty(J)||Ye(e,n,J,null,s,re)}}for(var G in s){var J=s[G];if(re=r[G],s.hasOwnProperty(G)&&(J!=null||re!=null))switch(G){case"type":m=J;break;case"name":u=J;break;case"checked":F=J;break;case"defaultChecked":te=J;break;case"value":w=J;break;case"defaultValue":_=J;break;case"children":case"dangerouslySetInnerHTML":if(J!=null)throw Error(i(137,n));break;default:J!==re&&Ye(e,n,G,J,s,re)}}wc(e,w,_,L,F,te,m,u);return;case"select":J=w=_=G=null;for(m in r)if(L=r[m],r.hasOwnProperty(m)&&L!=null)switch(m){case"value":break;case"multiple":J=L;default:s.hasOwnProperty(m)||Ye(e,n,m,null,s,L)}for(u in s)if(m=s[u],L=r[u],s.hasOwnProperty(u)&&(m!=null||L!=null))switch(u){case"value":G=m;break;case"defaultValue":_=m;break;case"multiple":w=m;default:m!==L&&Ye(e,n,u,m,s,L)}n=_,r=w,s=J,G!=null?kr(e,!!r,G,!1):!!s!=!!r&&(n!=null?kr(e,!!r,n,!0):kr(e,!!r,r?[]:"",!1));return;case"textarea":J=G=null;for(_ in r)if(u=r[_],r.hasOwnProperty(_)&&u!=null&&!s.hasOwnProperty(_))switch(_){case"value":break;case"children":break;default:Ye(e,n,_,null,s,u)}for(w in s)if(u=s[w],m=r[w],s.hasOwnProperty(w)&&(u!=null||m!=null))switch(w){case"value":G=u;break;case"defaultValue":J=u;break;case"children":break;case"dangerouslySetInnerHTML":if(u!=null)throw Error(i(91));break;default:u!==m&&Ye(e,n,w,u,s,m)}$m(e,G,J);return;case"option":for(var he in r)G=r[he],r.hasOwnProperty(he)&&G!=null&&!s.hasOwnProperty(he)&&(he==="selected"?e.selected=!1:Ye(e,n,he,null,s,G));for(L in s)G=s[L],J=r[L],s.hasOwnProperty(L)&&G!==J&&(G!=null||J!=null)&&(L==="selected"?e.selected=G&&typeof G!="function"&&typeof G!="symbol":Ye(e,n,L,G,s,J));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var ke in r)G=r[ke],r.hasOwnProperty(ke)&&G!=null&&!s.hasOwnProperty(ke)&&Ye(e,n,ke,null,s,G);for(F in s)if(G=s[F],J=r[F],s.hasOwnProperty(F)&&G!==J&&(G!=null||J!=null))switch(F){case"children":case"dangerouslySetInnerHTML":if(G!=null)throw Error(i(137,n));break;default:Ye(e,n,F,G,s,J)}return;default:if(kc(n)){for(var Ke in r)G=r[Ke],r.hasOwnProperty(Ke)&&G!==void 0&&!s.hasOwnProperty(Ke)&&ld(e,n,Ke,void 0,s,G);for(te in s)G=s[te],J=r[te],!s.hasOwnProperty(te)||G===J||G===void 0&&J===void 0||ld(e,n,te,G,s,J);return}}for(var W in r)G=r[W],r.hasOwnProperty(W)&&G!=null&&!s.hasOwnProperty(W)&&Ye(e,n,W,null,s,G);for(re in s)G=s[re],J=r[re],!s.hasOwnProperty(re)||G===J||G==null&&J==null||Ye(e,n,re,G,s,J)}function Jg(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function w2(){if(typeof performance.getEntriesByType=="function"){for(var e=0,n=0,r=performance.getEntriesByType("resource"),s=0;s<r.length;s++){var u=r[s],m=u.transferSize,w=u.initiatorType,_=u.duration;if(m&&_&&Jg(w)){for(w=0,_=u.responseEnd,s+=1;s<r.length;s++){var L=r[s],F=L.startTime;if(F>_)break;var te=L.transferSize,re=L.initiatorType;te&&Jg(re)&&(L=L.responseEnd,w+=te*(L<_?1:(_-F)/(L-F)))}if(--s,n+=8*(m+w)/(u.duration/1e3),e++,10<e)break}}if(0<e)return n/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var cd=null,ud=null;function Ji(e){return e.nodeType===9?e:e.ownerDocument}function ev(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function tv(e,n){if(e===0)switch(n){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&n==="foreignObject"?0:e}function dd(e,n){return e==="textarea"||e==="noscript"||typeof n.children=="string"||typeof n.children=="number"||typeof n.children=="bigint"||typeof n.dangerouslySetInnerHTML=="object"&&n.dangerouslySetInnerHTML!==null&&n.dangerouslySetInnerHTML.__html!=null}var fd=null;function x2(){var e=window.event;return e&&e.type==="popstate"?e===fd?!1:(fd=e,!0):(fd=null,!1)}var nv=typeof setTimeout=="function"?setTimeout:void 0,k2=typeof clearTimeout=="function"?clearTimeout:void 0,av=typeof Promise=="function"?Promise:void 0,S2=typeof queueMicrotask=="function"?queueMicrotask:typeof av<"u"?function(e){return av.resolve(null).then(e).catch(E2)}:nv;function E2(e){setTimeout(function(){throw e})}function Ta(e){return e==="head"}function rv(e,n){var r=n,s=0;do{var u=r.nextSibling;if(e.removeChild(r),u&&u.nodeType===8)if(r=u.data,r==="/$"||r==="/&"){if(s===0){e.removeChild(u),eo(n);return}s--}else if(r==="$"||r==="$?"||r==="$~"||r==="$!"||r==="&")s++;else if(r==="html")ls(e.ownerDocument.documentElement);else if(r==="head"){r=e.ownerDocument.head,ls(r);for(var m=r.firstChild;m;){var w=m.nextSibling,_=m.nodeName;m[Co]||_==="SCRIPT"||_==="STYLE"||_==="LINK"&&m.rel.toLowerCase()==="stylesheet"||r.removeChild(m),m=w}}else r==="body"&&ls(e.ownerDocument.body);r=u}while(r);eo(n)}function ov(e,n){var r=e;e=0;do{var s=r.nextSibling;if(r.nodeType===1?n?(r._stashedDisplay=r.style.display,r.style.display="none"):(r.style.display=r._stashedDisplay||"",r.getAttribute("style")===""&&r.removeAttribute("style")):r.nodeType===3&&(n?(r._stashedText=r.nodeValue,r.nodeValue=""):r.nodeValue=r._stashedText||""),s&&s.nodeType===8)if(r=s.data,r==="/$"){if(e===0)break;e--}else r!=="$"&&r!=="$?"&&r!=="$~"&&r!=="$!"||e++;r=s}while(r)}function md(e){var n=e.firstChild;for(n&&n.nodeType===10&&(n=n.nextSibling);n;){var r=n;switch(n=n.nextSibling,r.nodeName){case"HTML":case"HEAD":case"BODY":md(r),yc(r);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(r.rel.toLowerCase()==="stylesheet")continue}e.removeChild(r)}}function T2(e,n,r,s){for(;e.nodeType===1;){var u=r;if(e.nodeName.toLowerCase()!==n.toLowerCase()){if(!s&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(s){if(!e[Co])switch(n){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(m=e.getAttribute("rel"),m==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(m!==u.rel||e.getAttribute("href")!==(u.href==null||u.href===""?null:u.href)||e.getAttribute("crossorigin")!==(u.crossOrigin==null?null:u.crossOrigin)||e.getAttribute("title")!==(u.title==null?null:u.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(m=e.getAttribute("src"),(m!==(u.src==null?null:u.src)||e.getAttribute("type")!==(u.type==null?null:u.type)||e.getAttribute("crossorigin")!==(u.crossOrigin==null?null:u.crossOrigin))&&m&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(n==="input"&&e.type==="hidden"){var m=u.name==null?null:""+u.name;if(u.type==="hidden"&&e.getAttribute("name")===m)return e}else return e;if(e=ln(e.nextSibling),e===null)break}return null}function C2(e,n,r){if(n==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!r||(e=ln(e.nextSibling),e===null))return null;return e}function sv(e,n){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=ln(e.nextSibling),e===null))return null;return e}function pd(e){return e.data==="$?"||e.data==="$~"}function hd(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function A2(e,n){var r=e.ownerDocument;if(e.data==="$~")e._reactRetry=n;else if(e.data!=="$?"||r.readyState!=="loading")n();else{var s=function(){n(),r.removeEventListener("DOMContentLoaded",s)};r.addEventListener("DOMContentLoaded",s),e._reactRetry=s}}function ln(e){for(;e!=null;e=e.nextSibling){var n=e.nodeType;if(n===1||n===3)break;if(n===8){if(n=e.data,n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"||n==="F!"||n==="F")break;if(n==="/$"||n==="/&")return null}}return e}var gd=null;function iv(e){e=e.nextSibling;for(var n=0;e;){if(e.nodeType===8){var r=e.data;if(r==="/$"||r==="/&"){if(n===0)return ln(e.nextSibling);n--}else r!=="$"&&r!=="$!"&&r!=="$?"&&r!=="$~"&&r!=="&"||n++}e=e.nextSibling}return null}function lv(e){e=e.previousSibling;for(var n=0;e;){if(e.nodeType===8){var r=e.data;if(r==="$"||r==="$!"||r==="$?"||r==="$~"||r==="&"){if(n===0)return e;n--}else r!=="/$"&&r!=="/&"||n++}e=e.previousSibling}return null}function cv(e,n,r){switch(n=Ji(r),e){case"html":if(e=n.documentElement,!e)throw Error(i(452));return e;case"head":if(e=n.head,!e)throw Error(i(453));return e;case"body":if(e=n.body,!e)throw Error(i(454));return e;default:throw Error(i(451))}}function ls(e){for(var n=e.attributes;n.length;)e.removeAttributeNode(n[0]);yc(e)}var cn=new Map,uv=new Set;function el(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Zn=I.d;I.d={f:_2,r:N2,D:R2,C:j2,L:O2,m:M2,X:L2,S:D2,M:z2};function _2(){var e=Zn.f(),n=Ki();return e||n}function N2(e){var n=br(e);n!==null&&n.tag===5&&n.type==="form"?Ah(n):Zn.r(e)}var Zr=typeof document>"u"?null:document;function dv(e,n,r){var s=Zr;if(s&&typeof n=="string"&&n){var u=en(n);u='link[rel="'+e+'"][href="'+u+'"]',typeof r=="string"&&(u+='[crossorigin="'+r+'"]'),uv.has(u)||(uv.add(u),e={rel:e,crossOrigin:r,href:n},s.querySelector(u)===null&&(n=s.createElement("link"),gt(n,"link",e),ut(n),s.head.appendChild(n)))}}function R2(e){Zn.D(e),dv("dns-prefetch",e,null)}function j2(e,n){Zn.C(e,n),dv("preconnect",e,n)}function O2(e,n,r){Zn.L(e,n,r);var s=Zr;if(s&&e&&n){var u='link[rel="preload"][as="'+en(n)+'"]';n==="image"&&r&&r.imageSrcSet?(u+='[imagesrcset="'+en(r.imageSrcSet)+'"]',typeof r.imageSizes=="string"&&(u+='[imagesizes="'+en(r.imageSizes)+'"]')):u+='[href="'+en(e)+'"]';var m=u;switch(n){case"style":m=Qr(e);break;case"script":m=Jr(e)}cn.has(m)||(e=v({rel:"preload",href:n==="image"&&r&&r.imageSrcSet?void 0:e,as:n},r),cn.set(m,e),s.querySelector(u)!==null||n==="style"&&s.querySelector(cs(m))||n==="script"&&s.querySelector(us(m))||(n=s.createElement("link"),gt(n,"link",e),ut(n),s.head.appendChild(n)))}}function M2(e,n){Zn.m(e,n);var r=Zr;if(r&&e){var s=n&&typeof n.as=="string"?n.as:"script",u='link[rel="modulepreload"][as="'+en(s)+'"][href="'+en(e)+'"]',m=u;switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":m=Jr(e)}if(!cn.has(m)&&(e=v({rel:"modulepreload",href:e},n),cn.set(m,e),r.querySelector(u)===null)){switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(r.querySelector(us(m)))return}s=r.createElement("link"),gt(s,"link",e),ut(s),r.head.appendChild(s)}}}function D2(e,n,r){Zn.S(e,n,r);var s=Zr;if(s&&e){var u=wr(s).hoistableStyles,m=Qr(e);n=n||"default";var w=u.get(m);if(!w){var _={loading:0,preload:null};if(w=s.querySelector(cs(m)))_.loading=5;else{e=v({rel:"stylesheet",href:e,"data-precedence":n},r),(r=cn.get(m))&&vd(e,r);var L=w=s.createElement("link");ut(L),gt(L,"link",e),L._p=new Promise(function(F,te){L.onload=F,L.onerror=te}),L.addEventListener("load",function(){_.loading|=1}),L.addEventListener("error",function(){_.loading|=2}),_.loading|=4,tl(w,n,s)}w={type:"stylesheet",instance:w,count:1,state:_},u.set(m,w)}}}function L2(e,n){Zn.X(e,n);var r=Zr;if(r&&e){var s=wr(r).hoistableScripts,u=Jr(e),m=s.get(u);m||(m=r.querySelector(us(u)),m||(e=v({src:e,async:!0},n),(n=cn.get(u))&&yd(e,n),m=r.createElement("script"),ut(m),gt(m,"link",e),r.head.appendChild(m)),m={type:"script",instance:m,count:1,state:null},s.set(u,m))}}function z2(e,n){Zn.M(e,n);var r=Zr;if(r&&e){var s=wr(r).hoistableScripts,u=Jr(e),m=s.get(u);m||(m=r.querySelector(us(u)),m||(e=v({src:e,async:!0,type:"module"},n),(n=cn.get(u))&&yd(e,n),m=r.createElement("script"),ut(m),gt(m,"link",e),r.head.appendChild(m)),m={type:"script",instance:m,count:1,state:null},s.set(u,m))}}function fv(e,n,r,s){var u=(u=pe.current)?el(u):null;if(!u)throw Error(i(446));switch(e){case"meta":case"title":return null;case"style":return typeof r.precedence=="string"&&typeof r.href=="string"?(n=Qr(r.href),r=wr(u).hoistableStyles,s=r.get(n),s||(s={type:"style",instance:null,count:0,state:null},r.set(n,s)),s):{type:"void",instance:null,count:0,state:null};case"link":if(r.rel==="stylesheet"&&typeof r.href=="string"&&typeof r.precedence=="string"){e=Qr(r.href);var m=wr(u).hoistableStyles,w=m.get(e);if(w||(u=u.ownerDocument||u,w={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},m.set(e,w),(m=u.querySelector(cs(e)))&&!m._p&&(w.instance=m,w.state.loading=5),cn.has(e)||(r={rel:"preload",as:"style",href:r.href,crossOrigin:r.crossOrigin,integrity:r.integrity,media:r.media,hrefLang:r.hrefLang,referrerPolicy:r.referrerPolicy},cn.set(e,r),m||B2(u,e,r,w.state))),n&&s===null)throw Error(i(528,""));return w}if(n&&s!==null)throw Error(i(529,""));return null;case"script":return n=r.async,r=r.src,typeof r=="string"&&n&&typeof n!="function"&&typeof n!="symbol"?(n=Jr(r),r=wr(u).hoistableScripts,s=r.get(n),s||(s={type:"script",instance:null,count:0,state:null},r.set(n,s)),s):{type:"void",instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Qr(e){return'href="'+en(e)+'"'}function cs(e){return'link[rel="stylesheet"]['+e+"]"}function mv(e){return v({},e,{"data-precedence":e.precedence,precedence:null})}function B2(e,n,r,s){e.querySelector('link[rel="preload"][as="style"]['+n+"]")?s.loading=1:(n=e.createElement("link"),s.preload=n,n.addEventListener("load",function(){return s.loading|=1}),n.addEventListener("error",function(){return s.loading|=2}),gt(n,"link",r),ut(n),e.head.appendChild(n))}function Jr(e){return'[src="'+en(e)+'"]'}function us(e){return"script[async]"+e}function pv(e,n,r){if(n.count++,n.instance===null)switch(n.type){case"style":var s=e.querySelector('style[data-href~="'+en(r.href)+'"]');if(s)return n.instance=s,ut(s),s;var u=v({},r,{"data-href":r.href,"data-precedence":r.precedence,href:null,precedence:null});return s=(e.ownerDocument||e).createElement("style"),ut(s),gt(s,"style",u),tl(s,r.precedence,e),n.instance=s;case"stylesheet":u=Qr(r.href);var m=e.querySelector(cs(u));if(m)return n.state.loading|=4,n.instance=m,ut(m),m;s=mv(r),(u=cn.get(u))&&vd(s,u),m=(e.ownerDocument||e).createElement("link"),ut(m);var w=m;return w._p=new Promise(function(_,L){w.onload=_,w.onerror=L}),gt(m,"link",s),n.state.loading|=4,tl(m,r.precedence,e),n.instance=m;case"script":return m=Jr(r.src),(u=e.querySelector(us(m)))?(n.instance=u,ut(u),u):(s=r,(u=cn.get(m))&&(s=v({},r),yd(s,u)),e=e.ownerDocument||e,u=e.createElement("script"),ut(u),gt(u,"link",s),e.head.appendChild(u),n.instance=u);case"void":return null;default:throw Error(i(443,n.type))}else n.type==="stylesheet"&&(n.state.loading&4)===0&&(s=n.instance,n.state.loading|=4,tl(s,r.precedence,e));return n.instance}function tl(e,n,r){for(var s=r.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),u=s.length?s[s.length-1]:null,m=u,w=0;w<s.length;w++){var _=s[w];if(_.dataset.precedence===n)m=_;else if(m!==u)break}m?m.parentNode.insertBefore(e,m.nextSibling):(n=r.nodeType===9?r.head:r,n.insertBefore(e,n.firstChild))}function vd(e,n){e.crossOrigin==null&&(e.crossOrigin=n.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=n.referrerPolicy),e.title==null&&(e.title=n.title)}function yd(e,n){e.crossOrigin==null&&(e.crossOrigin=n.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=n.referrerPolicy),e.integrity==null&&(e.integrity=n.integrity)}var nl=null;function hv(e,n,r){if(nl===null){var s=new Map,u=nl=new Map;u.set(r,s)}else u=nl,s=u.get(r),s||(s=new Map,u.set(r,s));if(s.has(e))return s;for(s.set(e,null),r=r.getElementsByTagName(e),u=0;u<r.length;u++){var m=r[u];if(!(m[Co]||m[ft]||e==="link"&&m.getAttribute("rel")==="stylesheet")&&m.namespaceURI!=="http://www.w3.org/2000/svg"){var w=m.getAttribute(n)||"";w=e+w;var _=s.get(w);_?_.push(m):s.set(w,[m])}}return s}function gv(e,n,r){e=e.ownerDocument||e,e.head.insertBefore(r,n==="title"?e.querySelector("head > title"):null)}function H2(e,n,r){if(r===1||n.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof n.precedence!="string"||typeof n.href!="string"||n.href==="")break;return!0;case"link":if(typeof n.rel!="string"||typeof n.href!="string"||n.href===""||n.onLoad||n.onError)break;return n.rel==="stylesheet"?(e=n.disabled,typeof n.precedence=="string"&&e==null):!0;case"script":if(n.async&&typeof n.async!="function"&&typeof n.async!="symbol"&&!n.onLoad&&!n.onError&&n.src&&typeof n.src=="string")return!0}return!1}function vv(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function U2(e,n,r,s){if(r.type==="stylesheet"&&(typeof s.media!="string"||matchMedia(s.media).matches!==!1)&&(r.state.loading&4)===0){if(r.instance===null){var u=Qr(s.href),m=n.querySelector(cs(u));if(m){n=m._p,n!==null&&typeof n=="object"&&typeof n.then=="function"&&(e.count++,e=al.bind(e),n.then(e,e)),r.state.loading|=4,r.instance=m,ut(m);return}m=n.ownerDocument||n,s=mv(s),(u=cn.get(u))&&vd(s,u),m=m.createElement("link"),ut(m);var w=m;w._p=new Promise(function(_,L){w.onload=_,w.onerror=L}),gt(m,"link",s),r.instance=m}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(r,n),(n=r.state.preload)&&(r.state.loading&3)===0&&(e.count++,r=al.bind(e),n.addEventListener("load",r),n.addEventListener("error",r))}}var bd=0;function W2(e,n){return e.stylesheets&&e.count===0&&ol(e,e.stylesheets),0<e.count||0<e.imgCount?function(r){var s=setTimeout(function(){if(e.stylesheets&&ol(e,e.stylesheets),e.unsuspend){var m=e.unsuspend;e.unsuspend=null,m()}},6e4+n);0<e.imgBytes&&bd===0&&(bd=62500*w2());var u=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&ol(e,e.stylesheets),e.unsuspend)){var m=e.unsuspend;e.unsuspend=null,m()}},(e.imgBytes>bd?50:800)+n);return e.unsuspend=r,function(){e.unsuspend=null,clearTimeout(s),clearTimeout(u)}}:null}function al(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)ol(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var rl=null;function ol(e,n){e.stylesheets=null,e.unsuspend!==null&&(e.count++,rl=new Map,n.forEach(q2,e),rl=null,al.call(e))}function q2(e,n){if(!(n.state.loading&4)){var r=rl.get(e);if(r)var s=r.get(null);else{r=new Map,rl.set(e,r);for(var u=e.querySelectorAll("link[data-precedence],style[data-precedence]"),m=0;m<u.length;m++){var w=u[m];(w.nodeName==="LINK"||w.getAttribute("media")!=="not all")&&(r.set(w.dataset.precedence,w),s=w)}s&&r.set(null,s)}u=n.instance,w=u.getAttribute("data-precedence"),m=r.get(w)||s,m===s&&r.set(null,u),r.set(w,u),this.count++,s=al.bind(this),u.addEventListener("load",s),u.addEventListener("error",s),m?m.parentNode.insertBefore(u,m.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(u,e.firstChild)),n.state.loading|=4}}var ds={$$typeof:N,Provider:null,Consumer:null,_currentValue:U,_currentValue2:U,_threadCount:0};function I2(e,n,r,s,u,m,w,_,L){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=pc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=pc(0),this.hiddenUpdates=pc(null),this.identifierPrefix=s,this.onUncaughtError=u,this.onCaughtError=m,this.onRecoverableError=w,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=L,this.incompleteTransitions=new Map}function yv(e,n,r,s,u,m,w,_,L,F,te,re){return e=new I2(e,n,r,w,L,F,te,re,_),n=1,m===!0&&(n|=24),m=It(3,null,null,n),e.current=m,m.stateNode=e,n=Qc(),n.refCount++,e.pooledCache=n,n.refCount++,m.memoizedState={element:s,isDehydrated:r,cache:n},nu(m),e}function bv(e){return e?(e=Rr,e):Rr}function wv(e,n,r,s,u,m){u=bv(u),s.context===null?s.context=u:s.pendingContext=u,s=pa(n),s.payload={element:r},m=m===void 0?null:m,m!==null&&(s.callback=m),r=ha(e,s,n),r!==null&&(Ot(r,e,n),Po(r,e,n))}function xv(e,n){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var r=e.retryLane;e.retryLane=r!==0&&r<n?r:n}}function wd(e,n){xv(e,n),(e=e.alternate)&&xv(e,n)}function kv(e){if(e.tag===13||e.tag===31){var n=Va(e,67108864);n!==null&&Ot(n,e,67108864),wd(e,67108864)}}function Sv(e){if(e.tag===13||e.tag===31){var n=Vt();n=hc(n);var r=Va(e,n);r!==null&&Ot(r,e,n),wd(e,n)}}var sl=!0;function P2(e,n,r,s){var u=O.T;O.T=null;var m=I.p;try{I.p=2,xd(e,n,r,s)}finally{I.p=m,O.T=u}}function Y2(e,n,r,s){var u=O.T;O.T=null;var m=I.p;try{I.p=8,xd(e,n,r,s)}finally{I.p=m,O.T=u}}function xd(e,n,r,s){if(sl){var u=kd(s);if(u===null)id(e,n,s,il,r),Tv(e,s);else if(F2(u,e,n,r,s))s.stopPropagation();else if(Tv(e,s),n&4&&-1<K2.indexOf(e)){for(;u!==null;){var m=br(u);if(m!==null)switch(m.tag){case 3:if(m=m.stateNode,m.current.memoizedState.isDehydrated){var w=Ia(m.pendingLanes);if(w!==0){var _=m;for(_.pendingLanes|=2,_.entangledLanes|=2;w;){var L=1<<31-Wt(w);_.entanglements[1]|=L,w&=~L}Tn(m),(We&6)===0&&(Pi=De()+500,os(0))}}break;case 31:case 13:_=Va(m,2),_!==null&&Ot(_,m,2),Ki(),wd(m,2)}if(m=kd(s),m===null&&id(e,n,s,il,r),m===u)break;u=m}u!==null&&s.stopPropagation()}else id(e,n,s,null,r)}}function kd(e){return e=Ec(e),Sd(e)}var il=null;function Sd(e){if(il=null,e=yr(e),e!==null){var n=c(e);if(n===null)e=null;else{var r=n.tag;if(r===13){if(e=d(n),e!==null)return e;e=null}else if(r===31){if(e=h(n),e!==null)return e;e=null}else if(r===3){if(n.stateNode.current.memoizedState.isDehydrated)return n.tag===3?n.stateNode.containerInfo:null;e=null}else n!==e&&(e=null)}}return il=e,null}function Ev(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(gr()){case Om:return 2;case Mm:return 8;case Xs:case jx:return 32;case Dm:return 268435456;default:return 32}default:return 32}}var Ed=!1,Ca=null,Aa=null,_a=null,fs=new Map,ms=new Map,Na=[],K2="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Tv(e,n){switch(e){case"focusin":case"focusout":Ca=null;break;case"dragenter":case"dragleave":Aa=null;break;case"mouseover":case"mouseout":_a=null;break;case"pointerover":case"pointerout":fs.delete(n.pointerId);break;case"gotpointercapture":case"lostpointercapture":ms.delete(n.pointerId)}}function ps(e,n,r,s,u,m){return e===null||e.nativeEvent!==m?(e={blockedOn:n,domEventName:r,eventSystemFlags:s,nativeEvent:m,targetContainers:[u]},n!==null&&(n=br(n),n!==null&&kv(n)),e):(e.eventSystemFlags|=s,n=e.targetContainers,u!==null&&n.indexOf(u)===-1&&n.push(u),e)}function F2(e,n,r,s,u){switch(n){case"focusin":return Ca=ps(Ca,e,n,r,s,u),!0;case"dragenter":return Aa=ps(Aa,e,n,r,s,u),!0;case"mouseover":return _a=ps(_a,e,n,r,s,u),!0;case"pointerover":var m=u.pointerId;return fs.set(m,ps(fs.get(m)||null,e,n,r,s,u)),!0;case"gotpointercapture":return m=u.pointerId,ms.set(m,ps(ms.get(m)||null,e,n,r,s,u)),!0}return!1}function Cv(e){var n=yr(e.target);if(n!==null){var r=c(n);if(r!==null){if(n=r.tag,n===13){if(n=d(r),n!==null){e.blockedOn=n,Wm(e.priority,function(){Sv(r)});return}}else if(n===31){if(n=h(r),n!==null){e.blockedOn=n,Wm(e.priority,function(){Sv(r)});return}}else if(n===3&&r.stateNode.current.memoizedState.isDehydrated){e.blockedOn=r.tag===3?r.stateNode.containerInfo:null;return}}}e.blockedOn=null}function ll(e){if(e.blockedOn!==null)return!1;for(var n=e.targetContainers;0<n.length;){var r=kd(e.nativeEvent);if(r===null){r=e.nativeEvent;var s=new r.constructor(r.type,r);Sc=s,r.target.dispatchEvent(s),Sc=null}else return n=br(r),n!==null&&kv(n),e.blockedOn=r,!1;n.shift()}return!0}function Av(e,n,r){ll(e)&&r.delete(n)}function V2(){Ed=!1,Ca!==null&&ll(Ca)&&(Ca=null),Aa!==null&&ll(Aa)&&(Aa=null),_a!==null&&ll(_a)&&(_a=null),fs.forEach(Av),ms.forEach(Av)}function cl(e,n){e.blockedOn===n&&(e.blockedOn=null,Ed||(Ed=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,V2)))}var ul=null;function _v(e){ul!==e&&(ul=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){ul===e&&(ul=null);for(var n=0;n<e.length;n+=3){var r=e[n],s=e[n+1],u=e[n+2];if(typeof s!="function"){if(Sd(s||r)===null)continue;break}var m=br(r);m!==null&&(e.splice(n,3),n-=3,ku(m,{pending:!0,data:u,method:r.method,action:s},s,u))}}))}function eo(e){function n(L){return cl(L,e)}Ca!==null&&cl(Ca,e),Aa!==null&&cl(Aa,e),_a!==null&&cl(_a,e),fs.forEach(n),ms.forEach(n);for(var r=0;r<Na.length;r++){var s=Na[r];s.blockedOn===e&&(s.blockedOn=null)}for(;0<Na.length&&(r=Na[0],r.blockedOn===null);)Cv(r),r.blockedOn===null&&Na.shift();if(r=(e.ownerDocument||e).$$reactFormReplay,r!=null)for(s=0;s<r.length;s+=3){var u=r[s],m=r[s+1],w=u[Ct]||null;if(typeof m=="function")w||_v(r);else if(w){var _=null;if(m&&m.hasAttribute("formAction")){if(u=m,w=m[Ct]||null)_=w.formAction;else if(Sd(u)!==null)continue}else _=w.action;typeof _=="function"?r[s+1]=_:(r.splice(s,3),s-=3),_v(r)}}}function Nv(){function e(m){m.canIntercept&&m.info==="react-transition"&&m.intercept({handler:function(){return new Promise(function(w){return u=w})},focusReset:"manual",scroll:"manual"})}function n(){u!==null&&(u(),u=null),s||setTimeout(r,20)}function r(){if(!s&&!navigation.transition){var m=navigation.currentEntry;m&&m.url!=null&&navigation.navigate(m.url,{state:m.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var s=!1,u=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",n),navigation.addEventListener("navigateerror",n),setTimeout(r,100),function(){s=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",n),navigation.removeEventListener("navigateerror",n),u!==null&&(u(),u=null)}}}function Td(e){this._internalRoot=e}dl.prototype.render=Td.prototype.render=function(e){var n=this._internalRoot;if(n===null)throw Error(i(409));var r=n.current,s=Vt();wv(r,s,e,n,null,null)},dl.prototype.unmount=Td.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var n=e.containerInfo;wv(e.current,2,null,e,null,null),Ki(),n[vr]=null}};function dl(e){this._internalRoot=e}dl.prototype.unstable_scheduleHydration=function(e){if(e){var n=Um();e={blockedOn:null,target:e,priority:n};for(var r=0;r<Na.length&&n!==0&&n<Na[r].priority;r++);Na.splice(r,0,e),r===0&&Cv(e)}};var Rv=a.version;if(Rv!=="19.2.5")throw Error(i(527,Rv,"19.2.5"));I.findDOMNode=function(e){var n=e._reactInternals;if(n===void 0)throw typeof e.render=="function"?Error(i(188)):(e=Object.keys(e).join(","),Error(i(268,e)));return e=p(n),e=e!==null?y(e):null,e=e===null?null:e.stateNode,e};var G2={bundleType:0,version:"19.2.5",rendererPackageName:"react-dom",currentDispatcherRef:O,reconcilerVersion:"19.2.5"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var fl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!fl.isDisabled&&fl.supportsFiber)try{So=fl.inject(G2),Ut=fl}catch{}}return gs.createRoot=function(e,n){if(!l(e))throw Error(i(299));var r=!1,s="",u=Bh,m=Hh,w=Uh;return n!=null&&(n.unstable_strictMode===!0&&(r=!0),n.identifierPrefix!==void 0&&(s=n.identifierPrefix),n.onUncaughtError!==void 0&&(u=n.onUncaughtError),n.onCaughtError!==void 0&&(m=n.onCaughtError),n.onRecoverableError!==void 0&&(w=n.onRecoverableError)),n=yv(e,1,!1,null,null,r,s,null,u,m,w,Nv),e[vr]=n.current,sd(e),new Td(n)},gs.hydrateRoot=function(e,n,r){if(!l(e))throw Error(i(299));var s=!1,u="",m=Bh,w=Hh,_=Uh,L=null;return r!=null&&(r.unstable_strictMode===!0&&(s=!0),r.identifierPrefix!==void 0&&(u=r.identifierPrefix),r.onUncaughtError!==void 0&&(m=r.onUncaughtError),r.onCaughtError!==void 0&&(w=r.onCaughtError),r.onRecoverableError!==void 0&&(_=r.onRecoverableError),r.formState!==void 0&&(L=r.formState)),n=yv(e,1,!0,n,r??null,s,u,L,m,w,_,Nv),n.context=bv(null),r=n.current,s=Vt(),s=hc(s),u=pa(s),u.callback=null,ha(r,u,s),r=s,n.current.lanes=r,To(n,r),Tn(n),e[vr]=n.current,sd(e),new dl(n)},gs.version="19.2.5",gs}var Wv;function ok(){if(Wv)return _d.exports;Wv=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(a){console.error(a)}}return t(),_d.exports=rk(),_d.exports}var sk=ok();const ik="modulepreload",lk=function(t){return"/"+t},qv={},Tt=function(a,o,i){let l=Promise.resolve();if(o&&o.length>0){let g=function(p){return Promise.all(p.map(y=>Promise.resolve(y).then(v=>({status:"fulfilled",value:v}),v=>({status:"rejected",reason:v}))))};document.getElementsByTagName("link");const d=document.querySelector("meta[property=csp-nonce]"),h=d?.nonce||d?.getAttribute("nonce");l=g(o.map(p=>{if(p=lk(p),p in qv)return;qv[p]=!0;const y=p.endsWith(".css"),v=y?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${p}"]${v}`))return;const x=document.createElement("link");if(x.rel=y?"stylesheet":ik,y||(x.as="script"),x.crossOrigin="",x.href=p,h&&x.setAttribute("nonce",h),document.head.appendChild(x),y)return new Promise((C,A)=>{x.addEventListener("load",C),x.addEventListener("error",()=>A(new Error(`Unable to preload CSS for ${p}`)))})}))}function c(d){const h=new Event("vite:preloadError",{cancelable:!0});if(h.payload=d,window.dispatchEvent(h),!h.defaultPrevented)throw d}return l.then(d=>{for(const h of d||[])h.status==="rejected"&&c(h.reason);return a().catch(c)})},ck=b.lazy(()=>Tt(()=>import("./WorkspaceTaskDrawer-gjvXuZ2K.js"),__vite__mapDeps([0,1,2])).then(t=>({default:t.WorkspaceTaskDrawer}))),uk=b.lazy(()=>Tt(()=>import("./AddWorkspaceFlow-BV04MkRt.js"),__vite__mapDeps([3,2])).then(t=>({default:t.AddWorkspaceFlow}))),dk=b.lazy(()=>Tt(()=>import("./FirstRunWizard-DS4IYOrd.js"),[]).then(t=>({default:t.FirstRunWizard}))),fk=b.lazy(()=>Tt(()=>import("./WhatsNewDialog-DEgVY_LD.js"),[]).then(t=>({default:t.WhatsNewDialog}))),mk=({addDialogTrigger:t,onAddWorkspace:a,onCloseTaskGraph:o,onCloseWizard:i,onCreateWorkspace:l,onTryDemo:c,taskGraphOpen:d,tasksFile:h,wizardOpen:g,whatsNewOpen:p,whatsNewEntries:y,onCloseWhatsNew:v,workspacePath:x,workers:C,onSelectOwner:A,connectionStale:k})=>f.jsxs(f.Fragment,{children:[x?f.jsx(b.Suspense,{fallback:null,children:f.jsx(ck,{open:d,tasksFile:h,onClose:o,workspacePath:x,...C?{workers:C}:{},...A?{onSelectOwner:A}:{},...k!==void 0?{connectionStale:k}:{}})}):null,t>0?f.jsx(b.Suspense,{fallback:null,children:f.jsx(uk,{onClose:()=>{},onCreate:l,trigger:t})}):null,g?f.jsx(b.Suspense,{fallback:null,children:f.jsx(dk,{open:g,onClose:i,onAddWorkspace:a,onTryDemo:c})}):null,p?f.jsx(b.Suspense,{fallback:null,children:f.jsx(fk,{open:p,entries:[...y],onClose:v})}):null]});const v0=(...t)=>t.filter((a,o,i)=>!!a&&a.trim()!==""&&i.indexOf(a)===o).join(" ").trim();const pk=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const hk=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,o,i)=>i?i.toUpperCase():o.toLowerCase());const Iv=t=>{const a=hk(t);return a.charAt(0).toUpperCase()+a.slice(1)};var Od={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const gk=t=>{for(const a in t)if(a.startsWith("aria-")||a==="role"||a==="title")return!0;return!1},vk=b.createContext({}),yk=()=>b.useContext(vk),bk=b.forwardRef(({color:t,size:a,strokeWidth:o,absoluteStrokeWidth:i,className:l="",children:c,iconNode:d,...h},g)=>{const{size:p=24,strokeWidth:y=2,absoluteStrokeWidth:v=!1,color:x="currentColor",className:C=""}=yk()??{},A=i??v?Number(o??y)*24/Number(a??p):o??y;return b.createElement("svg",{ref:g,...Od,width:a??p??Od.width,height:a??p??Od.height,stroke:t??x,strokeWidth:A,className:v0("lucide",C,l),...!c&&!gk(h)&&{"aria-hidden":"true"},...h},[...d.map(([k,S])=>b.createElement(k,S)),...Array.isArray(c)?c:[c]])});const Se=(t,a)=>{const o=b.forwardRef(({className:i,...l},c)=>b.createElement(bk,{ref:c,iconNode:a,className:v0(`lucide-${pk(Iv(t))}`,`lucide-${t}`,i),...l}));return o.displayName=Iv(t),o};const wk=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],xk=Se("arrow-right",wk);const kk=[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]],gf=Se("bell",kk);const Sk=[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]],Ek=Se("brain",Sk);const Tk=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],$f=Se("check",Tk);const Ck=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Xf=Se("chevron-down",Ck);const Ak=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],_k=Se("chevron-left",Ak);const Nk=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],y0=Se("chevron-right",Nk);const Rk=[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]],jk=Se("chevrons-left",Rk);const Ok=[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]],Mk=Se("chevrons-right",Ok);const Dk=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Lk=Se("circle-check",Dk);const zk=[["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Bk=Se("circle-play",zk);const Hk=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],Uk=Se("circle-question-mark",Hk);const Wk=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],qk=Se("circle-x",Wk);const Ik=[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],Pk=Se("code-xml",Ik);const Yk=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],Kk=Se("copy",Yk);const Fk=[["path",{d:"M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z",key:"1vdc57"}],["path",{d:"M5 21h14",key:"11awu3"}]],Zf=Se("crown",Fk);const Vk=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]],Gk=Se("ellipsis-vertical",Vk);const $k=[["path",{d:"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2",key:"18mbvz"}],["path",{d:"M6.453 15h11.094",key:"3shlmq"}],["path",{d:"M8.5 2h7",key:"csnxdl"}]],Ol=Se("flask-conical",$k);const Xk=[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],b0=Se("folder-plus",Xk);const Zk=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Qk=Se("info",Zk);const Jk=[["path",{d:"m5 8 6 6",key:"1wu5hv"}],["path",{d:"m4 14 6-6 2-3",key:"1k1g8d"}],["path",{d:"M2 5h12",key:"or177f"}],["path",{d:"M7 2h1",key:"1t2jsx"}],["path",{d:"m22 22-5-10-5 10",key:"don7ne"}],["path",{d:"M14 18h6",key:"1m8k6r"}]],eS=Se("languages",Jk);const tS=[["path",{d:"M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z",key:"1pdavp"}],["path",{d:"M20.054 15.987H3.946",key:"14rxg9"}]],Md=Se("laptop",tS);const nS=[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}]],w0=Se("list-checks",nS);const aS=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],bo=Se("loader-circle",aS);const rS=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],oS=Se("log-out",rS);const sS=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],iS=Se("maximize-2",sS);const lS=[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]],cS=Se("minimize-2",lS);const uS=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],Qf=Se("pencil",uS);const dS=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],Us=Se("play",dS);const fS=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],Es=Se("plus",fS);const mS=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],Jf=Se("refresh-cw",mS);const pS=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],em=Se("rotate-ccw",pS);const hS=[["path",{d:"m8 11 2 2 4-4",key:"1sed1v"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]],gS=Se("search-check",hS);const vS=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],yS=Se("send",vS);const bS=[["path",{d:"M6 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-2",key:"4b9dqc"}],["path",{d:"M6 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-2",key:"22nnkd"}],["path",{d:"M6 6h.01",key:"1utrut"}],["path",{d:"M6 18h.01",key:"uhywen"}],["path",{d:"m13 6-4 6h6l-4 6",key:"14hqih"}]],wS=Se("server-crash",bS);const xS=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],vf=Se("settings",xS);const kS=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],SS=Se("shield-check",kS);const ES=[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]],TS=Se("sliders-horizontal",ES);const CS=[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]],x0=Se("smartphone",CS);const AS=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],_S=Se("sparkles",AS);const NS=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],tm=Se("square",NS);const RS=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],nm=Se("terminal",RS);const jS=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],Xl=Se("trash-2",jS);const OS=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],am=Se("triangle-alert",OS);const MS=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"19",x2:"19",y1:"8",y2:"14",key:"1bvyxn"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]],Dd=Se("user-plus",MS);const DS=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],k0=Se("users",DS);const LS=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]],Pv=Se("volume-2",LS);const zS=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["line",{x1:"22",x2:"16",y1:"9",y2:"15",key:"1ewh16"}],["line",{x1:"16",x2:"22",y1:"9",y2:"15",key:"5ykzw1"}]],BS=Se("volume-x",zS);const HS=[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]],S0=Se("workflow",HS);const US=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],fo=Se("x",US),E0="hive.uiLanguage",WS=t=>t==="en"||t==="zh",qS={"addWorker.agentCli":"Agent CLI","addWorker.agentNotFound":"not found","addWorker.cancel":"Cancel","addWorker.create":"Add Member","addWorker.creating":"Creating…","addWorker.customPlaceholder":"You are a security reviewer focused on auth and input validation. Use team report to hand findings back to the orchestrator.","addWorker.description":"Pick a role and a CLI agent. The orchestrator dispatches work via {command}.","addWorker.enterName":"Enter a name","addWorker.genericAgent":"Generic command","addWorker.genericCommand":"startup command only","addWorker.loadingPresets":"Loading presets…","addWorker.name":"Name","addWorker.namePlaceholder":"e.g. Alice","addWorker.modifiedFrom":"Modified from {role} default","addWorker.pickCliOrStartup":"Pick a CLI agent or enter a startup command","addWorker.random":"Random","addWorker.randomAria":"Generate random member name","addWorker.randomTooltip":"Suggest a random name","addWorker.role":"Role","addWorker.roleInstructions":"Role instructions","addWorker.roleInstructionsTitle":"Injected into the agent's startup prompt and every dispatch. Hive's team protocol stays fixed; this only steers role behavior.","addWorker.reset":"Reset","addWorker.saveAsTemplate":"Save as template","addWorker.startupCommand":"Startup command","addWorker.startupHelp":"Optional. Runs through your shell in this Workspace (bash/zsh/fish on POSIX, cmd.exe on Windows). Use it for custom agents or native resume commands such as {example}.","addWorker.startupOverrides":"overrides CLI launch","addWorker.template":"Saved templates","addWorker.templateClear":"Use blank Custom (no template)","addWorker.templateDeleteAria":"Delete template {name}","addWorker.templateDeleteConfirm":'Delete the saved template "{name}"? This cannot be undone.',"addWorker.templateDeleteConfirmLabel":"Delete","addWorker.templateDeleteTitle":"Delete role template","addWorker.templateEmpty":"No saved templates yet. Fill in role instructions and save one.","addWorker.templateNamePlaceholder":"Template name","addWorker.templateNoMatch":"No templates match this search.","addWorker.templatePickPlaceholder":"Choose a saved template…","addWorker.templateSaveConfirm":"Save","addWorker.templateSearchPlaceholder":"Search templates","addWorker.title":"Add team member","addWorker.unavailable":"{name} is not installed","addWorker.emptyInstructions":"Add role instructions","common.cancel":"Cancel","common.close":"Close","common.copied":"Copied","common.copyError":"Copy error","common.delete":"Delete","common.idle":"idle","common.loading":"Loading…","common.refresh":"Refresh","common.restart":"Restart","common.retry":"Retry","common.running":"running","common.save":"Save","common.saving":"Saving…","common.start":"Start","common.starting":"Starting…","common.stop":"Stop","common.stopped":"stopped","common.working":"working","connect.login.failed":"Sign-in failed — check your connection and try again.","connect.login.heading":"Connect to your Hive","connect.login.subtitle":"Sign in to reach the computers running Hive on your account.","connect.login.github":"Continue with GitHub","connect.login.google":"Continue with Google","connect.login.signingIn":"Signing in…","connect.machines.back":"Back","connect.machines.connecting":"Connecting…","connect.machines.heading":"Your computers","connect.machines.empty":"No computers yet. Run Hive on a computer and enable remote access.","connect.machines.lastSeen":"Last seen {ago} ago","connect.machines.manageDevices":"Manage devices","connect.machines.offline":"Offline","connect.machines.online":"Online","connect.machines.revoked":"Access revoked","connect.machines.revokedHint":"This device's access was revoked — enter a new pairing code to connect again.","connect.machines.select":"Connect","connect.pair.back":"Back","connect.pair.finalizing":"Confirmed — preparing your session…","connect.pair.guideHeading":"Pair this phone","connect.pair.guideStep1":"On that computer, open Settings → Remote access.","connect.pair.guideStep2":"Click Add device and keep the pairing code visible.","connect.pair.guideStep3":"Enter that pairing code below.","connect.pair.qrLabel":"Pairing code","connect.pair.sasInstruction":"On your computer, open Settings → Remote access and tap Confirm if this code matches.","connect.pair.sasPrompt":"Confirm this code matches the one shown on your computer:","connect.pair.startOver":"Start over","connect.pair.submit":"Pair","connect.error.selectFailed":"Couldn't reach that computer. Your saved session may have expired, or it's offline — pair again below.","connect.error.invalidCode":"That pairing code doesn't look right. Check it and try again.","demo.banner":"Demo mode — watch the product walkthrough.","demo.exit":"Exit demo","demo.videoDescription":"A full walkthrough of starting Hive, adding agents, and watching the team coordinate in one browser workspace.","demo.videoEyebrow":"Demo video","demo.videoOpen":"Open on Bilibili","demo.videoTitle":"See Hive run end to end","firstRun.addWorkspace":"Add Workspace","firstRun.back":"Back","firstRun.desc":"Coordinate multiple CLI coding agents — locally.","firstRun.getStarted":"Get started","firstRun.howItWorks":"How it works","firstRun.next":"Next","firstRun.optionDesc":"Choose how you want to begin.","firstRun.slide1Desc":"Pick a project folder.","firstRun.slide1Title":"Add a Workspace","firstRun.slide2Desc":"Claude Code, Codex, Gemini, OpenCode — your choice.","firstRun.slide2Title":"Pick an Orchestrator","firstRun.slide3Desc":"The Orchestrator dispatches `team send <worker> <task>` to team members.","firstRun.slide3Title":"Dispatch tasks","firstRun.skip":"Skip","firstRun.skipForNow":"Skip for now","firstRun.step":"Step {current} of {total}","firstRun.subtitle":"Each Workspace runs an Orchestrator that dispatches tasks to team members.","firstRun.title":"Welcome to Hive","firstRun.tryDemo":"Try Demo","language.aria":"Switch language","language.currentEn":"EN","language.currentZh":"中","language.en":"EN","language.switchToEn":"Switch language to English","language.switchToZh":"Switch language to 中文","language.tooltip":"Language","language.zh":"中文","marketplace.allCategories":"All","marketplace.backToList":"Back to list","marketplace.close":"Close marketplace","marketplace.empty":"No matching agents","marketplace.importButton":"Fill into form","marketplace.importedBadge":"You have a saved template with this name","marketplace.loading":"Loading…","marketplace.imported":"Filled the form from {name}","marketplace.loadFailed":"Failed to load marketplace","marketplace.openFromAddWorker":"Browse marketplace","marketplace.searchPlaceholder":"Search agents…","marketplace.showAllCategories":"Show {count} more categories","marketplace.showCoreOnly":"Show core only","marketplace.sourceLabel":"Curated from {repo}","marketplace.title":"Template marketplace","marketplace.viewSource":"View on GitHub","mobile.nav.aria":"Main navigation","mobile.focus.enter":"Focus the terminal (hide navigation)","mobile.focus.exit":"Show navigation","mobile.nav.flows":"Flows","mobile.nav.more":"More","mobile.nav.settings":"Settings","mobile.nav.tasks":"Tasks","mobile.nav.team":"Team","mobile.reconnect.disconnected":"Disconnected.","mobile.reconnect.reconnecting":"Reconnecting…","mobile.reconnect.retry":"Retry","mobile.reconnect.revoked":"Access revoked — re-pair this device from your computer.","mobile.section.about":"About","mobile.section.demo":"Demo","mobile.section.devices":"Devices","mobile.section.settings":"Settings","mobile.section.workflows":"Workflows","mobile.section.workspaces":"Workspaces","mobile.tasks.noWorkspaceDesc":"Pick or add a workspace to see its task graph.","mobile.tasks.noWorkspaceTitle":"No workspace selected","mobile.team.orchestrator":"Orchestrator","mobile.team.workers":"Workers","mobile.workspaces.switch":"Switch workspace","openWorkspace.error.appNotInstalled":"Couldn't find {app}. Make sure it's installed and reachable.","openWorkspace.error.commandNotInPath":"Couldn't run the launcher for {app}. Add its CLI to your PATH and retry.","openWorkspace.error.invalidPath":"The workspace path contains characters that are unsafe to launch.","openWorkspace.error.invalidTarget":"That app is no longer a supported open target.","openWorkspace.error.unknown":"Couldn't open in {app}.","openWorkspace.noWorkspace":"Select a workspace to enable","openWorkspace.open":"Open","openWorkspace.opened":"Opened {workspace} in {app} on your computer","openWorkspace.openIn":"Open {workspace} in {app}","openWorkspace.openInAria":"Open workspace {workspace} in {app}","openWorkspace.selectTarget":"Choose app","openWorkspace.target.cursor":"Cursor","openWorkspace.target.finder.linux":"File Manager","openWorkspace.target.finder.mac":"Finder","openWorkspace.target.finder.windows":"File Explorer","openWorkspace.target.ghostty":"Ghostty","openWorkspace.target.terminal":"Terminal","openWorkspace.target.vscode":"VS Code","openWorkspace.target.vscodeInsiders":"VS Code Insiders","openWorkspace.target.zed":"Zed","orchestrator.copyErrorAria":"Copy error message","orchestrator.failed":"Orchestrator failed to start","orchestrator.removeWorkspace":"Remove workspace","orchestrator.start":"Start Orchestrator","orchestrator.stop":"Stop Orchestrator","orchestrator.startingDesc":"Preparing the Orchestrator terminal.","orchestrator.startingTitle":"Starting Orchestrator","orchestrator.stoppedDesc":"Start the Orchestrator to plan tasks and dispatch them to team members.","orchestrator.stoppedTitle":"Orchestrator is stopped","role.coder":"Coder","role.custom":"Custom","role.reviewer":"Reviewer","role.tester":"Tester","runtime.retryNow":"Retry now","runtime.staleBody":"Writes are paused until Hive reconnects to the local runtime.","runtime.staleTitle":"Hive runtime connection lost","runtime.writeDisabled":"Hive runtime connection lost; retry once it is back.","sidebar.deleteAria":"Delete Workspace {name}","sidebar.deleteConfirm":'Delete Workspace "{name}"?',"sidebar.deleteDescription":"This stops its agents and removes it from Hive. The folder on disk ({path}) is left untouched. {summary}.","sidebar.deleteFailed":"Failed to delete: {message}","sidebar.deleteLabel":"Delete Workspace","sidebar.deleting":"Deleting…","sidebar.dismissRepository":"Hide the GitHub link","sidebar.noMembers":"no team members yet","sidebar.newWorkspace":"New Workspace","sidebar.noWorkspaces":"No Workspaces","sidebar.noWorkspacesDesc":"Add one to start. Hive will load .hive/tasks.md and start the Orchestrator.","sidebar.oneWorking":"One team member working","sidebar.demoVideo":"Demo video","sidebar.openDemoVideo":"Watch the Hive demo video","sidebar.openRepository":"Open the Hive GitHub repository","sidebar.removed":'Removed Workspace "{name}".',"sidebar.teamMemberCount":"{count} team members","sidebar.workingCount":"{working} of {total} working","sidebar.workingMembers":"{count} team members working","sidebar.workspaces":"Workspaces","shellTerminal.closeFailed":"Failed to close shell: {message}","shellTerminal.open":"Terminal","shellTerminal.openAria":"Open workspace terminal","pairing.awaitingConfirm":"Confirm on your computer to finish pairing.","pairing.cancel":"Cancel","pairing.connecting":"Connecting to your computer…","pairing.failed.expired":"Pairing expired — start again.","pairing.failed.mintForbidden":"Pairing was not confirmed on your computer.","pairing.failed.rejected":"Pairing was rejected.","pairing.failed.socket":"Lost the connection before pairing finished.","pairing.failed.version":"This phone and computer are on different versions.","pairing.handshaking":"Verifying…","pairing.paired":"Paired.","pairing.sasPrompt":"Check that this code matches the one on your computer:","pwa.appShellUpdated":"Web UI updated","pwa.reloadToActivate":"Reload to activate","pwa.reloading":"Reloading…","pwa.runtimeOffline.autoReconnect":"Auto-reconnect on — Hive will reload when the runtime is back.","pwa.runtimeOffline.body":"Start the Hive daemon by running `hive` in a terminal.","pwa.runtimeOffline.retry":"Retry now","pwa.runtimeOffline.retrying":"Retrying…","pwa.runtimeOffline.title":"Hive runtime is not running","pwa.runtimeOffline.tryDemo":"Try Demo instead","pwa.waitForAgents":"Wait for agents to finish","remote.addDevice":"Add device","remote.audit.bytes":"{count} bytes","remote.audit.empty":"No remote activity yet.","remote.audit.heading":"Remote activity","remote.audit.hide":"Hide activity","remote.audit.loadFailed":"Could not load activity.","remote.audit.result.error":"error","remote.audit.result.ok":"ok","remote.audit.result.rejected":"rejected","remote.audit.show":"Show activity","remote.connect.connecting":"Connecting…","remote.connect.disconnected":"Disconnected","remote.connect.online":"Connected","remote.connect.reconnecting":"Reconnecting…","remote.connect.sessionExpired":"Session expired — sign in again.","remote.confirm.confirm":"Confirm","remote.confirm.confirming":"Confirming…","remote.confirm.description":"A phone is trying to pair as “{name}”. Compare this code with the one shown on the phone — they must match.","remote.confirm.expired":"Pairing request expired.","remote.confirm.failed":"Could not complete — try pairing again.","remote.confirm.paired":"Paired “{name}”.","remote.confirm.reject":"Reject","remote.confirm.rejected":"Pairing rejected.","remote.confirm.sasLabel":"Verification code","remote.confirm.title":"Confirm new device","remote.confirm.warning":"Only confirm if you started this and the codes match.","remote.devices.activeNow":"Active just now","remote.devices.empty":"No paired devices yet.","remote.devices.heading":"Paired devices","remote.devices.lastActive":"Active {ago} ago","remote.devices.loadFailed":"Could not load devices.","remote.devices.neverActive":"Not active yet","remote.devices.revoke":"Revoke","remote.devices.revokeAria":"Revoke device {name}","remote.devices.revokeConfirm":"Revoke “{name}”? Its open sessions close immediately and it must pair again.","remote.devices.revokeFailed":"Could not revoke — try again.","remote.devices.revokeTitle":"Revoke device","remote.devices.revoked":"Revoked “{name}”.","remote.disable.confirmBody":"Remote devices (including this one) will disconnect immediately. You can only re-enable it from the desktop.","remote.disable.confirmTitle":"Turn off remote access?","remote.enable.description":"Reach this machine from your phone over an end-to-end encrypted tunnel. Off by default.","remote.enable.label":"Remote access","remote.qr.cancel":"Cancel","remote.qr.expired":"Code expired — generate a new one.","remote.qr.expiresIn":"Expires in {seconds}s","remote.qr.instructions":"Enter this code on your phone. Keep this open until you confirm here.","remote.qr.regenerate":"New code","remote.qr.startFailed":"Could not start pairing — try again.","remote.qr.title":"Pairing code","remote.section":"Remote access","remote.status.connected":"Tunnel connected","remote.status.disconnected":"Tunnel offline","remote.status.linked":"Linked to {gateway}","remote.status.notLinked":"Not linked — run `hive remote login` in a terminal.","remote.status.connecting":"Connecting to the gateway…","remote.status.reconnecting":"Reconnecting…","remote.status.revoked":"Access revoked — re-link to restore remote access.","settings.aria":"Settings","settings.autostaff.description":"Let the orchestrator size the team to each task — spawn the right mix of coders / testers / reviewers. On by default.","settings.autostaff.label":"Auto-staff team","settings.experimental":"Experimental","settings.heading":"Settings","settings.notifications":"Notifications","settings.saveError":"Could not save — check the runtime connection and try again.","settings.tooltip":"Settings","settings.webhook.description":"POST a small JSON payload to this URL when a worker reports or a workflow finishes — wire it to Slack, ntfy, Feishu, etc. Best-effort; the runtime sends to whatever URL you set, so keep it private.","settings.webhook.label":"Completion webhook","settings.webhook.saved":"Saved","settings.workflows.description":"Let the orchestrator author and run multi-agent workflows (`team workflow`). Off by default.","settings.workflows.label":"Workflows","topbar.hideTodo":"Hide Tasks","topbar.openWebsite":"Open hivehq.dev","topbar.showTodo":"Show Tasks (.hive/tasks.md)","topbar.todo":"Tasks","topbar.todoOpen":"Tasks — {count} open tasks","topbar.updateAvailable":"Update available","welcome.addWorkspace":"Add your first Workspace","welcome.demo":"or try the demo (no install needed)","welcome.desc":"Coordinate Claude Code, Codex, Gemini, OpenCode — locally.","welcome.step1Desc":"Pick a project folder.","welcome.step1Title":"Add a Workspace","welcome.step2Desc":"Claude / Codex / Gemini / OpenCode.","welcome.step2Title":"Choose an Orchestrator","welcome.step3Desc":"The Orchestrator routes work via team send.","welcome.step3Title":"Dispatch tasks","welcome.title":"Welcome to Hive","worker.deleteAria":"Delete team member {name}","worker.deleteConfirm":"Delete {name}?","worker.deleteDescription":"This stops {name}'s terminal and removes it from the workspace. All queued dispatches are dropped.","worker.deleteMember":"Delete member","worker.detail":"{name} detail","worker.emptyAdd":"Add your first member","worker.emptyDesc":"Add team members (Claude Code, Codex, Gemini, OpenCode) and the Orchestrator will route tasks to them.","worker.emptyTitle":"No team members yet","worker.actionsAria":"Actions for {name}","worker.lastActivity":"Latest terminal output (a hint, not a reported reply).","worker.open":"Open {name}","worker.pendingResume":"{count} pending tasks will resume after restart.","worker.queued":"{count} queued","worker.queuedAria":"{count} pending dispatches in this worker’s queue.","worker.rename":"Rename","worker.renameAria":"Rename {name}","worker.restartAria":"Restart {name}","worker.renameDesc":"Pick a new display name. The agent's id and PTY are unchanged.","worker.renameFailed":"Rename failed: {message}","worker.renameSuccess":'Renamed to "{name}".',"worker.renameTitle":"Rename team member","worker.startAgent":"Start the agent to begin receiving dispatches.","worker.startAria":"Start {name}","worker.stopAria":"Stop {name}","worker.teamMembers":"Team members","worker.terminalNotStarted":"PTY not started yet — ","worker.terminalStopped":"PTY stopped — ","worker.widthResize":"Resize worker detail width","worker.workingLegend":"Working = busy or waiting for input. Hive doesn’t detect stalls automatically — open the terminal to check.","workerPane.resize":"Resize Orchestrator and Team Members panes","tasks.action.addSubtask":"Add subtask","tasks.action.backToList":"Back to list","tasks.action.closeTodo":"Close Tasks","tasks.action.copied":"Copied","tasks.action.copyLine":"Copy line","tasks.action.delete":"Delete","tasks.action.edit":"Edit","tasks.action.viewSource":"View source","tasks.aria.addSubtask":"Add subtask","tasks.aria.collapseSubtasks":"Collapse {count} subtasks","tasks.aria.copiedTaskLine":"Copied task line","tasks.aria.copyTaskLine":"Copy task line","tasks.aria.deleteTask":"Delete task","tasks.aria.drawer":"Tasks","tasks.aria.editTask":"Edit task","tasks.aria.expandSubtasks":"Expand {count} subtasks","tasks.aria.progress":"Task completion","tasks.button.addTask":"Add task","tasks.completed.toggle":"{count} completed","tasks.empty.description":"Ask the Orchestrator in chat to plan it out — or add your first task to bootstrap .hive/tasks.md.","tasks.empty.title":"No tasks yet","tasks.placeholder.editTask":"Edit task","tasks.placeholder.newSubtask":"New subtask","tasks.placeholder.newTask":"What needs to be done?","tasks.progress.subtaskTitle":"{done} of {total} direct subtasks complete","tasks.raw.conflictDescription":"Reloading will discard the current draft; Keep local will continue editing it.","tasks.raw.conflictTitle":"File changed externally","tasks.raw.keepLocal":"Keep local","tasks.raw.label":"Tasks Markdown","tasks.raw.lineCount":"{count} lines","tasks.raw.reload":"Reload","tasks.raw.save":"Save tasks","tasks.title.todo":"Tasks","notifications.desktop.aria":"Browser notifications","notifications.desktop.helper":"Use system notifications when permission is granted.","notifications.desktop.label":"Browser notifications","notifications.desktop.unsupported":"Not supported in this browser.","notifications.detail.brief.description":"Compact status line","notifications.detail.brief.label":"Brief","notifications.detail.detailed.description":"Workspace and queue context","notifications.detail.detailed.label":"Detailed","notifications.detail.sectionLabel":"Information","notifications.settings.aria":"Notification settings","notifications.settings.heading":"Notifications","notifications.settings.subtitle":"Choose how Hive alerts you when team members report or stop.","notifications.settings.tooltip":"Notifications","notifications.sound.beacon.description":"Distinct question tone","notifications.sound.beacon.label":"Signal","notifications.sound.cascade.description":"Layered success tone","notifications.sound.cascade.label":"Cascade","notifications.sound.chime.description":"Clean glass tap","notifications.sound.chime.label":"Glass","notifications.sound.longerBadge":"longer","notifications.sound.off.description":"Mute sounds","notifications.sound.off.label":"Off","notifications.sound.ping.description":"Tiny UI tick","notifications.sound.ping.label":"Tap","notifications.sound.previewAria":"Preview {label} sound","notifications.sound.resolve.description":"Longer completion cue","notifications.sound.resolve.label":"Done","notifications.sound.sectionLabel":"Sound","notifications.sound.soft.description":"Warm default chime","notifications.sound.soft.label":"Soft","notifications.test.brief":"Hive notifications are working.","notifications.test.button":"Test","notifications.test.detail":"Hive notifications are working with your selected sound and detail level.","notifications.test.title":"Hive notification test","notifications.remoteSession.brief":"{name} connected","notifications.remoteSession.detail":"{name} established a remote session.","notifications.remoteSession.title":"Remote device connected","notifications.toast.blocked":"Browser notifications are blocked.","notifications.toast.declined":"Browser notifications were not enabled.","notifications.toast.unsupported":"This browser does not support notifications.","notifications.workerReported.brief":"{name} reported","notifications.workerReported.detail":"{name} reported in {workspace}; {count} queued tasks remain.","notifications.workerReported.title":"Team member report","notifications.workerStarted.brief":"{name} started","notifications.workerStarted.detail":"{name} started in {workspace} as {role}.","notifications.workerStarted.title":"Team member started","notifications.workerStopped.brief":"{name} stopped","notifications.workerStopped.detail":"{name} stopped in {workspace}; {count} queued tasks remain.","notifications.workerStopped.title":"Team member stopped","workspace.add.manualHint":"Type or paste the absolute path to a project folder on your computer.","workspace.advanced.browse":"Advanced: browse server filesystem","workspace.advanced.pastePath":"Advanced: paste path","workspace.advanced.startup":"Advanced: custom startup command","workspace.browse.breadcrumb":"Breadcrumb","workspace.browse.drivesAria":"Show all drives","workspace.browse.drivesRoot":"This PC","workspace.browse.empty":"This directory is empty.","workspace.browse.gitBadge":"git","workspace.browse.openAria":"Open {name}","workspace.browse.parentAria":"Go to parent directory","workspace.browse.root":"root: {path}","workspace.browse.rootLoading":"(loading)","workspace.browse.selected":"Selected","workspace.browse.title":"Browse server filesystem","workspace.browse.up":"up","workspace.confirm.create":"Create Workspace","workspace.confirm.description":"Hive will load .hive/tasks.md and start the Orchestrator here.","workspace.confirm.title":"Add Workspace","workspace.error.createFailed":"Failed to create workspace","workspace.error.createTitle":"Could not create workspace","workspace.error.outsideSandbox":"Picked folder is not inside the Hive sandbox. Use paste path.","workspace.error.pastePathInstead":"Paste path instead","workspace.error.pickerFailed":"Folder picker failed","workspace.field.absolutePath":"Absolute path","workspace.field.absolutePathPlaceholder":"C:\\path\\to\\project or /absolute/path","workspace.field.name":"Workspace name","workspace.field.nameDefaultPlaceholder":"my-project","workspace.field.path":"Path","workspace.field.pathEmptyPlaceholder":"(no folder picked — use paste path below)","workspace.field.startup":"Startup command","workspace.field.startupPlaceholder":"claude --resume <session-id>","workspace.git.detached":"detached","workspace.git.detected":"git repository detected","workspace.git.none":"No git repository at this path.","workspace.git.noneShort":"no git","workspace.git.short":"git · {branch}","workspace.picking.message":"Opening system folder picker…","workspace.picking.title":"Opening folder picker","workspace.preset.label":"Orchestrator CLI","workspace.preset.generic":"Generic command","workspace.preset.genericPreview":"custom startup command only","workspace.preset.genericRequiresStartup":"Generic command requires a startup command.","workspace.preset.loadFailed":"Failed to load CLI presets; using server default.","workspace.preset.loading":"Loading CLI presets…","workspace.preset.notFoundSuffix":" (not found)","workspace.preset.notInstalled":"{name} is not installed. Choose another CLI or add a custom startup command.","workspace.preset.optionsAria":"Orchestrator CLI options","workspace.startup.hint":"Overrides the preset for this Orchestrator. Runs in the workspace directory through your shell (bash/zsh/fish on POSIX, cmd.exe on Windows), so only paste commands you trust.","workspace.startup.hintShort":"Runs through your shell in the workspace directory. Only paste commands you trust.","common.closeDialog":"Close dialog","demo.orchestratorLabel":"Orchestrator — pre-recorded","demo.readOnlyBadge":"DEMO read-only","layout.sidebarAria":"Workspace sidebar","layout.sidebarResizeAria":"Resize Workspace sidebar","layout.sidebarCollapse":"Collapse sidebar","layout.sidebarExpand":"Expand sidebar","terminal.composer.placeholder":"Type a command…","terminal.composer.send":"Send","terminal.composer.sendEnter":"Send ⏎","terminal.paste.button":"Paste","terminal.paste.cancel":"Cancel","terminal.paste.confirm":"Paste","terminal.paste.denied":"Clipboard access was denied — long-press the input to paste instead.","terminal.paste.lengthChars":"{count} characters","terminal.paste.preview":"Preview","terminal.paste.title":"Paste into terminal?","terminal.renderer.canvasFallbackNotice":"WebGL unavailable — using the canvas renderer.","terminal.scrollToBottom":"Jump to latest","terminal.statusConnecting":"Connecting","terminal.statusRunning":"Running","terminalPanel.closePanel":"Close terminal panel","terminalPanel.closeTab":"Close {name}","terminalPanel.maximize":"Maximize terminal panel","terminalPanel.newShell":"New shell","terminalPanel.resizeAria":"Resize terminal panel height","terminalPanel.restore":"Restore terminal panel","terminalPanel.tablistAria":"Workspace terminal tabs","terminalPanel.workerStopped":"{name} is stopped — start the member to attach a terminal.","terminalPanels.aria":"Terminal panels","toast.dismissAria":"Dismiss","whatsNew.gotIt":"Got it","whatsNew.subtitle":"Updates since you were last here","whatsNew.title":"What's New","whatsNew.versionLabel":"Version {version}","workspaceList.empty":"No Workspaces yet"},IS={"addWorker.agentCli":"Agent CLI","addWorker.agentNotFound":"未找到","addWorker.cancel":"取消","addWorker.create":"添加成员","addWorker.creating":"创建中…","addWorker.customPlaceholder":"你是安全审查成员,重点关注鉴权和输入校验。用 team report 把发现交还给 Orchestrator。","addWorker.description":"选择角色和 CLI Agent。Orchestrator 会通过 {command} 分派任务。","addWorker.emptyInstructions":"补充角色说明","addWorker.enterName":"请输入名称","addWorker.genericAgent":"通用命令","addWorker.genericCommand":"仅使用启动命令","addWorker.loadingPresets":"正在加载预设…","addWorker.name":"名称","addWorker.namePlaceholder":"例如 鲁班","addWorker.modifiedFrom":"已修改 {role} 默认说明","addWorker.pickCliOrStartup":"请选择 CLI Agent,或填写启动命令","addWorker.random":"随机","addWorker.randomAria":"生成随机成员名","addWorker.randomTooltip":"随机来一个","addWorker.role":"角色","addWorker.roleInstructions":"角色说明","addWorker.roleInstructionsTitle":"会注入到 Agent 启动提示和每次派单中。Hive 的 team 协议保持不变,这里只影响角色行为。","addWorker.reset":"重置","addWorker.saveAsTemplate":"保存为模板","addWorker.startupCommand":"启动命令","addWorker.startupHelp":"可选。会在当前 Workspace 里通过当前 shell 运行(POSIX 上是 bash/zsh/fish,Windows 上是 cmd.exe)。适合自定义 Agent 或原生命令恢复会话,例如 {example}。","addWorker.startupOverrides":"覆盖 CLI 启动","addWorker.template":"已保存的模板","addWorker.templateClear":"不使用模板(空白 Custom)","addWorker.templateDeleteAria":"删除模板 {name}","addWorker.templateDeleteConfirm":'删除已保存的模板"{name}"?该操作无法撤销。',"addWorker.templateDeleteConfirmLabel":"删除","addWorker.templateDeleteTitle":"删除角色模板","addWorker.templateEmpty":"还没有已保存的模板。在下方填写角色说明并保存。","addWorker.templateNamePlaceholder":"模板名称","addWorker.templateNoMatch":"没有匹配的模板。","addWorker.templatePickPlaceholder":"选择已保存的模板…","addWorker.templateSaveConfirm":"保存","addWorker.templateSearchPlaceholder":"搜索模板","addWorker.title":"添加团队成员","addWorker.unavailable":"{name} 未安装","common.cancel":"取消","common.close":"关闭","common.copied":"已复制","common.copyError":"复制错误","common.delete":"删除","common.idle":"空闲","common.loading":"加载中…","common.refresh":"刷新","common.restart":"重启","common.retry":"重试","common.running":"运行中","common.save":"保存","common.saving":"保存中…","common.start":"启动","common.starting":"启动中…","common.stop":"停止","common.stopped":"已停止","common.working":"工作中","connect.login.failed":"登录失败——请检查网络后重试。","connect.login.heading":"连接到你的 Hive","connect.login.subtitle":"登录后即可访问你账号下正在运行 Hive 的电脑。","connect.login.github":"使用 GitHub 登录","connect.login.google":"使用 Google 登录","connect.login.signingIn":"登录中…","connect.machines.back":"返回","connect.machines.connecting":"连接中…","connect.machines.heading":"你的电脑","connect.machines.empty":"还没有电脑。在电脑上运行 Hive 并开启远程访问。","connect.machines.lastSeen":"{ago}前在线","connect.machines.manageDevices":"管理设备","connect.machines.offline":"离线","connect.machines.online":"在线","connect.machines.revoked":"访问已被吊销","connect.machines.revokedHint":"此设备的访问已被吊销——请输入新的配对码重新连接。","connect.machines.select":"连接","connect.pair.back":"返回","connect.pair.finalizing":"已确认——正在准备会话…","connect.pair.guideHeading":"配对这台手机","connect.pair.guideStep1":"在那台电脑上,打开 设置 → 远程访问。","connect.pair.guideStep2":"点击添加设备,并保持配对码可见。","connect.pair.guideStep3":"在下面输入那个配对码。","connect.pair.qrLabel":"配对码","connect.pair.sasInstruction":"在你的电脑上,打开 设置 → 远程访问,确认验证码一致后点击确认。","connect.pair.sasPrompt":"确认此验证码与电脑上显示的一致:","connect.pair.startOver":"重新开始","connect.pair.submit":"配对","connect.error.selectFailed":"无法连接那台电脑。你保存的会话可能已失效,或它已离线 —— 请在下方重新配对。","connect.error.invalidCode":"这个配对码看起来不对,请检查后重试。","demo.banner":"演示模式 — 观看完整产品演示。","demo.exit":"退出演示","demo.videoDescription":"从启动 Hive、添加 Agent,到观察团队在浏览器工作台里协作,一镜到底看完整流程。","demo.videoEyebrow":"演示视频","demo.videoOpen":"在 Bilibili 打开","demo.videoTitle":"一镜到底,看 Hive 跑起来","firstRun.addWorkspace":"添加 Workspace","firstRun.back":"返回","firstRun.desc":"在本地协调多个 CLI 编码 Agent。","firstRun.getStarted":"开始使用","firstRun.howItWorks":"工作方式","firstRun.next":"下一步","firstRun.optionDesc":"选择一个开始方式。","firstRun.slide1Desc":"选择一个项目目录。","firstRun.slide1Title":"添加 Workspace","firstRun.slide2Desc":"Claude Code、Codex、Gemini、OpenCode,任选。","firstRun.slide2Title":"选择 Orchestrator","firstRun.slide3Desc":"Orchestrator 通过 `team send <worker> <task>` 向团队成员派单。","firstRun.slide3Title":"分派任务","firstRun.skip":"跳过","firstRun.skipForNow":"暂时跳过","firstRun.step":"第 {current} / {total} 步","firstRun.subtitle":"每个 Workspace 运行一个 Orchestrator,再把任务派给团队成员。","firstRun.title":"欢迎使用 Hive","firstRun.tryDemo":"试用演示","language.aria":"切换语言","language.currentEn":"EN","language.currentZh":"中","language.en":"EN","language.switchToEn":"切换语言到 English","language.switchToZh":"切换语言到中文","language.tooltip":"语言","language.zh":"中文","marketplace.allCategories":"全部","marketplace.backToList":"返回列表","marketplace.close":"关闭模板市场","marketplace.empty":"没有匹配的角色","marketplace.importButton":"填入表单","marketplace.importedBadge":"本地已有同名模板","marketplace.loading":"加载中…","marketplace.imported":"已把 {name} 填入表单","marketplace.loadFailed":"加载失败","marketplace.openFromAddWorker":"从模板市场选择","marketplace.searchPlaceholder":"搜索角色…","marketplace.showAllCategories":"显示其他 {count} 个分类","marketplace.showCoreOnly":"只看核心分类","marketplace.sourceLabel":"由 {repo} 提供","marketplace.title":"模板市场","marketplace.viewSource":"在 GitHub 查看","mobile.nav.aria":"主导航","mobile.focus.enter":"专注终端(隐藏导航)","mobile.focus.exit":"显示导航","mobile.nav.flows":"工作流","mobile.nav.more":"更多","mobile.nav.settings":"设置","mobile.nav.tasks":"任务","mobile.nav.team":"团队","mobile.reconnect.disconnected":"已断开。","mobile.reconnect.reconnecting":"正在重新连接…","mobile.reconnect.retry":"重试","mobile.reconnect.revoked":"访问已被吊销——请在电脑上重新配对此设备。","mobile.section.about":"关于","mobile.section.demo":"演示","mobile.section.devices":"设备","mobile.section.settings":"设置","mobile.section.workflows":"工作流","mobile.section.workspaces":"工作区","mobile.tasks.noWorkspaceDesc":"选择或添加一个工作区即可查看其任务图。","mobile.tasks.noWorkspaceTitle":"未选择工作区","mobile.team.orchestrator":"Orchestrator","mobile.team.workers":"成员","mobile.workspaces.switch":"切换工作区","openWorkspace.error.appNotInstalled":"未找到 {app},请确认已安装并可启动。","openWorkspace.error.commandNotInPath":"{app} 的命令行入口不可用,请把它的 CLI 加入 PATH 后重试。","openWorkspace.error.invalidPath":"workspace 路径包含无法安全启动的字符。","openWorkspace.error.invalidTarget":"该应用已不在支持的打开目标列表里。","openWorkspace.error.unknown":"在 {app} 中打开失败。","openWorkspace.noWorkspace":"请先选择一个 workspace","openWorkspace.open":"打开","openWorkspace.opened":"已在你的电脑上用 {app} 打开 {workspace}","openWorkspace.openIn":"用 {app} 打开 {workspace}","openWorkspace.openInAria":"用 {app} 打开 workspace {workspace}","openWorkspace.selectTarget":"选择应用","openWorkspace.target.cursor":"Cursor","openWorkspace.target.finder.linux":"文件管理器","openWorkspace.target.finder.mac":"访达","openWorkspace.target.finder.windows":"文件资源管理器","openWorkspace.target.ghostty":"Ghostty","openWorkspace.target.terminal":"终端","openWorkspace.target.vscode":"VS Code","openWorkspace.target.vscodeInsiders":"VS Code Insiders","openWorkspace.target.zed":"Zed","orchestrator.copyErrorAria":"复制错误信息","orchestrator.failed":"Orchestrator 启动失败","orchestrator.removeWorkspace":"移除 workspace","orchestrator.start":"启动 Orchestrator","orchestrator.stop":"停止 Orchestrator","orchestrator.startingDesc":"正在准备 Orchestrator 终端。","orchestrator.startingTitle":"Orchestrator 启动中","orchestrator.stoppedDesc":"启动 Orchestrator 后才能规划任务并分派给团队成员。","orchestrator.stoppedTitle":"Orchestrator 已停止","role.coder":"开发","role.custom":"自定义","role.reviewer":"审查","role.tester":"测试","runtime.retryNow":"立即重试","runtime.staleBody":"重新连接本地后端前,写操作已暂停。","runtime.staleTitle":"Hive 后端连接已断开","runtime.writeDisabled":"Hive 后端连接已断开,恢复后再重试。","sidebar.deleteAria":"删除 Workspace {name}","sidebar.deleteConfirm":'删除 Workspace "{name}"?',"sidebar.deleteDescription":"这会停止其中的 Agent,并从 Hive 移除它。磁盘目录({path})不会被删除。{summary}。","sidebar.deleteFailed":"删除失败:{message}","sidebar.deleteLabel":"删除 Workspace","sidebar.deleting":"删除中…","sidebar.dismissRepository":"隐藏 GitHub 链接","sidebar.noMembers":"还没有团队成员","sidebar.newWorkspace":"新建 Workspace","sidebar.noWorkspaces":"还没有 Workspace","sidebar.noWorkspacesDesc":"添加一个开始使用。Hive 会加载 .hive/tasks.md 并启动 Orchestrator。","sidebar.oneWorking":"1 个团队成员工作中","sidebar.demoVideo":"演示视频","sidebar.openDemoVideo":"观看 Hive 演示视频","sidebar.openRepository":"打开 Hive GitHub 仓库","sidebar.removed":'已移除 Workspace "{name}"。',"sidebar.teamMemberCount":"{count} 个团队成员","sidebar.workingCount":"{working} / {total} 工作中","sidebar.workingMembers":"{count} 个团队成员工作中","sidebar.workspaces":"Workspaces","shellTerminal.closeFailed":"关闭 shell 失败:{message}","shellTerminal.open":"终端","shellTerminal.openAria":"打开 workspace 终端","pairing.awaitingConfirm":"在电脑上确认以完成配对。","pairing.cancel":"取消","pairing.connecting":"正在连接你的电脑…","pairing.failed.expired":"配对已过期——请重新开始。","pairing.failed.mintForbidden":"电脑端尚未确认此次配对。","pairing.failed.rejected":"配对被拒绝。","pairing.failed.socket":"配对完成前连接已断开。","pairing.failed.version":"手机与电脑版本不一致。","pairing.handshaking":"校验中…","pairing.paired":"已配对。","pairing.sasPrompt":"请核对此验证码与电脑上显示的一致:","pwa.appShellUpdated":"Web UI 已更新","pwa.reloadToActivate":"刷新以应用","pwa.reloading":"正在刷新…","pwa.runtimeOffline.autoReconnect":"已开启自动重连——后端恢复后会自动刷新。","pwa.runtimeOffline.body":"在终端运行 `hive` 启动后端。","pwa.runtimeOffline.retry":"立即重试","pwa.runtimeOffline.retrying":"重试中…","pwa.runtimeOffline.title":"Hive 后端未启动","pwa.runtimeOffline.tryDemo":"改试用演示","pwa.waitForAgents":"等待 Agent 完成","remote.addDevice":"添加设备","remote.audit.bytes":"{count} 字节","remote.audit.empty":"还没有远程活动。","remote.audit.heading":"远程活动","remote.audit.hide":"隐藏活动","remote.audit.loadFailed":"无法加载活动记录。","remote.audit.result.error":"错误","remote.audit.result.ok":"成功","remote.audit.result.rejected":"已拒绝","remote.audit.show":"查看活动","remote.connect.connecting":"连接中…","remote.connect.disconnected":"已断开","remote.connect.online":"已连接","remote.connect.reconnecting":"重连中…","remote.connect.sessionExpired":"会话已过期 —— 请重新登录。","remote.confirm.confirm":"确认","remote.confirm.confirming":"确认中…","remote.confirm.description":"一台手机正尝试以“{name}”配对。请把这个码和手机上显示的对比 —— 两者必须一致。","remote.confirm.expired":"配对请求已过期。","remote.confirm.failed":"无法完成 —— 请重新配对。","remote.confirm.paired":"已配对“{name}”。","remote.confirm.reject":"拒绝","remote.confirm.rejected":"已拒绝配对。","remote.confirm.sasLabel":"校验码","remote.confirm.title":"确认新设备","remote.confirm.warning":"仅在你发起配对且两个码一致时确认。","remote.devices.activeNow":"刚刚活跃","remote.devices.empty":"还没有已配对的设备。","remote.devices.heading":"已配对设备","remote.devices.lastActive":"{ago}前活跃","remote.devices.loadFailed":"无法加载设备列表。","remote.devices.neverActive":"尚未活跃","remote.devices.revoke":"吊销","remote.devices.revokeAria":"吊销设备 {name}","remote.devices.revokeConfirm":"吊销“{name}”?它的会话会立即断开,需要重新配对。","remote.devices.revokeFailed":"吊销失败 —— 请重试。","remote.devices.revokeTitle":"吊销设备","remote.devices.revoked":"已吊销“{name}”。","remote.disable.confirmBody":"远程设备(包括本设备)将立即断开。只能在桌面端重新开启。","remote.disable.confirmTitle":"关闭远程访问?","remote.enable.description":"通过端到端加密隧道从手机访问这台机器。默认关闭。","remote.enable.label":"远程访问","remote.qr.cancel":"取消","remote.qr.expired":"配对码已过期 —— 请重新生成。","remote.qr.expiresIn":"{seconds} 秒后过期","remote.qr.instructions":"在手机上输入这个配对码。在这里确认前请保持打开。","remote.qr.regenerate":"重新生成","remote.qr.startFailed":"无法开始配对 —— 请重试。","remote.qr.title":"配对码","remote.section":"远程访问","remote.status.connected":"隧道已连接","remote.status.disconnected":"隧道离线","remote.status.linked":"已连接到 {gateway}","remote.status.notLinked":"未连接 —— 在终端运行 `hive remote login`。","remote.status.connecting":"正在连接网关…","remote.status.reconnecting":"正在重连…","remote.status.revoked":"访问已被吊销 —— 重新连接以恢复远程访问。","settings.aria":"设置","settings.autostaff.description":"让 Orchestrator 按任务自动配置团队规模,动态补充合适的开发、测试和审查成员。默认开启。","settings.autostaff.label":"自动组队","settings.experimental":"实验性功能","settings.heading":"设置","settings.notifications":"通知","settings.saveError":"保存失败 —— 检查 runtime 连接后重试。","settings.tooltip":"设置","settings.webhook.description":"worker 汇报或 workflow 完成时,向此 URL POST 一小段 JSON —— 可接入 Slack、ntfy、飞书等。尽力投递;runtime 会发往你填的任意 URL,请妥善保管。","settings.webhook.label":"完成通知 Webhook","settings.webhook.saved":"已保存","settings.workflows.description":"允许 orchestrator 编写并运行多 agent 工作流(team workflow)。默认关闭。","settings.workflows.label":"工作流","topbar.hideTodo":"隐藏任务","topbar.openWebsite":"访问官网 hivehq.dev","topbar.showTodo":"显示任务 (.hive/tasks.md)","topbar.todo":"任务","topbar.todoOpen":"任务 — {count} 个未完成","topbar.updateAvailable":"有新版本","welcome.addWorkspace":"添加第一个 Workspace","welcome.demo":"或试用演示(无需安装 CLI)","welcome.desc":"在本地协调 Claude Code、Codex、Gemini、OpenCode。","welcome.step1Desc":"选择一个项目目录。","welcome.step1Title":"添加 Workspace","welcome.step2Desc":"Claude / Codex / Gemini / OpenCode。","welcome.step2Title":"选择 Orchestrator","welcome.step3Desc":"Orchestrator 通过 team send 分派任务。","welcome.step3Title":"分派任务","welcome.title":"欢迎使用 Hive","worker.deleteAria":"删除团队成员 {name}","worker.deleteConfirm":"删除 {name}?","worker.deleteDescription":"这会停止 {name} 的终端,并从 workspace 中移除它。排队任务会被丢弃。","worker.deleteMember":"删除成员","worker.detail":"{name} 详情","worker.emptyAdd":"添加第一个成员","worker.emptyDesc":"添加团队成员(Claude Code、Codex、Gemini、OpenCode),Orchestrator 会分派任务。","worker.emptyTitle":"还没有团队成员","worker.actionsAria":"{name} 的操作","worker.lastActivity":"终端最新输出(仅供参考,不是汇报内容)。","worker.open":"打开 {name}","worker.pendingResume":"重启后会继续 {count} 个排队任务。","worker.queued":"{count} 个排队","worker.queuedAria":"该成员队列中有 {count} 个待处理派单。","worker.rename":"重命名","worker.renameAria":"重命名 {name}","worker.restartAria":"重启 {name}","worker.renameDesc":"选择新的显示名称。Agent id 和终端不会变化。","worker.renameFailed":"重命名失败:{message}","worker.renameSuccess":'已重命名为 "{name}"。',"worker.renameTitle":"重命名团队成员","worker.startAgent":"启动 Agent 后即可接收派单。","worker.startAria":"启动 {name}","worker.stopAria":"停止 {name}","worker.teamMembers":"团队成员","worker.terminalNotStarted":"终端未启动 — ","worker.terminalStopped":"终端已停止 — ","worker.widthResize":"调整成员详情宽度","worker.workingLegend":"工作中 = 忙碌或等待输入。Hive 不会自动检测卡死 —— 打开终端查看。","workerPane.resize":"调整 Orchestrator 和团队成员面板宽度","tasks.action.addSubtask":"添加子任务","tasks.action.backToList":"返回列表","tasks.action.closeTodo":"关闭任务清单","tasks.action.copied":"已复制","tasks.action.copyLine":"复制行","tasks.action.delete":"删除","tasks.action.edit":"编辑","tasks.action.viewSource":"查看源码","tasks.aria.addSubtask":"添加子任务","tasks.aria.collapseSubtasks":"折叠 {count} 个子任务","tasks.aria.copiedTaskLine":"已复制任务行","tasks.aria.copyTaskLine":"复制任务行","tasks.aria.deleteTask":"删除任务","tasks.aria.drawer":"任务清单","tasks.aria.editTask":"编辑任务","tasks.aria.expandSubtasks":"展开 {count} 个子任务","tasks.aria.progress":"任务完成度","tasks.button.addTask":"添加任务","tasks.completed.toggle":"{count} 个已完成","tasks.empty.description":"在聊天里让 Orchestrator 帮你规划,或手动加第一条任务来创建 .hive/tasks.md。","tasks.empty.title":"还没有任务","tasks.placeholder.editTask":"编辑任务","tasks.placeholder.newSubtask":"新建子任务","tasks.placeholder.newTask":"下一步要做什么?","tasks.progress.subtaskTitle":"已完成 {done} / {total} 个直接子任务","tasks.raw.conflictDescription":"重新载入会丢弃当前草稿;保留本地会继续编辑当前内容。","tasks.raw.conflictTitle":"文件已在外部变化","tasks.raw.keepLocal":"保留本地","tasks.raw.label":"任务 Markdown","tasks.raw.lineCount":"{count} 行","tasks.raw.reload":"重新载入","tasks.raw.save":"保存任务","tasks.title.todo":"任务","notifications.desktop.aria":"浏览器通知","notifications.desktop.helper":"授权后使用系统通知。","notifications.desktop.label":"浏览器通知","notifications.desktop.unsupported":"此浏览器不支持。","notifications.detail.brief.description":"一行状态摘要","notifications.detail.brief.label":"简略","notifications.detail.detailed.description":"包含 Workspace 和队列信息","notifications.detail.detailed.label":"详细","notifications.detail.sectionLabel":"信息","notifications.settings.aria":"通知设置","notifications.settings.heading":"通知","notifications.settings.subtitle":"选择团队成员汇报或停止时 Hive 的提醒方式。","notifications.settings.tooltip":"通知","notifications.sound.beacon.description":"清晰的提示音","notifications.sound.beacon.label":"信号","notifications.sound.cascade.description":"层次更丰富的完成音","notifications.sound.cascade.label":"瀑布","notifications.sound.chime.description":"干净的玻璃轻点","notifications.sound.chime.label":"玻璃","notifications.sound.longerBadge":"更长","notifications.sound.off.description":"静音","notifications.sound.off.label":"关闭","notifications.sound.ping.description":"很短的界面轻点","notifications.sound.ping.label":"轻点","notifications.sound.previewAria":"试听 {label} 声音","notifications.sound.resolve.description":"更长的完成提示","notifications.sound.resolve.label":"完成","notifications.sound.sectionLabel":"声音","notifications.sound.soft.description":"温和的默认提示","notifications.sound.soft.label":"轻柔","notifications.test.brief":"Hive 通知正常工作。","notifications.test.button":"测试","notifications.test.detail":"Hive 通知按你选择的声音和详情级别正常工作。","notifications.test.title":"Hive 通知测试","notifications.remoteSession.brief":"{name} 已连接","notifications.remoteSession.detail":"{name} 建立了远程会话。","notifications.remoteSession.title":"远程设备已连接","notifications.toast.blocked":"浏览器通知被屏蔽。","notifications.toast.declined":"未启用浏览器通知。","notifications.toast.unsupported":"此浏览器不支持通知。","notifications.workerReported.brief":"{name} 已汇报","notifications.workerReported.detail":"{name} 已在 {workspace} 汇报;还有 {count} 个排队任务。","notifications.workerReported.title":"团队成员汇报","notifications.workerStarted.brief":"{name} 已启动","notifications.workerStarted.detail":"{name} 已在 {workspace} 以 {role} 角色启动。","notifications.workerStarted.title":"团队成员已启动","notifications.workerStopped.brief":"{name} 已停止","notifications.workerStopped.detail":"{name} 已在 {workspace} 停止;还有 {count} 个排队任务。","notifications.workerStopped.title":"团队成员已停止","workspace.add.manualHint":"输入或粘贴你电脑上某个项目文件夹的绝对路径。","workspace.advanced.browse":"高级:浏览服务器文件系统","workspace.advanced.pastePath":"高级:粘贴路径","workspace.advanced.startup":"高级:自定义启动命令","workspace.browse.breadcrumb":"面包屑","workspace.browse.drivesAria":"显示所有磁盘","workspace.browse.drivesRoot":"此电脑","workspace.browse.empty":"此目录为空。","workspace.browse.gitBadge":"git","workspace.browse.openAria":"打开 {name}","workspace.browse.parentAria":"返回上级目录","workspace.browse.root":"根目录:{path}","workspace.browse.rootLoading":"(加载中)","workspace.browse.selected":"已选择","workspace.browse.title":"浏览服务器文件系统","workspace.browse.up":"上级","workspace.confirm.create":"创建 Workspace","workspace.confirm.description":"Hive 会在此加载 .hive/tasks.md 并启动 Orchestrator。","workspace.confirm.title":"添加 Workspace","workspace.error.createFailed":"创建 Workspace 失败","workspace.error.createTitle":"无法创建 Workspace","workspace.error.outsideSandbox":"所选目录不在 Hive 沙盒内,请改用粘贴路径。","workspace.error.pastePathInstead":"改为粘贴路径","workspace.error.pickerFailed":"目录选择失败","workspace.field.absolutePath":"绝对路径","workspace.field.absolutePathPlaceholder":"C:\\path\\to\\project 或 /absolute/path","workspace.field.name":"Workspace 名称","workspace.field.nameDefaultPlaceholder":"my-project","workspace.field.path":"路径","workspace.field.pathEmptyPlaceholder":"(未选择目录 — 请使用下方粘贴路径)","workspace.field.startup":"启动命令","workspace.field.startupPlaceholder":"claude --resume <session-id>","workspace.git.detached":"游离 HEAD","workspace.git.detected":"检测到 git 仓库","workspace.git.none":"此路径下没有 git 仓库。","workspace.git.noneShort":"无 git","workspace.git.short":"git · {branch}","workspace.picking.message":"正在打开系统目录选择器…","workspace.picking.title":"正在打开目录选择器","workspace.preset.label":"Orchestrator CLI","workspace.preset.generic":"通用命令","workspace.preset.genericPreview":"仅使用自定义启动命令","workspace.preset.genericRequiresStartup":"通用命令需要填写启动命令。","workspace.preset.loadFailed":"加载 CLI 预设失败,使用服务器默认值。","workspace.preset.loading":"正在加载 CLI 预设…","workspace.preset.notFoundSuffix":"(未找到)","workspace.preset.notInstalled":"{name} 未安装。请选择其他 CLI 或填写启动命令。","workspace.preset.optionsAria":"Orchestrator CLI 选项","workspace.startup.hint":"覆盖该 Orchestrator 的预设。通过当前 shell(POSIX 上是 bash/zsh/fish,Windows 上是 cmd.exe)在 Workspace 目录中运行,请只粘贴你信任的命令。","workspace.startup.hintShort":"通过当前 shell 在 Workspace 目录中运行。请只粘贴你信任的命令。","common.closeDialog":"关闭对话框","demo.orchestratorLabel":"Orchestrator — 预录数据","demo.readOnlyBadge":"演示 只读","layout.sidebarAria":"Workspace 侧栏","layout.sidebarResizeAria":"调整 Workspace 侧栏宽度","layout.sidebarCollapse":"收起侧栏","layout.sidebarExpand":"展开侧栏","terminal.composer.placeholder":"输入命令…","terminal.composer.send":"发送","terminal.composer.sendEnter":"发送 ⏎","terminal.paste.button":"粘贴","terminal.paste.cancel":"取消","terminal.paste.confirm":"粘贴","terminal.paste.denied":"剪贴板访问被拒绝——请长按输入框粘贴。","terminal.paste.lengthChars":"共 {count} 个字符","terminal.paste.preview":"预览","terminal.paste.title":"粘贴到终端?","terminal.renderer.canvasFallbackNotice":"WebGL 不可用——已改用 canvas 渲染器。","terminal.scrollToBottom":"回到底部","terminal.statusConnecting":"连接中","terminal.statusRunning":"运行中","terminalPanel.closePanel":"关闭终端面板","terminalPanel.closeTab":"关闭 {name}","terminalPanel.maximize":"最大化终端面板","terminalPanel.newShell":"新建 shell","terminalPanel.resizeAria":"调整终端面板高度","terminalPanel.restore":"还原终端面板","terminalPanel.tablistAria":"Workspace 终端标签","terminalPanel.workerStopped":"{name} 已停止——启动该成员后会自动连接终端。","terminalPanels.aria":"终端面板","toast.dismissAria":"关闭","whatsNew.gotIt":"知道了","whatsNew.subtitle":"上次使用以来的更新","whatsNew.title":"更新内容","whatsNew.versionLabel":"版本 {version}","workspaceList.empty":"还没有 Workspace"},PS={en:qS,zh:IS},YS=()=>{if(typeof window>"u")return"en";const t=KS();return t||(window.navigator.language.toLowerCase().startsWith("zh")?"zh":"en")},KS=()=>{try{const t=window.localStorage.getItem(E0);return WS(t)?t:null}catch{return null}},FS=t=>{try{window.localStorage.setItem(E0,t)}catch{}},T0=t=>(a,o={})=>PS[t][a].replace(/\{(\w+)\}/g,(i,l)=>{const c=o[l];return c===void 0?i:String(c)}),VS={language:"en",setLanguage:()=>{},t:T0("en")},C0=b.createContext(VS),GS=({children:t})=>{const[a,o]=b.useState(YS),i=b.useMemo(()=>({language:a,setLanguage:c=>{o(c),FS(c)},t:T0(a)}),[a]);return f.jsx(C0.Provider,{value:i,children:t})},Ce=()=>b.useContext(C0),$S=({onExit:t})=>{const{t:a}=Ce();return f.jsxs("section",{"aria-label":"Demo mode","data-testid":"demo-banner",className:"flex shrink-0 items-center justify-between border-b px-4 py-2 text-xs",style:{background:"var(--status-yellow-bg, #3a2c1c)",borderColor:"var(--border)"},children:[f.jsxs("div",{className:"flex items-center gap-2 text-pri",children:[f.jsx(_S,{size:14,"aria-hidden":!0}),f.jsx("span",{children:a("demo.banner")})]}),f.jsx("button",{type:"button",onClick:t,className:"icon-btn icon-btn--ghost",children:a("demo.exit")})]})},XS=({onExit:t})=>{const{t:a}=Ce();return f.jsxs("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[f.jsx($S,{onExit:t}),f.jsx("div",{className:"flex min-h-0 flex-1 items-center justify-center px-6 py-8",style:{background:"var(--bg-crust)"},children:f.jsxs("section",{className:"flex w-full max-w-5xl flex-col gap-5","data-testid":"demo-video-panel",children:[f.jsxs("div",{className:"max-w-2xl",children:[f.jsx("p",{className:"mono text-[10px] uppercase tracking-[0.22em] text-accent",children:a("demo.videoEyebrow")}),f.jsx("h1",{className:"mt-2 text-2xl font-semibold tracking-tight text-pri",children:a("demo.videoTitle")}),f.jsx("p",{className:"mt-2 text-sm text-sec",children:a("demo.videoDescription")})]}),f.jsx("div",{className:"overflow-hidden rounded-xl border shadow-[0_28px_90px_-42px_rgba(0,0,0,0.8)]",style:{borderColor:"var(--border-bright)",background:"var(--bg-0)"},children:f.jsx("div",{className:"relative aspect-video",children:f.jsx("iframe",{src:"https://player.bilibili.com/player.html?bvid=BV1UHLp6nEQR&page=1&as_wide=1&high_quality=1&danmaku=0&autoplay=0",title:a("demo.videoTitle"),allowFullScreen:!0,loading:"lazy",scrolling:"no",frameBorder:"0",className:"absolute inset-0 h-full w-full","data-testid":"demo-video-frame"})})}),f.jsx("a",{href:"https://www.bilibili.com/video/BV1UHLp6nEQR",target:"_blank",rel:"noreferrer",className:"self-center text-xs text-sec underline underline-offset-4 hover:text-pri",children:a("demo.videoOpen")})]})})]})},ZS=(t,a={})=>{const o=new URL(t,window.location.href);o.protocol=o.protocol==="https:"?"wss:":"ws:";for(const[i,l]of Object.entries(a))l!==void 0&&o.searchParams.set(i,String(l));return o.toString()},QS={requiresUiSession:!0,fetch(t,a){return fetch(t,a)},openWebSocket(t,a){return new WebSocket(ZS(t,a))}};let mo=QS;const JS=t=>{mo=t},A0=()=>mo,_0=()=>mo.requiresUiSession!==!1,N0=t=>({id:t.id,name:t.name,role:t.role,status:t.status,pendingTaskCount:t.pending_task_count,...t.last_pty_line?{lastPtyLine:t.last_pty_line}:{},...t.command_preset_id?{commandPresetId:t.command_preset_id}:{},...t.ephemeral===!0?{ephemeral:!0}:{},...t.spawned_by?{spawnedBy:t.spawned_by}:{}}),Re=async(t,a)=>{try{const o=await t.json();if(typeof o.error=="string"&&o.error.trim())return o.error}catch{}return a},eE=async t=>{if(t.status!==403)return!1;try{return(await t.clone().json()).error==="UI endpoint requires valid UI token"}catch{return!1}},R0=async()=>{if(!_0())return;const t=await mo.fetch("/api/ui/session",{mode:"same-origin"});if(!t.ok)throw new Error("Failed to initialize UI session");await t.json()};let Ld=null;const tE=()=>(Ld??=R0().finally(()=>{Ld=null}),Ld),be=async(t,a)=>{const o=await mo.fetch(t,a);return!_0()||!await eE(o)?o:(await tE(),mo.fetch(t,a))},nE=async()=>{const t=await be("/api/workspaces");if(!t.ok)throw new Error("Failed to load workspaces");return await t.json()},aE=async()=>{const t=await be("/api/version");if(!t.ok)throw new Error("Failed to load version info");const a=await t.json();return{currentVersion:a.current_version,installHint:a.install_hint,latestVersion:a.latest_version,packageName:a.package_name,releaseUrl:a.release_url,updateAvailable:a.update_available}},j0=t=>({description:t.description,id:t.id,isBuiltin:t.is_builtin,name:t.name,roleType:t.role_type}),rE=t=>({name:t.name,role_type:t.roleType,description:t.description,default_command:"",default_args:[],default_env:{}}),oE=async t=>{const a=await be("/api/workspaces",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(t)});if(!a.ok)throw new Error(await Re(a,"Failed to create workspace"));return await a.json()},sE=async t=>{const a=await be(`/api/workspaces/${t}`,{method:"DELETE"});if(!a.ok)throw new Error(await Re(a,"Failed to delete workspace"))},Ml=async(t,a)=>{const o=await be(`/api/workspaces/${t}/agents/${a}/start`,{method:"POST"});if(!o.ok)throw new Error(await Re(o,"Failed to start agent run"));return{runId:(await o.json()).run_id}},Dl=async t=>{if(!(await be(`/api/runtime/runs/${t}/stop`,{method:"POST"})).ok)throw new Error("Failed to stop agent run")},iE=async(t,a,o)=>(await Dl(o).catch(i=>{console.error("[hive] swallowed:restartAgentRun.stop",i)}),Ml(t,a)),lE=async()=>{const t=await be("/api/settings/app-state/active_workspace_id");if(!t.ok)throw new Error("Failed to load active workspace");return(await t.json()).value},O0=async t=>{if(!(await be("/api/settings/app-state/active_workspace_id",{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({value:t})})).ok)throw new Error("Failed to save active workspace")},M0="notifications.webhook-url",cE=async()=>{const t=await be(`/api/settings/app-state/${M0}`);if(!t.ok)throw new Error("Failed to load webhook URL");return(await t.json()).value??""},uE=async t=>{if(!(await be(`/api/settings/app-state/${M0}`,{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({value:t.trim()})})).ok)throw new Error("Failed to save webhook URL")},a6=async()=>{const t=await be("/api/settings/workflow-cli-policy");if(!t.ok)throw new Error("Failed to load workflow CLI policy");return await t.json()},r6=async t=>{const a=await be("/api/settings/workflow-cli-policy",{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify(t)});if(!a.ok)throw new Error("Failed to save workflow CLI policy");return await a.json()},dE=async()=>{const t=await be("/api/settings/workflow-feature");if(!t.ok)throw new Error("Failed to load workflow feature flag");return await t.json()},fE=async t=>{const a=await be("/api/settings/workflow-feature",{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({enabled:t})});if(!a.ok)throw new Error("Failed to save workflow feature flag");return await a.json()},mE=async()=>{const t=await be("/api/settings/team-autostaff");if(!t.ok)throw new Error("Failed to load auto-staff feature flag");return await t.json()},pE=async t=>{const a=await be("/api/settings/team-autostaff",{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({enabled:t})});if(!a.ok)throw new Error("Failed to save auto-staff feature flag");return await a.json()},hE=async t=>{const a=await be(`/api/ui/workspaces/${t}/team`,{mode:"same-origin"});if(!a.ok)throw new Error("Failed to load workers");return(await a.json()).map(N0)},gE=async()=>{const t=await be("/api/settings/command-presets");if(!t.ok)throw new Error("Failed to load command presets");return(await t.json()).map(a=>({args:a.args,available:a.available,command:a.command,displayName:a.display_name,id:a.id}))},vE=t=>`${t}:shell`,Zl=(t,a)=>t.agent_id===vE(a),yE=async t=>{const a=await be(`/api/workspaces/${t}/shell/start`,{method:"POST"});if(!a.ok)throw new Error(await Re(a,"Failed to start workspace terminal"));return await a.json()},bE=async(t,a)=>{const o=await be(`/api/workspaces/${t}/shell/${a}`,{method:"DELETE"});if(!o.ok)throw new Error(await Re(o,"Failed to close workspace terminal"))},wE=async()=>{const t=await be("/api/settings/role-templates",{mode:"same-origin"});if(!t.ok)throw new Error("Failed to load role templates");return(await t.json()).map(j0)},xE=async t=>{const a=await be("/api/settings/role-templates",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(rE(t))});if(!a.ok)throw new Error(await Re(a,"Failed to create role template"));return j0(await a.json())},kE=async t=>{const a=await be(`/api/settings/role-templates/${t}`,{method:"DELETE"});if(!a.ok)throw new Error(await Re(a,"Failed to delete role template"))},o6=async t=>{const a=await be(`/api/marketplace/manifest?lang=${t}`,{mode:"same-origin"});if(!a.ok)throw new Error(await Re(a,"Failed to load marketplace manifest"));return await a.json()},s6=async(t,a)=>{const o=await be(`/api/marketplace/agent?lang=${t}&path=${encodeURIComponent(a)}`,{mode:"same-origin"});if(!o.ok)throw new Error(await Re(o,"Failed to load marketplace agent"));return await o.json()},SE=async t=>{const a=await be(`/api/ui/workspaces/${t}/runs`,{mode:"same-origin"});if(!a.ok)throw new Error("Failed to load terminal runs");return await a.json()},EE=async(t,a)=>{const o=await be(`/api/workspaces/${t}/workers`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(a)});if(!o.ok)throw new Error(await Re(o,"Failed to create worker"));const i=await o.json();return{agentStart:{error:i.agent_start?.error??null,ok:i.agent_start?.ok??!1,runId:i.agent_start?.run_id??null},worker:N0(i)}},TE=async(t,a)=>{const o=await be(`/api/workspaces/${t}/workers/${a}`,{method:"DELETE"});if(!o.ok)throw new Error(await Re(o,"Failed to delete worker"))},CE=async(t,a,o)=>{const i=await be(`/api/workspaces/${t}/workers/${a}`,{body:JSON.stringify({name:o}),headers:{"content-type":"application/json"},method:"PATCH"});if(!i.ok)throw new Error(await Re(i,"Failed to rename worker"))},AE=async t=>{const a=await be(`/api/workspaces/${t}/tasks`);if(!a.ok)throw new Error("Failed to load tasks");return await a.json()},ml=async(t,a)=>{const o=await be(`/api/workspaces/${t}/tasks`,{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify(a)});if(!o.ok)throw new Error("Failed to save tasks");return await o.json()},i6=async t=>{const a=t?`?path=${encodeURIComponent(t)}`:"";return await(await be(`/api/fs/browse${a}`,{mode:"same-origin"})).json()},l6=async t=>await(await be(`/api/fs/probe?path=${encodeURIComponent(t)}`,{mode:"same-origin"})).json(),c6=async()=>await(await be("/api/fs/pick-folder",{method:"POST",mode:"same-origin"})).json(),_E=async(t,a)=>{const o=await be(`/api/workspaces/${t}/open`,{body:JSON.stringify({target_id:a}),headers:{"content-type":"application/json"},method:"POST"});if(o.status===200)return{ok:!0,effectiveTargetId:(await o.json()).effective_target_id};if(o.status===502){const i=await o.json();return{ok:!1,effectiveTargetId:i.effective_target_id,errorCode:i.error_code}}throw new Error(await Re(o,"Failed to open workspace"))},NE=t=>({actorAgentIdSnapshot:t.actor_agent_id_snapshot,actorNameSnapshot:t.actor_name_snapshot,actorRoleSnapshot:t.actor_role_snapshot,createdAt:t.created_at,excerpt:t.excerpt,id:t.id,memoryId:t.memory_id,sourceId:t.source_id,sourceSequence:t.source_sequence,sourceType:t.source_type,textHash:t.text_hash}),Ql=t=>({archivedAt:t.archived_at,body:t.body,confidence:t.confidence,createdAt:t.created_at,disabled:t.disabled,id:t.id,kind:t.kind,lastInjectedAt:t.last_injected_at,pinned:t.pinned,scope:t.scope,source:t.source,sources:t.sources.map(NE),status:t.status,tags:t.tags,updatedAt:t.updated_at,workspaceId:t.workspace_id}),RE=t=>({contextType:t.context_type,dispatchId:t.dispatch_id,id:t.id,injectedAt:t.injected_at,memory:Ql(t.memory),memoryId:t.memory_id,targetAgentIdSnapshot:t.target_agent_id_snapshot,workspaceId:t.workspace_id}),u6=async(t,a={})=>{const o=new URLSearchParams;a.status&&o.set("status",a.status),a.query?.trim()&&o.set("query",a.query.trim()),a.limit!==void 0&&o.set("limit",String(a.limit));const i=o.size>0?`?${o}`:"",l=await be(`/api/ui/workspaces/${t}/memory${i}`);if(!l.ok)throw new Error(await Re(l,"Failed to load memory"));return(await l.json()).memories.map(Ql)},d6=async(t,a,o)=>{const i=await be(`/api/ui/workspaces/${t}/memory/${a}`,{body:JSON.stringify(o),headers:{"content-type":"application/json"},method:"PATCH"});if(!i.ok)throw new Error(await Re(i,"Failed to update memory"));const l=await i.json();return Ql(l.memory)},jE=async(t,a,o)=>{const i=await be(`/api/ui/workspaces/${t}/memory/${a}/${o}`,{method:"POST"});if(!i.ok)throw new Error(await Re(i,`Failed to ${o} memory`));const l=await i.json();return Ql(l.memory)},f6=(t,a)=>jE(t,a,"archive"),rm=t=>({error:t.error,finishedAt:t.finished_at,id:t.id,inputSeqFrom:t.input_seq_from,inputSeqTo:t.input_seq_to,report:t.report,startedAt:t.started_at,status:t.status,trigger:t.trigger,workspaceId:t.workspace_id}),m6=async(t,a={})=>{const o=new URLSearchParams;a.limit!==void 0&&o.set("limit",String(a.limit));const i=o.size>0?`?${o}`:"",l=await be(`/api/ui/workspaces/${t}/memory/dream-runs${i}`);if(!l.ok)throw new Error(await Re(l,"Failed to load dream runs"));return(await l.json()).runs.map(rm)},p6=async t=>{const a=await be(`/api/ui/workspaces/${t}/memory/dream-runs`,{body:JSON.stringify({}),headers:{"content-type":"application/json"},method:"POST"});if(!a.ok)throw new Error(await Re(a,"Failed to run dream"));const o=await a.json();return rm(o.run)},h6=async(t,a)=>{const o=await be(`/api/ui/workspaces/${t}/memory/dream-runs/${a}/revert`,{body:JSON.stringify({}),headers:{"content-type":"application/json"},method:"POST"});if(!o.ok)throw new Error(await Re(o,"Failed to revert dream run"));const i=await o.json();return rm(i.run)},g6=async t=>{const a=await be(`/api/ui/workspaces/${t}/memory/settings`);if(!a.ok)throw new Error(await Re(a,"Failed to load memory settings"));const o=await a.json();return{dreamEnabled:o.dream_enabled,enabled:o.enabled}},v6=async(t,a)=>{const o=await be(`/api/ui/workspaces/${t}/memory/settings`,{body:JSON.stringify({...a.dreamEnabled===void 0?{}:{dream_enabled:a.dreamEnabled},...a.enabled===void 0?{}:{enabled:a.enabled}}),headers:{"content-type":"application/json"},method:"PUT"});if(!o.ok)throw new Error(await Re(o,"Failed to update memory settings"));const i=await o.json();return{dreamEnabled:i.dream_enabled,enabled:i.enabled}},y6=async(t,a)=>{const o=new URLSearchParams({dispatch_id:a}),i=await be(`/api/ui/workspaces/${t}/memory/injections?${o}`);if(!i.ok)throw new Error(await Re(i,"Failed to load memory injections"));return(await i.json()).injections.map(RE)},OE=t=>({id:t.id,workspaceId:t.workspace_id,scriptPath:t.script_path,name:t.name,status:t.status,startedAt:t.started_at,finishedAt:t.finished_at,error:t.error,phase:t.phase,result:t.result??null,args:t.args??null,agentCount:typeof t.agent_count=="number"?t.agent_count:0,parentRunId:t.parent_run_id??null}),b6=async t=>{const a=await be(`/api/workspaces/${t}/workflows/runs`);if(!a.ok)throw new Error(await Re(a,"Failed to list workflow runs"));return(await a.json()).runs.map(OE)},D0=t=>({id:t.id,workspaceId:t.workspace_id,scriptPath:t.script_path,cron:t.cron,args:t.args,enabled:t.enabled,lastRunAt:t.last_run_at,nextRunAt:t.next_run_at,createdAt:t.created_at,updatedAt:t.updated_at}),w6=async t=>{const a=await be(`/api/workspaces/${t}/workflow-schedules`);if(!a.ok)throw new Error(await Re(a,"Failed to list workflow schedules"));return(await a.json()).schedules.map(D0)},x6=async(t,a)=>{const o=await be(`/api/workflow-schedules/${t}`,{body:JSON.stringify(a),headers:{"content-type":"application/json"},method:"PATCH"});if(!o.ok)throw new Error(await Re(o,"Failed to update workflow schedule"));const i=await o.json();return D0(i.schedule)},ME=t=>({id:t.id,workspaceId:t.workspace_id,fromAgentId:t.from_agent_id,toAgentId:t.to_agent_id,text:t.text,status:t.status,reportText:t.report_text,reportedAt:t.reported_at,createdAt:t.created_at,workflowRunId:t.workflow_run_id,stepIndex:t.step_index,phase:t.phase,label:t.label,...t.last_pty_line?{lastPtyLine:t.last_pty_line}:{}}),k6=async t=>{const a=await be(`/api/workflows/runs/${t}/stop`,{method:"POST"});if(!a.ok)throw new Error(await Re(a,"Failed to stop workflow run"))},S6=async t=>{const a=await be(`/api/workflows/runs/${t}/dispatches`);if(!a.ok)throw new Error(await Re(a,"Failed to load workflow run dispatches"));return(await a.json()).dispatches.map(ME)},E6=async t=>{const a=await be(`/api/workflows/runs/${t}/logs`);if(!a.ok)throw new Error(await Re(a,"Failed to load workflow run logs"));return(await a.json()).logs},T6=async t=>{const a=await be(`/api/workflow-schedules/${t}`,{method:"DELETE"});if(!a.ok)throw new Error(await Re(a,"Failed to delete workflow schedule"))},DE=["disabled","loggedOut","connecting","online","reconnecting","revoked"],LE=(t,a)=>typeof t=="string"&&DE.includes(t)?t:a?"online":"disabled",L0=t=>({enabled:t.enabled===!0,loggedIn:t.loggedIn===!0,gatewayUrl:t.gatewayUrl??null,connected:t.connected===!0,connection:LE(t.connection,t.connected===!0)}),zE=t=>({deviceId:t.id,name:t.name,lastActive:t.last_active,createdAt:t.created_at,revoked:t.revoked_at!==null}),BE=t=>({id:t.id,deviceId:t.device_id,ts:t.ts,workspaceId:t.workspace_id,action:t.action,endpoint:t.endpoint,result:t.result,rejectReason:t.reject_reason,byteCount:t.byte_count,preview:t.preview}),zd=async()=>{const t=await be("/api/remote/status");if(!t.ok)throw new Error(await Re(t,"Failed to load remote status"));return L0(await t.json())},HE=async t=>{const a=await be("/api/remote/enabled",{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({enabled:t})});if(!a.ok)throw new Error(await Re(a,"Failed to update remote access"));return L0(await a.json())},UE=async()=>{const t=await be("/api/remote/pairings",{method:"POST"});if(!t.ok)throw new Error(await Re(t,"Failed to start pairing"));return await t.json()},Yv=async()=>{const t=await be("/api/remote/pairings/pending");if(!t.ok)throw new Error(await Re(t,"Failed to load pending pairing"));const o=(await t.json())[0];return o?{...o}:null},WE=async t=>{const a=await be(`/api/remote/pairings/${t}/confirm`,{method:"POST"});if(!a.ok)throw new Error(await Re(a,"Failed to confirm pairing"))},qE=async t=>{const a=await be(`/api/remote/pairings/${t}/reject`,{method:"POST"});if(!a.ok)throw new Error(await Re(a,"Failed to reject pairing"))},z0=async()=>{const t=await be("/api/remote/devices");if(!t.ok)throw new Error(await Re(t,"Failed to load devices"));return(await t.json()).map(zE)},IE=async t=>{const a=await be(`/api/remote/devices/${t}/revoke`,{method:"POST"});if(!a.ok)throw new Error(await Re(a,"Failed to revoke device"))},PE=async(t=100)=>{const a=await be(`/api/remote/audit?limit=${t}`);if(!a.ok)throw new Error(await Re(a,"Failed to load remote activity"));return(await a.json()).map(BE)};let Ll=!1;const yf=new Set,YE=()=>Ll,B0=t=>{if(Ll!==t){Ll=t;for(const a of yf)a()}},KE=()=>{B0(!Ll)},FE=t=>(yf.add(t),()=>yf.delete(t)),H0=()=>b.useSyncExternalStore(FE,YE,()=>!1),Kv="(max-width: 767px)",U0=b.createContext({mode:"wide"}),Bd={mode:"wide"},VE={mode:"mobile"},GE=(t=typeof window<"u"?window.matchMedia.bind(window):void 0)=>{const a=i=>{if(!t)return()=>{};const l=t(Kv);return l.addEventListener?.("change",i),()=>l.removeEventListener?.("change",i)},o=()=>t&&t(Kv).matches?VE:Bd;return b.useSyncExternalStore(a,o,()=>Bd)},$E=({children:t,value:a})=>{const o=GE();return f.jsx(U0.Provider,{value:a??o,children:t})},W0=()=>b.useContext(U0),Bt=()=>W0().mode==="mobile",q0=b.createContext(null),I0=b.createContext([]),Hd=3,XE=t=>t==="success"?3e3:t==="warning"?5e3:0;let Fv=0;const ZE=()=>(Fv+=1,`t-${Fv.toString(36)}-${Date.now().toString(36)}`),QE=({children:t})=>{const[a,o]=b.useState([]),i=b.useRef(new Map),l=b.useCallback(v=>{const x=i.current.get(v);x?.timer&&clearTimeout(x.timer),i.current.delete(v)},[]),c=b.useCallback(v=>{o(x=>x.filter(C=>C.id!==v)),l(v)},[l]),d=b.useCallback(({kind:v,message:x,durationMs:C})=>{const A=ZE();o(S=>{const E=[...S,{id:A,kind:v,message:x}];if(E.length<=Hd)return E;const T=E.slice(0,E.length-Hd);for(const N of T)l(N.id);return E.slice(E.length-Hd)});const k=C??XE(v);if(k>0){const S=setTimeout(()=>c(A),k);i.current.set(A,{timer:S,dueAt:Date.now()+k,durationMs:k,remainingMs:k})}return A},[c,l]),h=b.useCallback(v=>{const x=i.current.get(v);x?.timer&&(clearTimeout(x.timer),i.current.set(v,{...x,timer:null,remainingMs:Math.max(0,x.dueAt-Date.now())}))},[]),g=b.useCallback(v=>{const x=i.current.get(v);if(!x||x.timer||x.remainingMs<=0)return;const C=setTimeout(()=>c(v),x.remainingMs);i.current.set(v,{...x,timer:C,dueAt:Date.now()+x.remainingMs})},[c]),p=b.useCallback(v=>i.current.get(v)?.durationMs??0,[]);b.useEffect(()=>{const v=i.current;return()=>{for(const x of v.values())x.timer&&clearTimeout(x.timer);v.clear()}},[]);const y=b.useMemo(()=>({show:d,dismiss:c,pauseDismiss:h,resumeDismiss:g,getDuration:p}),[d,c,h,g,p]);return f.jsx(q0.Provider,{value:y,children:f.jsx(I0.Provider,{value:a,children:t})})},aa=()=>{const t=b.useContext(q0);if(!t)throw new Error("useToast must be used within ToastProvider");return t},JE=()=>b.useContext(I0),P0="hive.notification.settings",to={desktop:!1,detail:"brief",sound:"soft"},eT={beacon:"/sounds/hive-beacon.ogg",cascade:"/sounds/hive-cascade.ogg",chime:"/sounds/hive-chime.ogg",ping:"/sounds/hive-ping.ogg",resolve:"/sounds/hive-resolve.ogg",soft:"/sounds/hive-soft.ogg"},tT=t=>t==="off"||t==="ping"||t==="chime"||t==="soft"||t==="cascade"||t==="beacon"||t==="resolve",nT=()=>{if(typeof window>"u")return to;try{const t=window.localStorage.getItem(P0);if(!t)return to;const a=JSON.parse(t);return{desktop:typeof a.desktop=="boolean"?a.desktop:to.desktop,detail:a.detail==="detailed"?"detailed":to.detail,sound:tT(a.sound)?a.sound:to.sound}}catch{return to}},aT=t=>{try{window.localStorage.setItem(P0,JSON.stringify(t))}catch{}},Vv=t=>{if(!(t==="off"||typeof window>"u"))try{const a=new window.Audio(eT[t]);a.preload="auto",a.volume=.72,a.play()?.catch(()=>{})}catch{}},Y0=b.createContext(null),rT=({children:t})=>{const a=aa(),{t:o}=Ce(),[i,l]=b.useState(()=>nT());b.useEffect(()=>{aT(i)},[i]);const c=b.useCallback(y=>{l(v=>({...v,...y}))},[]),d=b.useCallback(async()=>{if(typeof window>"u"||!("Notification"in window))return c({desktop:!1}),a.show({kind:"warning",message:o("notifications.toast.unsupported")}),!1;if(window.Notification.permission==="granted")return c({desktop:!0}),!0;if(window.Notification.permission==="denied")return c({desktop:!1}),a.show({kind:"warning",message:o("notifications.toast.blocked")}),!1;const v=await window.Notification.requestPermission()==="granted";return c({desktop:v}),v||a.show({kind:"warning",message:o("notifications.toast.declined")}),v},[o,a,c]),h=b.useCallback(({brief:y,detail:v,kind:x,title:C})=>{const A=i.detail==="detailed"&&v?v:y;if(a.show({kind:x,message:A}),Vv(i.sound),i.desktop&&typeof window<"u"&&"Notification"in window&&window.Notification.permission==="granted")try{new window.Notification(C,{body:A})}catch{}},[i,a]),g=b.useCallback(y=>{Vv(y)},[]),p=b.useMemo(()=>({notify:h,previewSound:g,requestDesktopNotifications:d,settings:i,updateSettings:c}),[h,g,d,i,c]);return f.jsx(Y0.Provider,{value:p,children:t})},om=()=>{const t=b.useContext(Y0);if(!t)throw new Error("useNotifications must be used within NotificationProvider");return t},oT={coder:"role.coder",custom:"role.custom",reviewer:"role.reviewer",tester:"role.tester"},sT=t=>new Map(t.map(a=>[a.id,{id:a.id,name:a.name,pendingTaskCount:a.pendingTaskCount,role:a.role,status:a.status}])),iT=({terminalRuns:t,workers:a,workspace:o})=>{const{notify:i}=om(),{t:l}=Ce(),c=b.useRef(null);return b.useEffect(()=>{if(!o){c.current=null;return}const d=sT(a),h=c.current;if(c.current={workers:d,workspaceId:o.id},!(!h||h.workspaceId!==o.id))for(const g of d.values()){const p=h.workers.get(g.id);if(!p)continue;if(p.status!=="stopped"&&g.status==="stopped"){i({brief:l("notifications.workerStopped.brief",{name:g.name}),detail:l("notifications.workerStopped.detail",{name:g.name,workspace:o.name,count:g.pendingTaskCount}),kind:"error",title:l("notifications.workerStopped.title")});continue}if(p.status==="stopped"&&g.status!=="stopped"){i({brief:l("notifications.workerStarted.brief",{name:g.name}),detail:l("notifications.workerStarted.detail",{name:g.name,workspace:o.name,role:l(oT[g.role])}),kind:"success",title:l("notifications.workerStarted.title")});continue}(g.pendingTaskCount<p.pendingTaskCount||p.status==="working"&&g.status==="idle")&&i({brief:l("notifications.workerReported.brief",{name:g.name}),detail:l("notifications.workerReported.detail",{name:g.name,workspace:o.name,count:g.pendingTaskCount}),kind:"success",title:l("notifications.workerReported.title")})}},[i,l,a,o]),null};function Dt(t,a,{checkForDefaultPrevented:o=!0}={}){return function(l){if(t?.(l),o===!1||!l.defaultPrevented)return a?.(l)}}function Gv(t,a){if(typeof t=="function")return t(a);t!=null&&(t.current=a)}function K0(...t){return a=>{let o=!1;const i=t.map(l=>{const c=Gv(l,a);return!o&&typeof c=="function"&&(o=!0),c});if(o)return()=>{for(let l=0;l<i.length;l++){const c=i[l];typeof c=="function"?c():Gv(t[l],null)}}}}function wn(...t){return b.useCallback(K0(...t),t)}function lT(t,a){const o=b.createContext(a),i=c=>{const{children:d,...h}=c,g=b.useMemo(()=>h,Object.values(h));return f.jsx(o.Provider,{value:g,children:d})};i.displayName=t+"Provider";function l(c){const d=b.useContext(o);if(d)return d;if(a!==void 0)return a;throw new Error(`\`${c}\` must be used within \`${t}\``)}return[i,l]}function sm(t,a=[]){let o=[];function i(c,d){const h=b.createContext(d),g=o.length;o=[...o,d];const p=v=>{const{scope:x,children:C,...A}=v,k=x?.[t]?.[g]||h,S=b.useMemo(()=>A,Object.values(A));return f.jsx(k.Provider,{value:S,children:C})};p.displayName=c+"Provider";function y(v,x){const C=x?.[t]?.[g]||h,A=b.useContext(C);if(A)return A;if(d!==void 0)return d;throw new Error(`\`${v}\` must be used within \`${c}\``)}return[p,y]}const l=()=>{const c=o.map(d=>b.createContext(d));return function(h){const g=h?.[t]||c;return b.useMemo(()=>({[`__scope${t}`]:{...h,[t]:g}}),[h,g])}};return l.scopeName=t,[i,cT(l,...a)]}function cT(...t){const a=t[0];if(t.length===1)return a;const o=()=>{const i=t.map(l=>({useScope:l(),scopeName:l.scopeName}));return function(c){const d=i.reduce((h,{useScope:g,scopeName:p})=>{const v=g(c)[`__scope${p}`];return{...h,...v}},{});return b.useMemo(()=>({[`__scope${a.scopeName}`]:d}),[d])}};return o.scopeName=a.scopeName,o}var Jl=g0();const uT=p0(Jl);function F0(t){const a=dT(t),o=b.forwardRef((i,l)=>{const{children:c,...d}=i,h=b.Children.toArray(c),g=h.find(mT);if(g){const p=g.props.children,y=h.map(v=>v===g?b.Children.count(p)>1?b.Children.only(null):b.isValidElement(p)?p.props.children:null:v);return f.jsx(a,{...d,ref:l,children:b.isValidElement(p)?b.cloneElement(p,void 0,y):null})}return f.jsx(a,{...d,ref:l,children:c})});return o.displayName=`${t}.Slot`,o}function dT(t){const a=b.forwardRef((o,i)=>{const{children:l,...c}=o;if(b.isValidElement(l)){const d=hT(l),h=pT(c,l.props);return l.type!==b.Fragment&&(h.ref=i?K0(i,d):d),b.cloneElement(l,h)}return b.Children.count(l)>1?b.Children.only(null):null});return a.displayName=`${t}.SlotClone`,a}var V0=Symbol("radix.slottable");function fT(t){const a=({children:o})=>f.jsx(f.Fragment,{children:o});return a.displayName=`${t}.Slottable`,a.__radixId=V0,a}function mT(t){return b.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===V0}function pT(t,a){const o={...a};for(const i in a){const l=t[i],c=a[i];/^on[A-Z]/.test(i)?l&&c?o[i]=(...h)=>{const g=c(...h);return l(...h),g}:l&&(o[i]=l):i==="style"?o[i]={...l,...c}:i==="className"&&(o[i]=[l,c].filter(Boolean).join(" "))}return{...t,...o}}function hT(t){let a=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,o=a&&"isReactWarning"in a&&a.isReactWarning;return o?t.ref:(a=Object.getOwnPropertyDescriptor(t,"ref")?.get,o=a&&"isReactWarning"in a&&a.isReactWarning,o?t.props.ref:t.props.ref||t.ref)}var gT=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Ht=gT.reduce((t,a)=>{const o=F0(`Primitive.${a}`),i=b.forwardRef((l,c)=>{const{asChild:d,...h}=l,g=d?o:a;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),f.jsx(g,{...h,ref:c})});return i.displayName=`Primitive.${a}`,{...t,[a]:i}},{});function vT(t,a){t&&Jl.flushSync(()=>t.dispatchEvent(a))}function po(t){const a=b.useRef(t);return b.useEffect(()=>{a.current=t}),b.useMemo(()=>(...o)=>a.current?.(...o),[])}function yT(t,a=globalThis?.document){const o=po(t);b.useEffect(()=>{const i=l=>{l.key==="Escape"&&o(l)};return a.addEventListener("keydown",i,{capture:!0}),()=>a.removeEventListener("keydown",i,{capture:!0})},[o,a])}var bT="DismissableLayer",bf="dismissableLayer.update",wT="dismissableLayer.pointerDownOutside",xT="dismissableLayer.focusOutside",$v,G0=b.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),im=b.forwardRef((t,a)=>{const{disableOutsidePointerEvents:o=!1,onEscapeKeyDown:i,onPointerDownOutside:l,onFocusOutside:c,onInteractOutside:d,onDismiss:h,...g}=t,p=b.useContext(G0),[y,v]=b.useState(null),x=y?.ownerDocument??globalThis?.document,[,C]=b.useState({}),A=wn(a,z=>v(z)),k=Array.from(p.layers),[S]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),E=k.indexOf(S),T=y?k.indexOf(y):-1,N=p.layersWithOutsidePointerEventsDisabled.size>0,R=T>=E,M=ET(z=>{const K=z.target,P=[...p.branches].some(ne=>ne.contains(K));!R||P||(l?.(z),d?.(z),z.defaultPrevented||h?.())},x),D=TT(z=>{const K=z.target;[...p.branches].some(ne=>ne.contains(K))||(c?.(z),d?.(z),z.defaultPrevented||h?.())},x);return yT(z=>{T===p.layers.size-1&&(i?.(z),!z.defaultPrevented&&h&&(z.preventDefault(),h()))},x),b.useEffect(()=>{if(y)return o&&(p.layersWithOutsidePointerEventsDisabled.size===0&&($v=x.body.style.pointerEvents,x.body.style.pointerEvents="none"),p.layersWithOutsidePointerEventsDisabled.add(y)),p.layers.add(y),Xv(),()=>{o&&p.layersWithOutsidePointerEventsDisabled.size===1&&(x.body.style.pointerEvents=$v)}},[y,x,o,p]),b.useEffect(()=>()=>{y&&(p.layers.delete(y),p.layersWithOutsidePointerEventsDisabled.delete(y),Xv())},[y,p]),b.useEffect(()=>{const z=()=>C({});return document.addEventListener(bf,z),()=>document.removeEventListener(bf,z)},[]),f.jsx(Ht.div,{...g,ref:A,style:{pointerEvents:N?R?"auto":"none":void 0,...t.style},onFocusCapture:Dt(t.onFocusCapture,D.onFocusCapture),onBlurCapture:Dt(t.onBlurCapture,D.onBlurCapture),onPointerDownCapture:Dt(t.onPointerDownCapture,M.onPointerDownCapture)})});im.displayName=bT;var kT="DismissableLayerBranch",ST=b.forwardRef((t,a)=>{const o=b.useContext(G0),i=b.useRef(null),l=wn(a,i);return b.useEffect(()=>{const c=i.current;if(c)return o.branches.add(c),()=>{o.branches.delete(c)}},[o.branches]),f.jsx(Ht.div,{...t,ref:l})});ST.displayName=kT;function ET(t,a=globalThis?.document){const o=po(t),i=b.useRef(!1),l=b.useRef(()=>{});return b.useEffect(()=>{const c=h=>{if(h.target&&!i.current){let g=function(){$0(wT,o,p,{discrete:!0})};const p={originalEvent:h};h.pointerType==="touch"?(a.removeEventListener("click",l.current),l.current=g,a.addEventListener("click",l.current,{once:!0})):g()}else a.removeEventListener("click",l.current);i.current=!1},d=window.setTimeout(()=>{a.addEventListener("pointerdown",c)},0);return()=>{window.clearTimeout(d),a.removeEventListener("pointerdown",c),a.removeEventListener("click",l.current)}},[a,o]),{onPointerDownCapture:()=>i.current=!0}}function TT(t,a=globalThis?.document){const o=po(t),i=b.useRef(!1);return b.useEffect(()=>{const l=c=>{c.target&&!i.current&&$0(xT,o,{originalEvent:c},{discrete:!1})};return a.addEventListener("focusin",l),()=>a.removeEventListener("focusin",l)},[a,o]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function Xv(){const t=new CustomEvent(bf);document.dispatchEvent(t)}function $0(t,a,o,{discrete:i}){const l=o.originalEvent.target,c=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:o});a&&l.addEventListener(t,a,{once:!0}),i?vT(l,c):l.dispatchEvent(c)}var Ua=globalThis?.document?b.useLayoutEffect:()=>{},CT=h0[" useId ".trim().toString()]||(()=>{}),AT=0;function Sl(t){const[a,o]=b.useState(CT());return Ua(()=>{o(i=>i??String(AT++))},[t]),t||(a?`radix-${a}`:"")}const _T=["top","right","bottom","left"],Wa=Math.min,$t=Math.max,zl=Math.round,pl=Math.floor,jn=t=>({x:t,y:t}),NT={left:"right",right:"left",bottom:"top",top:"bottom"};function wf(t,a,o){return $t(t,Wa(a,o))}function ea(t,a){return typeof t=="function"?t(a):t}function ta(t){return t.split("-")[0]}function wo(t){return t.split("-")[1]}function lm(t){return t==="x"?"y":"x"}function cm(t){return t==="y"?"height":"width"}function Rn(t){const a=t[0];return a==="t"||a==="b"?"y":"x"}function um(t){return lm(Rn(t))}function RT(t,a,o){o===void 0&&(o=!1);const i=wo(t),l=um(t),c=cm(l);let d=l==="x"?i===(o?"end":"start")?"right":"left":i==="start"?"bottom":"top";return a.reference[c]>a.floating[c]&&(d=Bl(d)),[d,Bl(d)]}function jT(t){const a=Bl(t);return[xf(t),a,xf(a)]}function xf(t){return t.includes("start")?t.replace("start","end"):t.replace("end","start")}const Zv=["left","right"],Qv=["right","left"],OT=["top","bottom"],MT=["bottom","top"];function DT(t,a,o){switch(t){case"top":case"bottom":return o?a?Qv:Zv:a?Zv:Qv;case"left":case"right":return a?OT:MT;default:return[]}}function LT(t,a,o,i){const l=wo(t);let c=DT(ta(t),o==="start",i);return l&&(c=c.map(d=>d+"-"+l),a&&(c=c.concat(c.map(xf)))),c}function Bl(t){const a=ta(t);return NT[a]+t.slice(a.length)}function zT(t){return{top:0,right:0,bottom:0,left:0,...t}}function X0(t){return typeof t!="number"?zT(t):{top:t,right:t,bottom:t,left:t}}function Hl(t){const{x:a,y:o,width:i,height:l}=t;return{width:i,height:l,top:o,left:a,right:a+i,bottom:o+l,x:a,y:o}}function Jv(t,a,o){let{reference:i,floating:l}=t;const c=Rn(a),d=um(a),h=cm(d),g=ta(a),p=c==="y",y=i.x+i.width/2-l.width/2,v=i.y+i.height/2-l.height/2,x=i[h]/2-l[h]/2;let C;switch(g){case"top":C={x:y,y:i.y-l.height};break;case"bottom":C={x:y,y:i.y+i.height};break;case"right":C={x:i.x+i.width,y:v};break;case"left":C={x:i.x-l.width,y:v};break;default:C={x:i.x,y:i.y}}switch(wo(a)){case"start":C[d]-=x*(o&&p?-1:1);break;case"end":C[d]+=x*(o&&p?-1:1);break}return C}async function BT(t,a){var o;a===void 0&&(a={});const{x:i,y:l,platform:c,rects:d,elements:h,strategy:g}=t,{boundary:p="clippingAncestors",rootBoundary:y="viewport",elementContext:v="floating",altBoundary:x=!1,padding:C=0}=ea(a,t),A=X0(C),S=h[x?v==="floating"?"reference":"floating":v],E=Hl(await c.getClippingRect({element:(o=await(c.isElement==null?void 0:c.isElement(S)))==null||o?S:S.contextElement||await(c.getDocumentElement==null?void 0:c.getDocumentElement(h.floating)),boundary:p,rootBoundary:y,strategy:g})),T=v==="floating"?{x:i,y:l,width:d.floating.width,height:d.floating.height}:d.reference,N=await(c.getOffsetParent==null?void 0:c.getOffsetParent(h.floating)),R=await(c.isElement==null?void 0:c.isElement(N))?await(c.getScale==null?void 0:c.getScale(N))||{x:1,y:1}:{x:1,y:1},M=Hl(c.convertOffsetParentRelativeRectToViewportRelativeRect?await c.convertOffsetParentRelativeRectToViewportRelativeRect({elements:h,rect:T,offsetParent:N,strategy:g}):T);return{top:(E.top-M.top+A.top)/R.y,bottom:(M.bottom-E.bottom+A.bottom)/R.y,left:(E.left-M.left+A.left)/R.x,right:(M.right-E.right+A.right)/R.x}}const HT=50,UT=async(t,a,o)=>{const{placement:i="bottom",strategy:l="absolute",middleware:c=[],platform:d}=o,h=d.detectOverflow?d:{...d,detectOverflow:BT},g=await(d.isRTL==null?void 0:d.isRTL(a));let p=await d.getElementRects({reference:t,floating:a,strategy:l}),{x:y,y:v}=Jv(p,i,g),x=i,C=0;const A={};for(let k=0;k<c.length;k++){const S=c[k];if(!S)continue;const{name:E,fn:T}=S,{x:N,y:R,data:M,reset:D}=await T({x:y,y:v,initialPlacement:i,placement:x,strategy:l,middlewareData:A,rects:p,platform:h,elements:{reference:t,floating:a}});y=N??y,v=R??v,A[E]={...A[E],...M},D&&C<HT&&(C++,typeof D=="object"&&(D.placement&&(x=D.placement),D.rects&&(p=D.rects===!0?await d.getElementRects({reference:t,floating:a,strategy:l}):D.rects),{x:y,y:v}=Jv(p,x,g)),k=-1)}return{x:y,y:v,placement:x,strategy:l,middlewareData:A}},WT=t=>({name:"arrow",options:t,async fn(a){const{x:o,y:i,placement:l,rects:c,platform:d,elements:h,middlewareData:g}=a,{element:p,padding:y=0}=ea(t,a)||{};if(p==null)return{};const v=X0(y),x={x:o,y:i},C=um(l),A=cm(C),k=await d.getDimensions(p),S=C==="y",E=S?"top":"left",T=S?"bottom":"right",N=S?"clientHeight":"clientWidth",R=c.reference[A]+c.reference[C]-x[C]-c.floating[A],M=x[C]-c.reference[C],D=await(d.getOffsetParent==null?void 0:d.getOffsetParent(p));let z=D?D[N]:0;(!z||!await(d.isElement==null?void 0:d.isElement(D)))&&(z=h.floating[N]||c.floating[A]);const K=R/2-M/2,P=z/2-k[A]/2-1,ne=Wa(v[E],P),ee=Wa(v[T],P),V=ne,Q=z-k[A]-ee,X=z/2-k[A]/2+K,$=wf(V,X,Q),O=!g.arrow&&wo(l)!=null&&X!==$&&c.reference[A]/2-(X<V?ne:ee)-k[A]/2<0,I=O?X<V?X-V:X-Q:0;return{[C]:x[C]+I,data:{[C]:$,centerOffset:X-$-I,...O&&{alignmentOffset:I}},reset:O}}}),qT=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(a){var o,i;const{placement:l,middlewareData:c,rects:d,initialPlacement:h,platform:g,elements:p}=a,{mainAxis:y=!0,crossAxis:v=!0,fallbackPlacements:x,fallbackStrategy:C="bestFit",fallbackAxisSideDirection:A="none",flipAlignment:k=!0,...S}=ea(t,a);if((o=c.arrow)!=null&&o.alignmentOffset)return{};const E=ta(l),T=Rn(h),N=ta(h)===h,R=await(g.isRTL==null?void 0:g.isRTL(p.floating)),M=x||(N||!k?[Bl(h)]:jT(h)),D=A!=="none";!x&&D&&M.push(...LT(h,k,A,R));const z=[h,...M],K=await g.detectOverflow(a,S),P=[];let ne=((i=c.flip)==null?void 0:i.overflows)||[];if(y&&P.push(K[E]),v){const X=RT(l,d,R);P.push(K[X[0]],K[X[1]])}if(ne=[...ne,{placement:l,overflows:P}],!P.every(X=>X<=0)){var ee,V;const X=(((ee=c.flip)==null?void 0:ee.index)||0)+1,$=z[X];if($&&(!(v==="alignment"?T!==Rn($):!1)||ne.every(U=>Rn(U.placement)===T?U.overflows[0]>0:!0)))return{data:{index:X,overflows:ne},reset:{placement:$}};let O=(V=ne.filter(I=>I.overflows[0]<=0).sort((I,U)=>I.overflows[1]-U.overflows[1])[0])==null?void 0:V.placement;if(!O)switch(C){case"bestFit":{var Q;const I=(Q=ne.filter(U=>{if(D){const q=Rn(U.placement);return q===T||q==="y"}return!0}).map(U=>[U.placement,U.overflows.filter(q=>q>0).reduce((q,Z)=>q+Z,0)]).sort((U,q)=>U[1]-q[1])[0])==null?void 0:Q[0];I&&(O=I);break}case"initialPlacement":O=h;break}if(l!==O)return{reset:{placement:O}}}return{}}}};function ey(t,a){return{top:t.top-a.height,right:t.right-a.width,bottom:t.bottom-a.height,left:t.left-a.width}}function ty(t){return _T.some(a=>t[a]>=0)}const IT=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(a){const{rects:o,platform:i}=a,{strategy:l="referenceHidden",...c}=ea(t,a);switch(l){case"referenceHidden":{const d=await i.detectOverflow(a,{...c,elementContext:"reference"}),h=ey(d,o.reference);return{data:{referenceHiddenOffsets:h,referenceHidden:ty(h)}}}case"escaped":{const d=await i.detectOverflow(a,{...c,altBoundary:!0}),h=ey(d,o.floating);return{data:{escapedOffsets:h,escaped:ty(h)}}}default:return{}}}}},Z0=new Set(["left","top"]);async function PT(t,a){const{placement:o,platform:i,elements:l}=t,c=await(i.isRTL==null?void 0:i.isRTL(l.floating)),d=ta(o),h=wo(o),g=Rn(o)==="y",p=Z0.has(d)?-1:1,y=c&&g?-1:1,v=ea(a,t);let{mainAxis:x,crossAxis:C,alignmentAxis:A}=typeof v=="number"?{mainAxis:v,crossAxis:0,alignmentAxis:null}:{mainAxis:v.mainAxis||0,crossAxis:v.crossAxis||0,alignmentAxis:v.alignmentAxis};return h&&typeof A=="number"&&(C=h==="end"?A*-1:A),g?{x:C*y,y:x*p}:{x:x*p,y:C*y}}const YT=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(a){var o,i;const{x:l,y:c,placement:d,middlewareData:h}=a,g=await PT(a,t);return d===((o=h.offset)==null?void 0:o.placement)&&(i=h.arrow)!=null&&i.alignmentOffset?{}:{x:l+g.x,y:c+g.y,data:{...g,placement:d}}}}},KT=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(a){const{x:o,y:i,placement:l,platform:c}=a,{mainAxis:d=!0,crossAxis:h=!1,limiter:g={fn:E=>{let{x:T,y:N}=E;return{x:T,y:N}}},...p}=ea(t,a),y={x:o,y:i},v=await c.detectOverflow(a,p),x=Rn(ta(l)),C=lm(x);let A=y[C],k=y[x];if(d){const E=C==="y"?"top":"left",T=C==="y"?"bottom":"right",N=A+v[E],R=A-v[T];A=wf(N,A,R)}if(h){const E=x==="y"?"top":"left",T=x==="y"?"bottom":"right",N=k+v[E],R=k-v[T];k=wf(N,k,R)}const S=g.fn({...a,[C]:A,[x]:k});return{...S,data:{x:S.x-o,y:S.y-i,enabled:{[C]:d,[x]:h}}}}}},FT=function(t){return t===void 0&&(t={}),{options:t,fn(a){const{x:o,y:i,placement:l,rects:c,middlewareData:d}=a,{offset:h=0,mainAxis:g=!0,crossAxis:p=!0}=ea(t,a),y={x:o,y:i},v=Rn(l),x=lm(v);let C=y[x],A=y[v];const k=ea(h,a),S=typeof k=="number"?{mainAxis:k,crossAxis:0}:{mainAxis:0,crossAxis:0,...k};if(g){const N=x==="y"?"height":"width",R=c.reference[x]-c.floating[N]+S.mainAxis,M=c.reference[x]+c.reference[N]-S.mainAxis;C<R?C=R:C>M&&(C=M)}if(p){var E,T;const N=x==="y"?"width":"height",R=Z0.has(ta(l)),M=c.reference[v]-c.floating[N]+(R&&((E=d.offset)==null?void 0:E[v])||0)+(R?0:S.crossAxis),D=c.reference[v]+c.reference[N]+(R?0:((T=d.offset)==null?void 0:T[v])||0)-(R?S.crossAxis:0);A<M?A=M:A>D&&(A=D)}return{[x]:C,[v]:A}}}},VT=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(a){var o,i;const{placement:l,rects:c,platform:d,elements:h}=a,{apply:g=()=>{},...p}=ea(t,a),y=await d.detectOverflow(a,p),v=ta(l),x=wo(l),C=Rn(l)==="y",{width:A,height:k}=c.floating;let S,E;v==="top"||v==="bottom"?(S=v,E=x===(await(d.isRTL==null?void 0:d.isRTL(h.floating))?"start":"end")?"left":"right"):(E=v,S=x==="end"?"top":"bottom");const T=k-y.top-y.bottom,N=A-y.left-y.right,R=Wa(k-y[S],T),M=Wa(A-y[E],N),D=!a.middlewareData.shift;let z=R,K=M;if((o=a.middlewareData.shift)!=null&&o.enabled.x&&(K=N),(i=a.middlewareData.shift)!=null&&i.enabled.y&&(z=T),D&&!x){const ne=$t(y.left,0),ee=$t(y.right,0),V=$t(y.top,0),Q=$t(y.bottom,0);C?K=A-2*(ne!==0||ee!==0?ne+ee:$t(y.left,y.right)):z=k-2*(V!==0||Q!==0?V+Q:$t(y.top,y.bottom))}await g({...a,availableWidth:K,availableHeight:z});const P=await d.getDimensions(h.floating);return A!==P.width||k!==P.height?{reset:{rects:!0}}:{}}}};function ec(){return typeof window<"u"}function xo(t){return Q0(t)?(t.nodeName||"").toLowerCase():"#document"}function Zt(t){var a;return(t==null||(a=t.ownerDocument)==null?void 0:a.defaultView)||window}function Mn(t){var a;return(a=(Q0(t)?t.ownerDocument:t.document)||window.document)==null?void 0:a.documentElement}function Q0(t){return ec()?t instanceof Node||t instanceof Zt(t).Node:!1}function yn(t){return ec()?t instanceof Element||t instanceof Zt(t).Element:!1}function ra(t){return ec()?t instanceof HTMLElement||t instanceof Zt(t).HTMLElement:!1}function ny(t){return!ec()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof Zt(t).ShadowRoot}function Ws(t){const{overflow:a,overflowX:o,overflowY:i,display:l}=bn(t);return/auto|scroll|overlay|hidden|clip/.test(a+i+o)&&l!=="inline"&&l!=="contents"}function GT(t){return/^(table|td|th)$/.test(xo(t))}function tc(t){try{if(t.matches(":popover-open"))return!0}catch{}try{return t.matches(":modal")}catch{return!1}}const $T=/transform|translate|scale|rotate|perspective|filter/,XT=/paint|layout|strict|content/,sr=t=>!!t&&t!=="none";let Ud;function dm(t){const a=yn(t)?bn(t):t;return sr(a.transform)||sr(a.translate)||sr(a.scale)||sr(a.rotate)||sr(a.perspective)||!fm()&&(sr(a.backdropFilter)||sr(a.filter))||$T.test(a.willChange||"")||XT.test(a.contain||"")}function ZT(t){let a=qa(t);for(;ra(a)&&!ho(a);){if(dm(a))return a;if(tc(a))return null;a=qa(a)}return null}function fm(){return Ud==null&&(Ud=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Ud}function ho(t){return/^(html|body|#document)$/.test(xo(t))}function bn(t){return Zt(t).getComputedStyle(t)}function nc(t){return yn(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function qa(t){if(xo(t)==="html")return t;const a=t.assignedSlot||t.parentNode||ny(t)&&t.host||Mn(t);return ny(a)?a.host:a}function J0(t){const a=qa(t);return ho(a)?t.ownerDocument?t.ownerDocument.body:t.body:ra(a)&&Ws(a)?a:J0(a)}function Rs(t,a,o){var i;a===void 0&&(a=[]),o===void 0&&(o=!0);const l=J0(t),c=l===((i=t.ownerDocument)==null?void 0:i.body),d=Zt(l);if(c){const h=kf(d);return a.concat(d,d.visualViewport||[],Ws(l)?l:[],h&&o?Rs(h):[])}else return a.concat(l,Rs(l,[],o))}function kf(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function eb(t){const a=bn(t);let o=parseFloat(a.width)||0,i=parseFloat(a.height)||0;const l=ra(t),c=l?t.offsetWidth:o,d=l?t.offsetHeight:i,h=zl(o)!==c||zl(i)!==d;return h&&(o=c,i=d),{width:o,height:i,$:h}}function mm(t){return yn(t)?t:t.contextElement}function io(t){const a=mm(t);if(!ra(a))return jn(1);const o=a.getBoundingClientRect(),{width:i,height:l,$:c}=eb(a);let d=(c?zl(o.width):o.width)/i,h=(c?zl(o.height):o.height)/l;return(!d||!Number.isFinite(d))&&(d=1),(!h||!Number.isFinite(h))&&(h=1),{x:d,y:h}}const QT=jn(0);function tb(t){const a=Zt(t);return!fm()||!a.visualViewport?QT:{x:a.visualViewport.offsetLeft,y:a.visualViewport.offsetTop}}function JT(t,a,o){return a===void 0&&(a=!1),!o||a&&o!==Zt(t)?!1:a}function pr(t,a,o,i){a===void 0&&(a=!1),o===void 0&&(o=!1);const l=t.getBoundingClientRect(),c=mm(t);let d=jn(1);a&&(i?yn(i)&&(d=io(i)):d=io(t));const h=JT(c,o,i)?tb(c):jn(0);let g=(l.left+h.x)/d.x,p=(l.top+h.y)/d.y,y=l.width/d.x,v=l.height/d.y;if(c){const x=Zt(c),C=i&&yn(i)?Zt(i):i;let A=x,k=kf(A);for(;k&&i&&C!==A;){const S=io(k),E=k.getBoundingClientRect(),T=bn(k),N=E.left+(k.clientLeft+parseFloat(T.paddingLeft))*S.x,R=E.top+(k.clientTop+parseFloat(T.paddingTop))*S.y;g*=S.x,p*=S.y,y*=S.x,v*=S.y,g+=N,p+=R,A=Zt(k),k=kf(A)}}return Hl({width:y,height:v,x:g,y:p})}function ac(t,a){const o=nc(t).scrollLeft;return a?a.left+o:pr(Mn(t)).left+o}function nb(t,a){const o=t.getBoundingClientRect(),i=o.left+a.scrollLeft-ac(t,o),l=o.top+a.scrollTop;return{x:i,y:l}}function eC(t){let{elements:a,rect:o,offsetParent:i,strategy:l}=t;const c=l==="fixed",d=Mn(i),h=a?tc(a.floating):!1;if(i===d||h&&c)return o;let g={scrollLeft:0,scrollTop:0},p=jn(1);const y=jn(0),v=ra(i);if((v||!v&&!c)&&((xo(i)!=="body"||Ws(d))&&(g=nc(i)),v)){const C=pr(i);p=io(i),y.x=C.x+i.clientLeft,y.y=C.y+i.clientTop}const x=d&&!v&&!c?nb(d,g):jn(0);return{width:o.width*p.x,height:o.height*p.y,x:o.x*p.x-g.scrollLeft*p.x+y.x+x.x,y:o.y*p.y-g.scrollTop*p.y+y.y+x.y}}function tC(t){return Array.from(t.getClientRects())}function nC(t){const a=Mn(t),o=nc(t),i=t.ownerDocument.body,l=$t(a.scrollWidth,a.clientWidth,i.scrollWidth,i.clientWidth),c=$t(a.scrollHeight,a.clientHeight,i.scrollHeight,i.clientHeight);let d=-o.scrollLeft+ac(t);const h=-o.scrollTop;return bn(i).direction==="rtl"&&(d+=$t(a.clientWidth,i.clientWidth)-l),{width:l,height:c,x:d,y:h}}const ay=25;function aC(t,a){const o=Zt(t),i=Mn(t),l=o.visualViewport;let c=i.clientWidth,d=i.clientHeight,h=0,g=0;if(l){c=l.width,d=l.height;const y=fm();(!y||y&&a==="fixed")&&(h=l.offsetLeft,g=l.offsetTop)}const p=ac(i);if(p<=0){const y=i.ownerDocument,v=y.body,x=getComputedStyle(v),C=y.compatMode==="CSS1Compat"&&parseFloat(x.marginLeft)+parseFloat(x.marginRight)||0,A=Math.abs(i.clientWidth-v.clientWidth-C);A<=ay&&(c-=A)}else p<=ay&&(c+=p);return{width:c,height:d,x:h,y:g}}function rC(t,a){const o=pr(t,!0,a==="fixed"),i=o.top+t.clientTop,l=o.left+t.clientLeft,c=ra(t)?io(t):jn(1),d=t.clientWidth*c.x,h=t.clientHeight*c.y,g=l*c.x,p=i*c.y;return{width:d,height:h,x:g,y:p}}function ry(t,a,o){let i;if(a==="viewport")i=aC(t,o);else if(a==="document")i=nC(Mn(t));else if(yn(a))i=rC(a,o);else{const l=tb(t);i={x:a.x-l.x,y:a.y-l.y,width:a.width,height:a.height}}return Hl(i)}function ab(t,a){const o=qa(t);return o===a||!yn(o)||ho(o)?!1:bn(o).position==="fixed"||ab(o,a)}function oC(t,a){const o=a.get(t);if(o)return o;let i=Rs(t,[],!1).filter(h=>yn(h)&&xo(h)!=="body"),l=null;const c=bn(t).position==="fixed";let d=c?qa(t):t;for(;yn(d)&&!ho(d);){const h=bn(d),g=dm(d);!g&&h.position==="fixed"&&(l=null),(c?!g&&!l:!g&&h.position==="static"&&!!l&&(l.position==="absolute"||l.position==="fixed")||Ws(d)&&!g&&ab(t,d))?i=i.filter(y=>y!==d):l=h,d=qa(d)}return a.set(t,i),i}function sC(t){let{element:a,boundary:o,rootBoundary:i,strategy:l}=t;const d=[...o==="clippingAncestors"?tc(a)?[]:oC(a,this._c):[].concat(o),i],h=ry(a,d[0],l);let g=h.top,p=h.right,y=h.bottom,v=h.left;for(let x=1;x<d.length;x++){const C=ry(a,d[x],l);g=$t(C.top,g),p=Wa(C.right,p),y=Wa(C.bottom,y),v=$t(C.left,v)}return{width:p-v,height:y-g,x:v,y:g}}function iC(t){const{width:a,height:o}=eb(t);return{width:a,height:o}}function lC(t,a,o){const i=ra(a),l=Mn(a),c=o==="fixed",d=pr(t,!0,c,a);let h={scrollLeft:0,scrollTop:0};const g=jn(0);function p(){g.x=ac(l)}if(i||!i&&!c)if((xo(a)!=="body"||Ws(l))&&(h=nc(a)),i){const C=pr(a,!0,c,a);g.x=C.x+a.clientLeft,g.y=C.y+a.clientTop}else l&&p();c&&!i&&l&&p();const y=l&&!i&&!c?nb(l,h):jn(0),v=d.left+h.scrollLeft-g.x-y.x,x=d.top+h.scrollTop-g.y-y.y;return{x:v,y:x,width:d.width,height:d.height}}function Wd(t){return bn(t).position==="static"}function oy(t,a){if(!ra(t)||bn(t).position==="fixed")return null;if(a)return a(t);let o=t.offsetParent;return Mn(t)===o&&(o=o.ownerDocument.body),o}function rb(t,a){const o=Zt(t);if(tc(t))return o;if(!ra(t)){let l=qa(t);for(;l&&!ho(l);){if(yn(l)&&!Wd(l))return l;l=qa(l)}return o}let i=oy(t,a);for(;i&>(i)&&Wd(i);)i=oy(i,a);return i&&ho(i)&&Wd(i)&&!dm(i)?o:i||ZT(t)||o}const cC=async function(t){const a=this.getOffsetParent||rb,o=this.getDimensions,i=await o(t.floating);return{reference:lC(t.reference,await a(t.floating),t.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}};function uC(t){return bn(t).direction==="rtl"}const dC={convertOffsetParentRelativeRectToViewportRelativeRect:eC,getDocumentElement:Mn,getClippingRect:sC,getOffsetParent:rb,getElementRects:cC,getClientRects:tC,getDimensions:iC,getScale:io,isElement:yn,isRTL:uC};function ob(t,a){return t.x===a.x&&t.y===a.y&&t.width===a.width&&t.height===a.height}function fC(t,a){let o=null,i;const l=Mn(t);function c(){var h;clearTimeout(i),(h=o)==null||h.disconnect(),o=null}function d(h,g){h===void 0&&(h=!1),g===void 0&&(g=1),c();const p=t.getBoundingClientRect(),{left:y,top:v,width:x,height:C}=p;if(h||a(),!x||!C)return;const A=pl(v),k=pl(l.clientWidth-(y+x)),S=pl(l.clientHeight-(v+C)),E=pl(y),N={rootMargin:-A+"px "+-k+"px "+-S+"px "+-E+"px",threshold:$t(0,Wa(1,g))||1};let R=!0;function M(D){const z=D[0].intersectionRatio;if(z!==g){if(!R)return d();z?d(!1,z):i=setTimeout(()=>{d(!1,1e-7)},1e3)}z===1&&!ob(p,t.getBoundingClientRect())&&d(),R=!1}try{o=new IntersectionObserver(M,{...N,root:l.ownerDocument})}catch{o=new IntersectionObserver(M,N)}o.observe(t)}return d(!0),c}function mC(t,a,o,i){i===void 0&&(i={});const{ancestorScroll:l=!0,ancestorResize:c=!0,elementResize:d=typeof ResizeObserver=="function",layoutShift:h=typeof IntersectionObserver=="function",animationFrame:g=!1}=i,p=mm(t),y=l||c?[...p?Rs(p):[],...a?Rs(a):[]]:[];y.forEach(E=>{l&&E.addEventListener("scroll",o,{passive:!0}),c&&E.addEventListener("resize",o)});const v=p&&h?fC(p,o):null;let x=-1,C=null;d&&(C=new ResizeObserver(E=>{let[T]=E;T&&T.target===p&&C&&a&&(C.unobserve(a),cancelAnimationFrame(x),x=requestAnimationFrame(()=>{var N;(N=C)==null||N.observe(a)})),o()}),p&&!g&&C.observe(p),a&&C.observe(a));let A,k=g?pr(t):null;g&&S();function S(){const E=pr(t);k&&!ob(k,E)&&o(),k=E,A=requestAnimationFrame(S)}return o(),()=>{var E;y.forEach(T=>{l&&T.removeEventListener("scroll",o),c&&T.removeEventListener("resize",o)}),v?.(),(E=C)==null||E.disconnect(),C=null,g&&cancelAnimationFrame(A)}}const pC=YT,hC=KT,gC=qT,vC=VT,yC=IT,sy=WT,bC=FT,wC=(t,a,o)=>{const i=new Map,l={platform:dC,...o},c={...l.platform,_c:i};return UT(t,a,{...l,platform:c})};var xC=typeof document<"u",kC=function(){},El=xC?b.useLayoutEffect:kC;function Ul(t,a){if(t===a)return!0;if(typeof t!=typeof a)return!1;if(typeof t=="function"&&t.toString()===a.toString())return!0;let o,i,l;if(t&&a&&typeof t=="object"){if(Array.isArray(t)){if(o=t.length,o!==a.length)return!1;for(i=o;i--!==0;)if(!Ul(t[i],a[i]))return!1;return!0}if(l=Object.keys(t),o=l.length,o!==Object.keys(a).length)return!1;for(i=o;i--!==0;)if(!{}.hasOwnProperty.call(a,l[i]))return!1;for(i=o;i--!==0;){const c=l[i];if(!(c==="_owner"&&t.$$typeof)&&!Ul(t[c],a[c]))return!1}return!0}return t!==t&&a!==a}function sb(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function iy(t,a){const o=sb(t);return Math.round(a*o)/o}function qd(t){const a=b.useRef(t);return El(()=>{a.current=t}),a}function SC(t){t===void 0&&(t={});const{placement:a="bottom",strategy:o="absolute",middleware:i=[],platform:l,elements:{reference:c,floating:d}={},transform:h=!0,whileElementsMounted:g,open:p}=t,[y,v]=b.useState({x:0,y:0,strategy:o,placement:a,middlewareData:{},isPositioned:!1}),[x,C]=b.useState(i);Ul(x,i)||C(i);const[A,k]=b.useState(null),[S,E]=b.useState(null),T=b.useCallback(U=>{U!==D.current&&(D.current=U,k(U))},[]),N=b.useCallback(U=>{U!==z.current&&(z.current=U,E(U))},[]),R=c||A,M=d||S,D=b.useRef(null),z=b.useRef(null),K=b.useRef(y),P=g!=null,ne=qd(g),ee=qd(l),V=qd(p),Q=b.useCallback(()=>{if(!D.current||!z.current)return;const U={placement:a,strategy:o,middleware:x};ee.current&&(U.platform=ee.current),wC(D.current,z.current,U).then(q=>{const Z={...q,isPositioned:V.current!==!1};X.current&&!Ul(K.current,Z)&&(K.current=Z,Jl.flushSync(()=>{v(Z)}))})},[x,a,o,ee,V]);El(()=>{p===!1&&K.current.isPositioned&&(K.current.isPositioned=!1,v(U=>({...U,isPositioned:!1})))},[p]);const X=b.useRef(!1);El(()=>(X.current=!0,()=>{X.current=!1}),[]),El(()=>{if(R&&(D.current=R),M&&(z.current=M),R&&M){if(ne.current)return ne.current(R,M,Q);Q()}},[R,M,Q,ne,P]);const $=b.useMemo(()=>({reference:D,floating:z,setReference:T,setFloating:N}),[T,N]),O=b.useMemo(()=>({reference:R,floating:M}),[R,M]),I=b.useMemo(()=>{const U={position:o,left:0,top:0};if(!O.floating)return U;const q=iy(O.floating,y.x),Z=iy(O.floating,y.y);return h?{...U,transform:"translate("+q+"px, "+Z+"px)",...sb(O.floating)>=1.5&&{willChange:"transform"}}:{position:o,left:q,top:Z}},[o,h,O.floating,y.x,y.y]);return b.useMemo(()=>({...y,update:Q,refs:$,elements:O,floatingStyles:I}),[y,Q,$,O,I])}const EC=t=>{function a(o){return{}.hasOwnProperty.call(o,"current")}return{name:"arrow",options:t,fn(o){const{element:i,padding:l}=typeof t=="function"?t(o):t;return i&&a(i)?i.current!=null?sy({element:i.current,padding:l}).fn(o):{}:i?sy({element:i,padding:l}).fn(o):{}}}},TC=(t,a)=>{const o=pC(t);return{name:o.name,fn:o.fn,options:[t,a]}},CC=(t,a)=>{const o=hC(t);return{name:o.name,fn:o.fn,options:[t,a]}},AC=(t,a)=>({fn:bC(t).fn,options:[t,a]}),_C=(t,a)=>{const o=gC(t);return{name:o.name,fn:o.fn,options:[t,a]}},NC=(t,a)=>{const o=vC(t);return{name:o.name,fn:o.fn,options:[t,a]}},RC=(t,a)=>{const o=yC(t);return{name:o.name,fn:o.fn,options:[t,a]}},jC=(t,a)=>{const o=EC(t);return{name:o.name,fn:o.fn,options:[t,a]}};var OC="Arrow",ib=b.forwardRef((t,a)=>{const{children:o,width:i=10,height:l=5,...c}=t;return f.jsx(Ht.svg,{...c,ref:a,width:i,height:l,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:t.asChild?o:f.jsx("polygon",{points:"0,0 30,0 15,10"})})});ib.displayName=OC;var MC=ib;function DC(t){const[a,o]=b.useState(void 0);return Ua(()=>{if(t){o({width:t.offsetWidth,height:t.offsetHeight});const i=new ResizeObserver(l=>{if(!Array.isArray(l)||!l.length)return;const c=l[0];let d,h;if("borderBoxSize"in c){const g=c.borderBoxSize,p=Array.isArray(g)?g[0]:g;d=p.inlineSize,h=p.blockSize}else d=t.offsetWidth,h=t.offsetHeight;o({width:d,height:h})});return i.observe(t,{box:"border-box"}),()=>i.unobserve(t)}else o(void 0)},[t]),a}var pm="Popper",[lb,cb]=sm(pm),[LC,ub]=lb(pm),db=t=>{const{__scopePopper:a,children:o}=t,[i,l]=b.useState(null);return f.jsx(LC,{scope:a,anchor:i,onAnchorChange:l,children:o})};db.displayName=pm;var fb="PopperAnchor",mb=b.forwardRef((t,a)=>{const{__scopePopper:o,virtualRef:i,...l}=t,c=ub(fb,o),d=b.useRef(null),h=wn(a,d),g=b.useRef(null);return b.useEffect(()=>{const p=g.current;g.current=i?.current||d.current,p!==g.current&&c.onAnchorChange(g.current)}),i?null:f.jsx(Ht.div,{...l,ref:h})});mb.displayName=fb;var hm="PopperContent",[zC,BC]=lb(hm),pb=b.forwardRef((t,a)=>{const{__scopePopper:o,side:i="bottom",sideOffset:l=0,align:c="center",alignOffset:d=0,arrowPadding:h=0,avoidCollisions:g=!0,collisionBoundary:p=[],collisionPadding:y=0,sticky:v="partial",hideWhenDetached:x=!1,updatePositionStrategy:C="optimized",onPlaced:A,...k}=t,S=ub(hm,o),[E,T]=b.useState(null),N=wn(a,le=>T(le)),[R,M]=b.useState(null),D=DC(R),z=D?.width??0,K=D?.height??0,P=i+(c!=="center"?"-"+c:""),ne=typeof y=="number"?y:{top:0,right:0,bottom:0,left:0,...y},ee=Array.isArray(p)?p:[p],V=ee.length>0,Q={padding:ne,boundary:ee.filter(UC),altBoundary:V},{refs:X,floatingStyles:$,placement:O,isPositioned:I,middlewareData:U}=SC({strategy:"fixed",placement:P,whileElementsMounted:(...le)=>mC(...le,{animationFrame:C==="always"}),elements:{reference:S.anchor},middleware:[TC({mainAxis:l+K,alignmentAxis:d}),g&&CC({mainAxis:!0,crossAxis:!1,limiter:v==="partial"?AC():void 0,...Q}),g&&_C({...Q}),NC({...Q,apply:({elements:le,rects:ie,availableWidth:se,availableHeight:de})=>{const{width:me,height:Te}=ie.reference,Ee=le.floating.style;Ee.setProperty("--radix-popper-available-width",`${se}px`),Ee.setProperty("--radix-popper-available-height",`${de}px`),Ee.setProperty("--radix-popper-anchor-width",`${me}px`),Ee.setProperty("--radix-popper-anchor-height",`${Te}px`)}}),R&&jC({element:R,padding:h}),WC({arrowWidth:z,arrowHeight:K}),x&&RC({strategy:"referenceHidden",...Q})]}),[q,Z]=vb(O),j=po(A);Ua(()=>{I&&j?.()},[I,j]);const H=U.arrow?.x,oe=U.arrow?.y,ue=U.arrow?.centerOffset!==0,[fe,pe]=b.useState();return Ua(()=>{E&&pe(window.getComputedStyle(E).zIndex)},[E]),f.jsx("div",{ref:X.setFloating,"data-radix-popper-content-wrapper":"",style:{...$,transform:I?$.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:fe,"--radix-popper-transform-origin":[U.transformOrigin?.x,U.transformOrigin?.y].join(" "),...U.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:t.dir,children:f.jsx(zC,{scope:o,placedSide:q,onArrowChange:M,arrowX:H,arrowY:oe,shouldHideArrow:ue,children:f.jsx(Ht.div,{"data-side":q,"data-align":Z,...k,ref:N,style:{...k.style,animation:I?void 0:"none"}})})})});pb.displayName=hm;var hb="PopperArrow",HC={top:"bottom",right:"left",bottom:"top",left:"right"},gb=b.forwardRef(function(a,o){const{__scopePopper:i,...l}=a,c=BC(hb,i),d=HC[c.placedSide];return f.jsx("span",{ref:c.onArrowChange,style:{position:"absolute",left:c.arrowX,top:c.arrowY,[d]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[c.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[c.placedSide],visibility:c.shouldHideArrow?"hidden":void 0},children:f.jsx(MC,{...l,ref:o,style:{...l.style,display:"block"}})})});gb.displayName=hb;function UC(t){return t!==null}var WC=t=>({name:"transformOrigin",options:t,fn(a){const{placement:o,rects:i,middlewareData:l}=a,d=l.arrow?.centerOffset!==0,h=d?0:t.arrowWidth,g=d?0:t.arrowHeight,[p,y]=vb(o),v={start:"0%",center:"50%",end:"100%"}[y],x=(l.arrow?.x??0)+h/2,C=(l.arrow?.y??0)+g/2;let A="",k="";return p==="bottom"?(A=d?v:`${x}px`,k=`${-g}px`):p==="top"?(A=d?v:`${x}px`,k=`${i.floating.height+g}px`):p==="right"?(A=`${-g}px`,k=d?v:`${C}px`):p==="left"&&(A=`${i.floating.width+g}px`,k=d?v:`${C}px`),{data:{x:A,y:k}}}});function vb(t){const[a,o="center"]=t.split("-");return[a,o]}var qC=db,IC=mb,PC=pb,YC=gb,KC="Portal",gm=b.forwardRef((t,a)=>{const{container:o,...i}=t,[l,c]=b.useState(!1);Ua(()=>c(!0),[]);const d=o||l&&globalThis?.document?.body;return d?uT.createPortal(f.jsx(Ht.div,{...i,ref:a}),d):null});gm.displayName=KC;function FC(t,a){return b.useReducer((o,i)=>a[o][i]??o,t)}var ko=t=>{const{present:a,children:o}=t,i=VC(a),l=typeof o=="function"?o({present:i.isPresent}):b.Children.only(o),c=wn(i.ref,GC(l));return typeof o=="function"||i.isPresent?b.cloneElement(l,{ref:c}):null};ko.displayName="Presence";function VC(t){const[a,o]=b.useState(),i=b.useRef(null),l=b.useRef(t),c=b.useRef("none"),d=t?"mounted":"unmounted",[h,g]=FC(d,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return b.useEffect(()=>{const p=hl(i.current);c.current=h==="mounted"?p:"none"},[h]),Ua(()=>{const p=i.current,y=l.current;if(y!==t){const x=c.current,C=hl(p);t?g("MOUNT"):C==="none"||p?.display==="none"?g("UNMOUNT"):g(y&&x!==C?"ANIMATION_OUT":"UNMOUNT"),l.current=t}},[t,g]),Ua(()=>{if(a){let p;const y=a.ownerDocument.defaultView??window,v=C=>{const k=hl(i.current).includes(CSS.escape(C.animationName));if(C.target===a&&k&&(g("ANIMATION_END"),!l.current)){const S=a.style.animationFillMode;a.style.animationFillMode="forwards",p=y.setTimeout(()=>{a.style.animationFillMode==="forwards"&&(a.style.animationFillMode=S)})}},x=C=>{C.target===a&&(c.current=hl(i.current))};return a.addEventListener("animationstart",x),a.addEventListener("animationcancel",v),a.addEventListener("animationend",v),()=>{y.clearTimeout(p),a.removeEventListener("animationstart",x),a.removeEventListener("animationcancel",v),a.removeEventListener("animationend",v)}}else g("ANIMATION_END")},[a,g]),{isPresent:["mounted","unmountSuspended"].includes(h),ref:b.useCallback(p=>{i.current=p?getComputedStyle(p):null,o(p)},[])}}function hl(t){return t?.animationName||"none"}function GC(t){let a=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,o=a&&"isReactWarning"in a&&a.isReactWarning;return o?t.ref:(a=Object.getOwnPropertyDescriptor(t,"ref")?.get,o=a&&"isReactWarning"in a&&a.isReactWarning,o?t.props.ref:t.props.ref||t.ref)}var $C=h0[" useInsertionEffect ".trim().toString()]||Ua;function yb({prop:t,defaultProp:a,onChange:o=()=>{},caller:i}){const[l,c,d]=XC({defaultProp:a,onChange:o}),h=t!==void 0,g=h?t:l;{const y=b.useRef(t!==void 0);b.useEffect(()=>{const v=y.current;v!==h&&console.warn(`${i} is changing from ${v?"controlled":"uncontrolled"} to ${h?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),y.current=h},[h,i])}const p=b.useCallback(y=>{if(h){const v=ZC(y)?y(t):y;v!==t&&d.current?.(v)}else c(y)},[h,t,c,d]);return[g,p]}function XC({defaultProp:t,onChange:a}){const[o,i]=b.useState(t),l=b.useRef(o),c=b.useRef(a);return $C(()=>{c.current=a},[a]),b.useEffect(()=>{l.current!==o&&(c.current?.(o),l.current=o)},[o,l]),[o,i,c]}function ZC(t){return typeof t=="function"}var QC=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),JC="VisuallyHidden",bb=b.forwardRef((t,a)=>f.jsx(Ht.span,{...t,ref:a,style:{...QC,...t.style}}));bb.displayName=JC;var eA=bb,[rc]=sm("Tooltip",[cb]),oc=cb(),wb="TooltipProvider",tA=700,Sf="tooltip.open",[nA,vm]=rc(wb),xb=t=>{const{__scopeTooltip:a,delayDuration:o=tA,skipDelayDuration:i=300,disableHoverableContent:l=!1,children:c}=t,d=b.useRef(!0),h=b.useRef(!1),g=b.useRef(0);return b.useEffect(()=>{const p=g.current;return()=>window.clearTimeout(p)},[]),f.jsx(nA,{scope:a,isOpenDelayedRef:d,delayDuration:o,onOpen:b.useCallback(()=>{window.clearTimeout(g.current),d.current=!1},[]),onClose:b.useCallback(()=>{window.clearTimeout(g.current),g.current=window.setTimeout(()=>d.current=!0,i)},[i]),isPointerInTransitRef:h,onPointerInTransitChange:b.useCallback(p=>{h.current=p},[]),disableHoverableContent:l,children:c})};xb.displayName=wb;var js="Tooltip",[aA,qs]=rc(js),kb=t=>{const{__scopeTooltip:a,children:o,open:i,defaultOpen:l,onOpenChange:c,disableHoverableContent:d,delayDuration:h}=t,g=vm(js,t.__scopeTooltip),p=oc(a),[y,v]=b.useState(null),x=Sl(),C=b.useRef(0),A=d??g.disableHoverableContent,k=h??g.delayDuration,S=b.useRef(!1),[E,T]=yb({prop:i,defaultProp:l??!1,onChange:z=>{z?(g.onOpen(),document.dispatchEvent(new CustomEvent(Sf))):g.onClose(),c?.(z)},caller:js}),N=b.useMemo(()=>E?S.current?"delayed-open":"instant-open":"closed",[E]),R=b.useCallback(()=>{window.clearTimeout(C.current),C.current=0,S.current=!1,T(!0)},[T]),M=b.useCallback(()=>{window.clearTimeout(C.current),C.current=0,T(!1)},[T]),D=b.useCallback(()=>{window.clearTimeout(C.current),C.current=window.setTimeout(()=>{S.current=!0,T(!0),C.current=0},k)},[k,T]);return b.useEffect(()=>()=>{C.current&&(window.clearTimeout(C.current),C.current=0)},[]),f.jsx(qC,{...p,children:f.jsx(aA,{scope:a,contentId:x,open:E,stateAttribute:N,trigger:y,onTriggerChange:v,onTriggerEnter:b.useCallback(()=>{g.isOpenDelayedRef.current?D():R()},[g.isOpenDelayedRef,D,R]),onTriggerLeave:b.useCallback(()=>{A?M():(window.clearTimeout(C.current),C.current=0)},[M,A]),onOpen:R,onClose:M,disableHoverableContent:A,children:o})})};kb.displayName=js;var Ef="TooltipTrigger",Sb=b.forwardRef((t,a)=>{const{__scopeTooltip:o,...i}=t,l=qs(Ef,o),c=vm(Ef,o),d=oc(o),h=b.useRef(null),g=wn(a,h,l.onTriggerChange),p=b.useRef(!1),y=b.useRef(!1),v=b.useCallback(()=>p.current=!1,[]);return b.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),f.jsx(IC,{asChild:!0,...d,children:f.jsx(Ht.button,{"aria-describedby":l.open?l.contentId:void 0,"data-state":l.stateAttribute,...i,ref:g,onPointerMove:Dt(t.onPointerMove,x=>{x.pointerType!=="touch"&&!y.current&&!c.isPointerInTransitRef.current&&(l.onTriggerEnter(),y.current=!0)}),onPointerLeave:Dt(t.onPointerLeave,()=>{l.onTriggerLeave(),y.current=!1}),onPointerDown:Dt(t.onPointerDown,()=>{l.open&&l.onClose(),p.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:Dt(t.onFocus,()=>{p.current||l.onOpen()}),onBlur:Dt(t.onBlur,l.onClose),onClick:Dt(t.onClick,l.onClose)})})});Sb.displayName=Ef;var ym="TooltipPortal",[rA,oA]=rc(ym,{forceMount:void 0}),Eb=t=>{const{__scopeTooltip:a,forceMount:o,children:i,container:l}=t,c=qs(ym,a);return f.jsx(rA,{scope:a,forceMount:o,children:f.jsx(ko,{present:o||c.open,children:f.jsx(gm,{asChild:!0,container:l,children:i})})})};Eb.displayName=ym;var go="TooltipContent",Tb=b.forwardRef((t,a)=>{const o=oA(go,t.__scopeTooltip),{forceMount:i=o.forceMount,side:l="top",...c}=t,d=qs(go,t.__scopeTooltip);return f.jsx(ko,{present:i||d.open,children:d.disableHoverableContent?f.jsx(Cb,{side:l,...c,ref:a}):f.jsx(sA,{side:l,...c,ref:a})})}),sA=b.forwardRef((t,a)=>{const o=qs(go,t.__scopeTooltip),i=vm(go,t.__scopeTooltip),l=b.useRef(null),c=wn(a,l),[d,h]=b.useState(null),{trigger:g,onClose:p}=o,y=l.current,{onPointerInTransitChange:v}=i,x=b.useCallback(()=>{h(null),v(!1)},[v]),C=b.useCallback((A,k)=>{const S=A.currentTarget,E={x:A.clientX,y:A.clientY},T=dA(E,S.getBoundingClientRect()),N=fA(E,T),R=mA(k.getBoundingClientRect()),M=hA([...N,...R]);h(M),v(!0)},[v]);return b.useEffect(()=>()=>x(),[x]),b.useEffect(()=>{if(g&&y){const A=S=>C(S,y),k=S=>C(S,g);return g.addEventListener("pointerleave",A),y.addEventListener("pointerleave",k),()=>{g.removeEventListener("pointerleave",A),y.removeEventListener("pointerleave",k)}}},[g,y,C,x]),b.useEffect(()=>{if(d){const A=k=>{const S=k.target,E={x:k.clientX,y:k.clientY},T=g?.contains(S)||y?.contains(S),N=!pA(E,d);T?x():N&&(x(),p())};return document.addEventListener("pointermove",A),()=>document.removeEventListener("pointermove",A)}},[g,y,d,p,x]),f.jsx(Cb,{...t,ref:c})}),[iA,lA]=rc(js,{isInside:!1}),cA=fT("TooltipContent"),Cb=b.forwardRef((t,a)=>{const{__scopeTooltip:o,children:i,"aria-label":l,onEscapeKeyDown:c,onPointerDownOutside:d,...h}=t,g=qs(go,o),p=oc(o),{onClose:y}=g;return b.useEffect(()=>(document.addEventListener(Sf,y),()=>document.removeEventListener(Sf,y)),[y]),b.useEffect(()=>{if(g.trigger){const v=x=>{x.target?.contains(g.trigger)&&y()};return window.addEventListener("scroll",v,{capture:!0}),()=>window.removeEventListener("scroll",v,{capture:!0})}},[g.trigger,y]),f.jsx(im,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:c,onPointerDownOutside:d,onFocusOutside:v=>v.preventDefault(),onDismiss:y,children:f.jsxs(PC,{"data-state":g.stateAttribute,...p,...h,ref:a,style:{...h.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[f.jsx(cA,{children:i}),f.jsx(iA,{scope:o,isInside:!0,children:f.jsx(eA,{id:g.contentId,role:"tooltip",children:l||i})})]})})});Tb.displayName=go;var Ab="TooltipArrow",uA=b.forwardRef((t,a)=>{const{__scopeTooltip:o,...i}=t,l=oc(o);return lA(Ab,o).isInside?null:f.jsx(YC,{...l,...i,ref:a})});uA.displayName=Ab;function dA(t,a){const o=Math.abs(a.top-t.y),i=Math.abs(a.bottom-t.y),l=Math.abs(a.right-t.x),c=Math.abs(a.left-t.x);switch(Math.min(o,i,l,c)){case c:return"left";case l:return"right";case o:return"top";case i:return"bottom";default:throw new Error("unreachable")}}function fA(t,a,o=5){const i=[];switch(a){case"top":i.push({x:t.x-o,y:t.y+o},{x:t.x+o,y:t.y+o});break;case"bottom":i.push({x:t.x-o,y:t.y-o},{x:t.x+o,y:t.y-o});break;case"left":i.push({x:t.x+o,y:t.y-o},{x:t.x+o,y:t.y+o});break;case"right":i.push({x:t.x-o,y:t.y-o},{x:t.x-o,y:t.y+o});break}return i}function mA(t){const{top:a,right:o,bottom:i,left:l}=t;return[{x:l,y:a},{x:o,y:a},{x:o,y:i},{x:l,y:i}]}function pA(t,a){const{x:o,y:i}=t;let l=!1;for(let c=0,d=a.length-1;c<a.length;d=c++){const h=a[c],g=a[d],p=h.x,y=h.y,v=g.x,x=g.y;y>i!=x>i&&o<(v-p)*(i-y)/(x-y)+p&&(l=!l)}return l}function hA(t){const a=t.slice();return a.sort((o,i)=>o.x<i.x?-1:o.x>i.x?1:o.y<i.y?-1:o.y>i.y?1:0),gA(a)}function gA(t){if(t.length<=1)return t.slice();const a=[];for(let i=0;i<t.length;i++){const l=t[i];for(;a.length>=2;){const c=a[a.length-1],d=a[a.length-2];if((c.x-d.x)*(l.y-d.y)>=(c.y-d.y)*(l.x-d.x))a.pop();else break}a.push(l)}a.pop();const o=[];for(let i=t.length-1;i>=0;i--){const l=t[i];for(;o.length>=2;){const c=o[o.length-1],d=o[o.length-2];if((c.x-d.x)*(l.y-d.y)>=(c.y-d.y)*(l.x-d.x))o.pop();else break}o.push(l)}return o.pop(),a.length===1&&o.length===1&&a[0].x===o[0].x&&a[0].y===o[0].y?a:a.concat(o)}var _b=xb,vA=kb,yA=Sb,bA=Eb,wA=Tb;const lt=({children:t,label:a,side:o="top",align:i="center"})=>a?f.jsx(_b,{delayDuration:250,skipDelayDuration:150,children:f.jsxs(vA,{children:[f.jsx(yA,{asChild:!0,children:t}),f.jsx(bA,{children:f.jsx(wA,{className:"tooltip",side:o,align:i,sideOffset:6,children:a})})]})}):f.jsx(f.Fragment,{children:t}),xA=({tabs:t,activeId:a,onSelect:o,onClose:i,onClosePanel:l,onNewShell:c,newShellPending:d})=>{const{t:h}=Ce();return f.jsxs("div",{role:"tablist","aria-label":h("terminalPanel.tablistAria"),className:"scrollbar-thin flex h-9 min-h-9 w-full items-stretch overflow-x-auto pointer-coarse:h-12 pointer-coarse:min-h-12",style:{background:"var(--bg-2)",borderBottom:"1px solid var(--border)"},"data-testid":"terminal-tab-strip",children:[t.map(g=>{const p=g.id===a,y=h("terminalPanel.closeTab",{name:g.label}),v=x=>{x.stopPropagation(),i(g.id)};return f.jsxs("div",{role:"tab","aria-selected":p,"data-testid":`terminal-tab-${g.id}`,onClick:()=>o(g.id),className:"group relative flex max-w-[200px] shrink-0 cursor-pointer items-center gap-1.5 border-r text-xs",style:{background:p?"var(--bg-1)":"transparent",borderRightColor:"var(--border)",color:p?"var(--text-primary)":"var(--text-secondary)"},children:[p?f.jsx("span",{"data-tab-accent":!0,"aria-hidden":!0,className:"pointer-events-none absolute top-0 right-0 left-0 h-0.5",style:{background:"var(--accent)"}}):null,f.jsxs("button",{type:"button","data-testid":`terminal-tab-select-${g.id}`,onClick:x=>{x.stopPropagation(),o(g.id)},className:"flex min-w-0 flex-1 items-center gap-1.5 py-2 pr-1 pl-3 text-left",style:{color:"inherit"},children:[f.jsx(nm,{size:12,"aria-hidden":!0}),f.jsx("span",{className:"truncate",children:g.label})]}),f.jsx(lt,{label:y,children:f.jsx("button",{type:"button","aria-label":y,"data-testid":`terminal-tab-close-${g.id}`,onClick:v,className:`mr-1 rounded p-0.5 pointer-coarse:p-2 transition ${p?"opacity-100":"opacity-0 group-hover:opacity-100 pointer-coarse:opacity-100"}`,style:{color:"var(--text-secondary)"},children:f.jsx(fo,{size:12,"aria-hidden":!0})})})]},g.id)}),f.jsxs("div",{className:"flex flex-1 items-center justify-end gap-1 px-2",children:[f.jsx(lt,{label:h("terminalPanel.closePanel"),children:f.jsx("button",{type:"button","aria-label":h("terminalPanel.closePanel"),"data-testid":"terminal-panel-close",onClick:l,className:"flex h-6 w-6 shrink-0 items-center justify-center rounded border text-sec transition hover:text-pri disabled:opacity-50 pointer-coarse:h-10 pointer-coarse:w-10",style:{borderColor:"var(--border)",background:"var(--bg-1)"},children:f.jsx(fo,{size:12,"aria-hidden":!0})})}),f.jsx(lt,{label:h("terminalPanel.newShell"),children:f.jsx("button",{type:"button","aria-label":h("terminalPanel.newShell"),"data-testid":"terminal-tab-new-shell",onClick:c,disabled:d,className:"flex h-6 w-6 shrink-0 items-center justify-center rounded border text-sec transition hover:text-pri disabled:opacity-50 pointer-coarse:h-10 pointer-coarse:w-10",style:{borderColor:"var(--border)",background:"var(--bg-1)"},children:d?f.jsx(bo,{size:12,className:"animate-spin","aria-hidden":!0}):f.jsx(Es,{size:12,"aria-hidden":!0})})})]})]})},Nb="hive.terminal-panel.height",Rb="hive.terminal-panel.collapsed",Tf=160,kA=.35,SA=160,Ts=t=>{const a=typeof window<"u"?window.innerHeight:800,o=Math.max(Tf,a-SA);return Math.min(Math.max(t,Tf),o)},Id=()=>{const t=typeof window<"u"?window.innerHeight:800;return Ts(Math.floor(t*kA))},EA=()=>{try{const t=window.localStorage.getItem(Nb);if(!t)return Id();const a=Number.parseInt(t,10);return Number.isFinite(a)?Ts(a):Id()}catch{return Id()}},TA=()=>{try{return window.localStorage.getItem(Rb)==="1"}catch{return!1}},CA=()=>{const[t,a]=b.useState(()=>EA()),[o,i]=b.useState(()=>TA()),[l,c]=b.useState(!1);b.useEffect(()=>{try{window.localStorage.setItem(Nb,String(Math.round(t)))}catch{}},[t]),b.useEffect(()=>{try{window.localStorage.setItem(Rb,o?"1":"0")}catch{}},[o]),b.useEffect(()=>{const p=()=>a(y=>Ts(y));return window.addEventListener("resize",p),()=>window.removeEventListener("resize",p)},[]);const d=b.useCallback(p=>a(Ts(p)),[]),h=b.useCallback(p=>i(p),[]),g=b.useCallback(p=>{p.preventDefault();const y=p.clientY;let v=t;a(S=>(v=S,S)),c(!0);const x=document.body.style.cursor,C=document.body.style.userSelect;document.body.style.cursor="ns-resize",document.body.style.userSelect="none";const A=S=>{const E=S.clientY-y;a(Ts(v-E))},k=()=>{c(!1),document.body.style.cursor=x,document.body.style.userSelect=C,document.removeEventListener("pointermove",A),document.removeEventListener("pointerup",k),document.removeEventListener("pointercancel",k)};document.addEventListener("pointermove",A),document.addEventListener("pointerup",k),document.addEventListener("pointercancel",k)},[t]);return{height:t,collapsed:o,dragging:l,setHeight:d,setCollapsed:h,beginDrag:g}},AA=(t,a)=>a?t.find(o=>o.id===a)??null:null,_A=({tabs:t,activeId:a,onSelect:o,onClose:i,onClosePanel:l,onNewShell:c,newShellPending:d,onStartWorker:h,startingWorkerId:g})=>{const{t:p}=Ce(),y=CA(),v=Bt();if(t.length===0)return null;const x=AA(t,a)??t[0]??null;return f.jsxs("div",{"data-testid":"terminal-bottom-panel",className:"relative flex shrink-0 flex-col",style:{height:v?"45%":y.height,minHeight:v?"min(160px, 60%)":void 0,background:"var(--bg-1)",borderTop:"1px solid var(--border)"},tabIndex:-1,onKeyDown:C=>{(C.metaKey||C.ctrlKey)&&!C.altKey&&!C.shiftKey&&C.key.toLowerCase()==="w"&&a&&(C.preventDefault(),i(a))},children:[v?null:f.jsx("div",{role:"separator","aria-orientation":"horizontal","aria-label":p("terminalPanel.resizeAria"),"aria-valuemin":Tf,"aria-valuenow":Math.round(y.height),className:"absolute top-0 right-0 left-0 z-10 h-2 -translate-y-1 cursor-ns-resize",tabIndex:-1,"data-resizing":y.dragging||void 0,"data-testid":"terminal-panel-resize-handle",onPointerDown:y.beginDrag}),f.jsx(xA,{tabs:t,activeId:x?.id??null,onSelect:o,onClose:i,onClosePanel:l,onNewShell:c,newShellPending:d}),f.jsx("div",{className:"relative min-h-0 flex-1",style:{background:"var(--bg-crust)"},children:t.map(C=>f.jsx(NA,{tab:C,isActive:C.id===(x?.id??null),onStartWorker:h,startingWorkerId:g},C.id))})]})},NA=({tab:t,isActive:a,onStartWorker:o,startingWorkerId:i})=>{const{t:l}=Ce(),c=a?"flex h-full w-full":"hidden";if(t.kind==="worker"){if(!t.runId){const d=i===t.workerId;return f.jsxs("div",{className:a?"flex h-full w-full flex-col items-center justify-center gap-3 px-6 text-center text-xs text-ter":"hidden","data-testid":"terminal-panel-stopped-worker",children:[f.jsxs("span",{className:"flex items-center gap-2",children:[f.jsx(nm,{size:14,"aria-hidden":!0}),l("terminalPanel.workerStopped",{name:t.label})]}),f.jsxs("button",{type:"button",onClick:()=>o(t.workerId),disabled:d,className:"icon-btn icon-btn--primary","data-testid":"terminal-panel-start-worker",children:[d?f.jsx(bo,{size:12,className:"animate-spin","aria-hidden":!0}):f.jsx(Us,{size:12,"aria-hidden":!0}),l(d?"common.starting":"common.start")]})]})}return f.jsx("div",{id:`worker-pty-${t.runId}`,className:c,"data-pty-slot":"worker","data-testid":`terminal-panel-slot-worker-${t.workerId}`})}return f.jsx("div",{id:`shell-pty-${t.runId}`,className:c,"data-pty-slot":"shell","data-testid":`terminal-panel-slot-shell-${t.runId}`})},Pd=t=>`hive.terminal-panel.tabs.${t}`,Yd=t=>`hive.terminal-panel.active.${t}`,RA=t=>`worker:${t}`,jA=t=>`shell:${t}`,ly=t=>{try{const a=window.localStorage.getItem(t);if(!a)return[];const o=JSON.parse(a);return Array.isArray(o)?o.filter(i=>typeof i=="string"):[]}catch{return[]}},cy=t=>{try{return window.localStorage.getItem(t)??""}catch{return""}},uy=(t,a)=>{try{window.localStorage.setItem(t,a)}catch{}},OA=({workspaceId:t,workers:a,terminalRuns:o})=>{const[i,l]=b.useState(()=>ly(Pd(t))),[c,d]=b.useState(()=>{const T=cy(Yd(t));return T.length>0?T:null}),h=b.useRef(i);h.current=i;const g=b.useRef(t);b.useEffect(()=>{if(g.current===t)return;g.current=t,l(ly(Pd(t)));const T=cy(Yd(t));d(T.length>0?T:null)},[t]);const p=b.useRef(!1);b.useEffect(()=>{p.current=a.length>0||o.length>0},[t]),b.useEffect(()=>{(a.length>0||o.length>0)&&(p.current=!0)},[a,o]),b.useEffect(()=>{p.current&&uy(Pd(t),JSON.stringify(i))},[i,t]),b.useEffect(()=>{p.current&&uy(Yd(t),c??"")},[c,t]);const y=b.useMemo(()=>new Map(a.map(T=>[T.id,T])),[a]),{runByAgentId:v,shellRunById:x}=b.useMemo(()=>{const T=new Map,N=new Map;for(const R of o)T.set(R.agent_id,R),Zl(R,t)&&N.set(R.run_id,R);return{runByAgentId:T,shellRunById:N}},[o,t]),C=b.useMemo(()=>{const T=[];for(const N of i)if(N.startsWith("worker:")){const R=N.slice(7),M=y.get(R);if(!M)continue;const D=v.get(M.id);T.push({id:N,kind:"worker",workerId:R,runId:D?.run_id??null,label:M.name})}else if(N.startsWith("shell:")){const R=N.slice(6),M=x.get(R);if(!M)continue;T.push({id:N,kind:"shell",runId:R,label:M.agent_name})}return T},[i,y,v,x]);b.useEffect(()=>{p.current&&l(T=>{const N=T.filter(R=>R.startsWith("worker:")?y.has(R.slice(7)):R.startsWith("shell:")?x.has(R.slice(6)):!1);return N.length===T.length?T:N})},[y,x]),b.useEffect(()=>{p.current&&(c&&C.some(T=>T.id===c)||d(C[0]?.id??null))},[c,C]);const A=b.useCallback(T=>{p.current=!0;const N=RA(T);l(R=>R.includes(N)?R:[...R,N]),d(N)},[]),k=b.useCallback(T=>{p.current=!0;const N=jA(T);l(R=>R.includes(N)?R:[...R,N]),d(N)},[]),S=b.useCallback(T=>{const N=h.current,R=N.filter(M=>M!==T);R.length!==N.length&&(l(R),d(M=>{if(M!==T)return M;const D=N.indexOf(T);return R[D]??R[D-1]??R[0]??null}))},[]),E=b.useCallback(T=>d(T),[]);return{tabs:C,activeId:c,openWorkerTab:A,openShellTab:k,closeTab:S,setActive:E}},dy=500,MA=2500,DA=5e3,LA=t=>t.status==="starting"||t.status==="running",zA=(t,a)=>t>0?Math.min(dy*2**t,DA):a.some(LA)?dy:MA,jb=t=>`${t}:orchestrator`,BA=(t,a)=>t.length!==a.length?!1:t.every((o,i)=>{const l=a[i];return l!==void 0&&o.agent_id===l.agent_id&&o.agent_name===l.agent_name&&o.run_id===l.run_id&&o.status===l.status&&o.terminal_input_profile===l.terminal_input_profile}),HA=t=>{const[a,o]=b.useState([]);return b.useEffect(()=>{if(!t){o([]);return}let i=!1,l=0,c=!1,d=[],h;const g=()=>{i||(h=window.setTimeout(p,zA(l,d)))},p=()=>{c||(c=!0,SE(t).then(y=>{i||(l=0,d=y,o(v=>BA(v,y)?v:y))}).catch(y=>{i||(l=Math.min(l+1,4),o(v=>v.length===0?v:[])),console.error("[hive] swallowed:terminalRuns.list",y)}).finally(()=>{c=!1,g()}))};return p(),()=>{i=!0,h!==void 0&&window.clearTimeout(h)}},[t]),a},UA=(t,a)=>t.find(o=>o.agent_id===jb(a)),WA=(t,a)=>t.find(o=>o.agent_id===a),qA=({onCloseFailed:t,onShellRunClosed:a,onShellRunStarted:o,panelTabs:i,shellRuns:l,workspaceId:c})=>{const[d,h]=b.useState(null),[g,p]=b.useState(null),[y,v]=b.useState(!1),x=b.useRef(new Map),C=b.useRef(0),A=b.useRef(new Map),k=b.useRef(new Map),S=b.useRef(new Set),E=b.useRef(c),N=(l.find(V=>V.run_id===g)??l[0]??null)?.run_id??null,R=b.useCallback((V,Q)=>{const X=A.current.get(V)??new Set;X.add(Q),A.current.set(V,X)},[]),M=b.useCallback((V,Q,X)=>{const $=k.current.get(V)??new Map;$.set(Q,X),k.current.set(V,$),X.finally(()=>{const O=k.current.get(V);O&&(O.delete(Q),O.size===0&&k.current.delete(V))}).catch(()=>{})},[]),D=b.useCallback((V,Q)=>{const X=A.current.get(V);X&&(X.delete(Q),X.size===0&&A.current.delete(V))},[]);b.useLayoutEffect(()=>{E.current=c},[c]),b.useEffect(()=>()=>{A.current.clear(),k.current.clear(),S.current.clear()},[]),b.useEffect(()=>{h(null),p(null),v(!1)},[c]),b.useEffect(()=>{if(!c)return;const V=A.current.get(c);if(!V)return;const Q=new Set(l.map($=>$.run_id)),X=k.current.get(c);for(const $ of Array.from(V))X?.has($)||Q.has($)||D(c,$)},[l,D,c]);const z=()=>{if(!c||x.current.has(c))return;const V=c,Q=C.current+1;C.current=Q,x.current.set(V,Q);const X=()=>E.current===V,$=()=>x.current.get(V)===Q;h(null),v(!0),yE(V).then(O=>{o?.(V,O),X()&&(p(O.run_id),i.openShellTab(O.run_id))}).catch(O=>{X()&&h(O instanceof Error?O.message:String(O))}).finally(()=>{$()&&x.current.delete(V),X()&&v(!1)})},K=()=>{if(!c||x.current.has(c)||S.current.has(c))return;const V=c,Q=Array.from(k.current.get(V)?.values()??[]);if(Q.length===0){z();return}S.current.add(V),h(null),v(!0),Promise.allSettled(Q).then(X=>{X.some($=>$.status==="rejected")||E.current===V&&(x.current.has(V)||z())}).finally(()=>{S.current.delete(V),E.current===V&&!x.current.has(V)&&v(!1)})};return{closeShellTab:V=>{if(!c)return;const Q=l.find($=>$.run_id!==V)??null;N===V&&p(Q?.run_id??null),a?.(c,V),R(c,V);const X=bE(c,V).catch($=>{throw D(c,V),t($ instanceof Error?$.message:String($)),$});M(c,V,X),X.catch(()=>{})},openShell:()=>{if(!c||x.current.has(c)||y)return;const V=i.tabs.find($=>$.kind==="shell");if(V){i.setActive(V.id);return}const Q=A.current.get(c)??new Set,X=l.find($=>!Q.has($.run_id));if(X){p(X.run_id),i.openShellTab(X.run_id);return}if(Q.size>0){K();return}z()},shellError:d,shellStarting:y,startNewShell:()=>{if(!c||x.current.has(c)||y)return;if((A.current.get(c)??new Set).size>0){K();return}z()}}},Ob="hive.split.orch-pct",ks=.3,Ss=.78,Tl=.6,fy=.02,Cl=(t,a,o)=>Math.min(o,Math.max(a,t)),IA=()=>{try{const t=localStorage.getItem(Ob);if(!t)return Tl;const a=Number.parseFloat(t);return Number.isFinite(a)?Cl(a,ks,Ss):Tl}catch{return Tl}},PA=()=>{const t=b.useRef(null),[a,o]=b.useState(()=>IA()),[i,l]=b.useState(!1);b.useEffect(()=>{try{localStorage.setItem(Ob,a.toFixed(4))}catch{}},[a]);const c=b.useCallback(h=>{h.preventDefault();const g=t.current;if(!g)return;l(!0);const p=document.body.style.userSelect,y=document.body.style.cursor;document.body.style.userSelect="none",document.body.style.cursor="col-resize";const v=C=>{const A=g.getBoundingClientRect();if(A.width<=0)return;const k=(C.clientX-A.left)/A.width;o(Cl(k,ks,Ss))},x=()=>{l(!1),document.body.style.userSelect=p,document.body.style.cursor=y,document.removeEventListener("pointermove",v),document.removeEventListener("pointerup",x),document.removeEventListener("pointercancel",x)};document.addEventListener("pointermove",v),document.addEventListener("pointerup",x),document.addEventListener("pointercancel",x)},[]),d=b.useCallback(h=>{h.key==="ArrowLeft"?(h.preventDefault(),o(g=>Cl(g-fy,ks,Ss))):h.key==="ArrowRight"?(h.preventDefault(),o(g=>Cl(g+fy,ks,Ss))):h.key==="Home"?(h.preventDefault(),o(ks)):h.key==="End"?(h.preventDefault(),o(Ss)):h.key==="Enter"&&(h.metaKey||h.ctrlKey)&&(h.preventDefault(),o(Tl))},[]);return{containerRef:t,orchPct:a,dragging:i,beginDrag:c,onKeyDown:d}},Is=({title:t,description:a,icon:o,action:i})=>f.jsxs("div",{className:"m-auto flex max-w-[380px] flex-col items-center gap-3 px-6 py-8 text-center","data-testid":"empty-state",children:[o?f.jsx("div",{"data-testid":"empty-state-icon","aria-hidden":!0,className:"flex h-12 w-12 items-center justify-center rounded text-sec",style:{background:"var(--bg-2)",border:"1px solid var(--border-bright)"},children:o}):null,f.jsx("div",{className:"text-lg font-semibold text-pri","data-testid":"empty-state-title",children:t}),f.jsx("div",{className:"text-sm text-ter","data-testid":"empty-state-description",children:a}),i]}),YA=()=>{const{t}=Ce();return f.jsx("div",{"data-testid":"orchestrator-starting-body",className:"flex flex-1",children:f.jsx(Is,{icon:f.jsx(bo,{size:24,className:"animate-spin"}),title:t("orchestrator.startingTitle"),description:t("orchestrator.startingDesc")})})},KA=({onStart:t})=>{const{t:a}=Ce();return f.jsx("div",{"data-testid":"orchestrator-stopped-body",className:"flex flex-1",children:f.jsx(Is,{icon:f.jsx(Zf,{size:24}),title:a("orchestrator.stoppedTitle"),description:a("orchestrator.stoppedDesc"),action:f.jsxs("button",{type:"button",onClick:t,className:"icon-btn icon-btn--primary","data-testid":"orchestrator-start",children:[f.jsx(Us,{size:12,"aria-hidden":!0})," ",a("orchestrator.start")]})})})},FA=({error:t,onRemoveWorkspace:a,onRestart:o})=>{const{t:i}=Ce(),[l,c]=b.useState(!1),d=()=>{navigator.clipboard?.writeText(t).then(()=>{c(!0),window.setTimeout(()=>c(!1),1500)}).catch(()=>{})};return f.jsxs("div",{"data-testid":"orchestrator-failed-body",className:"m-auto flex max-w-[480px] flex-col items-center gap-3 px-6 py-8",children:[f.jsx("div",{"aria-hidden":!0,className:"flex h-12 w-12 items-center justify-center rounded text-sec",style:{background:"var(--bg-2)",border:"1px solid var(--border-bright)"},children:f.jsx(Zf,{size:24})}),f.jsx("div",{className:"text-lg font-semibold text-pri",children:i("orchestrator.failed")}),f.jsxs("div",{className:"relative w-full",children:[f.jsx("pre",{"data-testid":"orchestrator-error-message",className:"mono w-full max-h-40 overflow-auto whitespace-pre-wrap break-all rounded p-3 text-left text-xs",style:{background:"color-mix(in oklab, var(--status-red) 8%, var(--bg-2))",border:"1px solid color-mix(in oklab, var(--status-red) 24%, transparent)",color:"var(--text-secondary)"},children:t}),f.jsx(lt,{label:i(l?"common.copied":"common.copyError"),children:f.jsx("button",{type:"button",onClick:d,"aria-label":i("orchestrator.copyErrorAria"),className:"icon-btn icon-btn--ghost absolute right-1 top-1 h-6 px-1.5","data-testid":"orchestrator-copy-error",children:f.jsx(Kk,{size:12,"aria-hidden":!0})})})]}),f.jsxs("div",{className:"flex items-center gap-3",children:[f.jsxs("button",{type:"button",onClick:o,className:"icon-btn icon-btn--primary","data-testid":"orchestrator-retry",children:[f.jsx(em,{size:12,"aria-hidden":!0})," ",i("common.retry")]}),f.jsx("button",{type:"button",onClick:a,className:"icon-btn icon-btn--danger","data-testid":"orchestrator-remove-workspace",children:i("orchestrator.removeWorkspace")})]}),f.jsx("span",{"data-testid":"orchestrator-retry-header",className:"sr-only",children:i("common.retry")})]})},VA=({state:t,onRemoveWorkspace:a,onRestart:o,onStart:i,onStop:l})=>{const{t:c}=Ce(),d=Bt();return f.jsx("div",{className:"relative flex h-full w-full min-w-0 flex-col",style:{background:"var(--bg-crust)",...d?{}:{borderRight:"1px solid var(--border)"}},"data-testid":"orchestrator-terminal-slot",children:t.kind==="running"?f.jsxs(f.Fragment,{children:[f.jsx("div",{id:`orch-pty-${t.runId}`,className:"orchestrator-pty-slot relative flex h-full w-full","data-pty-slot":"orchestrator",children:f.jsx("div",{className:"orchestrator-pty-placeholder pointer-events-none absolute inset-0 flex items-center justify-center px-4 text-center","data-testid":"orchestrator-running-placeholder",children:f.jsx("div",{className:"mono text-xs text-ter",children:c("terminal.statusConnecting")})})}),d?null:f.jsx(lt,{label:c("orchestrator.stop"),children:f.jsx("button",{type:"button",onClick:l,"aria-label":c("orchestrator.stop"),"data-testid":"orchestrator-stop",className:"icon-btn icon-btn--ghost absolute right-2 top-2 z-10 h-7 w-7 justify-center hover:text-status-red",style:{background:"var(--bg-2)",border:"1px solid var(--border)"},children:f.jsx(tm,{size:13,"aria-hidden":!0})})})]}):t.kind==="failed"?f.jsx(FA,{error:t.error,onRemoveWorkspace:a,onRestart:o}):t.kind==="stopped"?f.jsx(KA,{onStart:i}):f.jsx(YA,{})})},GA=({workspaceId:t,terminalRuns:a,autostartError:o,suppressAutostartRunId:i,onClearAutostartError:l,onAfterStart:c})=>{const d=UA(a,t),h=jb(t),[g,p]=b.useState(null),[y,v]=b.useState(null),[x,C]=b.useState(null),A=y?.workspaceId===t?y.runId:null,k=!!(x&&!d&&!A);b.useEffect(()=>{C(i??null)},[i]),b.useEffect(()=>{d&&(p(null),v(null),C(null))},[d]),b.useEffect(()=>{if(!x||d)return;const R=window.setTimeout(()=>C(null),1500);return()=>window.clearTimeout(R)},[x,d]),b.useEffect(()=>{if(!A||d)return;const R=window.setTimeout(()=>v(null),2e3);return()=>window.clearTimeout(R)},[A,d]);let S;d?S={kind:"running",runId:d.run_id}:A?S={kind:"running",runId:A}:g===t||k?S={kind:"starting"}:o?S={kind:"failed",error:o}:S={kind:"stopped"};const E=b.useCallback(()=>{!t||g===t||d||(l(),p(t),Ml(t,h).then(R=>{v({workspaceId:t,runId:R.runId}),c?.({ok:!0,error:null,run_id:R.runId})}).catch(R=>{const M=R instanceof Error?R.message:"Failed to start Queen";v(null),c?.({ok:!1,error:M,run_id:null})}).finally(()=>p(R=>R===t?null:R)))},[h,c,l,d,g,t]),T=b.useCallback(()=>{d&&Dl(d.run_id).catch(R=>{console.error("[hive] swallowed:orchestrator.stop",R)})},[d]),N=b.useCallback(()=>{if(l(),d){Dl(d.run_id).catch(R=>{console.error("[hive] swallowed:orchestrator.restart.stop",R)}).then(()=>Ml(t,h)).then(R=>{v({workspaceId:t,runId:R.runId}),c?.({ok:!0,error:null,run_id:R.runId})}).catch(R=>{const M=R instanceof Error?R.message:"Failed to restart Queen";c?.({ok:!1,error:M,run_id:null})});return}E()},[h,c,l,d,E,t]);return{state:S,start:E,stop:T,restart:N}},Mb=["ada-lovelace","archimedes","babbage","bell","da-vinci","edison","eiffel","euclid","euler","fermat","fibonacci","gutenberg","leibniz","marconi","morse","nobel","pascal","pythagoras","tesla","turing","watt","wright-brothers"],Db=["adam-smith","aquinas","aristotle","augustine","bacon","calvin","cicero","democritus","descartes","epicurus","hegel","herodotus","hobbes","hume","kant","kierkegaard","locke","luther","machiavelli","marcus-aurelius","montesquieu","nietzsche","plato","rousseau","seneca","socrates","spinoza","voltaire"],Lb=["amundsen","boyle","cook","copernicus","curie","da-gama","darwin","drake","faraday","fleming","galileo","halley","hippocrates","kepler","magellan","marco-polo","mendel","mendeleev","newton","pasteur","planck","ptolemy","rutherford","volta"],$A=["alexander","augustus","austen","bach","beethoven","brahms","byron","caesar","cervantes","charlemagne","chopin","cleopatra","dante","dickens","dostoevsky","dumas","einstein","elizabeth-i","franklin","goethe","goya","handel","hannibal","henry-viii","homer","hugo","jefferson","joan-of-arc","keats","leonidas","lincoln","liszt","louis-xiv","michelangelo","milton","monet","mozart","napoleon","nightingale","orwell","picasso","poe","raphael","rembrandt","schubert","shakespeare","sophocles","tchaikovsky","titian","tolstoy","twain","van-gogh","velazquez","verdi","vermeer","virgil","vivaldi","wagner","washington","whitman","wilde","woolf","wordsworth"],zb=["八大山人","毕昇","蔡伦","干将","顾恺之","黄道婆","李冰","柳公权","鲁班","莫邪","墨子","沈括","宋应星","唐寅","王羲之","文徵明","吴道子","颜真卿","张衡","张择端","郑板桥","祖冲之"],Bb=["班固","包拯","狄仁杰","董仲舒","范仲淹","顾炎武","管仲","海瑞","韩非","韩愈","嵇康","贾谊","孔子","老子","林则徐","柳宗元","孟子","欧阳修","商鞅","司马光","司马迁","谭嗣同","王安石","王守仁","魏徵","荀子","张居正","周敦颐","朱熹","庄子"],Hb=["班超","扁鹊","法显","葛洪","华佗","鉴真","郦道元","李时珍","神农","苏武","孙思邈","陶弘景","徐光启","徐霞客","玄奘","张骞","张仲景","郑和"],XA=["白居易","蔡文姬","曹操","曹雪芹","曹植","程咬金","大禹","杜甫","杜牧","范蠡","关羽","汉武帝","韩信","忽必烈","花木兰","黄帝","霍去病","姜子牙","康熙","李白","李广","李靖","李清照","李煜","刘邦","刘备","刘伯温","柳永","陆游","罗贯中","吕布","吕不韦","孟浩然","蒙恬","努尔哈赤","庞统","蒲松龄","戚继光","乾隆","秦始皇","屈原","上官婉儿","施耐庵","司马懿","苏轼","孙膑","孙权","孙武","孙中山","唐太宗","唐玄宗","陶渊明","王维","卫青","文天祥","吴承恩","吴起","萧何","谢安","辛弃疾","杨贵妃","雍正","虞姬","岳飞","张飞","张良","张仪","赵子龙","周瑜","朱棣","诸葛亮","朱元璋","左宗棠"],ZA=[...Mb,...Db,...Lb,...$A],QA=[...zb,...Bb,...Hb,...XA],JA={en:{coder:Mb,reviewer:Db,tester:Lb,custom:ZA},zh:{coder:zb,reviewer:Bb,tester:Hb,custom:QA}},e3=()=>{const t=new Uint32Array(1);return globalThis.crypto.getRandomValues(t),t[0]??0},Kd=({language:t="en",role:a="coder",usedNames:o,nextUint32:i=e3}={})=>{const l=JA[t][a],c=o&&o.size>0?l.filter(h=>!o.has(h)):l,d=c.length>0?c:l;return d[i()%d.length]},Cs={en:{coder:["You are a Coder. Turn clearly scoped tasks into the smallest correct code change.","Working style:","- Read the relevant files and local patterns before editing.","- Prefer small changes; avoid unrelated refactors and scope creep.","- Run validation that covers the risk. If you cannot validate, explain why.","Report changed files, verification, remaining risk, and blockers."].join(`
|
|
11
|
+
`),custom:["You are a custom team member. Rewrite this into the member's operating contract.","Recommended shape:","- Goal: what this member owns.","- Boundaries: what to do and what to avoid.","- Working style: how to inspect, edit, verify, or review.","- Done means: what results, risks, and blockers to report."].join(`
|
|
12
|
+
`),reviewer:["You are a Reviewer. Focus on quality review; do not replace the Orchestrator or edit by default.","Working style:","- Prioritize real bugs, regressions, edge cases, and test gaps.","- For each issue, include severity, file/line, trigger condition, and minimal fix.","- If no high-risk issue exists, state residual risk and unverified scope.","Report blocking issues first, ordered by severity."].join(`
|
|
13
|
+
`),tester:["You are a Tester. Reproduce, test, and produce concrete verification evidence.","Working style:","- Clarify the behavior, entry point, and failure condition under test.","- Prefer real commands or real paths. Add a minimal test when useful.","- Record commands, results, key output, and uncovered scenarios.","Report pass/fail/unverified separately, then suggest the next step."].join(`
|
|
14
|
+
`)},zh:{coder:["你是实现型 Coder,负责把明确任务落成最小正确代码改动。","工作方式:","- 先阅读相关文件和现有模式,再动手。","- 优先小步修改,避免无关重构和范围扩张。","- 改动后运行能覆盖风险的验证命令;不能验证时说明原因。","交付说明要包含:改动文件、验证结果、剩余风险或阻塞。"].join(`
|
|
15
|
+
`),custom:["你是自定义成员。请把这段改成该成员的行为契约。","建议包含:","- 目标:这个成员主要负责什么。","- 边界:哪些事可以做,哪些事不要做。","- 工作方式:如何调查、修改、验证或审查。","- 完成标准:交付时需要说明哪些结果、风险和阻塞。"].join(`
|
|
16
|
+
`),reviewer:["你是监工型 Reviewer,负责质量审查,不替代 Orchestrator,也不默认改代码。","工作方式:","- 优先找真实 bug、回归风险、边界条件和测试缺口。","- 发现问题时给出严重度、文件/行号、触发条件和最小修复建议。","- 没有高风险问题时明确说清剩余风险和未验证范围。","交付说明按严重度排序,先列 blocking 问题。"].join(`
|
|
17
|
+
`),tester:["你是验证型 Tester,负责复现、测试和证据化验证。","工作方式:","- 先明确要验证的行为、入口和失败条件。","- 优先跑真实命令或真实链路;必要时补充最小测试。","- 记录命令、结果、关键输出和不能覆盖的场景。","交付说明要区分通过、失败、未验证和建议下一步。"].join(`
|
|
18
|
+
`)}},Fd=(t,a,o)=>o==="zh"?a.find(i=>i.roleType===t)?.description??Cs.zh[t]:Cs.en[t],t3=({createWorker:t,open:a,workers:o})=>{const{language:i}=Ce(),[l,c]=b.useState(""),[d,h]=b.useState("coder"),[g,p]=b.useState([]),[y,v]=b.useState(null),[x,C]=b.useState(!1),[A,k]=b.useState(null),[S,E]=b.useState(Cs[i].coder),[T,N]=b.useState([]),[R,M]=b.useState("claude"),[D,z]=b.useState(""),[K,P]=b.useState(null),[ne,ee]=b.useState(!1),V=b.useRef(!1),Q=b.useRef(!1),X=b.useRef(!1),$=Fd(d,g,i),O=b.useMemo(()=>g.filter(de=>!de.isBuiltin),[g]);b.useEffect(()=>{if(!a)return;let de=!1;return gE().then(me=>{de||(N(me),M(Te=>me.some(Ee=>Ee.id===Te&&Ee.available)?Te:me.find(Ee=>Ee.id==="claude"&&Ee.available)?.id??me.find(Ee=>Ee.available)?.id??me[0]?.id??""))}).catch(me=>{de||P(me instanceof Error?me.message:String(me))}),()=>{de=!0}},[a]),b.useEffect(()=>{if(!a)return;let de=!1;return wE().then(me=>{de||p(me)}).catch(me=>{de||P(me instanceof Error?me.message:String(me))}),()=>{de=!0}},[a]),b.useEffect(()=>{y===null&&(Q.current||E(Fd(d,g,i)))},[i,g,d,y]);const I=de=>{Q.current=!0,E(de)},U=de=>{V.current=!1,c(de)},q=b.useMemo(()=>new Set(o.map(de=>de.name)),[o]),Z=b.useRef(q);Z.current=q;const j=()=>{V.current=!0,c(Kd({language:i,role:d,usedNames:q}))};b.useEffect(()=>{const de=a&&!X.current;if(X.current=a,!!a){if(de){V.current=!0,c(Kd({language:i,role:d,usedNames:Z.current}));return}V.current&&c(Kd({language:i,role:d,usedNames:Z.current}))}},[a,i,d]);const H=de=>{h(de),v(null),Q.current=!1,E(Fd(de,g,i))};return{commandPresets:T,commandPresetId:R,createWorkerError:K,creating:ne,customTemplates:O,roleDescription:S,roleDescriptionDefault:$,selectedTemplateId:y,startupCommand:D,templateBusy:x,templateError:A,workerName:l,workerRole:d,setCommandPresetId:de=>{M(de)},setRoleDescription:I,setStartupCommand:z,setWorkerName:U,setWorkerRole:H,selectTemplate:de=>{if(de===null){h("custom"),v(null),Q.current=!1,E(Cs[i].custom);return}const me=g.find(Te=>Te.id===de);!me||me.isBuiltin||(h("custom"),v(de),Q.current=!1,E(me.description))},saveAsTemplate:async de=>{const me=de.trim(),Te=S.trim();if(!(!me||!Te)){C(!0),k(null);try{const Ee=await xE({name:me,roleType:"custom",description:Te});p(xe=>[...xe,Ee]),v(Ee.id),h("custom"),Q.current=!1,E(Ee.description)}catch(Ee){throw k(Ee instanceof Error?Ee.message:String(Ee)),Ee}finally{C(!1)}}},deleteTemplate:async de=>{const me=g.find(Te=>Te.id===de);if(!(!me||me.isBuiltin)){C(!0),k(null);try{await kE(de),p(Te=>Te.filter(Ee=>Ee.id!==de)),y===de&&(v(null),Q.current=!1,E(Cs[i].custom))}catch(Te){throw k(Te instanceof Error?Te.message:String(Te)),Te}finally{C(!1)}}},randomizeWorkerName:j,resetRoleDescription:()=>{Q.current=!1,E($)},resetError:()=>P(null),applyMarketplaceImport:({name:de,description:me})=>{V.current=!1,c(de),v(null),h("custom"),Q.current=!0,E(me)},submit:(de,me)=>{de.preventDefault(),ee(!0),P(null),t({commandPresetId:R,name:l,role:d,roleDescription:S,startupCommand:D}).then(({error:Te})=>{c(""),V.current=!1,H("coder"),v(null),M("claude"),z(""),me(),Te&&P(Te)}).catch(Te=>{P(Te instanceof Error?Te.message:String(Te))}).finally(()=>ee(!1))}}},n3=[{icon:f.jsx(b0,{size:16}),titleKey:"welcome.step1Title",descriptionKey:"welcome.step1Desc"},{icon:f.jsx(k0,{size:16}),titleKey:"welcome.step2Title",descriptionKey:"welcome.step2Desc"},{icon:f.jsx(yS,{size:16}),titleKey:"welcome.step3Title",descriptionKey:"welcome.step3Desc"}],a3=({onAddWorkspace:t,onTryDemo:a,heroImageSrc:o,disabledReason:i})=>{const{t:l}=Ce(),c=!!i;return f.jsxs("div",{"data-testid":"welcome-pane",className:"m-auto flex w-full flex-col items-center gap-6 px-6 py-12 text-center",style:{maxWidth:"540px"},children:[o?f.jsx("img",{src:o,alt:"",className:"h-24 w-24","aria-hidden":!0}):null,f.jsxs("div",{className:"space-y-2",children:[f.jsx("div",{className:"text-2xl font-semibold text-pri",children:l("welcome.title")}),f.jsx("div",{className:"text-sm text-sec",children:l("welcome.desc")})]}),f.jsx("ol",{className:"grid w-full grid-cols-1 gap-3 text-left md:grid-cols-3",children:n3.map((d,h)=>f.jsxs("li",{className:"rounded border bg-1 p-3",style:{borderColor:"var(--border)"},children:[f.jsxs("div",{className:"mb-1 flex items-center gap-2 text-pri",children:[f.jsx("span",{className:"font-medium text-xs text-ter",children:h+1}),d.icon]}),f.jsx("div",{className:"text-xs font-medium text-pri",children:l(d.titleKey)}),f.jsx("div",{className:"mt-1 text-xs text-ter",children:l(d.descriptionKey)})]},d.titleKey))}),c?f.jsxs("div",{role:"alert","data-testid":"welcome-pane-disabled-reason",className:"flex items-start gap-2 rounded px-3 py-2 text-left text-xs",style:{background:"color-mix(in oklab, var(--status-red) 10%, transparent)",border:"1px solid color-mix(in oklab, var(--status-red) 28%, transparent)",color:"var(--status-red)"},children:[f.jsx(am,{size:14,className:"mt-0.5 shrink-0","aria-hidden":!0}),f.jsx("span",{className:"break-words",children:i})]}):null,f.jsxs("button",{type:"button",disabled:c,onClick:c?void 0:t,"aria-disabled":c||void 0,title:i,className:"icon-btn icon-btn--primary inline-flex items-center gap-2 disabled:cursor-not-allowed disabled:opacity-50","data-testid":"welcome-pane-add",children:[f.jsx("span",{children:l("welcome.addWorkspace")}),f.jsx(xk,{size:14,"aria-hidden":!0})]}),a?f.jsx("button",{type:"button",onClick:a,className:"text-xs text-sec underline hover:text-pri",children:l("welcome.demo")}):null]})};var Vd="focusScope.autoFocusOnMount",Gd="focusScope.autoFocusOnUnmount",my={bubbles:!1,cancelable:!0},r3="FocusScope",Ub=b.forwardRef((t,a)=>{const{loop:o=!1,trapped:i=!1,onMountAutoFocus:l,onUnmountAutoFocus:c,...d}=t,[h,g]=b.useState(null),p=po(l),y=po(c),v=b.useRef(null),x=wn(a,k=>g(k)),C=b.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;b.useEffect(()=>{if(i){let k=function(N){if(C.paused||!h)return;const R=N.target;h.contains(R)?v.current=R:Da(v.current,{select:!0})},S=function(N){if(C.paused||!h)return;const R=N.relatedTarget;R!==null&&(h.contains(R)||Da(v.current,{select:!0}))},E=function(N){if(document.activeElement===document.body)for(const M of N)M.removedNodes.length>0&&Da(h)};document.addEventListener("focusin",k),document.addEventListener("focusout",S);const T=new MutationObserver(E);return h&&T.observe(h,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",k),document.removeEventListener("focusout",S),T.disconnect()}}},[i,h,C.paused]),b.useEffect(()=>{if(h){hy.add(C);const k=document.activeElement;if(!h.contains(k)){const E=new CustomEvent(Vd,my);h.addEventListener(Vd,p),h.dispatchEvent(E),E.defaultPrevented||(o3(u3(Wb(h)),{select:!0}),document.activeElement===k&&Da(h))}return()=>{h.removeEventListener(Vd,p),setTimeout(()=>{const E=new CustomEvent(Gd,my);h.addEventListener(Gd,y),h.dispatchEvent(E),E.defaultPrevented||Da(k??document.body,{select:!0}),h.removeEventListener(Gd,y),hy.remove(C)},0)}}},[h,p,y,C]);const A=b.useCallback(k=>{if(!o&&!i||C.paused)return;const S=k.key==="Tab"&&!k.altKey&&!k.ctrlKey&&!k.metaKey,E=document.activeElement;if(S&&E){const T=k.currentTarget,[N,R]=s3(T);N&&R?!k.shiftKey&&E===R?(k.preventDefault(),o&&Da(N,{select:!0})):k.shiftKey&&E===N&&(k.preventDefault(),o&&Da(R,{select:!0})):E===T&&k.preventDefault()}},[o,i,C.paused]);return f.jsx(Ht.div,{tabIndex:-1,...d,ref:x,onKeyDown:A})});Ub.displayName=r3;function o3(t,{select:a=!1}={}){const o=document.activeElement;for(const i of t)if(Da(i,{select:a}),document.activeElement!==o)return}function s3(t){const a=Wb(t),o=py(a,t),i=py(a.reverse(),t);return[o,i]}function Wb(t){const a=[],o=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:i=>{const l=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||l?NodeFilter.FILTER_SKIP:i.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;o.nextNode();)a.push(o.currentNode);return a}function py(t,a){for(const o of t)if(!i3(o,{upTo:a}))return o}function i3(t,{upTo:a}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(a!==void 0&&t===a)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}function l3(t){return t instanceof HTMLInputElement&&"select"in t}function Da(t,{select:a=!1}={}){if(t&&t.focus){const o=document.activeElement;t.focus({preventScroll:!0}),t!==o&&l3(t)&&a&&t.select()}}var hy=c3();function c3(){let t=[];return{add(a){const o=t[0];a!==o&&o?.pause(),t=gy(t,a),t.unshift(a)},remove(a){t=gy(t,a),t[0]?.resume()}}}function gy(t,a){const o=[...t],i=o.indexOf(a);return i!==-1&&o.splice(i,1),o}function u3(t){return t.filter(a=>a.tagName!=="A")}var $d=0;function d3(){b.useEffect(()=>{const t=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",t[0]??vy()),document.body.insertAdjacentElement("beforeend",t[1]??vy()),$d++,()=>{$d===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(a=>a.remove()),$d--}},[])}function vy(){const t=document.createElement("span");return t.setAttribute("data-radix-focus-guard",""),t.tabIndex=0,t.style.outline="none",t.style.opacity="0",t.style.position="fixed",t.style.pointerEvents="none",t}var _n=function(){return _n=Object.assign||function(a){for(var o,i=1,l=arguments.length;i<l;i++){o=arguments[i];for(var c in o)Object.prototype.hasOwnProperty.call(o,c)&&(a[c]=o[c])}return a},_n.apply(this,arguments)};function qb(t,a){var o={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&a.indexOf(i)<0&&(o[i]=t[i]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var l=0,i=Object.getOwnPropertySymbols(t);l<i.length;l++)a.indexOf(i[l])<0&&Object.prototype.propertyIsEnumerable.call(t,i[l])&&(o[i[l]]=t[i[l]]);return o}function f3(t,a,o){if(o||arguments.length===2)for(var i=0,l=a.length,c;i<l;i++)(c||!(i in a))&&(c||(c=Array.prototype.slice.call(a,0,i)),c[i]=a[i]);return t.concat(c||Array.prototype.slice.call(a))}var Al="right-scroll-bar-position",_l="width-before-scroll-bar",m3="with-scroll-bars-hidden",p3="--removed-body-scroll-bar-size";function Xd(t,a){return typeof t=="function"?t(a):t&&(t.current=a),t}function h3(t,a){var o=b.useState(function(){return{value:t,callback:a,facade:{get current(){return o.value},set current(i){var l=o.value;l!==i&&(o.value=i,o.callback(i,l))}}}})[0];return o.callback=a,o.facade}var g3=typeof window<"u"?b.useLayoutEffect:b.useEffect,yy=new WeakMap;function v3(t,a){var o=h3(null,function(i){return t.forEach(function(l){return Xd(l,i)})});return g3(function(){var i=yy.get(o);if(i){var l=new Set(i),c=new Set(t),d=o.current;l.forEach(function(h){c.has(h)||Xd(h,null)}),c.forEach(function(h){l.has(h)||Xd(h,d)})}yy.set(o,t)},[t]),o}function y3(t){return t}function b3(t,a){a===void 0&&(a=y3);var o=[],i=!1,l={read:function(){if(i)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return o.length?o[o.length-1]:t},useMedium:function(c){var d=a(c,i);return o.push(d),function(){o=o.filter(function(h){return h!==d})}},assignSyncMedium:function(c){for(i=!0;o.length;){var d=o;o=[],d.forEach(c)}o={push:function(h){return c(h)},filter:function(){return o}}},assignMedium:function(c){i=!0;var d=[];if(o.length){var h=o;o=[],h.forEach(c),d=o}var g=function(){var y=d;d=[],y.forEach(c)},p=function(){return Promise.resolve().then(g)};p(),o={push:function(y){d.push(y),p()},filter:function(y){return d=d.filter(y),o}}}};return l}function w3(t){t===void 0&&(t={});var a=b3(null);return a.options=_n({async:!0,ssr:!1},t),a}var Ib=function(t){var a=t.sideCar,o=qb(t,["sideCar"]);if(!a)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var i=a.read();if(!i)throw new Error("Sidecar medium not found");return b.createElement(i,_n({},o))};Ib.isSideCarExport=!0;function x3(t,a){return t.useMedium(a),Ib}var Pb=w3(),Zd=function(){},sc=b.forwardRef(function(t,a){var o=b.useRef(null),i=b.useState({onScrollCapture:Zd,onWheelCapture:Zd,onTouchMoveCapture:Zd}),l=i[0],c=i[1],d=t.forwardProps,h=t.children,g=t.className,p=t.removeScrollBar,y=t.enabled,v=t.shards,x=t.sideCar,C=t.noRelative,A=t.noIsolation,k=t.inert,S=t.allowPinchZoom,E=t.as,T=E===void 0?"div":E,N=t.gapMode,R=qb(t,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),M=x,D=v3([o,a]),z=_n(_n({},R),l);return b.createElement(b.Fragment,null,y&&b.createElement(M,{sideCar:Pb,removeScrollBar:p,shards:v,noRelative:C,noIsolation:A,inert:k,setCallbacks:c,allowPinchZoom:!!S,lockRef:o,gapMode:N}),d?b.cloneElement(b.Children.only(h),_n(_n({},z),{ref:D})):b.createElement(T,_n({},z,{className:g,ref:D}),h))});sc.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};sc.classNames={fullWidth:_l,zeroRight:Al};var k3=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function S3(){if(!document)return null;var t=document.createElement("style");t.type="text/css";var a=k3();return a&&t.setAttribute("nonce",a),t}function E3(t,a){t.styleSheet?t.styleSheet.cssText=a:t.appendChild(document.createTextNode(a))}function T3(t){var a=document.head||document.getElementsByTagName("head")[0];a.appendChild(t)}var C3=function(){var t=0,a=null;return{add:function(o){t==0&&(a=S3())&&(E3(a,o),T3(a)),t++},remove:function(){t--,!t&&a&&(a.parentNode&&a.parentNode.removeChild(a),a=null)}}},A3=function(){var t=C3();return function(a,o){b.useEffect(function(){return t.add(a),function(){t.remove()}},[a&&o])}},Yb=function(){var t=A3(),a=function(o){var i=o.styles,l=o.dynamic;return t(i,l),null};return a},_3={left:0,top:0,right:0,gap:0},Qd=function(t){return parseInt(t||"",10)||0},N3=function(t){var a=window.getComputedStyle(document.body),o=a[t==="padding"?"paddingLeft":"marginLeft"],i=a[t==="padding"?"paddingTop":"marginTop"],l=a[t==="padding"?"paddingRight":"marginRight"];return[Qd(o),Qd(i),Qd(l)]},R3=function(t){if(t===void 0&&(t="margin"),typeof window>"u")return _3;var a=N3(t),o=document.documentElement.clientWidth,i=window.innerWidth;return{left:a[0],top:a[1],right:a[2],gap:Math.max(0,i-o+a[2]-a[0])}},j3=Yb(),lo="data-scroll-locked",O3=function(t,a,o,i){var l=t.left,c=t.top,d=t.right,h=t.gap;return o===void 0&&(o="margin"),`
|
|
19
|
+
.`.concat(m3,` {
|
|
20
|
+
overflow: hidden `).concat(i,`;
|
|
21
|
+
padding-right: `).concat(h,"px ").concat(i,`;
|
|
22
|
+
}
|
|
23
|
+
body[`).concat(lo,`] {
|
|
24
|
+
overflow: hidden `).concat(i,`;
|
|
25
|
+
overscroll-behavior: contain;
|
|
26
|
+
`).concat([a&&"position: relative ".concat(i,";"),o==="margin"&&`
|
|
27
|
+
padding-left: `.concat(l,`px;
|
|
28
|
+
padding-top: `).concat(c,`px;
|
|
29
|
+
padding-right: `).concat(d,`px;
|
|
30
|
+
margin-left:0;
|
|
31
|
+
margin-top:0;
|
|
32
|
+
margin-right: `).concat(h,"px ").concat(i,`;
|
|
33
|
+
`),o==="padding"&&"padding-right: ".concat(h,"px ").concat(i,";")].filter(Boolean).join(""),`
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.`).concat(Al,` {
|
|
37
|
+
right: `).concat(h,"px ").concat(i,`;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.`).concat(_l,` {
|
|
41
|
+
margin-right: `).concat(h,"px ").concat(i,`;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.`).concat(Al," .").concat(Al,` {
|
|
45
|
+
right: 0 `).concat(i,`;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.`).concat(_l," .").concat(_l,` {
|
|
49
|
+
margin-right: 0 `).concat(i,`;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
body[`).concat(lo,`] {
|
|
53
|
+
`).concat(p3,": ").concat(h,`px;
|
|
54
|
+
}
|
|
55
|
+
`)},by=function(){var t=parseInt(document.body.getAttribute(lo)||"0",10);return isFinite(t)?t:0},M3=function(){b.useEffect(function(){return document.body.setAttribute(lo,(by()+1).toString()),function(){var t=by()-1;t<=0?document.body.removeAttribute(lo):document.body.setAttribute(lo,t.toString())}},[])},D3=function(t){var a=t.noRelative,o=t.noImportant,i=t.gapMode,l=i===void 0?"margin":i;M3();var c=b.useMemo(function(){return R3(l)},[l]);return b.createElement(j3,{styles:O3(c,!a,l,o?"":"!important")})},Cf=!1;if(typeof window<"u")try{var gl=Object.defineProperty({},"passive",{get:function(){return Cf=!0,!0}});window.addEventListener("test",gl,gl),window.removeEventListener("test",gl,gl)}catch{Cf=!1}var no=Cf?{passive:!1}:!1,L3=function(t){return t.tagName==="TEXTAREA"},Kb=function(t,a){if(!(t instanceof Element))return!1;var o=window.getComputedStyle(t);return o[a]!=="hidden"&&!(o.overflowY===o.overflowX&&!L3(t)&&o[a]==="visible")},z3=function(t){return Kb(t,"overflowY")},B3=function(t){return Kb(t,"overflowX")},wy=function(t,a){var o=a.ownerDocument,i=a;do{typeof ShadowRoot<"u"&&i instanceof ShadowRoot&&(i=i.host);var l=Fb(t,i);if(l){var c=Vb(t,i),d=c[1],h=c[2];if(d>h)return!0}i=i.parentNode}while(i&&i!==o.body);return!1},H3=function(t){var a=t.scrollTop,o=t.scrollHeight,i=t.clientHeight;return[a,o,i]},U3=function(t){var a=t.scrollLeft,o=t.scrollWidth,i=t.clientWidth;return[a,o,i]},Fb=function(t,a){return t==="v"?z3(a):B3(a)},Vb=function(t,a){return t==="v"?H3(a):U3(a)},W3=function(t,a){return t==="h"&&a==="rtl"?-1:1},q3=function(t,a,o,i,l){var c=W3(t,window.getComputedStyle(a).direction),d=c*i,h=o.target,g=a.contains(h),p=!1,y=d>0,v=0,x=0;do{if(!h)break;var C=Vb(t,h),A=C[0],k=C[1],S=C[2],E=k-S-c*A;(A||E)&&Fb(t,h)&&(v+=E,x+=A);var T=h.parentNode;h=T&&T.nodeType===Node.DOCUMENT_FRAGMENT_NODE?T.host:T}while(!g&&h!==document.body||g&&(a.contains(h)||a===h));return(y&&Math.abs(v)<1||!y&&Math.abs(x)<1)&&(p=!0),p},vl=function(t){return"changedTouches"in t?[t.changedTouches[0].clientX,t.changedTouches[0].clientY]:[0,0]},xy=function(t){return[t.deltaX,t.deltaY]},ky=function(t){return t&&"current"in t?t.current:t},I3=function(t,a){return t[0]===a[0]&&t[1]===a[1]},P3=function(t){return`
|
|
56
|
+
.block-interactivity-`.concat(t,` {pointer-events: none;}
|
|
57
|
+
.allow-interactivity-`).concat(t,` {pointer-events: all;}
|
|
58
|
+
`)},Y3=0,ao=[];function K3(t){var a=b.useRef([]),o=b.useRef([0,0]),i=b.useRef(),l=b.useState(Y3++)[0],c=b.useState(Yb)[0],d=b.useRef(t);b.useEffect(function(){d.current=t},[t]),b.useEffect(function(){if(t.inert){document.body.classList.add("block-interactivity-".concat(l));var k=f3([t.lockRef.current],(t.shards||[]).map(ky),!0).filter(Boolean);return k.forEach(function(S){return S.classList.add("allow-interactivity-".concat(l))}),function(){document.body.classList.remove("block-interactivity-".concat(l)),k.forEach(function(S){return S.classList.remove("allow-interactivity-".concat(l))})}}},[t.inert,t.lockRef.current,t.shards]);var h=b.useCallback(function(k,S){if("touches"in k&&k.touches.length===2||k.type==="wheel"&&k.ctrlKey)return!d.current.allowPinchZoom;var E=vl(k),T=o.current,N="deltaX"in k?k.deltaX:T[0]-E[0],R="deltaY"in k?k.deltaY:T[1]-E[1],M,D=k.target,z=Math.abs(N)>Math.abs(R)?"h":"v";if("touches"in k&&z==="h"&&D.type==="range")return!1;var K=window.getSelection(),P=K&&K.anchorNode,ne=P?P===D||P.contains(D):!1;if(ne)return!1;var ee=wy(z,D);if(!ee)return!0;if(ee?M=z:(M=z==="v"?"h":"v",ee=wy(z,D)),!ee)return!1;if(!i.current&&"changedTouches"in k&&(N||R)&&(i.current=M),!M)return!0;var V=i.current||M;return q3(V,S,k,V==="h"?N:R)},[]),g=b.useCallback(function(k){var S=k;if(!(!ao.length||ao[ao.length-1]!==c)){var E="deltaY"in S?xy(S):vl(S),T=a.current.filter(function(M){return M.name===S.type&&(M.target===S.target||S.target===M.shadowParent)&&I3(M.delta,E)})[0];if(T&&T.should){S.cancelable&&S.preventDefault();return}if(!T){var N=(d.current.shards||[]).map(ky).filter(Boolean).filter(function(M){return M.contains(S.target)}),R=N.length>0?h(S,N[0]):!d.current.noIsolation;R&&S.cancelable&&S.preventDefault()}}},[]),p=b.useCallback(function(k,S,E,T){var N={name:k,delta:S,target:E,should:T,shadowParent:F3(E)};a.current.push(N),setTimeout(function(){a.current=a.current.filter(function(R){return R!==N})},1)},[]),y=b.useCallback(function(k){o.current=vl(k),i.current=void 0},[]),v=b.useCallback(function(k){p(k.type,xy(k),k.target,h(k,t.lockRef.current))},[]),x=b.useCallback(function(k){p(k.type,vl(k),k.target,h(k,t.lockRef.current))},[]);b.useEffect(function(){return ao.push(c),t.setCallbacks({onScrollCapture:v,onWheelCapture:v,onTouchMoveCapture:x}),document.addEventListener("wheel",g,no),document.addEventListener("touchmove",g,no),document.addEventListener("touchstart",y,no),function(){ao=ao.filter(function(k){return k!==c}),document.removeEventListener("wheel",g,no),document.removeEventListener("touchmove",g,no),document.removeEventListener("touchstart",y,no)}},[]);var C=t.removeScrollBar,A=t.inert;return b.createElement(b.Fragment,null,A?b.createElement(c,{styles:P3(l)}):null,C?b.createElement(D3,{noRelative:t.noRelative,gapMode:t.gapMode}):null)}function F3(t){for(var a=null;t!==null;)t instanceof ShadowRoot&&(a=t.host,t=t.host),t=t.parentNode;return a}const V3=x3(Pb,K3);var Gb=b.forwardRef(function(t,a){return b.createElement(sc,_n({},t,{ref:a,sideCar:V3}))});Gb.classNames=sc.classNames;var G3=function(t){if(typeof document>"u")return null;var a=Array.isArray(t)?t[0]:t;return a.ownerDocument.body},ro=new WeakMap,yl=new WeakMap,bl={},Jd=0,$b=function(t){return t&&(t.host||$b(t.parentNode))},$3=function(t,a){return a.map(function(o){if(t.contains(o))return o;var i=$b(o);return i&&t.contains(i)?i:(console.error("aria-hidden",o,"in not contained inside",t,". Doing nothing"),null)}).filter(function(o){return!!o})},X3=function(t,a,o,i){var l=$3(a,Array.isArray(t)?t:[t]);bl[o]||(bl[o]=new WeakMap);var c=bl[o],d=[],h=new Set,g=new Set(l),p=function(v){!v||h.has(v)||(h.add(v),p(v.parentNode))};l.forEach(p);var y=function(v){!v||g.has(v)||Array.prototype.forEach.call(v.children,function(x){if(h.has(x))y(x);else try{var C=x.getAttribute(i),A=C!==null&&C!=="false",k=(ro.get(x)||0)+1,S=(c.get(x)||0)+1;ro.set(x,k),c.set(x,S),d.push(x),k===1&&A&&yl.set(x,!0),S===1&&x.setAttribute(o,"true"),A||x.setAttribute(i,"true")}catch(E){console.error("aria-hidden: cannot operate on ",x,E)}})};return y(a),h.clear(),Jd++,function(){d.forEach(function(v){var x=ro.get(v)-1,C=c.get(v)-1;ro.set(v,x),c.set(v,C),x||(yl.has(v)||v.removeAttribute(i),yl.delete(v)),C||v.removeAttribute(o)}),Jd--,Jd||(ro=new WeakMap,ro=new WeakMap,yl=new WeakMap,bl={})}},Z3=function(t,a,o){o===void 0&&(o="data-aria-hidden");var i=Array.from(Array.isArray(t)?t:[t]),l=G3(t);return l?(i.push.apply(i,Array.from(l.querySelectorAll("[aria-live], script"))),X3(i,l,o,"aria-hidden")):function(){return null}},ic="Dialog",[Xb]=sm(ic),[Q3,xn]=Xb(ic),Zb=t=>{const{__scopeDialog:a,children:o,open:i,defaultOpen:l,onOpenChange:c,modal:d=!0}=t,h=b.useRef(null),g=b.useRef(null),[p,y]=yb({prop:i,defaultProp:l??!1,onChange:c,caller:ic});return f.jsx(Q3,{scope:a,triggerRef:h,contentRef:g,contentId:Sl(),titleId:Sl(),descriptionId:Sl(),open:p,onOpenChange:y,onOpenToggle:b.useCallback(()=>y(v=>!v),[y]),modal:d,children:o})};Zb.displayName=ic;var Qb="DialogTrigger",Jb=b.forwardRef((t,a)=>{const{__scopeDialog:o,...i}=t,l=xn(Qb,o),c=wn(a,l.triggerRef);return f.jsx(Ht.button,{type:"button","aria-haspopup":"dialog","aria-expanded":l.open,"aria-controls":l.contentId,"data-state":xm(l.open),...i,ref:c,onClick:Dt(t.onClick,l.onOpenToggle)})});Jb.displayName=Qb;var bm="DialogPortal",[J3,ew]=Xb(bm,{forceMount:void 0}),tw=t=>{const{__scopeDialog:a,forceMount:o,children:i,container:l}=t,c=xn(bm,a);return f.jsx(J3,{scope:a,forceMount:o,children:b.Children.map(i,d=>f.jsx(ko,{present:o||c.open,children:f.jsx(gm,{asChild:!0,container:l,children:d})}))})};tw.displayName=bm;var Wl="DialogOverlay",nw=b.forwardRef((t,a)=>{const o=ew(Wl,t.__scopeDialog),{forceMount:i=o.forceMount,...l}=t,c=xn(Wl,t.__scopeDialog);return c.modal?f.jsx(ko,{present:i||c.open,children:f.jsx(t_,{...l,ref:a})}):null});nw.displayName=Wl;var e_=F0("DialogOverlay.RemoveScroll"),t_=b.forwardRef((t,a)=>{const{__scopeDialog:o,...i}=t,l=xn(Wl,o);return f.jsx(Gb,{as:e_,allowPinchZoom:!0,shards:[l.contentRef],children:f.jsx(Ht.div,{"data-state":xm(l.open),...i,ref:a,style:{pointerEvents:"auto",...i.style}})})}),hr="DialogContent",aw=b.forwardRef((t,a)=>{const o=ew(hr,t.__scopeDialog),{forceMount:i=o.forceMount,...l}=t,c=xn(hr,t.__scopeDialog);return f.jsx(ko,{present:i||c.open,children:c.modal?f.jsx(n_,{...l,ref:a}):f.jsx(a_,{...l,ref:a})})});aw.displayName=hr;var n_=b.forwardRef((t,a)=>{const o=xn(hr,t.__scopeDialog),i=b.useRef(null),l=wn(a,o.contentRef,i);return b.useEffect(()=>{const c=i.current;if(c)return Z3(c)},[]),f.jsx(rw,{...t,ref:l,trapFocus:o.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Dt(t.onCloseAutoFocus,c=>{c.preventDefault(),o.triggerRef.current?.focus()}),onPointerDownOutside:Dt(t.onPointerDownOutside,c=>{const d=c.detail.originalEvent,h=d.button===0&&d.ctrlKey===!0;(d.button===2||h)&&c.preventDefault()}),onFocusOutside:Dt(t.onFocusOutside,c=>c.preventDefault())})}),a_=b.forwardRef((t,a)=>{const o=xn(hr,t.__scopeDialog),i=b.useRef(!1),l=b.useRef(!1);return f.jsx(rw,{...t,ref:a,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:c=>{t.onCloseAutoFocus?.(c),c.defaultPrevented||(i.current||o.triggerRef.current?.focus(),c.preventDefault()),i.current=!1,l.current=!1},onInteractOutside:c=>{t.onInteractOutside?.(c),c.defaultPrevented||(i.current=!0,c.detail.originalEvent.type==="pointerdown"&&(l.current=!0));const d=c.target;o.triggerRef.current?.contains(d)&&c.preventDefault(),c.detail.originalEvent.type==="focusin"&&l.current&&c.preventDefault()}})}),rw=b.forwardRef((t,a)=>{const{__scopeDialog:o,trapFocus:i,onOpenAutoFocus:l,onCloseAutoFocus:c,...d}=t,h=xn(hr,o),g=b.useRef(null),p=wn(a,g);return d3(),f.jsxs(f.Fragment,{children:[f.jsx(Ub,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:l,onUnmountAutoFocus:c,children:f.jsx(im,{role:"dialog",id:h.contentId,"aria-describedby":h.descriptionId,"aria-labelledby":h.titleId,"data-state":xm(h.open),...d,ref:p,onDismiss:()=>h.onOpenChange(!1)})}),f.jsxs(f.Fragment,{children:[f.jsx(r_,{titleId:h.titleId}),f.jsx(s_,{contentRef:g,descriptionId:h.descriptionId})]})]})}),wm="DialogTitle",ow=b.forwardRef((t,a)=>{const{__scopeDialog:o,...i}=t,l=xn(wm,o);return f.jsx(Ht.h2,{id:l.titleId,...i,ref:a})});ow.displayName=wm;var sw="DialogDescription",iw=b.forwardRef((t,a)=>{const{__scopeDialog:o,...i}=t,l=xn(sw,o);return f.jsx(Ht.p,{id:l.descriptionId,...i,ref:a})});iw.displayName=sw;var lw="DialogClose",cw=b.forwardRef((t,a)=>{const{__scopeDialog:o,...i}=t,l=xn(lw,o);return f.jsx(Ht.button,{type:"button",...i,ref:a,onClick:Dt(t.onClick,()=>l.onOpenChange(!1))})});cw.displayName=lw;function xm(t){return t?"open":"closed"}var uw="DialogTitleWarning",[C6,dw]=lT(uw,{contentName:hr,titleName:wm,docsSlug:"dialog"}),r_=({titleId:t})=>{const a=dw(uw),o=`\`${a.contentName}\` requires a \`${a.titleName}\` for the component to be accessible for screen reader users.
|
|
59
|
+
|
|
60
|
+
If you want to hide the \`${a.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
61
|
+
|
|
62
|
+
For more information, see https://radix-ui.com/primitives/docs/components/${a.docsSlug}`;return b.useEffect(()=>{t&&(document.getElementById(t)||console.error(o))},[o,t]),null},o_="DialogDescriptionWarning",s_=({contentRef:t,descriptionId:a})=>{const i=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${dw(o_).contentName}}.`;return b.useEffect(()=>{const l=t.current?.getAttribute("aria-describedby");a&&l&&(document.getElementById(a)||console.warn(i))},[i,t,a]),null},Ps=Zb,i_=Jb,Ys=tw,Ks=nw,Fs=aw,Vs=ow,lc=iw,A6=cw;const ef=t=>t==="danger"?"var(--status-red)":"var(--accent)",Gs=({open:t,onOpenChange:a,title:o,description:i,confirmLabel:l,confirmKind:c="default",cancelLabel:d,onConfirm:h})=>{const{t:g}=Ce(),p=d??g("common.cancel");return f.jsx(Ps,{open:t,onOpenChange:a,children:f.jsxs(Ys,{children:[f.jsx(Ks,{"data-testid":"confirm-overlay",className:"app-overlay fixed inset-0 z-[60]"}),f.jsx("div",{className:"pointer-events-none fixed inset-0 z-[70] grid place-items-center p-4",children:f.jsxs(Fs,{"data-testid":"confirm-content",className:"dialog-scale-pop elev-2 pointer-events-auto w-[440px] max-w-[calc(100vw-32px)] rounded-lg border p-5",style:{background:"var(--bg-elevated)",borderColor:"var(--border-bright)"},children:[f.jsxs("div",{className:"flex items-start gap-3",children:[f.jsx("div",{"aria-hidden":!0,className:"flex h-9 w-9 shrink-0 items-center justify-center rounded",style:{background:`color-mix(in oklab, ${ef(c)} 14%, transparent)`,color:ef(c),border:`1px solid color-mix(in oklab, ${ef(c)} 30%, transparent)`},children:c==="danger"?f.jsx(am,{size:18}):f.jsx(Uk,{size:18})}),f.jsxs("div",{className:"min-w-0 flex-1",children:[f.jsx(Vs,{"data-testid":"confirm-title",className:"text-lg font-semibold text-pri",children:o}),f.jsx(lc,{"data-testid":"confirm-description",className:"mt-1.5 text-sm text-sec",children:i})]})]}),f.jsxs("div",{className:"mt-5 flex justify-end gap-2",children:[f.jsx("button",{type:"button","data-testid":"confirm-cancel",onClick:()=>a(!1),autoFocus:c==="danger",className:"icon-btn",children:p}),f.jsx("button",{type:"button","data-testid":"confirm-action",onClick:()=>{h(),a(!1)},autoFocus:c!=="danger",className:c==="danger"?"icon-btn icon-btn--danger-solid":"icon-btn icon-btn--primary",children:l})]})]})})]})})},l_=({worker:t,busy:a=!1,onClose:o,onSubmit:i})=>{const{t:l}=Ce(),[c,d]=b.useState(t?.name??""),h=b.useRef(null);if(b.useEffect(()=>{if(t){d(t.name);const v=window.setTimeout(()=>{h.current?.select()},30);return()=>window.clearTimeout(v)}},[t]),!t)return null;const g=c.trim(),p=g.length>0&&g!==t.name&&!a,y=v=>{v.preventDefault(),p&&i(t,g)};return f.jsx(Ps,{open:!0,onOpenChange:v=>!v&&o(),children:f.jsxs(Ys,{children:[f.jsx(Ks,{"data-testid":"rename-worker-overlay",className:"app-overlay fixed inset-0 z-40"}),f.jsx("div",{className:"pointer-events-none fixed inset-0 z-50 grid place-items-center p-4",children:f.jsx(Fs,{"data-testid":"rename-worker-dialog",className:"dialog-scale-pop elev-2 pointer-events-auto w-[420px] max-w-full rounded-lg border p-5",style:{background:"var(--bg-elevated)",borderColor:"var(--border-bright)"},children:f.jsxs("form",{onSubmit:y,className:"flex flex-col gap-4",children:[f.jsxs("div",{className:"flex items-start gap-3",children:[f.jsx("div",{"aria-hidden":!0,className:"flex h-9 w-9 shrink-0 items-center justify-center rounded",style:{background:"color-mix(in oklab, var(--accent) 14%, transparent)",color:"var(--accent)",border:"1px solid color-mix(in oklab, var(--accent) 30%, transparent)"},children:f.jsx(Qf,{size:18})}),f.jsxs("div",{className:"min-w-0 flex-1",children:[f.jsx(Vs,{className:"text-lg font-semibold text-pri",children:l("worker.renameTitle")}),f.jsx(lc,{className:"mt-1 text-sm text-ter",children:l("worker.renameDesc")})]})]}),f.jsxs("label",{className:"flex flex-col gap-2",children:[f.jsx("span",{className:"text-xs font-medium uppercase tracking-wider text-ter",children:l("addWorker.name")}),f.jsx("input",{ref:h,type:"text",value:c,onChange:v=>d(v.target.value),maxLength:64,className:"input","data-testid":"rename-worker-input"})]}),f.jsxs("div",{className:"flex justify-end gap-2",children:[f.jsx("button",{type:"button",onClick:o,className:"icon-btn","data-testid":"rename-worker-cancel",children:l("common.cancel")}),f.jsx("button",{type:"submit",disabled:!p,className:"icon-btn icon-btn--primary","data-testid":"rename-worker-save",children:l(a?"common.saving":"common.save")})]})]})})})]})})},fw=({size:t,children:a,color:o,fontRatio:i=.4,ringColor:l=null,ringSurface:c="var(--bg-1)",mono:d=!1,decoration:h,testId:g,data:p,className:y="",style:v={}})=>{const x={};if(p)for(const[C,A]of Object.entries(p))A!==void 0&&(x[`data-${C}`]=A);return f.jsxs("span",{"data-testid":g,...x,className:`relative inline-flex shrink-0 items-center justify-center rounded font-semibold ${d?"mono ":""}${y}`.trim(),style:{width:`${t}px`,height:`${t}px`,fontSize:`${Math.round(t*i)}px`,color:o,background:`color-mix(in oklab, ${o} 14%, transparent)`,border:`1px solid color-mix(in oklab, ${o} 35%, transparent)`,boxShadow:l?`0 0 0 2px ${c}, 0 0 0 4px ${l}`:void 0,...v},"aria-hidden":!0,children:[a,h]})},c_={orchestrator:Zf,coder:Pk,reviewer:gS,tester:Ol,custom:TS},u_={orchestrator:"crown",coder:"code",reviewer:"review",tester:"test",custom:"custom"},d_={orchestrator:"var(--accent)",coder:"var(--status-blue)",reviewer:"var(--status-purple)",tester:"var(--status-orange)",custom:"var(--text-secondary)"},f_={working:"var(--status-green)",idle:"var(--text-tertiary)",stopped:"var(--status-red)"},m_=({role:t,size:a=32,statusRing:o="none"})=>{const i=c_[t];return f.jsx(fw,{size:a,color:d_[t],ringColor:o==="none"?null:f_[o],ringSurface:"var(--bg-2)",testId:"role-avatar",data:{role:t,icon:u_[t],"status-ring":o},children:f.jsx(i,{size:Math.round(a*.56),"aria-hidden":!0})})},p_={claude:{src:"/cli-icons/claude.png",surface:"#f7f5f2"},codex:{src:"/cli-icons/codex.png",surface:"#f4f4f4"},gemini:{src:"/cli-icons/gemini.png",surface:"#f4f4f4"},hermes:{src:"/cli-icons/hermes.png",surface:"#ffffff"},opencode:{src:"/cli-icons/opencode.svg",surface:"#f4f4f4"}},h_={working:"var(--status-green)",idle:"var(--text-tertiary)",stopped:"var(--status-red)"},mw=t=>t?p_[t]??null:null,_6=({commandPresetId:t,fallback:a=null,size:o=20,testId:i="cli-agent-logo"})=>{const l=mw(t);if(!l)return a;const c=Math.round(o*.78);return f.jsx("span",{"data-testid":i,"data-command-preset":t,className:"inline-flex shrink-0 items-center justify-center overflow-hidden rounded","aria-hidden":!0,style:{width:`${o}px`,height:`${o}px`,background:l.surface,border:"1px solid color-mix(in oklab, var(--text-primary) 12%, transparent)"},children:f.jsx("img",{src:l.src,alt:"",decoding:"sync",width:c,height:c,style:{width:`${c}px`,height:`${c}px`,objectFit:"contain"}})})},pw=({commandPresetId:t,workerRole:a,size:o=32,statusRing:i="none"})=>{const l=mw(t);if(!l)return f.jsx(m_,{role:a,size:o,statusRing:i});const c=i==="none"?null:h_[i],d=Math.round(o*.78);return f.jsx("span",{"data-testid":"cli-agent-avatar","data-command-preset":t,"data-status-ring":i,className:"relative inline-flex shrink-0 items-center justify-center overflow-hidden rounded","aria-hidden":!0,style:{width:`${o}px`,height:`${o}px`,background:l.surface,border:"1px solid color-mix(in oklab, var(--text-primary) 12%, transparent)",boxShadow:c?`0 0 0 2px var(--bg-1), 0 0 0 4px ${c}`:void 0},children:f.jsx("img",{src:l.src,alt:"",decoding:"sync",width:d,height:d,style:{width:`${d}px`,height:`${d}px`,objectFit:"contain"}})})},hw=t=>t.status==="working"?{kind:"working",label:"working",dotClass:"status-dot status-dot--working",tone:"var(--status-green)"}:t.status==="stopped"?{kind:"stopped",label:"stopped",dotClass:"status-dot status-dot--stopped",tone:"var(--status-red)"}:{kind:"idle",label:"idle",dotClass:"status-dot status-dot--idle",tone:"var(--text-tertiary)"},N6=t=>t?{kind:"working",label:"running",dotClass:"status-dot status-dot--working",tone:"var(--status-green)"}:{kind:"stopped",label:"stopped",dotClass:"status-dot status-dot--stopped",tone:"var(--status-red)"},gw={working:"pill--green",idle:"pill--ghost",stopped:"pill--red"},vw=t=>`role.${t}`,ql=t=>t==="working"?"common.running":t==="idle"?"common.idle":"common.stopped",g_=({hasRun:t,isPending:a=!1,onAction:o,onClick:i,worker:l})=>{const{t:c}=Ce(),d=Bt(),h=hw(l),g=x=>C=>{C.stopPropagation(),o?.(x,l)},p=l.ephemeral===!0&&l.spawnedBy==="workflow",y=l.ephemeral===!0&&l.spawnedBy==="orchestrator",v=p?"workflow":y?"orchestrator":null;return d?f.jsx(v_,{ephemeralTone:v,hasRun:t,isPending:a,onAction:o,onClick:i,status:h,worker:l}):f.jsxs("div",{className:"worker-card-shell relative","data-status":h.kind,"data-worker-name":l.name,"data-ephemeral":l.ephemeral===!0?"true":void 0,"data-spawned-by":l.spawnedBy??void 0,"data-mobile":d?"true":void 0,children:[f.jsxs("button",{type:"button",onClick:()=>i(l),"aria-label":c("worker.open",{name:l.name}),className:"card card--interactive worker-card relative flex w-full flex-col gap-3 overflow-hidden p-4 text-left","data-testid":`worker-card-${l.id}`,"data-status":h.kind,style:v?{borderStyle:"dashed",borderColor:v==="workflow"?"var(--accent)":"var(--border-bright)"}:void 0,children:[f.jsxs("div",{className:"flex items-start gap-2",children:[f.jsx(pw,{commandPresetId:l.commandPresetId,workerRole:l.role,size:40,statusRing:h.kind}),v?f.jsx("span",{className:"ml-auto rounded px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide",style:{background:v==="workflow"?"color-mix(in oklab, var(--accent) 18%, transparent)":"color-mix(in oklab, var(--text-secondary) 14%, transparent)",color:v==="workflow"?"var(--accent)":"var(--text-secondary)"},"data-testid":"worker-card-ephemeral-badge",title:v==="workflow"?"Spawned by a workflow run — auto-dismissed when its dispatch reports back.":"Spawned by the orchestrator via `team spawn` — auto-dismissed when the orchestrator exits.",children:v==="workflow"?"workflow":"temp"}):null]}),f.jsxs("div",{className:"flex min-w-0 flex-col gap-0.5",children:[f.jsx("span",{className:"truncate text-base font-medium leading-tight text-pri",title:l.name,children:l.name}),f.jsx("span",{className:"truncate text-xs leading-tight text-ter",children:c(vw(l.role))})]}),f.jsx("div",{className:"flex min-w-0 flex-col gap-1.5",children:f.jsxs("div",{className:"flex items-center gap-1.5",children:[f.jsxs("span",{className:`pill ${gw[h.kind]} worker-card__status`,role:"status",title:h.kind==="working"?c("worker.workingLegend"):c(ql(h.kind)),children:[f.jsx("span",{className:h.dotClass,"aria-hidden":!0}),c(ql(h.kind))]}),l.pendingTaskCount>0?f.jsx("span",{className:"pill pill--ghost",title:c("worker.queuedAria",{count:l.pendingTaskCount}),"data-testid":`worker-card-queue-${l.id}`,children:c("worker.queued",{count:l.pendingTaskCount})}):null]})})]}),o?f.jsxs("div",{className:"worker-card__actions",children:[t?d?f.jsxs(f.Fragment,{children:[f.jsx(vs,{title:c("common.stop"),onClick:g("stop"),disabled:a,variant:"danger",testId:`worker-card-stop-${l.id}`,ariaLabel:c("worker.stopAria",{name:l.name}),children:f.jsx(tm,{size:12,"aria-hidden":!0})}),f.jsx(vs,{title:c("common.restart"),onClick:g("restart"),disabled:a,testId:`worker-card-restart-${l.id}`,ariaLabel:c("worker.restartAria",{name:l.name}),children:f.jsx(em,{size:12,"aria-hidden":!0})})]}):null:f.jsx(vs,{title:c("common.start"),onClick:g("start"),disabled:a,variant:"primary",testId:`worker-card-start-${l.id}`,ariaLabel:c("worker.startAria",{name:l.name}),children:f.jsx(Us,{size:12,"aria-hidden":!0})}),f.jsx(vs,{title:c("worker.rename"),onClick:g("rename"),disabled:a,testId:`worker-card-rename-${l.id}`,ariaLabel:c("worker.renameAria",{name:l.name}),children:f.jsx(Qf,{size:12,"aria-hidden":!0})}),f.jsx(vs,{title:c("common.delete"),onClick:g("delete"),variant:"danger",testId:`worker-card-delete-${l.id}`,ariaLabel:c("worker.deleteAria",{name:l.name}),children:f.jsx(Xl,{size:12,"aria-hidden":!0})})]}):null]})},vs=({ariaLabel:t,children:a,disabled:o,onClick:i,testId:l,title:c,variant:d="default"})=>f.jsx(lt,{label:c,children:f.jsx("button",{type:"button",onClick:i,disabled:o,"aria-label":t,"data-testid":l,"data-variant":d,className:"worker-card__action",children:a})}),v_=({ephemeralTone:t,hasRun:a,isPending:o,onAction:i,onClick:l,status:c,worker:d})=>{const{t:h}=Ce(),[g,p]=b.useState(!1),y=x=>{p(!1),i?.(x,d)},v=[h(vw(d.role)),d.pendingTaskCount>0?h("worker.queued",{count:d.pendingTaskCount}):null].filter(Boolean).join(" · ");return f.jsxs("div",{className:"worker-card-shell relative","data-status":c.kind,"data-worker-name":d.name,"data-ephemeral":d.ephemeral===!0?"true":void 0,"data-spawned-by":d.spawnedBy??void 0,"data-mobile":"true",children:[f.jsxs("button",{type:"button",onClick:()=>l(d),"aria-label":h("worker.open",{name:d.name}),className:"card card--interactive worker-card flex w-full items-center gap-3 p-3 pr-12 text-left","data-testid":`worker-card-${d.id}`,"data-status":c.kind,style:t?{borderStyle:"dashed",borderColor:t==="workflow"?"var(--accent)":"var(--border-bright)"}:void 0,children:[f.jsx(pw,{commandPresetId:d.commandPresetId,workerRole:d.role,size:40,statusRing:c.kind}),f.jsxs("span",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[f.jsxs("span",{className:"flex min-w-0 items-center gap-1.5",children:[f.jsx("span",{className:"truncate text-sm font-medium text-pri",children:d.name}),t?f.jsx("span",{className:"shrink-0 rounded px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide",style:{background:t==="workflow"?"color-mix(in oklab, var(--accent) 18%, transparent)":"color-mix(in oklab, var(--text-secondary) 14%, transparent)",color:t==="workflow"?"var(--accent)":"var(--text-secondary)"},"data-testid":"worker-card-ephemeral-badge",children:t==="workflow"?"workflow":"temp"}):null]}),f.jsx("span",{className:"truncate text-xs text-ter",children:v})]}),f.jsxs("span",{className:`pill ${gw[c.kind]} worker-card__status shrink-0`,role:"status",children:[f.jsx("span",{className:c.dotClass,"aria-hidden":!0}),h(ql(c.kind))]})]}),i?f.jsxs(f.Fragment,{children:[f.jsx("button",{type:"button","aria-label":h("worker.actionsAria",{name:d.name}),"data-testid":`worker-card-menu-${d.id}`,onClick:()=>p(!0),className:"absolute top-1/2 right-1 z-[2] flex h-11 w-11 -translate-y-1/2 items-center justify-center rounded-md text-ter",children:f.jsx(Gk,{size:18,"aria-hidden":!0})}),f.jsx(Ps,{open:g,onOpenChange:p,children:f.jsxs(Ys,{children:[f.jsx(Ks,{className:"app-overlay fixed inset-0 z-40"}),f.jsx("div",{className:"pointer-events-none fixed inset-0 z-50 grid items-end",children:f.jsxs(Fs,{"data-testid":`worker-action-sheet-${d.id}`,className:"dialog-slide-up elev-2 pointer-events-auto flex w-full flex-col overflow-hidden rounded-t-xl border-t pb-[max(8px,env(safe-area-inset-bottom))]",style:{background:"var(--bg-elevated)",borderColor:"var(--border-bright)"},children:[f.jsxs(Vs,{className:"flex items-center gap-2 border-b px-4 py-3 text-sm font-semibold text-pri",style:{borderColor:"var(--border)"},children:[f.jsx("span",{className:"truncate",children:d.name}),f.jsx("span",{className:"shrink-0 text-xs font-normal text-ter",children:h(ql(c.kind))})]}),f.jsx(lc,{className:"sr-only",children:h("worker.actionsAria",{name:d.name})}),a?f.jsxs(f.Fragment,{children:[f.jsx(ys,{disabled:o,icon:f.jsx(tm,{size:16,"aria-hidden":!0}),label:h("common.stop"),onSelect:()=>y("stop"),testId:`worker-card-stop-${d.id}`,danger:!0}),f.jsx(ys,{disabled:o,icon:f.jsx(em,{size:16,"aria-hidden":!0}),label:h("common.restart"),onSelect:()=>y("restart"),testId:`worker-card-restart-${d.id}`})]}):f.jsx(ys,{disabled:o,icon:f.jsx(Us,{size:16,"aria-hidden":!0}),label:h("common.start"),onSelect:()=>y("start"),testId:`worker-card-start-${d.id}`}),f.jsx(ys,{disabled:o,icon:f.jsx(Qf,{size:16,"aria-hidden":!0}),label:h("worker.rename"),onSelect:()=>y("rename"),testId:`worker-card-rename-${d.id}`}),f.jsx(ys,{icon:f.jsx(Xl,{size:16,"aria-hidden":!0}),label:h("common.delete"),onSelect:()=>y("delete"),testId:`worker-card-delete-${d.id}`,danger:!0})]})})]})})]}):null]})},ys=({danger:t=!1,disabled:a=!1,icon:o,label:i,onSelect:l,testId:c})=>f.jsxs("button",{type:"button",disabled:a,"data-testid":c,onClick:l,className:"flex min-h-12 w-full items-center gap-3 px-4 text-left text-sm disabled:opacity-50",style:{color:t?"var(--status-red)":"var(--text-primary)"},children:[o,i]}),y_=["working","idle","stopped"],Sy=t=>t==="working"?"common.running":t==="idle"?"common.idle":"common.stopped",b_=t=>{const a={idle:[],working:[],stopped:[]};for(const o of t)a[hw(o).kind].push(o);return{sections:y_.filter(o=>a[o].length>0).map(o=>({kind:o,workers:a[o]})),summary:{idle:a.idle.length,stopped:a.stopped.length,working:a.working.length}}},w_=({onAddWorkerClick:t,onDeleteWorker:a,onOpenShellTerminal:o,onOpenWorker:i,onRenameWorker:l,onStopWorker:c,onRestartWorker:d,onStartWorker:h,shellTerminalAvailable:g=!0,startingWorkerId:p,terminalRuns:y,workers:v})=>{const{t:x}=Ce(),{sections:C,summary:A}=b.useMemo(()=>b_(v),[v]),k=b.useMemo(()=>new Map(y.map(P=>[P.agent_id,P.run_id])),[y]),[S,E]=b.useState(null),[T,N]=b.useState(null),[R,M]=b.useState(!1),D=(P,ne)=>{if(P==="start"){h(ne);return}if(P==="stop"){const ee=k.get(ne.id);ee&&c?.(ee);return}if(P==="restart"){const ee=k.get(ne.id);ee&&d?.(ne.id,ee);return}if(P==="rename"){N(ne);return}P==="delete"&&E(ne)},z=()=>{S&&(a(S),E(null))},K=(P,ne)=>{M(!0),l(P,ne).finally(()=>{M(!1),N(null)})};return f.jsxs("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col",style:{background:"var(--bg-2)"},"data-testid":"workers-pane",children:[f.jsxs("div",{className:"flex shrink-0 flex-col gap-1 px-4 pt-3 pb-2.5",style:{boxShadow:"inset 0 -1px 0 var(--border)"},children:[f.jsxs("div",{className:"flex items-center gap-2.5",children:[f.jsx("span",{className:"text-lg font-semibold text-pri",children:x("worker.teamMembers")}),f.jsx("span",{className:"mono inline-flex h-[18px] min-w-[18px] items-center justify-center rounded-full bg-3 px-1 text-[11px] font-medium tabular-nums leading-none text-sec",children:v.length}),f.jsx("div",{className:"flex-1"}),g?f.jsxs("button",{type:"button",onClick:o,className:"icon-btn icon-btn--tertiary","aria-label":x("shellTerminal.openAria"),"data-testid":"open-workspace-shell",children:[f.jsx(nm,{size:14,"aria-hidden":!0})," ",x("shellTerminal.open")]}):null,f.jsxs("button",{type:"button",onClick:t,className:"icon-btn icon-btn--primary","data-testid":"add-worker-trigger",children:[f.jsx(Dd,{size:14,"aria-hidden":!0})," ",x("addWorker.create")]})]}),v.length>0?f.jsxs("div",{className:"flex items-center gap-3 text-xs text-ter",children:[f.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[f.jsx("span",{className:"status-dot status-dot--working","aria-hidden":!0}),f.jsx("span",{className:"text-sec",children:A.working})," ",x("common.running")]}),f.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[f.jsx("span",{className:"status-dot status-dot--idle","aria-hidden":!0}),f.jsx("span",{className:"text-sec",children:A.idle})," ",x("common.idle")]}),f.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[f.jsx("span",{className:"status-dot status-dot--stopped","aria-hidden":!0}),f.jsx("span",{className:"text-sec",children:A.stopped})," ",x("common.stopped")]})]}):null]}),f.jsx("div",{className:"workers-pane-body scroll-y min-h-0 min-w-0 flex-1 px-2 py-2",children:v.length===0?f.jsx(Is,{icon:f.jsx(Dd,{size:28}),title:x("worker.emptyTitle"),description:x("worker.emptyDesc"),action:f.jsxs("button",{type:"button",onClick:t,className:"icon-btn icon-btn--primary","data-testid":"add-worker-empty",children:[f.jsx(Dd,{size:14,"aria-hidden":!0})," ",x("worker.emptyAdd")]})}):f.jsx("div",{"data-testid":"worker-grid",children:C.map(P=>f.jsxs("section",{className:"mb-3 last:mb-0",children:[f.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1 text-xs font-medium uppercase tracking-wide text-ter",children:[x(Sy(P.kind)),f.jsx("span",{className:"mono inline-flex h-[18px] min-w-[18px] items-center justify-center rounded-full px-1 text-[11px] font-medium tabular-nums leading-none",children:P.workers.length})]}),f.jsx("ul",{"aria-label":`${x(Sy(P.kind))} team members`,className:"worker-card-grid",children:P.workers.map(ne=>f.jsx("li",{children:f.jsx(g_,{hasRun:k.has(ne.id),isPending:p===ne.id,onAction:D,onClick:i,worker:ne})},ne.id))})]},P.kind))})}),f.jsx(Gs,{open:S!==null,onOpenChange:P=>{P||E(null)},title:S?x("worker.deleteConfirm",{name:S.name}):"",description:S?x("worker.deleteDescription",{name:S.name}):"",confirmLabel:x("worker.deleteMember"),confirmKind:"danger",onConfirm:z}),f.jsx(l_,{worker:T,busy:R,onClose:()=>N(null),onSubmit:K})]})},x_=b.lazy(()=>Tt(()=>import("./AddWorkerDialog-BU2Fn-Mx.js"),__vite__mapDeps([4,5])).then(t=>({default:t.AddWorkerDialog}))),k_=b.lazy(()=>Tt(()=>import("./WorkerModal-DiCcTPpc.js"),[]).then(t=>({default:t.WorkerModal}))),S_=({onCreateWorker:t,onDeleteWorker:a,onDeleteWorkspace:o,onStartWorker:i,onStopWorker:l,onRestartWorker:c,onOrchestratorResult:d,onRequestAddWorkspace:h,onShellRunClosed:g,onShellRunStarted:p,onTryDemo:y,welcomeDisabledReason:v,orchestratorAutostartError:x,orchestratorAutostartRunId:C,terminalRuns:A,workers:k,workspace:S})=>{const{t:E}=Ce(),T=Bt(),[N,R]=b.useState(null),[M,D]=b.useState(!1),[z,K]=b.useState("orchestrator"),P=H0();b.useEffect(()=>()=>B0(!1),[]);const[ne,ee]=b.useState(null),[V,Q]=b.useState(null),[X,$]=b.useState(null),[O,I]=b.useState(!1),U=aa(),q=t3({createWorker:t,open:M,workers:k}),Z=GA({workspaceId:S?.id??"",terminalRuns:A,autostartError:x,suppressAutostartRunId:C,onClearAutostartError:()=>{S&&d(S.id,{ok:!0,error:null,run_id:null})},onAfterStart:ce=>{S&&d(S.id,ce)}}),j=PA(),H=k.find(ce=>ce.id===N)??null;b.useEffect(()=>{N&&!H&&R(null)},[N,H]);const oe=OA({workspaceId:S?.id??"",workers:k,terminalRuns:A}),ue=oe.tabs.filter(ce=>ce.kind==="shell"),fe=S?A.filter(ce=>Zl(ce,S.id)):[],{closeShellTab:pe,openShell:le,shellError:ie,shellStarting:se,startNewShell:de}=qA({onCloseFailed:ce=>U.show({kind:"error",message:E("shellTerminal.closeFailed",{message:ce})}),onShellRunClosed:g,onShellRunStarted:p,panelTabs:oe,shellRuns:fe,workspaceId:S?.id??null});if(b.useEffect(()=>{q.createWorkerError&&U.show({kind:"error",message:q.createWorkerError})},[q.createWorkerError,U]),b.useEffect(()=>{ne&&U.show({kind:"error",message:ne})},[ne,U]),b.useEffect(()=>{V&&U.show({kind:"error",message:V})},[V,U]),b.useEffect(()=>{ie&&U.show({kind:"error",message:ie})},[ie,U]),b.useEffect(()=>{R(null),ee(null),Q(null),$(null),I(!1),K("orchestrator")},[S?.id]),!S){const ce={onAddWorkspace:h};return y&&(ce.onTryDemo=y),v&&(ce.disabledReason=v),f.jsx(a3,{...ce})}const me=H?WA(A,H.id):void 0,Te=ce=>{ee(null),a(ce.id).then(()=>R(null)).catch(ve=>{ee(ve instanceof Error?ve.message:String(ve))})},Ee=ce=>{Q(null),$(ce.id),i(ce.id).then(({error:ve})=>{ve&&Q(ve)}).catch(ve=>{Q(ve instanceof Error?ve.message:String(ve))}).finally(()=>$(null))},xe=ce=>{l(ce).then(({error:ve})=>{ve&&U.show({kind:"error",message:ve})})},Ze=(ce,ve)=>{Q(null),$(ce),c(ce,ve).then(({error:De})=>{De&&Q(De)}).catch(De=>{Q(De instanceof Error?De.message:String(De))}).finally(()=>$(null))},St=async(ce,ve)=>{try{return await CE(S.id,ce.id,ve),U.show({kind:"success",message:E("worker.renameSuccess",{name:ve})}),{error:null}}catch(De){const gr=De instanceof Error?De.message:String(De);return U.show({kind:"error",message:E("worker.renameFailed",{message:gr})}),{error:gr}}},Qt=`${(j.orchPct*100).toFixed(2)}%`,oa=()=>{I(!1),le()},dn=()=>{I(!1),de()},Me=f.jsx(VA,{state:Z.state,onStop:Z.stop,onRemoveWorkspace:()=>{o(S).catch(ce=>{const ve=ce instanceof Error?ce.message:String(ce);U.show({kind:"error",message:`Delete failed: ${ve}`})})},onStart:Z.start,onRestart:Z.restart}),Qe=f.jsxs("div",{className:"relative flex min-h-0 min-w-0 flex-1 flex-col",children:[f.jsx(w_,{onAddWorkerClick:()=>D(!0),onDeleteWorker:Te,onOpenShellTerminal:oa,onOpenWorker:ce=>R(ce.id),onRenameWorker:St,onStartWorker:Ee,onStopWorker:xe,onRestartWorker:Ze,startingWorkerId:X,terminalRuns:A,workers:k}),O?null:f.jsx(_A,{tabs:ue,activeId:oe.activeId,scopeKey:S.id,onSelect:oe.setActive,onClose:ce=>{ce.startsWith("shell:")&&pe(ce.slice(6)),oe.closeTab(ce)},onClosePanel:()=>I(!0),onNewShell:dn,newShellPending:se,onStartWorker:ce=>{const ve=k.find(De=>De.id===ce);ve&&Ee(ve)},startingWorkerId:X})]});return f.jsxs("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col",style:{background:"var(--bg-2)"},children:[f.jsx(iT,{terminalRuns:A,workers:k,workspace:S}),T?f.jsxs("div",{className:"relative flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden","data-mobile":"true","data-testid":"workspace-detail-panes",children:[f.jsxs("div",{role:"tablist","aria-label":E("mobile.nav.team"),className:"flex shrink-0 items-center gap-1 border-b p-2",style:{borderColor:"var(--border)"},children:[["orchestrator","workers"].map(ce=>{const ve=z===ce,De=`mobile-team-tab-${ce}`,gr=`mobile-team-panel-${ce}`;return f.jsxs("button",{id:De,type:"button",role:"tab","aria-selected":ve,"aria-controls":gr,tabIndex:ve?0:-1,"data-active":ve||void 0,"data-testid":De,onClick:()=>K(ce),className:"flex min-h-11 flex-1 items-center justify-center gap-1.5 rounded-md text-sm font-medium",style:ve?{background:"var(--accent)",color:"var(--bg-0)"}:{background:"var(--bg-3)",color:"var(--text-secondary)"},children:[f.jsx("span",{children:E(ce==="orchestrator"?"mobile.team.orchestrator":"mobile.team.workers")}),ce==="workers"&&k.length>0?f.jsx("span",{className:"inline-flex items-center justify-center rounded-full min-w-[18px] h-[18px] px-1 text-[11px] font-medium tabular-nums leading-none",style:ve?{background:"var(--bg-0)",color:"var(--accent)"}:{background:"var(--bg-1)",color:"var(--text-secondary)"},children:k.length}):null]},ce)}),f.jsx("button",{type:"button",onClick:KE,"aria-pressed":P,"aria-label":E(P?"mobile.focus.exit":"mobile.focus.enter"),"data-testid":"mobile-focus-toggle",className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-md",style:{background:"var(--bg-3)",color:"var(--text-secondary)"},children:P?f.jsx(cS,{size:16,"aria-hidden":!0}):f.jsx(iS,{size:16,"aria-hidden":!0})})]}),f.jsxs("div",{className:"relative min-h-0 min-w-0 flex-1 overflow-hidden","data-testid":"mobile-team-panel",children:[f.jsx("div",{id:"mobile-team-panel-orchestrator",role:"tabpanel","aria-labelledby":"mobile-team-tab-orchestrator","aria-hidden":z!=="orchestrator",className:"mobile-team-pane flex min-h-0 min-w-0 flex-col","data-active":z==="orchestrator"?"true":"false",children:Me}),f.jsx("div",{id:"mobile-team-panel-workers",role:"tabpanel","aria-labelledby":"mobile-team-tab-workers","aria-hidden":z!=="workers",className:"mobile-team-pane flex min-h-0 min-w-0 flex-col","data-active":z==="workers"?"true":"false",children:Qe})]})]}):f.jsxs("div",{ref:j.containerRef,className:"relative flex min-h-0 min-w-0 flex-1 overflow-hidden","data-testid":"workspace-detail-panes",children:[f.jsx("div",{className:"flex min-w-[480px] shrink-0 flex-col overflow-hidden",style:{width:Qt},"data-testid":"orchestrator-pane-shell",children:Me}),f.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":E("workerPane.resize"),"aria-valuenow":Math.round(j.orchPct*100),"aria-valuemin":30,"aria-valuemax":78,tabIndex:0,className:"pane-splitter",style:{left:`calc(${Qt} - 4px)`},"data-dragging":j.dragging||void 0,"data-testid":"pane-splitter",onPointerDown:j.beginDrag,onKeyDown:j.onKeyDown}),Qe]}),H?f.jsx(b.Suspense,{fallback:null,children:f.jsx(k_,{onClose:()=>R(null),onStart:Ee,runId:me?.run_id??null,startError:V,starting:X===H.id,worker:H})}):null,M?f.jsx(b.Suspense,{fallback:null,children:f.jsx(x_,{commandPresets:q.commandPresets,commandPresetId:q.commandPresetId,creating:q.creating,customTemplates:q.customTemplates,onApplyMarketplaceImport:q.applyMarketplaceImport,onClose:()=>D(!1),onDeleteTemplate:q.deleteTemplate,onNameChange:q.setWorkerName,onPresetChange:q.setCommandPresetId,onRandomName:q.randomizeWorkerName,onRoleDescriptionChange:q.setRoleDescription,onRoleDescriptionReset:q.resetRoleDescription,onRoleChange:q.setWorkerRole,onSaveAsTemplate:q.saveAsTemplate,onSubmit:ce=>q.submit(ce,()=>D(!1)),onStartupCommandChange:q.setStartupCommand,onTemplateChange:q.selectTemplate,roleDescription:q.roleDescription,roleDescriptionDefault:q.roleDescriptionDefault,selectedTemplateId:q.selectedTemplateId,startupCommand:q.startupCommand,templateBusy:q.templateBusy,workerName:q.workerName,workerRole:q.workerRole})}):null]})},E_=({activeId:t,activeWorkspace:a,bootstrapError:o,demoMode:i,onDeleteWorkspace:l,onExitDemo:c,onRequestAddWorkspace:d,onShellRunClosed:h,onShellRunStarted:g,onTryDemo:p,orchestratorAutostartErrors:y,orchestratorAutostartRunIds:v,recordOrchestratorResult:x,terminalRuns:C,workerActions:A,workers:k,workspacesLoading:S})=>i?f.jsx(XS,{onExit:c}):S&&!a?f.jsx("div",{className:"flex flex-1 items-center justify-center",children:f.jsx(bo,{size:24,className:"animate-spin text-ter"})}):f.jsx(S_,{onCreateWorker:A.createWorker,onDeleteWorker:A.deleteWorker,onDeleteWorkspace:l,onStartWorker:A.startWorker,onStopWorker:A.stopWorkerRun,onRestartWorker:A.restartWorkerRun,onOrchestratorResult:x,onRequestAddWorkspace:d,onShellRunClosed:h,onShellRunStarted:g,onTryDemo:p,welcomeDisabledReason:o??void 0,orchestratorAutostartError:t?y[t]??null:null,orchestratorAutostartRunId:t?v[t]??null:null,terminalRuns:C,workers:k,workspace:a}),wl={id:"demo-workspace",name:"demo-todo-app",path:"/Users/you/demo-todo-app"},T_=[{id:"demo-coder",name:"alice",role:"coder",status:"working",pendingTaskCount:1,lastPtyLine:"Editing src/routes/todos.ts (line 42)",commandPresetId:"claude"},{id:"demo-reviewer",name:"bob",role:"reviewer",status:"idle",pendingTaskCount:0,commandPresetId:"gemini"}],C_=`# Todo app
|
|
63
|
+
|
|
64
|
+
- [x] Set up Express server
|
|
65
|
+
- [x] Add /todos GET endpoint
|
|
66
|
+
- [ ] Add /todos POST endpoint
|
|
67
|
+
- [ ] Write Vitest for both endpoints
|
|
68
|
+
- [ ] Wire up SQLite for persistence
|
|
69
|
+
`,A_=()=>{const[t,a]=b.useState(!1);return{demoMode:t,enableDemo:()=>a(!0),exitDemo:()=>a(!1)}},__=t=>{const{demoMode:a,workspaces:o,activeWorkspaceId:i,workersByWorkspaceId:l}=t,c=a?[wl]:o,d=a?{[wl.id]:T_}:l,h=a?wl.id:i,g=a?wl:o?.find(y=>y.id===i);return{effectiveActiveWorkspaceId:h,effectiveWorkspaces:c,effectiveWorkersByWorkspaceId:d,effectiveActiveWorkspace:g,pollWorkspaceId:a?null:i}},yw=()=>{const{language:t,setLanguage:a,t:o}=Ce(),i=t==="en"?"zh":"en",l=o(i==="en"?"language.switchToEn":"language.switchToZh"),c=o(t==="en"?"language.currentEn":"language.currentZh");return f.jsx(lt,{label:l,children:f.jsx("span",{children:f.jsxs("button",{type:"button","aria-label":l,onClick:()=>a(i),className:"flex h-7 items-center gap-1 rounded border px-2 text-xs font-medium text-ter transition-colors hover:bg-3 hover:text-pri focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-[var(--accent)]",style:{borderColor:"var(--border)",background:"var(--bg-1)"},children:[f.jsx(eS,{size:13,"aria-hidden":!0}),f.jsx("span",{children:c})]})})})},N_=[{accent:"var(--status-green)",descriptionKey:"notifications.sound.soft.description",labelKey:"notifications.sound.soft.label",length:"short",value:"soft"},{accent:"var(--status-blue)",descriptionKey:"notifications.sound.ping.description",labelKey:"notifications.sound.ping.label",length:"short",value:"ping"},{accent:"var(--status-gold)",descriptionKey:"notifications.sound.chime.description",labelKey:"notifications.sound.chime.label",length:"short",value:"chime"},{accent:"var(--accent)",descriptionKey:"notifications.sound.cascade.description",labelKey:"notifications.sound.cascade.label",length:"long",value:"cascade"},{accent:"var(--status-orange)",descriptionKey:"notifications.sound.beacon.description",labelKey:"notifications.sound.beacon.label",length:"long",value:"beacon"},{accent:"var(--status-purple)",descriptionKey:"notifications.sound.resolve.description",labelKey:"notifications.sound.resolve.label",length:"long",value:"resolve"},{accent:"var(--text-tertiary)",descriptionKey:"notifications.sound.off.description",labelKey:"notifications.sound.off.label",length:"silent",value:"off"}],R_=[{descriptionKey:"notifications.detail.brief.description",labelKey:"notifications.detail.brief.label",value:"brief"},{descriptionKey:"notifications.detail.detailed.description",labelKey:"notifications.detail.detailed.label",value:"detailed"}],bw=()=>{const{t}=Ce(),a=Bt(),[o,i]=b.useState(!1),l=b.useRef(null),c=b.useRef(null),{notify:d,previewSound:h,requestDesktopNotifications:g,settings:p,updateSettings:y}=om(),v=typeof window<"u"&&!("Notification"in window),x=b.useMemo(()=>N_.map(k=>({...k,description:t(k.descriptionKey),label:t(k.labelKey)})),[t]),C=b.useMemo(()=>R_.map(k=>({...k,description:t(k.descriptionKey),label:t(k.labelKey)})),[t]),A=k=>{if(!k){y({desktop:!1});return}g()};return b.useEffect(()=>{if(!o)return;const k=E=>{E.key==="Escape"&&(i(!1),c.current?.focus())},S=E=>{const T=l.current;T&&!T.contains(E.target)&&i(!1)};return document.addEventListener("keydown",k),document.addEventListener("pointerdown",S),()=>{document.removeEventListener("keydown",k),document.removeEventListener("pointerdown",S)}},[o]),f.jsxs("div",{ref:l,className:"relative",children:[f.jsx(lt,{label:t("notifications.settings.tooltip"),children:f.jsx("button",{ref:c,type:"button","aria-expanded":o,"aria-haspopup":"dialog","aria-label":t("notifications.settings.aria"),className:"flex h-7 w-7 max-md:min-w-11 cursor-pointer items-center justify-center rounded text-sec hover:bg-3 hover:text-pri","data-testid":"topbar-settings",onClick:()=>i(k=>!k),children:f.jsx(gf,{size:14,"aria-hidden":!0})})}),o?f.jsxs("div",{role:"dialog","aria-modal":a?"true":void 0,"aria-label":t("notifications.settings.aria"),className:a?"fixed inset-0 z-50 flex flex-col overflow-y-auto":"elev-2 absolute top-8 right-0 z-50 w-[380px] rounded border p-3",style:a?{background:"var(--bg-0)"}:{background:"var(--bg-elevated)",borderColor:"var(--border-bright)"},"data-testid":"notification-settings",children:[f.jsxs("div",{className:a?"flex shrink-0 items-center gap-2 border-b px-4 py-3":"mb-3 flex items-start gap-2",style:a?{borderColor:"var(--border)"}:void 0,children:[f.jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded bg-3 text-sec",children:f.jsx(gf,{size:16,"aria-hidden":!0})}),f.jsxs("div",{className:a?"min-w-0 flex-1":"min-w-0",children:[f.jsx("div",{className:"text-sm font-semibold text-pri",children:t("notifications.settings.heading")}),a?null:f.jsx("div",{className:"text-ter text-xs",children:t("notifications.settings.subtitle")})]}),a?f.jsx("button",{type:"button","aria-label":t("common.close"),className:"flex h-11 w-11 shrink-0 items-center justify-center rounded text-sec hover:bg-3 hover:text-pri",onClick:()=>i(!1),children:f.jsx(fo,{size:20,"aria-hidden":!0})}):null]}),f.jsxs("div",{className:a?"flex-1 overflow-y-auto p-4":"contents",children:[f.jsxs("section",{className:"mb-3",children:[f.jsxs("div",{className:"mb-2 flex items-center gap-1.5 text-ter text-xs uppercase tracking-wider",children:[f.jsx(Pv,{size:12,"aria-hidden":!0}),t("notifications.sound.sectionLabel")]}),f.jsx("div",{role:"radiogroup","aria-label":t("notifications.sound.sectionLabel"),className:a?"grid grid-cols-1 gap-2":"grid grid-cols-2 gap-2",children:x.map(k=>f.jsxs("div",{className:"relative min-h-[78px] rounded border transition-colors",style:{background:p.sound===k.value?`color-mix(in oklab, ${k.accent} 10%, var(--bg-2))`:"var(--bg-2)",borderColor:p.sound===k.value?`color-mix(in oklab, ${k.accent} 54%, var(--border-bright))`:"var(--border)"},children:[f.jsxs("label",{className:"block h-full w-full cursor-pointer rounded px-3 py-2 pr-10 text-left transition-colors hover:bg-3 focus-within:outline-none focus-within:ring-2 focus-within:ring-[var(--ring-focus)]",children:[f.jsx("input",{type:"radio",name:"notification-sound",value:k.value,checked:p.sound===k.value,className:"sr-only",onChange:()=>y({sound:k.value})}),f.jsxs("span",{className:"mb-1 flex items-center gap-2",children:[f.jsx("span",{className:"flex h-5 w-5 items-center justify-center rounded",style:{background:`color-mix(in oklab, ${k.accent} 16%, transparent)`,color:k.accent},children:k.value==="off"?f.jsx(BS,{size:12,"aria-hidden":!0}):f.jsx(Pv,{size:12,"aria-hidden":!0})}),f.jsx("span",{className:"font-medium text-pri text-xs",children:k.label}),k.length==="long"?f.jsx("span",{className:"rounded border border-[var(--border-bright)] px-1.5 py-0.5 text-xs text-ter uppercase",children:t("notifications.sound.longerBadge")}):null,p.sound===k.value?f.jsx($f,{size:12,className:"ml-auto text-pri","aria-hidden":!0}):null]}),f.jsx("span",{className:"block text-ter text-xs",children:k.description})]}),k.value!=="off"?f.jsx("button",{type:"button","aria-label":t("notifications.sound.previewAria",{label:k.label}),className:"absolute right-2 bottom-2 flex h-6 w-6 pointer-coarse:h-10 pointer-coarse:w-10 items-center justify-center rounded border text-sec transition-colors hover:bg-3 hover:text-pri",style:{borderColor:"var(--border-bright)"},onClick:()=>h(k.value),children:f.jsx(Us,{size:12,"aria-hidden":!0})}):null]},k.value))})]}),f.jsxs("section",{className:"mb-3",children:[f.jsxs("div",{className:"mb-2 flex items-center gap-1.5 text-ter text-xs uppercase tracking-wider",children:[f.jsx(Qk,{size:12,"aria-hidden":!0}),t("notifications.detail.sectionLabel")]}),f.jsx("div",{role:"radiogroup","aria-label":t("notifications.detail.sectionLabel"),className:"grid grid-cols-2 rounded border p-1",style:{background:"var(--bg-1)",borderColor:"var(--border)"},children:C.map(k=>f.jsxs("label",{className:"cursor-pointer rounded px-3 py-2 text-left transition-colors hover:bg-3 focus-within:outline-none focus-within:ring-2 focus-within:ring-[var(--ring-focus)]",style:{background:p.detail===k.value?"var(--bg-3)":"transparent",color:p.detail===k.value?"var(--text-primary)":"var(--text-secondary)"},children:[f.jsx("input",{type:"radio",name:"notification-detail",value:k.value,checked:p.detail===k.value,className:"sr-only",onChange:()=>y({detail:k.value})}),f.jsx("span",{className:"block font-medium text-xs",children:k.label}),f.jsx("span",{className:"block text-ter text-xs",children:k.description})]},k.value))})]}),f.jsxs("label",{className:"mb-3 flex items-start gap-2 rounded border p-2 text-sec text-xs",children:[f.jsx("input",{type:"checkbox","aria-label":t("notifications.desktop.aria"),checked:p.desktop,disabled:v,className:"mt-0.5",onChange:k=>A(k.currentTarget.checked)}),f.jsxs("span",{children:[f.jsx("span",{className:"block font-medium text-pri",children:t("notifications.desktop.label")}),f.jsx("span",{className:"text-ter",children:t(v?"notifications.desktop.unsupported":"notifications.desktop.helper")})]})]}),f.jsxs("div",{className:"flex justify-end gap-2 border-t pt-3",style:{borderColor:"var(--border)"},children:[f.jsx("button",{type:"button",className:"icon-btn",onClick:()=>i(!1),children:t("common.close")}),f.jsx("button",{type:"button",className:"icon-btn icon-btn--primary",onClick:()=>d({brief:t("notifications.test.brief"),detail:t("notifications.test.detail"),kind:"success",title:t("notifications.test.title")}),children:t("notifications.test.button")})]})]})]}):null]})},j_=t=>Math.max(0,Math.ceil((t-Date.now())/1e3)),O_=()=>{const{t}=Ce(),[a,o]=b.useState(null),[i,l]=b.useState(!1),[c,d]=b.useState(!1),[h,g]=b.useState(()=>Date.now());b.useEffect(()=>{if(!a)return;const x=window.setInterval(()=>g(Date.now()),1e3);return()=>window.clearInterval(x)},[a]);const p=async()=>{d(!1),l(!0);try{const x=await UE();o(x),g(Date.now())}catch{d(!0)}finally{l(!1)}};if(!a)return f.jsxs("div",{className:"p-1.5",children:[f.jsxs("button",{type:"button","data-testid":"settings-remote-add-device",onClick:()=>{p()},disabled:i,className:"icon-btn icon-btn--primary flex items-center gap-1.5",children:[f.jsx(x0,{size:14,"aria-hidden":!0}),t("remote.addDevice")]}),c?f.jsx("div",{className:"mt-1 text-xs",style:{color:"var(--text-error)"},role:"alert",children:t("remote.qr.startFailed")}):null]});const y=j_(a.expiresAt),v=y<=0||h>=a.expiresAt;return f.jsxs("div",{className:"p-1.5","data-testid":"remote-qr-panel",children:[f.jsx("div",{className:"text-sm font-medium text-pri",children:t("remote.qr.title")}),f.jsx("p",{className:"mt-0.5 mb-2 text-xs text-ter",children:t("remote.qr.instructions")}),f.jsxs("div",{className:"flex flex-col items-center gap-2",children:[v?f.jsx("div",{className:"text-xs",style:{color:"var(--text-error)"},"data-testid":"remote-qr-expired",children:t("remote.qr.expired")}):f.jsxs(f.Fragment,{children:[f.jsx("div",{"data-testid":"remote-pair-code",className:"mono rounded-lg border px-4 py-3 text-center text-2xl font-semibold tracking-[0.18em] text-pri",style:{borderColor:"var(--border)"},children:a.code}),f.jsx("div",{className:"text-xs text-ter","data-testid":"remote-qr-countdown",children:t("remote.qr.expiresIn",{seconds:y})})]}),f.jsxs("div",{className:"flex gap-2",children:[v?f.jsx("button",{type:"button","data-testid":"remote-qr-regenerate",onClick:()=>{p()},disabled:i,className:"icon-btn icon-btn--primary",children:t("remote.qr.regenerate")}):null,f.jsx("button",{type:"button","data-testid":"remote-qr-cancel",onClick:()=>o(null),className:"icon-btn",children:t("remote.qr.cancel")})]})]})]})},M_={ok:"remote.audit.result.ok",rejected:"remote.audit.result.rejected",error:"remote.audit.result.error"},D_=t=>t==="ok"?void 0:"var(--text-error)",L_=()=>{const{t}=Ce(),[a,o]=b.useState(!1),[i,l]=b.useState(null),[c,d]=b.useState(!1),h=b.useCallback(async()=>{d(!1);try{l(await PE(100))}catch{d(!0)}},[]);return b.useEffect(()=>{a&&h()},[a,h]),f.jsxs("div",{className:"p-1.5","data-testid":"remote-audit-view",children:[f.jsxs("button",{type:"button","data-testid":"remote-audit-toggle",onClick:()=>o(g=>!g),className:"flex items-center gap-1 text-xs font-medium text-sec hover:text-pri","aria-expanded":a,children:[a?f.jsx(Xf,{size:12,"aria-hidden":!0}):f.jsx(y0,{size:12,"aria-hidden":!0}),t(a?"remote.audit.hide":"remote.audit.show")]}),a?f.jsxs("div",{className:"mt-2",children:[f.jsx("div",{className:"mb-1 text-xs font-medium uppercase tracking-wider text-ter",children:t("remote.audit.heading")}),c?f.jsx("div",{className:"text-xs",style:{color:"var(--text-error)"},role:"alert",children:t("remote.audit.loadFailed")}):!i||i.length===0?f.jsx("div",{className:"text-xs text-ter",children:t("remote.audit.empty")}):f.jsx("ul",{className:"flex flex-col gap-0.5",children:i.map(g=>f.jsxs("li",{className:"flex items-baseline justify-between gap-2 rounded px-1 py-0.5 text-xs","data-testid":`remote-audit-row-${g.id}`,children:[f.jsxs("span",{className:"min-w-0 truncate text-sec",children:[f.jsx("span",{className:"text-pri",children:g.action}),g.endpoint?f.jsxs("span",{className:"text-ter",children:[" ",g.endpoint]}):null,g.preview?f.jsxs("span",{className:"text-ter",children:[" · ",g.preview]}):null,typeof g.byteCount=="number"?f.jsxs("span",{className:"text-ter",children:[" ","· ",t("remote.audit.bytes",{count:g.byteCount})]}):null]}),f.jsxs("span",{className:"shrink-0",style:{color:D_(g.result)},children:[t(M_[g.result]),g.rejectReason?` (${g.rejectReason})`:""]})]},g.id))})]}):null]})},Ey=t=>{const a=Math.max(0,Date.now()-t),o=Math.floor(a/6e4);if(o<1)return"<1m";if(o<60)return`${o}m`;const i=Math.floor(o/60);return i<24?`${i}h`:`${Math.floor(i/24)}d`},z_=({reloadKey:t=0})=>{const{t:a}=Ce(),o=aa(),[i,l]=b.useState(null),[c,d]=b.useState(!1),[h,g]=b.useState(null),p=b.useCallback(async()=>{d(!1);try{const x=await z0();l(x)}catch{d(!0)}},[]);b.useEffect(()=>{p()},[p,t]);const y=async x=>{try{await IE(x.deviceId),o.show({kind:"success",message:a("remote.devices.revoked",{name:x.name})}),await p()}catch{o.show({kind:"error",message:a("remote.devices.revokeFailed")})}},v=(i??[]).filter(x=>!x.revoked);return f.jsxs("div",{className:"p-1.5","data-testid":"remote-device-list",children:[f.jsx("div",{className:"mb-1 text-xs font-medium uppercase tracking-wider text-ter",children:a("remote.devices.heading")}),c?f.jsx("div",{className:"text-xs",style:{color:"var(--text-error)"},role:"alert",children:a("remote.devices.loadFailed")}):v.length===0?f.jsx("div",{className:"text-xs text-ter",children:a("remote.devices.empty")}):f.jsx("ul",{className:"flex flex-col gap-1",children:v.map(x=>f.jsxs("li",{className:"flex items-center justify-between gap-2 rounded p-1.5 hover:bg-3","data-testid":`remote-device-${x.deviceId}`,children:[f.jsxs("span",{className:"min-w-0",children:[f.jsx("span",{className:"block truncate text-sm text-pri",children:x.name}),f.jsx("span",{className:"block text-xs text-ter",children:x.lastActive===null?a("remote.devices.neverActive"):Ey(x.lastActive)==="<1m"?a("remote.devices.activeNow"):a("remote.devices.lastActive",{ago:Ey(x.lastActive)})})]}),f.jsx("button",{type:"button","data-testid":`remote-device-revoke-${x.deviceId}`,"aria-label":a("remote.devices.revokeAria",{name:x.name}),onClick:()=>g(x),className:"icon-btn icon-btn--danger shrink-0",children:a("remote.devices.revoke")})]},x.deviceId))}),f.jsx(Gs,{open:h!==null,onOpenChange:x=>{x||g(null)},title:a("remote.devices.revokeTitle"),description:h?a("remote.devices.revokeConfirm",{name:h.name}):"",confirmLabel:a("remote.devices.revoke"),confirmKind:"danger",onConfirm:()=>{h&&y(h)}})]})},B_=2e3,Af={enabled:!1,loggedIn:!1,gatewayUrl:null,connected:!1,connection:"disabled"},ww=b.createContext({status:Af,loading:!0,setEnabled:async()=>{},pending:null,refresh:async()=>{}}),H_=({children:t})=>{const a=Bt(),[o,i]=b.useState(Af),[l,c]=b.useState(!0),[d,h]=b.useState(null);b.useEffect(()=>{let v=!1;return zd().then(x=>{v||i(x)}).catch(()=>{}).finally(()=>{v||c(!1)}),()=>{v=!0}},[]);const g=b.useCallback(async v=>{const x=await HE(v);i(x),x.enabled||h(null)},[]),p=b.useCallback(async()=>{const v=await zd().catch(()=>Af);i(v),v.enabled&&v.loggedIn&&!a?h(await Yv().catch(()=>null)):h(null)},[a]),y=o.enabled&&o.loggedIn&&!a;return b.useEffect(()=>{if(!y){h(null);return}let v=!1;const x=()=>{zd().then(A=>{v||i(A)}).catch(()=>{}),Yv().then(A=>{v||h(A)}).catch(()=>{})};x();const C=window.setInterval(x,B_);return()=>{v=!0,window.clearInterval(C)}},[y]),f.jsx(ww.Provider,{value:{status:o,loading:l,setEnabled:g,pending:d,refresh:p},children:t})},km=()=>b.useContext(ww),U_={online:"var(--status-green)",connecting:"var(--status-amber, #d29922)",reconnecting:"var(--status-amber, #d29922)",revoked:"var(--status-red, #f85149)",loggedOut:"var(--text-ter)",disabled:"var(--text-ter)"},W_={connecting:"remote.status.connecting",reconnecting:"remote.status.reconnecting",revoked:"remote.status.revoked"},q_=()=>{const{t}=Ce(),a=Bt(),{status:o,loading:i,setEnabled:l,pending:c}=km(),d=U_[o.connection],h=W_[o.connection],[g,p]=b.useState(!1),[y,v]=b.useState(!1),[x,C]=b.useState(!1),[A,k]=b.useState(0),S=b.useRef(!1);b.useEffect(()=>{c?S.current=!0:S.current&&(S.current=!1,k(N=>N+1))},[c]);const E=async N=>{v(!1),p(!0);try{await l(N)}catch{v(!0)}finally{p(!1)}},T=N=>{if(!N&&a){C(!0);return}E(N)};return f.jsxs("div",{"data-testid":"remote-access-section",children:[f.jsxs("div",{className:"mt-3 mb-1 flex items-center gap-1.5 text-[11px] font-medium uppercase tracking-wide text-ter",children:[f.jsx(x0,{size:12,"aria-hidden":!0}),f.jsx("span",{children:t("remote.section")})]}),f.jsxs("div",{children:[f.jsxs("label",{className:"flex cursor-pointer items-start gap-2 rounded p-1.5 hover:bg-3",children:[f.jsx("input",{type:"checkbox",className:"mt-0.5",checked:o.enabled,disabled:i||g,onChange:N=>{T(N.target.checked)},"data-testid":"settings-toggle-remote"}),f.jsxs("span",{className:"min-w-0",children:[f.jsx("span",{className:"block text-sm text-pri",children:t("remote.enable.label")}),f.jsx("span",{className:"block text-xs text-ter",children:t("remote.enable.description")})]})]}),y?f.jsx("div",{className:"mt-1 ml-1.5 text-xs",style:{color:"var(--text-error)"},role:"alert",children:t("settings.saveError")}):null]}),o.enabled?f.jsxs("div",{className:"mt-1",children:[f.jsxs("div",{className:"flex items-center gap-1.5 p-1.5 text-xs","data-testid":"remote-login-status",children:[f.jsx("span",{"aria-hidden":!0,"data-connection":o.connection,className:"inline-block h-2 w-2 rounded-full",style:{background:d}}),f.jsx("span",{className:"min-w-0 text-sec",children:h?t(h):o.loggedIn?t("remote.status.linked",{gateway:o.gatewayUrl??""}):t("remote.status.notLinked")})]}),o.loggedIn&&!a?f.jsx(O_,{}):null,f.jsx(z_,{reloadKey:A}),f.jsx(L_,{})]}):null,f.jsx(Gs,{open:x,onOpenChange:N=>{N||C(!1)},title:t("remote.disable.confirmTitle"),description:t("remote.disable.confirmBody"),confirmLabel:t("common.stop"),confirmKind:"danger",onConfirm:()=>{E(!1)}})]})},xw=b.createContext({enabled:!0,loading:!0,setEnabled:async()=>{}}),I_=({children:t})=>{const[a,o]=b.useState(!0),[i,l]=b.useState(!0);b.useEffect(()=>{let d=!1;return mE().then(h=>{d||o(h.enabled)}).catch(()=>{}).finally(()=>{d||l(!1)}),()=>{d=!0}},[]);const c=b.useCallback(async d=>{const h=await pE(d);o(h.enabled)},[]);return f.jsx(xw.Provider,{value:{enabled:a,loading:i,setEnabled:c},children:t})},P_=()=>b.useContext(xw),kw=b.createContext({enabled:!1,loading:!0,setEnabled:async()=>{}}),Y_=({children:t})=>{const[a,o]=b.useState(!1),[i,l]=b.useState(!0);b.useEffect(()=>{let d=!1;return dE().then(h=>{d||o(h.enabled)}).catch(()=>{}).finally(()=>{d||l(!1)}),()=>{d=!0}},[]);const c=b.useCallback(async d=>{const h=await fE(d);o(h.enabled)},[]);return f.jsx(kw.Provider,{value:{enabled:a,loading:i,setEnabled:c},children:t})},Sw=()=>b.useContext(kw),Ty=({feature:t,label:a,description:o,testId:i})=>{const{t:l}=Ce(),[c,d]=b.useState(!1),[h,g]=b.useState(!1),p=async y=>{g(!1),d(!0);try{await t.setEnabled(y)}catch{g(!0)}finally{d(!1)}};return f.jsxs("div",{children:[f.jsxs("label",{className:"flex cursor-pointer items-start gap-2 rounded p-1.5 hover:bg-3",children:[f.jsx("input",{type:"checkbox",className:"mt-0.5",checked:t.enabled,disabled:t.loading||c,onChange:y=>{p(y.target.checked)},"data-testid":i}),f.jsxs("span",{className:"min-w-0",children:[f.jsx("span",{className:"block text-sm text-pri",children:a}),f.jsx("span",{className:"block text-xs text-ter",children:o})]})]}),h?f.jsx("div",{className:"mt-1 ml-1.5 text-xs",style:{color:"var(--text-error)"},role:"alert",children:l("settings.saveError")}):null]})},K_=()=>{const{t}=Ce(),[a,o]=b.useState(""),[i,l]=b.useState(!1),[c,d]=b.useState(!1),[h,g]=b.useState(null);b.useEffect(()=>{let y=!1;return cE().then(v=>{y||(o(v),l(!0))}).catch(()=>{y||l(!0)}),()=>{y=!0}},[]);const p=async()=>{g(null),d(!0);try{await uE(a),g("saved")}catch{g("error")}finally{d(!1)}};return f.jsxs("div",{className:"p-1.5",children:[f.jsx("label",{className:"block text-sm text-pri",htmlFor:"settings-webhook-url",children:t("settings.webhook.label")}),f.jsx("span",{className:"mb-1.5 block text-xs text-ter",children:t("settings.webhook.description")}),f.jsx("input",{id:"settings-webhook-url",type:"url",inputMode:"url",placeholder:"https://…",className:"w-full rounded border bg-2 px-2 py-1 text-sm max-md:text-base text-pri",style:{borderColor:"var(--border)"},value:a,disabled:!i||c,onChange:y=>{g(null),o(y.target.value)},onBlur:()=>{p()},onKeyDown:y=>{if(y.key==="Enter"){if(y.nativeEvent.isComposing||y.keyCode===229)return;y.currentTarget.blur()}},"data-testid":"settings-webhook-url"}),h==="saved"?f.jsx("span",{className:"mt-1 block text-xs",style:{color:"var(--accent)"},children:t("settings.webhook.saved")}):null,h==="error"?f.jsx("span",{className:"mt-1 block text-xs",style:{color:"var(--text-error)"},role:"alert",children:t("settings.saveError")}):null]})},Ew=()=>{const{t}=Ce(),a=Sw(),o=P_();return f.jsxs(f.Fragment,{children:[f.jsxs("div",{className:"mb-1 flex items-center gap-1.5 text-[11px] max-md:text-xs font-medium uppercase tracking-wide text-ter",children:[f.jsx(Ol,{size:12,"aria-hidden":!0}),f.jsx("span",{children:t("settings.experimental")})]}),f.jsx(Ty,{feature:a,label:t("settings.workflows.label"),description:t("settings.workflows.description"),testId:"settings-toggle-workflows"}),f.jsx(Ty,{feature:o,label:t("settings.autostaff.label"),description:t("settings.autostaff.description"),testId:"settings-toggle-autostaff"}),f.jsxs("div",{className:"mt-3 mb-1 flex items-center gap-1.5 text-[11px] max-md:text-xs font-medium uppercase tracking-wide text-ter",children:[f.jsx(gf,{size:12,"aria-hidden":!0}),f.jsx("span",{children:t("settings.notifications")})]}),f.jsx(K_,{}),f.jsx(q_,{})]})},F_=()=>{const{t}=Ce(),a=Bt(),[o,i]=b.useState(!1),l=b.useRef(null),c=b.useRef(null);return b.useEffect(()=>{if(!o)return;const d=g=>{g.key==="Escape"&&(i(!1),c.current?.focus())},h=g=>{const p=l.current;p&&!p.contains(g.target)&&i(!1)};return document.addEventListener("keydown",d),document.addEventListener("pointerdown",h),()=>{document.removeEventListener("keydown",d),document.removeEventListener("pointerdown",h)}},[o]),f.jsxs("div",{ref:l,className:"relative",children:[f.jsx(lt,{label:t("settings.tooltip"),children:f.jsx("button",{ref:c,type:"button","aria-expanded":o,"aria-haspopup":"dialog","aria-label":t("settings.aria"),className:"flex h-7 w-7 cursor-pointer items-center justify-center rounded text-sec hover:bg-3 hover:text-pri","data-testid":"topbar-app-settings",onClick:()=>i(d=>!d),children:f.jsx(vf,{size:14,"aria-hidden":!0})})}),o?f.jsxs("div",{role:"dialog","aria-label":t("settings.aria"),className:a?"settings-sheet fixed inset-0 z-50 flex flex-col overflow-y-auto p-4":"elev-2 absolute top-8 right-0 z-50 w-[360px] rounded border p-3","data-mobile":a||void 0,style:a?{background:"var(--bg-0)"}:{background:"var(--bg-elevated)",borderColor:"var(--border-bright)"},"data-testid":"app-settings-menu",children:[f.jsxs("div",{className:"mb-3 flex items-start gap-2",children:[f.jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded bg-3 text-sec",children:f.jsx(vf,{size:16,"aria-hidden":!0})}),f.jsx("div",{className:a?"min-w-0 flex-1":"min-w-0",children:f.jsx("div",{className:"text-sm font-semibold text-pri",children:t("settings.heading")})}),a?f.jsx("button",{type:"button",onClick:()=>i(!1),"aria-label":t("common.close"),"data-testid":"mobile-settings-close",className:"icon-btn shrink-0",children:f.jsx(fo,{size:16,"aria-hidden":!0})}):null]}),f.jsx(Ew,{})]}):null]})},V_=t=>{const[a,o]=b.useState(null);return b.useEffect(()=>{if(t)return;let i=!0;return aE().then(l=>{i&&o(l)}).catch(()=>{i&&o(null)}),()=>{i=!1}},[t]),t??a},G_="2.0.0",$_={version:G_},Tw=$_.version,X_=({actions:t,hideActions:a=!1,memoryOpen:o=!1,onToggleMemory:i,onToggleTaskGraph:l,openTaskCount:c=0,taskGraphOpen:d=!1,onToggleWorkflows:h,workflowsOpen:g=!1,version:p=Tw,versionInfo:y})=>{const{t:v}=Ce(),x=V_(y),C=x?.updateAvailable&&x.latestVersion!==p?x:null,A=c>0,k=d?v("topbar.hideTodo"):A?v("topbar.todoOpen",{count:c}):v("topbar.showTodo");return f.jsxs("header",{className:"flex h-11 shrink-0 items-center px-4",style:{background:"var(--bg-0)",borderBottom:"1px solid var(--border)"},children:[f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsxs("a",{href:"https://hivehq.dev",target:"_blank",rel:"noopener noreferrer","aria-label":v("topbar.openWebsite"),title:v("topbar.openWebsite"),className:"-mx-1 flex items-center gap-2 rounded px-1 transition-opacity hover:opacity-80 focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-[var(--accent)]","data-testid":"topbar-brand-link",children:[f.jsx("img",{src:"/logo.png",alt:"","aria-hidden":!0,className:"h-5 w-5 rounded-md","data-testid":"topbar-logo"}),f.jsx("span",{className:"font-semibold text-pri",children:"Hive"}),f.jsxs("span",{className:"text-ter text-xs tabular-nums",children:["v",p]})]}),C?f.jsxs("div",{className:"flex items-center gap-2 text-xs","data-testid":"topbar-update-badge",children:[f.jsx("span",{className:"rounded border px-2 py-0.5 font-medium",style:{background:"color-mix(in oklab, var(--accent) 10%, transparent)",borderColor:"color-mix(in oklab, var(--accent) 30%, transparent)",color:"var(--accent)"},children:v("topbar.updateAvailable")}),f.jsxs("span",{className:"text-ter",children:["v",p," → v",C.latestVersion]}),f.jsx("code",{className:"mono text-ter",children:C.installHint})]}):null]}),f.jsx("div",{className:"flex-1"}),a?null:f.jsxs("div",{className:"flex items-center gap-1",children:[t,i?f.jsx(lt,{label:o?"Hide memory":"Show memory",children:f.jsxs("button",{type:"button",onClick:i,"aria-pressed":o,"aria-label":"Toggle memory",className:"flex h-7 cursor-pointer items-center gap-1 rounded border px-2 text-xs font-medium text-ter transition-colors hover:bg-3 hover:text-pri focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-[var(--accent)]","data-testid":"topbar-memory",style:{borderColor:"var(--border)",background:"var(--bg-1)"},children:[f.jsx(Ek,{size:13}),f.jsx("span",{children:"Memory"})]})}):null,l?f.jsx(lt,{label:k,children:f.jsxs("button",{type:"button",onClick:l,"aria-pressed":d,"aria-label":k,"data-has-tasks":A?"true":void 0,className:"flex h-7 cursor-pointer items-center gap-1 rounded border px-2 text-xs font-medium text-ter transition-colors hover:bg-3 hover:text-pri focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-[var(--accent)]","data-testid":"topbar-blueprint",style:{borderColor:"var(--border)",background:"var(--bg-1)"},children:[f.jsx(w0,{size:13,className:A?"text-accent":void 0}),f.jsx("span",{children:v("topbar.todo")})]})}):null,h?f.jsx(lt,{label:g?"Hide workflows":"Show workflows",children:f.jsxs("button",{type:"button",onClick:h,"aria-pressed":g,"aria-label":"Toggle workflows",className:"flex h-7 cursor-pointer items-center gap-1 rounded border px-2 text-xs font-medium text-ter transition-colors hover:bg-3 hover:text-pri focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-[var(--accent)]","data-testid":"topbar-workflows",style:{borderColor:"var(--border)",background:"var(--bg-1)"},children:[f.jsx(S0,{size:13}),f.jsx("span",{children:"Workflows"})]})}):null,f.jsx(yw,{}),f.jsx(bw,{}),f.jsx(F_,{})]})]})},Cw="hive.workspace-sidebar.width",Os=56,Sm=280,tf=Os,Cy=16,Z_=240,Ay=96,Nl=t=>Math.min(Sm,Math.max(Os,t)),Q_=()=>{try{const t=localStorage.getItem(Cw);if(!t)return tf;const a=Number.parseInt(t,10);return Number.isFinite(a)?Nl(a):tf}catch{return tf}},J_=()=>{const[t,a]=b.useState(Q_),[o,i]=b.useState(!1);b.useEffect(()=>{try{localStorage.setItem(Cw,String(Math.round(t)))}catch{}},[t]);const l=b.useCallback(g=>{g.preventDefault();const p=g.clientX,y=t;i(!0);const v=document.body.style.cursor,x=document.body.style.userSelect;document.body.style.cursor="col-resize",document.body.style.userSelect="none";const C=k=>{a(Nl(y+k.clientX-p))},A=()=>{i(!1),document.body.style.cursor=v,document.body.style.userSelect=x,document.removeEventListener("mousemove",C),document.removeEventListener("mouseup",A)};document.addEventListener("mousemove",C),document.addEventListener("mouseup",A)},[t]),c=t<=Ay,d=b.useCallback(()=>{a(g=>g<=Ay?Z_:Os)},[]),h=b.useCallback(g=>{g.key==="ArrowLeft"?(g.preventDefault(),a(p=>Nl(p-Cy))):g.key==="ArrowRight"?(g.preventDefault(),a(p=>Nl(p+Cy))):g.key==="Home"?(g.preventDefault(),a(Os)):g.key==="End"&&(g.preventDefault(),a(Sm))},[]);return{beginResize:l,collapsed:c,onResizeKeyDown:h,resizing:o,toggleCollapsed:d,width:t}},eN=({children:t,hideTopbarActions:a=!1,memoryOpen:o=!1,onToggleMemory:i,onToggleTaskGraph:l,openTaskCount:c=0,onToggleWorkflows:d,workflowsOpen:h=!1,sidebar:g,sidebarResize:p,taskGraphOpen:y=!1,topbarActions:v})=>{const{t:x}=Ce();return f.jsxs("div",{className:"flex h-screen w-full flex-col overflow-hidden",style:{background:"var(--bg-0)",color:"var(--text-primary)"},children:[f.jsx(X_,{actions:v,hideActions:a,memoryOpen:o,onToggleMemory:i,onToggleTaskGraph:l,openTaskCount:c,taskGraphOpen:y,onToggleWorkflows:d,workflowsOpen:h}),f.jsxs("div",{className:"flex min-h-0 min-w-0 flex-1 overflow-hidden",children:[f.jsxs("aside",{"aria-label":x("layout.sidebarAria"),className:"workspace-sidebar relative flex shrink-0 flex-col","data-resizing":p.resizing?"true":"false",style:{background:"var(--bg-0)",boxShadow:"inset -1px 0 0 var(--border)",width:`${p.width}px`},children:[g,f.jsx("hr",{"aria-label":x("layout.sidebarResizeAria"),"aria-orientation":"vertical","aria-valuemin":Os,"aria-valuemax":Sm,"aria-valuenow":Math.round(p.width),tabIndex:0,className:"workspace-sidebar-resizer","data-resizing":p.resizing?"true":"false",onMouseDown:p.beginResize,onKeyDown:p.onResizeKeyDown})]}),f.jsx("section",{className:"relative flex min-w-0 flex-1 overflow-hidden",children:t})]})]})},tN={disconnected:"mobile.reconnect.disconnected",reconnecting:"mobile.reconnect.reconnecting",revoked:"mobile.reconnect.revoked"},nN=({status:t})=>{const{t:a}=Ce();if(!t||t.state!=="reconnecting"&&t.state!=="disconnected"&&t.state!=="revoked")return null;const o=t.state==="revoked"?"var(--status-red)":"var(--status-orange)",i=t.state==="disconnected"?t.retry:void 0;return f.jsxs("div",{role:"status","data-testid":"mobile-reconnect-banner",className:"flex items-center justify-center gap-2 px-3 py-1.5 text-center text-xs",style:{background:`color-mix(in oklab, ${o} 18%, var(--bg-0))`,color:o},children:[f.jsx("span",{children:a(tN[t.state])}),i?f.jsx("button",{type:"button","data-testid":"mobile-reconnect-retry",className:"rounded border px-2 py-0.5 font-medium",style:{borderColor:"currentColor",color:"currentColor"},onClick:i,children:a("mobile.reconnect.retry")}):null]})},aN=({demoMode:t,onTryDemo:a,onExitDemo:o})=>{const{t:i}=Ce();return f.jsxs("div",{className:"mobile-settings-section flex min-h-full flex-col p-4","data-testid":"mobile-settings-section",children:[f.jsx("h1",{className:"mb-3 text-base font-semibold text-pri",children:i("mobile.section.settings")}),f.jsx(Ew,{}),f.jsxs("div",{className:"mt-4 mb-1 flex items-center gap-1.5 border-t pt-3 text-[11px] max-md:text-xs font-medium uppercase tracking-wide text-ter",style:{borderColor:"var(--border)"},children:[f.jsx(Ol,{size:12,"aria-hidden":!0}),f.jsx("span",{children:i("mobile.section.demo")})]}),t?f.jsxs("button",{type:"button","data-testid":"mobile-settings-exit-demo",onClick:o,className:"flex w-full items-center gap-3 rounded p-1.5 text-left text-sm text-pri hover:bg-3",children:[f.jsx(oS,{size:16,"aria-hidden":!0,className:"text-ter"}),f.jsx("span",{className:"min-w-0 flex-1 truncate",children:i("demo.exit")})]}):f.jsxs("button",{type:"button","data-testid":"mobile-settings-demo",onClick:a,className:"flex w-full items-center gap-3 rounded p-1.5 text-left text-sm text-pri hover:bg-3",children:[f.jsx(Ol,{size:16,"aria-hidden":!0,className:"text-ter"}),f.jsx("span",{className:"min-w-0 flex-1 truncate",children:i("mobile.section.demo")})]})]})},rN={team:k0,tasks:w0,flows:S0,settings:vf},oN={team:"mobile.nav.team",tasks:"mobile.nav.tasks",flows:"mobile.nav.flows",settings:"mobile.nav.settings"},sN=({active:t,onSelect:a,sections:o,openTaskCount:i=0,workingCount:l=0})=>{const{t:c}=Ce();return f.jsx("nav",{"aria-label":c("mobile.nav.aria"),className:"mobile-bottom-nav flex shrink-0 items-stretch","data-testid":"mobile-bottom-nav",style:{background:"var(--bg-0)",borderTop:"1px solid var(--border)"},children:o.map(d=>{const h=rN[d],g=c(oN[d]),p=d===t,y=d==="tasks"&&i>0?i:d==="team"&&l>0?l:0;return f.jsxs("button",{type:"button","aria-label":g,"aria-current":p?"page":void 0,"data-testid":`mobile-nav-${d}`,"data-active":p?"true":void 0,onClick:()=>a(d),className:"mobile-bottom-nav__tab relative flex flex-1 cursor-pointer flex-col items-center justify-center gap-0.5 py-2 text-xs",style:{color:p?"var(--text-primary)":"var(--text-tertiary)"},children:[p?f.jsx("span",{"aria-hidden":!0,className:"absolute top-0 left-1/2 h-0.5 w-8 -translate-x-1/2 rounded-b",style:{background:"var(--accent)"}}):null,f.jsx(h,{size:20,"aria-hidden":!0}),f.jsx("span",{children:g}),y>0?f.jsx("span",{className:"absolute top-1 right-[calc(50%-18px)] inline-flex h-[18px] min-w-[18px] items-center justify-center rounded-full px-1 text-[11px] font-medium tabular-nums leading-none","data-testid":`mobile-nav-${d}-badge`,style:{background:"var(--accent)",color:"#ffffff"},children:y}):null]},d)})})},iN=({workspaceSwitcher:t,actions:a,banner:o})=>f.jsxs("header",{className:"mobile-topbar flex shrink-0 flex-col","data-testid":"mobile-topbar",style:{background:"var(--bg-0)",borderBottom:"1px solid var(--border)"},children:[f.jsxs("div",{className:"flex h-12 items-center gap-2 px-3",children:[f.jsx("div",{className:"min-w-0 flex-1",children:t??f.jsx("span",{className:"font-semibold text-pri",children:"Hive"})}),f.jsx("div",{className:"flex shrink-0 items-center gap-1",children:a})]}),o]}),lN=()=>typeof navigator<"u"&&/iP(hone|ad|od)/.test(navigator.platform??navigator.userAgent),cN=()=>{const[t,a]=b.useState(null);return b.useEffect(()=>{if(!lN())return;const o=typeof window<"u"?window.visualViewport:null;if(!o)return;const i=()=>{const l=Math.abs(o.height-window.innerHeight)<10;a(l?null:o.height)};return i(),o.addEventListener("resize",i),()=>{o.removeEventListener("resize",i)}},[]),t},uN={team:"mobile-section-team",tasks:"mobile-section-tasks",flows:"mobile-section-flows",settings:"mobile-section-settings"},dN=({workspaceSwitcher:t,topbarActions:a,banner:o,fullBleed:i,team:l,tasks:c,flows:d,settings:h,terminalPanels:g,overlays:p,openTaskCount:y=0,workingCount:v=0,activeSection:x,onSectionChange:C})=>{const[A,k]=b.useState("team"),S=x??A,E=cN(),T=K=>{k(K),C?.(K)},N={team:l,tasks:c,flows:d,settings:h},R=["team","tasks"];d!=null&&R.push("flows"),h!=null&&R.push("settings");const M=R.includes(S)?S:"team",z=H0()&&M==="team"&&i==null;return f.jsxs("div",{className:`mobile-shell flex h-dvh w-full max-w-[100vw] min-w-0 flex-col overflow-hidden${z?" mobile-shell--focus":""}`,"data-mobile-shell":"true","data-testid":"mobile-shell","data-focus-mode":z?"true":void 0,style:{background:"var(--bg-0)",color:"var(--text-primary)",...E!=null?{height:`${E}px`}:{}},children:[z?o:f.jsx(iN,{workspaceSwitcher:t,actions:a,banner:o}),f.jsx("main",{className:"relative min-h-0 min-w-0 flex-1 overflow-hidden",children:i??f.jsx("div",{className:M==="team"?"flex h-full min-w-0 flex-col overflow-hidden":"flex h-full min-w-0 flex-col overflow-y-auto","data-testid":uN[M],"data-mobile-section":M,children:N[M]})}),g,i!=null||z?null:f.jsx(sN,{active:M,onSelect:T,sections:R,openTaskCount:y,workingCount:v}),p]})},cr=t=>a=>{console.error(`[hive] swallowed:${t}`,a)},fN=[],mN=b.lazy(()=>Tt(()=>import("./TaskGraphDrawer-BPMcRocd.js"),__vite__mapDeps([1,2])).then(t=>({default:t.TaskGraphContent}))),pN=({tasksFile:t,workspacePath:a,workers:o,onSelectOwner:i,onAddWorkspace:l,demoMode:c=!1})=>{const{t:d}=Ce(),h=o??fN,g=b.useMemo(()=>h.length?h.map(p=>p.name):void 0,[h]);return a?f.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[c?f.jsx("div",{className:"flex shrink-0 items-center justify-end px-3 py-1",children:f.jsx("span",{className:"pill pill--neutral text-xs",children:d("demo.readOnlyBadge")})}):null,f.jsx("div",{className:"min-h-0 flex-1",children:f.jsx(b.Suspense,{fallback:null,children:f.jsx(mN,{content:t.content,hasConflict:t.hasConflict,onContentChange:t.onChange,onKeepLocal:t.onKeepLocal,onReload:t.onReload,onSave:t.onSave,onToggleTaskLine:p=>{t.toggleTaskAtLine(p).catch(cr("tasks.toggleTaskAtLine"))},onAppendTask:p=>{t.appendTask(p).catch(cr("tasks.appendTask"))},onAppendSubtask:(p,y)=>{t.appendSubtask(p,y).catch(cr("tasks.appendSubtask"))},onUpdateTaskText:(p,y)=>{t.updateTaskText(p,y).catch(cr("tasks.updateTaskText"))},onDeleteTask:p=>{t.deleteTask(p).catch(cr("tasks.deleteTask"))},workspacePath:a,...g?{knownWorkerNames:g}:{},...i?{onSelectOwner:i}:{}})})})]}):f.jsx("div",{className:"flex h-full flex-col","data-testid":"mobile-tasks-empty",children:f.jsx(Is,{title:d("mobile.tasks.noWorkspaceTitle"),description:d("mobile.tasks.noWorkspaceDesc"),action:l?f.jsx("button",{type:"button",onClick:l,className:"icon-btn icon-btn--primary mt-1 flex min-h-11 items-center gap-1.5 px-4 py-2 text-xs font-medium",children:d("firstRun.addWorkspace")}):void 0})})},_y=[{token:"var(--accent)",label:"accent"},{token:"var(--status-blue)",label:"blue"},{token:"var(--status-purple)",label:"purple"},{token:"var(--status-orange)",label:"orange"},{token:"var(--status-green)",label:"green"},{token:"var(--status-gold)",label:"gold"}],hN=t=>{let a=0;for(let i=0;i<t.length;i+=1)a=a*31+t.charCodeAt(i)|0;const o=Math.abs(a)%_y.length;return _y[o]},gN=t=>{const a=t.trim();if(a.length===0)return"?";const o=a.codePointAt(0);return o===void 0?"?":String.fromCodePoint(o).toUpperCase()},_f=({workspaceId:t,name:a,isActive:o,working:i,workingCount:l,size:c=32})=>{const{token:d,label:h}=hN(t),g=gN(a),p=l&&l>1?l:null;return f.jsx(fw,{size:c,color:d,fontRatio:.45,ringColor:o?d:null,testId:"workspace-avatar",data:{"workspace-id":t,active:o?"true":void 0,"color-label":h},decoration:p!==null?f.jsx("span",{className:"absolute flex h-[16px] min-w-[16px] items-center justify-center rounded-full px-1 font-medium text-xs tabular-nums leading-none",style:{right:"-4px",bottom:"-4px",background:"var(--status-green)",color:"#0a1f0a",boxShadow:"0 0 0 2px var(--bg-1)"},"data-testid":"workspace-avatar-working-count","aria-hidden":!0,children:p>9?"9+":p}):i?f.jsx("span",{className:"status-dot status-dot--working absolute",style:{right:"-2px",bottom:"-2px",boxShadow:"0 0 0 2px var(--bg-1)"},"aria-hidden":!0}):null,children:g})},Ny=(t,a)=>{if(!t||t.length===0)return a("sidebar.noMembers");const o=t.filter(i=>i.status==="working").length;return o>0?a("sidebar.workingCount",{working:o,total:t.length}):a("sidebar.teamMemberCount",{count:t.length})},vN=({activeWorkspaceId:t,workspaces:a,workersByWorkspaceId:o,createDisabledReason:i,onSelectWorkspace:l,onCreateClick:c,onDeleteWorkspace:d})=>{const{t:h}=Ce(),g=aa(),[p,y]=b.useState(!1),[v,x]=b.useState(null),[C,A]=b.useState(!1),k=a?.find(E=>E.id===t)?.name??h("mobile.section.workspaces"),S=()=>{if(!v||C)return;const E=v;A(!0),Promise.resolve(d(E)).then(()=>{g.show({kind:"success",message:h("sidebar.removed",{name:E.name})})}).catch(T=>{const N=T instanceof Error?T.message:String(T);g.show({kind:"error",message:h("sidebar.deleteFailed",{message:N})})}).finally(()=>{A(!1),x(null)})};return f.jsxs(Ps,{open:p,onOpenChange:y,children:[f.jsx(i_,{asChild:!0,children:f.jsxs("button",{type:"button","data-testid":"mobile-workspace-switcher-trigger","aria-label":h("mobile.workspaces.switch"),className:"mobile-ws-switcher flex min-h-11 w-full items-center gap-1.5 rounded-md px-2 py-1.5 text-left hover:bg-2",children:[f.jsx("span",{className:"min-w-0 flex-1 truncate text-sm font-medium text-pri",children:k}),f.jsx(Xf,{size:16,"aria-hidden":!0,className:"shrink-0 text-ter"})]})}),f.jsxs(Ys,{children:[f.jsx(Ks,{"data-testid":"mobile-workspace-switcher-overlay",className:"app-overlay fixed inset-0 z-40"}),f.jsx("div",{className:"pointer-events-none fixed inset-0 z-50 grid items-end",children:f.jsxs(Fs,{"data-testid":"mobile-workspace-switcher-sheet",className:"dialog-slide-up elev-2 pointer-events-auto flex max-h-[70dvh] w-full flex-col overflow-hidden rounded-t-xl border-t",style:{background:"var(--bg-elevated)",borderColor:"var(--border-bright)"},children:[f.jsx(Vs,{asChild:!0,children:f.jsxs("div",{className:"flex shrink-0 items-baseline gap-2 border-b px-4 py-3",style:{borderColor:"var(--border)"},children:[f.jsx("span",{className:"text-base font-semibold text-pri",children:h("sidebar.workspaces")}),a&&a.length>0?f.jsx("span",{className:"text-xs text-ter tabular-nums",children:a.length}):null]})}),f.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto py-1",children:!a||a.length===0?f.jsxs("div",{className:"flex flex-col items-center gap-1 px-6 py-8 text-center",children:[f.jsx("span",{className:"text-sm font-medium text-sec",children:h("sidebar.noWorkspaces")}),f.jsx("span",{className:"text-xs text-ter",children:i??h("sidebar.noWorkspacesDesc")})]}):a.map(E=>{const T=E.id===t,N=o[E.id],R=N?.filter(M=>M.status==="working").length??0;return f.jsxs("div",{className:"flex items-center gap-1 pr-2",children:[f.jsxs("button",{type:"button","data-testid":`mobile-ws-row-${E.id}`,onClick:()=>{y(!1),l(E.id)},className:"flex min-h-14 min-w-0 flex-1 items-center gap-3 px-4 py-2 text-left",style:T?{background:"color-mix(in oklab, var(--accent) 10%, transparent)"}:void 0,children:[f.jsx(_f,{workspaceId:E.id,name:E.name,isActive:T,working:R>0,workingCount:R,size:36}),f.jsxs("span",{className:"flex min-w-0 flex-1 flex-col",children:[f.jsx("span",{className:"truncate text-sm font-medium text-pri",children:E.name}),f.jsx("span",{className:"truncate text-xs text-ter",children:Ny(N,h)})]}),T?f.jsx($f,{size:18,className:"shrink-0 text-accent","aria-hidden":!0}):null]}),f.jsx("button",{type:"button","aria-label":h("sidebar.deleteAria",{name:E.name}),"data-testid":`mobile-ws-delete-${E.id}`,onClick:()=>x(E),className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-md text-ter",children:f.jsx(Xl,{size:16,"aria-hidden":!0})})]},E.id)})}),f.jsx("div",{className:"shrink-0 border-t px-4 pt-3 pb-[max(12px,env(safe-area-inset-bottom))]",style:{borderColor:"var(--border)",background:"var(--bg-2)"},children:f.jsxs("button",{type:"button",disabled:!!i,title:i,"data-testid":"mobile-ws-create",onClick:()=>{y(!1),c()},className:"icon-btn icon-btn--primary flex w-full min-h-11 items-center justify-center gap-1.5",children:[f.jsx(Es,{size:16,"aria-hidden":!0}),h("sidebar.newWorkspace")]})})]})})]}),f.jsx(Gs,{open:v!==null,onOpenChange:E=>{!E&&!C&&x(null)},title:v?h("sidebar.deleteConfirm",{name:v.name}):h("sidebar.deleteLabel"),description:v?h("sidebar.deleteDescription",{path:v.path,summary:Ny(o[v.id],h)}):"",confirmLabel:h(C?"sidebar.deleting":"sidebar.deleteLabel"),confirmKind:"danger",onConfirm:S})]})},yN=4e3,bN=t=>{const[a,o]=b.useState([]);return b.useEffect(()=>{if(!t){o([]);return}let i=!1;const l=()=>{z0().then(d=>{i||o(d)}).catch(()=>{})};l();const c=window.setInterval(l,yN);return()=>{i=!0,window.clearInterval(c)}},[t]),a},wN=({devices:t,enabled:a})=>{const{notify:o}=om(),{t:i}=Ce(),l=b.useRef(null);return b.useEffect(()=>{if(!a){l.current=null;return}const c=new Map(t.filter(h=>!h.revoked).map(h=>[h.deviceId,h])),d=l.current;if(l.current=new Set(c.keys()),!!d)for(const[h,g]of c)d.has(h)||o({brief:i("notifications.remoteSession.brief",{name:g.name}),detail:i("notifications.remoteSession.detail",{name:g.name}),kind:"success",title:i("notifications.remoteSession.title")})},[t,a,o,i]),null},xN=()=>{const{status:t}=km(),a=t.enabled&&t.loggedIn,o=bN(a);return f.jsx(wN,{devices:o,enabled:a})};let Nf=!1;const Aw=()=>{Nf=!0,window.location.reload()},kN=t=>{b.useEffect(()=>{const a=o=>{if(Nf){Nf=!1;return}o.preventDefault(),o.returnValue=""};return window.addEventListener("beforeunload",a),()=>window.removeEventListener("beforeunload",a)},[t])},SN=3e3,EN=({onTryDemo:t}={})=>{const{t:a}=Ce(),[o,i]=b.useState(!1),l=b.useRef(!0),c=b.useCallback(()=>{typeof window>"u"||Aw()},[]),d=b.useCallback(async()=>{try{return(await fetch("/api/version",{credentials:"include"})).ok}catch{return!1}},[]);b.useEffect(()=>{l.current=!0;const g=window.setInterval(async()=>{l.current&&await d()&&c()},SN);return()=>{l.current=!1,window.clearInterval(g)}},[d,c]);const h=async()=>{i(!0);try{if(await d()){c();return}}finally{window.setTimeout(()=>{l.current&&i(!1)},400)}};return f.jsx("div",{className:"flex flex-1 items-center justify-center p-8","data-testid":"runtime-offline-page",children:f.jsxs("div",{className:"elev-1 flex max-w-md flex-col items-center gap-3 rounded border p-6 text-center",style:{background:"var(--bg-elevated)",borderColor:"var(--border)"},children:[f.jsx("div",{className:"flex h-12 w-12 items-center justify-center rounded-full",style:{background:"var(--bg-3)",color:"var(--status-orange)"},children:f.jsx(wS,{size:24,"aria-hidden":!0})}),f.jsx("div",{className:"font-semibold text-pri",children:a("pwa.runtimeOffline.title")}),f.jsx("div",{className:"text-sec text-sm leading-relaxed",children:a("pwa.runtimeOffline.body")}),f.jsxs("div",{className:"mt-2 flex flex-wrap items-center justify-center gap-2",children:[f.jsxs("button",{type:"button",className:"icon-btn icon-btn--primary flex items-center gap-2","data-testid":"runtime-offline-retry",disabled:o,onClick:()=>{h()},children:[o?f.jsx(bo,{size:12,className:"animate-spin","aria-hidden":!0}):f.jsx(Jf,{size:12,"aria-hidden":!0}),a(o?"pwa.runtimeOffline.retrying":"pwa.runtimeOffline.retry")]}),t?f.jsxs("button",{type:"button",className:"icon-btn flex items-center gap-2","data-testid":"runtime-offline-try-demo",onClick:t,children:[f.jsx(Bk,{size:12,"aria-hidden":!0}),a("pwa.runtimeOffline.tryDemo")]}):null]}),f.jsx("div",{className:"text-ter text-xs",children:a("pwa.runtimeOffline.autoReconnect")})]})})},Rf=new Set;let _w=null;const TN=t=>{_w=t;for(const a of Rf)a(t)},CN=t=>(Rf.add(t),t(_w),()=>{Rf.delete(t)}),AN=2e3,_N=async t=>{if(!t.serviceWorker)return;let a;try{a=await t.serviceWorker.register("/sw.js")}catch{return}const o=l=>{const c=()=>{l.state==="installed"&&t.serviceWorker?.controller&&TN(()=>{l.postMessage({type:"SKIP_WAITING"}),setTimeout(t.reload,AN)})};l.addEventListener("statechange",c)};a.waiting&&t.serviceWorker.controller&&o(a.waiting),a.installing&&o(a.installing),a.addEventListener("updatefound",()=>{a.installing&&o(a.installing)});let i=!1;t.serviceWorker.addEventListener("controllerchange",()=>{i||(i=!0,t.reload())})},NN=()=>typeof navigator>"u"||typeof window>"u"?Promise.resolve():_N({isProd:!0,serviceWorker:"serviceWorker"in navigator?navigator.serviceWorker:null,reload:Aw}),Ry=({terminalRuns:t})=>{const{t:a}=Ce(),o=Bt(),[i,l]=b.useState(null),[c,d]=b.useState(!1);if(b.useEffect(()=>CN(y=>{l(()=>y)}),[]),!i)return null;const h=t.every(y=>y.status==="stopped"),g=!h||c,p=a(c?"pwa.reloading":h?"pwa.reloadToActivate":"pwa.waitForAgents");return f.jsxs("div",{className:"update-toast elev-2 fixed right-4 bottom-8 z-50 flex items-center gap-3 rounded border px-3 py-2",style:{background:"var(--bg-elevated)",borderColor:"var(--border-bright)"},"data-mobile":o||void 0,"data-testid":"update-available-toast",role:"status","aria-live":"polite",children:[f.jsx(Jf,{size:14,className:"text-sec","aria-hidden":!0}),f.jsxs("div",{className:"flex flex-col",children:[f.jsx("span",{className:"font-medium text-pri text-xs",children:a("pwa.appShellUpdated")}),f.jsx("span",{className:"text-ter text-xs",children:a(h?"pwa.reloadToActivate":"pwa.waitForAgents")})]}),f.jsx("button",{type:"button",className:"icon-btn icon-btn--primary","data-testid":"update-available-reload",disabled:g,onClick:()=>{d(!0),i()},children:p})]})},RN=new Set(["add-workspace","try-demo"]),jN=t=>t!==null&&RN.has(t),ON=({onAddWorkspace:t,onTryDemo:a,ready:o})=>{const i=b.useRef(!1);b.useEffect(()=>{if(!o||i.current||typeof window>"u")return;const c=new URLSearchParams(window.location.search).get("action");jN(c)&&(i.current=!0,window.history.replaceState({},"",window.location.pathname),c==="add-workspace"?t():c==="try-demo"&&a())},[o,t,a])},jy=()=>{const{t}=Ce(),a=aa(),o=Bt(),{pending:i,refresh:l}=km(),[c,d]=b.useState(!1),h=b.useRef(!1),g=i?.deviceName??"",p=i?.pairingId??null,y=i?.expiresAt??null;b.useEffect(()=>{p!==null&&(h.current=!1)},[p]);const v=b.useCallback(async()=>{if(!(!p||c||h.current)){h.current=!0,d(!0);try{await WE(p),a.show({kind:"success",message:t("remote.confirm.paired",{name:g})})}catch{h.current=!1,a.show({kind:"error",message:t("remote.confirm.failed")})}finally{d(!1),await l()}}},[p,c,g,l,t,a]),x=b.useCallback(async C=>{if(!(!p||h.current)){h.current=!0;try{await qE(p)}catch{}a.show({kind:C==="expired"?"warning":"success",message:t(C==="expired"?"remote.confirm.expired":"remote.confirm.rejected")}),d(!1),await l()}},[p,l,t,a]);return b.useEffect(()=>{if(y===null)return;const C=y-Date.now();if(C<=0){x("expired");return}const A=window.setTimeout(()=>{x("expired")},C);return()=>window.clearTimeout(A)},[y,x]),!i||o?null:f.jsx(Ps,{open:!0,onOpenChange:C=>{C||x("rejected")},children:f.jsxs(Ys,{children:[f.jsx(Ks,{"data-testid":"remote-pairing-confirm-overlay",className:"app-overlay fixed inset-0 z-[80]"}),f.jsx("div",{className:"pointer-events-none fixed inset-0 z-[90] grid place-items-center p-4",children:f.jsxs(Fs,{"data-testid":"remote-pairing-confirm",className:"dialog-scale-pop elev-2 pointer-events-auto w-[440px] max-w-[calc(100vw-32px)] rounded-lg border p-5",style:{background:"var(--bg-elevated)",borderColor:"var(--border-bright)"},children:[f.jsxs("div",{className:"flex items-start gap-3",children:[f.jsx("div",{"aria-hidden":!0,className:"flex h-9 w-9 shrink-0 items-center justify-center rounded",style:{background:"color-mix(in oklab, var(--accent) 14%, transparent)",color:"var(--accent)",border:"1px solid color-mix(in oklab, var(--accent) 30%, transparent)"},children:f.jsx(SS,{size:18})}),f.jsxs("div",{className:"min-w-0 flex-1",children:[f.jsx(Vs,{className:"text-lg font-semibold text-pri",children:t("remote.confirm.title")}),f.jsx(lc,{className:"mt-1.5 text-sm text-sec",children:t("remote.confirm.description",{name:g})})]})]}),f.jsxs("div",{className:"mt-4",children:[f.jsx("div",{className:"mb-1 text-xs font-medium uppercase tracking-wider text-ter",children:t("remote.confirm.sasLabel")}),f.jsx("div",{"data-testid":"remote-pairing-sas",className:"rounded border bg-2 py-3 text-center font-mono text-3xl tracking-[0.4em] text-pri",style:{borderColor:"var(--border)"},children:i.sas}),f.jsx("p",{className:"mt-2 text-xs text-ter",children:t("remote.confirm.warning")})]}),f.jsxs("div",{className:"mt-5 flex justify-end gap-2",children:[f.jsx("button",{type:"button","data-testid":"remote-pairing-reject",onClick:()=>{x("rejected")},disabled:c,className:"icon-btn",children:t("remote.confirm.reject")}),f.jsx("button",{type:"button","data-testid":"remote-pairing-confirm-action",onClick:()=>{v()},disabled:c,className:"icon-btn icon-btn--primary",children:t(c?"remote.confirm.confirming":"remote.confirm.confirm")})]})]})})]})})},MN=t=>!!t?.some(a=>a.status==="working"),DN=t=>t?.filter(a=>a.status==="working").length??0,LN=(t,a)=>{if(!t||t.length===0)return a("sidebar.noMembers");const o=t.filter(i=>i.status==="working").length;return o>0?a("sidebar.workingCount",{working:o,total:t.length}):a("sidebar.teamMemberCount",{count:t.length})},Nw="hive.sidebar.githubDismissed",zN="https://www.bilibili.com/video/BV1UHLp6nEQR",BN=()=>{if(typeof window>"u")return!1;try{return window.localStorage.getItem(Nw)==="1"}catch{return!1}},HN=({activeWorkspaceId:t,collapsed:a=!1,createDisabledReason:o,onCreateClick:i,onDeleteWorkspace:l,onSelectWorkspace:c,onToggleCollapse:d,workersByWorkspaceId:h,workspaces:g})=>{const{t:p}=Ce(),[y,v]=b.useState(null),[x,C]=b.useState(!1),[A,k]=b.useState(BN),S=aa(),E=()=>{k(!0);try{window.localStorage.setItem(Nw,"1")}catch{}},T=!!o,N=D=>{v(D)},R=()=>{if(!y||x)return;const D=y;C(!0),Promise.resolve(l(D)).then(()=>{S.show({kind:"success",message:p("sidebar.removed",{name:D.name})})}).catch(z=>{const K=z instanceof Error?z.message:String(z);S.show({kind:"error",message:p("sidebar.deleteFailed",{message:K})})}).finally(()=>{C(!1),v(null)})},M=f.jsx(Gs,{open:y!==null,onOpenChange:D=>{!D&&!x&&v(null)},title:y?p("sidebar.deleteConfirm",{name:y.name}):p("sidebar.deleteLabel"),description:y?p("sidebar.deleteDescription",{path:y.path,summary:LN(h[y.id],p)}):"",confirmLabel:p(x?"sidebar.deleting":"sidebar.deleteLabel"),confirmKind:"danger",onConfirm:R});return f.jsxs("nav",{"aria-label":"Workspaces",className:"flex h-full flex-col",children:[f.jsxs("div",{className:"ws-sidebar-header flex items-center justify-between gap-2 px-3 pt-3 pb-2",style:{boxShadow:"inset 0 -1px 0 var(--border)"},children:[f.jsxs("div",{className:"ws-sidebar-title flex min-w-0 items-center gap-2",children:[f.jsx("span",{className:"ws-sidebar-title__text text-xs font-medium text-ter","data-testid":"workspace-sidebar-title",children:p("sidebar.workspaces")}),g&&g.length>0?f.jsx("span",{className:"ws-sidebar-count mono rounded bg-2 px-1.5 py-0.5 text-xs text-ter",children:g.length}):null]}),d?f.jsx(lt,{side:"right",label:p(a?"layout.sidebarExpand":"layout.sidebarCollapse"),children:f.jsx("button",{type:"button","aria-label":p(a?"layout.sidebarExpand":"layout.sidebarCollapse"),"aria-expanded":!a,"data-testid":"workspace-sidebar-toggle",onClick:d,className:"ws-collapse-toggle",children:a?f.jsx(Mk,{size:16,"aria-hidden":!0}):f.jsx(jk,{size:16,"aria-hidden":!0})})}):null]}),g===null?f.jsx("p",{className:"px-3 py-2 text-xs text-ter",children:p("common.loading")}):g.length===0?f.jsxs("div",{className:"ws-empty flex-1 px-2 py-4",children:[f.jsx("div",{className:"ws-empty__wide",children:f.jsx(Is,{title:p("sidebar.noWorkspaces"),description:o??p("sidebar.noWorkspacesDesc"),icon:f.jsx(b0,{size:20}),action:f.jsxs("button",{type:"button",onClick:T?void 0:i,disabled:T,"aria-label":p("sidebar.newWorkspace"),title:o??p("sidebar.newWorkspace"),className:"icon-btn icon-btn--primary mt-1 flex items-center gap-1.5 px-4 py-2 text-xs font-medium disabled:cursor-not-allowed disabled:opacity-50",children:[f.jsx(Es,{size:14,"aria-hidden":!0}),p("sidebar.newWorkspace")]})})}),f.jsx(lt,{side:"right",label:o??p("sidebar.newWorkspace"),children:f.jsx("button",{type:"button",onClick:T?void 0:i,disabled:T,"aria-label":p("sidebar.newWorkspace"),title:o??p("sidebar.newWorkspace"),"data-testid":"sidebar-empty-compact-add",className:"ws-empty__compact icon-btn icon-btn--primary hidden h-8 w-8 items-center justify-center disabled:cursor-not-allowed disabled:opacity-50",children:f.jsx(Es,{size:16,"aria-hidden":!0})})})]}):f.jsxs("ul",{className:"flex-1 scroll-y pb-2",children:[g.map(D=>{const z=h[D.id],K=D.id===t,P=MN(z),ne=DN(z);return f.jsxs("li",{className:"group relative",children:[f.jsx(lt,{side:"right",label:f.jsxs("span",{className:"flex flex-col gap-0.5",children:[f.jsx("span",{className:"font-medium",children:D.name}),f.jsx("span",{className:"mono text-ter",children:D.path})]}),children:f.jsxs("button",{type:"button","aria-label":D.name,"aria-current":K?"true":void 0,"data-workspace-path":D.path,onClick:()=>c(D.id),className:`ws-row flex w-full items-center gap-2.5 py-1.5 pr-7 pl-2 text-left pointer-coarse:min-h-11${K?" active":""}`,children:[f.jsx(_f,{workspaceId:D.id,name:D.name,isActive:K,working:P,workingCount:ne}),f.jsx("span",{className:`min-w-0 flex-1 truncate text-sm ${K?"font-medium text-pri":"text-pri"}`,children:D.name})]})}),f.jsx(lt,{side:"right",label:f.jsxs("span",{className:"flex flex-col gap-0.5",children:[f.jsx("span",{className:"font-medium",children:D.name}),f.jsx("span",{className:"mono text-ter",children:D.path})]}),children:f.jsx("button",{type:"button","aria-label":D.name,"aria-current":K?"true":void 0,onClick:()=>c(D.id),className:"ws-avatar-cell hidden w-full justify-center py-2","data-testid":"ws-avatar-cell",children:f.jsx(_f,{workspaceId:D.id,name:D.name,isActive:K,working:P,workingCount:ne})})}),f.jsx(lt,{label:p("sidebar.deleteAria",{name:D.name}),children:f.jsx("button",{type:"button","aria-label":p("sidebar.deleteAria",{name:D.name}),onClick:()=>N(D),className:"ws-row-delete absolute top-2 right-2 flex h-6 w-6 items-center justify-center rounded text-ter opacity-0 transition-colors pointer-coarse:h-10 pointer-coarse:w-10 hover:text-status-red focus:opacity-100 group-hover:opacity-100",children:f.jsx(Xl,{size:14,"aria-hidden":!0})})})]},D.id)}),f.jsx("li",{children:f.jsx(lt,{label:o??p("sidebar.newWorkspace"),children:f.jsxs("button",{type:"button",onClick:T?void 0:i,disabled:T,"aria-label":p("sidebar.newWorkspace"),title:o??void 0,className:"ws-add ws-add--inline mx-3 mt-1 flex items-center justify-center gap-1.5 rounded border border-dashed px-3 py-2 text-xs font-medium text-sec transition-colors disabled:cursor-not-allowed disabled:opacity-50",style:{borderColor:"var(--border-bright)"},children:[f.jsx(Es,{size:14,"aria-hidden":!0}),f.jsx("span",{className:"ws-add__label",children:p("sidebar.newWorkspace")})]})})})]}),A?null:f.jsxs("div",{className:"ws-sidebar-footer group relative",style:{boxShadow:"inset 0 1px 0 var(--border)"},children:[f.jsxs("a",{href:zN,target:"_blank",rel:"noopener noreferrer","aria-label":p("sidebar.openDemoVideo"),title:p("sidebar.openDemoVideo"),className:"ws-sidebar-footer__link flex items-center gap-2.5 px-3 py-3 text-sm text-ter transition-colors hover:text-pri",children:[f.jsx("img",{src:"/bilibili.ico",alt:"","aria-hidden":"true",className:"h-[18px] w-[18px] rounded-[4px] object-cover",draggable:!1}),f.jsx("span",{className:"ws-sidebar-footer__label",children:p("sidebar.demoVideo")})]}),f.jsxs("a",{href:"https://github.com/tt-a1i/hive",target:"_blank",rel:"noopener noreferrer","aria-label":p("sidebar.openRepository"),title:p("sidebar.openRepository"),className:"ws-sidebar-footer__link flex items-center gap-2.5 px-3 py-3 text-sm text-ter transition-colors hover:text-pri",children:[f.jsx("svg",{width:"18",height:"18",viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true",children:f.jsx("path",{d:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"})}),f.jsx("span",{className:"ws-sidebar-footer__label",children:"GitHub"})]}),f.jsx("button",{type:"button","aria-label":p("sidebar.dismissRepository"),title:p("sidebar.dismissRepository"),onClick:E,className:"ws-sidebar-footer__dismiss absolute top-1.5 right-1.5 flex h-4 w-4 items-center justify-center rounded text-ter opacity-0 transition-opacity pointer-coarse:h-8 pointer-coarse:w-8 hover:bg-3 hover:text-pri focus:opacity-100 group-hover:opacity-100",children:f.jsx(fo,{size:10,"aria-hidden":!0})})]}),M]})},On=/^(\s*)-\s+\[( |x|X)\]\s+(.*)$/,UN=/(?:^|[\s\p{P}])(@[A-Za-z0-9_-]+)/gu,WN=t=>{const a=[];for(const o of t.matchAll(UN))o[1]&&a.push(o[1]);return a},qN=t=>{const a=new Map;for(const o of t){const i=o.trim();i&&a.set(i.toLowerCase(),i)}return a},R6=(t,a={})=>{const o=[],i=[],l=t.split(/\r?\n/),c=a.knownWorkerNames?qN(a.knownWorkerNames):null;for(let d=0;d<l.length;d++){const h=l[d];if(!h)continue;const g=h.match(On);if(!g)continue;const[,p="",y=" ",v=""]=g,x=p.replace(/\t/g," ").length,C=WN(v);let A;if(c){A=[];for(const T of C){const N=c.get(T.slice(1).toLowerCase());N&&A.push(`@${N}`)}}else A=C;let k=v;for(const T of A){const N=T.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");k=k.replace(new RegExp(`(?:^|(?<=\\s|\\p{P}))${N}(?!\\w)`,"u"),"")}k=k.replace(/\s+/g," ").trim();const S={checked:y.toLowerCase()==="x",children:[],indent:x,line:d,mentions:A,text:k};for(;i.length>0;){const T=i[i.length-1];if(T&&T.indent<x)break;i.pop()}const E=i[i.length-1];E?E.children.push(S):o.push(S),i.push(S)}return o},IN=t=>{let a=0;const o=[],i=t.split(/\r?\n/);for(const l of i){if(!l)continue;const c=l.match(On);if(!c)continue;const[,d="",h=" "]=c,g=d.replace(/\t/g," ").length;for(;o.length>0;){const p=o[o.length-1];if(p&&p.indent<g)break;o.pop()}!o[o.length-1]&&h.toLowerCase()!=="x"&&(a+=1),o.push({indent:g})}return a},j6=t=>{if(t.children.length===0)return null;let a=0;for(const o of t.children)o.checked&&(a+=1);return{done:a,total:t.children.length}},$s=t=>t.includes(`\r
|
|
70
|
+
`)?`\r
|
|
71
|
+
`:`
|
|
72
|
+
`,PN=(t,a)=>{const o=$s(t),i=t.length>0&&!t.endsWith(`
|
|
73
|
+
`);return`${t}${i?o:""}- [ ] ${a}${o}`},YN=(t,a)=>{const o=t.split(/\r?\n/),i=o[a];if(i===void 0)return t;const l=i.match(On);if(!l)return t;const c=(l[2]??" ").toLowerCase()==="x",d=i.replace(On,(h,g,p,y)=>`${g}- [${c?" ":"x"}] ${y}`);return o[a]=d,o.join($s(t))},Rw=t=>t.replace(/\r?\n/g," ").replace(/\s+/g," ").trim(),KN=(t,a,o)=>{const i=t.split(/\r?\n/),l=i[a];if(l===void 0||!l.match(On))return t;const d=Rw(o);if(!d)return t;const h=l.replace(On,(g,p,y)=>`${p}- [${y}] ${d}`);return i[a]=h,i.join($s(t))},FN=(t,a)=>{const o=t.split(/\r?\n/),i=o[a];if(i===void 0)return t;const l=i.match(On);if(!l)return t;const c=(l[1]??"").replace(/\t/g," ").length;let d=a+1;for(;d<o.length;){const h=o[d];if(h===void 0)break;const g=h.match(On);if(!g||(g[1]??"").replace(/\t/g," ").length<=c)break;d+=1}return o.splice(a,d-a),o.join($s(t))},VN=(t,a,o)=>{const i=Rw(o);if(!i)return t;const l=t.split(/\r?\n/),c=l[a];if(c===void 0)return t;const d=c.match(On);if(!d)return t;const h=d[1]??"",g=h.replace(/\t/g," ").length;let p=a+1;for(;p<l.length;){const v=l[p];if(v===void 0)break;const x=v.match(On);if(!x||(x[1]??"").replace(/\t/g," ").length<=g)break;p+=1}const y=`${h} `;return l.splice(p,0,`${y}- [ ] ${i}`),l.join($s(t))},GN=(t,a,o)=>t===a||t===o,$N=(t,a)=>{const[o,i]=b.useState(""),[l,c]=b.useState(!1),[d,h]=b.useState(!1),[g,p]=b.useState(null),y=b.useRef(!1),v=b.useRef(""),x=b.useRef(""),C=b.useCallback((k,S)=>{if(!y.current){v.current=k,x.current=k,i(k),h(!1),p(null);return}GN(k,v.current,S)||(p(k),h(!0))},[]);if(b.useEffect(()=>{if(!t){i(""),c(!1),h(!1),p(null),y.current=!1,v.current="",x.current="";return}let k=!1;return i(""),c(!1),h(!1),p(null),y.current=!1,v.current="",x.current="",AE(t).then(({content:S})=>{k||(v.current=S,y.current=!1,x.current=S,i(S),c(!0),h(!1),p(null))}).catch(S=>{k||(v.current="",y.current=!1,x.current="",i(""),c(!0),h(!1),console.error("[hive] swallowed:tasks.initialLoad",S),p(null))}),()=>{k=!0}},[t]),b.useEffect(()=>{if(!t)return;let k=!1,S=null,E=0,T=null;const N=()=>{if(k)return;const R=A0().openWebSocket(`/ws/tasks/${t}`);T=R,R.onmessage=M=>{if(k)return;const D=JSON.parse(String(M.data));D.type!=="tasks-snapshot"&&D.type!=="tasks-updated"||typeof D.content=="string"&&(E=0,C(D.content,x.current))},R.onclose=()=>{if(k)return;E+=1;const M=Math.min(3e4,500*2**(E-1));S=setTimeout(N,M)}};return N(),()=>{k=!0,S!==null&&(clearTimeout(S),S=null),T?.close()}},[C,t]),a!==void 0)return{content:a,hasConflict:!1,loaded:!0,onChange:k=>{},onKeepLocal:()=>{},onReload:()=>{},onSave:async()=>{},toggleTaskAtLine:async k=>{},appendTask:async k=>{},appendSubtask:async(k,S)=>{},updateTaskText:async(k,S)=>{},deleteTask:async k=>{}};const A=async(k,S)=>{if(!t)return;const E=x.current,T=k(E);if(T!==E){v.current=T,x.current=T,y.current=!1,i(T);try{const N=await ml(t,{content:T});v.current=N.content,x.current=N.content,i(N.content)}catch(N){throw v.current=E,x.current=E,i(E),console.error(`[hive] swallowed:tasks.${S}`,N),N}}};return{content:o,hasConflict:d,loaded:l,onChange:k=>{y.current=k!==v.current,x.current=k,i(k)},onKeepLocal:()=>{h(!1),p(null)},onReload:()=>{const k=g??v.current;v.current=k,y.current=!1,x.current=k,i(k),h(!1),p(null)},onSave:async()=>{if(!t)return;const k=await ml(t,{content:o});v.current=k.content,y.current=!1,x.current=k.content,i(k.content),h(!1),p(null)},toggleTaskAtLine:async k=>{if(!t)return;const S=x.current,E=YN(S,k);if(E!==S){v.current=E,x.current=E,y.current=!1,i(E);try{const T=await ml(t,{content:E});v.current=T.content,x.current=T.content,i(T.content)}catch(T){throw v.current=S,x.current=S,i(S),T}}},appendTask:async k=>{const S=k.trim();if(!t||!S)return;const E=x.current,T=PN(E,S);v.current=T,x.current=T,y.current=!1,i(T);try{const N=await ml(t,{content:T});v.current=N.content,x.current=N.content,i(N.content)}catch(N){throw v.current=E,x.current=E,i(E),N}},appendSubtask:async(k,S)=>{const E=S.trim();E&&await A(T=>VN(T,k,E),"appendSubtask")},updateTaskText:async(k,S)=>{const E=S.trim();E&&await A(T=>KN(T,k,E),"updateTaskText")},deleteTask:async k=>{await A(S=>FN(S,k),"deleteTask")}}},XN=3e3,jw=(t,a,o)=>{const i=new Set(t.map(c=>c.run_id)),l=new Set(t.map(c=>c.agent_id));return[...t,...a.filter(c=>i.has(c.run_id)?!1:o&&Zl(c,o)?!0:!l.has(c.agent_id))]},ZN=(t,a)=>{const[o,i]=b.useState({}),l=b.useRef(new Map);b.useEffect(()=>()=>{for(const p of l.current.values())window.clearTimeout(p);l.current.clear()},[]);const c=b.useCallback((p,y)=>{i(v=>({...v,[p]:(v[p]??[]).filter(x=>x.agent_id!==y)}))},[]),d=b.useCallback((p,y)=>{const v=l.current.get(y);v&&window.clearTimeout(v),l.current.delete(y),i(x=>({...x,[p]:(x[p]??[]).filter(C=>C.run_id!==y)}))},[]);b.useEffect(()=>{if(!t||a.length===0)return;const p=new Set(a.map(y=>y.run_id));i(y=>{const v=y[t]??[],x=v.filter(C=>{if(!p.has(C.run_id))return!0;const A=l.current.get(C.run_id);return A&&window.clearTimeout(A),l.current.delete(C.run_id),!1});return x.length===v.length?y:{...y,[t]:x}})},[a,t]);const h=b.useCallback(({agentId:p,agentName:y,runId:v,status:x="starting",terminalInputProfile:C="default",workspaceId:A})=>{const k={agent_id:p,agent_name:y,run_id:v,status:x,terminal_input_profile:C};i(T=>{const N=Zl(k,A),R=(T[A]??[]).filter(M=>M.run_id===k.run_id?!1:N?!0:M.agent_id!==k.agent_id);return{...T,[A]:[...R,k]}});const S=l.current.get(v);S&&window.clearTimeout(S);const E=window.setTimeout(()=>{i(T=>({...T,[A]:(T[A]??[]).filter(N=>N.run_id!==v)})),l.current.delete(v)},XN);l.current.set(v,E)},[]),g=b.useMemo(()=>jw(a,t?o[t]??[]:[],t),[a,o,t]);return{forgetOptimisticAgent:c,forgetOptimisticRun:d,optimisticRunsByWorkspaceId:o,recordOptimisticRun:h,terminalRuns:g}};let Ow=null;const jf=new Set,QN=t=>{Ow=t;for(const a of jf)a()},JN=t=>(jf.add(t),()=>jf.delete(t)),eR=()=>Ow,tR=(t=typeof window<"u"?window.matchMedia.bind(window):void 0,a=typeof navigator<"u"?navigator.standalone:void 0)=>t?.("(display-mode: standalone)").matches?!0:a===!0,nR=t=>{if(!t||!(t instanceof HTMLElement))return!1;const a=t.tagName.toLowerCase();return!!(a==="input"||a==="textarea"||a==="select"||t.isContentEditable||t.closest(".xterm"))},aR=typeof navigator<"u"&&/Mac|iPhone|iPad/.test(navigator.platform),rR=(t,a)=>a?t.metaKey:t.ctrlKey,oR=(t,a,o=aR)=>!(t.key.toLowerCase()!==a.key||(a.mod??!1)!==rR(t,o)||(a.alt??!1)!==t.altKey||(a.shift??!1)!==t.shiftKey),sR=t=>{b.useEffect(()=>{const a=o=>{if(!nR(o.target))for(const i of t){if(!oR(o,i))continue;i.handler(o)!==!1&&o.preventDefault();return}};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[t])},iR=({bootstrapError:t,onSelectWorkspace:a,onTriggerAddDialog:o,workspaces:i})=>{const l=b.useMemo(()=>{if(!tR())return[];const c=(i??[]).slice(0,9).map((d,h)=>({key:String(h+1),mod:!0,handler:()=>a(d.id)}));return[{key:"n",mod:!0,shift:!0,handler:()=>{t||o()}},...c]},[t,a,o,i]);sR(l)},lR=15e3,cR=async(t,a=lR)=>new Promise((o,i)=>{let l=!1;const c=window.setTimeout(()=>{l=!0,i(new Error("Hive runtime bootstrap timed out"))},a);t.then(d=>{l||(l=!0,window.clearTimeout(c),o(d))},d=>{l||(l=!0,window.clearTimeout(c),i(d))})}),uR=(t,a)=>a&&t.some(o=>o.id===a)?a:t[0]?.id??null,dR=(t,a)=>{if(t===null)return a;const o=new Map(t.map(i=>[i.id,i]));for(const i of a)o.set(i.id,i);return Array.from(o.values())},fR=(t,a,o)=>{b.useEffect(()=>{let i=!1;const l=R0().then(async()=>{const[c,d]=await Promise.all([nE(),lE().catch(()=>null)]);return{items:c,persistedId:d}});return cR(l).then(({items:c,persistedId:d})=>{i||t(h=>{const g=dR(h,c),p=uR(g,d);return a(p),d!==p&&O0(p).catch(y=>{console.error("[hive] swallowed:initSession.save",y)}),g})}).catch(c=>{i||(a(null),o&&o("Could not reach Hive runtime. Refresh once the runtime is back up.")),console.error("[hive] swallowed:initSession.bootstrap",c)}),()=>{i=!0}},[a,t,o])},mR=()=>{const t=b.useRef(null);return b.useCallback(a=>{if(typeof document>"u")return;const o=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(a):a.replace(/"/g,'\\"'),i=document.querySelector(`[data-worker-name="${o}"]`);i&&(i.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"}),i.classList.add("worker-card-shell--highlight"),t.current&&clearTimeout(t.current),t.current=setTimeout(()=>{i.classList.remove("worker-card-shell--highlight"),t.current=null},1e3))},[])},pR=({onWorkspaceCreated:t,onError:a})=>{const[o,i]=b.useState({}),[l,c]=b.useState({}),d=b.useCallback((g,p)=>{i(y=>({...y,[g]:p.ok?null:p.error})),c(y=>({...y,[g]:p.ok?p.run_id:null}))},[]),h=b.useCallback(async g=>{try{const p=await oE({name:g.name,path:g.path,autostart_orchestrator:!0,command_preset_id:g.commandPresetId,startup_command:g.startupCommand??null});return d(p.id,p.orchestrator_start),t({id:p.id,name:p.name,path:p.path}),p}catch(p){const y=p instanceof Error?p.message:"Failed to create workspace";throw a?.(y),p}},[t,a,d]);return{orchestratorAutostartErrors:o,orchestratorAutostartRunIds:l,recordOrchestratorResult:d,createNewWorkspace:h}},hR=(t,a)=>{const o=t.findIndex(l=>l.id===a),i=t.filter(l=>l.id!==a);return o<0?i[0]?.id??null:i[Math.min(o,i.length-1)]?.id??null},gR=({activeWorkspaceId:t,onActiveDeleted:a,selectWorkspace:o,setWorkersByWorkspaceId:i,setWorkspaces:l,workspaces:c})=>async d=>{const g=hR(c??[],d.id);await sE(d.id),l(p=>p?.filter(y=>y.id!==d.id)??p),i(p=>{const y={...p};return delete y[d.id],y}),d.id===t&&(a(),o(g))},vR=()=>{const[t,a]=b.useState(null),o=b.useRef(Promise.resolve());return{activeWorkspaceId:t,selectWorkspace:l=>{a(l),o.current=o.current.catch(cr("selectWorkspace.prevQueue")).then(()=>O0(l)).catch(cr("selectWorkspace.save"))},setActiveWorkspaceId:a}},Mw=500,yR=5e3,bR=5e3,wR=()=>({failureCount:0,inFlight:!1,lastSettledAt:null}),xR=(t,a)=>Math.min((a?Mw:yR)*2**t,bR),kR=(t,a)=>t.length!==a.length?!1:t.every((o,i)=>{const l=a[i];return l!==void 0&&o.commandPresetId===l.commandPresetId&&o.id===l.id&&o.lastPtyLine===l.lastPtyLine&&o.name===l.name&&o.pendingTaskCount===l.pendingTaskCount&&o.role===l.role&&o.status===l.status}),Oy=(t,a)=>{const o=Object.keys(t),i=Object.keys(a);return o.length!==i.length?!1:i.every(l=>Object.hasOwn(t,l)&&kR(t[l]??[],a[l]??[]))},SR=(t,a={})=>{const o=t.join("\0"),i=b.useRef(a.activeWorkspaceId),l=b.useRef(new Map),c=b.useRef(null),[d,h]=b.useState({});return i.current=a.activeWorkspaceId,b.useEffect(()=>{if(!o){h({}),l.current.clear();return}let g=!1,p;const y=o.split("\0"),v=new Set(y);for(const E of l.current.keys())v.has(E)||l.current.delete(E);h(E=>{const T={};for(const N of y)T[N]=E[N]??[];return Oy(E,T)?E:T});const x=E=>{let T=l.current.get(E);return T||(T=wR(),l.current.set(E,T)),T},C=E=>i.current===E,A=E=>{const T=x(E);T.inFlight||(T.inFlight=!0,hE(E).then(N=>{g||(T.failureCount=0,h(R=>{if(!v.has(E))return R;const M={};for(const D of y)M[D]=D===E?N:R[D]??[];return Oy(R,M)?R:M}))}).catch(N=>{g||(T.failureCount=Math.min(T.failureCount+1,4),console.error("[hive] swallowed:workspaceWorkers.list",N))}).finally(()=>{T.inFlight=!1,T.lastSettledAt=g?null:Date.now()}))},k=()=>{const E=Date.now();for(const T of y){const N=x(T);if(N.inFlight)continue;if(N.lastSettledAt===null){A(T);continue}const R=xR(N.failureCount,C(T));E-N.lastSettledAt>=R&&A(T)}},S=(E=Mw)=>{g||(p!==void 0&&window.clearTimeout(p),p=window.setTimeout(()=>{p=void 0,k(),S()},E))};return c.current=()=>{p!==void 0&&(window.clearTimeout(p),p=void 0),k(),S()},k(),S(),()=>{g=!0,p!==void 0&&window.clearTimeout(p),c.current&&(c.current=null)}},[o]),b.useEffect(()=>{const g=a.activeWorkspaceId;if(!g||!o.split("\0").includes(g))return;const p=l.current.get(g);p&&!p.inFlight&&(p.lastSettledAt=null,p.failureCount=0),c.current?.()},[a.activeWorkspaceId,o]),[d,h]},Of="hive:terminal-visible-resize",ER=t=>new CustomEvent(Of,{detail:{runId:t}}),TR="\x1B[200~",My="\x1B[201~",CR=(t,a)=>{const o=t.split(My).join("");return a?.modes?.bracketedPasteMode===!1?o:`${TR}${o}${My}`},AR=(t,a)=>{let o,i=!1,l=!1;const c=()=>{t.value="",t.scrollLeft=0,t.scrollTop=0},d=()=>{o!==void 0&&clearTimeout(o),o=setTimeout(()=>{o=void 0,i=!1,l=!1,a.setComposing(!1)},0)},h=A=>A.data||t.value,g=A=>A.inputType==="insertText"||A.inputType==="insertFromComposition"||A.inputType==="insertReplacementText"||A.inputType==="insertDictationResult",p=()=>{i=!0,l=!1,a.setComposing(!0)},y=()=>{i=!0,a.setComposing(!0)},v=A=>{const S=A.data||t.value;!l&&S&&a.commit(S),c(),d()},x=A=>{const k=A;if(i||k.isComposing){if(g(k)){const S=h(k);S&&(a.commit(S),l=!0),c()}return}k.defaultPrevented&&g(k)&&c()},C={capture:!0};return t.addEventListener("compositionstart",p,C),t.addEventListener("compositionupdate",y,C),t.addEventListener("compositionend",v,C),t.addEventListener("input",x,C),()=>{o!==void 0&&clearTimeout(o),t.removeEventListener("compositionstart",p,C),t.removeEventListener("compositionupdate",y,C),t.removeEventListener("compositionend",v,C),t.removeEventListener("input",x,C)}},_R=()=>typeof navigator>"u"?!1:/Mac|iPhone|iPad/.test(navigator.platform),An={killToLineStart:"",lineStart:"",lineEnd:"",killWordBack:"\x1B",wordBack:"\x1Bb",wordForward:"\x1Bf",shiftEnter:"\x1B[13;2u"},NR=(t,a={})=>{const o=a.isMac??_R();if(t.key==="Enter"&&t.shiftKey)return t.type==="keypress"?{kind:"send",bytes:An.shiftEnter}:{kind:"block"};if(!o&&t.type==="keydown"&&t.ctrlKey&&!t.shiftKey&&!t.altKey&&!t.metaKey&&(t.key==="c"||t.key==="C")&&a.hasSelection)return{kind:"copy"};if(!o||t.type!=="keydown")return{kind:"passthrough"};const i=t.metaKey&&!t.ctrlKey&&!t.altKey&&!t.shiftKey,l=t.altKey&&!t.metaKey&&!t.ctrlKey;if(i)switch(t.key){case"Backspace":return{kind:"send",bytes:An.killToLineStart};case"ArrowLeft":return{kind:"send",bytes:An.lineStart};case"ArrowRight":return{kind:"send",bytes:An.lineEnd};case"k":case"K":return{kind:"clear"}}if(l)switch(t.key){case"Backspace":return{kind:"send",bytes:An.killWordBack};case"ArrowLeft":return{kind:"send",bytes:An.wordBack};case"ArrowRight":return{kind:"send",bytes:An.wordForward}}return{kind:"passthrough"}},RR=16,jR=.3,OR={up:"A",down:"B",right:"C",left:"D"},Mf=(t,a)=>{const o=OR[a];return t?`\x1BO${o}`:`\x1B[${o}`},MR=(t,a,o)=>a==="opencode"?o==="up"?"\x1B[5~":"\x1B[6~":Mf(t.modes?.applicationCursorKeysMode,o),Dw=(t,a="default")=>{let o=0;return i=>{if(t.buffer?.active?.type!=="alternate")return o=0,{handled:!1,input:null};if(a!=="opencode"&&t.modes?.mouseTrackingMode&&t.modes.mouseTrackingMode!=="none")return o=0,{handled:!1,input:null};if(i.deltaY===0||i.shiftKey)return{handled:!1,input:null};let l=i.deltaY;return i.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(l/=RR,Math.abs(i.deltaY)<50&&(l*=jR),o+=l,l=Math.trunc(o),o%=1):o=0,l===0?{handled:!0,input:null}:{handled:!0,input:MR(t,a,l<0?"up":"down")}}},DR=({element:t,profile:a="default",sendInput:o,terminal:i})=>{const l=Dw(i,a),c=h=>{const{handled:g,input:p}=l(h);return g?(h.preventDefault(),h.stopPropagation(),p&&o(p),!1):!0};if(typeof i.attachCustomWheelEventHandler=="function")return i.attachCustomWheelEventHandler(c),()=>{};const d=h=>{c(h)||h.stopImmediatePropagation()};return t.addEventListener("wheel",d,{capture:!0,passive:!1}),()=>t.removeEventListener("wheel",d,{capture:!0})},LR=(t,a={})=>{switch(t){case"esc":return"\x1B";case"tab":return" ";case"enter":return"\r";case"arrowUp":return Mf(a.applicationCursorKeys,"up");case"arrowDown":return Mf(a.applicationCursorKeys,"down");case"arrowRight":return a.applicationCursorKeys?"\x1BOC":"\x1B[C";case"arrowLeft":return a.applicationCursorKeys?"\x1BOD":"\x1B[D";case"home":return"\x1B[H";case"end":return"\x1B[F";case"ctrlC":return"";case"ctrlD":return"";case"ctrlZ":return"";case"ctrlL":return"\f";case"ctrlR":return"";case"ctrlU":return An.killToLineStart;case"ctrlA":return An.lineStart;case"ctrlE":return An.lineEnd;case"ctrlW":return""}},zR="Invalid terminal control message",BR=t=>{let a;try{a=JSON.parse(String(t))}catch{return null}if(!a||typeof a!="object")return null;const o=a;return o.type==="error"&&typeof o.message=="string"?{type:"error",message:o.message}:o.type==="exit"&&(o.code===null||typeof o.code=="number")?{type:"exit",code:o.code}:o.type==="restore"&&typeof o.snapshot=="string"?{type:"restore",snapshot:o.snapshot}:null},HR=({initialSize:t,onError:a,onExit:o,onOutput:i,onRestore:l,onClose:c,runId:d})=>{const h=crypto.randomUUID(),g={...t,clientId:h},p=A0(),y=p.openWebSocket(`/ws/terminal/${d}/io`,g),v=p.openWebSocket(`/ws/terminal/${d}/control`,g);let x=!1,C=!1,A=!1;const k=[];let S=null;const E=()=>{C||A||(A=!0,c?.())};y.onclose=E,v.onclose=E;const T=()=>{!S||v.readyState!==v.OPEN||(v.send(JSON.stringify({type:"resize",...S})),S=null)};return y.onmessage=N=>{const R=typeof N.data=="string"?N.data:"",M=D=>{v.readyState===v.OPEN&&v.send(JSON.stringify({type:"output_ack",bytes:D}))};if(!x){k.push({chunk:R,acknowledge:M});return}i(R,M)},v.onopen=()=>{T()},v.onmessage=N=>{const R=BR(N.data);if(!R){a(zR);return}if(R.type==="exit"&&o(R.code),R.type==="error"&&a(R.message),R.type==="restore"){l(R.snapshot),x=!0,v.readyState===v.OPEN&&v.send(JSON.stringify({type:"restore_complete"}));for(const M of k.splice(0))i(M.chunk,M.acknowledge)}},{dispose(){C=!0,y.close(),v.close()},resize(N,R,M,D){S={cols:N,rows:R},M!==void 0&&(S.pixelWidth=M),D!==void 0&&(S.pixelHeight=D),T()},sendBinaryInput(N){if(y.readyState!==y.OPEN)return;const R=new Uint8Array(N.length);for(let M=0;M<N.length;M++)R[M]=N.charCodeAt(M)&255;y.send(R)},sendInput(N){y.readyState===y.OPEN&&y.send(N)}}},UR=16,WR=.08,qR=.96,IR=.025,Dy=5,PR=100,YR=8,KR=6,FR=4,VR=.5,GR=250,$R=24,XR=2,ZR=".xterm-viewport",QR=".xterm-screen";function JR({element:t,profile:a="default",sendInput:o,terminal:i}){let l=null,c=0,d=0,h,g=0,p=null,y=0,v=!1,x=null,C=null,A=UR,k=0,S=0,E=null,T=[];const N=Dw(i,a),R=()=>{p!==null&&(window.cancelAnimationFrame(p),p=null)},M=()=>{E!==null&&(window.cancelAnimationFrame(E),E=null)},D=()=>(x?.isConnected||(x=t.querySelector(ZR)),x),z=()=>(C?.isConnected||(C=t.querySelector(QR)),C),K=()=>{const ie=D(),se=i.rows;if(!ie||!se||se<=0)return;const de=ie.clientHeight/se;de>=6&&de<=64&&(A=de)},P=()=>{const ie=z();ie&&(ie.style.transform=k!==0?`translateY(${-k}px)`:"")},ne=()=>{k!==0&&(k=0,P())},ee=()=>{if(Math.abs(k)>=A/2){const ie=D();if(ie){const se=ie.scrollHeight-ie.clientHeight,de=k>0?A:-A;ie.scrollTop=Math.min(se,Math.max(0,ie.scrollTop+de))}}ne()},V=ie=>{const se=D();if(!se)return"missing";const de=se.scrollHeight-se.clientHeight;if(de<=0)return ne(),"stuck";const me=k+ie,Te=Math.trunc(me/A);let Ee=me-Te*A;const xe=se.scrollTop,Ze=Math.min(de,Math.max(0,xe+Te*A)),St=Ze!==xe;St&&(se.scrollTop=Ze),(Ze<=0&&me<0||Ze>=de&&me>0)&&(Ee=0);const Qt=Ee!==k;return k=Ee,Qt&&P(),St||Qt?"moved":"stuck"},Q=ie=>{c+=ie/A;const se=Math.trunc(c);return c%=1,se===0||i.scrollLines?.(se),!0},X=(ie,se)=>{const de=[];for(let me=0;me<se;me++){const{handled:Te,input:Ee}=N({deltaMode:WheelEvent.DOM_DELTA_LINE,deltaY:ie,shiftKey:!1});if(!Te)break;Ee&&de.push(Ee)}return de.length>0&&o(de.join("")),de.length},$=ie=>{d+=ie/A;const se=Math.trunc(d);if(d%=1,se===0)return!1;const de=a==="opencode"?FR:KR;return X(se<0?-1:1,Math.min(Math.abs(se),de))>0},O=ie=>{const se=i.buffer?.active?.type;return se!==h&&(c=0,d=0,h=se,ne()),se==="alternate"?{moved:$(ie),normalBuffer:!1}:{moved:V(ie)==="moved"||Q(ie),normalBuffer:!0}},I=()=>{E=null;const ie=S;S=0,ie!==0&&(v=O(ie).normalBuffer)},U=()=>{E===null&&(E=window.requestAnimationFrame(I))},q=(ie,se)=>{T.push({t:ie,y:se}),T.length>YR&&T.shift()},Z=ie=>{const se=ie-PR,de=T.filter(Ze=>Ze.t>=se),me=de[0],Te=de[de.length-1];if(!me||!Te||me===Te)return 0;const Ee=Te.t-me.t;if(Ee<=0)return 0;const xe=(me.y-Te.y)/Ee;return Math.max(-Dy,Math.min(Dy,xe))};let j=0;const H=()=>{if(p=null,j===0)return;if(i.buffer?.active?.type!=="alternate"){j=0;return}const ie=j>0?1:-1,se=Math.min(Math.abs(j),XR);if(X(ie,se)<se){j=0;return}j-=ie*se,j!==0&&(p=window.requestAnimationFrame(H))},oe=ie=>{const se=Math.min(32,Math.max(1,ie-y));y=ie;const{moved:de,normalBuffer:me}=O(g*se);if(!de||!me){p=null,c=0,g=0,ee();return}if(g*=qR**(se/16.67),Math.abs(g)<IR){p=null,c=0,ee();return}p=window.requestAnimationFrame(oe)},ue=ie=>{R(),j=0,M(),S=0,T=[],l=ie.touches.length===1?ie.touches[0]?.clientY??null:null,l!==null&&q(ie.timeStamp,l),g=0,v=!1,D(),K()},fe=ie=>{if(l===null||ie.touches.length!==1)return;const se=ie.touches[0]?.clientY??l,de=l-se;Math.abs(de)<1||(l=se,ie.preventDefault(),S+=de,q(ie.timeStamp,se),U())},pe=ie=>{l=null,M(),I();const se=Z(ie.timeStamp);if(T=[],v&&Math.abs(se)>=WR){g=se,y=performance.now(),p=window.requestAnimationFrame(oe);return}if(!v&&a!=="opencode"&&Math.abs(se)>=VR&&i.buffer?.active?.type==="alternate"){const de=Math.min($R,Math.round(Math.abs(se)*GR/A));if(de>0){j=se>0?de:-de,p=window.requestAnimationFrame(H);return}}g=0,c=0,ee()},le=()=>{R(),j=0,M(),S=0,T=[],l=null,c=0,d=0,g=0,v=!1,ne()};return t.addEventListener("touchstart",ue,{passive:!0}),t.addEventListener("touchmove",fe,{passive:!1}),t.addEventListener("touchend",pe,{passive:!0}),t.addEventListener("touchcancel",le,{passive:!0}),()=>{t.removeEventListener("touchstart",ue),t.removeEventListener("touchmove",fe),t.removeEventListener("touchend",pe),t.removeEventListener("touchcancel",le),R(),M(),ne()}}const ej=(t=()=>typeof document<"u"?document.createElement("canvas"):null)=>{const a=t();if(!a||typeof a.getContext!="function")return!1;try{return!!(a.getContext("webgl2")||a.getContext("webgl"))}catch{return!1}},tj=t=>t instanceof Error&&t.message?`Terminal failed to load: ${t.message}`:"Terminal failed to load. Refresh this page and try again.",nj=new RegExp("\x1B\\[M([\\s\\S])([\\s\\S])([\\s\\S])","g"),aj=(t,a,o,i)=>{const l=a.charCodeAt(0)-32,c=o.charCodeAt(0)-32,d=i.charCodeAt(0)-32;if(l<0||c<1||d<1)return t;const g=(l&3)===3&&(l&32)===0&&(l&64)===0?"m":"M";return`\x1B[<${l};${c};${d}${g}`},rj=(t,a)=>{if(a!=="opencode")return{binary:!0,chunk:t};const o=t.replace(nj,aj);return{binary:o===t,chunk:o}},oj=(t,a="default")=>{const o=Bt(),i=b.useRef(null),[l,c]=b.useState(null),[d,h]=b.useState("connecting"),g=b.useRef("connecting"),[p,y]=b.useState(0),v=b.useRef(null),x=b.useRef(null),C=b.useRef(!1),[A,k]=b.useState("canvas"),[S,E]=b.useState(!1),T=b.useRef(!1),N=b.useCallback(K=>{k(K);const P=i.current;P&&(P.dataset.renderer=K)},[]),R=b.useCallback(K=>{C.current||v.current?.sendInput(K)},[]),M=b.useCallback(K=>{const P=x.current?.modes?.applicationCursorKeysMode;R(LR(K,P===void 0?{}:{applicationCursorKeys:P}))},[R]),D=b.useCallback(K=>{const P=CR(K,x.current??void 0);return v.current?.sendInput(P),P},[]),z=b.useCallback(()=>{const K=()=>{x.current?.scrollToBottom();const P=i.current?.querySelector(".xterm-viewport");P&&(P.scrollTop=P.scrollHeight)};K(),window.requestAnimationFrame(()=>{K(),window.requestAnimationFrame(K)}),window.setTimeout(K,80),T.current=!1,E(!1)},[]);return b.useEffect(()=>{if(!i.current)return;let K=!1,P,ne,ee,V,Q,X,$,O,I,U,q,Z=null,j,H,oe,ue,fe;c(null),g.current="connecting",h("connecting"),T.current=!1,E(!1);const pe=le=>{g.current!==le&&(g.current=le,h(le))};return Promise.all([Tt(()=>import("./xterm-B-qIQCd3.js"),[]),Tt(()=>import("./addon-fit-DX4qG4td.js"),[]),Tt(()=>import("./addon-unicode11-Bt8F3D7-.js"),[]),Tt(()=>import("./addon-clipboard-wHJhZAA4.js"),[])]).then(([le,ie,se,de])=>{if(K||!i.current)return;const me=typeof window<"u"?getComputedStyle(document.documentElement):null,Te=me?.getPropertyValue("--bg-crust").trim()||"#0e0e0e",Ee=me?.getPropertyValue("--text-primary").trim()||"#ebebeb",xe=new le.Terminal({allowProposedApi:!0,convertEol:!1,fontFamily:"'DM Mono', ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:o?12:13,letterSpacing:0,lineHeight:1,scrollback:1e4,theme:{background:Te,foreground:Ee}}),Ze=new ie.FitAddon;xe.loadAddon(Ze),xe.loadAddon(new se.Unicode11Addon),xe.unicode.activeVersion="11",xe.loadAddon(new de.ClipboardAddon),xe.open(i.current),N("canvas"),Ze.fit(),X=xe,x.current=xe,$=Ze;const St=()=>{const ce=xe.buffer.active,ve=ce.viewportY<ce.baseY;T.current!==ve&&(T.current=ve,E(ve))},Qt=()=>{ue===void 0&&(ue=window.requestAnimationFrame(()=>{ue=void 0,St()}))};H=xe.onScroll(Qt),oe=xe.buffer.onBufferChange(Qt),U=DR({element:i.current,profile:a,sendInput:ce=>Q?.sendInput(ce),terminal:xe}),o&&(q=JR({element:i.current,profile:a,sendInput:ce=>Q?.sendInput(ce),terminal:xe})),Z=i.current.querySelector(".xterm-helper-textarea"),Z&&(j=AR(Z,{setComposing:ce=>{C.current=ce},commit:ce=>Q?.sendInput(ce)})),typeof xe.attachCustomKeyEventHandler=="function"&&xe.attachCustomKeyEventHandler(ce=>{const ve=NR(ce,{hasSelection:xe.hasSelection()});switch(ve.kind){case"send":return ce.preventDefault(),Q?.sendInput(ve.bytes),!1;case"clear":return ce.preventDefault(),xe.clear(),!1;case"copy":{ce.preventDefault();const De=xe.getSelection();return De&&navigator.clipboard?.writeText(De).catch(()=>{}),xe.clearSelection(),!1}case"block":return!1;case"passthrough":return!0}});const oa=()=>{const ce=i.current;return ce?.isConnected?!ce.closest('[data-terminal-host-parked="true"]'):!1},dn=()=>{if(!i.current)return{};const ce=i.current.clientWidth,ve=i.current.clientHeight,De={};return ve>0&&(De.pixelHeight=ve),ce>0&&(De.pixelWidth=ce),De},Me=()=>{if(!i.current||!oa())return;const ce=dn();if(!ce.pixelHeight||!ce.pixelWidth||fe&&fe.pixelHeight===ce.pixelHeight&&fe.pixelWidth===ce.pixelWidth)return;$?.fit();const ve={cols:X?.cols??80,rows:X?.rows??24,...dn()};fe&&fe.cols===ve.cols&&fe.rows===ve.rows&&fe.pixelHeight===ve.pixelHeight&&fe.pixelWidth===ve.pixelWidth||(fe=ve,Q?.resize(ve.cols,ve.rows,ve.pixelWidth,ve.pixelHeight))},Qe=()=>{I&&window.clearTimeout(I),I=window.setTimeout(()=>{I=void 0,Me()},50)};Tt(()=>import("./addon-web-links-DIbG5aQx.js"),[]).then(ce=>{K||X!==xe||xe.loadAddon(new ce.WebLinksAddon)}).catch(()=>{}),ej()&&Tt(()=>import("./addon-webgl-DCtw1yLn.js"),[]).then(ce=>{if(!(K||X!==xe))try{const ve=new ce.WebglAddon;ve.onContextLoss(()=>{ve.dispose(),N("canvas")}),xe.loadAddon(ve),N("webgl"),Qe()}catch{N("canvas")}}).catch(()=>{N("canvas")}),Q=HR({initialSize:{cols:xe.cols,rows:xe.rows,...dn()},onError(ce){c(ce)},onExit(){pe("stopped")},onOutput(ce,ve){pe("running"),xe.write(ce,()=>ve(new TextEncoder().encode(ce).byteLength))},onRestore(ce){pe("running"),xe.write(ce)},onClose(){K||y(ce=>ce+1)},runId:t}),v.current=Q,V=xe.onData(ce=>{C.current||Q?.sendInput(ce)}),typeof xe.onBinary=="function"&&(ee=xe.onBinary(ce=>{const ve=rj(ce,a);ve.binary?Q?.sendBinaryInput(ve.chunk):Q?.sendInput(ve.chunk)})),Me(),typeof ResizeObserver<"u"&&i.current&&(O=new ResizeObserver(Qe),O.observe(i.current)),P=ce=>{ce.detail?.runId===t&&Qe()},ne=()=>Qe(),window.addEventListener(Of,P),window.addEventListener("resize",ne)}).catch(le=>{K||(c(tj(le)),pe("stopped"))}),()=>{K=!0,P&&window.removeEventListener(Of,P),ne&&window.removeEventListener("resize",ne),O?.disconnect(),I&&window.clearTimeout(I),U?.(),q?.(),j?.(),ue!==void 0&&window.cancelAnimationFrame(ue),H?.dispose(),oe?.dispose(),ee?.dispose(),V?.dispose(),Q?.dispose(),X?.dispose(),$?.dispose(),v.current=null,x.current=null}},[t,a,p]),{containerRef:i,error:l,status:d,sendInput:R,sendKey:M,beginPaste:D,renderer:A,isScrolledUp:S,scrollToBottom:z}},sj={connecting:"terminal.statusConnecting",running:"terminal.statusRunning",stopped:"common.stopped"},Df="hive-terminal-parking-lot",ij=500,lj=t=>[`worker-pty-${t}`,`orch-pty-${t}`,`shell-pty-${t}`],cj=t=>{for(let a=t;a;a=a.parentElement){if(a.hidden||a.getAttribute("aria-hidden")==="true"||a.classList.contains("hidden"))return!0;const o=window.getComputedStyle?.(a);if(o?.display==="none"||o?.visibility==="hidden")return!0}return!1},uj=t=>{const a=Array.from(document.querySelectorAll("[data-pty-slot]")).filter(o=>o.id===t&&o.isConnected&&!cj(o));return a[a.length-1]??null},dj=()=>{let t=document.getElementById(Df);return t||(t=document.createElement("div"),t.id=Df,t.hidden=!0,t.style.display="none",(document.body??document.documentElement).appendChild(t)),t},nf=()=>{const t=document.getElementById(Df);t&&t.childElementCount===0&&t.remove()},Rl=new Set;let As,_s;const Ly=()=>{for(const t of Rl)t()},fj=()=>{As?.disconnect(),As=void 0,_s!==void 0&&(window.clearInterval(_s),_s=void 0)},mj=()=>{if(As||_s!==void 0)return;const t=document.body??document.documentElement;if(typeof MutationObserver<"u"&&t){As=new MutationObserver(Ly),As.observe(t,{attributeFilter:["aria-hidden","class","data-pty-slot","hidden","id","style"],attributes:!0,childList:!0,subtree:!0});return}_s=window.setInterval(Ly,100)},pj=t=>(Rl.add(t),mj(),()=>{Rl.delete(t),Rl.size===0&&fj()}),hj=[50,150,300],gj=t=>{const a=[],o=[],i=()=>window.dispatchEvent(ER(t)),l=(c,d)=>{const h=window.setTimeout(()=>{const g=o.indexOf(h);g>=0&&o.splice(g,1),d()},c);o.push(h)};if(typeof window.requestAnimationFrame=="function"){const c=window.requestAnimationFrame(()=>{i();const d=window.requestAnimationFrame(i);a.push(d)});a.push(c)}else l(0,i);for(const c of hj)l(c,i);return()=>{for(const c of a)window.cancelAnimationFrame?.(c);for(const c of o)window.clearTimeout(c);a.length=0,o.length=0}},vj=t=>{const[a,o]=b.useState(null);return b.useEffect(()=>{const i=lj(t),l=()=>{for(const d of i){const h=uj(d);if(h)return h}return null},c=()=>{const d=l();o(h=>h===d?h:d)};return c(),pj(c)},[t]),a},yj=(t,a)=>{const[o,i]=b.useState(!1),[l,c]=b.useState(null),d=b.useRef(void 0),h=b.useRef(null),g=b.useRef(void 0),p=b.useCallback(()=>{d.current!==void 0&&(window.clearTimeout(d.current),d.current=void 0)},[]),y=b.useCallback(()=>{g.current?.(),g.current=void 0},[]);return b.useLayoutEffect(()=>{const v=document.createElement("div");return v.dataset.terminalHostRunId=t,v.dataset.terminalHostParked="false",v.className="h-full min-h-0 w-full min-w-0",h.current=v,c(v),()=>{p(),y(),v.remove(),h.current=null,nf()}},[p,y,t]),b.useLayoutEffect(()=>{if(a){p(),i(!0);return}if(!(!o||d.current!==void 0))return d.current=window.setTimeout(()=>{d.current=void 0,i(!1)},ij),p},[o,p,a]),b.useLayoutEffect(()=>{const v=h.current;if(!v)return;if(!o){y(),v.remove(),v.dataset.terminalHostParked="false",nf();return}const x=a??dj();if(v.parentElement===x)return;const C=v.parentElement!==null,A=document.activeElement;a||y(),!a&&A instanceof HTMLElement&&v.contains(A)&&A.blur(),v.dataset.terminalHostParked=a?"false":"true",x.appendChild(v),nf(),a&&C&&(y(),g.current=gj(t))},[o,y,t,a]),o?l:null},bj=({inputProfile:t="default",runId:a,title:o})=>{const i=vj(a),l=yj(a,i);return l?Jl.createPortal(f.jsx(wj,{inputProfile:t,runId:a,title:o}),l):null},wj=({inputProfile:t,runId:a,title:o})=>{const{t:i}=Ce(),l=Bt(),{containerRef:c,error:d,status:h,isScrolledUp:g,scrollToBottom:p}=oj(a,t),y=sj[h],v=b.useCallback(()=>{c.current?.querySelector(".xterm-helper-textarea")?.blur(),p()},[c,p]);return f.jsxs("div",{className:"flex h-full min-h-0 w-full min-w-0 flex-col overflow-hidden",children:[f.jsx("p",{className:"sr-only",children:y?i(y):h}),d?f.jsx("p",{role:"alert",className:"mono shrink-0 break-words px-3 py-2 text-xs",style:{background:"color-mix(in oklab, var(--status-red) 12%, transparent)",borderBottom:"1px solid color-mix(in oklab, var(--status-red) 30%, transparent)",color:"var(--status-red)"},children:d}):null,f.jsxs("div",{className:"relative h-full min-h-0 w-full min-w-0 flex-1 overflow-hidden",children:[f.jsx("div",{"data-testid":`terminal-${a}`,ref:c,className:"bg-crust h-full min-h-0 w-full min-w-0 overflow-hidden"}),!d&&h==="connecting"?f.jsx("div",{role:"status",className:"mono pointer-events-none absolute inset-0 flex items-center justify-center px-4 text-center text-xs",style:{color:"var(--text-muted)"},children:i("terminal.statusConnecting")}):null,l&&g?f.jsx(xj,{label:i("terminal.scrollToBottom"),onJump:v}):null]})]})},xj=({label:t,onJump:a})=>{const o=b.useRef(null),i=b.useRef(Number.NEGATIVE_INFINITY),l=b.useCallback(c=>{c.preventDefault?.(),c.stopPropagation?.();const d=c.timeStamp??performance.now();d-i.current<250||(i.current=d,a())},[a]);return b.useEffect(()=>{const c=o.current;if(!c)return;const d=h=>{h.cancelable&&h.preventDefault(),h.stopImmediatePropagation(),l(h)};return c.addEventListener("touchstart",d,{capture:!0,passive:!1}),c.addEventListener("pointerdown",d,{capture:!0}),c.addEventListener("mousedown",d,{capture:!0}),()=>{c.removeEventListener("touchstart",d,{capture:!0}),c.removeEventListener("pointerdown",d,{capture:!0}),c.removeEventListener("mousedown",d,{capture:!0})}},[l]),f.jsx("button",{ref:o,type:"button","aria-label":t,className:"icon-btn icon-btn--primary mobile-terminal-jump-button absolute bottom-2 left-1/2 -translate-x-1/2",tabIndex:-1,onClick:l,onFocus:c=>c.currentTarget.blur(),children:t})},kj=({hidden:t=!1,optimisticRuns:a=[],terminalRuns:o,workspaceId:i})=>{const{t:l}=Ce(),c=jw(o,a,i);return f.jsx("section",{hidden:t,"aria-hidden":t||void 0,"aria-label":l("terminalPanels.aria"),children:c.map(d=>f.jsx(bj,{inputProfile:d.terminal_input_profile??"default",runId:d.run_id,title:`${d.agent_name} (${d.status})`},d.run_id))})},Sj=[{version:"2.0.0",date:"2026-06-07",en:["Remote access is here, off by default: open your running Hive from a phone browser over an end-to-end encrypted tunnel, with the same authority as your local desktop browser.","The new gateway handles identity and routing only. It supports GitHub/Google sign-in, version-pinned mobile bundles, and self-hosting; your agents, terminals, workspaces, and project data stay on your computer.","Pairing is desktop-confirmed: create a short-lived pairing code on the computer, enter it on the phone, compare the 6-digit SAS code on both screens, then confirm on the desktop before the device is trusted.","Manage paired devices from Settings or the CLI: list devices, revoke one, drop a live remote session, and review the audit trail for remote requests and denials.","New CLI commands: hive remote login / status / logout / devices / revoke link the machine to a gateway account and manage trusted devices from the host.","The phone UI is the same Hive reflowed for a small screen: sign-in and machine selection, bottom navigation, workspace switching, full-screen Team / Tasks panels, reconnect banners, and update prompts.","Mobile terminals are writable directly in xterm. Worker terminals open full-screen, focus mode hides surrounding chrome while you work, and touch scrolling is smoother for shell output and faster in full-screen TUI agents.","Local-first behavior stays intact: Hive still works on 127.0.0.1 without any gateway, the tunnel is limited to Hive /api/* and /ws/*, and phones cannot approve new devices or turn Remote access back on."],zh:["远程访问上线,默认关闭:用手机浏览器通过端到端加密隧道打开正在本机运行的 Hive,权限与本地桌面浏览器等同。","新网关只做身份和路由:支持 GitHub / Google 登录、按版本固定的手机端 bundle、以及 self-host;Agent、终端、Workspace 和项目数据都留在你的电脑上。","配对必须由桌面确认:电脑生成短时配对码,手机输入后,两边显示同一个 6 位 SAS 短码;只有在电脑上确认后,新设备才会被信任。","可以在 Settings 或 CLI 里管理已配对设备:查看列表、吊销设备、立即断开正在连接的远程会话,并查看远程请求和拒绝记录的审计流水。","新增 CLI:hive remote login / status / logout / devices / revoke,可在本机完成网关联动和受信设备管理。","手机 UI 是同一个 Hive 的小屏重排:登录与机器选择、底部导航、Workspace 切换、全屏 Team / Tasks 面板、重连提示和更新提示。","移动端终端可以直接在 xterm 里输入。成员终端全屏打开,focus mode 会隐藏周边 chrome;shell 输出滚动更顺,全屏 TUI agent 里的触摸滚动也更跟手。","本地优先不变:没有网关时 Hive 仍照常运行在 127.0.0.1;隧道只允许访问 Hive 自己的 /api/* 和 /ws/*;手机不能批准新设备,也不能在关闭远程后自行重新开启。"]},{version:"1.7.0",date:"2026-06-05",en:["Hermes is now a built-in CLI agent preset alongside Claude Code, Codex, OpenCode, and Gemini — usable as Orchestrator or Worker, via team spawn --cli hermes, and in workflows.","Hermes sessions survive crashes: Hive captures the session id from the CLI startup output and resumes with --resume on restart.","Existing installs get the new preset automatically — just have hermes on your PATH."],zh:["Hermes 成为第五个内置 CLI agent preset,与 Claude Code、Codex、OpenCode、Gemini 并列 —— 可当 Orchestrator 或 Worker,支持 team spawn --cli hermes 和 workflow。","Hermes 会话可在崩溃后恢复:Hive 从 CLI 启动输出捕获 session id,重启时用 --resume 续上。","已有安装会自动获得新 preset —— 只要 PATH 里有 hermes 即可。"]},{version:"1.6.0",date:"2026-06-02",en:["A Stop button on the running Orchestrator lets you halt a runaway agent straight from the UI.","Worker cards now show queue depth and the latest activity line, and the working badge explains that Hive does not auto-detect stalls — check the terminal.","Worker reports are no longer lost when the Orchestrator is down or restarting; they are queued and redelivered automatically.","Deliberately stopping and restarting the Orchestrator no longer replays a stale crash-recovery handover.","A new completion webhook can POST to a URL you choose (Slack, ntfy, Feishu, …) when a worker reports or a workflow finishes.","Workflow agent() gains opt-in structured output via outputSchema, and the new team next lists tasks unblocked by [needs:] dependencies in tasks.md."],zh:["运行中的 Orchestrator 面板新增 Stop 按钮,可以直接在 UI 里停掉跑飞的 agent。","Worker 卡片现在显示队列数和最近活动行;working 状态会说明 Hive 不会自动检测卡死 —— 以终端为准。","Orchestrator 掉线或重启时,Worker 的汇报不再丢失,会自动排队并补投。","手动停止后再重启 Orchestrator,不会再灌入陈旧的崩溃恢复接管。","新增完成通知 Webhook:Worker 汇报或 Workflow 完成时,向你设置的 URL POST(可接 Slack、ntfy、飞书等)。","Workflow 的 agent() 支持 outputSchema 结构化输出;新增 team next 可列出 tasks.md 里被 [needs:] 解除阻塞、当前可做的任务。"]},{version:"1.5.0",date:"2026-05-31",en:["Experimental Workflows let the Orchestrator run multi-agent plans across real Hive workers, with run details, logs, stop controls, and schedules in the Workflows drawer.","Workflow-created agents can now follow your selected default CLI and allowed CLI policy instead of always falling back to Claude Code.","Experimental auto-staff can let the Orchestrator size the worker roster to the task and create task-scoped coders, testers, or reviewers.","Codex dispatches stay reliable for long pasted tasks, while short worker reports now submit quickly instead of waiting several seconds in the input box.","Runtime hardening covers malformed WebSocket frames, Windows Codex startup paths, and workflow worker cleanup edge cases."],zh:["实验性的 Workflows 可以让 Orchestrator 用真实 Hive Worker 执行多 Agent 计划,并在 Workflows 抽屉里查看详情、日志、停止控制和定时任务。","Workflow 创建的 Agent 现在会遵守你选择的默认 CLI 和允许列表,不再总是回退到 Claude Code。","实验性的自动组队可以让 Orchestrator 按任务规模创建临时 coder、tester 或 reviewer。","Codex 的长任务粘贴仍保持可靠;短的 Worker 汇报现在会快速提交,不再在输入框里等好几秒。","运行时加固覆盖了异常 WebSocket 帧、Windows Codex 启动路径和 Workflow Worker 清理等边界情况。"]},{version:"1.4.4",date:"2026-05-30",en:["Windows .cmd and .bat startup commands now launch reliably, including quoted nvm4w and Program Files paths.","Worker shutdown is more robust on Windows, with process-tree cleanup before PTY termination.","Folder picking, filesystem browsing, editor launch, hive update, and port recovery are friendlier on Windows.","Task files keep CRLF line endings, and the watcher handles atomic-save editors more gracefully."],zh:["Windows 上的 .cmd / .bat 启动命令更可靠,包括带引号的 nvm4w 和 Program Files 路径。","Windows 下 Worker 关闭更稳,会先清理进程树再终止 PTY。","文件夹选择、文件浏览、编辑器打开、hive update 和端口占用恢复在 Windows 上更顺手。","任务文件会保留 CRLF 换行,watcher 对原子保存编辑器也更宽容。"]}],zy=t=>{const[a="",o=""]=t.split("-",2),[i=0,l=0,c=0]=a.split(".").map(d=>Number.parseInt(d,10)||0);return{core:[i,l,c],prerelease:o}},af=(t,a)=>{const o=zy(t),i=zy(a);for(let l=0;l<3;l+=1){const c=(o.core[l]??0)-(i.core[l]??0);if(c!==0)return c}return o.prerelease===i.prerelease?0:o.prerelease?i.prerelease?o.prerelease.localeCompare(i.prerelease,void 0,{numeric:!0}):-1:1},Ej=(t,a,o=Sj)=>{if(a===null)return{show:!1,entries:[],seedOnly:!0};if(af(t,a)<=0)return{show:!1,entries:[],seedOnly:!1};const i=o.filter(l=>af(l.version,a)>0&&af(l.version,t)<=0);return i.length===0?{show:!1,entries:[],seedOnly:!0}:{show:!0,entries:i,seedOnly:!1}},Lw="hive.last-seen-version",Tj=t=>{try{return window.localStorage.getItem(Lw)}catch{return t}},By=t=>{try{window.localStorage.setItem(Lw,t)}catch{}},Cj=({wizardOpen:t})=>{const a=Tw,[o]=b.useState(()=>Tj(a)),i=b.useMemo(()=>Ej(a,o),[o]),[l,c]=b.useState(!1);b.useEffect(()=>{i.seedOnly&&By(a)},[i.seedOnly]);const d=b.useCallback(()=>{By(a),c(!0)},[]);return{open:i.show&&!l&&!t,entries:i.entries,close:d}},Hy="hive.first-run-seen",Aj=()=>{const[t,a]=b.useState(()=>{try{return window.localStorage.getItem(Hy)==="1"}catch{return!0}}),o=b.useCallback(()=>{try{window.localStorage.setItem(Hy,"1")}catch{}a(!0)},[]);return{seen:t,markSeen:o}},_j=t=>{const{seen:a,markSeen:o}=Aj(),[i,l]=b.useState(!1);b.useEffect(()=>{!a&&t!==null&&t.length===0&&l(!0)},[a,t]);const c=b.useCallback((d=!0)=>{d&&o(),l(!1)},[o]);return{wizardOpen:i,closeWizard:c}},Nj=(t,a)=>t.findIndex(i=>i.id===a.id)===-1?[...t,a]:t.map(i=>i.id===a.id?a:i),Rj=({activeWorkspaceId:t,onWorkerDeleted:a,onWorkerRunStarted:o,setWorkersByWorkspaceId:i})=>{const l=b.useCallback(async({commandPresetId:p,name:y,role:v,roleDescription:x,startupCommand:C})=>{if(!t)return{error:"No active workspace",runId:null};const A=C.trim(),k=await EE(t,{autostart:!0,command_preset_id:p||null,description:x.trim(),name:y,role:v,startup_command:A||null});return i(S=>({...S,[t]:Nj(S[t]??[],k.worker)})),k.agentStart.ok&&k.agentStart.runId&&o?.({agentId:k.worker.id,agentName:k.worker.name,runId:k.agentStart.runId,terminalInputProfile:p==="opencode"?"opencode":"default",workspaceId:t}),{error:k.agentStart.ok?null:k.agentStart.error,runId:k.agentStart.ok?k.agentStart.runId:null}},[t,o,i]),c=b.useCallback(async p=>{if(!t)throw new Error("No active workspace");await TE(t,p),i(y=>({...y,[t]:(y[t]??[]).filter(v=>v.id!==p)})),a?.(t,p)},[t,a,i]),d=b.useCallback(async p=>{if(!t)return{error:"No active workspace",runId:null};try{const y=await Ml(t,p);return o?.({agentId:p,agentName:p,runId:y.runId,workspaceId:t}),{error:null,runId:y.runId}}catch(y){return{error:y instanceof Error?y.message:String(y),runId:null}}},[t,o]),h=b.useCallback(async p=>{try{return await Dl(p),{error:null}}catch(y){return{error:y instanceof Error?y.message:String(y)}}},[]),g=b.useCallback(async(p,y)=>{if(!t)return{error:"No active workspace",runId:null};try{const v=await iE(t,p,y);return o?.({agentId:p,agentName:p,runId:v.runId,workspaceId:t}),{error:null,runId:v.runId}}catch(v){return{error:v instanceof Error?v.message:String(v),runId:null}}},[t,o]);return{createWorker:l,deleteWorker:c,startWorker:d,stopWorkerRun:h,restartWorkerRun:g}},Em={mac:["vscode","vscode-insiders","cursor","finder","terminal","ghostty","zed"],windows:["vscode","vscode-insiders","cursor","finder","zed"],linux:["vscode","vscode-insiders","cursor","finder","zed"],other:["vscode","vscode-insiders","finder"]},jj=new Set(Em.mac),Oj=t=>typeof t=="string"&&jj.has(t),zw=(t,a)=>Em[a].includes(t),Bw=t=>t==="mac"||t==="windows"||t==="linux"?"finder":"vscode",Mj="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill='%23FFFFFF'%20d='M11.503.131%201.891%205.678a.84.84%200%200%200-.42.726v11.188c0%20.3.162.575.42.724l9.609%205.55a1%201%200%200%200%20.998%200l9.61-5.55a.84.84%200%200%200%20.42-.724V6.404a.84.84%200%200%200-.42-.726L12.497.131a1.01%201.01%200%200%200-.996%200M2.657%206.338h18.55c.263%200%20.43.287.297.515L12.23%2022.918c-.062.107-.229.064-.229-.06V12.335a.59.59%200%200%200-.295-.51l-9.11-5.257c-.109-.063-.064-.23.061-.23'/%3e%3c/svg%3e",rf="data:image/svg+xml,%3csvg%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='5'%20y='13'%20width='54'%20height='40'%20rx='8'%20fill='%23F2B73B'/%3e%3cpath%20d='M5%2021C5%2016.58%208.58%2013%2013%2013H25.2C27.2%2013%2029.1%2013.94%2030.3%2015.54L33.2%2019.4H51C55.42%2019.4%2059%2022.98%2059%2027.4V31H5V21Z'%20fill='%23FFD565'/%3e%3cpath%20d='M8%2027H56C58.76%2027%2061%2029.24%2061%2032V49C61%2051.76%2058.76%2054%2056%2054H8C5.24%2054%203%2051.76%203%2049V32C3%2029.24%205.24%2027%208%2027Z'%20fill='%23F8C344'/%3e%3cpath%20d='M8%2032C8%2030.9%208.9%2030%2010%2030H54C55.1%2030%2056%2030.9%2056%2032V48C56%2049.1%2055.1%2050%2054%2050H10C8.9%2050%208%2049.1%208%2048V32Z'%20fill='%23F4B43B'/%3e%3cpath%20d='M10%2031H54C55.1%2031%2056%2031.9%2056%2033V36H8V33C8%2031.9%208.9%2031%2010%2031Z'%20fill='%23FFE082'/%3e%3cpath%20d='M12%2037H52C53.1%2037%2054%2037.9%2054%2039V47C54%2048.1%2053.1%2049%2052%2049H12C10.9%2049%2010%2048.1%2010%2047V39C10%2037.9%2010.9%2037%2012%2037Z'%20fill='%23F0A82F'/%3e%3c/svg%3e",Hw="/assets/finder-C4Jmsb0B.png",Dj="/assets/ghostty-D-Js4rdm.png",Lj="data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='24'%20height='24'%20rx='4'%20fill='%232D2D2E'/%3e%3cpath%20d='M6.5%209%20L10%2012%20L6.5%2015'%20stroke='%23FFFFFF'%20stroke-width='1.7'%20fill='none'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cline%20x1='12.5'%20y1='15.5'%20x2='17.5'%20y2='15.5'%20stroke='%23FFFFFF'%20stroke-width='1.7'%20stroke-linecap='round'/%3e%3c/svg%3e",zj="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='%23007ACC'%20d='M22%205.75v12.48c0%20.49-.28.94-.72%201.15-.91.43-2.46%201.18-3.33%201.59.03-.16.05-.33.05-.5V3.53C18%203.3%2017.97%203.12%2017.94%203c.94.46%202.44%201.18%203.33%201.6C21.72%204.81%2022%205.26%2022%205.75zM3.91%2013.35c.89.8%201.73%201.56%202.51%202.28l-1.48%201.12c-.37.28-.89.27-1.25-.03l-.94-.79c-.46-.39-.48-1.09-.03-1.5C3.05%2014.13%203.46%2013.76%203.91%2013.35zM16%203.53v4.81l-3.16%202.4-3.3-2.5c2.29-2.07%204.46-4.05%205.59-5.1.23-.22.56-.16.74.04.05.06.09.13.11.22C15.99%203.44%2016%203.48%2016%203.53zM16%2020.47v-4.81L4.938%207.252c-.372-.283-.889-.27-1.247.03L2.754%208.066C2.289%208.456%202.271%209.162%202.72%209.569c2.747%202.488%209.998%209.06%2012.41%2011.291C15.462%2021.167%2016%2020.93%2016%2020.47z'/%3e%3c/svg%3e",Bj="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='%2324BFA5'%20d='M22%205.75v12.48c0%20.49-.28.94-.72%201.15-.91.43-2.46%201.18-3.33%201.59.03-.16.05-.33.05-.5V3.53C18%203.3%2017.97%203.12%2017.94%203c.94.46%202.44%201.18%203.33%201.6C21.72%204.81%2022%205.26%2022%205.75zM3.91%2013.35c.89.8%201.73%201.56%202.51%202.28l-1.48%201.12c-.37.28-.89.27-1.25-.03l-.94-.79c-.46-.39-.48-1.09-.03-1.5C3.05%2014.13%203.46%2013.76%203.91%2013.35zM16%203.53v4.81l-3.16%202.4-3.3-2.5c2.29-2.07%204.46-4.05%205.59-5.1.23-.22.56-.16.74.04.05.06.09.13.11.22C15.99%203.44%2016%203.48%2016%203.53zM16%2020.47v-4.81L4.938%207.252c-.372-.283-.889-.27-1.247.03L2.754%208.066C2.289%208.456%202.271%209.162%202.72%209.569c2.747%202.488%209.998%209.06%2012.41%2011.291C15.462%2021.167%2016%2020.93%2016%2020.47z'/%3e%3c/svg%3e",Hj="/assets/zed-C5BQT8X3.png",Uj={mac:"openWorkspace.target.finder.mac",windows:"openWorkspace.target.finder.windows",linux:"openWorkspace.target.finder.linux",other:"openWorkspace.target.finder.linux"},Wj={mac:Hw,windows:rf,linux:rf,other:rf},cc={vscode:{labelKey:"openWorkspace.target.vscode",iconSrc:zj},"vscode-insiders":{labelKey:"openWorkspace.target.vscodeInsiders",iconSrc:Bj},cursor:{labelKey:"openWorkspace.target.cursor",iconSrc:Mj},finder:{labelKey:"openWorkspace.target.finder.mac",iconSrc:Hw},terminal:{labelKey:"openWorkspace.target.terminal",iconSrc:Lj},ghostty:{labelKey:"openWorkspace.target.ghostty",iconSrc:Dj,iconScale:1.2},zed:{labelKey:"openWorkspace.target.zed",iconSrc:Hj}},Uw=(t,a)=>t==="finder"?Uj[a]:cc[t].labelKey,Ww=(t,a)=>t==="finder"?Wj[a]:cc[t].iconSrc,of=(t,a)=>{const o=zw(t,a)?t:Bw(a),i=cc[o];return{id:o,iconSrc:Ww(o,a),labelKey:Uw(o,a),...i.iconScale!==void 0?{iconScale:i.iconScale}:{}}},qj=t=>Em[t].map(a=>{const o=cc[a];return{id:a,iconSrc:Ww(a,t),labelKey:Uw(a,t),...o.iconScale!==void 0?{iconScale:o.iconScale}:{}}}),Ij=()=>{if(typeof navigator>"u")return"other";const t=`${navigator.userAgent} ${navigator.platform}`.toLowerCase();return t.includes("mac")||t.includes("darwin")?"mac":t.includes("win")?"windows":t.includes("linux")||t.includes("x11")?"linux":"other"},qw="hive.openTarget.preferred",Pj=()=>{try{return window.localStorage.getItem(qw)}catch{return null}},Yj=t=>{const a=Bw(t);if(typeof window>"u")return a;const o=Pj();if(!o)return a;const i=o==="ghostie"?"ghostty":o;return Oj(i)&&zw(i,t)?i:a},Kj=t=>{try{window.localStorage.setItem(qw,t)}catch{}},Fj={"app-not-installed":"openWorkspace.error.appNotInstalled","command-not-in-path":"openWorkspace.error.commandNotInPath","invalid-path":"openWorkspace.error.invalidPath","invalid-target":"openWorkspace.error.invalidTarget",unknown:"openWorkspace.error.unknown"},Vj=({workspace:t})=>{const{t:a}=Ce(),{mode:o}=W0(),i=aa(),l=b.useMemo(()=>Ij(),[]),c=qj(l),[d,h]=b.useState(()=>Yj(l)),[g,p]=b.useState(!1),[y,v]=b.useState(!1),x=b.useRef(null),C=b.useRef(null),A=of(d,l),k=a(A.labelKey);b.useEffect(()=>{if(!g)return;const D=K=>{K.key==="Escape"&&p(!1)},z=K=>{const P=x.current;P&&!P.contains(K.target)&&p(!1)};return document.addEventListener("keydown",D),document.addEventListener("pointerdown",z),()=>{document.removeEventListener("keydown",D),document.removeEventListener("pointerdown",z)}},[g]);const S=b.useCallback(D=>{h(D),Kj(D),p(!1),C.current?.focus()},[]),E=b.useCallback(async()=>{if(!(!t||y)){v(!0);try{const D=await _E(t.id,d);if(D.ok){if(o==="mobile"){const z=of(D.effectiveTargetId,l).labelKey;i.show({kind:"success",message:a("openWorkspace.opened",{app:a(z),workspace:t.name})})}}else{const z=of(D.effectiveTargetId,l).labelKey;i.show({kind:"error",message:a(Fj[D.errorCode],{app:a(z)})})}}catch(D){const z=D instanceof Error?D.message:String(D);i.show({kind:"error",message:z})}finally{v(!1)}}},[y,o,l,d,a,i,t]),T=!t,N=a("openWorkspace.noWorkspace"),R=t?a("openWorkspace.openIn",{app:k,workspace:t.name}):N,M=t?a("openWorkspace.openInAria",{app:k,workspace:t.name}):N;return f.jsxs("div",{ref:x,className:"open-workspace relative flex",children:[f.jsx(lt,{label:R,children:f.jsx("span",{className:"flex",children:f.jsxs("button",{ref:C,type:"button","aria-label":M,"data-testid":"topbar-open-workspace",disabled:T||y,onClick:()=>{E()},className:"open-workspace__main",children:[f.jsx("span",{className:"open-workspace__trigger-icon","aria-hidden":!0,children:y?f.jsx(bo,{size:13,className:"animate-spin"}):f.jsx("img",{src:A.iconSrc,alt:"",className:"open-workspace__trigger-img",style:{transform:A.iconScale?`scale(${A.iconScale})`:void 0}})}),f.jsx("span",{children:a("openWorkspace.open")})]})})}),f.jsx(lt,{label:a("openWorkspace.selectTarget"),children:f.jsx("button",{type:"button","aria-label":a("openWorkspace.selectTarget"),"aria-haspopup":"menu","aria-expanded":g,"data-testid":"topbar-open-workspace-chevron",disabled:T,onClick:()=>p(D=>!D),className:"open-workspace__chevron",children:f.jsx(Xf,{size:12,"aria-hidden":!0})})}),g?f.jsx("div",{role:"menu","aria-label":a("openWorkspace.selectTarget"),className:"open-workspace__menu elev-2","data-testid":"topbar-open-workspace-menu",children:c.map(D=>{const z=D.id===d;return f.jsxs("button",{role:"menuitemradio","aria-checked":z,type:"button",onClick:()=>S(D.id),className:"open-workspace__option","data-selected":z?"true":void 0,"data-testid":`topbar-open-workspace-option-${D.id}`,children:[f.jsx("span",{className:"open-workspace__option-icon","aria-hidden":!0,children:f.jsx("img",{src:D.iconSrc,alt:"",className:"open-workspace__option-img",style:{transform:D.iconScale?`scale(${D.iconScale})`:void 0}})}),f.jsx("span",{className:"flex-1",children:a(D.labelKey)}),f.jsx("span",{className:"open-workspace__check","aria-hidden":!0,children:z?f.jsx($f,{size:13}):null})]},D.id)})}):null]})},Gj=b.lazy(()=>Tt(()=>import("./WorkflowsDrawer-M2CgAJWK.js"),[]).then(t=>({default:t.WorkflowsDrawer}))),$j=b.lazy(()=>Tt(()=>import("./WorkspaceMemoryDrawer-ClJIqWck.js"),__vite__mapDeps([6,5])).then(t=>({default:t.WorkspaceMemoryDrawer}))),Xj=()=>{const[t,a]=b.useState(null),{activeWorkspaceId:o,selectWorkspace:i,setActiveWorkspaceId:l}=vR(),{demoMode:c,enableDemo:d,exitDemo:h}=A_(),g=c||!t?[]:t.map(({id:Me})=>Me),[p,y]=SR(g,{activeWorkspaceId:o}),[v,x]=b.useState(0),[C,A]=b.useState(!1),[k,S]=b.useState(!1),[E,T]=b.useState(!1),[N,R]=b.useState("team"),M=J_(),D=aa(),{wizardOpen:z,closeWizard:K}=_j(t),P=Cj({wizardOpen:z}),ee=Sw().enabled;b.useEffect(()=>{ee||(T(!1),R(Me=>Me==="flows"?"team":Me))},[ee]);const V=b.useCallback(()=>x(Me=>Me+1),[]),[Q,X]=b.useState(null),$=b.useCallback(Me=>{X(Me),D.show({kind:"error",message:Me})},[D]);fR(a,l,$);const O=pR({onWorkspaceCreated:Me=>{a(Qe=>Qe===null?[Me]:[...Qe,Me]),i(Me.id),y(Qe=>({...Qe,[Me.id]:[]}))},onError:Me=>D.show({kind:"error",message:Me})}),U=__({demoMode:c,workspaces:t,activeWorkspaceId:o,workersByWorkspaceId:p}),q=U.effectiveActiveWorkspace?.id,Z=q?U.effectiveWorkersByWorkspaceId[q]??[]:[],j=ZN(U.pollWorkspaceId,HA(U.pollWorkspaceId));kN(!0);const H=$N(c?null:o??null,c?C_:void 0),oe=b.useMemo(()=>U.effectiveActiveWorkspace?IN(H.content):0,[U.effectiveActiveWorkspace,H.content]),ue=Rj({activeWorkspaceId:o,onWorkerDeleted:j.forgetOptimisticAgent,onWorkerRunStarted:j.recordOptimisticRun,setWorkersByWorkspaceId:y}),fe=gR({activeWorkspaceId:o,onActiveDeleted:()=>{S(!1),A(!1),T(!1)},selectWorkspace:i,setWorkersByWorkspaceId:y,setWorkspaces:a,workspaces:t});iR({bootstrapError:Q,onSelectWorkspace:i,onTriggerAddDialog:V,workspaces:U.effectiveWorkspaces}),ON({onAddWorkspace:V,onTryDemo:d,ready:c||t!==null||Q!==null});const pe=mR(),le=Q!==null&&!c&&t===null,ie=Bt(),se=b.useSyncExternalStore(JN,eR),de=ie?f.jsx(nN,{status:se}):null,me=q?j.optimisticRunsByWorkspaceId[q]??[]:[],Ee=!le&&!c&&q!==void 0&&(j.terminalRuns.length>0||me.length>0)?f.jsx(kj,{optimisticRuns:me,terminalRuns:j.terminalRuns,workspaceId:q},`terminal-${q}`):null,xe=le?f.jsx(EN,{onTryDemo:d}):f.jsx(E_,{activeId:q,activeWorkspace:U.effectiveActiveWorkspace,bootstrapError:Q,demoMode:c,workspacesLoading:!c&&t===null,onDeleteWorkspace:fe,onExitDemo:h,onRequestAddWorkspace:V,onShellRunClosed:j.forgetOptimisticRun,onShellRunStarted:(Me,Qe)=>j.recordOptimisticRun({agentId:Qe.agent_id,agentName:Qe.agent_name,runId:Qe.run_id,status:Qe.status,terminalInputProfile:Qe.terminal_input_profile??"default",workspaceId:Me}),onTryDemo:d,orchestratorAutostartErrors:O.orchestratorAutostartErrors,orchestratorAutostartRunIds:O.orchestratorAutostartRunIds,recordOrchestratorResult:O.recordOrchestratorResult,terminalRuns:j.terminalRuns,workerActions:ue,workers:Z}),Ze=f.jsx(mk,{addDialogTrigger:v,wizardOpen:z,whatsNewOpen:P.open,whatsNewEntries:P.entries,onCloseWhatsNew:P.close,onAddWorkspace:V,onCloseTaskGraph:()=>A(!1),onCloseWizard:K,onCreateWorkspace:O.createNewWorkspace,onTryDemo:d,taskGraphOpen:C,tasksFile:H,workspacePath:U.effectiveActiveWorkspace?.path??null,workers:Z,onSelectOwner:pe}),St=E&&!c&&ee?f.jsx(b.Suspense,{fallback:null,children:f.jsx(Gj,{open:!0,onClose:()=>T(!1),workspaceId:o??null})}):null,Qt=k&&!c?f.jsx(b.Suspense,{fallback:null,children:f.jsx($j,{open:!0,onClose:()=>S(!1),workspaceId:o??null})}):null,oa=f.jsx(HN,{activeWorkspaceId:U.effectiveActiveWorkspaceId,collapsed:M.collapsed,createDisabledReason:Q??void 0,onCreateClick:V,onDeleteWorkspace:fe,onSelectWorkspace:i,onToggleCollapse:M.toggleCollapsed,workersByWorkspaceId:U.effectiveWorkersByWorkspaceId,workspaces:U.effectiveWorkspaces}),dn=f.jsx(Vj,{workspace:U.effectiveActiveWorkspace});return ie?f.jsxs(f.Fragment,{children:[f.jsx(dN,{workspaceSwitcher:le?void 0:f.jsx(vN,{activeWorkspaceId:U.effectiveActiveWorkspaceId,workspaces:U.effectiveWorkspaces,workersByWorkspaceId:U.effectiveWorkersByWorkspaceId,createDisabledReason:Q??void 0,onCreateClick:V,onDeleteWorkspace:fe,onSelectWorkspace:i}),topbarActions:le?void 0:f.jsxs(f.Fragment,{children:[f.jsx(yw,{}),f.jsx(bw,{})]}),openTaskCount:oe,workingCount:Z.filter(Me=>Me.status==="working").length,banner:de,terminalPanels:Ee,fullBleed:le?xe:void 0,team:le?null:xe,tasks:le?null:f.jsx(pN,{tasksFile:H,workspacePath:U.effectiveActiveWorkspace?.path??null,workers:Z,onSelectOwner:pe,onAddWorkspace:V,demoMode:c}),settings:le||!c?void 0:f.jsx(aN,{demoMode:c,onTryDemo:d,onExitDemo:h}),activeSection:N,onSectionChange:R,overlays:Ze}),f.jsx(Ry,{terminalRuns:j.terminalRuns}),f.jsx(jy,{})]}):f.jsxs(f.Fragment,{children:[f.jsxs(eN,{hideTopbarActions:!U.effectiveActiveWorkspace,memoryOpen:k,onToggleMemory:c?void 0:()=>S(Me=>!Me),onToggleTaskGraph:()=>A(Me=>!Me),openTaskCount:oe,topbarActions:dn,taskGraphOpen:C,onToggleWorkflows:c||!ee?void 0:()=>T(Me=>!Me),workflowsOpen:E,sidebarResize:M,sidebar:oa,children:[xe,Ee,Ze,Qt,St]}),f.jsx(Ry,{terminalRuns:j.terminalRuns}),f.jsx(jy,{}),f.jsx(xN,{})]})},Zj={success:Lk,warning:am,error:qk},sf={success:"var(--status-green)",warning:"var(--status-orange)",error:"var(--status-red)"},Uy=({toast:t,api:a})=>{const{t:o}=Ce(),i=Zj[t.kind],l=a.getDuration(t.id);return f.jsxs("div",{"data-testid":"toast","data-kind":t.kind,onMouseEnter:()=>a.pauseDismiss(t.id),onMouseLeave:()=>a.resumeDismiss(t.id),className:"toast elev-2 toast-pop pointer-events-auto relative flex min-w-[260px] max-w-[400px] items-start gap-3 overflow-hidden rounded-lg border px-3 py-2.5",style:{background:"var(--bg-elevated)",borderColor:`color-mix(in oklab, ${sf[t.kind]} 35%, var(--border))`},children:[f.jsx("span",{className:"mt-0.5 shrink-0",style:{color:sf[t.kind]},"aria-hidden":!0,children:f.jsx(i,{size:14})}),f.jsx("div",{className:"min-w-0 flex-1 break-words text-sm text-pri",children:t.message}),f.jsx("button",{type:"button","data-testid":"toast-close",onClick:()=>a.dismiss(t.id),className:"-mt-0.5 -mr-1 flex h-6 w-6 shrink-0 cursor-pointer items-center justify-center rounded text-ter transition-colors hover:bg-3 hover:text-pri","aria-label":o("toast.dismissAria"),children:f.jsx(fo,{size:14,"aria-hidden":!0})}),l>0?f.jsx("span",{className:"toast-progress-bar",style:{background:sf[t.kind],animationDuration:`${l}ms`},"aria-hidden":!0}):null]})},Qj=()=>{const t=JE(),a=aa(),o=Bt();if(t.length===0)return null;const i=t.filter(c=>c.kind==="error"),l=t.filter(c=>c.kind!=="error");return f.jsxs("div",{className:"toaster pointer-events-none fixed right-4 bottom-8 z-50 flex flex-col gap-2","data-mobile":o||void 0,"data-testid":"toaster",children:[f.jsx("div",{role:"status","aria-live":"polite",className:"flex flex-col gap-2",children:l.map(c=>f.jsx(Uy,{toast:c,api:a},c.id))}),f.jsx("div",{role:"alert","aria-live":"assertive",className:"flex flex-col gap-2",children:i.map(c=>f.jsx(Uy,{toast:c,api:a},c.id))})]})},Jj=({children:t})=>f.jsx(_b,{delayDuration:250,skipDelayDuration:150,children:f.jsx(GS,{children:f.jsx(QE,{children:f.jsx(rT,{children:f.jsx(Y_,{children:f.jsx(I_,{children:f.jsxs(H_,{children:[t,f.jsx(Qj,{})]})})})})})})}),e4=()=>f.jsx($E,{children:f.jsx(Jj,{children:f.jsx(Xj,{})})}),Wy="\0gw:",fr={Unauthorized:4401,Forbidden:4403,DaemonOffline:4404,Revoked:4410,InternalError:4500},Iw="hb:ping",Pw="hb:pong",t4=t=>t===fr.Unauthorized||t===fr.Revoked;function n4(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in t&&t.BYTES_PER_ELEMENT===1}function Lf(t){if(typeof t!="boolean")throw new TypeError(`boolean expected, not ${t}`)}function co(t){if(typeof t!="number")throw new TypeError("number expected, got "+typeof t);if(!Number.isSafeInteger(t)||t<0)throw new RangeError("positive integer expected, got "+t)}function xt(t,a,o=""){const i=n4(t),l=t?.length,c=a!==void 0;if(!i||c&&l!==a){const d=o&&`"${o}" `,h=c?` of length ${a}`:"",g=i?`length=${l}`:`type=${typeof t}`,p=d+"expected Uint8Array"+h+", got "+g;throw i?new RangeError(p):new TypeError(p)}return t}function qy(t,a=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(a&&t.finished)throw new Error("Hash#digest() has already been called")}function a4(t,a,o=!1){xt(t,void 0,"output");const i=a.outputLen;if(t.length<i)throw new RangeError("digestInto() expects output buffer of length at least "+i);if(o&&!Ms(t))throw new Error("invalid output, must be aligned")}function Jn(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function Ba(...t){for(let a=0;a<t.length;a++)t[a].fill(0)}function r4(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const mr=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,Yw=t=>t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255,wt=mr?t=>t:t=>Yw(t)>>>0,o4=t=>{for(let a=0;a<t.length;a++)t[a]=Yw(t[a]);return t},La=mr?t=>t:o4;function s4(t,a){if(a==null||typeof a!="object")throw new Error("options must be defined");return Object.assign(t,a)}function i4(t,a){if(t.length!==a.length)return!1;let o=0;for(let i=0;i<t.length;i++)o|=t[i]^a[i];return o===0}function l4(t,a,o){const i=a,l=(()=>[]),c=(h,g)=>i(g,...l(h)).update(h).digest(),d=i(new Uint8Array(t),...l(new Uint8Array(0)));return c.outputLen=d.outputLen,c.blockLen=d.blockLen,c.create=(h,...g)=>i(h,...g),c}const c4=(t,a)=>{function o(i,...l){if(xt(i,void 0,"key"),t.nonceLength!==void 0){const y=l[0];xt(y,t.varSizeNonce?void 0:t.nonceLength,"nonce")}const c=t.tagLength;c&&l[1]!==void 0&&xt(l[1],void 0,"AAD");const d=a(i,...l),h=(y,v)=>{if(v!==void 0){if(y!==2)throw new Error("cipher output not supported");xt(v,void 0,"output")}};let g=!1;return{encrypt(y,v){if(g)throw new Error("cannot encrypt() twice with same key + nonce");return g=!0,xt(y),h(d.encrypt.length,v),d.encrypt(y,v)},decrypt(y,v){if(xt(y),c&&y.length<c)throw new Error('"ciphertext" expected length bigger than tagLength='+c);return h(d.decrypt.length,v),d.decrypt(y,v)}}}return Object.assign(o,t),o};function zf(t,a,o=!0){if(a===void 0)return new Uint8Array(t);if(xt(a,void 0,"output"),a.length!==t)throw new Error('"output" expected Uint8Array of length '+t+", got: "+a.length);if(o&&!Ms(a))throw new Error("invalid output, must be aligned");return a}function u4(t,a,o){co(t),co(a),Lf(o);const i=new Uint8Array(16),l=r4(i);return l.setBigUint64(0,BigInt(a),o),l.setBigUint64(8,BigInt(t),o),i}function Ms(t){return t.byteOffset%4===0}function Il(t){return Uint8Array.from(xt(t))}function Kw(t=32){co(t);const a=typeof globalThis=="object"?globalThis.crypto:null;if(typeof a?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return a.getRandomValues(new Uint8Array(t))}const Fw=t=>Uint8Array.from(t.split(""),a=>a.charCodeAt(0)),d4=La(Jn(Fw("expand 16-byte k"))),f4=La(Jn(Fw("expand 32-byte k")));function ge(t,a){return t<<a|t>>>32-a}const bs=64,m4=16,Bf=2**32-1,Iy=Uint32Array.of();function p4(t,a,o,i,l,c,d,h){const g=l.length,p=new Uint8Array(bs),y=Jn(p),v=mr&&Ms(l)&&Ms(c),x=v?Jn(l):Iy,C=v?Jn(c):Iy;if(!mr){for(let A=0;A<g;d++){if(t(a,o,i,y,d,h),La(y),d>=Bf)throw new Error("arx: counter overflow");const k=Math.min(bs,g-A);for(let S=0,E;S<k;S++)E=A+S,c[E]=l[E]^p[S];A+=k}return}for(let A=0;A<g;d++){if(t(a,o,i,y,d,h),d>=Bf)throw new Error("arx: counter overflow");const k=Math.min(bs,g-A);if(v&&k===bs){const S=A/4;if(A%4!==0)throw new Error("arx: invalid block position");for(let E=0,T;E<m4;E++)T=S+E,C[T]=x[T]^y[E];A+=bs;continue}for(let S=0,E;S<k;S++)E=A+S,c[E]=l[E]^p[S];A+=k}}function h4(t,a){const{allowShortKeys:o,extendNonceFn:i,counterLength:l,counterRight:c,rounds:d}=s4({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},a);if(typeof t!="function")throw new Error("core must be a function");return co(l),co(d),Lf(c),Lf(o),(h,g,p,y,v=0)=>{xt(h,void 0,"key"),xt(g,void 0,"nonce"),xt(p,void 0,"data");const x=p.length;if(y=zf(x,y,!1),co(v),v<0||v>=Bf)throw new Error("arx: counter overflow");const C=[];let A=h.length,k,S;if(A===32)C.push(k=Il(h)),S=f4;else if(A===16&&o)k=new Uint8Array(32),k.set(h),k.set(h,16),S=d4,C.push(k);else throw xt(h,32,"arx key"),new Error("invalid key size");(!mr||!Ms(g))&&C.push(g=Il(g));let E=Jn(k);if(i){if(g.length!==24)throw new Error("arx: extended nonce must be 24 bytes");const R=g.subarray(0,16);if(mr)i(S,E,Jn(R),E);else{const M=La(Uint32Array.from(S));i(M,E,Jn(R),E),Ba(M),La(E)}g=g.subarray(16)}else mr||La(E);const T=16-l;if(T!==g.length)throw new Error(`arx: nonce must be ${T} or 16 bytes`);if(T!==12){const R=new Uint8Array(12);R.set(g,c?0:12-g.length),g=R,C.push(g)}const N=La(Jn(g));try{return p4(t,S,E,N,p,y,v,d),y}finally{Ba(...C)}}}function vt(t,a){return t[a++]&255|(t[a++]&255)<<8}class g4{blockLen=16;outputLen=16;buffer=new Uint8Array(16);r=new Uint16Array(10);h=new Uint16Array(10);pad=new Uint16Array(8);pos=0;finished=!1;destroyed=!1;constructor(a){a=Il(xt(a,32,"key"));const o=vt(a,0),i=vt(a,2),l=vt(a,4),c=vt(a,6),d=vt(a,8),h=vt(a,10),g=vt(a,12),p=vt(a,14);this.r[0]=o&8191,this.r[1]=(o>>>13|i<<3)&8191,this.r[2]=(i>>>10|l<<6)&7939,this.r[3]=(l>>>7|c<<9)&8191,this.r[4]=(c>>>4|d<<12)&255,this.r[5]=d>>>1&8190,this.r[6]=(d>>>14|h<<2)&8191,this.r[7]=(h>>>11|g<<5)&8065,this.r[8]=(g>>>8|p<<8)&8191,this.r[9]=p>>>5&127;for(let y=0;y<8;y++)this.pad[y]=vt(a,16+2*y)}process(a,o,i=!1){const l=i?0:2048,{h:c,r:d}=this,h=d[0],g=d[1],p=d[2],y=d[3],v=d[4],x=d[5],C=d[6],A=d[7],k=d[8],S=d[9],E=vt(a,o+0),T=vt(a,o+2),N=vt(a,o+4),R=vt(a,o+6),M=vt(a,o+8),D=vt(a,o+10),z=vt(a,o+12),K=vt(a,o+14);let P=c[0]+(E&8191),ne=c[1]+((E>>>13|T<<3)&8191),ee=c[2]+((T>>>10|N<<6)&8191),V=c[3]+((N>>>7|R<<9)&8191),Q=c[4]+((R>>>4|M<<12)&8191),X=c[5]+(M>>>1&8191),$=c[6]+((M>>>14|D<<2)&8191),O=c[7]+((D>>>11|z<<5)&8191),I=c[8]+((z>>>8|K<<8)&8191),U=c[9]+(K>>>5|l),q=0,Z=q+P*h+ne*(5*S)+ee*(5*k)+V*(5*A)+Q*(5*C);q=Z>>>13,Z&=8191,Z+=X*(5*x)+$*(5*v)+O*(5*y)+I*(5*p)+U*(5*g),q+=Z>>>13,Z&=8191;let j=q+P*g+ne*h+ee*(5*S)+V*(5*k)+Q*(5*A);q=j>>>13,j&=8191,j+=X*(5*C)+$*(5*x)+O*(5*v)+I*(5*y)+U*(5*p),q+=j>>>13,j&=8191;let H=q+P*p+ne*g+ee*h+V*(5*S)+Q*(5*k);q=H>>>13,H&=8191,H+=X*(5*A)+$*(5*C)+O*(5*x)+I*(5*v)+U*(5*y),q+=H>>>13,H&=8191;let oe=q+P*y+ne*p+ee*g+V*h+Q*(5*S);q=oe>>>13,oe&=8191,oe+=X*(5*k)+$*(5*A)+O*(5*C)+I*(5*x)+U*(5*v),q+=oe>>>13,oe&=8191;let ue=q+P*v+ne*y+ee*p+V*g+Q*h;q=ue>>>13,ue&=8191,ue+=X*(5*S)+$*(5*k)+O*(5*A)+I*(5*C)+U*(5*x),q+=ue>>>13,ue&=8191;let fe=q+P*x+ne*v+ee*y+V*p+Q*g;q=fe>>>13,fe&=8191,fe+=X*h+$*(5*S)+O*(5*k)+I*(5*A)+U*(5*C),q+=fe>>>13,fe&=8191;let pe=q+P*C+ne*x+ee*v+V*y+Q*p;q=pe>>>13,pe&=8191,pe+=X*g+$*h+O*(5*S)+I*(5*k)+U*(5*A),q+=pe>>>13,pe&=8191;let le=q+P*A+ne*C+ee*x+V*v+Q*y;q=le>>>13,le&=8191,le+=X*p+$*g+O*h+I*(5*S)+U*(5*k),q+=le>>>13,le&=8191;let ie=q+P*k+ne*A+ee*C+V*x+Q*v;q=ie>>>13,ie&=8191,ie+=X*y+$*p+O*g+I*h+U*(5*S),q+=ie>>>13,ie&=8191;let se=q+P*S+ne*k+ee*A+V*C+Q*x;q=se>>>13,se&=8191,se+=X*v+$*y+O*p+I*g+U*h,q+=se>>>13,se&=8191,q=(q<<2)+q|0,q=q+Z|0,Z=q&8191,q=q>>>13,j+=q,c[0]=Z,c[1]=j,c[2]=H,c[3]=oe,c[4]=ue,c[5]=fe,c[6]=pe,c[7]=le,c[8]=ie,c[9]=se}finalize(){const{h:a,pad:o}=this,i=new Uint16Array(10);let l=a[1]>>>13;a[1]&=8191;for(let h=2;h<10;h++)a[h]+=l,l=a[h]>>>13,a[h]&=8191;a[0]+=l*5,l=a[0]>>>13,a[0]&=8191,a[1]+=l,l=a[1]>>>13,a[1]&=8191,a[2]+=l,i[0]=a[0]+5,l=i[0]>>>13,i[0]&=8191;for(let h=1;h<10;h++)i[h]=a[h]+l,l=i[h]>>>13,i[h]&=8191;i[9]-=8192;let c=(l^1)-1;for(let h=0;h<10;h++)i[h]&=c;c=~c;for(let h=0;h<10;h++)a[h]=a[h]&c|i[h];a[0]=(a[0]|a[1]<<13)&65535,a[1]=(a[1]>>>3|a[2]<<10)&65535,a[2]=(a[2]>>>6|a[3]<<7)&65535,a[3]=(a[3]>>>9|a[4]<<4)&65535,a[4]=(a[4]>>>12|a[5]<<1|a[6]<<14)&65535,a[5]=(a[6]>>>2|a[7]<<11)&65535,a[6]=(a[7]>>>5|a[8]<<8)&65535,a[7]=(a[8]>>>8|a[9]<<5)&65535;let d=a[0]+o[0];a[0]=d&65535;for(let h=1;h<8;h++)d=(a[h]+o[h]|0)+(d>>>16)|0,a[h]=d&65535;Ba(i)}update(a){qy(this),xt(a),a=Il(a);const{buffer:o,blockLen:i}=this,l=a.length;for(let c=0;c<l;){const d=Math.min(i-this.pos,l-c);if(d===i){for(;i<=l-c;c+=i)this.process(a,c);continue}o.set(a.subarray(c,c+d),this.pos),this.pos+=d,c+=d,this.pos===i&&(this.process(o,0,!1),this.pos=0)}return this}destroy(){this.destroyed=!0,Ba(this.h,this.r,this.buffer,this.pad)}digestInto(a){qy(this),a4(a,this),this.finished=!0;const{buffer:o,h:i}=this;let{pos:l}=this;if(l){for(o[l++]=1;l<16;l++)o[l]=0;this.process(o,0,!0)}this.finalize();let c=0;for(let d=0;d<8;d++)a[c++]=i[d]>>>0,a[c++]=i[d]>>>8}digest(){const{buffer:a,outputLen:o}=this;this.digestInto(a);const i=a.slice(0,o);return this.destroy(),i}}const v4=l4(32,t=>new g4(t));function y4(t,a,o,i,l,c=20){let d=t[0],h=t[1],g=t[2],p=t[3],y=a[0],v=a[1],x=a[2],C=a[3],A=a[4],k=a[5],S=a[6],E=a[7],T=l,N=o[0],R=o[1],M=o[2],D=d,z=h,K=g,P=p,ne=y,ee=v,V=x,Q=C,X=A,$=k,O=S,I=E,U=T,q=N,Z=R,j=M;for(let oe=0;oe<c;oe+=2)D=D+ne|0,U=ge(U^D,16),X=X+U|0,ne=ge(ne^X,12),D=D+ne|0,U=ge(U^D,8),X=X+U|0,ne=ge(ne^X,7),z=z+ee|0,q=ge(q^z,16),$=$+q|0,ee=ge(ee^$,12),z=z+ee|0,q=ge(q^z,8),$=$+q|0,ee=ge(ee^$,7),K=K+V|0,Z=ge(Z^K,16),O=O+Z|0,V=ge(V^O,12),K=K+V|0,Z=ge(Z^K,8),O=O+Z|0,V=ge(V^O,7),P=P+Q|0,j=ge(j^P,16),I=I+j|0,Q=ge(Q^I,12),P=P+Q|0,j=ge(j^P,8),I=I+j|0,Q=ge(Q^I,7),D=D+ee|0,j=ge(j^D,16),O=O+j|0,ee=ge(ee^O,12),D=D+ee|0,j=ge(j^D,8),O=O+j|0,ee=ge(ee^O,7),z=z+V|0,U=ge(U^z,16),I=I+U|0,V=ge(V^I,12),z=z+V|0,U=ge(U^z,8),I=I+U|0,V=ge(V^I,7),K=K+Q|0,q=ge(q^K,16),X=X+q|0,Q=ge(Q^X,12),K=K+Q|0,q=ge(q^K,8),X=X+q|0,Q=ge(Q^X,7),P=P+ne|0,Z=ge(Z^P,16),$=$+Z|0,ne=ge(ne^$,12),P=P+ne|0,Z=ge(Z^P,8),$=$+Z|0,ne=ge(ne^$,7);let H=0;i[H++]=d+D|0,i[H++]=h+z|0,i[H++]=g+K|0,i[H++]=p+P|0,i[H++]=y+ne|0,i[H++]=v+ee|0,i[H++]=x+V|0,i[H++]=C+Q|0,i[H++]=A+X|0,i[H++]=k+$|0,i[H++]=S+O|0,i[H++]=E+I|0,i[H++]=T+U|0,i[H++]=N+q|0,i[H++]=R+Z|0,i[H++]=M+j|0}function b4(t,a,o,i){let l=wt(t[0]),c=wt(t[1]),d=wt(t[2]),h=wt(t[3]),g=wt(a[0]),p=wt(a[1]),y=wt(a[2]),v=wt(a[3]),x=wt(a[4]),C=wt(a[5]),A=wt(a[6]),k=wt(a[7]),S=wt(o[0]),E=wt(o[1]),T=wt(o[2]),N=wt(o[3]);for(let M=0;M<20;M+=2)l=l+g|0,S=ge(S^l,16),x=x+S|0,g=ge(g^x,12),l=l+g|0,S=ge(S^l,8),x=x+S|0,g=ge(g^x,7),c=c+p|0,E=ge(E^c,16),C=C+E|0,p=ge(p^C,12),c=c+p|0,E=ge(E^c,8),C=C+E|0,p=ge(p^C,7),d=d+y|0,T=ge(T^d,16),A=A+T|0,y=ge(y^A,12),d=d+y|0,T=ge(T^d,8),A=A+T|0,y=ge(y^A,7),h=h+v|0,N=ge(N^h,16),k=k+N|0,v=ge(v^k,12),h=h+v|0,N=ge(N^h,8),k=k+N|0,v=ge(v^k,7),l=l+p|0,N=ge(N^l,16),A=A+N|0,p=ge(p^A,12),l=l+p|0,N=ge(N^l,8),A=A+N|0,p=ge(p^A,7),c=c+y|0,S=ge(S^c,16),k=k+S|0,y=ge(y^k,12),c=c+y|0,S=ge(S^c,8),k=k+S|0,y=ge(y^k,7),d=d+v|0,E=ge(E^d,16),x=x+E|0,v=ge(v^x,12),d=d+v|0,E=ge(E^d,8),x=x+E|0,v=ge(v^x,7),h=h+g|0,T=ge(T^h,16),C=C+T|0,g=ge(g^C,12),h=h+g|0,T=ge(T^h,8),C=C+T|0,g=ge(g^C,7);let R=0;i[R++]=l,i[R++]=c,i[R++]=d,i[R++]=h,i[R++]=S,i[R++]=E,i[R++]=T,i[R++]=N,La(i)}const w4=h4(y4,{counterRight:!1,counterLength:8,extendNonceFn:b4,allowShortKeys:!1}),x4=new Uint8Array(16),Py=(t,a)=>{t.update(a);const o=a.length%16;o&&t.update(x4.subarray(o))},k4=new Uint8Array(32);function Yy(t,a,o,i,l){l!==void 0&&xt(l,void 0,"AAD");const c=t(a,o,k4),d=u4(i.length,l?l.length:0,!0),h=v4.create(c);l&&Py(h,l),Py(h,i),h.update(d);const g=h.digest();return Ba(c,d),g}const S4=t=>(a,o,i)=>({encrypt(c,d){const h=c.length;d=zf(h+16,d,!1),d.set(c);const g=d.subarray(0,-16);t(a,o,g,g,1);const p=Yy(t,a,o,g,i);return d.set(p,h),Ba(p),d},decrypt(c,d){d=zf(c.length-16,d,!1);const h=c.subarray(0,-16),g=c.subarray(-16),p=Yy(t,a,o,h,i);if(!i4(g,p))throw Ba(p),new Error("invalid tag");return d.set(c.subarray(0,-16)),t(a,o,d,d,1),Ba(p),d}}),Vw=c4({blockSize:64,nonceLength:24,tagLength:16},S4(w4));function E4(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in t&&t.BYTES_PER_ELEMENT===1}function vo(t,a=""){if(typeof t!="number"){const o=a&&`"${a}" `;throw new TypeError(`${o}expected number, got ${typeof t}`)}if(!Number.isSafeInteger(t)||t<0){const o=a&&`"${a}" `;throw new RangeError(`${o}expected integer >= 0, got ${t}`)}}function na(t,a,o=""){const i=E4(t),l=t?.length,c=a!==void 0;if(!i||c&&l!==a){const d=o&&`"${o}" `,h=c?` of length ${a}`:"",g=i?`length=${l}`:`type=${typeof t}`,p=d+"expected Uint8Array"+h+", got "+g;throw i?new RangeError(p):new TypeError(p)}return t}function Tm(t){if(typeof t!="function"||typeof t.create!="function")throw new TypeError("Hash must wrapped by utils.createHasher");if(vo(t.outputLen),vo(t.blockLen),t.outputLen<1)throw new Error('"outputLen" must be >= 1');if(t.blockLen<1)throw new Error('"blockLen" must be >= 1')}function Pl(t,a=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(a&&t.finished)throw new Error("Hash#digest() has already been called")}function Gw(t,a){na(t,void 0,"digestInto() output");const o=a.outputLen;if(t.length<o)throw new RangeError('"digestInto() output" expected to be of length >='+o)}function Ds(...t){for(let a=0;a<t.length;a++)t[a].fill(0)}function lf(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Cn(t,a){return t<<32-a|t>>>a}const $w=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",T4=Array.from({length:256},(t,a)=>a.toString(16).padStart(2,"0"));function Cm(t){if(na(t),$w)return t.toHex();let a="";for(let o=0;o<t.length;o++)a+=T4[t[o]];return a}const Qn={_0:48,_9:57,A:65,F:70,a:97,f:102};function Ky(t){if(t>=Qn._0&&t<=Qn._9)return t-Qn._0;if(t>=Qn.A&&t<=Qn.F)return t-(Qn.A-10);if(t>=Qn.a&&t<=Qn.f)return t-(Qn.a-10)}function Am(t){if(typeof t!="string")throw new TypeError("hex string expected, got "+typeof t);if($w)try{return Uint8Array.fromHex(t)}catch(l){throw l instanceof SyntaxError?new RangeError(l.message):l}const a=t.length,o=a/2;if(a%2)throw new RangeError("hex string expected, got unpadded hex of length "+a);const i=new Uint8Array(o);for(let l=0,c=0;l<o;l++,c+=2){const d=Ky(t.charCodeAt(c)),h=Ky(t.charCodeAt(c+1));if(d===void 0||h===void 0){const g=t[c]+t[c+1];throw new RangeError('hex string expected, got non-hex character "'+g+'" at index '+c)}i[l]=d*16+h}return i}function C4(t,a={}){const o=(l,c)=>t(c).update(l).digest(),i=t(void 0);return o.outputLen=i.outputLen,o.blockLen=i.blockLen,o.canXOF=i.canXOF,o.create=l=>t(l),Object.assign(o,a),Object.freeze(o)}function A4(t=32){vo(t,"bytesLength");const a=typeof globalThis=="object"?globalThis.crypto:null;if(typeof a?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");if(t>65536)throw new RangeError(`"bytesLength" expected <= 65536, got ${t}`);return a.getRandomValues(new Uint8Array(t))}const _4=t=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,t])});function N4(t,a,o){return t&a^~t&o}function R4(t,a,o){return t&a^t&o^a&o}class j4{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(a,o,i,l){this.blockLen=a,this.outputLen=o,this.padOffset=i,this.isLE=l,this.buffer=new Uint8Array(a),this.view=lf(this.buffer)}update(a){Pl(this),na(a);const{view:o,buffer:i,blockLen:l}=this,c=a.length;for(let d=0;d<c;){const h=Math.min(l-this.pos,c-d);if(h===l){const g=lf(a);for(;l<=c-d;d+=l)this.process(g,d);continue}i.set(a.subarray(d,d+h),this.pos),this.pos+=h,d+=h,this.pos===l&&(this.process(o,0),this.pos=0)}return this.length+=a.length,this.roundClean(),this}digestInto(a){Pl(this),Gw(a,this),this.finished=!0;const{buffer:o,view:i,blockLen:l,isLE:c}=this;let{pos:d}=this;o[d++]=128,Ds(this.buffer.subarray(d)),this.padOffset>l-d&&(this.process(i,0),d=0);for(let v=d;v<l;v++)o[v]=0;i.setBigUint64(l-8,BigInt(this.length*8),c),this.process(i,0);const h=lf(a),g=this.outputLen;if(g%4)throw new Error("_sha2: outputLen must be aligned to 32bit");const p=g/4,y=this.get();if(p>y.length)throw new Error("_sha2: outputLen bigger than state");for(let v=0;v<p;v++)h.setUint32(4*v,y[v],c)}digest(){const{buffer:a,outputLen:o}=this;this.digestInto(a);const i=a.slice(0,o);return this.destroy(),i}_cloneInto(a){a||=new this.constructor,a.set(...this.get());const{blockLen:o,buffer:i,length:l,finished:c,destroyed:d,pos:h}=this;return a.destroyed=d,a.finished=c,a.length=l,a.pos=h,l%o&&a.buffer.set(i),a}clone(){return this._cloneInto()}}const ja=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),O4=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Oa=new Uint32Array(64);class M4 extends j4{constructor(a){super(64,a,8,!1)}get(){const{A:a,B:o,C:i,D:l,E:c,F:d,G:h,H:g}=this;return[a,o,i,l,c,d,h,g]}set(a,o,i,l,c,d,h,g){this.A=a|0,this.B=o|0,this.C=i|0,this.D=l|0,this.E=c|0,this.F=d|0,this.G=h|0,this.H=g|0}process(a,o){for(let v=0;v<16;v++,o+=4)Oa[v]=a.getUint32(o,!1);for(let v=16;v<64;v++){const x=Oa[v-15],C=Oa[v-2],A=Cn(x,7)^Cn(x,18)^x>>>3,k=Cn(C,17)^Cn(C,19)^C>>>10;Oa[v]=k+Oa[v-7]+A+Oa[v-16]|0}let{A:i,B:l,C:c,D:d,E:h,F:g,G:p,H:y}=this;for(let v=0;v<64;v++){const x=Cn(h,6)^Cn(h,11)^Cn(h,25),C=y+x+N4(h,g,p)+O4[v]+Oa[v]|0,k=(Cn(i,2)^Cn(i,13)^Cn(i,22))+R4(i,l,c)|0;y=p,p=g,g=h,h=d+C|0,d=c,c=l,l=i,i=C+k|0}i=i+this.A|0,l=l+this.B|0,c=c+this.C|0,d=d+this.D|0,h=h+this.E|0,g=g+this.F|0,p=p+this.G|0,y=y+this.H|0,this.set(i,l,c,d,h,g,p,y)}roundClean(){Ds(Oa)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),Ds(this.buffer)}}class D4 extends M4{A=ja[0]|0;B=ja[1]|0;C=ja[2]|0;D=ja[3]|0;E=ja[4]|0;F=ja[5]|0;G=ja[6]|0;H=ja[7]|0;constructor(){super(32)}}const uo=C4(()=>new D4,_4(1));const Ha=(t,a,o)=>na(t,a,o),Xw=vo,Zw=Cm,L4=t=>Am(t),z4=t=>A4(t),Yl=BigInt(0),Hf=BigInt(1);function Qw(t,a=""){if(typeof t!="boolean"){const o=a&&`"${a}" `;throw new TypeError(o+"expected boolean, got type="+typeof t)}return t}function B4(t){if(typeof t=="bigint"){if(!jl(t))throw new RangeError("positive bigint expected, got "+t)}else Xw(t);return t}function Fy(t,a=""){if(typeof t!="number"){const o=a&&`"${a}" `;throw new TypeError(o+"expected number, got type="+typeof t)}if(!Number.isSafeInteger(t)){const o=a&&`"${a}" `;throw new RangeError(o+"expected safe integer, got "+t)}}function Jw(t){if(typeof t!="string")throw new TypeError("hex string expected, got "+typeof t);return t===""?Yl:BigInt("0x"+t)}function H4(t){return Jw(Cm(t))}function Ls(t){return Jw(Cm(zs(na(t)).reverse()))}function ex(t,a){if(vo(a),a===0)throw new RangeError("zero length");t=B4(t);const o=t.toString(16);if(o.length>a*2)throw new RangeError("number too large");return Am(o.padStart(a*2,"0"))}function tx(t,a){return ex(t,a).reverse()}function U4(t,a){if(t=Ha(t),a=Ha(a),t.length!==a.length)return!1;let o=0;for(let i=0;i<t.length;i++)o|=t[i]^a[i];return o===0}function zs(t){return Uint8Array.from(Ha(t))}const jl=t=>typeof t=="bigint"&&Yl<=t;function W4(t,a,o){return jl(t)&&jl(a)&&jl(o)&&a<=t&&t<o}function Kl(t,a,o,i){if(!W4(a,o,i))throw new RangeError("expected valid "+t+": "+o+" <= n < "+i+", got "+a)}function q4(t){if(t<Yl)throw new Error("expected non-negative bigint, got "+t);let a;for(a=0;t>Yl;t>>=Hf,a+=1);return a}const I4=t=>(Hf<<BigInt(t))-Hf;function _m(t,a={},o={}){if(Object.prototype.toString.call(t)!=="[object Object]")throw new TypeError("expected valid options object");function i(c,d,h){if(!h&&d!=="function"&&!Object.hasOwn(t,c))throw new TypeError(`param "${c}" is invalid: expected own property`);const g=t[c];if(h&&g===void 0)return;const p=typeof g;if(p!==d||g===null)throw new TypeError(`param "${c}" is invalid: expected ${d}, got ${p}`)}const l=(c,d)=>Object.entries(c).forEach(([h,g])=>i(h,g,d));l(a,!1),l(o,!0)}const Vy=()=>{throw new Error("not implemented")};const kt=BigInt(0),yt=BigInt(1),ur=BigInt(2),nx=BigInt(3),ax=BigInt(4),rx=BigInt(5),P4=BigInt(7),ox=BigInt(8),Y4=BigInt(9),sx=BigInt(16);function at(t,a){if(a<=kt)throw new Error("mod: expected positive modulus, got "+a);const o=t%a;return o>=kt?o:a+o}function hn(t,a,o){if(a<kt)throw new Error("pow2: expected non-negative exponent, got "+a);let i=t;for(;a-- >kt;)i*=i,i%=o;return i}function Gy(t,a){if(t===kt)throw new Error("invert: expected non-zero number");if(a<=kt)throw new Error("invert: expected positive modulus, got "+a);let o=at(t,a),i=a,l=kt,c=yt;for(;o!==kt;){const h=i/o,g=i-o*h,p=l-c*h;i=o,o=g,l=c,c=p}if(i!==yt)throw new Error("invert: does not exist");return at(l,a)}function Nm(t,a,o){const i=t;if(!i.eql(i.sqr(a),o))throw new Error("Cannot find square root")}function ix(t,a){const o=t,i=(o.ORDER+yt)/ax,l=o.pow(a,i);return Nm(o,l,a),l}function K4(t,a){const o=t,i=(o.ORDER-rx)/ox,l=o.mul(a,ur),c=o.pow(l,i),d=o.mul(a,c),h=o.mul(o.mul(d,ur),c),g=o.mul(d,o.sub(h,o.ONE));return Nm(o,g,a),g}function F4(t){const a=Rm(t),o=lx(t),i=o(a,a.neg(a.ONE)),l=o(a,i),c=o(a,a.neg(i)),d=(t+P4)/sx;return((h,g)=>{const p=h;let y=p.pow(g,d),v=p.mul(y,i);const x=p.mul(y,l),C=p.mul(y,c),A=p.eql(p.sqr(v),g),k=p.eql(p.sqr(x),g);y=p.cmov(y,v,A),v=p.cmov(C,x,k);const S=p.eql(p.sqr(v),g),E=p.cmov(y,v,S);return Nm(p,E,g),E})}function lx(t){if(t<nx)throw new Error("sqrt is not defined for small field");let a=t-yt,o=0;for(;a%ur===kt;)a/=ur,o++;let i=ur;const l=Rm(t);for(;$y(l,i)===1;)if(i++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(o===1)return ix;let c=l.pow(i,a);const d=(a+yt)/ur;return function(g,p){const y=g;if(y.is0(p))return p;if($y(y,p)!==1)throw new Error("Cannot find square root");let v=o,x=y.mul(y.ONE,c),C=y.pow(p,a),A=y.pow(p,d);for(;!y.eql(C,y.ONE);){if(y.is0(C))return y.ZERO;let k=1,S=y.sqr(C);for(;!y.eql(S,y.ONE);)if(k++,S=y.sqr(S),k===v)throw new Error("Cannot find square root");const E=yt<<BigInt(v-k-1),T=y.pow(x,E);v=k,x=y.sqr(T),C=y.mul(C,x),A=y.mul(A,T)}return A}}function V4(t){return t%ax===nx?ix:t%ox===rx?K4:t%sx===Y4?F4(t):lx(t)}const ir=(t,a)=>(at(t,a)&yt)===yt,G4=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function $4(t){const a={ORDER:"bigint",BYTES:"number",BITS:"number"},o=G4.reduce((i,l)=>(i[l]="function",i),a);if(_m(t,o),Fy(t.BYTES,"BYTES"),Fy(t.BITS,"BITS"),t.BYTES<1||t.BITS<1)throw new Error("invalid field: expected BYTES/BITS > 0");if(t.ORDER<=yt)throw new Error("invalid field: expected ORDER > 1, got "+t.ORDER);return t}function X4(t,a,o){const i=t;if(o<kt)throw new Error("invalid exponent, negatives unsupported");if(o===kt)return i.ONE;if(o===yt)return a;let l=i.ONE,c=a;for(;o>kt;)o&yt&&(l=i.mul(l,c)),c=i.sqr(c),o>>=yt;return l}function cx(t,a,o=!1){const i=t,l=new Array(a.length).fill(o?i.ZERO:void 0),c=a.reduce((h,g,p)=>i.is0(g)?h:(l[p]=h,i.mul(h,g)),i.ONE),d=i.inv(c);return a.reduceRight((h,g,p)=>i.is0(g)?h:(l[p]=i.mul(h,l[p]),i.mul(h,g)),d),l}function $y(t,a){const o=t,i=(o.ORDER-yt)/ur,l=o.pow(a,i),c=o.eql(l,o.ONE),d=o.eql(l,o.ZERO),h=o.eql(l,o.neg(o.ONE));if(!c&&!d&&!h)throw new Error("invalid Legendre symbol result");return c?1:d?0:-1}function Z4(t,a){if(a!==void 0&&Xw(a),t<=kt)throw new Error("invalid n length: expected positive n, got "+t);if(a!==void 0&&a<1)throw new Error("invalid n length: expected positive bit length, got "+a);const o=q4(t);if(a!==void 0&&a<o)throw new Error(`invalid n length: expected bit length (${o}) >= n.length (${a})`);const i=a!==void 0?a:o,l=Math.ceil(i/8);return{nBitLength:i,nByteLength:l}}const Xy=new WeakMap;class ux{ORDER;BITS;BYTES;isLE;ZERO=kt;ONE=yt;_lengths;_mod;constructor(a,o={}){if(a<=yt)throw new Error("invalid field: expected ORDER > 1, got "+a);let i;this.isLE=!1,o!=null&&typeof o=="object"&&(typeof o.BITS=="number"&&(i=o.BITS),typeof o.sqrt=="function"&&Object.defineProperty(this,"sqrt",{value:o.sqrt,enumerable:!0}),typeof o.isLE=="boolean"&&(this.isLE=o.isLE),o.allowedLengths&&(this._lengths=Object.freeze(o.allowedLengths.slice())),typeof o.modFromBytes=="boolean"&&(this._mod=o.modFromBytes));const{nBitLength:l,nByteLength:c}=Z4(a,i);if(c>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=a,this.BITS=l,this.BYTES=c,Object.freeze(this)}create(a){return at(a,this.ORDER)}isValid(a){if(typeof a!="bigint")throw new TypeError("invalid field element: expected bigint, got "+typeof a);return kt<=a&&a<this.ORDER}is0(a){return a===kt}isValidNot0(a){return!this.is0(a)&&this.isValid(a)}isOdd(a){return(a&yt)===yt}neg(a){return at(-a,this.ORDER)}eql(a,o){return a===o}sqr(a){return at(a*a,this.ORDER)}add(a,o){return at(a+o,this.ORDER)}sub(a,o){return at(a-o,this.ORDER)}mul(a,o){return at(a*o,this.ORDER)}pow(a,o){return X4(this,a,o)}div(a,o){return at(a*Gy(o,this.ORDER),this.ORDER)}sqrN(a){return a*a}addN(a,o){return a+o}subN(a,o){return a-o}mulN(a,o){return a*o}inv(a){return Gy(a,this.ORDER)}sqrt(a){let o=Xy.get(this);return o||Xy.set(this,o=V4(this.ORDER)),o(this,a)}toBytes(a){return this.isLE?tx(a,this.BYTES):ex(a,this.BYTES)}fromBytes(a,o=!1){Ha(a);const{_lengths:i,BYTES:l,isLE:c,ORDER:d,_mod:h}=this;if(i){if(a.length<1||!i.includes(a.length)||a.length>l)throw new Error("Field.fromBytes: expected "+i+" bytes, got "+a.length);const p=new Uint8Array(l);p.set(a,c?0:p.length-a.length),a=p}if(a.length!==l)throw new Error("Field.fromBytes: expected "+l+" bytes, got "+a.length);let g=c?Ls(a):H4(a);if(h&&(g=at(g,d)),!o&&!this.isValid(g))throw new Error("invalid field element: outside of range 0..ORDER");return g}invertBatch(a){return cx(this,a)}cmov(a,o,i){return Qw(i,"condition"),i?o:a}}Object.freeze(ux.prototype);function Rm(t,a={}){return new ux(t,a)}const Fl=BigInt(0),Uf=BigInt(1);function Zy(t,a){const o=a.negate();return t?o:a}function cf(t,a){const o=cx(t.Fp,a.map(i=>i.Z));return a.map((i,l)=>t.fromAffine(i.toAffine(o[l])))}function dx(t,a){if(!Number.isSafeInteger(t)||t<=0||t>a)throw new Error("invalid window size, expected [1.."+a+"], got W="+t)}function uf(t,a){dx(t,a);const o=Math.ceil(a/t)+1,i=2**(t-1),l=2**t,c=I4(t),d=BigInt(t);return{windows:o,windowSize:i,mask:c,maxNumber:l,shiftBy:d}}function Qy(t,a,o){const{windowSize:i,mask:l,maxNumber:c,shiftBy:d}=o;let h=Number(t&l),g=t>>d;h>i&&(h-=c,g+=Uf);const p=a*i,y=p+Math.abs(h)-1,v=h===0,x=h<0,C=a%2!==0;return{nextN:g,offset:y,isZero:v,isNeg:x,isNegF:C,offsetF:p}}const df=new WeakMap,fx=new WeakMap;function ff(t){return fx.get(t)||1}function Jy(t){if(t!==Fl)throw new Error("invalid wNAF")}class Q4{BASE;ZERO;Fn;bits;constructor(a,o){this.BASE=a.BASE,this.ZERO=a.ZERO,this.Fn=a.Fn,this.bits=o}_unsafeLadder(a,o,i=this.ZERO){let l=a;for(;o>Fl;)o&Uf&&(i=i.add(l)),l=l.double(),o>>=Uf;return i}precomputeWindow(a,o){const{windows:i,windowSize:l}=uf(o,this.bits),c=[];let d=a,h=d;for(let g=0;g<i;g++){h=d,c.push(h);for(let p=1;p<l;p++)h=h.add(d),c.push(h);d=h.double()}return c}wNAF(a,o,i){if(!this.Fn.isValid(i))throw new Error("invalid scalar");let l=this.ZERO,c=this.BASE;const d=uf(a,this.bits);for(let h=0;h<d.windows;h++){const{nextN:g,offset:p,isZero:y,isNeg:v,isNegF:x,offsetF:C}=Qy(i,h,d);i=g,y?c=c.add(Zy(x,o[C])):l=l.add(Zy(v,o[p]))}return Jy(i),{p:l,f:c}}wNAFUnsafe(a,o,i,l=this.ZERO){const c=uf(a,this.bits);for(let d=0;d<c.windows&&i!==Fl;d++){const{nextN:h,offset:g,isZero:p,isNeg:y}=Qy(i,d,c);if(i=h,!p){const v=o[g];l=l.add(y?v.negate():v)}}return Jy(i),l}getPrecomputes(a,o,i){let l=df.get(o);return l||(l=this.precomputeWindow(o,a),a!==1&&(typeof i=="function"&&(l=i(l)),df.set(o,l))),l}cached(a,o,i){const l=ff(a);return this.wNAF(l,this.getPrecomputes(l,a,i),o)}unsafe(a,o,i,l){const c=ff(a);return c===1?this._unsafeLadder(a,o,l):this.wNAFUnsafe(c,this.getPrecomputes(c,a,i),o,l)}createCache(a,o){dx(o,this.bits),fx.set(a,o),df.delete(a)}hasCache(a){return ff(a)!==1}}function e0(t,a,o){if(a){if(a.ORDER!==t)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return $4(a),a}else return Rm(t,{isLE:o})}function J4(t,a,o={},i){if(i===void 0&&(i=t==="edwards"),!a||typeof a!="object")throw new Error(`expected valid ${t} CURVE object`);for(const g of["p","n","h"]){const p=a[g];if(!(typeof p=="bigint"&&p>Fl))throw new Error(`CURVE.${g} must be positive bigint`)}const l=e0(a.p,o.Fp,i),c=e0(a.n,o.Fn,i),h=["Gx","Gy","a","d"];for(const g of h)if(!l.isValid(a[g]))throw new Error(`CURVE.${g} must be valid field element of CURVE.Fp`);return a=Object.freeze(Object.assign({},a)),{CURVE:a,Fp:l,Fn:c}}function eO(t,a){return function(i){const l=t(i);return{secretKey:l,publicKey:a(l)}}}const Ma=BigInt(0),Mt=BigInt(1),mf=BigInt(2),tO=BigInt(8);function nO(t,a,o,i){const l=t.sqr(o),c=t.sqr(i),d=t.add(t.mul(a.a,l),c),h=t.add(t.ONE,t.mul(a.d,t.mul(l,c)));return t.eql(d,h)}function aO(t,a={}){const o=a,i=J4("edwards",t,o,o.FpFnLE),{Fp:l,Fn:c}=i;let d=i.CURVE;const{h}=d;_m(o,{},{uvRatio:"function"});const g=mf<<BigInt(c.BYTES*8)-Mt,p=k=>l.create(k),y=o.uvRatio===void 0?(k,S)=>{try{return{isValid:!0,value:l.sqrt(l.div(k,S))}}catch{return{isValid:!1,value:Ma}}}:o.uvRatio;if(!nO(l,d,d.Gx,d.Gy))throw new Error("bad curve params: generator point");function v(k,S,E=!1){const T=E?Mt:Ma;return Kl("coordinate "+k,S,T,g),S}function x(k){if(!(k instanceof C))throw new Error("EdwardsPoint expected")}class C{static BASE=new C(d.Gx,d.Gy,Mt,p(d.Gx*d.Gy));static ZERO=new C(Ma,Mt,Mt,Ma);static Fp=l;static Fn=c;X;Y;Z;T;constructor(S,E,T,N){this.X=v("x",S),this.Y=v("y",E),this.Z=v("z",T,!0),this.T=v("t",N),Object.freeze(this)}static CURVE(){return d}static fromAffine(S){if(S instanceof C)throw new Error("extended point not allowed");const{x:E,y:T}=S||{};return v("x",E),v("y",T),new C(E,T,Mt,p(E*T))}static fromBytes(S,E=!1){const T=l.BYTES,{a:N,d:R}=d;S=zs(Ha(S,T,"point")),Qw(E,"zip215");const M=zs(S),D=S[T-1];M[T-1]=D&-129;const z=Ls(M),K=E?g:l.ORDER;Kl("point.y",z,Ma,K);const P=p(z*z),ne=p(P-Mt),ee=p(R*P-N);let{isValid:V,value:Q}=y(ne,ee);if(!V)throw new Error("bad point: invalid y coordinate");const X=(Q&Mt)===Mt,$=(D&128)!==0;if(!E&&Q===Ma&&$)throw new Error("bad point: x=0 and x_0=1");return $!==X&&(Q=p(-Q)),C.fromAffine({x:Q,y:z})}static fromHex(S,E=!1){return C.fromBytes(L4(S),E)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(S=8,E=!0){return A.createCache(this,S),E||this.multiply(mf),this}assertValidity(){const S=this,{a:E,d:T}=d;if(S.is0())throw new Error("bad point: ZERO");const{X:N,Y:R,Z:M,T:D}=S,z=p(N*N),K=p(R*R),P=p(M*M),ne=p(P*P),ee=p(z*E),V=p(P*p(ee+K)),Q=p(ne+p(T*p(z*K)));if(V!==Q)throw new Error("bad point: equation left != right (1)");const X=p(N*R),$=p(M*D);if(X!==$)throw new Error("bad point: equation left != right (2)")}equals(S){x(S);const{X:E,Y:T,Z:N}=this,{X:R,Y:M,Z:D}=S,z=p(E*D),K=p(R*N),P=p(T*D),ne=p(M*N);return z===K&&P===ne}is0(){return this.equals(C.ZERO)}negate(){return new C(p(-this.X),this.Y,this.Z,p(-this.T))}double(){const{a:S}=d,{X:E,Y:T,Z:N}=this,R=p(E*E),M=p(T*T),D=p(mf*p(N*N)),z=p(S*R),K=E+T,P=p(p(K*K)-R-M),ne=z+M,ee=ne-D,V=z-M,Q=p(P*ee),X=p(ne*V),$=p(P*V),O=p(ee*ne);return new C(Q,X,O,$)}add(S){x(S);const{a:E,d:T}=d,{X:N,Y:R,Z:M,T:D}=this,{X:z,Y:K,Z:P,T:ne}=S,ee=p(N*z),V=p(R*K),Q=p(D*T*ne),X=p(M*P),$=p((N+R)*(z+K)-ee-V),O=X-Q,I=X+Q,U=p(V-E*ee),q=p($*O),Z=p(I*U),j=p($*U),H=p(O*I);return new C(q,Z,H,j)}subtract(S){return x(S),this.add(S.negate())}multiply(S){if(!c.isValidNot0(S))throw new RangeError("invalid scalar: expected 1 <= sc < curve.n");const{p:E,f:T}=A.cached(this,S,N=>cf(C,N));return cf(C,[E,T])[0]}multiplyUnsafe(S){if(!c.isValid(S))throw new RangeError("invalid scalar: expected 0 <= sc < curve.n");return S===Ma?C.ZERO:this.is0()||S===Mt?this:A.unsafe(this,S,E=>cf(C,E))}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return A.unsafe(this,d.n).is0()}toAffine(S){const E=this;let T=S;const{X:N,Y:R,Z:M}=E,D=E.is0();T==null&&(T=D?tO:l.inv(M));const z=p(N*T),K=p(R*T),P=l.mul(M,T);if(D)return{x:Ma,y:Mt};if(P!==Mt)throw new Error("invZ was invalid");return{x:z,y:K}}clearCofactor(){return h===Mt?this:this.multiplyUnsafe(h)}toBytes(){const{x:S,y:E}=this.toAffine(),T=l.toBytes(E);return T[T.length-1]|=S&Mt?128:0,T}toHex(){return Zw(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}const A=new Q4(C,c.BITS);return c.BITS>=8&&C.BASE.precompute(8),Object.freeze(C.prototype),Object.freeze(C),C}class rO{static BASE;static ZERO;static Fp;static Fn;ep;constructor(a){this.ep=a}static fromBytes(a){Vy()}static fromHex(a){Vy()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(a){return this.ep.toAffine(a)}toHex(){return Zw(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(a){return this.assertSame(a),this.init(this.ep.add(a.ep))}subtract(a){return this.assertSame(a),this.init(this.ep.subtract(a.ep))}multiply(a){return this.init(this.ep.multiply(a))}multiplyUnsafe(a){return this.init(this.ep.multiplyUnsafe(a))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(a,o){return this.ep.precompute(a,o),this}}const ws=BigInt(0),oo=BigInt(1),xl=BigInt(2);function oO(t){return _m(t,{P:"bigint",type:"string",adjustScalarBytes:"function",powPminus2:"function"},{randomBytes:"function"}),Object.freeze({...t})}function sO(t){const a=oO(t),{P:o,type:i,adjustScalarBytes:l,powPminus2:c,randomBytes:d}=a,h=i==="x25519";if(!h&&i!=="x448")throw new Error("invalid type");const g=d===void 0?z4:d,p=h?255:448,y=h?32:56,v=BigInt(h?9:5),x=BigInt(h?121665:39081),C=h?xl**BigInt(254):xl**BigInt(447),A=h?BigInt(8)*xl**BigInt(251)-oo:BigInt(4)*xl**BigInt(445)-oo,k=C+A+oo,S=X=>at(X,o),E=T(v);function T(X){return tx(S(X),y)}function N(X){const $=zs(Ha(X,y,"uCoordinate"));return h&&($[31]&=127),S(Ls($))}function R(X){return Ls(l(zs(Ha(X,y,"scalar"))))}function M(X,$){const O=ne(N($),R(X));if(O===ws)throw new Error("invalid private or public key received");return T(O)}function D(X){return M(X,E)}const z=D,K=M;function P(X,$,O){const I=S(X*($-O));return $=S($-I),O=S(O+I),{x_2:$,x_3:O}}function ne(X,$){Kl("u",X,ws,o),Kl("scalar",$,C,k);const O=$,I=X;let U=oo,q=ws,Z=X,j=oo,H=ws;for(let ue=BigInt(p-1);ue>=ws;ue--){const fe=O>>ue&oo;H^=fe,{x_2:U,x_3:Z}=P(H,U,Z),{x_2:q,x_3:j}=P(H,q,j),H=fe;const pe=U+q,le=S(pe*pe),ie=U-q,se=S(ie*ie),de=le-se,me=Z+j,Te=Z-j,Ee=S(Te*pe),xe=S(me*ie),Ze=Ee+xe,St=Ee-xe;Z=S(Ze*Ze),j=S(I*S(St*St)),U=S(le*se),q=S(de*(le+S(x*de)))}({x_2:U,x_3:Z}=P(H,U,Z)),{x_2:q,x_3:j}=P(H,q,j);const oe=c(q);return S(U*oe)}const ee={secretKey:y,publicKey:y,seed:y},V=X=>(X=X===void 0?g(y):X,Ha(X,ee.seed,"seed"),X),Q={randomSecretKey:V};return Object.freeze(ee),Object.freeze(Q),Object.freeze({keygen:eO(V,z),getSharedSecret:K,getPublicKey:z,scalarMult:M,scalarMultBase:D,utils:Q,GuBytes:E.slice(),lengths:ee})}const iO=BigInt(0),Ns=BigInt(1),t0=BigInt(2),lO=BigInt(3),cO=BigInt(5),uO=BigInt(8),yo=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),mx={p:yo,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:uO,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function px(t){const a=BigInt(10),o=BigInt(20),i=BigInt(40),l=BigInt(80),c=yo,h=t*t%c*t%c,g=hn(h,t0,c)*h%c,p=hn(g,Ns,c)*t%c,y=hn(p,cO,c)*p%c,v=hn(y,a,c)*y%c,x=hn(v,o,c)*v%c,C=hn(x,i,c)*x%c,A=hn(C,l,c)*C%c,k=hn(A,l,c)*C%c,S=hn(k,a,c)*y%c;return{pow_p_5_8:hn(S,t0,c)*t%c,b2:h}}function dO(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}const Wf=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function hx(t,a){const o=yo,i=at(a*a*a,o),l=at(i*i*a,o),c=px(t*l).pow_p_5_8;let d=at(t*i*c,o);const h=at(a*d*d,o),g=d,p=at(d*Wf,o),y=h===t,v=h===at(-t,o),x=h===at(-t*Wf,o);return y&&(d=g),(v||x)&&(d=p),ir(d,o)&&(d=at(-d,o)),{isValid:y||v,value:d}}const so=aO(mx,{uvRatio:hx}),lr=so.Fp,fO=so.Fn,qf=(()=>{const t=yo;return sO({P:t,type:"x25519",powPminus2:a=>{const{pow_p_5_8:o,b2:i}=px(a);return at(hn(o,lO,t)*i,t)},adjustScalarBytes:dO})})(),n0=Wf,mO=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),a0=t=>hx(Ns,t),pO=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),hO=t=>lr.create(Ls(t)&pO);class Gt extends rO{static BASE=new Gt(so.BASE);static ZERO=new Gt(so.ZERO);static Fp=lr;static Fn=fO;constructor(a){super(a)}static fromAffine(a){return new Gt(so.fromAffine(a))}assertSame(a){if(!(a instanceof Gt))throw new Error("RistrettoPoint expected")}init(a){return new Gt(a)}static fromBytes(a){na(a,32);const{a:o,d:i}=mx,l=yo,c=R=>lr.create(R),d=hO(a);if(!U4(lr.toBytes(d),a)||ir(d,l))throw new Error("invalid ristretto255 encoding 1");const h=c(d*d),g=c(Ns+o*h),p=c(Ns-o*h),y=c(g*g),v=c(p*p),x=c(o*i*y-v),{isValid:C,value:A}=a0(c(x*v)),k=c(A*p),S=c(A*k*x);let E=c((d+d)*k);ir(E,l)&&(E=c(-E));const T=c(g*S),N=c(E*T);if(!C||ir(N,l)||T===iO)throw new Error("invalid ristretto255 encoding 2");return new Gt(new so(E,T,Ns,N))}static fromHex(a){return Gt.fromBytes(Am(a))}toBytes(){let{X:a,Y:o,Z:i,T:l}=this.ep;const c=yo,d=S=>lr.create(S),h=d(d(i+o)*d(i-o)),g=d(a*o),p=d(g*g),{value:y}=a0(d(h*p)),v=d(y*h),x=d(y*g),C=d(v*x*l);let A;if(ir(l*C,c)){let S=d(o*n0),E=d(a*n0);a=S,o=E,A=d(v*mO)}else A=x;ir(a*C,c)&&(o=d(-o));let k=d((i-o)*A);return ir(k,c)&&(k=d(-k)),lr.toBytes(k)}equals(a){this.assertSame(a);const{X:o,Y:i}=this.ep,{X:l,Y:c}=a.ep,d=p=>lr.create(p),h=d(o*c)===d(i*l),g=d(i*c)===d(o*l);return h||g}is0(){return this.equals(Gt.ZERO)}}Object.freeze(Gt.BASE);Object.freeze(Gt.ZERO);Object.freeze(Gt.prototype);Object.freeze(Gt);class r0{oHash;iHash;blockLen;outputLen;canXOF=!1;finished=!1;destroyed=!1;constructor(a,o){if(Tm(a),na(o,void 0,"key"),this.iHash=a.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const i=this.blockLen,l=new Uint8Array(i);l.set(o.length>i?a.create().update(o).digest():o);for(let c=0;c<l.length;c++)l[c]^=54;this.iHash.update(l),this.oHash=a.create();for(let c=0;c<l.length;c++)l[c]^=106;this.oHash.update(l),Ds(l)}update(a){return Pl(this),this.iHash.update(a),this}digestInto(a){Pl(this),Gw(a,this),this.finished=!0;const o=a.subarray(0,this.outputLen);this.iHash.digestInto(o),this.oHash.update(o),this.oHash.digestInto(o),this.destroy()}digest(){const a=new Uint8Array(this.oHash.outputLen);return this.digestInto(a),a}_cloneInto(a){a||=Object.create(Object.getPrototypeOf(this),{});const{oHash:o,iHash:i,finished:l,destroyed:c,blockLen:d,outputLen:h}=this;return a=a,a.finished=l,a.destroyed=c,a.blockLen=d,a.outputLen=h,a.oHash=o._cloneInto(a.oHash),a.iHash=i._cloneInto(a.iHash),a}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const gx=(()=>{const t=((a,o,i)=>new r0(a,o).update(i).digest());return t.create=(a,o)=>new r0(a,o),t})();function gO(t,a,o){return Tm(t),o===void 0&&(o=new Uint8Array(t.outputLen)),gx(t,o,a)}const pf=Uint8Array.of(0),o0=Uint8Array.of();function vO(t,a,o,i=32){Tm(t),vo(i,"length"),na(a,void 0,"prk");const l=t.outputLen;if(a.length<l)throw new Error('"prk" must be at least HashLen octets');if(i>255*l)throw new Error("Length must be <= 255*HashLen");const c=Math.ceil(i/l);o===void 0?o=o0:na(o,void 0,"info");const d=new Uint8Array(c*l),h=gx.create(t,a),g=h._cloneInto(),p=new Uint8Array(h.outputLen);for(let y=0;y<c;y++)pf[0]=y+1,g.update(y===0?o0:p).update(o).update(pf).digestInto(p),d.set(p,l*y),h._cloneInto(g);return h.destroy(),g.destroy(),Ds(p,pf),d.slice(0,i)}const Bs=(t,a,o,i,l)=>vO(t,gO(t,a,o),i,l),vn=2,s0=32,yO=32,za=32,bO=24,If=32,vx=32,wO=6,Pf=32,yx="hive/remote/v1/pair",xO="hive/remote/v1/key/daemon->device",kO="hive/remote/v1/key/device->daemon",SO="hive/remote/v1/sas",EO="hive/remote/v1/transcript",TO="hive/remote/v2/conn/daemon->device",CO="hive/remote/v2/conn/device->daemon",AO="hive/remote/v2/conn-salt",_O=1,NO=2,RO=4,jO=8,bx=12,OO=new TextEncoder;function Xt(t){return OO.encode(t)}function Nn(...t){let a=0;for(const l of t)a+=l.length;const o=new Uint8Array(a);let i=0;for(const l of t)o.set(l,i),i+=l.length;return o}function uc(t){if(!Number.isInteger(t)||t<0||t>4294967295)throw new RangeError(`u32be out of range: ${t}`);const a=new Uint8Array(4);return new DataView(a.buffer).setUint32(0,t),a}function jm(t,a=0){if(t.length<a+4)throw new RangeError("u32beRead: buffer too short");return new DataView(t.buffer,t.byteOffset,t.byteLength).getUint32(a)}function MO(t){if(!Number.isSafeInteger(t)||t<0)throw new RangeError(`u64be out of range: ${t}`);const a=new Uint8Array(8),o=Math.floor(t/4294967296),i=t>>>0,l=new DataView(a.buffer);return l.setUint32(0,o),l.setUint32(4,i),a}function Vl(t){if(t.length>65535)throw new RangeError("lp: value too long for u16 length prefix");const a=new Uint8Array(2+t.length);return new DataView(a.buffer).setUint16(0,t.length),a.set(t,2),a}function un(t,a,o){if(t.length!==a)throw new RangeError(`${o} must be ${a} bytes, got ${t.length}`)}const gn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",DO=(()=>{const t=new Int16Array(128).fill(-1);for(let a=0;a<gn.length;a++)t[gn.charCodeAt(a)]=a;return t})();function dr(t){let a="",o=0;for(;o+3<=t.length;o+=3){const l=t[o],c=t[o+1],d=t[o+2];a+=gn[l>>2],a+=gn[(l&3)<<4|c>>4],a+=gn[(c&15)<<2|d>>6],a+=gn[d&63]}const i=t.length-o;if(i===1){const l=t[o];a+=gn[l>>2],a+=gn[(l&3)<<4]}else if(i===2){const l=t[o],c=t[o+1];a+=gn[l>>2],a+=gn[(l&3)<<4|c>>4],a+=gn[(c&15)<<2]}return a}function Hs(t){if(t.length%4===1)throw new RangeError("invalid base64url");const a=t.length>>2,o=t.length&3,i=a*3+(o===0?0:o-1),l=new Uint8Array(i),c=g=>{if(g>=128)throw new RangeError("invalid base64url");const p=DO[g];if(p<0)throw new RangeError("invalid base64url");return p};let d=0,h=0;for(;h+4<=t.length;h+=4){const g=c(t.charCodeAt(h)),p=c(t.charCodeAt(h+1)),y=c(t.charCodeAt(h+2)),v=c(t.charCodeAt(h+3));l[d++]=g<<2|p>>4,l[d++]=(p&15)<<4|y>>2,l[d++]=(y&3)<<6|v}if(o===2){const g=c(t.charCodeAt(h)),p=c(t.charCodeAt(h+1));l[d++]=g<<2|p>>4}else if(o===3){const g=c(t.charCodeAt(h)),p=c(t.charCodeAt(h+1)),y=c(t.charCodeAt(h+2));l[d++]=g<<2|p>>4,l[d++]=(p&15)<<4|y>>2}return l}function LO(t){return JSON.stringify(t)}function zO(t){let a;try{a=JSON.parse(t)}catch{throw new RangeError("invalid pairing payload: not JSON")}if(typeof a!="object"||a===null)throw new RangeError("invalid pairing payload: not an object");const o=a;if(o.v!==vn)throw new RangeError(`unsupported pairing version: ${String(o.v)}`);if(typeof o.gatewayUrl!="string"||o.gatewayUrl.length===0)throw new RangeError("invalid pairing payload: gatewayUrl");if(typeof o.daemonId!="string"||o.daemonId.length===0)throw new RangeError("invalid pairing payload: daemonId");if(typeof o.pairingSecret!="string")throw new RangeError("invalid pairing payload: pairingSecret");if(Hs(o.pairingSecret).length!==If)throw new RangeError(`pairingSecret must be ${If} bytes`);return{v:o.v,gatewayUrl:o.gatewayUrl,daemonId:o.daemonId,pairingSecret:o.pairingSecret}}function BO(){const t=qf.utils.randomSecretKey(),a=qf.getPublicKey(t);return{secretKey:t,publicKey:a}}function HO(t){return{secretKey:dr(t.secretKey),publicKey:dr(t.publicKey)}}function UO(){return Kw(vx)}function WO(t){un(t.pairingSecret,If,"pairingSecret"),un(t.sessionSalt,vx,"sessionSalt"),un(t.daemonPublicKey,s0,"daemonPublicKey"),un(t.devicePublicKey,s0,"devicePublicKey");const a=qf.getSharedSecret(t.localSecretKey,t.peerPublicKey);un(a,yO,"sharedSecret");const o=Nn(t.pairingSecret,a),i=Nn(Xt(EO),Uint8Array.of(0),uc(t.ids.protocolVersion),Vl(Xt(t.ids.daemonId)),Vl(Xt(t.ids.deviceId)),t.daemonPublicKey,t.devicePublicKey,t.sessionSalt),l=uo(i),c=Nn(Xt(yx),t.sessionSalt),d=Bs(uo,o,c,Nn(Xt(xO),Uint8Array.of(0),l),za),h=Bs(uo,o,c,Nn(Xt(kO),Uint8Array.of(0),l),za),g=YO(l,t.ids);return{d2p:d,p2d:h,sas:g,transcriptHash:l}}function qO(t){return WO({localSecretKey:t.deviceSecretKey,peerPublicKey:t.daemonPublicKey,daemonPublicKey:t.daemonPublicKey,devicePublicKey:t.devicePublicKey,pairingSecret:t.pairingSecret,sessionSalt:t.sessionSalt,ids:t.ids})}function IO(){return Kw(Pf)}function PO(t){un(t.rootD2p,za,"rootD2p"),un(t.rootP2d,za,"rootP2d"),un(t.phoneConnSalt,Pf,"phoneConnSalt"),un(t.daemonConnSalt,Pf,"daemonConnSalt");const a=Nn(Xt(AO),t.phoneConnSalt,t.daemonConnSalt),o=Nn(Uint8Array.of(0),uc(t.ids.protocolVersion),Vl(Xt(t.ids.daemonId)),Vl(Xt(t.ids.deviceId)),t.phoneConnSalt,t.daemonConnSalt),i=Bs(uo,t.rootD2p,a,Nn(Xt(TO),o),za),l=Bs(uo,t.rootP2d,a,Nn(Xt(CO),o),za);return{d2p:i,p2d:l}}function YO(t,a){un(t,32,"transcriptHash");const o=Bs(uo,t,Xt(yx),Nn(Xt(SO),Uint8Array.of(0),uc(a.protocolVersion)),4);return(jm(o)%1e6).toString().padStart(wO,"0")}function wx(t,a,o){if(!Number.isInteger(a)||a<0||a>4294967295)throw new RangeError(`streamId out of range: ${a}`);const i=new Uint8Array(bO);return i[0]=t==="d2p"?_O:NO,i.set(uc(a),1),i.set(MO(o),8),i}function xx(t){if(t.length<bx)throw new RangeError("headerBytes too short");return jm(t,RO)}function dc(t){if(t.length<bx)throw new RangeError("headerBytes too short");return jm(t,jO)}function KO(t){un(t.key,za,"key");const a=xx(t.headerBytes),o=dc(t.headerBytes),i=wx(t.direction,a,o);return Vw(t.key,i,t.headerBytes).encrypt(t.payload)}function FO(t){un(t.key,za,"key");const a=xx(t.headerBytes),o=dc(t.headerBytes),i=wx(t.direction,a,o);return Vw(t.key,i,t.headerBytes).decrypt(t.ciphertext)}function VO(t){return{direction:t,nextSeq:0}}function GO(t){return{direction:t,lastSeq:-1}}function $O(t,a){const o=dc(a.headerBytes);if(o!==t.nextSeq)throw new RangeError(`header seq ${o} does not match sealer.nextSeq ${t.nextSeq}`);const i=KO({key:a.key,direction:t.direction,headerBytes:a.headerBytes,payload:a.payload}),l=t.nextSeq;return t.nextSeq+=1,{seq:l,ciphertext:i}}function XO(t,a){if(a.seq!==t.lastSeq+1)throw new RangeError("out-of-order or replayed frame");if(dc(a.headerBytes)!==a.seq)throw new RangeError("out-of-order or replayed frame");const i=FO({key:a.key,direction:t.direction,headerBytes:a.headerBytes,ciphertext:a.ciphertext});return t.lastSeq=a.seq,i}const ZO=(t,a)=>{const o=new URL(t);if(o.protocol==="https:"?o.protocol="wss:":o.protocol==="http:"&&(o.protocol="ws:"),o.protocol!=="wss:"&&o.protocol!=="ws:")throw new Error(`unsupported pairing gateway protocol: ${o.protocol}`);return`${o.toString().replace(/\/+$/,"")}/relay/pair?daemonId=${encodeURIComponent(a)}`},QO=t=>typeof t=="object"&&t!==null&&typeof t.t=="string",JO=2e4,e5=1e4;function t5(t,a,o){const i=o.generateKeyPair??BO,l=o.generateSalt??UO,c=o.heartbeatMs??JO,d=o.heartbeatDeadlineMs??e5;let h="idle",g=null,p=null,y=null,v=!1,x=null,C=null,A=null,k=null,S=null,E=null,T="",N="",R=null;const M=Z=>{h=Z,a.onPhase(Z)},D=()=>{C!==null&&(clearTimeout(C),C=null)},z=()=>{x!==null&&(clearInterval(x),x=null),D()},K=Z=>{z(),x=setInterval(()=>{if(!v){try{Z.send(Iw)}catch{}C===null&&(C=setTimeout(()=>{if(C=null,!v){try{Z.close()}catch{}$()}},d))}},c)},P=()=>{A?.secretKey.fill(0),k?.fill(0),S&&(S.d2p.fill(0),S.p2d.fill(0),S.transcriptHash.fill(0)),A=null,k=null,S=null},ne=Z=>{if(!v){v=!0,z(),P();try{y?.close()}catch{}y=null,R?.(Z)}},ee=(Z,j)=>{if(v)return;const H={code:Z,message:j};M(Z==="rejected"?"rejected":Z==="expired"?"expired":"error"),a.onFailure(H),ne({ok:!1,failure:H})},V=Z=>{if(h!=="connecting"&&h!=="handshaking")return;if(Z.protocolVersion!==vn){ee("protocol_version",`unsupported pairing protocol version ${Z.protocolVersion}`);return}if(!A||!k){ee("pair_ack_invalid","pair-ack arrived before the phone keypair was ready");return}let j;try{j=Hs(Z.daemonPublicKey)}catch{ee("pair_ack_invalid","pair-ack daemonPublicKey is not valid base64url");return}const H={daemonId:Z.daemonId,deviceId:Z.deviceId,protocolVersion:Z.protocolVersion};try{S=qO({deviceSecretKey:A.secretKey,daemonPublicKey:j,devicePublicKey:A.publicKey,pairingSecret:U,sessionSalt:k,ids:H})}catch(oe){ee("pair_ack_invalid",`handshake derivation failed: ${oe.message}`);return}p=Z.deviceId,N=Z.daemonId,E=Z.daemonPublicKey,g=S.sas,M("awaiting_confirm"),a.onSas(g)},Q=()=>{if(!v){if(!S||!A||!p){ee("pair_ack_invalid","cannot mint before the handshake produced a session");return}M("minting"),o.mintSession(T,{daemonId:N,deviceId:p}).then(()=>{if(v||!A||!E||!p||!S)return;const Z={v:2,gatewayUrl:T,daemonId:N,deviceId:p,deviceKeyPair:HO(A),daemonPublicKey:E,rootKeys:{d2p:dr(S.d2p),p2d:dr(S.p2d)},protocolVersion:vn,pairedAt:(o.now??Date.now)()};o.store.save(Z);const j=p;M("paired"),ne({ok:!0,deviceId:j})}).catch(Z=>{Z.status===403?ee("mint_forbidden","gateway refused to mint a device session (not confirmed)"):ee("mint_failed",`device session mint failed: ${Z.message??"unknown"}`)})}},X=Z=>{if(h==="awaiting_confirm"){if(!S||!A||!p||Z.deviceId!==p){ee("pair_ack_invalid","confirmed for an unexpected device");return}Q()}},$=()=>{if(!v){if(h==="awaiting_confirm"){Q();return}h!=="minting"&&ee("socket_closed","pairing socket closed before the device was paired")}},O=Z=>{if(v||typeof Z!="string")return;if(Z===Pw){D();return}let j;try{j=JSON.parse(Z)}catch{return}if(QO(j))switch(h==="connecting"&&j.t==="pair-ack"&&M("handshaking"),j.t){case"pair-ack":V(j);break;case"confirmed":X(j);break;case"rejected":{const H=j.reason;H==="expired"||H==="pairing_expired"?ee("expired","pairing code expired; generate a new pairing code"):ee("rejected",H??"pairing rejected at the desktop")}break}},I=zO(t),U=Hs(I.pairingSecret);return T=I.gatewayUrl,N=I.daemonId,{get phase(){return h},get sas(){return g},get deviceId(){return p},start:()=>v?Promise.resolve({ok:!1,failure:{code:"cancelled",message:"already settled"}}):new Promise(Z=>{R=Z,A=i(),k=l(),M("connecting");const j=ZO(I.gatewayUrl,I.daemonId);try{y=o.openSocket(j)}catch(H){ee("socket_closed",`failed to open pairing socket: ${H.message}`);return}y.addEventListener("open",()=>{if(v||!y||!A||!k)return;K(y);const H={t:"hello",devicePublicKey:dr(A.publicKey),sessionSalt:dr(k),...o.proposedName?{proposedName:o.proposedName}:{},...o.boundJti?{boundJti:o.boundJti}:{}};y?.send(JSON.stringify(H))}),y.addEventListener("message",H=>{O(H.data)}),y.addEventListener("close",$),y.addEventListener("error",$)}),cancel:()=>{v||(M("rejected"),ee("cancelled","pairing cancelled"))},dispose:()=>{v?P():ne({ok:!1,failure:{code:"cancelled",message:"disposed"}})}}}const n5=t=>async(a,o)=>{const i=await t(`${a}/pair/session`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify(o)});if(!i.ok)throw Object.assign(new Error(`mint failed: ${i.status}`),{status:i.status})};function a5(t){const a=t.fetchImpl??globalThis.fetch.bind(globalThis),o=t.gatewayBaseUrl??window.location.origin,i=t.redirect??(A=>window.location.assign(A)),l=t.createPairing??t5,c=t.mintSession??n5(a);let d=t.authProvider??"github",h="login",g=null;const p=A=>{h=A,t.onPhase?.(A)},y=A=>t.store.load(o,A),v=async A=>{A&&(d=A);const k=await a(`${o}/pair/machines`,{credentials:"include"});if(k.status===401){const T=encodeURIComponent(window.location.pathname+window.location.search);return p("login"),i(`${o}/auth/${d}?redirect=${T}`),{daemons:[],selfDeviceId:null}}if(!k.ok)throw new Error(`Failed to load machines: ${k.status}`);const S=await k.json(),E=S.daemons.map(T=>({id:T.id,name:T.name,lastSeen:T.lastSeen,revoked:T.revoked,online:T.online}));return p("machines"),{daemons:E,selfDeviceId:S.self.deviceId}},x=A=>{p("pairing");const S=l(A,{onPhase:E=>t.onPairingPhase?.(E),onSas:E=>t.onPairingSas?.(E),onFailure:E=>t.onPairingFailure?.(E)},{openSocket:(E,T)=>new WebSocket(E,T),store:t.store,mintSession:c,...t.proposedName?{proposedName:t.proposedName}:{},...t.boundJti?{boundJti:t.boundJti}:{}});return g=S,S.start()};return{get phase(){return h},get pairingClient(){return g},loadMachines:v,selectDaemon:async(A,k)=>{g=null;const S=y(A);if(S&&!k){const R=await t.connectTransport({daemonId:A,deviceId:S.deviceId,stored:S});return R.ok?(p("connected"),R):(!R.ok&&R.failure.code==="relay_revoked"&&t.store.clear(o,A),p("selecting"),R)}if(p("selecting"),!k)return{ok:!1,failure:{code:"needs_pairing",message:"this device is not paired with that computer — enter its pairing code first"}};const E=await x(k);if(!E.ok)return E;const T=y(A),N=await t.connectTransport({daemonId:A,deviceId:E.deviceId,stored:T});return N.ok?(p("connected"),N):(N.failure.code==="relay_revoked"&&t.store.clear(o,A),p("selecting"),N)}}}const kx="0123456789ABCDEFGHJKMNPQRSTVWXYZ",r5=12,o5="hive-remote-pairing-code-v1:",s5=t=>{const a=t.trim().toUpperCase().replace(/[\s-]+/g,"").replace(/O/g,"0").replace(/[IL]/g,"1");if(a.length!==r5)return null;for(const o of a)if(!kx.includes(o))return null;return a},i5=new TextEncoder,l5=t=>new URL(t).origin,c5=async t=>{const a=s5(t.code);if(!a)return null;const o=await crypto.subtle.digest("SHA-256",i5.encode(`${o5}${a}`));return LO({v:vn,gatewayUrl:l5(t.gatewayUrl),daemonId:t.daemonId,pairingSecret:dr(new Uint8Array(o))})},u5="hive.device-session.v2",d5="hive.device-session.v1",hf=(t,a)=>`${u5}:${t}:${a}`,i0=(t,a)=>`${d5}:${t}:${a}`,f5=t=>{if(typeof t!="object"||t===null)return!1;const a=t;if(a.v!==2||typeof a.gatewayUrl!="string"||typeof a.daemonId!="string"||typeof a.deviceId!="string"||typeof a.daemonPublicKey!="string"||typeof a.protocolVersion!="number"||typeof a.pairedAt!="number")return!1;const o=a.deviceKeyPair;if(typeof o!="object"||o===null)return!1;const i=o;if(typeof i.secretKey!="string"||typeof i.publicKey!="string")return!1;const l=a.rootKeys;if(typeof l!="object"||l===null)return!1;const c=l;return typeof c.d2p=="string"&&typeof c.p2d=="string"},m5=(t=globalThis.localStorage??null)=>({load:(a,o)=>{if(!t)return null;t.getItem(i0(a,o))!==null&&t.removeItem(i0(a,o));const i=t.getItem(hf(a,o));if(i===null)return null;try{const l=JSON.parse(i);return f5(l)?l:null}catch{return null}},save:a=>{t&&t.setItem(hf(a.gatewayUrl,a.daemonId),JSON.stringify(a))},clear:(a,o)=>{t&&t.removeItem(hf(a,o))}}),Sx=()=>{const t=window.location.hostname;return!(t==="127.0.0.1"||t==="localhost"||t==="[::1]"||t==="::1")},Ex=t=>{switch(t){case"rejected":case"cancelled":return"pairing.failed.rejected";case"expired":return"pairing.failed.expired";case"mint_forbidden":return"pairing.failed.mintForbidden";case"protocol_version":return"pairing.failed.version";case"socket_closed":case"pair_ack_invalid":case"mint_failed":return"pairing.failed.socket";default:return null}},p5=(t,a)=>{const o=Ex(a);if(o)return o;switch(t){case"connecting":return"pairing.connecting";case"handshaking":case"minting":return"pairing.handshaking";case"awaiting_confirm":return null;case"paired":return"pairing.paired";case"rejected":return"pairing.failed.rejected";case"expired":return"pairing.failed.expired";case"error":return"pairing.failed.socket";default:return null}},h5=t=>t==="select_failed"?"connect.error.selectFailed":t==="invalid_code"?"connect.error.invalidCode":t==="relay_revoked"?"connect.machines.revokedHint":null,g5=t=>{const a=Math.floor((Date.now()-t)/1e3);if(a<60)return null;const o=Math.floor(a/60);if(o<60)return`${o}m`;const i=Math.floor(o/60);return i<24?`${i}h`:`${Math.floor(i/24)}d`},v5={O:"0",I:"1",L:"1"},y5=t=>{const a=t.toUpperCase();let o="";for(const l of a){const c=v5[l]??l;if(kx.includes(c)&&(o+=c,o.length===12))break}const i=[];for(let l=0;l<o.length;l+=4)i.push(o.slice(l,l+4));return i.join("-")},b5=t=>t==="minting"||t==="paired",kl=({children:t,className:a="",testId:o})=>f.jsx("div",{"data-testid":o,className:`connect-screen flex min-h-full flex-col p-6 ${a}`,children:t}),xs=({primary:t,children:a,disabled:o,onClick:i,testId:l,type:c="button"})=>f.jsx("button",{type:c,"data-testid":l,disabled:o,onClick:i,className:"flex w-full items-center justify-center rounded-lg px-4 text-sm font-semibold transition-colors",style:{minHeight:"44px",background:t?"var(--accent)":"var(--bg-2)",color:t?"#ffffff":"var(--text-secondary)",border:`1px solid ${t?"var(--accent)":"var(--border-bright)"}`,opacity:o?.4:1,cursor:o?"not-allowed":"pointer"},children:a}),w5=({flow:t,phase:a,machines:o,selectedMachineId:i,pairingPhase:l,pairingFailureCode:c,connectError:d,sas:h,isSigningIn:g=!1,pendingMachineId:p,loginError:y=!1,isGatewayBundle:v=!1,onRefreshMachines:x,onSelectProvider:C,onSelectMachine:A,onSubmitCode:k,onCancelPairing:S,onGoBack:E})=>{const{t:T}=Ce(),[N,R]=b.useState(""),M=b.useRef(!1),D=p5(l,c),z=h5(d),K=Ex(c)!=null,P=b5(l),ne=h!=null&&h.length>0&&(l==="awaiting_confirm"||P),ee=$=>{const O=y5($);R(O),O.replace(/-/g,"").length===12&&i&&!M.current&&(M.current=!0,k(i,O.trim()))},V=N.replace(/-/g,"").length===12,Q=!!i&&V,X=v?"/brand/icon-192.png":"/logo.png";if(a==="login")return f.jsxs(kl,{testId:"connect-login",className:"justify-center gap-6",children:[f.jsxs("div",{className:"mb-2 flex flex-col items-center gap-3 text-center",children:[f.jsx("img",{src:X,width:72,height:72,alt:"",style:{filter:"drop-shadow(0 8px 28px rgba(51,88,212,.38))"}}),f.jsx("span",{className:"text-2xl font-bold tracking-tight",style:{color:"var(--text-primary)"},children:"Hive"})]}),f.jsxs("div",{className:"text-center",children:[f.jsx("h1",{className:"text-xl font-semibold text-pri",children:T("connect.login.heading")}),f.jsx("p",{className:"mt-2 text-sm text-ter",children:T("connect.login.subtitle")})]}),y?f.jsx("p",{"data-testid":"connect-login-error",className:"rounded-lg px-3 py-2 text-center text-sm",style:{background:"color-mix(in oklab, var(--status-red) 12%, transparent)",color:"var(--status-red)"},children:T("connect.login.failed")}):null,f.jsx("div",{className:"flex flex-col gap-3",children:g?f.jsx("div",{className:"flex items-center justify-center text-sm text-ter",style:{minHeight:"44px"},children:T("connect.login.signingIn")}):f.jsxs(f.Fragment,{children:[f.jsx(xs,{primary:!0,testId:"connect-login-github",onClick:()=>C("github"),children:T("connect.login.github")}),f.jsx(xs,{testId:"connect-login-google",onClick:()=>C("google"),children:T("connect.login.google")})]})})]});if(a==="machines"){const $=p!=null;return f.jsxs(kl,{testId:"connect-machines",className:"gap-4",children:[f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx("img",{src:X,width:20,height:20,alt:"",className:"shrink-0"}),f.jsx("span",{className:"text-sm font-semibold text-sec",children:"Hive"})]}),f.jsxs("div",{className:"flex items-center justify-between gap-2",children:[f.jsx("h1",{className:"text-xl font-semibold text-pri",children:T("connect.machines.heading")}),x?f.jsx("button",{type:"button","aria-label":T("common.refresh"),"data-testid":"connect-machines-refresh",onClick:x,className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-md text-sec",style:{background:"var(--bg-2)",border:"1px solid var(--border-bright)"},children:f.jsx(Jf,{size:16,"aria-hidden":!0})}):null]}),z?f.jsx("p",{"data-testid":"connect-error",className:"rounded-lg px-3 py-2 text-sm",style:{background:"color-mix(in oklab, var(--status-red) 12%, transparent)",color:"var(--status-red)"},children:T(z)}):null,o.length===0?f.jsxs("div",{className:"flex flex-1 flex-col items-center justify-center gap-4 px-4 text-center",children:[f.jsx("span",{className:"flex h-16 w-16 items-center justify-center rounded-2xl",style:{background:"color-mix(in oklab, var(--accent) 12%, transparent)",color:"var(--accent-hover, var(--accent))"},"aria-hidden":!0,children:f.jsx(Md,{size:28})}),f.jsx("p",{"data-testid":"connect-machines-empty",className:"max-w-[280px] text-sm text-ter",children:T("connect.machines.empty")}),f.jsx("div",{className:"flex w-full max-w-[320px] flex-col gap-3 pt-2",children:f.jsx(xs,{testId:"connect-machines-back",...E?{onClick:E}:{},children:T("connect.machines.back")})})]}):f.jsx("ul",{className:"flex flex-col gap-2.5",children:o.map(O=>{const I=p===O.id,U=!O.online||O.revoked||$;let q,Z="var(--text-tertiary)";if(O.revoked)q=T("connect.machines.revoked"),Z="var(--status-red)";else if(O.online)I?(q=T("connect.machines.connecting"),Z="var(--text-secondary)"):(q=T("connect.machines.online"),Z="var(--status-green)");else{const H=O.lastSeen!=null?g5(O.lastSeen):null;q=H!=null?T("connect.machines.lastSeen",{ago:H}):T("connect.machines.offline")}const j=O.revoked?"var(--status-red)":O.online?"var(--status-green)":"var(--text-tertiary)";return f.jsx("li",{children:f.jsxs("button",{type:"button","data-testid":`connect-machine-${O.id}`,className:"flex w-full items-center gap-3 rounded-xl border px-3.5 py-3 text-left transition-colors",style:{minHeight:"64px",borderColor:"var(--border-bright)",background:I?"var(--bg-2)":"var(--bg-1)",opacity:U&&!I?.55:1,cursor:U?"not-allowed":"pointer"},disabled:U,"aria-disabled":U,onClick:()=>A(O.id),children:[f.jsxs("span",{className:"relative shrink-0","aria-hidden":!0,children:[f.jsx("span",{className:"flex h-10 w-10 items-center justify-center rounded-lg",style:{background:"color-mix(in oklab, var(--accent) 12%, transparent)",color:"var(--accent-hover, var(--accent))"},children:f.jsx(Md,{size:20})}),f.jsx("span",{className:"absolute -right-0.5 -bottom-0.5 h-3 w-3 rounded-full border-2",style:{background:j,borderColor:"var(--bg-1)"}})]}),f.jsxs("span",{className:"min-w-0 flex-1",children:[f.jsx("span",{className:"block truncate text-[15px] font-medium text-pri",children:O.name}),f.jsx("span",{className:"mt-0.5 block text-xs",style:{color:Z},children:q})]}),I?f.jsx("span",{"aria-hidden":!0,className:"h-4 w-4 shrink-0 animate-spin rounded-full border-2",style:{borderColor:"var(--border-bright)",borderTopColor:"var(--accent)"}}):U?null:f.jsx(y0,{size:18,className:"shrink-0 text-ter","aria-hidden":!0})]})},O.id)})}),v?f.jsx("div",{className:"mt-auto pt-4 text-center",children:f.jsx("a",{href:"/machines",className:"text-xs underline-offset-2 hover:underline",style:{color:"var(--text-tertiary)"},children:T("connect.machines.manageDevices")})}):null]})}if(a==="selecting"){const $=o.find(O=>O.id===i);return f.jsxs(kl,{testId:"connect-pair-guide",className:"gap-4",children:[f.jsxs("button",{type:"button",className:"-ml-2 flex items-center gap-1 self-start rounded-md px-2 text-sm text-sec",style:{minHeight:"44px"},onClick:E,children:[f.jsx(_k,{size:16,"aria-hidden":!0}),T("connect.pair.back")]}),f.jsxs("div",{children:[f.jsx("h1",{className:"text-xl font-semibold text-pri",children:T("connect.pair.guideHeading")}),$?f.jsxs("p",{className:"mt-1 flex items-center gap-1.5 text-sm text-ter",children:[f.jsx(Md,{size:14,"aria-hidden":!0,className:"shrink-0"}),f.jsx("span",{className:"truncate",children:$.name})]}):null]}),z?f.jsx("p",{"data-testid":"connect-error",className:"rounded-lg px-3 py-2 text-sm",style:{background:"color-mix(in oklab, var(--status-red) 12%, transparent)",color:"var(--status-red)"},children:T(z)}):null,f.jsx("ol",{className:"flex flex-col gap-3",children:["connect.pair.guideStep1","connect.pair.guideStep2","connect.pair.guideStep3"].map((O,I)=>f.jsxs("li",{className:"flex items-start gap-3 text-sm text-sec",children:[f.jsx("span",{"aria-hidden":!0,className:"mt-px flex h-[22px] w-[22px] shrink-0 items-center justify-center rounded-lg text-xs font-semibold",style:{background:"color-mix(in oklab, var(--accent) 13%, transparent)",border:"1px solid color-mix(in oklab, var(--accent) 34%, transparent)",color:"var(--accent-hover)"},children:I+1}),f.jsx("span",{className:"min-w-0 leading-relaxed",children:T(O)})]},O))}),f.jsxs("label",{className:"flex flex-col gap-2 text-xs uppercase tracking-wider text-ter",children:[T("connect.pair.qrLabel"),f.jsx("input",{type:"text","data-testid":"connect-code-input",className:"input mono text-center",inputMode:"text",autoCapitalize:"characters",autoCorrect:"off",autoComplete:"off",spellCheck:!1,placeholder:"XXXX-XXXX-XXXX",maxLength:14,value:N,onChange:O=>{M.current=!1,ee(O.target.value)},style:{fontSize:"18px",letterSpacing:"0.12em",minHeight:"52px"}})]}),f.jsx(xs,{primary:!0,testId:"connect-code-submit",disabled:!Q,onClick:()=>{i&&!M.current&&(M.current=!0,k(i,N.trim()))},children:T("connect.pair.submit")})]})}if(a==="pairing"){const $=K;return f.jsxs(kl,{testId:"connect-pairing",className:"justify-center gap-6",children:[ne&&!$?f.jsxs("div",{className:"flex flex-col items-center gap-4",children:[f.jsx("div",{"data-testid":"connect-pairing-sas",className:"mono rounded-2xl border px-7 py-5 font-bold text-pri","aria-live":"polite",style:{fontSize:"2.5rem",letterSpacing:"0.25em",paddingRight:"calc(1.75rem - 0.25em)",background:"var(--bg-1)",borderColor:"var(--border-bright)"},children:h}),f.jsx("p",{className:"text-center text-sm text-ter",style:{maxWidth:"280px"},children:T(P?"connect.pair.finalizing":"connect.pair.sasInstruction")}),P?f.jsx("span",{"aria-hidden":!0,className:"h-5 w-5 animate-spin rounded-full border-2",style:{borderColor:"var(--border-bright)",borderTopColor:"var(--accent)"}}):null]}):null,D&&!ne&&!$?f.jsx("p",{"data-testid":"connect-pairing-phase",className:"text-center text-sm text-ter",children:T(D)}):null,$&&D?f.jsx("p",{"data-testid":"connect-pairing-phase",className:"text-center text-sm",style:{color:"var(--status-red)"},children:T(D)}):null,P?null:f.jsx("div",{className:"flex flex-col gap-3",children:f.jsx(xs,{primary:$,testId:"connect-pairing-cancel",onClick:()=>{R(""),M.current=!1,S?S():t.pairingClient?.cancel()},children:T($?"connect.pair.startOver":"common.cancel")})})]})}return null},x5=()=>{if(typeof navigator>"u")return"Phone";const t=navigator.userAgent??"";let a="Phone";/iPad/.test(t)?a="iPad":/iPhone/.test(t)?a="iPhone":/Android/.test(t)&&(a="Android");let o="Browser";return/EdgA?\//.test(t)?o="Edge":/SamsungBrowser\//.test(t)?o="Samsung":/OPR\/|OPT\//.test(t)?o="Opera":/Firefox\//.test(t)?o="Firefox":/Chrome\//.test(t)?o="Chrome":/Safari\//.test(t)&&(o="Safari"),`${a} · ${o}`.slice(0,48)},k5=({children:t,connectTransport:a,createFlow:o=a5,store:i,gatewayBaseUrl:l,isGateway:c=Sx})=>{const d=c(),[h,g]=b.useState("login"),[p,y]=b.useState([]),[v,x]=b.useState(null),[C,A]=b.useState(void 0),[k,S]=b.useState(null),[E,T]=b.useState(null),[N,R]=b.useState(null),[M,D]=b.useState(null),[z,K]=b.useState(!1),[P,ne]=b.useState(null),[ee,V]=b.useState(!1),[Q,X]=b.useState(!0),$=b.useMemo(()=>o({store:i??m5(),connectTransport:a,...l?{gatewayBaseUrl:l}:{},proposedName:x5(),onPhase:g,onPairingPhase:le=>{S(le),le!=="error"&&le!=="expired"&&le!=="rejected"&&T(null)},onPairingSas:D,onPairingFailure:le=>T(le.code)}),[o,i,a,l]),O=b.useRef($);O.current=$;const I=b.useRef(0),U=b.useCallback(()=>{S(null),T(null),D(null)},[]),q=b.useCallback(()=>(I.current+=1,I.current),[]),Z=b.useCallback(le=>I.current===le,[]);b.useEffect(()=>{let le=!1;return O.current.loadMachines().then(({daemons:ie,selfDeviceId:se})=>{le||(y(ie),x(se))}).catch(()=>{}).finally(()=>{le||X(!1)}),()=>{le=!0}},[]);const j=b.useCallback(()=>{const le=q();R(null),U(),K(!0),O.current.loadMachines().then(({daemons:ie,selfDeviceId:se})=>{Z(le)&&(y(ie),x(se))}).finally(()=>{Z(le)&&K(!1)})},[U,Z,q]),H=b.useCallback(le=>{const ie=q();R(null),U(),V(!1),K(!0),O.current.loadMachines(le).then(({daemons:se,selfDeviceId:de})=>{Z(ie)&&(y(se),x(de))}).catch(()=>{Z(ie)&&V(!0)}).finally(()=>{Z(ie)&&K(!1)})},[U,Z,q]),oe=b.useCallback(le=>{const ie=q();A(le),R(null),U(),ne(le),(async()=>{const se=await O.current.selectDaemon(le);Z(ie)&&(ne(null),!se.ok&&se.failure.code==="select_failed"&&R("select_failed"),!se.ok&&se.failure.code==="relay_revoked"&&R("relay_revoked"))})()},[U,Z,q]),ue=b.useCallback((le,ie)=>{const se=q();R(null),U(),(async()=>{const de=await c5({code:ie,daemonId:le,gatewayUrl:l??window.location.origin});if(!Z(se))return;if(!de){R("invalid_code");return}const me=await O.current.selectDaemon(le,de);Z(se)&&(!me.ok&&me.failure.code==="select_failed"&&R("select_failed"),!me.ok&&me.failure.code==="relay_revoked"&&R("relay_revoked"))})()},[U,l,Z,q]),fe=b.useCallback(()=>{q(),O.current.pairingClient?.cancel(),U(),R(null),g(C?"selecting":"machines")},[U,q,C]),pe=b.useCallback(()=>{q(),R(null),U(),g("machines")},[U,q]);return h==="connected"?(typeof history<"u"&&history.replaceState(null,"","/app"),f.jsx(f.Fragment,{children:t})):Q?f.jsxs("div",{className:"connect-screen flex min-h-full flex-col items-center justify-center gap-3 p-6",children:[f.jsx("img",{src:d?"/brand/icon-192.png":"/logo.png",width:56,height:56,alt:"",className:"animate-pulse"}),f.jsx("span",{className:"sr-only","aria-live":"polite",children:"…"})]}):f.jsx(w5,{flow:$,phase:h,machines:p,selfDeviceId:v,...C?{selectedMachineId:C}:{},pairingPhase:k,pairingFailureCode:E,connectError:N,sas:M,isSigningIn:z,pendingMachineId:P,loginError:ee,isGatewayBundle:d,onRefreshMachines:j,onSelectProvider:H,onSelectMachine:oe,onSubmitCode:ue,onCancelPairing:fe,onGoBack:pe})},S5=(t,a,o)=>t.mode==="tunnel"?f.jsx(o,{connectTransport:t.connectTransport,children:f.jsx(a,{})}):f.jsx(a,{}),Xe={Open:1,Data:2,End:3,Reset:4,Ping:5,Ack:6},Gl={Http:1,Ws:2},Lt={ProtocolError:1,VersionMismatch:4},l0={INITIAL_WINDOW:256*1024,ACK_THRESHOLD:32*1024},$l=12,c0=0,Yf=4294967295,Tx=4294967295,E5=0,Cx=1;class zt extends Error{code;constructor(a,o){super(a),this.name="ProtocolError",this.code=o}}const T5=new TextEncoder,C5=new TextDecoder;function Ax(t){return T5.encode(t)}function fc(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Kf(t,a){if(!Number.isInteger(t)||t<0||t>Tx)throw new RangeError(`${a} out of u32 range: ${t}`)}function _x(t){return t===Xe.Open||t===Xe.Data||t===Xe.End||t===Xe.Reset||t===Xe.Ping||t===Xe.Ack}function Nx(t){return(t&-2)===0}function u0(t){if(t.version!==vn)throw new RangeError(`version must be ${vn}`);if(!_x(t.kind))throw new RangeError(`unknown kind: ${t.kind}`);if(!Number.isInteger(t.flags)||t.flags<0||t.flags>65535)throw new RangeError(`flags out of u16 range: ${t.flags}`);if(t.kind===Xe.Data){if(!Nx(t.flags))throw new RangeError("reserved flag bits set on Data frame")}else if(t.flags!==0)throw new RangeError("flags must be 0 on a non-Data frame");Kf(t.streamId,"streamId"),Kf(t.seq,"seq");const a=new Uint8Array($l),o=fc(a);return o.setUint8(0,t.version),o.setUint8(1,t.kind),o.setUint16(2,t.flags),o.setUint32(4,t.streamId),o.setUint32(8,t.seq),a}function A5(t){if(t.length<$l)throw new zt("header too short",Lt.ProtocolError);const a=fc(t),o=a.getUint8(0);if(o!==vn)throw new zt(`bad version ${o}`,Lt.VersionMismatch);const i=a.getUint8(1);if(!_x(i))throw new zt(`unknown kind ${i}`,Lt.ProtocolError);const l=a.getUint16(2);if(i===Xe.Data){if(!Nx(l))throw new zt("reserved flag bits set on Data frame",Lt.ProtocolError)}else if(l!==0)throw new zt("flags must be 0 on a non-Data frame",Lt.ProtocolError);const c=a.getUint32(4),d=a.getUint32(8);return{version:o,kind:i,flags:l,streamId:c,seq:d}}function d0(t){let a;if(t.transport===Gl.Http){if(!t.http)throw new RangeError("http meta required for Http transport");a=t.http}else if(t.transport===Gl.Ws){if(!t.ws)throw new RangeError("ws meta required for Ws transport");a=t.ws}else throw new RangeError(`unknown transport: ${t.transport}`);const o=Ax(JSON.stringify(a));if(o.length>65535)throw new RangeError("open meta too large");const i=new Uint8Array(3+o.length);return i[0]=t.transport,fc(i).setUint16(1,o.length),i.set(o,3),i}function _5(t){if(!Array.isArray(t))return!1;for(const a of t)if(!Array.isArray(a)||a.length!==2||typeof a[0]!="string"||typeof a[1]!="string")return!1;return!0}const mc={ConnSalt:1,Hello:2},Ff={daemon:1,device:2},N5=34;function R5(t){if(t.salt.length!==32)throw new RangeError(`conn salt must be 32 bytes, got ${t.salt.length}`);const a=new Uint8Array(34);return a[0]=mc.ConnSalt,a[1]=Ff.device,a.set(t.salt,2),a}function j5(t){if(t.length!==N5)throw new zt("conn salt must be 34 bytes",Lt.ProtocolError);if(t[0]!==mc.ConnSalt)throw new zt("not a ConnSalt frame",Lt.ProtocolError);const a=t[1],o=a===Ff.daemon?"daemon":a===Ff.device?"device":null;if(o===null)throw new zt("bad conn salt role",Lt.ProtocolError);return{role:o,salt:t.slice(2)}}function O5(t){return t.length>=1&&t[0]===mc.ConnSalt}function M5(t){if(t.role!=="daemon"&&t.role!=="device")throw new RangeError(`bad role: ${t.role}`);const a=Ax(JSON.stringify(t)),o=new Uint8Array(1+a.length);return o[0]=mc.Hello,o.set(a,1),o}function D5(t){Kf(t,"cumulativeBytes");const a=new Uint8Array(4);return fc(a).setUint32(0,t),a}function L5(t,a){const o=new Uint8Array(1+t.length);return o[0]=a?1:0,o.set(t,1),o}function z5(t){if(t.length<1)throw new zt("ws message too short",Lt.ProtocolError);const a=t[0];if(a!==0&&a!==1)throw new zt("bad ws isText flag",Lt.ProtocolError);return{data:t.slice(1),isText:a===1}}function B5(t){const a=new Uint8Array(1+t.length);return a[0]=Cx,a.set(t,1),a}function H5(t){if(t.length<1)throw new zt("http data too short",Lt.ProtocolError);const a=t[0];if(a===E5){let o;try{o=JSON.parse(C5.decode(t.subarray(1)))}catch{throw new zt("http head not JSON",Lt.ProtocolError)}const i=o;if(typeof i.status!="number"||!_5(i.headers))throw new zt("bad http head",Lt.ProtocolError);return{kind:"head",head:{status:i.status,headers:i.headers}}}if(a===Cx)return{kind:"body",data:t.slice(1)};throw new zt(`unknown http disc ${a}`,Lt.ProtocolError)}function f0(t){let a=1;return()=>{a===Yf&&(a+=2);const o=a;if(a+=2,a>Tx)throw new RangeError("stream id space exhausted; re-handshake required");return o}}const U5={ok:!0};function m0(t=l0.INITIAL_WINDOW,a=l0.ACK_THRESHOLD){let o=0,i=0,l=0,c=0;const d=()=>o-i,h=()=>d()>=t;return{trySend(g){return d()+g>t?{ok:!1,reason:"WindowExhausted"}:(o+=g,U5)},applyAck(g){const p=h();return g<=i?{resumed:!1}:(i=Math.min(g,o),{resumed:p&&!h()})},onConsume(g){return l+=g,l-c>=a?(c=l,{ackCumulative:l}):null},flushAck(){return c=l,{ackCumulative:l}},isPaused:()=>h()}}const W5=1,Vf=new TextEncoder,q5=new TextDecoder,I5=t=>{let a=0;for(const l of t)a+=l.length;const o=new Uint8Array(a);let i=0;for(const l of t)o.set(l,i),i+=l.length;return o},P5=t=>{if(typeof t=="string")return{bytes:Vf.encode(t),isText:!0};if(t instanceof Uint8Array)return{bytes:t,isText:!1};if(t instanceof ArrayBuffer)return{bytes:new Uint8Array(t),isText:!1};const a=t;return{bytes:new Uint8Array(a.buffer,a.byteOffset,a.byteLength),isText:!1}},Y5=t=>{const a=t.generateConnSalt??IO;let o=null,i=null,l=null,c=null,d=null,h=f0();const g=new Map,p=(T,N)=>{if(T.length!==N.length)return!1;for(let R=0;R<T.length;R++)if(T[R]!==N[R])return!1;return!0},y=(T,N,R,M=0)=>{if(!i||!o)throw new Error("frame-mux: seal before channel handshake complete");const D=u0({version:vn,kind:T,flags:M,streamId:N,seq:i.nextSeq});t.onSeal?.({key:o.p2d,direction:"p2d",headerBytes:D});const{ciphertext:z}=$O(i,{key:o.p2d,headerBytes:D,payload:R}),K=new Uint8Array(D.length+z.length);return K.set(D,0),K.set(z,D.length),K},v=()=>{t.send(y(Xe.Data,c0,M5({protocolVersion:vn,role:"device",daemonId:t.daemonId,deviceId:t.deviceId})))},x=T=>{c&&(d&&p(d,T)||(o=PO({rootD2p:t.roots.d2p,rootP2d:t.roots.p2d,phoneConnSalt:c,daemonConnSalt:T,ids:{daemonId:t.daemonId,deviceId:t.deviceId,protocolVersion:vn}}),i=VO("p2d"),l=GO("d2p"),d=Uint8Array.from(T),v(),t.onReady?.()))},C=(T,N)=>{t.send(y(Xe.Ack,T,D5(N)))},A=(T,N)=>{if(!o)return Promise.reject(new Error("tunnel: channel not ready"));const R=h(),M=(N?.method??"GET").toUpperCase(),D=[];N?.headers&&new Headers(N.headers).forEach((ne,ee)=>{D.push([ee,ne])});const z=N?.body===void 0||N.body===null?void 0:K5(N.body),K=z!==void 0&&z.length>0;return new Promise((P,ne)=>{const ee={kind:"http",body:[],recvFlow:m0(),resolve:P,reject:ne,settled:!1};g.set(R,ee),t.send(y(Xe.Open,R,d0({transport:Gl.Http,http:{method:M,path:T,headers:D,hasBody:K}}))),K&&z&&t.send(y(Xe.Data,R,B5(z))),t.send(y(Xe.End,R,new Uint8Array(0)))})},k=(T,N)=>{if(N.settled)return;N.settled=!0,g.delete(T);const R=N.head,M=I5(N.body);if(!R){N.reject(new Error("tunnel: stream ended without an HTTP head"));return}let D=null;if(M.length>0){const z=new ArrayBuffer(M.length);new Uint8Array(z).set(M),D=z}N.resolve(new Response(D,{status:R.status,headers:R.headers}))};class S{OPEN=1;readyState=0;onopen=null;onmessage=null;onclose=null;onerror=null;streamId;constructor(N){this.streamId=N}send(N){if(this.readyState!==this.OPEN)return;const{bytes:R,isText:M}=P5(N);t.send(y(Xe.Data,this.streamId,L5(R,M)))}close(N,R){if(this.readyState===3)return;const M=this.readyState===this.OPEN;this.readyState=3,M&&t.send(y(Xe.End,this.streamId,new Uint8Array(0))),g.delete(this.streamId)}_deliver(N,R){this.onmessage&&this.onmessage({data:R?q5.decode(N):N})}_remoteClose(N,R){this.readyState!==3&&(this.readyState=3,g.delete(this.streamId),this.onclose?.(R===void 0?{code:N}:{code:N,reason:R}))}}return{beginChannel(){c=a(),o=null,i=null,l=null,d=null,this.resetAll("rekey"),h=f0();const T=u0({version:vn,kind:Xe.Data,flags:0,streamId:Yf,seq:0}),N=R5({salt:c}),R=new Uint8Array(T.length+N.length);R.set(T,0),R.set(N,T.length),t.send(R)},onFrame(T){const N=T.subarray(0,$l),R=T.subarray($l),M=A5(N);if(M.streamId===Yf&&O5(R)){const{role:K,salt:P}=j5(R);K==="daemon"&&x(P);return}if(!l||!o)return;const D=XO(l,{key:o.d2p,headerBytes:N,ciphertext:R,seq:M.seq});if(M.streamId===c0)return;const z=g.get(M.streamId);if(z){if(z.kind==="http"){if(M.kind===Xe.Reset){z.settled||(z.settled=!0,g.delete(M.streamId),z.reject(new Error("tunnel: HTTP stream reset by daemon")));return}if(M.kind===Xe.Data){const K=H5(D);if(K.kind==="head")z.head=K.head;else{z.body.push(K.data);const P=z.recvFlow.onConsume(K.data.length);P&&C(M.streamId,P.ackCumulative)}(M.flags&W5)!==0&&k(M.streamId,z);return}if(M.kind===Xe.End){k(M.streamId,z);return}return}if(M.kind===Xe.Data){const K=z5(D),P=z.recvFlow.onConsume(K.data.length);P&&C(M.streamId,P.ackCumulative),z.socket._deliver(K.data,K.isText);return}if(M.kind===Xe.End||M.kind===Xe.Reset){z.socket._remoteClose(M.kind===Xe.Reset?1011:1e3);return}}},fetch:A,openWebSocket:(T,N)=>{if(!o){const z=new S(-1);return queueMicrotask(()=>z._remoteClose(1011,"tunnel: channel not ready")),z}const R=h(),M=[];if(N)for(const[z,K]of Object.entries(N))K!==void 0&&M.push([z,String(K)]);const D=new S(R);return g.set(R,{kind:"ws",recvFlow:m0(),socket:D}),t.send(y(Xe.Open,R,d0({transport:Gl.Ws,ws:M.length>0?{path:T,query:M}:{path:T}}))),queueMicrotask(()=>{D.readyState===0&&(D.readyState=D.OPEN,D.onopen?.())}),D},resetAll(T){for(const[N,R]of[...g.entries()])g.delete(N),R.kind==="http"?R.settled||(R.settled=!0,R.reject(new Error(`tunnel: connection lost (${T})`))):R.socket._remoteClose(1006,T)}}},K5=t=>typeof t=="string"?Vf.encode(t):t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):ArrayBuffer.isView(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Vf.encode(String(t)),F5=2e4,V5=1e4,G5=6,$5=()=>{let t=0;return{next(){t+=1;const a=Math.min(3e4,500*2**(t-1));return Math.floor(a/2+Math.random()*(a/2))},reset(){t=0}}},X5=(t,a)=>!a&&(t===fr.Forbidden||t===fr.Unauthorized),Z5=(t,a)=>{const o=t.WebSocketImpl??WebSocket,i=t.setTimer??((ee,V)=>setTimeout(ee,V)),l=t.clearTimer??(ee=>clearTimeout(ee)),c=t.backoff??$5(),d=t.heartbeatMs??F5,h=t.heartbeatDeadlineMs??V5,g=t.maxOfflineRetries??G5;let p=null,y=0,v=!1,x=!1,C=!1,A=0,k=null,S=null,E=null;const T=`${t.gatewayUrl}/relay?daemonId=${encodeURIComponent(t.daemonId)}`,N=()=>{E!==null&&(l(E),E=null)},R=()=>{S!==null&&(clearInterval(S),S=null),N()},M=(ee,V)=>{R(),S=setInterval(()=>{if(ee.readyState===ee.OPEN){try{ee.send(Iw)}catch{}E===null&&(E=i(()=>{if(E=null,!(V!==y||x)){R();try{ee.close()}catch{}}},h))}},d)},D=()=>{if(x||v||C)return;const ee=++y;let V=!1;const Q=new o(T,[`bearer.${t.phoneSessionToken}`]);Q.binaryType="arraybuffer",p=Q,Q.onopen=()=>{ee!==y||x||(V=!0,c.reset(),A=0,M(Q,ee),a.onUp())},Q.onmessage=X=>{if(ee!==y||x)return;const $=X.data;if(typeof $=="string"){if($.startsWith(Wy)){let I;try{I=JSON.parse($.slice(Wy.length))}catch{return}if(I.t==="revoked"){z(fr.Revoked),a.onControl(I);return}a.onControl(I);return}$===Pw&&N();return}const O=$ instanceof ArrayBuffer?new Uint8Array($):new Uint8Array($);a.onFrame(O)},Q.onerror=()=>{},Q.onclose=X=>{if(ee!==y||x)return;R(),p=null;const $=X.code??fr.InternalError;if(t4($)||X5($,V)){z($);return}if($===fr.DaemonOffline){if(A+=1,A>=g){C=!0,a.onDown({code:$,authFatal:!1,daemonOffline:!0});return}}else A=0;const O=c.next();a.onDown({code:$,authFatal:!1,nextRetryInMs:O}),k=i(()=>{k=null,D()},O)}},z=ee=>{v||(v=!0,R(),k!==null&&(l(k),k=null),a.onDown({code:ee,authFatal:!0}))},K=()=>{x||v||C||p!==null&&(p.readyState===p.OPEN||p.readyState===WebSocket.CONNECTING)||(k!==null&&(l(k),k=null),D())},P=()=>{typeof document<"u"&&document.visibilityState==="visible"&&K()},ne=()=>K();return typeof document<"u"&&document.addEventListener("visibilitychange",P),typeof window<"u"&&window.addEventListener("online",ne),D(),{send(ee){p&&p.readyState===p.OPEN&&p.send(ee)},isOpen:()=>p!==null&&p.readyState===p.OPEN,resume(){x||v||!C||(C=!1,A=0,c.reset(),D())},close(){if(x=!0,y+=1,R(),k!==null&&(l(k),k=null),p){try{p.close()}catch{}p=null}typeof document<"u"&&document.removeEventListener("visibilitychange",P),typeof window<"u"&&window.removeEventListener("online",ne)}}};function Q5(t){const a=t.session??t.persistedSession?.()??null;if(!a)throw new Error("createTunnelTransport: no session and persistedSession() returned null");let o={state:"connecting"};const i=(E,T)=>{o={state:E,...T?.reason?{reason:T.reason}:{},...T?.nextRetryInMs!==void 0?{nextRetryInMs:T.nextRetryInMs}:{},...T?.retry?{retry:T.retry}:{}},t.onStatus(o)};let l=null,c=!1,d=!1,h=!1;const g=new Set,p=t.setTimer??((E,T)=>setTimeout(E,T)),y=t.clearTimer??(E=>clearTimeout(E)),v=()=>{for(const E of g)E.timer!==null&&y(E.timer),E.resolve();g.clear()},x=E=>{for(const T of g)T.timer!==null&&y(T.timer),T.reject(new Error(`tunnel: ${E}`));g.clear()},C=()=>{c=!1},A=()=>{c||(h=!1,d=!1,c=!0,i("online"),v())},k=()=>{h=!0,c=!1,S.beginChannel()},S=Y5({roots:a.roots,daemonId:a.daemonId,deviceId:a.deviceId,send:E=>l?.send(E),onReady:A});return l=Z5({gatewayUrl:a.gatewayUrl,daemonId:a.daemonId,phoneSessionToken:a.phoneSessionToken,...t.WebSocketImpl?{WebSocketImpl:t.WebSocketImpl}:{},...t.setTimer?{setTimer:t.setTimer}:{},...t.clearTimer?{clearTimer:t.clearTimer}:{},...t.backoff?{backoff:t.backoff}:{}},{onFrame:E=>{try{S.onFrame(E)}catch{S.resetAll("frame_open_failed"),l?.close(),i("disconnected",{reason:"integrity"})}},onControl:E=>{if(E.t==="peer-offline"&&E.role==="daemon")d=!0,h=!1,C(),S.resetAll("peer_offline"),i("reconnecting");else if(E.t==="peer-online"&&E.role==="daemon"){if(c||h||!d)return;d=!1,k()}else E.t==="revoked"&&(d=!1,h=!1,C(),S.resetAll("revoked"),x(E.reason??"revoked"),i("revoked",{reason:E.reason}))},onUp:()=>{d=!1,k()},onDown:E=>{d=!1,h=!1,C(),S.resetAll(E.authFatal?"auth_fatal":E.daemonOffline?"daemon_offline":"transient"),E.authFatal?(x("auth_fatal"),i("revoked")):E.daemonOffline?(x("daemon_offline"),i("disconnected",{reason:"daemon_offline",retry:()=>l?.resume()})):i("reconnecting",E.nextRetryInMs!==void 0?{nextRetryInMs:E.nextRetryInMs}:void 0)}}),{requiresUiSession:!1,fetch:(E,T)=>S.fetch(E,T),openWebSocket:(E,T)=>S.openWebSocket(E,T),status:()=>o,ready:(E={})=>{if(c)return Promise.resolve();const T=E.timeoutMs??1e4;return new Promise((N,R)=>{const M={resolve:N,reject:R,timer:null};M.timer=p(()=>{g.delete(M),R(new Error("tunnel: channel ready timed out"))},T),g.add(M)})},dispose:()=>{d=!1,h=!1,C(),l?.close(),l=null,S.resetAll("disposed"),x("disposed")}}}const J5=t=>{const a=t.onStatus??(()=>{});return async({daemonId:o,deviceId:i,stored:l})=>{let c;try{c=await t.resolveSession({daemonId:o,deviceId:i,stored:l})}catch(h){return h.relayTokenStatus===403?{ok:!1,failure:{code:"relay_revoked",message:`device session revoked for ${o}`}}:{ok:!1,failure:{code:"select_failed",message:`could not establish a session for ${o}: ${h.message}`}}}const d=Q5({session:c,onStatus:a,...t.WebSocketImpl?{WebSocketImpl:t.WebSocketImpl}:{}});try{await d.ready({timeoutMs:t.readyTimeoutMs??1e4})}catch(h){return d.dispose(),{ok:!1,failure:{code:"select_failed",message:`could not open a ready tunnel for ${o}: ${h.message}`}}}return JS(d),{ok:!0}}},e6=(t={})=>{if(!(t.isGateway??Sx)())return{mode:"direct"};if(!t.resolveSession)throw new Error("bootTransport: a gateway bundle requires resolveSession to build the tunnel");return{mode:"tunnel",connectTransport:J5({resolveSession:t.resolveSession,...t.onStatus?{onStatus:t.onStatus}:{},...t.WebSocketImpl?{WebSocketImpl:t.WebSocketImpl}:{},...t.readyTimeoutMs!==void 0?{readyTimeoutMs:t.readyTimeoutMs}:{}})}},t6=async({stored:t})=>{if(!t)throw new Error("mobileResolveSession: no persisted device session for the selected daemon");const a=window.location.origin,o=a.replace(/^http/,"ws"),i=await fetch(`${a}/pair/relay-token`,{method:"POST",credentials:"include"});if(!i.ok)throw Object.assign(new Error(`mobileResolveSession: relay-token request failed (${i.status})`),{relayTokenStatus:i.status});const{token:l}=await i.json();return{roots:{d2p:Hs(t.rootKeys.d2p),p2d:Hs(t.rootKeys.p2d)},deviceId:t.deviceId,daemonId:t.daemonId,gatewayUrl:o,phoneSessionToken:l}},Rx=document.getElementById("root");if(!Rx)throw new Error("Root element not found");const n6=e6({resolveSession:t6,onStatus:QN});sk.createRoot(Rx).render(f.jsx(b.StrictMode,{children:S5(n6,e4,k5)}));NN();export{W0 as $,Gs as A,p6 as B,Fs as C,v6 as D,Is as E,em as F,h6 as G,d6 as H,f6 as I,cr as J,Ce as K,bo as L,iS as M,nm as N,Ks as O,Ys as P,$f as Q,Ps as R,_S as S,lt as T,lc as U,i6 as V,l6 as W,fo as X,gE as Y,c6 as Z,am as _,w6 as a,Jf as a0,R6 as a1,Es as a2,j6 as a3,Qf as a4,m_ as a5,_6 as a6,aa as a7,Tt as a8,B0 as a9,pw as aa,N6 as ab,YE as ac,o6 as ad,s6 as ae,_k as af,k6 as b,Se as c,Vs as d,S6 as e,E6 as f,a6 as g,Xf as h,y0 as i,f as j,Us as k,b6 as l,Xl as m,T6 as n,x6 as o,qk as p,Lk as q,b as r,r6 as s,Kk as t,Bt as u,A6 as v,y6 as w,g6 as x,u6 as y,m6 as z};
|